]> granicus.if.org Git - linux-pam/commitdiff
Relevant BUGIDs: 127561
authorAndrew G. Morgan <morgan@kernel.org>
Sun, 21 Jan 2001 23:25:40 +0000 (23:25 +0000)
committerAndrew G. Morgan <morgan@kernel.org>
Sun, 21 Jan 2001 23:25:40 +0000 (23:25 +0000)
Purpose of commit: bugfix

Commit summary:
---------------
non-default config file option fixes (module and in documentation).

CHANGELOG
doc/modules/pam_access.sgml
modules/pam_access/pam_access.c

index 4507d587db47c0c2efeb4a4e5ee026f64a7709b6..1a234b51083ffbfa207fbfc072ab2ed966112eca 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -35,6 +35,8 @@ Where you should replace XXXXX with a bug-id.
 0.74: please submit patches for this section with actual code/doc
       patches!
 
+* pam_access - fixed the non-default config file option (Bug 127561 -
+  agmorgan)
 * pam.8 manual page clarified with respect to the default location for
   finding modules, also added some text describing the [...] control
   syntax. (Bug 127625 - agmorgan)
index d6f317bd7b2b7b2a77b7be00934ccf46a1e1a797..00c7ea169d002dace61c6f41e0c89570462f8518 100644 (file)
@@ -59,7 +59,7 @@ Provides logdaemon style login access control.
 
 <tag><bf>Recognized arguments:</bf></tag>
 
-<tt>accessconf=<it>/path/to/file.conf</it></tt>
+<tt>accessfile=<it>/path/to/file.conf</it></tt>
 
 <tag><bf>Description:</bf></tag>
 
@@ -75,7 +75,7 @@ The behavior of this module can be modified with the following
 arguments: 
 <itemize> 
  
-<item><tt>accessconf=/path/to/file.conf</tt> - 
+<item><tt>accessfile=/path/to/file.conf</tt> - 
 indicate an alternative <em/access/ configuration file to override 
 the default. This can be useful when different services need different 
 access lists. 
index 384f1e0ac4d2a877e7a6d139b4380819813c1455..87ad708d81ed3f85e452bd7e7cd3801e50500085 100644 (file)
@@ -160,12 +160,12 @@ static int login_access(struct login_info *item)
 {
     FILE   *fp;
     char    line[BUFSIZ];
-    char   *perm;                      /* becomes permission field */
-    char   *users;                     /* becomes list of login names */
-    char   *froms;                     /* becomes list of terminals or hosts */
+    char   *perm;              /* becomes permission field */
+    char   *users;             /* becomes list of login names */
+    char   *froms;             /* becomes list of terminals or hosts */
     int     match = NO;
     int     end;
-    int     lineno = 0;                        /* for diagnostics */
+    int     lineno = 0;                /* for diagnostics */
 
     /*
      * Process the table one line at a time and stop at the first match.
@@ -175,12 +175,12 @@ static int login_access(struct login_info *item)
      * non-existing table means no access control.
      */
 
-    if ((fp = fopen(PAM_ACCESS_CONFIG, "r"))!=NULL) {
+    if ((fp = fopen(item->config_file, "r"))!=NULL) {
        while (!match && fgets(line, sizeof(line), fp)) {
            lineno++;
            if (line[end = strlen(line) - 1] != '\n') {
                _log_err("%s: line %d: missing newline or line too long",
-                      PAM_ACCESS_CONFIG, lineno);
+                      item->config_file, lineno);
                continue;
            }
            if (line[0] == '#')
@@ -194,11 +194,13 @@ static int login_access(struct login_info *item)
                || !(users = strtok((char *) 0, fs))
                || !(froms = strtok((char *) 0, fs))
                || strtok((char *) 0, fs)) {
-               _log_err("%s: line %d: bad field count", PAM_ACCESS_CONFIG, lineno);
+               _log_err("%s: line %d: bad field count",
+                        item->config_file, lineno);
                continue;
            }
            if (perm[0] != '+' && perm[0] != '-') {
-               _log_err("%s: line %d: bad first field", PAM_ACCESS_CONFIG, lineno);
+               _log_err("%s: line %d: bad first field",
+                        item->config_file, lineno);
                continue;
            }
            match = (list_match(froms, item, from_match)
@@ -206,7 +208,7 @@ static int login_access(struct login_info *item)
        }
        (void) fclose(fp);
     } else if (errno != ENOENT) {
-       _log_err("cannot open %s: %m", PAM_ACCESS_CONFIG);
+       _log_err("cannot open %s: %m", item->config_file);
     }
     return (match == 0 || (line[0] == '+'));
 }
@@ -450,7 +452,7 @@ PAM_EXTERN int pam_sm_acct_mgmt(pam_handle_t *pamh,int flags,int argc
     if ((user_pw=getpwnam(user))==NULL) return (PAM_USER_UNKNOWN);
 
     /*
-     * Bundle up the arguments to avoid unnecessary clumsiness lateron.
+     * Bundle up the arguments to avoid unnecessary clumsiness later on.
      */
     loginfo.user = user_pw;
     loginfo.from = from;