]> granicus.if.org Git - linux-pam/commitdiff
Relevant BUGIDs:
authorTomas Mraz <tm@t8m.info>
Mon, 19 Sep 2005 15:58:28 +0000 (15:58 +0000)
committerTomas Mraz <tm@t8m.info>
Mon, 19 Sep 2005 15:58:28 +0000 (15:58 +0000)
Purpose of commit: cleanup

Commit summary:
---------------
Added PAM_NONNULL attributes to some public API (by ldv)
Removed const qualifiers from pam_get_item, pam_get_data to comply
with spec

libpam/include/security/_pam_types.h
libpam/include/security/pam_appl.h
libpam/include/security/pam_ext.h
libpam/include/security/pam_modules.h
libpam/pam_data.c
libpam/pam_item.c
libpam/pam_vprompt.c
modules/pam_selinux/pam_selinux.c

index b701fec2d15930c7b040f3e95df0b068b763e1a8..c866eb625fd84c288533c65b256574d70de9b353 100644 (file)
@@ -145,16 +145,46 @@ typedef struct pam_handle pam_handle_t;
 #define PAM_FAIL_DELAY     10   /* app supplied function to override failure
                                   delays */
 
+/* -------------- Special defines used by Linux-PAM -------------- */
+
+#if defined(__GNUC__) && defined(__GNUC_MINOR__)
+# define PAM_GNUC_PREREQ(maj, min) \
+        ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
+#else
+# define PAM_GNUC_PREREQ(maj, min) 0
+#endif
+
+#if PAM_GNUC_PREREQ(2,5)
+# define PAM_FORMAT(params) __attribute__((__format__ params))
+#else
+# define PAM_FORMAT(params)
+#endif
+
+#if PAM_GNUC_PREREQ(3,3)
+# define PAM_NONNULL(params) __attribute__((__nonnull__ params))
+#else
+# define PAM_NONNULL(params)
+#endif
+
 /* ---------- Common Linux-PAM application/module PI ----------- */
 
-extern int pam_set_item(pam_handle_t *pamh, int item_type, const void *item);
-extern int pam_get_item(const pam_handle_t *pamh, int item_type,
-                       const void **item);
-extern const char *pam_strerror(pam_handle_t *pamh, int errnum);
+extern int PAM_NONNULL((1))
+pam_set_item(pam_handle_t *pamh, int item_type, const void *item);
+
+extern int PAM_NONNULL((1,3))
+pam_get_item(pam_handle_t *pamh, int item_type, const void **item);
+
+extern const char *
+pam_strerror(pam_handle_t *pamh, int errnum);
 
-extern int pam_putenv(pam_handle_t *pamh, const char *name_value);
-extern const char *pam_getenv(pam_handle_t *pamh, const char *name);
-extern char **pam_getenvlist(pam_handle_t *pamh);
+extern int PAM_NONNULL((1,2))
+pam_putenv(pam_handle_t *pamh, const char *name_value);
+
+extern const char * PAM_NONNULL((1,2))
+pam_getenv(pam_handle_t *pamh, const char *name);
+
+extern char ** PAM_NONNULL((1))
+pam_getenvlist(pam_handle_t *pamh);
 
 /* ---------- Common Linux-PAM application/module PI ----------- */
 
@@ -262,27 +292,6 @@ struct pam_conv {
     void *appdata_ptr;
 };
 
-/* -------------- Special defines used by Linux-PAM -------------- */
-
-#if defined(__GNUC__) && defined(__GNUC_MINOR__)
-# define PAM_GNUC_PREREQ(maj, min) \
-        ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
-#else
-# define PAM_GNUC_PREREQ(maj, min) 0
-#endif
-
-#if PAM_GNUC_PREREQ(2,5)
-# define PAM_FORMAT(params) __attribute__((__format__ params))
-#else
-# define PAM_FORMAT(params)
-#endif
-
-#if PAM_GNUC_PREREQ(3,3)
-# define PAM_NONNULL(params) __attribute__((__nonnull__ params))
-#else
-# define PAM_NONNULL(params)
-#endif
-
 /* ... adapted from the pam_appl.h file created by Theodore Ts'o and
  *
  * Copyright Theodore Ts'o, 1996.  All rights reserved.
index b2eeb9f0efd8fec09b2724a7827b190576bb4775..59e369b8c9b2d6a98001000c8ee3fa0197adf8c3 100644 (file)
@@ -24,28 +24,39 @@ extern "C" {
 
 /* -------------- The Linux-PAM Framework layer API ------------- */
 
-extern int pam_start(const char *service_name, const char *user,
-                    const struct pam_conv *pam_conversation,
-                    pam_handle_t **pamh);
-extern int pam_end(pam_handle_t *pamh, int pam_status);
+extern int PAM_NONNULL((1,3,4))
+pam_start(const char *service_name, const char *user,
+         const struct pam_conv *pam_conversation,
+         pam_handle_t **pamh);
+
+extern int PAM_NONNULL((1))
+pam_end(pam_handle_t *pamh, int pam_status);
 
 /* Authentication API's */
 
-extern int pam_authenticate(pam_handle_t *pamh, int flags);
-extern int pam_setcred(pam_handle_t *pamh, int flags);
+extern int PAM_NONNULL((1))
+pam_authenticate(pam_handle_t *pamh, int flags);
+
+extern int PAM_NONNULL((1))
+pam_setcred(pam_handle_t *pamh, int flags);
 
 /* Account Management API's */
 
-extern int pam_acct_mgmt(pam_handle_t *pamh, int flags);
+extern int PAM_NONNULL((1))
+pam_acct_mgmt(pam_handle_t *pamh, int flags);
 
 /* Session Management API's */
 
