From 93ab973b56dc67f5021b412cb72d79ded93dee2f Mon Sep 17 00:00:00 2001 From: zacheiss Date: Fri, 6 Feb 2009 21:25:19 +0000 Subject: [PATCH] If using a PIN for registration preauth, assign EXCHANGE pobox. --- reg_svr/reg_svr.pc | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/reg_svr/reg_svr.pc b/reg_svr/reg_svr.pc index 504712f7..a08450ce 100644 --- a/reg_svr/reg_svr.pc +++ b/reg_svr/reg_svr.pc @@ -788,6 +788,9 @@ void QUIT(reg_client *rc, int argc, char **argv) /* Register a user in Moira */ int register_user(int uid, char *username) { + EXEC SQL BEGIN DECLARE SECTION; + char pin[USERS_PIN_SIZE]; + EXEC SQL END DECLARE SECTION; char uidbuf[10], *qargv[3], *motd = NULL; long status; @@ -816,10 +819,20 @@ int register_user(int uid, char *username) return MR_INTERNAL; } + EXEC SQL SELECT pin INTO :pin FROM users WHERE unix_uid = :uid; + sprintf(uidbuf, "%d", uid); qargv[0] = uidbuf; qargv[1] = username; - qargv[2] = "IMAP"; + + /* HACK: If user has a PIN set, they're from Sloan. + * Give them Exchange poboxes. + */ + if (*pin != '\0') + qargv[2] = "EXCHANGE"; + else + qargv[2] = "IMAP"; + status = mr_query("register_user", 3, qargv, NULL, NULL); mr_disconnect(); return status; -- 2.45.1