]> granicus.if.org Git - linux-pam/commitdiff
Relevant BUGIDs: 112906
authorAndrew G. Morgan <morgan@kernel.org>
Sun, 26 Nov 2000 07:40:04 +0000 (07:40 +0000)
committerAndrew G. Morgan <morgan@kernel.org>
Sun, 26 Nov 2000 07:40:04 +0000 (07:40 +0000)
Purpose of commit: bugfix

Commit summary:
---------------
removed static variable from pam_wheel module.

CHANGELOG
modules/pam_wheel/pam_wheel.c

index d574b6ff6a507ebdd339fe6a1de28cd26c0250d8..f6fc84e23abfa18d88fbe0959eb1e43dc2b32c63 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -35,6 +35,8 @@ Where you should replace XXXXX with a bug-id.
 0.73: please submit patches for this section with actual code/doc
       patches!
 
+* removed static variable from pam_wheel (module should be thread safe
+  now). (Bug 112906 - agmorgan)
 * added support for '/' symbols in pam_time and pam_group config files
   (support for modern terminal devices). Fixed infinite loop problem
   with '\\[^\n]' in these files. (Bug 116076 - agmorgan)
index 417fa5b8299841f6648ffd42be1f1ded7328f17c..add72bc43f4876b6133e6572bb3b62930d461392 100644 (file)
@@ -43,9 +43,6 @@
 
 #include <security/pam_modules.h>
 
-/* variables */
-static char use_group[BUFSIZ];
-
 /* some syslogging */
 
 static void _pam_log(int err, const char *format, ...)
@@ -78,7 +75,7 @@ static int is_on_list(char * const *list, const char *member)
 #define PAM_TRUST_ARG       0x0004
 #define PAM_DENY_ARG        0x0010  
 
-static int _pam_parse(int argc, const char **argv)
+static int _pam_parse(int argc, const char **argv, char *use_group)
 {
      int ctrl=0;
 
@@ -118,11 +115,12 @@ int pam_sm_authenticate(pam_handle_t *pamh,int flags,int argc
      struct passwd *pwd, *tpwd;
      struct group *grp;
      int retval = PAM_AUTH_ERR;
+     char use_group[BUFSIZ];
     
      /* Init the optional group */
-     bzero(use_group,sizeof(use_group));
+     bzero(use_group,BUFSIZ);
      
-     ctrl = _pam_parse(argc, argv);
+     ctrl = _pam_parse(argc, argv, use_group);
      retval = pam_get_user(pamh,&username,NULL);
      if ((retval != PAM_SUCCESS) || (!username)) {
         if (ctrl & PAM_DEBUG_ARG)