+
+ /* If using host auth mode, we add an email address based on the login */
+ if (config.c_auth_mode == AUTHMODE_HOST) {
+ struct passwd pwd;
+ struct passwd **result;
+ char pwd_buffer[SIZ];
+
+ if (getpwuid_r(usbuf->uid, &pwd, pwd_buffer, sizeof pwd_buffer, result) == 0) {
+ snprintf(buf, sizeof buf, "%s@%s", pwd.pw_name, config.c_fqdn);
+ vcard_add_prop(v, "email;internet", buf);
+ }
+ }
+
+ /* Everyone gets an email address based on their display name */
+ snprintf(buf, sizeof buf, "%s@%s", usbuf->fullname, config.c_fqdn);
+ for (i=0; buf[i]; ++i) {
+ if (buf[i] == ' ') buf[i] = '_';
+ }