valid C. Bugs reported by Victor Duchovni. Files:
util/sys_defs.h, global/dsn_util.h, tls/tls_client.c.
+ Bugfix: when delivery to command failed, command output was
+ not reported. Fix was to enable format checks for the new
+ dsn_vstring_update() module. File: global/dsn_util.h,
+ global/pipe_command.c.
+
Open problems:
Med: disable header address rewriting after XCLIENT?
} DSN_VSTRING;
extern DSN_VSTRING *dsn_vstring_alloc(int);
-extern DSN_VSTRING *dsn_vstring_update(DSN_VSTRING *, const char *, const char *,...);
+extern PRINTFLIKE(3, 4) DSN_VSTRING *dsn_vstring_update(DSN_VSTRING *, const char *, const char *,...);
extern void dsn_vstring_free(DSN_VSTRING *);
/* LICENSE
* Patches change the patchlevel and the release date. Snapshots change the
* release date only.
*/
-#define MAIL_RELEASE_DATE "20050331"
+#define MAIL_RELEASE_DATE "20050401"
#define MAIL_VERSION_NUMBER "2.3"
#define VAR_MAIL_VERSION "mail_version"
/* Use <sysexits.h> compatible exit status. */
else if (SYS_EXITS_CODE(WEXITSTATUS(wait_status))) {
sp = sys_exits_detail(WEXITSTATUS(wait_status));
- dsn_vstring_update(why, sp->dsn, "%s%s", sp->text,
+ dsn_vstring_update(why, sp->dsn, "%s%s%s", sp->text,
log_len ? ". Command output: " : "", log_buf);
return (sp->dsn[0] == '4' ?
PIPE_STAT_DEFER : PIPE_STAT_BOUNCE);