From 97df7bf88914415081e5f13a42cdba63fbae0ab8 Mon Sep 17 00:00:00 2001 From: Art Cancro Date: Wed, 14 Jan 2009 03:00:18 +0000 Subject: [PATCH] * In host auth mode, if a user logs in who has no gecos configured, use the login name instead. This resolves bug #439. --- citadel/modules/vcard/serv_vcard.c | 5 +++-- citadel/user_ops.c | 9 +-------- 2 files changed, 4 insertions(+), 10 deletions(-) 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 { -- 2.30.2