Commit Diff


commit - c3692c5094223df1a029087aff69e5f038d9e7af
commit + 06220a702a876245348b8dad461557562521dda3
blob - 4934110192a247a779b107555742fdd918d37f19
blob + 626f0f6e2b3ff5fcb3d1c3da7d91b822ddf62b3e
--- opensmtpd.c
+++ opensmtpd.c
@@ -1642,8 +1642,12 @@ osmtpd_tx_rollback(struct osmtpd_callback *cb, struct 
 void
 osmtpd_filter_proceed(struct osmtpd_ctx *ctx)
 {
-	io_printf(io_stdout, "filter-result|%016"PRIx64"|%016"PRIx64"|"
-	    "proceed\n", ctx->token, ctx->reqid);
+	if (ctx->version_major == 0 && ctx->version_minor < 5)
+		io_printf(io_stdout, "filter-result|%016"PRIx64"|%016"PRIx64"|"
+		    "proceed\n", ctx->token, ctx->reqid);
+	else
+		io_printf(io_stdout, "filter-result|%016"PRIx64"|%016"PRIx64"|"
+		    "proceed\n", ctx->reqid, ctx->token);
 }
 
 void
@@ -1654,8 +1658,12 @@ osmtpd_filter_reject(struct osmtpd_ctx *ctx, int code,
 	if (code < 200 || code > 599)
 		osmtpd_errx(1, "Invalid reject code");
 
-	io_printf(io_stdout, "filter-result|%016"PRIx64"|%016"PRIx64"|reject|"
-	    "%d ", ctx->token, ctx->reqid, code);
+	if (ctx->version_major == 0 && ctx->version_minor < 5)
+		io_printf(io_stdout, "filter-result|%016"PRIx64"|%016"PRIx64"|"
+		    "reject|%d ", ctx->token, ctx->reqid, code);
+	else
+		io_printf(io_stdout, "filter-result|%016"PRIx64"|%016"PRIx64"|"
+		    "reject|%d ", ctx->reqid, ctx->token, code);
 	va_start(ap, reason);
 	io_vprintf(io_stdout, reason, ap);
 	va_end(ap);
@@ -1677,9 +1685,14 @@ osmtpd_filter_reject_enh(struct osmtpd_ctx *ctx, int c
 	if (detail < 0 || detail > 999)
 		osmtpd_errx(1, "Invalid enhanced status detail");
 
-	io_printf(io_stdout, "filter-result|%016"PRIx64"|%016"PRIx64"|reject|"
-	    "%d %d.%d.%d ", ctx->token, ctx->reqid, code, class, subject,
-	    detail);
+	if (ctx->version_major == 0 && ctx->version_minor < 5)
+		io_printf(io_stdout, "filter-result|%016"PRIx64"|%016"PRIx64"|"
+		    "reject|%d %d.%d.%d ", ctx->token, ctx->reqid, code, class,
+		    subject, detail);
+	else
+		io_printf(io_stdout, "filter-result|%016"PRIx64"|%016"PRIx64"|"
+		    "reject|%d %d.%d.%d ", ctx->reqid, ctx->token, code, class,
+		    subject, detail);
 	va_start(ap, reason);
 	io_vprintf(io_stdout, reason, ap);
 	va_end(ap);
@@ -1691,8 +1704,12 @@ osmtpd_filter_disconnect(struct osmtpd_ctx *ctx, const
 {
 	va_list ap;
 
-	io_printf(io_stdout, "filter-result|%016"PRIx64"|%016"PRIx64"|"
-	    "disconnect|421 ", ctx->token, ctx->reqid);
+	if (ctx->version_major == 0 && ctx->version_minor < 5)
+		io_printf(io_stdout, "filter-result|%016"PRIx64"|%016"PRIx64"|"
+		    "disconnect|421 ", ctx->token, ctx->reqid);
+	else
+		io_printf(io_stdout, "filter-result|%016"PRIx64"|%016"PRIx64"|"
+		    "disconnect|421 ", ctx->reqid, ctx->token);
 	va_start(ap, reason);
 	io_vprintf(io_stdout, reason, ap);
 	va_end(ap);
@@ -1711,9 +1728,14 @@ osmtpd_filter_disconnect_enh(struct osmtpd_ctx *ctx, i
 		osmtpd_errx(1, "Invalid enhanced status subject");
 	if (detail < 0 || detail > 999)
 		osmtpd_errx(1, "Invalid enhanced status detail");
-	io_printf(io_stdout, "filter-result|%016"PRIx64"|%016"PRIx64"|"
-	    "disconnect|421 %d.%d.%d ", ctx->token, ctx->reqid, class, subject,
-	    detail);
+	if (ctx->version_major == 0 && ctx->version_minor < 5)
+		io_printf(io_stdout, "filter-result|%016"PRIx64"|%016"PRIx64"|"
+		    "disconnect|421 %d.%d.%d ", ctx->token, ctx->reqid, class,
+		    subject, detail);
+	else
+		io_printf(io_stdout, "filter-result|%016"PRIx64"|%016"PRIx64"|"
+		    "disconnect|421 %d.%d.%d ", ctx->reqid, ctx->token, class,
+		    subject, detail);
 	va_start(ap, reason);
 	io_vprintf(io_stdout, reason, ap);
 	va_end(ap);
@@ -1725,8 +1747,12 @@ osmtpd_filter_rewrite(struct osmtpd_ctx *ctx, const ch
 {
 	va_list ap;
 
-	io_printf(io_stdout, "filter-result|%016"PRIx64"|%016"PRIx64"|"
-	    "rewrite|", ctx->token, ctx->reqid);
+	if (ctx->version_major == 0 && ctx->version_minor < 5)
+		io_printf(io_stdout, "filter-result|%016"PRIx64"|%016"PRIx64"|"
+		    "rewrite|", ctx->token, ctx->reqid);
+	else
+		io_printf(io_stdout, "filter-result|%016"PRIx64"|%016"PRIx64"|"
+		    "rewrite|", ctx->reqid, ctx->token);
 	va_start(ap, value);
 	io_vprintf(io_stdout, value, ap);
 	va_end(ap);
@@ -1738,8 +1764,12 @@ osmtpd_filter_dataline(struct osmtpd_ctx *ctx, const c
 {
 	va_list ap;
 
-	io_printf(io_stdout, "filter-dataline|%016"PRIx64"|%016"PRIx64"|",
-	    ctx->token, ctx->reqid);
+	if (ctx->version_major == 0 && ctx->version_minor < 5)
+		io_printf(io_stdout, "filter-dataline|%016"PRIx64"|%016"PRIx64"|",
+		    ctx->token, ctx->reqid);
+	else
+		io_printf(io_stdout, "filter-dataline|%016"PRIx64"|%016"PRIx64"|",
+		    ctx->reqid, ctx->token);
 	va_start(ap, line);
 	io_vprintf(io_stdout, line, ap);
 	va_end(ap);