]> 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 ce802a99dafbf6b507a4bc9983d28f17f1c8836b..a163d57bea5023b9b71ea5d4219aebcc2b351b00 100644 (file)
@@ -190,14 +190,16 @@ static int login(AFPObj *obj, struct passwd *pwd, void (*logout)(void))
        return AFPERR_BADUAM;
     }
 #ifdef ADMIN_GRP
-    syslog(LOG_DEBUG, "options->admingid == %d", options->admingid);
+#ifdef DEBUG
+    syslog(LOG_INFO, "options->admingid == %d", options->admingid);
+#endif DEBUG
     if (options->admingid != 0) {
        int i;
        for (i = 0; i < ngroups; i++) {
            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) {
@@ -216,6 +218,7 @@ static int login(AFPObj *obj, struct passwd *pwd, void (*logout)(void))
 
     afp_switch = postauth_switch;
     obj->logout = logout;
+
     return( AFP_OK );
 }
 
@@ -253,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));
 }
 
@@ -452,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, ",");
   }