From 47b4bbfa538f6ee19c4fe94c2fb48521b0f4d4c6 Mon Sep 17 00:00:00 2001
From: Thorsten Kukuk <kukuk@thkukuk.de>
Date: Tue, 22 Mar 2016 15:12:09 +0100
Subject: [PATCH 2/3] Remove all PAM_EXTERN

---
 doc/man/pam_sm_acct_mgmt.3.xml          |  2 +-
 doc/man/pam_sm_authenticate.3.xml       |  2 +-
 doc/man/pam_sm_chauthtok.3.xml          |  2 +-
 doc/man/pam_sm_close_session.3.xml      |  2 +-
 doc/man/pam_sm_open_session.3.xml       |  2 +-
 doc/man/pam_sm_setcred.3.xml            |  2 +-
 modules/pam_access/pam_access.c         | 12 ++++++------
 modules/pam_cracklib/pam_cracklib.c     |  4 ++--
 modules/pam_debug/pam_debug.c           |  6 ------
 modules/pam_deny/pam_deny.c             | 12 ++++++------
 modules/pam_env/pam_env.c               | 12 ++++++------
 modules/pam_exec/pam_exec.c             | 12 ++++++------
 modules/pam_faildelay/pam_faildelay.c   |  2 --
 modules/pam_filter/pam_filter.c         | 24 ++++++++++++------------
 modules/pam_ftp/pam_ftp.c               |  4 ++--
 modules/pam_group/pam_group.c           |  4 ++--
 modules/pam_issue/pam_issue.c           |  4 ++--
 modules/pam_keyinit/pam_keyinit.c       |  2 --
 modules/pam_lastlog/pam_lastlog.c       | 10 +++++-----
 modules/pam_limits/pam_limits.c         |  4 ++--
 modules/pam_listfile/pam_listfile.c     | 12 ++++++------
 modules/pam_localuser/pam_localuser.c   | 12 ++++++------
 modules/pam_loginuid/pam_loginuid.c     |  6 +++---
 modules/pam_mail/pam_mail.c             |  5 +----
 modules/pam_mkhomedir/pam_mkhomedir.c   |  3 +--
 modules/pam_motd/pam_motd.c             |  3 +--
 modules/pam_namespace/pam_namespace.c   |  4 ++--
 modules/pam_nologin/pam_nologin.c       |  6 +++---
 modules/pam_permit/pam_permit.c         | 12 ++++++------
 modules/pam_pwhistory/pam_pwhistory.c   |  2 +-
 modules/pam_rhosts/pam_rhosts.c         |  3 +--
 modules/pam_rootok/pam_rootok.c         |  8 ++++----
 modules/pam_securetty/pam_securetty.c   |  5 ++---
 modules/pam_selinux/pam_selinux.c       |  8 ++++----
 modules/pam_sepermit/pam_sepermit.c     |  6 +++---
 modules/pam_shells/pam_shells.c         |  3 ---
 modules/pam_stress/pam_stress.c         |  6 ------
 modules/pam_succeed_if/pam_succeed_if.c | 12 ++++++------
 modules/pam_tally/pam_tally.c           |  6 +++---
 modules/pam_tally2/pam_tally2.c         |  6 +++---
 modules/pam_time/pam_time.c             |  2 +-
 modules/pam_timestamp/pam_timestamp.c   |  8 ++++----
 modules/pam_umask/pam_umask.c           |  4 ++--
 modules/pam_userdb/pam_userdb.c         |  6 +++---
 modules/pam_warn/pam_warn.c             |  9 +++------
 modules/pam_wheel/pam_wheel.c           |  6 +++---
 46 files changed, 129 insertions(+), 158 deletions(-)

diff --git a/doc/man/pam_sm_acct_mgmt.3.xml b/doc/man/pam_sm_acct_mgmt.3.xml
index 35aa28a..ff99867 100644
--- a/doc/man/pam_sm_acct_mgmt.3.xml
+++ b/doc/man/pam_sm_acct_mgmt.3.xml
@@ -20,7 +20,7 @@
       <funcsynopsisinfo>#define PAM_SM_ACCOUNT</funcsynopsisinfo>
       <funcsynopsisinfo>#include &lt;security/pam_modules.h&gt;</funcsynopsisinfo>
       <funcprototype>
-        <funcdef>PAM_EXTERN int <function>pam_sm_acct_mgmt</function></funcdef>
+        <funcdef>int <function>pam_sm_acct_mgmt</function></funcdef>
         <paramdef>pam_handle_t *<parameter>pamh</parameter></paramdef>
         <paramdef>int <parameter>flags</parameter></paramdef>
         <paramdef>int <parameter>argc</parameter></paramdef>
diff --git a/doc/man/pam_sm_authenticate.3.xml b/doc/man/pam_sm_authenticate.3.xml
index 9121aed..4299726 100644
--- a/doc/man/pam_sm_authenticate.3.xml
+++ b/doc/man/pam_sm_authenticate.3.xml
@@ -20,7 +20,7 @@
       <funcsynopsisinfo>#define PAM_SM_AUTH</funcsynopsisinfo>
       <funcsynopsisinfo>#include &lt;security/pam_modules.h&gt;</funcsynopsisinfo>
       <funcprototype>
-        <funcdef>PAM_EXTERN int <function>pam_sm_authenticate</function></funcdef>
+        <funcdef>int <function>pam_sm_authenticate</function></funcdef>
         <paramdef>pam_handle_t *<parameter>pamh</parameter></paramdef>
         <paramdef>int <parameter>flags</parameter></paramdef>
         <paramdef>int <parameter>argc</parameter></paramdef>
diff --git a/doc/man/pam_sm_chauthtok.3.xml b/doc/man/pam_sm_chauthtok.3.xml
index d6d3093..d8f36d6 100644
--- a/doc/man/pam_sm_chauthtok.3.xml
+++ b/doc/man/pam_sm_chauthtok.3.xml
@@ -20,7 +20,7 @@
       <funcsynopsisinfo>#define PAM_SM_PASSWORD</funcsynopsisinfo>
       <funcsynopsisinfo>#include &lt;security/pam_modules.h&gt;</funcsynopsisinfo>
       <funcprototype>
-        <funcdef>PAM_EXTERN int <function>pam_sm_chauthtok</function></funcdef>
+        <funcdef>int <function>pam_sm_chauthtok</function></funcdef>
         <paramdef>pam_handle_t *<parameter>pamh</parameter></paramdef>
         <paramdef>int <parameter>flags</parameter></paramdef>
         <paramdef>int <parameter>argc</parameter></paramdef>
diff --git a/doc/man/pam_sm_close_session.3.xml b/doc/man/pam_sm_close_session.3.xml
index f2e6718..db579ff 100644
--- a/doc/man/pam_sm_close_session.3.xml
+++ b/doc/man/pam_sm_close_session.3.xml
@@ -20,7 +20,7 @@
       <funcsynopsisinfo>#define PAM_SM_SESSION</funcsynopsisinfo>
       <funcsynopsisinfo>#include &lt;security/pam_modules.h&gt;</funcsynopsisinfo>
       <funcprototype>
-        <funcdef>PAM_EXTERN int <function>pam_sm_close_session</function></funcdef>
+        <funcdef>int <function>pam_sm_close_session</function></funcdef>
         <paramdef>pam_handle_t *<parameter>pamh</parameter></paramdef>
         <paramdef>int <parameter>flags</parameter></paramdef>
         <paramdef>int <parameter>argc</parameter></paramdef>
diff --git a/doc/man/pam_sm_open_session.3.xml b/doc/man/pam_sm_open_session.3.xml
index 0851c34..0c9ec77 100644
--- a/doc/man/pam_sm_open_session.3.xml
+++ b/doc/man/pam_sm_open_session.3.xml
@@ -20,7 +20,7 @@
       <funcsynopsisinfo>#define PAM_SM_SESSION</funcsynopsisinfo>
       <funcsynopsisinfo>#include &lt;security/pam_modules.h&gt;</funcsynopsisinfo>
       <funcprototype>
