/*
* Server functions which perform operations on user objects.
*
- * Copyright (c) 1987-2017 by the citadel.org team
+ * Copyright (c) 1987-2018 by the citadel.org team
*
* This program is open source software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License, version 3.
return login_not_found;
}
- /* Locate the associated Citadel account.
- * If not found, make one attempt to create it.
- */
+ /* Locate the associated Citadel account. If not found, make one attempt to create it. */
found_user = getuserbyuid(&CC->user, pd.pw_uid);
if (found_user != 0) {
create_user(username, CREATE_USER_DO_NOT_BECOME_USER, pd.pw_uid);
CC->user.axlevel = AxAideU;
}
- /* If we're authenticating off the host system, automatically give
- * root the highest level of access.
- */
+ /* If we're authenticating off the host system, automatically give root the highest level of access. */
if (CtdlGetConfigInt("c_auth_mode") == AUTHMODE_HOST) {
if (CC->user.uid == 0) {
CC->user.axlevel = AxAideU;
}
CtdlPutUserLock(&CC->user);
- /*
- * If we are using LDAP authentication, extract the user's email addresses from the directory.
- */
+ /* If we are using LDAP authentication, extract the user's email addresses from the directory. */
#ifdef HAVE_LDAP
if ((CtdlGetConfigInt("c_auth_mode") == AUTHMODE_LDAP) || (CtdlGetConfigInt("c_auth_mode") == AUTHMODE_LDAP_AD)) {
char new_emailaddrs[512];
}
#endif
- /*
- * No email address for user? Make one up. (Apparently this broke something in the past. What was it?)
- */
+ /* If the user does not have any email addresses assigned, generate one. */
if (IsEmptyStr(CC->user.emailaddrs)) {
- sprintf(CC->user.emailaddrs, "cit%ld@%s", CC->user.usernum, CtdlGetConfigStr("c_fqdn"));
+ AutoGenerateEmailAddressForUser(&CC->user);
}
/*
strcpy(CCC->fake_roomname, "");
CCC->logged_in = 0;
- /* Check to see if the user was deleted whilst logged in and purge them if necessary */
+ /* Check to see if the user was deleted while logged in and purge them if necessary */
if ((CCC->user.axlevel == AxDeleted) && (CCC->user.usernum)) {
purge_user(CCC->user.fullname);
}
makeuserkey(usernamekey, pname, cutuserkey(pname));
/* If the name is empty we can't find them in the DB any way so just return */
- if (IsEmptyStr(pname))
+ if (IsEmptyStr(pname)) {
return(ERROR + NO_SUCH_USER);
+ }
if (CtdlGetUser(&usbuf, pname) != 0) {
syslog(LOG_ERR, "user_ops: cannot purge user <%s> - not found", pname);