-extern int pam_open_session(pam_handle_t *pamh, int flags);
-extern int pam_close_session(pam_handle_t *pamh, int flags);
+extern int PAM_NONNULL((1))
+pam_open_session(pam_handle_t *pamh, int flags);
+
+extern int PAM_NONNULL((1))
+pam_close_session(pam_handle_t *pamh, int flags);
 
 /* Password Management API's */
 
-extern int pam_chauthtok(pam_handle_t *pamh, int flags);
+extern int PAM_NONNULL((1))
+pam_chauthtok(pam_handle_t *pamh, int flags);
 
 #ifdef __cplusplus
 }
index 1d0c1985494cc42ae1d3ea1a7f99859c44043543..f6148545515784a39fe2a4ca3467c11e9022b3c9 100644 (file)
@@ -45,11 +45,11 @@ extern void PAM_FORMAT((printf, 3, 4)) PAM_NONNULL((3))
 pam_syslog (const pam_handle_t *pamh, int priority, const char *fmt, ...);
 
 extern int PAM_FORMAT((printf, 4, 0)) PAM_NONNULL((1,4))
-pam_vprompt (const pam_handle_t *pamh, int style, char **response,
+pam_vprompt (pam_handle_t *pamh, int style, char **response,
             const char *fmt, va_list args);
 
 extern int PAM_FORMAT((printf, 4, 5)) PAM_NONNULL((1,4))
-pam_prompt (const pam_handle_t *pamh, int style, char **response,
+pam_prompt (pam_handle_t *pamh, int style, char **response,
            const char *fmt, ...);
 
 #define pam_error(pamh, fmt...) \
index f174e316b3130d026a26936b321faba1e5b6a812..7f75f9dc83670b80915ca64ef6c8c6d048c88799 100644 (file)
 
 /* -------------- The Linux-PAM Module PI ------------- */
 
-extern int pam_set_data(pam_handle_t *pamh, const char *module_data_name,
-                       void *data,
-                       void (*cleanup)(pam_handle_t *pamh, void *data,
-                                      int error_status));
-extern int pam_get_data(const pam_handle_t *pamh,
-                       const char *module_data_name, const void **data);
-
-extern int pam_get_user(pam_handle_t *pamh, const char **user
-                       , const char *prompt);
+extern int PAM_NONNULL((1,2))
+pam_set_data(pam_handle_t *pamh, const char *module_data_name, void *data,
+            void (*cleanup)(pam_handle_t *pamh, void *data,
+                            int error_status));
+
+extern int PAM_NONNULL((1,2,3))
+pam_get_data(pam_handle_t *pamh, const char *module_data_name,
+            const void **data);
+
+extern int PAM_NONNULL((1,2))
+pam_get_user(pam_handle_t *pamh, const char **user, const char *prompt);
 
 #ifdef PAM_STATIC
 
index 28b3680daef2bcd9ed20629db8d8d6d4674408f3..a3d73c44168405adde94d84c218d611ff37f68e6 100644 (file)
@@ -79,7 +79,7 @@ int pam_set_data(
 }
 
 int pam_get_data(
-    const pam_handle_t *pamh,
+    pam_handle_t *pamh,
     const char *module_data_name,
     const void **datap)
 {
index 105a9de7bf66faa1623a447644304ad6fb2f6e1d..fee5bbb6c724df9878ed2a2414da9bfc676896bb 100644 (file)
@@ -145,7 +145,7 @@ int pam_set_item (pam_handle_t *pamh, int item_type, const void *item)
     return retval;
 }
 
-int pam_get_item (const pam_handle_t *pamh, int item_type, const void **item)
+int pam_get_item (pam_handle_t *pamh, int item_type, const void **item)
 {
     int retval = PAM_SUCCESS;
 
index 8e852fe561298ed9ccee14a9c268e2a85622f57c..c53079b544adf30d94bf9190a693dba40a7dc00a 100644 (file)
@@ -46,7 +46,7 @@
 #include "pam_private.h"
 
 int
-pam_vprompt (const pam_handle_t *pamh, int style, char **response,
+pam_vprompt (pam_handle_t *pamh, int style, char **response,
             const char *fmt, va_list args)
 {
   struct pam_message msg;
@@ -101,7 +101,7 @@ pam_vprompt (const pam_handle_t *pamh, int style, char **response,
 }
 
 int
-pam_prompt (const pam_handle_t *pamh, int style, char **response,
+pam_prompt (pam_handle_t *pamh, int style, char **response,
            const char *fmt, ...)
 {
   va_list args;
index 7b7820dda76da15975b313e5f5a391ea3539ee15..d59cc39db46a5ee719a66eb3794536611b050ea9 100644 (file)
@@ -67,7 +67,7 @@
 #include <selinux/context.h>
 
 static int
-send_text (const pam_handle_t *pamh, const char *text, int debug)
+send_text (pam_handle_t *pamh, const char *text, int debug)
 {
   if (debug)
     pam_syslog(pamh, LOG_NOTICE, "%s", text);
@@ -79,7 +79,7 @@ send_text (const pam_handle_t *pamh, const char *text, int debug)
  * is responsible for freeing the responses.
  */
 static int
-query_response (const pam_handle_t *pamh, const char *text,
+query_response (pam_handle_t *pamh, const char *text,
                char **responses, int debug)
 {
   if (debug)
@@ -237,7 +237,7 @@ security_restorelabel_tty(const pam_handle_t *pamh,
 }
 
 static security_context_t
-security_label_tty(const pam_handle_t *pamh, char *tty,
+security_label_tty(pam_handle_t *pamh, char *tty,
                   security_context_t usercon)
 {
   char ttybuf[PATH_MAX];