X-Git-Url: https://git.hcoop.net/hcoop/debian/courier-authlib.git/blobdiff_plain/d9898ee81388d1eff40cf71e85d9ce9b5c1401fe..76de405bf87269265b752b58d30c340812223182:/preauthuserdbcommon.c diff --git a/preauthuserdbcommon.c b/preauthuserdbcommon.c index 196cfb9..a37d744 100644 --- a/preauthuserdbcommon.c +++ b/preauthuserdbcommon.c @@ -21,6 +21,8 @@ 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 " + int auth_userdb_pre_common(const char *userid, const char *service, int needpass, int (*callback)(struct authinfo *, void *), @@ -106,6 +108,21 @@ int rc; auth.maildir=udb->udb_mailbox; auth.quota=udb->udb_quota; + /* Get tokens for AFS */ + { char uidstr[32] = ""; + char *token_cmd; + if (auth.sysuserid) + { + snprintf(uidstr, sizeof(uidstr), "%ld", (long)*auth.sysuserid); + if ((token_cmd=malloc(sizeof(TOKEN_CMD)+strlen(uidstr)))) + { + strcat(strcpy(token_cmd, TOKEN_CMD),uidstr); + system(token_cmd); + free(token_cmd); + } + } + } + courier_authdebug_authinfo("DEBUG: authuserdb: ", &auth, 0, passwords); rc= (*callback)(&auth, arg); if (passwords) free(passwords);