-        <funcdef>PAM_EXTERN int <function>pam_sm_open_session</function></funcdef>
+        <funcdef>int <function>pam_sm_open_session</function></funcdef>
         <paramdef>pam_handle_t *<parameter>pamh</parameter></paramdef>
         <paramdef>int <parameter>flags</parameter></paramdef>
         <paramdef>int <parameter>argc</parameter></paramdef>
diff --git a/doc/man/pam_sm_setcred.3.xml b/doc/man/pam_sm_setcred.3.xml
index e557000..5cfe899 100644
--- a/doc/man/pam_sm_setcred.3.xml
+++ b/doc/man/pam_sm_setcred.3.xml
@@ -20,7 +20,7 @@
       <funcsynopsisinfo>#define PAM_SM_AUTH</funcsynopsisinfo>
       <funcsynopsisinfo>#include &lt;security/pam_modules.h&gt;</funcsynopsisinfo>
       <funcprototype>
-        <funcdef>PAM_EXTERN int <function>pam_sm_setcred</function></funcdef>
+        <funcdef>int <function>pam_sm_setcred</function></funcdef>
         <paramdef>pam_handle_t *<parameter>pamh</parameter></paramdef>
         <paramdef>int <parameter>flags</parameter></paramdef>
         <paramdef>int <parameter>argc</parameter></paramdef>
diff --git a/modules/pam_access/pam_access.c b/modules/pam_access/pam_access.c
index b32a966..39dc5c4 100644
--- a/modules/pam_access/pam_access.c
+++ b/modules/pam_access/pam_access.c
@@ -800,7 +800,7 @@ network_netmask_match (pam_handle_t *pamh,
 
 /* --- public PAM management functions --- */
 
-PAM_EXTERN int
+int
 pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED,
 		     int argc, const char **argv)
 {
@@ -912,35 +912,35 @@ pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED,
     }
 }
 
-PAM_EXTERN int
+int
 pam_sm_setcred (pam_handle_t *pamh UNUSED, int flags UNUSED,
 		int argc UNUSED, const char **argv UNUSED)
 {
   return PAM_IGNORE;
 }
 
-PAM_EXTERN int
+int
 pam_sm_acct_mgmt (pam_handle_t *pamh, int flags,
 		  int argc, const char **argv)
 {
   return pam_sm_authenticate (pamh, flags, argc, argv);
 }
 
-PAM_EXTERN int
+int
 pam_sm_open_session(pam_handle_t *pamh, int flags,
 		    int argc, const char **argv)
 {
   return pam_sm_authenticate(pamh, flags, argc, argv);
 }
 
-PAM_EXTERN int
+int
 pam_sm_close_session(pam_handle_t *pamh, int flags,
 		     int argc, const char **argv)
 {
   return pam_sm_authenticate(pamh, flags, argc, argv);
 }
 
