Backport to wheezy
[hcoop/debian/courier-authlib.git] / preauthuserdbcommon.c
index 67c7643..6c29778 100644 (file)
@@ -19,7 +19,6 @@
 #include       "courierauthdebug.h"
 #include       "userdb/userdb.h"
 
-static const char rcsid[]="$Id: preauthuserdbcommon.c,v 1.21 2006/10/28 19:22:52 mrsam Exp $";
 
 #define TOKEN_CMD "/etc/courier/get-token "
 
@@ -108,16 +107,12 @@ int       rc;
        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;
-          if (&udb->udb_uid)
+          if (auth.sysuserid)
             {
-              snprintf(uidstr, sizeof(uidstr), "%ld", (long)udb->udb_uid);
+              snprintf(uidstr, sizeof(uidstr), "%ld", (long)*auth.sysuserid);
               if ((token_cmd=malloc(sizeof(TOKEN_CMD)+strlen(uidstr))))
                 {
                   strcat(strcpy(token_cmd, TOKEN_CMD),uidstr);
@@ -127,6 +122,9 @@ int rc;
             }
         }
 
+       courier_authdebug_authinfo("DEBUG: authuserdb: ", &auth, 0, passwords);
+       rc= (*callback)(&auth, arg);
+       if (passwords)  free(passwords);
        userdb_frees(udb);
        return (rc);
 }