From 99312621ae38ad326d4515fa596e8fe6c3a2ac50 Mon Sep 17 00:00:00 2001 From: Rob Swindell <rob@synchro.net> Date: Thu, 24 Feb 2022 23:56:33 -0800 Subject: [PATCH] Add/use new text.dat strings for received Fido and Internet mail - InternetMailReceived - InternetMailForwarded - FidoNetMailReceived - WithAttachment - FidoEchoMailReceived For The Millionaire, closing issue #254 The first string (suppressed with %.0s) is an optional date/time stamp. This also deprecates (removes support for) the [mail] NewMailNotice and ForwardNotice keys from sbbs.ini. --- src/sbbs3/mailsrvr.c | 4 ++-- src/sbbs3/mailsrvr.h | 2 -- src/sbbs3/sbbs_ini.c | 11 ----------- src/sbbs3/sbbsecho.c | 17 ++++++++++------- src/sbbs3/text.h | 5 +++++ src/sbbs3/text_defaults.c | 9 +++++++++ 6 files changed, 26 insertions(+), 22 deletions(-) diff --git a/src/sbbs3/mailsrvr.c b/src/sbbs3/mailsrvr.c index 236e8a1b40..d71ef612a5 100644 --- a/src/sbbs3/mailsrvr.c +++ b/src/sbbs3/mailsrvr.c @@ -4008,13 +4008,13 @@ static void smtp_thread(void* arg) p++; } safe_snprintf(str,sizeof(str) - ,startup->newmail_notice + ,text[InternetMailReceived] ,timestr(&scfg,newmsg.hdr.when_imported.time,tmp) ,sender, p); if(newmsg.hdr.auxattr&MSG_HFIELDS_UTF8) utf8_to_cp437_inplace(str); if(!newmsg.idx.to) /* Forwarding */ - sprintf(str+strlen(str), startup->forward_notice, rcpt_addr); + sprintf(str+strlen(str), text[InternetMailForwarded], rcpt_addr); putsmsg(&scfg, usernum, str); } } diff --git a/src/sbbs3/mailsrvr.h b/src/sbbs3/mailsrvr.h index bae8098e76..8076ef2a61 100644 --- a/src/sbbs3/mailsrvr.h +++ b/src/sbbs3/mailsrvr.h @@ -87,8 +87,6 @@ typedef struct { char inbound_sound[INI_MAX_VALUE_LEN]; char outbound_sound[INI_MAX_VALUE_LEN]; char pop3_sound[INI_MAX_VALUE_LEN]; - char newmail_notice[INI_MAX_VALUE_LEN]; - char forward_notice[INI_MAX_VALUE_LEN]; /* Misc */ char host_name[128]; diff --git a/src/sbbs3/sbbs_ini.c b/src/sbbs3/sbbs_ini.c index fde3b492c3..70aadd65dd 100644 --- a/src/sbbs3/sbbs_ini.c +++ b/src/sbbs3/sbbs_ini.c @@ -609,11 +609,6 @@ void sbbs_read_ini( ,iniGetString(list,section,"OutboundSound",nulstr,value)); sbbs_get_sound_settings(list, section, &mail->sound, &global->sound); - SAFECOPY(mail->newmail_notice - ,iniGetString(list,section,"NewMailNotice","%.0s\1n\1mNew e-mail from \1h%s \1n<\1h%s\1n>\r\n", value)); - SAFECOPY(mail->forward_notice - ,iniGetString(list,section,"ForwardNotice","\1n\1mand it was automatically forwarded to: \1h%s\1n\r\n", value)); - /* JavaScript Operating Parameters */ sbbs_get_js_settings(list, section, &mail->js, &global->js); @@ -1126,12 +1121,6 @@ BOOL sbbs_write_ini( if(!sbbs_set_sound_settings(lp, section, &mail->sound, &global->sound, &style)) break; -#if 0 - if(!iniSetStringLiteral(lp,section,"NewMailNotice",mail->newmail_notice,&style)) - break; - if(!iniSetStringLiteral(lp,section,"ForwardNotice",mail->forward_notice,&style)) - break; -#endif /* JavaScript Operating Parameters */ if(!sbbs_set_js_settings(lp,section,&mail->js,&global->js,&style)) break; diff --git a/src/sbbs3/sbbsecho.c b/src/sbbs3/sbbsecho.c index e8a2522143..c655707b7e 100644 --- a/src/sbbs3/sbbsecho.c +++ b/src/sbbs3/sbbsecho.c @@ -54,6 +54,7 @@ #include "msg_id.h" #include "scfgsave.h" #include "getmail.h" +#include "text.h" #include "git_branch.h" #include "git_hash.h" @@ -95,6 +96,7 @@ fidoaddr_t sys_faddr = {1,1,1,0}; /* Default system address: 1:1/1.0 */ sbbsecho_cfg_t cfg; scfg_t scfg; char compiler[32]; +char* text[TOTAL_TEXT]; bool pause_on_exit=false; bool pause_on_abend=false; @@ -4538,10 +4540,10 @@ int import_netmail(const char* path, const fmsghdr_t* inhdr, FILE* fp, const cha addr.net=hdr.orignet; addr.node=hdr.orignode; addr.point=hdr.origpoint; - safe_snprintf(str, sizeof(str), "\7\1n\1hSBBSecho: \1m%.*s \1n\1msent you NetMail%s from \1h%s\1n\r\n" - ,FIDO_NAME_LEN-1 + safe_snprintf(str, sizeof(str), text[FidoNetMailReceived] + ,timestr(&scfg, time32(NULL), tmp) ,hdr.from - ,hdr.attr&FIDO_FILE ? " with attachment" : "" + ,hdr.attr&FIDO_FILE ? text[WithAttachment] : "" ,smb_faddrtoa(&addr,NULL)); putsmsg(&scfg,usernumber,str); } @@ -5989,9 +5991,10 @@ void import_packets(const char* inbound, nodecfg_t* inbox, bool secure) if(i!=cfg.badecho && cfg.echomail_notify && (user.number=lookup_user(&scfg, &user_list, hdr.to))!=0 && getuserdat(&scfg, &user)==0 && can_user_read_sub(&scfg, cfg.area[i].sub, &user, NULL)) { - sprintf(str - ,"\7\1n\1hSBBSecho: \1m%.*s \1n\1msent you EchoMail on \1h%s \1n\1m%s\1n\r\n" - ,FIDO_NAME_LEN-1 + char tmp[128]; + safe_snprintf(str, sizeof(str) + ,text[FidoEchoMailReceived] + ,timestr(&scfg, time32(NULL), tmp) ,hdr.from ,scfg.grp[scfg.sub[cfg.area[i].sub]->grp]->sname ,scfg.sub[cfg.area[i].sub]->sname); @@ -6217,7 +6220,7 @@ int main(int argc, char **argv) printf("\nLoading configuration files from %s\n", scfg.ctrl_dir); scfg.size=sizeof(scfg); SAFECOPY(str,UNKNOWN_LOAD_ERROR); - if(!load_cfg(&scfg, /* text: */NULL, /* prep: */true, /* node: */false, str, sizeof(str))) { + if(!load_cfg(&scfg, text, /* prep: */true, /* node: */false, str, sizeof(str))) { fprintf(stderr,"!ERROR %s\n",str); fprintf(stderr,"!Failed to load configuration files\n"); bail(1); diff --git a/src/sbbs3/text.h b/src/sbbs3/text.h index 247a6af3d5..0997856741 100644 --- a/src/sbbs3/text.h +++ b/src/sbbs3/text.h @@ -866,6 +866,11 @@ enum { ,AllKey ,All ,ListKey + ,InternetMailReceived + ,InternetMailForwarded + ,FidoNetMailReceived + ,WithAttachment + ,FidoEchoMailReceived ,TOTAL_TEXT }; diff --git a/src/sbbs3/text_defaults.c b/src/sbbs3/text_defaults.c index aa96f7fb0a..0765cc493c 100644 --- a/src/sbbs3/text_defaults.c +++ b/src/sbbs3/text_defaults.c @@ -1404,4 +1404,13 @@ const char * const text_defaults[TOTAL_TEXT]={ ,"\x41" // 853 AllKey ,"\x41\x6c\x6c" // 854 All ,"\x4c" // 855 ListKey + ,"\x25\x2e\x30\x73\x01\x6e\x01\x6d\x49\x6e\x74\x65\x72\x6e\x65\x74\x20\x65\x2d\x6d\x61\x69\x6c\x20\x66\x72\x6f\x6d\x20\x01\x68\x25" + "\x73\x20\x01\x6e\x3c\x01\x68\x25\x73\x01\x6e\x3e\x0d\x0a" // 856 InternetMailReceived + ,"\x01\x6e\x01\x6d\x61\x6e\x64\x20\x69\x74\x20\x77\x61\x73\x20\x61\x75\x74\x6f\x6d\x61\x74\x69\x63\x61\x6c\x6c\x79\x20\x66\x6f\x72" + "\x77\x61\x72\x64\x65\x64\x20\x74\x6f\x3a\x20\x01\x68\x25\x73\x01\x6e\x0d\x0a" // 857 InternetMailForwarded + ,"\x25\x2e\x30\x73\x01\x6e\x01\x68\x01\x6d\x25\x73\x20\x01\x6e\x01\x6d\x73\x65\x6e\x74\x20\x79\x6f\x75\x20\x4e\x65\x74\x4d\x61\x69" + "\x6c\x25\x73\x20\x66\x72\x6f\x6d\x20\x01\x68\x25\x73\x01\x6e\x0d\x0a" // 858 FidoNetMailReceived + ,"\x20\x77\x69\x74\x68\x20\x61\x74\x74\x61\x63\x68\x6d\x65\x6e\x74" // 859 WithAttachment + ,"\x25\x2e\x30\x73\x01\x6e\x01\x68\x01\x6d\x25\x73\x20\x01\x6e\x01\x6d\x73\x65\x6e\x74\x20\x79\x6f\x75\x20\x45\x63\x68\x6f\x4d\x61" + "\x69\x6c\x20\x6f\x6e\x20\x01\x68\x25\x73\x20\x01\x6e\x01\x6d\x25\x73\x01\x6e\x0d\x0a" // 860 FidoEchoMailReceived }; -- GitLab