/* Generate the "full JID" of the client resource */
- snprintf(XMPP->client_jid, sizeof XMPP->client_jid,
- "%s/%s",
- CC->cs_inet_email,
- XMPP->iq_client_resource
- );
-
- /* FIXME look here ... there's nothing before the slash ... wtf?
- syslog(LOG_DEBUG, "\033[31m client resource = '%s' \033[0m", XMPP->client_jid);
- */
+ if (IsEmptyStr(CC->cs_inet_email)) { // synthetic user@host if no email is set
+ snprintf(XMPP->client_jid, sizeof XMPP->client_jid,
+ "%ld@%s/%s", CC->user.usernum, CtdlGetConfigStr("c_fqdn"), XMPP->iq_client_resource
+ );
+ }
+ else { // use the email address if we have it
+ snprintf(XMPP->client_jid, sizeof XMPP->client_jid,
+ "%s/%s", CC->cs_inet_email, XMPP->iq_client_resource
+ );
+ }
/* Tell the client what its JID is */