diff --git a/src/sbbs3/atcodes.cpp b/src/sbbs3/atcodes.cpp index bbef715a31032cc9138f89af2989ee2dfc6f5e63..e986ea7e95b4d61a8348bb98687e02388441be74 100644 --- a/src/sbbs3/atcodes.cpp +++ b/src/sbbs3/atcodes.cpp @@ -536,7 +536,7 @@ const char* sbbs_t::atcode(char* sp, char* str, size_t maxlen, long* pmode, bool if(!strcmp(sp,"EMAILADDR")) return(usermailaddr(&cfg, str - ,cfg.inetmail_misc&NMAIL_ALIAS ? useron.alias : useron.name)); + ,(cfg.inetmail_misc&NMAIL_ALIAS) || (useron.rest&FLAG('O')) ? useron.alias : useron.name)); if(strcmp(sp, "NETMAIL") == 0) return useron.netmail; diff --git a/src/sbbs3/js_user.c b/src/sbbs3/js_user.c index fc3ab8c314c394c2e4747fa4d2f8eeee66f9d5e7..4ad482bd1075f33d68444518b64a7f933423f7f9 100644 --- a/src/sbbs3/js_user.c +++ b/src/sbbs3/js_user.c @@ -181,7 +181,7 @@ static JSBool js_user_get(JSContext *cx, JSObject *obj, jsid id, jsval *vp) break; case USER_PROP_EMAIL: s=usermailaddr(scfg, tmp - ,scfg->inetmail_misc&NMAIL_ALIAS ? p->user->alias : p->user->name); + ,(scfg->inetmail_misc&NMAIL_ALIAS) || (p->user->rest&FLAG('O')) ? p->user->alias : p->user->name); break; case USER_PROP_ADDRESS: s=p->user->address; diff --git a/src/sbbs3/netmail.cpp b/src/sbbs3/netmail.cpp index dfd4ca7ae5c417ddb66dac15a89107f82ccd30c3..095c7bf26e1ab24e87be82783e69084264725551 100644 --- a/src/sbbs3/netmail.cpp +++ b/src/sbbs3/netmail.cpp @@ -154,7 +154,7 @@ bool sbbs_t::netmail(const char *into, const char *title, long mode, smb_t* resm truncsp(to); /* Truncate off space */ - SAFECOPY(from, cfg.netmail_misc&NMAIL_ALIAS ? useron.alias : useron.name); + SAFECOPY(from, (cfg.netmail_misc&NMAIL_ALIAS) || (useron.rest&FLAG('O')) ? useron.alias : useron.name); /* Look-up in nodelist? */ @@ -620,7 +620,7 @@ void sbbs_t::qwktonetmail(FILE *rep, char *block, char *into, uchar fromhub) smb_hfield(&msg,RECIPIENTNETADDR,strlen(to),to); bprintf(text[NetMailing],name,to - ,cfg.inetmail_misc&NMAIL_ALIAS ? useron.alias : useron.name + ,(cfg.inetmail_misc&NMAIL_ALIAS) || (useron.rest&FLAG('O')) ? useron.alias : useron.name ,cfg.sys_inetaddr); } @@ -770,7 +770,7 @@ void sbbs_t::qwktonetmail(FILE *rep, char *block, char *into, uchar fromhub) strcat(str,tmp); } else - SAFECOPY(str,cfg.netmail_misc&NMAIL_ALIAS ? useron.alias : useron.name); + SAFECOPY(str,(cfg.netmail_misc&NMAIL_ALIAS) || (useron.rest&FLAG('O')) ? useron.alias : useron.name); SAFECOPY(hdr.from,str); SAFECOPY(hdr.to,to); @@ -992,7 +992,7 @@ bool sbbs_t::inetmail(const char *into, const char *subj, long mode, smb_t* resm /* Get this user's Internet mailing address */ usermailaddr(&cfg,your_addr - ,cfg.inetmail_misc&NMAIL_ALIAS ? useron.alias : useron.name); + ,(cfg.inetmail_misc&NMAIL_ALIAS) || (useron.rest&FLAG('O')) ? useron.alias : useron.name); if(rcpt_count > 1) { /* remove "self" from reply-all list */ int found = strListFind(rcpt_list, your_addr, /* case_sensitive */FALSE); @@ -1141,7 +1141,7 @@ bool sbbs_t::inetmail(const char *into, const char *subj, long mode, smb_t* resm if(rcpt_count > 1) smb_hfield_str(&msg, RECIPIENTLIST, to_list); - smb_hfield_str(&msg,SENDER,cfg.inetmail_misc&NMAIL_ALIAS ? useron.alias : useron.name); + smb_hfield_str(&msg,SENDER,(cfg.inetmail_misc&NMAIL_ALIAS) || (useron.rest&FLAG('O')) ? useron.alias : useron.name); SAFEPRINTF(str,"%u",useron.number); smb_hfield_str(&msg,SENDEREXT,str); diff --git a/src/sbbs3/newuser.cpp b/src/sbbs3/newuser.cpp index b0518765fbf925af44a59651859e30471ca087c9..9b4c60ecbd31d16a97ed609641e2ef8df82a8f6e 100644 --- a/src/sbbs3/newuser.cpp +++ b/src/sbbs3/newuser.cpp @@ -236,7 +236,7 @@ BOOL sbbs_t::newuser() if(!useron.name[0]) SAFECOPY(useron.name,useron.alias); else if(!(cfg.uq&UQ_DUPREAL) && userdatdupe(useron.number,U_NAME,LEN_NAME,useron.name) > 0) - useron.rest |= FLAG('O'); // Can't post using real name (it's a duplicate) + useron.rest |= FLAG('O'); // Can't post or send netmail using real name (it's a duplicate) if(!online) return(FALSE); if(!useron.handle[0]) SAFECOPY(useron.handle,useron.alias); diff --git a/src/sbbs3/scfg/scfgnet.c b/src/sbbs3/scfg/scfgnet.c index 149ed462054a8c64c3c65db432be2259d6074e17..53d4eaa13a211e232166072b4797cbade4c97098 100644 --- a/src/sbbs3/scfg/scfgnet.c +++ b/src/sbbs3/scfg/scfgnet.c @@ -506,6 +506,9 @@ void net_cfg() "contain their alias as the `From User`, set this option to `Yes`. If you\n" "want all NetMail to be sent using users' real names, set this option to\n" "`No`.\n" + "\n" + "Users with the '`O`' restriction flag will always send netmail using\n" + "their alias (their real name is a duplicate of another user account)." ; i=uifc.list(WIN_MID|WIN_SAV,0,0,0,&i,0 ,"Use Aliases in NetMail",uifcYesNoOpts); @@ -752,6 +755,9 @@ void net_cfg() "Internet E-mail contain their alias as the `From User`, set this option to\n" "`Yes`. If you want all E-mail to be sent using users' real names, set this\n" "option to `No`.\n" + "\n" + "Users with the '`O`' restriction flag will always send netmail using\n" + "their alias (their real name is a duplicate of another user account)." ; i=uifc.list(WIN_MID|WIN_SAV,0,0,0,&i,0 ,"Use Aliases in Internet E-mail",uifcYesNoOpts);