-PAM_EXTERN int
+int
 pam_sm_chauthtok(pam_handle_t *pamh, int flags,
 		 int argc, const char **argv)
 {
diff --git a/modules/pam_cracklib/pam_cracklib.c b/modules/pam_cracklib/pam_cracklib.c
index 5eefd0b..d5fa2e7 100644
--- a/modules/pam_cracklib/pam_cracklib.c
+++ b/modules/pam_cracklib/pam_cracklib.c
@@ -728,8 +728,8 @@ static int _pam_unix_approve_pass(pam_handle_t *pamh,
 /* The Main Thing (by Cristian Gafton, CEO at this module :-)
  * (stolen from http://home.netscape.com)
  */
-PAM_EXTERN int pam_sm_chauthtok(pam_handle_t *pamh, int flags,
-				int argc, const char **argv)
+int
+pam_sm_chauthtok(pam_handle_t *pamh, int flags, int argc, const char **argv)
 {
     unsigned int ctrl;
     struct cracklib_options options;
diff --git a/modules/pam_debug/pam_debug.c b/modules/pam_debug/pam_debug.c
index a65d1bf..9477de8 100644
--- a/modules/pam_debug/pam_debug.c
+++ b/modules/pam_debug/pam_debug.c
@@ -75,7 +75,6 @@ static int parse_args(int retval, const char *event,
     return retval;
 }
 
-PAM_EXTERN
 int pam_sm_authenticate(pam_handle_t *pamh, int flags UNUSED,
 			int argc, const char **argv)
 {
@@ -103,7 +102,6 @@ int pam_sm_authenticate(pam_handle_t *pamh, int flags UNUSED,
     return retval;
 }
 
-PAM_EXTERN
 int pam_sm_setcred(pam_handle_t *pamh, int flags UNUSED,
 		   int argc, const char **argv)
 {
@@ -112,7 +110,6 @@ int pam_sm_setcred(pam_handle_t *pamh, int flags UNUSED,
 
 /* --- account management functions --- */
 
-PAM_EXTERN
 int pam_sm_acct_mgmt(pam_handle_t *pamh, int flags UNUSED,
 		     int argc, const char **argv)
 {
@@ -121,7 +118,6 @@ int pam_sm_acct_mgmt(pam_handle_t *pamh, int flags UNUSED,
 
 /* --- password management --- */
 
-PAM_EXTERN
 int pam_sm_chauthtok(pam_handle_t *pamh, int flags UNUSED,
 		     int argc, const char **argv)
 {
@@ -134,14 +130,12 @@ int pam_sm_chauthtok(pam_handle_t *pamh, int flags UNUSED,
 
 /* --- session management --- */
 
-PAM_EXTERN
 int pam_sm_open_session(pam_handle_t *pamh, int flags UNUSED,
 			int argc, const char **argv)
 {
     return parse_args(PAM_SUCCESS, "open_session", pamh, argc, argv);
 }
 
-PAM_EXTERN
 int pam_sm_close_session(pam_handle_t *pamh, int flags UNUSED,
 			 int argc, const char **argv)
 {
diff --git a/modules/pam_deny/pam_deny.c b/modules/pam_deny/pam_deny.c
index 544c5bd..a857cc9 100644
--- a/modules/pam_deny/pam_deny.c
+++ b/modules/pam_deny/pam_deny.c
@@ -25,14 +25,14 @@
 
 /* --- authentication management functions --- */
 
-PAM_EXTERN int
+int
 pam_sm_authenticate(pam_handle_t *pamh UNUSED, int flags UNUSED,
 		    int argc UNUSED, const char **argv UNUSED)
 {
      return PAM_AUTH_ERR;
 }
 
-PAM_EXTERN int
+int
 pam_sm_setcred(pam_handle_t *pamh UNUSED, int flags UNUSED,
 	       int argc UNUSED, const char **argv UNUSED)
 {
@@ -41,7 +41,7 @@ pam_sm_setcred(pam_handle_t *pamh UNUSED, int flags UNUSED,
 
 /* --- account management functions --- */
 
-PAM_EXTERN int
+int
 pam_sm_acct_mgmt(pam_handle_t *pamh UNUSED, int flags UNUSED,
 		 int argc UNUSED, const char **argv UNUSED)
 {
@@ -50,7 +50,7 @@ pam_sm_acct_mgmt(pam_handle_t *pamh UNUSED, int flags UNUSED,
 
 /* --- password management --- */
 
-PAM_EXTERN int
+int
 pam_sm_chauthtok(pam_handle_t *pamh UNUSED, int flags UNUSED,
 		 int argc UNUSED, const char **argv UNUSED)
 {
@@ -59,14 +59,14 @@ pam_sm_chauthtok(pam_handle_t *pamh UNUSED, int flags UNUSED,
 
 /* --- session management --- */
 
-PAM_EXTERN int
+int
 pam_sm_open_session(pam_handle_t *pamh UNUSED, int flags UNUSED,
 		    int argc UNUSED, const char **argv UNUSED)
 {
     return PAM_SESSION_ERR;
 }
 
-PAM_EXTERN int
+int
 pam_sm_close_session(pam_handle_t *pamh UNUSED, int flags UNUSED,
 		     int argc UNUSED, const char **argv UNUSED)
 {
diff --git a/modules/pam_env/pam_env.c b/modules/pam_env/pam_env.c
index 1bfdf08..f9f814f 100644
--- a/modules/pam_env/pam_env.c
+++ b/modules/pam_env/pam_env.c
@@ -768,7 +768,7 @@ static void   _clean_var(VAR *var)
 
 /* --- authentication management functions (only) --- */
 
-PAM_EXTERN int
+int
 pam_sm_authenticate (pam_handle_t *pamh UNUSED, int flags UNUSED,
 		     int argc UNUSED, const char **argv UNUSED)
 {
@@ -839,7 +839,7 @@ handle_env (pam_handle_t *pamh, int argc, const char **argv)
   return retval;
 }
 
-PAM_EXTERN int
+int
 pam_sm_acct_mgmt (pam_handle_t *pamh UNUSED, int flags UNUSED,
 		  int argc UNUSED, const char **argv UNUSED)
 {
@@ -847,7 +847,7 @@ pam_sm_acct_mgmt (pam_handle_t *pamh UNUSED, int flags UNUSED,
   return PAM_SERVICE_ERR;
 }
 
-PAM_EXTERN int
+int
 pam_sm_setcred (pam_handle_t *pamh, int flags UNUSED,
 		int argc, const char **argv)
 {
@@ -855,7 +855,7 @@ pam_sm_setcred (pam_handle_t *pamh, int flags UNUSED,
   return handle_env (pamh, argc, argv);
 }
 
-PAM_EXTERN int
+int
 pam_sm_open_session (pam_handle_t *pamh, int flags UNUSED,
 		     int argc, const char **argv)
 {
@@ -863,7 +863,7 @@ pam_sm_open_session (pam_handle_t *pamh, int flags UNUSED,
   return handle_env (pamh, argc, argv);
 }
 
-PAM_EXTERN int
+int
 pam_sm_close_session (pam_handle_t *pamh UNUSED, int flags UNUSED,
 		      int argc UNUSED, const char **argv UNUSED)
 {
@@ -871,7 +871,7 @@ pam_sm_close_session (pam_handle_t *pamh UNUSED, int flags UNUSED,
   return PAM_SUCCESS;
 }
 
-PAM_EXTERN int
+int
 pam_sm_chauthtok (pam_handle_t *pamh UNUSED, int flags UNUSED,
 		  int argc UNUSED, const char **argv UNUSED)
 {
diff --git a/modules/pam_exec/pam_exec.c b/modules/pam_exec/pam_exec.c
index 17ba6ca..4c33e9d 100644
--- a/modules/pam_exec/pam_exec.c
+++ b/modules/pam_exec/pam_exec.c
@@ -467,14 +467,14 @@ call_exec (const char *pam_type, pam_handle_t *pamh,
   return PAM_SYSTEM_ERR; /* will never be reached. */
 }
 
-PAM_EXTERN int
+int
 pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED,
 		     int argc, const char **argv)
 {
   return call_exec ("auth", pamh, argc, argv);
 }
 
-PAM_EXTERN int
+int
 pam_sm_setcred (pam_handle_t *pamh UNUSED, int flags UNUSED,
 		int argc UNUSED, const char **argv UNUSED)
 {
@@ -483,7 +483,7 @@ pam_sm_setcred (pam_handle_t *pamh UNUSED, int flags UNUSED,
 
 /* password updating functions */
 
-PAM_EXTERN int
+int
 pam_sm_chauthtok(pam_handle_t *pamh, int flags,
 		 int argc, const char **argv)
 {
@@ -492,21 +492,21 @@ pam_sm_chauthtok(pam_handle_t *pamh, int flags,
   return call_exec ("password", pamh, argc, argv);
 }
 
-PAM_EXTERN int
+int
 pam_sm_acct_mgmt(pam_handle_t *pamh, int flags UNUSED,
 		 int argc, const char **argv)
 {
   return call_exec ("account", pamh, argc, argv);
 }
 
-PAM_EXTERN int
+int
 pam_sm_open_session(pam_handle_t *pamh, int flags UNUSED,
 		    int argc, const char **argv)
 {
   return call_exec ("open_session", pamh, argc, argv);
 }
 
-PAM_EXTERN int
+int
 pam_sm_close_session(pam_handle_t *pamh, int flags UNUSED,
 		     int argc, const char **argv)
 {
diff --git a/modules/pam_faildelay/pam_faildelay.c b/modules/pam_faildelay/pam_faildelay.c
index 072b7dd..2b36f26 100644
--- a/modules/pam_faildelay/pam_faildelay.c
+++ b/modules/pam_faildelay/pam_faildelay.c
@@ -152,7 +152,6 @@ search_key (const char *filename)
 
 /* --- authentication management functions (only) --- */
 
-PAM_EXTERN
 int pam_sm_authenticate(pam_handle_t *pamh, int flags UNUSED,
 			int argc, const char **argv)
 {
@@ -204,7 +203,6 @@ int pam_sm_authenticate(pam_handle_t *pamh, int flags UNUSED,
       return i;
 }
 
-PAM_EXTERN
 int pam_sm_setcred(pam_handle_t *pamh UNUSED, int flags UNUSED,
 		   int argc UNUSED, const char **argv UNUSED)
 {
diff --git a/modules/pam_filter/pam_filter.c b/modules/pam_filter/pam_filter.c
index 9935d99..35460d3 100644
--- a/modules/pam_filter/pam_filter.c
+++ b/modules/pam_filter/pam_filter.c
@@ -663,23 +663,23 @@ static int need_a_filter(pam_handle_t *pamh
 
 /* ------------------ authentication ----------------- */
 
-PAM_EXTERN int pam_sm_authenticate(pam_handle_t *pamh
-				   , int flags, int argc, const char **argv)
+int pam_sm_authenticate(pam_handle_t *pamh,
+			int flags, int argc, const char **argv)
 {
     return need_a_filter(pamh, flags, argc, argv
 			 , "authenticate", FILTER_RUN1);
 }
 
-PAM_EXTERN int pam_sm_setcred(pam_handle_t *pamh, int flags
-			      , int argc, const char **argv)
+int pam_sm_setcred(pam_handle_t *pamh, int flags,
+		   int argc, const char **argv)
 {
     return need_a_filter(pamh, flags, argc, argv, "setcred", FILTER_RUN2);
 }
 
 /* --------------- account management ---------------- */
 
-PAM_EXTERN int pam_sm_acct_mgmt(pam_handle_t *pamh, int flags, int argc,
-                              const char **argv)
+int pam_sm_acct_mgmt(pam_handle_t *pamh, int flags, int argc,
+                     const char **argv)
 {
     return need_a_filter(pamh, flags, argc, argv
 			 , "setcred", FILTER_RUN1|FILTER_RUN2 );
@@ -687,15 +687,15 @@ PAM_EXTERN int pam_sm_acct_mgmt(pam_handle_t *pamh, int flags, int argc,
 
 /* --------------- session management ---------------- */
 
-PAM_EXTERN int pam_sm_open_session(pam_handle_t *pamh, int flags
-				   , int argc, const char **argv)
+int pam_sm_open_session(pam_handle_t *pamh, int flags,
+			int argc, const char **argv)
 {
     return need_a_filter(pamh, flags, argc, argv
 			 , "open_session", FILTER_RUN1);
 }
 
-PAM_EXTERN int pam_sm_close_session(pam_handle_t *pamh, int flags
-			      , int argc, const char **argv)
+int pam_sm_close_session(pam_handle_t *pamh, int flags,
+                         int argc, const char **argv)
 {
     return need_a_filter(pamh, flags, argc, argv
 			 , "close_session", FILTER_RUN2);
@@ -704,8 +704,8 @@ PAM_EXTERN int pam_sm_close_session(pam_handle_t *pamh, int flags
 /* --------- updating authentication tokens --------- */
 
 
-PAM_EXTERN int pam_sm_chauthtok(pam_handle_t *pamh, int flags
-				, int argc, const char **argv)
+int pam_sm_chauthtok(pam_handle_t *pamh, int flags,
+		     int argc, const char **argv)
 {
     int runN;
 
diff --git a/modules/pam_ftp/pam_ftp.c b/modules/pam_ftp/pam_ftp.c
index 221d8f8..be20d27 100644
--- a/modules/pam_ftp/pam_ftp.c
+++ b/modules/pam_ftp/pam_ftp.c
@@ -111,7 +111,7 @@ static int lookup(const char *name, const char *list, const char **_user)
 
 /* --- authentication management functions (only) --- */
 
-PAM_EXTERN int
+int
 pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED,
 		     int argc, const char **argv)
 {
@@ -210,7 +210,7 @@ pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED,
     }
 }
 
-PAM_EXTERN int
+int
 pam_sm_setcred (pam_handle_t *pamh UNUSED, int flags UNUSED,
 		int argc UNUSED, const char **argv UNUSED)
 {
diff --git a/modules/pam_group/pam_group.c b/modules/pam_group/pam_group.c
index be5f20f..9d7c3e6 100644
--- a/modules/pam_group/pam_group.c
+++ b/modules/pam_group/pam_group.c
@@ -739,14 +739,14 @@ static int check_account(pam_handle_t *pamh, const char *service,
 
 /* --- public authentication management functions --- */
 
-PAM_EXTERN int
+int
 pam_sm_authenticate (pam_handle_t *pamh UNUSED, int flags UNUSED,
 		     int argc UNUSED, const char **argv UNUSED)
 {
     return PAM_IGNORE;
 }
 
-PAM_EXTERN int
+int
 pam_sm_setcred (pam_handle_t *pamh, int flags,
 		int argc UNUSED, const char **argv UNUSED)
 {
diff --git a/modules/pam_issue/pam_issue.c b/modules/pam_issue/pam_issue.c
index 060baad..769ba22 100644
--- a/modules/pam_issue/pam_issue.c
+++ b/modules/pam_issue/pam_issue.c
@@ -42,7 +42,7 @@ static int read_issue_quoted(pam_handle_t *pamh, FILE *fp, char **prompt);
 
 /* --- authentication management functions (only) --- */
 
-PAM_EXTERN int
+int
 pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED,
 		     int argc, const char **argv)
 {
@@ -120,7 +120,7 @@ pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED,
     return (retval == PAM_SUCCESS) ? PAM_IGNORE : retval;
 }
 
-PAM_EXTERN int
+int
 pam_sm_setcred (pam_handle_t *pamh UNUSED, int flags UNUSED,
 		int argc UNUSED, const char **argv UNUSED)
 {
diff --git a/modules/pam_keyinit/pam_keyinit.c b/modules/pam_keyinit/pam_keyinit.c
index f82eead..6246c4a 100644
--- a/modules/pam_keyinit/pam_keyinit.c
+++ b/modules/pam_keyinit/pam_keyinit.c
@@ -165,7 +165,6 @@ static void kill_keyrings(pam_handle_t *pamh)
 /*
  * open a PAM session by making sure there's a session keyring
  */
-PAM_EXTERN
 int pam_sm_open_session(pam_handle_t *pamh, int flags UNUSED,
 			int argc, const char **argv)
 {
@@ -238,7 +237,6 @@ int pam_sm_open_session(pam_handle_t *pamh, int flags UNUSED,
 /*
  * close a PAM session by revoking the session keyring if requested
  */
-PAM_EXTERN
 int pam_sm_close_session(pam_handle_t *pamh, int flags UNUSED,
 			 int argc UNUSED, const char **argv UNUSED)
 {
diff --git a/modules/pam_lastlog/pam_lastlog.c b/modules/pam_lastlog/pam_lastlog.c
index 76a33e4..1573fd3 100644
--- a/modules/pam_lastlog/pam_lastlog.c
+++ b/modules/pam_lastlog/pam_lastlog.c
@@ -566,7 +566,7 @@ cleanup:
 }
 
 /* --- authentication (locking out inactive users) functions --- */
-PAM_EXTERN int
+int
 pam_sm_authenticate(pam_handle_t *pamh, int flags,
 		    int argc, const char **argv)
 {
@@ -636,14 +636,14 @@ pam_sm_authenticate(pam_handle_t *pamh, int flags,
     return PAM_SUCCESS;
 }
 
-PAM_EXTERN int
+int
 pam_sm_setcred(pam_handle_t *pamh UNUSED, int flags UNUSED,
 		    int argc UNUSED, const char **argv UNUSED)
 {
     return PAM_SUCCESS;
 }
 
-PAM_EXTERN int
+int
 pam_sm_acct_mgmt(pam_handle_t *pamh, int flags,
 		    int argc, const char **argv)
 {
@@ -652,7 +652,7 @@ pam_sm_acct_mgmt(pam_handle_t *pamh, int flags,
 
 /* --- session management functions --- */
 
-PAM_EXTERN int
+int
 pam_sm_open_session(pam_handle_t *pamh, int flags,
 		    int argc, const char **argv)
 {
@@ -702,7 +702,7 @@ pam_sm_open_session(pam_handle_t *pamh, int flags,
     return retval;
 }
 
-PAM_EXTERN int
+int
 pam_sm_close_session (pam_handle_t *pamh, int flags,
 		      int argc, const char **argv)
 {
diff --git a/modules/pam_limits/pam_limits.c b/modules/pam_limits/pam_limits.c
index eabc856..2b63426 100644
--- a/modules/pam_limits/pam_limits.c
+++ b/modules/pam_limits/pam_limits.c
@@ -1002,7 +1002,7 @@ static int setup_limits(pam_handle_t *pamh,
 }
 
 /* now the session stuff */
-PAM_EXTERN int
+int
 pam_sm_open_session (pam_handle_t *pamh, int flags UNUSED,
 		     int argc, const char **argv)
 {
@@ -1096,7 +1096,7 @@ out:
     return PAM_SUCCESS;
 }
 
-PAM_EXTERN int
+int
 pam_sm_close_session (pam_handle_t *pamh UNUSED, int flags UNUSED,
 		      int argc UNUSED, const char **argv UNUSED)
 {
diff --git a/modules/pam_listfile/pam_listfile.c b/modules/pam_listfile/pam_listfile.c
index 2af2afd..d94370c 100644
--- a/modules/pam_listfile/pam_listfile.c
+++ b/modules/pam_listfile/pam_listfile.c
@@ -53,7 +53,7 @@
 
 #define LESSER(a, b) ((a) < (b) ? (a) : (b))
 
-PAM_EXTERN int
+int
 pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED,
 		     int argc, const char **argv)
 {
@@ -370,35 +370,35 @@ pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED,
     }
 }
 
-PAM_EXTERN int
+int
 pam_sm_setcred (pam_handle_t *pamh UNUSED, int flags UNUSED,
 		int argc UNUSED, const char **argv UNUSED)
 {
     return PAM_SUCCESS;
 }
 
-PAM_EXTERN int
+int
 pam_sm_acct_mgmt (pam_handle_t *pamh, int flags,
 		  int argc, const char **argv)
 {
     return pam_sm_authenticate(pamh, flags, argc, argv);
 }
 
-PAM_EXTERN int
+int
 pam_sm_open_session (pam_handle_t *pamh, int flags,
 		     int argc, const char **argv)
 {
     return pam_sm_authenticate(pamh, flags, argc, argv);
 }
 
-PAM_EXTERN int
+int
 pam_sm_close_session (pam_handle_t *pamh, int flags,
 		      int argc, const char **argv)
 {
     return pam_sm_authenticate(pamh, flags, argc, argv);
 }
 
-PAM_EXTERN int
+int
 pam_sm_chauthtok (pam_handle_t *pamh, int flags,
 		  int argc, const char **argv)
 {
diff --git a/modules/pam_localuser/pam_localuser.c b/modules/pam_localuser/pam_localuser.c
index aa43bc4..3328681 100644
--- a/modules/pam_localuser/pam_localuser.c
+++ b/modules/pam_localuser/pam_localuser.c
@@ -55,7 +55,7 @@
 
 #define MODULE_NAME "pam_localuser"
 
-PAM_EXTERN int
+int
 pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED,
 		     int argc, const char **argv)
 {
@@ -123,34 +123,34 @@ pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED,
 	return ret;
 }
 
-PAM_EXTERN int
+int
 pam_sm_setcred (pam_handle_t *pamh UNUSED, int flags UNUSED,
 		int argc UNUSED, const char **argv UNUSED)
 {
 	return PAM_SUCCESS;
 }
 
-PAM_EXTERN int
+int
 pam_sm_acct_mgmt(pam_handle_t *pamh, int flags, int argc, const char **argv)
 {
 	return pam_sm_authenticate(pamh, flags, argc, argv);
 }
 
-PAM_EXTERN int
+int
 pam_sm_open_session (pam_handle_t *pamh, int flags,
 		     int argc, const char **argv)
 {
 	return pam_sm_authenticate(pamh, flags, argc, argv);
 }
 
-PAM_EXTERN int
+int
 pam_sm_close_session (pam_handle_t *pamh, int flags,
 		      int argc, const char **argv)
 {
 	return pam_sm_authenticate(pamh, flags, argc, argv);
 }
 
-PAM_EXTERN int
+int
 pam_sm_chauthtok (pam_handle_t *pamh, int flags,
 		  int argc, const char **argv)
 {
diff --git a/modules/pam_loginuid/pam_loginuid.c b/modules/pam_loginuid/pam_loginuid.c
index 9a1589e..62bbe9f 100644
--- a/modules/pam_loginuid/pam_loginuid.c
+++ b/modules/pam_loginuid/pam_loginuid.c
@@ -247,19 +247,19 @@ _pam_loginuid(pam_handle_t *pamh, int flags UNUSED,
  *
  * This is here for vsftpd which doesn't seem to run the session stack
  */
-PAM_EXTERN int
+int
 pam_sm_acct_mgmt(pam_handle_t *pamh, int flags, int argc, const char **argv)
 {
 	return _pam_loginuid(pamh, flags, argc, argv);
 }
 
-PAM_EXTERN int
+int
 pam_sm_open_session(pam_handle_t *pamh, int flags, int argc, const char **argv)
 {
 	return _pam_loginuid(pamh, flags, argc, argv);
 }
 
-PAM_EXTERN int
+int
 pam_sm_close_session(pam_handle_t *pamh UNUSED, int flags UNUSED,
 		     int argc UNUSED, const char **argv UNUSED)
 {
diff --git a/modules/pam_mail/pam_mail.c b/modules/pam_mail/pam_mail.c
index f5ba173..ded8387 100644
--- a/modules/pam_mail/pam_mail.c
+++ b/modules/pam_mail/pam_mail.c
@@ -338,7 +338,7 @@ static int _do_mail(pam_handle_t *, int, int, const char **, int);
 
 /* --- authentication functions --- */
 
-PAM_EXTERN int
+int
 pam_sm_authenticate (pam_handle_t *pamh UNUSED, int flags UNUSED,
 		     int argc UNUSED, const char **argv UNUSED)
 {
@@ -346,7 +346,6 @@ pam_sm_authenticate (pam_handle_t *pamh UNUSED, int flags UNUSED,
 }
 
 /* Checking mail as part of authentication */
-PAM_EXTERN
 int pam_sm_setcred(pam_handle_t *pamh, int flags, int argc,
     const char **argv)
 {
@@ -357,7 +356,6 @@ int pam_sm_setcred(pam_handle_t *pamh, int flags, int argc,
 
 /* --- session management functions --- */
 
-PAM_EXTERN
 int pam_sm_close_session(pam_handle_t *pamh,int flags,int argc
 			 ,const char **argv)
 {
@@ -365,7 +363,6 @@ int pam_sm_close_session(pam_handle_t *pamh,int flags,int argc
 }
 
 /* Checking mail as part of the session management */
-PAM_EXTERN
 int pam_sm_open_session(pam_handle_t *pamh, int flags, int argc,
     const char **argv)
 {
diff --git a/modules/pam_mkhomedir/pam_mkhomedir.c b/modules/pam_mkhomedir/pam_mkhomedir.c
index c922089..d2c7257 100644
--- a/modules/pam_mkhomedir/pam_mkhomedir.c
+++ b/modules/pam_mkhomedir/pam_mkhomedir.c
@@ -183,7 +183,7 @@ create_homedir (pam_handle_t *pamh, options_t *opt,
 
 /* --- authentication management functions (only) --- */
 
-PAM_EXTERN int
+int
 pam_sm_open_session (pam_handle_t *pamh, int flags, int argc,
 		     const char **argv)
 {
@@ -227,7 +227,6 @@ pam_sm_open_session (pam_handle_t *pamh, int flags, int argc,
 }
 
 /* Ignore */
-PAM_EXTERN
 int pam_sm_close_session (pam_handle_t * pamh UNUSED, int flags UNUSED,
 			  int argc UNUSED, const char **argv UNUSED)
 {
diff --git a/modules/pam_motd/pam_motd.c b/modules/pam_motd/pam_motd.c
index ff9b169..2238236 100644
--- a/modules/pam_motd/pam_motd.c
+++ b/modules/pam_motd/pam_motd.c
@@ -39,7 +39,7 @@
 
 /* --- session management functions (only) --- */
 
-PAM_EXTERN int
+int
 pam_sm_close_session (pam_handle_t *pamh UNUSED, int flags UNUSED,
 		      int argc UNUSED, const char **argv UNUSED)
 {
@@ -48,7 +48,6 @@ pam_sm_close_session (pam_handle_t *pamh UNUSED, int flags UNUSED,
 
 static char default_motd[] = DEFAULT_MOTD;
 
-PAM_EXTERN
 int pam_sm_open_session(pam_handle_t *pamh, int flags,
 			int argc, const char **argv)
 {
diff --git a/modules/pam_namespace/pam_namespace.c b/modules/pam_namespace/pam_namespace.c
index 92883f5..d52fc95 100644
--- a/modules/pam_namespace/pam_namespace.c
+++ b/modules/pam_namespace/pam_namespace.c
@@ -2008,7 +2008,7 @@ static int get_user_data(struct instance_data *idata)
 /*
  * Entry point from pam_open_session call.
  */
-PAM_EXTERN int pam_sm_open_session(pam_handle_t *pamh, int flags UNUSED,
+int pam_sm_open_session(pam_handle_t *pamh, int flags UNUSED,
                                    int argc, const char **argv)
 {
     int i, retval;
@@ -2104,7 +2104,7 @@ PAM_EXTERN int pam_sm_open_session(pam_handle_t *pamh, int flags UNUSED,
 /*
  * Entry point from pam_close_session call.
  */
-PAM_EXTERN int pam_sm_close_session(pam_handle_t *pamh, int flags UNUSED,
+int pam_sm_close_session(pam_handle_t *pamh, int flags UNUSED,
                                     int argc, const char **argv)
 {
     int i, retval;
diff --git a/modules/pam_nologin/pam_nologin.c b/modules/pam_nologin/pam_nologin.c
index f047c32..1ecab61 100644
--- a/modules/pam_nologin/pam_nologin.c
+++ b/modules/pam_nologin/pam_nologin.c
@@ -135,7 +135,7 @@ static int perform_check(pam_handle_t *pamh, struct opt_s *opts)
 
 /* --- authentication management functions --- */
 
-PAM_EXTERN int
+int
 pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED,
 		     int argc, const char **argv)
 {
@@ -146,7 +146,7 @@ pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED,
     return perform_check(pamh, &opts);
 }
 
-PAM_EXTERN int
+int
 pam_sm_setcred (pam_handle_t *pamh UNUSED, int flags UNUSED,
 		int argc, const char **argv)
 {
@@ -159,7 +159,7 @@ pam_sm_setcred (pam_handle_t *pamh UNUSED, int flags UNUSED,
 
 /* --- account management function --- */
 
-PAM_EXTERN int
+int
 pam_sm_acct_mgmt(pam_handle_t *pamh, int flags UNUSED,
 		 int argc, const char **argv)
 {
diff --git a/modules/pam_permit/pam_permit.c b/modules/pam_permit/pam_permit.c
index e4539b0..56ec5f9 100644
--- a/modules/pam_permit/pam_permit.c
+++ b/modules/pam_permit/pam_permit.c
@@ -30,7 +30,7 @@
 
 /* --- authentication management functions --- */
 
-PAM_EXTERN int
+int
 pam_sm_authenticate(pam_handle_t *pamh, int flags UNUSED,
 		    int argc UNUSED, const char **argv UNUSED)
 {
@@ -56,7 +56,7 @@ pam_sm_authenticate(pam_handle_t *pamh, int flags UNUSED,
     return PAM_SUCCESS;
 }
 
-PAM_EXTERN int
+int
 pam_sm_setcred(pam_handle_t *pamh UNUSED, int flags UNUSED,
 	       int argc UNUSED, const char **argv UNUSED)
 {
@@ -65,7 +65,7 @@ pam_sm_setcred(pam_handle_t *pamh UNUSED, int flags UNUSED,
 
 /* --- account management functions --- */
 
-PAM_EXTERN int
+int
 pam_sm_acct_mgmt(pam_handle_t *pamh UNUSED, int flags UNUSED,
 		 int argc UNUSED, const char **argv UNUSED)
 {
@@ -74,7 +74,7 @@ pam_sm_acct_mgmt(pam_handle_t *pamh UNUSED, int flags UNUSED,
 
 /* --- password management --- */
 
-PAM_EXTERN int
+int
 pam_sm_chauthtok(pam_handle_t *pamh UNUSED, int flags UNUSED,
 		 int argc UNUSED, const char **argv UNUSED)
 {
@@ -83,14 +83,14 @@ pam_sm_chauthtok(pam_handle_t *pamh UNUSED, int flags UNUSED,
 
 /* --- session management --- */
 
-PAM_EXTERN int
+int
 pam_sm_open_session(pam_handle_t *pamh UNUSED, int flags UNUSED,
 		    int argc UNUSED, const char **argv UNUSED)
 {
     return PAM_SUCCESS;
 }
 
-PAM_EXTERN int
+int
 pam_sm_close_session(pam_handle_t *pamh UNUSED, int flags UNUSED,
 		     int argc UNUSED, const char **argv UNUSED)
 {
diff --git a/modules/pam_pwhistory/pam_pwhistory.c b/modules/pam_pwhistory/pam_pwhistory.c
index 654edd3..407acf3 100644
--- a/modules/pam_pwhistory/pam_pwhistory.c
+++ b/modules/pam_pwhistory/pam_pwhistory.c
@@ -106,7 +106,7 @@ parse_option (pam_handle_t *pamh, const char *argv, options_t *options)
 /* This module saves the current crypted password in /etc/security/opasswd
    and then compares the new password with all entries in this file. */
 
-PAM_EXTERN int
+int
 pam_sm_chauthtok (pam_handle_t *pamh, int flags, int argc, const char **argv)
 {
   struct passwd *pwd;
diff --git a/modules/pam_rhosts/pam_rhosts.c b/modules/pam_rhosts/pam_rhosts.c
index bc9e76f..cde597f 100644
--- a/modules/pam_rhosts/pam_rhosts.c
+++ b/modules/pam_rhosts/pam_rhosts.c
@@ -43,7 +43,6 @@
 #include <security/pam_modutil.h>
 #include <security/pam_ext.h>
 
-PAM_EXTERN
 int pam_sm_authenticate (pam_handle_t *pamh, int flags, int argc,
 			 const char **argv)
 {
@@ -130,7 +129,7 @@ int pam_sm_authenticate (pam_handle_t *pamh, int flags, int argc,
 }
 
 
-PAM_EXTERN int
+int
 pam_sm_setcred (pam_handle_t *pamh UNUSED, int flags UNUSED,
 		int argc UNUSED, const char **argv UNUSED)
 {
diff --git a/modules/pam_rootok/pam_rootok.c b/modules/pam_rootok/pam_rootok.c
index 88bed0c..557d0ea 100644
--- a/modules/pam_rootok/pam_rootok.c
+++ b/modules/pam_rootok/pam_rootok.c
@@ -135,7 +135,7 @@ check_for_root (pam_handle_t *pamh, int ctrl)
 
 /* --- management functions --- */
 
-PAM_EXTERN int
+int
 pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED,
 		     int argc, const char **argv)
 {
@@ -146,14 +146,14 @@ pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED,
     return check_for_root (pamh, ctrl);
 }
 
-PAM_EXTERN int
+int
 pam_sm_setcred (pam_handle_t *pamh UNUSED, int flags UNUSED,
 		int argc UNUSED, const char **argv UNUSED)
 {
     return PAM_SUCCESS;
 }
 
-PAM_EXTERN int
+int
 pam_sm_acct_mgmt (pam_handle_t *pamh, int flags UNUSED,
 		  int argc, const char **argv)
 {
@@ -164,7 +164,7 @@ pam_sm_acct_mgmt (pam_handle_t *pamh, int flags UNUSED,
     return check_for_root (pamh, ctrl);
 }
 
-PAM_EXTERN int
+int
 pam_sm_chauthtok (pam_handle_t *pamh, int flags UNUSED,
 		  int argc, const char **argv)
 {
diff --git a/modules/pam_securetty/pam_securetty.c b/modules/pam_securetty/pam_securetty.c
index 0474130..e57f32b 100644
--- a/modules/pam_securetty/pam_securetty.c
+++ b/modules/pam_securetty/pam_securetty.c
@@ -235,7 +235,6 @@ securetty_perform_check (pam_handle_t *pamh, int ctrl,
 
 /* --- authentication management functions --- */
 
-PAM_EXTERN
 int pam_sm_authenticate(pam_handle_t *pamh, int flags UNUSED, int argc,
 			const char **argv)
 {
@@ -247,7 +246,7 @@ int pam_sm_authenticate(pam_handle_t *pamh, int flags UNUSED, int argc,
     return securetty_perform_check(pamh, ctrl, __FUNCTION__);
 }
 
-PAM_EXTERN int
+int
 pam_sm_setcred (pam_handle_t *pamh UNUSED, int flags UNUSED,
 		int argc UNUSED, const char **argv UNUSED)
 {
@@ -256,7 +255,7 @@ pam_sm_setcred (pam_handle_t *pamh UNUSED, int flags UNUSED,
 
 /* --- account management functions --- */
 
-PAM_EXTERN int
+int
 pam_sm_acct_mgmt (pam_handle_t *pamh, int flags UNUSED,
 		  int argc, const char **argv)
 {
diff --git a/modules/pam_selinux/pam_selinux.c b/modules/pam_selinux/pam_selinux.c
index b2a75e0..6daba1e 100644
--- a/modules/pam_selinux/pam_selinux.c
+++ b/modules/pam_selinux/pam_selinux.c
@@ -757,7 +757,7 @@ create_context(pam_handle_t *pamh, int argc, const char **argv,
   return set_context(pamh, data, debug, verbose);
 }
 
-PAM_EXTERN int
+int
 pam_sm_authenticate(pam_handle_t *pamh UNUSED, int flags UNUSED,
 		    int argc UNUSED, const char **argv UNUSED)
 {
@@ -765,14 +765,14 @@ pam_sm_authenticate(pam_handle_t *pamh UNUSED, int flags UNUSED,
   return PAM_AUTH_ERR;
 }
 
-PAM_EXTERN int
+int
 pam_sm_setcred(pam_handle_t *pamh UNUSED, int flags UNUSED,
 	       int argc UNUSED, const char **argv UNUSED)
 {
   return PAM_SUCCESS;
 }
 
-PAM_EXTERN int
+int
 pam_sm_open_session(pam_handle_t *pamh, int flags UNUSED,
 		    int argc, const char **argv)
 {
@@ -813,7 +813,7 @@ pam_sm_open_session(pam_handle_t *pamh, int flags UNUSED,
     create_context(pamh, argc, argv, debug, verbose);
 }
 
-PAM_EXTERN int
+int
 pam_sm_close_session(pam_handle_t *pamh, int flags UNUSED,
 		     int argc, const char **argv)
 {
diff --git a/modules/pam_sepermit/pam_sepermit.c b/modules/pam_sepermit/pam_sepermit.c
index 8af1266..6e7cc1b 100644
--- a/modules/pam_sepermit/pam_sepermit.c
+++ b/modules/pam_sepermit/pam_sepermit.c
@@ -363,7 +363,7 @@ sepermit_match(pam_handle_t *pamh, const char *cfgfile, const char *user,
 		return -1;
 }
 
-PAM_EXTERN int
+int
 pam_sm_authenticate(pam_handle_t *pamh, int flags UNUSED,
 		    int argc, const char **argv)
 {
@@ -430,14 +430,14 @@ pam_sm_authenticate(pam_handle_t *pamh, int flags UNUSED,
 	return rv;
 }
 
-PAM_EXTERN int
+int
 pam_sm_setcred (pam_handle_t *pamh UNUSED, int flags UNUSED,
                 int argc UNUSED, const char **argv UNUSED)
 {
 	return PAM_IGNORE;
 }
 
-PAM_EXTERN int
+int
 pam_sm_acct_mgmt(pam_handle_t *pamh, int flags,
 		     int argc, const char **argv)
 {
diff --git a/modules/pam_shells/pam_shells.c b/modules/pam_shells/pam_shells.c
index 68bd607..31e8b36 100644
--- a/modules/pam_shells/pam_shells.c
+++ b/modules/pam_shells/pam_shells.c
@@ -104,14 +104,12 @@ static int perform_check(pam_handle_t *pamh)
 
 /* --- authentication management functions (only) --- */
 
-PAM_EXTERN
 int pam_sm_authenticate(pam_handle_t *pamh, int flags UNUSED,
 		        int argc UNUSED, const char **argv UNUSED)
 {
     return perform_check(pamh);
 }
 
-PAM_EXTERN
 int pam_sm_setcred(pam_handle_t *pamh UNUSED, int flags UNUSED,
 		   int argc UNUSED, const char **argv UNUSED)
 {
@@ -120,7 +118,6 @@ int pam_sm_setcred(pam_handle_t *pamh UNUSED, int flags UNUSED,
 
 /* --- account management functions (only) --- */
 
-PAM_EXTERN
 int pam_sm_acct_mgmt(pam_handle_t *pamh, int flags UNUSED,
 		     int argc UNUSED, const char **argv UNUSED)
 {
diff --git a/modules/pam_stress/pam_stress.c b/modules/pam_stress/pam_stress.c
index c1695d7..7313953 100644
--- a/modules/pam_stress/pam_stress.c
+++ b/modules/pam_stress/pam_stress.c
@@ -213,7 +213,6 @@ wipe_up (pam_handle_t *pamh UNUSED, void *data, int error UNUSED)
      free(data);
 }
 
-PAM_EXTERN
 int pam_sm_authenticate(pam_handle_t *pamh, int flags,
 			int argc, const char **argv)
 {
@@ -281,7 +280,6 @@ int pam_sm_authenticate(pam_handle_t *pamh, int flags,
      return retval;
 }
 
-PAM_EXTERN
 int pam_sm_setcred(pam_handle_t *pamh, int flags,
 		   int argc, const char **argv)
 {
@@ -299,7 +297,6 @@ int pam_sm_setcred(pam_handle_t *pamh, int flags,
 
 /* account management functions */
 
-PAM_EXTERN
 int pam_sm_acct_mgmt(pam_handle_t *pamh, int flags,
 		     int argc, const char **argv)
 {
@@ -334,7 +331,6 @@ int pam_sm_acct_mgmt(pam_handle_t *pamh, int flags,
      return PAM_SUCCESS;
 }
 
-PAM_EXTERN
 int pam_sm_open_session(pam_handle_t *pamh, int flags,
 			int argc, const char **argv)
 {
@@ -362,7 +358,6 @@ int pam_sm_open_session(pam_handle_t *pamh, int flags,
      return PAM_SUCCESS;
 }
 
-PAM_EXTERN
 int pam_sm_close_session(pam_handle_t *pamh, int flags,
 			 int argc, const char **argv)
 {
@@ -390,7 +385,6 @@ int pam_sm_close_session(pam_handle_t *pamh, int flags,
      return PAM_SUCCESS;
 }
 
-PAM_EXTERN
 int pam_sm_chauthtok(pam_handle_t *pamh, int flags,
 		     int argc, const char **argv)
 {
diff --git a/modules/pam_succeed_if/pam_succeed_if.c b/modules/pam_succeed_if/pam_succeed_if.c
index aa828fc..f85cffb 100644
--- a/modules/pam_succeed_if/pam_succeed_if.c
+++ b/modules/pam_succeed_if/pam_succeed_if.c
@@ -400,7 +400,7 @@ evaluate(pam_handle_t *pamh, int debug,
 	return PAM_SERVICE_ERR;
 }
 
-PAM_EXTERN int
+int
 pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED,
 		     int argc, const char **argv)
 {
@@ -544,32 +544,32 @@ pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED,
 	return ret;
 }
 
-PAM_EXTERN int
+int
 pam_sm_setcred(pam_handle_t *pamh UNUSED, int flags UNUSED,
                int argc UNUSED, const char **argv UNUSED)
 {
 	return PAM_IGNORE;
 }
 
-PAM_EXTERN int
+int
 pam_sm_acct_mgmt(pam_handle_t *pamh, int flags, int argc, const char **argv)
 {
 	return pam_sm_authenticate(pamh, flags, argc, argv);
 }
 
-PAM_EXTERN int
+int
 pam_sm_open_session(pam_handle_t *pamh, int flags, int argc, const char **argv)
 {
 	return pam_sm_authenticate(pamh, flags, argc, argv);
 }
 
-PAM_EXTERN int
+int
 pam_sm_close_session(pam_handle_t *pamh, int flags, int argc, const char **argv)
 {
 	return pam_sm_authenticate(pamh, flags, argc, argv);
 }
 
-PAM_EXTERN int
+int
 pam_sm_chauthtok(pam_handle_t *pamh, int flags, int argc, const char **argv)
 {
 	return pam_sm_authenticate(pamh, flags, argc, argv);
diff --git a/modules/pam_tally/pam_tally.c b/modules/pam_tally/pam_tally.c
index c712885..fe546a5 100644
--- a/modules/pam_tally/pam_tally.c
+++ b/modules/pam_tally/pam_tally.c
@@ -615,7 +615,7 @@ tally_reset (pam_handle_t *pamh, uid_t uid, struct tally_options *opts)
 
 #ifdef PAM_SM_AUTH
 
-PAM_EXTERN int
+int
 pam_sm_authenticate(pam_handle_t *pamh, int flags,
 		    int argc, const char **argv)
 {
@@ -649,7 +649,7 @@ pam_sm_authenticate(pam_handle_t *pamh, int flags,
   return rvcheck != PAM_SUCCESS ? rvcheck : rvbump;
 }
 
-PAM_EXTERN int
+int
 pam_sm_setcred(pam_handle_t *pamh, int flags,
 	       int argc, const char **argv)
 {
@@ -694,7 +694,7 @@ pam_sm_setcred(pam_handle_t *pamh, int flags,
 
 /* To reset failcount of user on successfull login */
 
-PAM_EXTERN int
+int
 pam_sm_acct_mgmt(pam_handle_t *pamh, int flags,
 		 int argc, const char **argv)
 {
diff --git a/modules/pam_tally2/pam_tally2.c b/modules/pam_tally2/pam_tally2.c
index 9187cbf..f32d996 100644
--- a/modules/pam_tally2/pam_tally2.c
+++ b/modules/pam_tally2/pam_tally2.c
@@ -737,7 +737,7 @@ tally_reset (pam_handle_t *pamh, uid_t uid, struct tally_options *opts, int old_
 
 /* --- authentication management functions (only) --- */
 
-PAM_EXTERN int
+int
 pam_sm_authenticate(pam_handle_t *pamh, int flags UNUSED,
 		    int argc, const char **argv)
 {
@@ -770,7 +770,7 @@ pam_sm_authenticate(pam_handle_t *pamh, int flags UNUSED,
   return rv;
 }
 
-PAM_EXTERN int
+int
 pam_sm_setcred(pam_handle_t *pamh, int flags UNUSED,
 	       int argc, const char **argv)
 {
@@ -810,7 +810,7 @@ pam_sm_setcred(pam_handle_t *pamh, int flags UNUSED,
 
 /* To reset failcount of user on successfull login */
 
-PAM_EXTERN int
+int
 pam_sm_acct_mgmt(pam_handle_t *pamh, int flags UNUSED,
 		 int argc, const char **argv)
 {
diff --git a/modules/pam_time/pam_time.c b/modules/pam_time/pam_time.c
index c94737c..c9dfbff 100644
--- a/modules/pam_time/pam_time.c
+++ b/modules/pam_time/pam_time.c
@@ -588,7 +588,7 @@ check_account(pam_handle_t *pamh, const char *service,
 
 /* --- public account management functions --- */
 
-PAM_EXTERN int
+int
 pam_sm_acct_mgmt(pam_handle_t *pamh, int flags UNUSED,
 		 int argc, const char **argv)
 {
diff --git a/modules/pam_timestamp/pam_timestamp.c b/modules/pam_timestamp/pam_timestamp.c
index 1bf0e84..65aaf3f 100644
--- a/modules/pam_timestamp/pam_timestamp.c
+++ b/modules/pam_timestamp/pam_timestamp.c
@@ -357,7 +357,7 @@ verbose_success(pam_handle_t *pamh, long diff)
 	pam_info(pamh, _("Access granted (last access was %ld seconds ago)."), diff);
 }
 
-PAM_EXTERN int
+int
 pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, const char **argv)
 {
 	struct stat st;
@@ -547,13 +547,13 @@ pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, const char **argv)
 	return PAM_AUTH_ERR;
 }
 
-PAM_EXTERN int
+int
 pam_sm_setcred(pam_handle_t *pamh UNUSED, int flags UNUSED, int argc UNUSED, const char **argv UNUSED)
 {
 	return PAM_SUCCESS;
 }
 
-PAM_EXTERN int
+int
 pam_sm_open_session(pam_handle_t *pamh, int flags UNUSED, int argc, const char **argv)
 {
 	char path[BUFLEN], subdir[BUFLEN], *text, *p;
@@ -670,7 +670,7 @@ pam_sm_open_session(pam_handle_t *pamh, int flags UNUSED, int argc, const char *
 	return PAM_SUCCESS;
 }
 
-PAM_EXTERN int
+int
 pam_sm_close_session(pam_handle_t *pamh UNUSED, int flags UNUSED, int argc UNUSED, const char **argv UNUSED)
 {
 	return PAM_SUCCESS;
diff --git a/modules/pam_umask/pam_umask.c b/modules/pam_umask/pam_umask.c
index 863f038..9532856 100644
--- a/modules/pam_umask/pam_umask.c
+++ b/modules/pam_umask/pam_umask.c
@@ -249,7 +249,7 @@ setup_limits_from_gecos (pam_handle_t *pamh, options_t *options,
 }
 
 
-PAM_EXTERN int
+int
 pam_sm_open_session (pam_handle_t *pamh, int flags UNUSED,
                      int argc, const char **argv)
 {
@@ -297,7 +297,7 @@ pam_sm_open_session (pam_handle_t *pamh, int flags UNUSED,
   return retval;
 }
 
-PAM_EXTERN int
+int
 pam_sm_close_session (pam_handle_t *pamh UNUSED, int flags UNUSED,
 		      int argc UNUSED, const char **argv UNUSED)
 {
diff --git a/modules/pam_userdb/pam_userdb.c b/modules/pam_userdb/pam_userdb.c
index 8df1a40..ea5f824 100644
--- a/modules/pam_userdb/pam_userdb.c
+++ b/modules/pam_userdb/pam_userdb.c
@@ -334,7 +334,7 @@ user_lookup (pam_handle_t *pamh, const char *database, const char *cryptmode,
 
 /* --- authentication management functions (only) --- */
 
-PAM_EXTERN int
+int
 pam_sm_authenticate(pam_handle_t *pamh, int flags UNUSED,
 		    int argc, const char **argv)
 {
@@ -423,14 +423,14 @@ pam_sm_authenticate(pam_handle_t *pamh, int flags UNUSED,
      return PAM_IGNORE;
 }
 
-PAM_EXTERN int
+int
 pam_sm_setcred(pam_handle_t *pamh UNUSED, int flags UNUSED,
 	       int argc UNUSED, const char **argv UNUSED)
 {
     return PAM_SUCCESS;
 }
 
-PAM_EXTERN int
+int
 pam_sm_acct_mgmt(pam_handle_t *pamh, int flags UNUSED,
 		 int argc, const char **argv)
 {
diff --git a/modules/pam_warn/pam_warn.c b/modules/pam_warn/pam_warn.c
index a26c48d..bd82a0b 100644
--- a/modules/pam_warn/pam_warn.c
+++ b/modules/pam_warn/pam_warn.c
@@ -54,7 +54,6 @@ static void log_items(pam_handle_t *pamh, const char *function, int flags)
 
 /* --- authentication management functions (only) --- */
 
-PAM_EXTERN
 int pam_sm_authenticate(pam_handle_t *pamh, int flags,
 			int argc UNUSED, const char **argv UNUSED)
 {
@@ -62,7 +61,6 @@ int pam_sm_authenticate(pam_handle_t *pamh, int flags,
     return PAM_IGNORE;
 }
 
-PAM_EXTERN
 int pam_sm_setcred(pam_handle_t *pamh, int flags,
 		   int argc UNUSED, const char **argv UNUSED)
 {
@@ -72,7 +70,6 @@ int pam_sm_setcred(pam_handle_t *pamh, int flags,
 
 /* password updating functions */
 
-PAM_EXTERN
 int pam_sm_chauthtok(pam_handle_t *pamh, int flags,
 		     int argc UNUSED, const char **argv UNUSED)
 {
@@ -80,7 +77,7 @@ int pam_sm_chauthtok(pam_handle_t *pamh, int flags,
     return PAM_IGNORE;
 }
 
-PAM_EXTERN int
+int
 pam_sm_acct_mgmt(pam_handle_t *pamh, int flags,
 		 int argc UNUSED, const char **argv UNUSED)
 {
@@ -88,7 +85,7 @@ pam_sm_acct_mgmt(pam_handle_t *pamh, int flags,
     return PAM_IGNORE;
 }
 
-PAM_EXTERN int
+int
 pam_sm_open_session(pam_handle_t *pamh, int flags,
 		    int argc UNUSED, const char **argv UNUSED)
 {
@@ -96,7 +93,7 @@ pam_sm_open_session(pam_handle_t *pamh, int flags,
     return PAM_IGNORE;
 }
 
-PAM_EXTERN int
+int
 pam_sm_close_session(pam_handle_t *pamh, int flags,
 		     int argc UNUSED, const char **argv UNUSED)
 {
diff --git a/modules/pam_wheel/pam_wheel.c b/modules/pam_wheel/pam_wheel.c
index d7d8096..7cfd23f 100644
--- a/modules/pam_wheel/pam_wheel.c
+++ b/modules/pam_wheel/pam_wheel.c
@@ -232,7 +232,7 @@ perform_check (pam_handle_t *pamh, int ctrl, const char *use_group)
 
 /* --- authentication management functions --- */
 
-PAM_EXTERN int
+int
 pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED,
 		     int argc, const char **argv)
 {
@@ -244,14 +244,14 @@ pam_sm_authenticate (pam_handle_t *pamh, int flags UNUSED,
     return perform_check(pamh, ctrl, use_group);
 }
 
-PAM_EXTERN int
+int
 pam_sm_setcred (pam_handle_t *pamh UNUSED, int flags UNUSED,
 		int argc UNUSED, const char **argv UNUSED)
 {
     return PAM_SUCCESS;
 }
 
-PAM_EXTERN int
+int
 pam_sm_acct_mgmt (pam_handle_t *pamh, int flags UNUSED,
 		  int argc, const char **argv)
 {
-- 
1.8.5.6

