/* 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;
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;