From 2349daec052842b97b628afedf989440013d51fd Mon Sep 17 00:00:00 2001 From: "Rob Swindell (on Windows 11)" <rob@synchro.net> Date: Sat, 16 Mar 2024 20:02:04 -0700 Subject: [PATCH] Rename SMB message header 'netattr' bit flags to NETMSG_* This resolves the conflict with MSG_HOLD definition in socket.h on MacOS: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/socket.h And hey... [NET]MSG_HOLD isn't actually used anywhere? What's up with that. --- src/sbbs3/atcodes.cpp | 16 ++++++++-------- src/sbbs3/chksmb.c | 2 +- src/sbbs3/fixsmb.c | 4 ++-- src/sbbs3/getmsg.cpp | 16 ++++++++-------- src/sbbs3/mailsrvr.c | 18 +++++++++--------- src/sbbs3/netmail.cpp | 16 ++++++++-------- src/sbbs3/sbbsecho.c | 14 +++++++------- src/smblib/smbdefs.h | 16 ++++++++-------- src/smblib/smbstr.c | 18 ++++++++++-------- 9 files changed, 61 insertions(+), 59 deletions(-) diff --git a/src/sbbs3/atcodes.cpp b/src/sbbs3/atcodes.cpp index 5c5ef9b3ca..086cb2fe82 100644 --- a/src/sbbs3/atcodes.cpp +++ b/src/sbbs3/atcodes.cpp @@ -2040,14 +2040,14 @@ const char* sbbs_t::atcode(const char* sp, char* str, size_t maxlen, int* pmode, } if(!strcmp(sp,"MSG_NETATTR") && current_msg!=NULL) { safe_snprintf(str,maxlen,"%s%s%s%s%s%s%s%s" - ,current_msg->hdr.netattr&MSG_LOCAL ? "Local " :nulstr - ,current_msg->hdr.netattr&MSG_INTRANSIT ? "InTransit " :nulstr - ,current_msg->hdr.netattr&MSG_SENT ? "Sent " :nulstr - ,current_msg->hdr.netattr&MSG_KILLSENT ? "KillSent " :nulstr - ,current_msg->hdr.netattr&MSG_HOLD ? "Hold " :nulstr - ,current_msg->hdr.netattr&MSG_CRASH ? "Crash " :nulstr - ,current_msg->hdr.netattr&MSG_IMMEDIATE ? "Immediate " :nulstr - ,current_msg->hdr.netattr&MSG_DIRECT ? "Direct " :nulstr + ,current_msg->hdr.netattr&NETMSG_LOCAL ? "Local " :nulstr + ,current_msg->hdr.netattr&NETMSG_INTRANSIT ? "InTransit " :nulstr + ,current_msg->hdr.netattr&NETMSG_SENT ? "Sent " :nulstr + ,current_msg->hdr.netattr&NETMSG_KILLSENT ? "KillSent " :nulstr + ,current_msg->hdr.netattr&NETMSG_HOLD ? "Hold " :nulstr + ,current_msg->hdr.netattr&NETMSG_CRASH ? "Crash " :nulstr + ,current_msg->hdr.netattr&NETMSG_IMMEDIATE ? "Immediate " :nulstr + ,current_msg->hdr.netattr&NETMSG_DIRECT ? "Direct " :nulstr ); return(str); } diff --git a/src/sbbs3/chksmb.c b/src/sbbs3/chksmb.c index 1853b1aba6..ad338389f4 100644 --- a/src/sbbs3/chksmb.c +++ b/src/sbbs3/chksmb.c @@ -640,7 +640,7 @@ int main(int argc, char **argv) ,smb_name_crc(msg.to),msg.idx.to); tocrc++; } - if(msg.hdr.netattr&MSG_INTRANSIT) { + if(msg.hdr.netattr&NETMSG_INTRANSIT) { fprintf(stderr,"%sIn transit\n",beep); msgerr=TRUE; if(extinfo) diff --git a/src/sbbs3/fixsmb.c b/src/sbbs3/fixsmb.c index dd3a18e3c6..f537446cf3 100644 --- a/src/sbbs3/fixsmb.c +++ b/src/sbbs3/fixsmb.c @@ -270,9 +270,9 @@ int fixsmb(char* sub) msg.idx_offset=n; if(msg.hdr.number > highest) highest = msg.hdr.number; - if(msg.hdr.netattr&MSG_INTRANSIT) { + if(msg.hdr.netattr&NETMSG_INTRANSIT) { printf("Removing 'in transit' attribute\n"); - msg.hdr.netattr&=~MSG_INTRANSIT; + msg.hdr.netattr&=~NETMSG_INTRANSIT; } if((i=smb_putmsg(&smb,&msg))!=0) { printf("\nsmb_putmsg returned %d: %s\n",i,smb.last_error); diff --git a/src/sbbs3/getmsg.cpp b/src/sbbs3/getmsg.cpp index c81fc2864a..063c20d84f 100644 --- a/src/sbbs3/getmsg.cpp +++ b/src/sbbs3/getmsg.cpp @@ -113,14 +113,14 @@ void sbbs_t::show_msgattr(const smbmsg_t* msg) char netattr_str[64]; safe_snprintf(netattr_str, sizeof(netattr_str), "%s%s%s%s%s%s%s%s" - ,netattr&MSG_LOCAL ? "Local " :nulstr - ,netattr&MSG_INTRANSIT ? "InTransit " :nulstr - ,netattr&MSG_SENT ? "Sent " :nulstr - ,netattr&MSG_KILLSENT ? "KillSent " :nulstr - ,netattr&MSG_HOLD ? "Hold " :nulstr - ,netattr&MSG_CRASH ? "Crash " :nulstr - ,netattr&MSG_IMMEDIATE ? "Immediate " :nulstr - ,netattr&MSG_DIRECT ? "Direct " :nulstr + ,netattr&NETMSG_LOCAL ? "Local " :nulstr + ,netattr&NETMSG_INTRANSIT ? "InTransit " :nulstr + ,netattr&NETMSG_SENT ? "Sent " :nulstr + ,netattr&NETMSG_KILLSENT ? "KillSent " :nulstr + ,netattr&NETMSG_HOLD ? "Hold " :nulstr + ,netattr&NETMSG_CRASH ? "Crash " :nulstr + ,netattr&NETMSG_IMMEDIATE ? "Immediate " :nulstr + ,netattr&NETMSG_DIRECT ? "Direct " :nulstr ); bprintf(text[MsgAttr], attr_str, auxattr_str, netattr_str diff --git a/src/sbbs3/mailsrvr.c b/src/sbbs3/mailsrvr.c index 5c4ccd2cea..11abdcf8b3 100644 --- a/src/sbbs3/mailsrvr.c +++ b/src/sbbs3/mailsrvr.c @@ -3799,7 +3799,7 @@ static bool smtp_client_thread(smtp_t* smtp) i=savemsg(&scfg, &smb, &msg, &client, server_host_name(), msgbuf, /* remsg: */NULL); if(smb_countattachments(&smb, &msg, msgbuf) > 0) msg.hdr.auxattr |= MSG_MIMEATTACH; - msg.hdr.netattr |= MSG_KILLSENT; + msg.hdr.netattr |= NETMSG_KILLSENT; free(msgbuf); if(i!=SMB_SUCCESS) { smb_close(&smb); @@ -3872,7 +3872,7 @@ static bool smtp_client_thread(smtp_t* smtp) smb_hfield_add_str(&newmsg, SMTPRECEIVED, hdrfield, /* insert: */TRUE); if(nettype == NET_FIDO) { - newmsg.hdr.netattr |= MSG_LOCAL | MSG_KILLSENT; + newmsg.hdr.netattr |= NETMSG_LOCAL | NETMSG_KILLSENT; char* tp = strchr(rcpt_name, '@'); if(tp != NULL) *tp = 0; @@ -5168,7 +5168,7 @@ static int remove_msg_intransit(smb_t* smb, smbmsg_t* msg) ,i, smb->last_error, msg->idx.number); return(i); } - msg->hdr.netattr&=~MSG_INTRANSIT; + msg->hdr.netattr&=~NETMSG_INTRANSIT; i=smb_putmsghdr(smb,msg); smb_unlockmsghdr(smb,msg); @@ -5549,7 +5549,7 @@ static void sendmail_thread(void* arg) continue; } if(msg.hdr.attr&MSG_DELETE || msg.to_net.type!=NET_INTERNET || msg.to_net.addr==NULL - || (msg.hdr.netattr&MSG_SENT)) { + || (msg.hdr.netattr&NETMSG_SENT)) { smb_unlockmsghdr(&smb,&msg); continue; } @@ -5572,13 +5572,13 @@ static void sendmail_thread(void* arg) else safe_snprintf(rcpt_info, sizeof(rcpt_info), "'%s' %s", msg.to, angle_bracket(tmp, sizeof(tmp), (char*)msg.to_net.addr)); - if(!(startup->options&MAIL_OPT_SEND_INTRANSIT) && msg.hdr.netattr&MSG_INTRANSIT) { + if(!(startup->options&MAIL_OPT_SEND_INTRANSIT) && msg.hdr.netattr&NETMSG_INTRANSIT) { smb_unlockmsghdr(&smb,&msg); lprintf(LOG_NOTICE,"0000 SEND Message #%u from %s to %s - in transit" ,msg.hdr.number, sender_info, rcpt_info); continue; } - msg.hdr.netattr|=MSG_INTRANSIT; /* Prevent another sendmail thread from sending this msg */ + msg.hdr.netattr|=NETMSG_INTRANSIT; /* Prevent another sendmail thread from sending this msg */ smb_putmsghdr(&smb,&msg); smb_unlockmsghdr(&smb,&msg); @@ -5819,10 +5819,10 @@ static void sendmail_thread(void* arg) ,sock, prot, msg.hdr.number, bytes, lines, sender_info, msg.to, toaddr); /* Now lets mark this message for deletion without corrupting the index */ - if((msg.hdr.netattr & MSG_KILLSENT) || msg.from_ext == NULL) + if((msg.hdr.netattr & NETMSG_KILLSENT) || msg.from_ext == NULL) msg.hdr.attr|=MSG_DELETE; - msg.hdr.netattr|=MSG_SENT; - msg.hdr.netattr&=~MSG_INTRANSIT; + msg.hdr.netattr|=NETMSG_SENT; + msg.hdr.netattr&=~NETMSG_INTRANSIT; if((i=smb_updatemsg(&smb,&msg))!=SMB_SUCCESS) lprintf(LOG_ERR,"%04d %s !ERROR %d (%s) deleting message #%u" ,sock, prot, i, smb.last_error, msg.hdr.number); diff --git a/src/sbbs3/netmail.cpp b/src/sbbs3/netmail.cpp index eb5f7cb127..9c996c0d72 100644 --- a/src/sbbs3/netmail.cpp +++ b/src/sbbs3/netmail.cpp @@ -186,9 +186,9 @@ bool sbbs_t::netmail(const char *into, const char *title, int mode, smb_t* resmb smb_faddrtoa(&cfg.faddr[i], str); bprintf(text[NetMailing], to, smb_faddrtoa(&dest_addr,tmp), from, str); - if(cfg.netmail_misc&NMAIL_CRASH) msg.hdr.netattr |= MSG_CRASH; - if(cfg.netmail_misc&NMAIL_HOLD) msg.hdr.netattr |= MSG_HOLD; - if(cfg.netmail_misc&NMAIL_KILL) msg.hdr.netattr |= MSG_KILLSENT; + if(cfg.netmail_misc&NMAIL_CRASH) msg.hdr.netattr |= NETMSG_CRASH; + if(cfg.netmail_misc&NMAIL_HOLD) msg.hdr.netattr |= NETMSG_HOLD; + if(cfg.netmail_misc&NMAIL_KILL) msg.hdr.netattr |= NETMSG_KILLSENT; if(mode&WM_FILE) msg.hdr.auxattr |= (MSG_FILEATTACH | MSG_KILLFILE); if(remsg != NULL && resmb != NULL && !(mode&WM_QUOTE)) { @@ -248,14 +248,14 @@ bool sbbs_t::netmail(const char *into, const char *title, int mode, smb_t* resmb } } - msg.hdr.netattr |= MSG_LOCAL; + msg.hdr.netattr |= NETMSG_LOCAL; lprintf(LOG_DEBUG, "NetMail subject: %s", subj); p=subj; if((SYSOP || useron.exempt&FLAG('F')) && !strnicmp(p,"CR:",3)) { /* Crash over-ride by sysop */ p+=3; /* skip CR: */ SKIP_WHITESPACE(p); - msg.hdr.netattr |= MSG_CRASH; + msg.hdr.netattr |= NETMSG_CRASH; } if((SYSOP || useron.exempt&FLAG('F')) @@ -321,7 +321,7 @@ bool sbbs_t::netmail(const char *into, const char *title, int mode, smb_t* resmb editor_info_to_msg(&msg, editor, charset); if(cfg.netmail_misc&NMAIL_DIRECT) - msg.hdr.netattr |= MSG_DIRECT; + msg.hdr.netattr |= NETMSG_DIRECT; smb_t smb; memset(&smb, 0, sizeof(smb)); @@ -1136,9 +1136,9 @@ bool sbbs_t::inetmail(const char *into, const char *subj, int mode, smb_t* resmb msg.hdr.when_written.time=msg.hdr.when_imported.time=time32(NULL); msg.hdr.when_written.zone=msg.hdr.when_imported.zone=sys_timezone(&cfg); - msg.hdr.netattr |= MSG_LOCAL; + msg.hdr.netattr |= NETMSG_LOCAL; if(cfg.inetmail_misc&NMAIL_KILL) - msg.hdr.netattr |= MSG_KILLSENT; + msg.hdr.netattr |= NETMSG_KILLSENT; if(rcpt_count > 1) smb_hfield_str(&msg, RECIPIENTLIST, to_list); diff --git a/src/sbbs3/sbbsecho.c b/src/sbbs3/sbbsecho.c index 6cdd111415..cad3d9b1ff 100644 --- a/src/sbbs3/sbbsecho.c +++ b/src/sbbs3/sbbsecho.c @@ -1107,7 +1107,7 @@ int create_netmail(const char *to, const smbmsg_t* msg, const char *subject, con hdr.attr=(FIDO_PRIVATE|FIDO_KILLSENT|FIDO_LOCAL); if(msg != NULL) { - if(msg->hdr.netattr&MSG_CRASH) + if(msg->hdr.netattr&NETMSG_CRASH) hdr.attr|=FIDO_CRASH; if(msg->hdr.auxattr&MSG_FILEATTACH) hdr.attr|=FIDO_FILE; @@ -3260,7 +3260,7 @@ int fmsgtosmsg(char* fbuf, fmsghdr_t* hdr, uint usernumber, uint subnum) if(hdr->attr&FIDO_FILE) msg.hdr.auxattr|=MSG_FILEATTACH; if(hdr->attr&FIDO_INTRANS) - msg.hdr.netattr|=MSG_INTRANSIT; + msg.hdr.netattr|=NETMSG_INTRANSIT; msg.hdr.when_imported.time=now; msg.hdr.when_imported.zone=sys_timezone(&scfg); @@ -5284,11 +5284,11 @@ int export_netmail(void) printf("NetMail msg #%u from %s to %s (%s): " ,msg.hdr.number, msg.from, msg.to, smb_faddrtoa(msg.to_net.addr,NULL)); - if(msg.hdr.netattr&MSG_INTRANSIT) { + if(msg.hdr.netattr&NETMSG_INTRANSIT) { printf("in-transit\n"); continue; } - if((msg.hdr.netattr&MSG_SENT) && !cfg.ignore_netmail_sent_attr) { + if((msg.hdr.netattr&NETMSG_SENT) && !cfg.ignore_netmail_sent_attr) { printf("already sent\n"); continue; } @@ -5335,9 +5335,9 @@ int export_netmail(void) create_netmail(msg.to, &msg, msg_subj, txt, /* dest: */*(fidoaddr_t*)msg.to_net.addr, /* src: */NULL); FREE_AND_NULL(txt); - msg.hdr.netattr |= MSG_SENT; - msg.hdr.netattr &= ~MSG_INTRANSIT; - if(cfg.delete_netmail || (msg.hdr.netattr&MSG_KILLSENT) || msg.from_ext == NULL) { + msg.hdr.netattr |= NETMSG_SENT; + msg.hdr.netattr &= ~NETMSG_INTRANSIT; + if(cfg.delete_netmail || (msg.hdr.netattr&NETMSG_KILLSENT) || msg.from_ext == NULL) { /* Delete exported netmail */ msg.hdr.attr |= MSG_DELETE; if((i = smb_updatemsg(email, &msg)) != SMB_SUCCESS) diff --git a/src/smblib/smbdefs.h b/src/smblib/smbdefs.h index e5005805e1..ad6974c104 100644 --- a/src/smblib/smbdefs.h +++ b/src/smblib/smbdefs.h @@ -314,14 +314,14 @@ #define POLL_RESULTS_SHIFT 30 /* Message network attributes */ -#define MSG_LOCAL (1<<0) /* Msg created locally */ -#define MSG_INTRANSIT (1<<1) /* Msg is in-transit */ -#define MSG_SENT (1<<2) /* Sent to remote */ -#define MSG_KILLSENT (1<<3) /* Kill when sent */ -#define MSG_HOLD (1<<5) /* Hold for pick-up */ -#define MSG_CRASH (1<<6) /* Crash */ -#define MSG_IMMEDIATE (1<<7) /* Send Msg now, ignore restrictions */ -#define MSG_DIRECT (1<<8) /* Send directly to destination */ +#define NETMSG_LOCAL (1<<0) /* Msg created locally */ +#define NETMSG_INTRANSIT (1<<1) /* Msg is in-transit */ +#define NETMSG_SENT (1<<2) /* Sent to remote */ +#define NETMSG_KILLSENT (1<<3) /* Kill when sent */ +#define NETMSG_HOLD (1<<5) /* Hold for pick-up */ +#define NETMSG_CRASH (1<<6) /* Crash */ +#define NETMSG_IMMEDIATE (1<<7) /* Send Msg now, ignore restrictions */ +#define NETMSG_DIRECT (1<<8) /* Send directly to destination */ enum smb_net_type { NET_NONE /* Local message */ diff --git a/src/smblib/smbstr.c b/src/smblib/smbstr.c index 11a721ef5c..21de6dc085 100644 --- a/src/smblib/smbstr.c +++ b/src/smblib/smbstr.c @@ -488,17 +488,19 @@ char* smb_auxattrstr(int32_t attr, char* outstr, size_t maxlen) return outstr; } +#define NETMSG_ATTR_CHECK(a, f) if(a&NETMSG_##f) sprintf(str + strlen(str), "%s%s", str[0] == 0 ? "" : ", ", #f); + char* smb_netattrstr(int32_t attr, char* outstr, size_t maxlen) { char str[128] = ""; - MSG_ATTR_CHECK(attr, LOCAL); - MSG_ATTR_CHECK(attr, INTRANSIT); - MSG_ATTR_CHECK(attr, SENT); - MSG_ATTR_CHECK(attr, KILLSENT); - MSG_ATTR_CHECK(attr, HOLD); - MSG_ATTR_CHECK(attr, CRASH); - MSG_ATTR_CHECK(attr, IMMEDIATE); - MSG_ATTR_CHECK(attr, DIRECT); + NETMSG_ATTR_CHECK(attr, LOCAL); + NETMSG_ATTR_CHECK(attr, INTRANSIT); + NETMSG_ATTR_CHECK(attr, SENT); + NETMSG_ATTR_CHECK(attr, KILLSENT); + NETMSG_ATTR_CHECK(attr, HOLD); + NETMSG_ATTR_CHECK(attr, CRASH); + NETMSG_ATTR_CHECK(attr, IMMEDIATE); + NETMSG_ATTR_CHECK(attr, DIRECT); strncpy(outstr, str, maxlen); return outstr; } -- GitLab