ref: d524614c805654ce88df849d8127d55e0e4fc7bd
parent: 399efa93826694d01f599661114b6d412c038fc3
author: Alex Musolino <alex@musolino.id.au>
date: Mon Jun 22 12:34:31 EDT 2020
upas/marshal: make attachment failure fatal
--- a/sys/src/cmd/upas/marshal/marshal.c
+++ b/sys/src/cmd/upas/marshal/marshal.c
@@ -136,6 +136,7 @@
char *login;
Alias *aliases;
int rfc822syntaxerror;
+int attachfailed;
char lastchar;
char *replymsg;
@@ -308,6 +309,10 @@
holding = holdon();
headersrv = readheaders(&in, &flags, &hdrstring,
eightflag? &to: nil, eightflag? &cc: nil, eightflag? &bcc: nil, l, 1);
+ if(attachfailed){+ Bdrain(&in);
+ fatal("attachment(s) failed, message not sent");+ }
if(rfc822syntaxerror){Bdrain(&in);
fatal("rfc822 syntax error, message not sent");@@ -501,8 +506,11 @@
if(att == nil)
break;
*att = mkattach(hdrval(s_to_c(sline)), nil, hdrtype == Hinclude);
- if(*att != nil)
- att = &(*att)->next;
+ if(*att == nil){+ attachfailed = 1;
+ return Error;
+ }
+ att = &(*att)->next;
break;
}
s_free(sline);
--
⑨