From: Art Cancro Date: Wed, 14 Jan 2009 03:00:18 +0000 (+0000) Subject: * In host auth mode, if a user logs in who has no gecos configured, use the login... X-Git-Tag: v7.86~1610 X-Git-Url: https://code.citadel.org/?p=citadel.git;a=commitdiff_plain;h=97df7bf88914415081e5f13a42cdba63fbae0ab8 * In host auth mode, if a user logs in who has no gecos configured, use the login name instead. This resolves bug #439. --- diff --git a/citadel/modules/vcard/serv_vcard.c b/citadel/modules/vcard/serv_vcard.c index 02681b021..899199b68 100644 --- a/citadel/modules/vcard/serv_vcard.c +++ b/citadel/modules/vcard/serv_vcard.c @@ -997,8 +997,9 @@ void vcard_newuser(struct ctdluser *usbuf) { #ifdef SOLARIS_GETPWUID if (getpwuid_r(usbuf->uid, &pwd, pwd_buffer, sizeof pwd_buffer) != NULL) { #else // SOLARIS_GETPWUID - struct passwd **result = NULL; - if (getpwuid_r(usbuf->uid, &pwd, pwd_buffer, sizeof pwd_buffer, result) == 0) { + struct passwd *result = NULL; + CtdlLogPrintf(CTDL_DEBUG, "Searching for uid %d\n", usbuf->uid); + if (getpwuid_r(usbuf->uid, &pwd, pwd_buffer, sizeof pwd_buffer, &result) == 0) { #endif // HAVE_GETPWUID_R snprintf(buf, sizeof buf, "%s@%s", pwd.pw_name, config.c_fqdn); vcard_add_prop(v, "email;internet", buf); diff --git a/citadel/user_ops.c b/citadel/user_ops.c index 894548cab..9c0952cce 100644 --- a/citadel/user_ops.c +++ b/citadel/user_ops.c @@ -1062,14 +1062,7 @@ int create_user(char *newusername, int become_user) uid = pd.pw_uid; if (IsEmptyStr (username)) { - CtdlLogPrintf (CTDL_EMERG, - "Can't find Realname for user %s [%d] in the Host Auth Database; giving up.\n", - newusername, pd.pw_uid); - snprintf(buf, SIZ, - "Can't find Realname for user %s [%d] in the Host Auth Database; giving up.\n", - newusername, pd.pw_uid); - aide_message(buf, "User Creation Failure Notice"); - + safestrncpy(username, pd.pw_name, sizeof username); } } else {