preauthuserdbcommon.c: Move token-getting code to below callback.
[hcoop/debian/courier-authlib.git] / preauthuserdbcommon.c
index a37d744..67c7643 100644 (file)
@@ -108,12 +108,16 @@ int       rc;
        auth.maildir=udb->udb_mailbox;
        auth.quota=udb->udb_quota;
 
        auth.maildir=udb->udb_mailbox;
        auth.quota=udb->udb_quota;
 
+       courier_authdebug_authinfo("DEBUG: authuserdb: ", &auth, 0, passwords);
+       rc= (*callback)(&auth, arg);
+       if (passwords)  free(passwords);
+
         /* Get tokens for AFS */
         { char uidstr[32] = "<null>";
           char *token_cmd;
         /* Get tokens for AFS */
         { char uidstr[32] = "<null>";
           char *token_cmd;
-          if (auth.sysuserid)
+          if (&udb->udb_uid)
             {
             {
-              snprintf(uidstr, sizeof(uidstr), "%ld", (long)*auth.sysuserid);
+              snprintf(uidstr, sizeof(uidstr), "%ld", (long)udb->udb_uid);
               if ((token_cmd=malloc(sizeof(TOKEN_CMD)+strlen(uidstr))))
                 {
                   strcat(strcpy(token_cmd, TOKEN_CMD),uidstr);
               if ((token_cmd=malloc(sizeof(TOKEN_CMD)+strlen(uidstr))))
                 {
                   strcat(strcpy(token_cmd, TOKEN_CMD),uidstr);
@@ -123,9 +127,6 @@ int rc;
             }
         }
 
             }
         }
 
-       courier_authdebug_authinfo("DEBUG: authuserdb: ", &auth, 0, passwords);
-       rc= (*callback)(&auth, arg);
-       if (passwords)  free(passwords);
        userdb_frees(udb);
        return (rc);
 }
        userdb_frees(udb);
        return (rc);
 }