]> arthur.barton.de Git - netatalk.git/blobdiff - etc/afpd/auth.c
Changes made by Michel Jouvin - jouvin@lal.in2p3.fr - 23/11/2000
[netatalk.git] / etc / afpd / auth.c
index f8d9575615b3abc7229ea5e9893913f6a1e70c14..a163d57bea5023b9b71ea5d4219aebcc2b351b00 100644 (file)
@@ -150,7 +150,7 @@ static int login(AFPObj *obj, struct passwd *pwd, void (*logout)(void))
 #endif ADMIN_GRP
 
     /* UAM had syslog control; afpd needs to reassert itself */
-    openlog( "afpd", LOG_NDELAY|LOG_PID, LOG_LOCAL0);
+    openlog( "afpd", LOG_NDELAY|LOG_PID, LOG_DAEMON);
 
     if ( pwd->pw_uid == 0 ) {  /* don't allow root login */
        syslog( LOG_ERR, "login: root login denied!" );
@@ -199,7 +199,7 @@ static int login(AFPObj *obj, struct passwd *pwd, void (*logout)(void))
            if (groups[i] == options->admingid) admin = 1;
         }
     }
-    if (admin) syslog( LOG_INFO, "login: admin -- %s", pwd->pw_name );
+    if (admin) syslog( LOG_INFO, "admin login -- %s", pwd->pw_name );
     if (!admin)
 #endif
        if (setegid( pwd->pw_gid ) < 0 || seteuid( pwd->pw_uid ) < 0) {
@@ -218,6 +218,7 @@ static int login(AFPObj *obj, struct passwd *pwd, void (*logout)(void))
 
     afp_switch = postauth_switch;
     obj->logout = logout;
+
     return( AFP_OK );
 }
 
@@ -255,7 +256,7 @@ int afp_login(obj, ibuf, ibuflen, rbuf, rbuflen )
     i = afp_uam->u.uam_login.login(obj, &pwd, ibuf, ibuflen, rbuf, rbuflen);
     if (i || !pwd) 
       return send_reply(obj, i);
-      
+
     return send_reply(obj, login(obj, pwd, afp_uam->u.uam_login.logout));
 }
 
@@ -454,9 +455,19 @@ int auth_load(const char *path, const char *list)
 
   while (p) {
     strncpy(name + len, p, sizeof(name) - len);
+    syslog(LOG_DEBUG, "uam : Loading (%s)", name);
+    /*
     if ((stat(name, &st) == 0) && (mod = uam_load(name, p))) {
-      uam_attach(&uam_modules, mod);
-      syslog(LOG_INFO, "uam: %s loaded", p);
+    */
+    if (stat(name, &st) == 0) {
+      if (mod = uam_load(name, p)) {
+       uam_attach(&uam_modules, mod);
+       syslog(LOG_INFO, "uam: %s loaded", p);
+      } else {
+       syslog(LOG_INFO, "uam: %s load failure",p);
+      }
+    } else {
+      syslog(LOG_INFO, "uam: uam not found (status=%d)", stat(name, &st));
     }
     p = strtok(NULL, ",");
   }