On Fri, Jun 03, 2022 at 11:26:58AM -0600, Theo de Raadt wrote: > If we do this, I think we should document it somehow that the payload is > massaged.
This has been in snapshots for 10 days. The only fallout I see, is that regress has to be adapted. ok? bluhm Index: usr.sbin/syslogd/syslogd.8 =================================================================== RCS file: /data/mirror/openbsd/cvs/src/usr.sbin/syslogd/syslogd.8,v retrieving revision 1.60 diff -u -p -r1.60 syslogd.8 --- usr.sbin/syslogd/syslogd.8 27 Sep 2018 08:33:25 -0000 1.60 +++ usr.sbin/syslogd/syslogd.8 16 Jun 2022 14:56:06 -0000 @@ -227,7 +227,8 @@ The message sent to should consist of a single line. Embedded new line characters are converted to spaces; binary data is encoded by -.Xr vis 3 . +.Xr vis 3 , +but no backslash is inserted. The message can contain a priority code, which should be a preceding decimal number in angle braces, for example, .Dq <5> . Index: usr.sbin/syslogd/syslogd.c =================================================================== RCS file: /data/mirror/openbsd/cvs/src/usr.sbin/syslogd/syslogd.c,v retrieving revision 1.274 diff -u -p -r1.274 syslogd.c --- usr.sbin/syslogd/syslogd.c 4 May 2022 14:47:46 -0000 1.274 +++ usr.sbin/syslogd/syslogd.c 16 Jun 2022 14:49:04 -0000 @@ -1570,7 +1570,7 @@ printline(char *hname, char *msgstr) if (*p == '\n') *q++ = ' '; else - q = vis(q, *p, 0, 0); + q = vis(q, *p, VIS_NOSLASH, 0); } line[LOG_MAXLINE] = *q = '\0'; @@ -1626,7 +1626,7 @@ printsys(char *msgstr) q = lp; while (*p && (c = *p++) != '\n' && q < &msg.m_msg[sizeof(msg.m_msg) - 4]) - q = vis(q, c, 0, 0); + q = vis(q, c, VIS_NOSLASH, 0); logmsg(&msg, flags, LocalHostName); } Index: regress/usr.sbin/syslogd/args-client-tcp-nontransp.pl =================================================================== RCS file: /data/mirror/openbsd/cvs/src/regress/usr.sbin/syslogd/args-client-tcp-nontransp.pl,v retrieving revision 1.2 diff -u -p -r1.2 args-client-tcp-nontransp.pl --- regress/usr.sbin/syslogd/args-client-tcp-nontransp.pl 1 Aug 2015 14:55:58 -0000 1.2 +++ regress/usr.sbin/syslogd/args-client-tcp-nontransp.pl 16 Jun 2022 14:32:23 -0000 @@ -31,7 +31,7 @@ our %args = ( qr/localhost de$/ => 1, qr/localhost fg$/ => 1, # NUL terminates message qr/localhost hi $/ => 1, - qr/localhost jk\\\^G$/ => 1, # bell character visual + qr/localhost jk\^G$/ => 1, # bell character visual qr/localhost l$/ => 1, qr/localhost m$/ => 1, qr/localhost n$/ => 1, # leading spaces are striped Index: regress/usr.sbin/syslogd/args-length-vis.pl =================================================================== RCS file: /data/mirror/openbsd/cvs/src/regress/usr.sbin/syslogd/args-length-vis.pl,v retrieving revision 1.4 diff -u -p -r1.4 args-length-vis.pl --- regress/usr.sbin/syslogd/args-length-vis.pl 15 Jun 2015 21:44:57 -0000 1.4 +++ regress/usr.sbin/syslogd/args-length-vis.pl 16 Jun 2022 14:43:58 -0000 @@ -28,17 +28,16 @@ our %args = ( # Jan 31 00:12:39 localhost 0123456789ABC...567 loggrep => { get_charlog() => 11, - qr/^.{25} .{8182}foo\\M\^\@$/ => 1, - qr/^.{25} .{8183}foo\\M\^\@$/ => 1, - qr/^.{25} .{8184}foo\\M\^\@$/ => 1, - qr/^.{25} .{8185}foo\\M\^\@$/ => 1, - qr/^.{25} .{8186}foo\\M\^$/ => 1, - qr/^.{25} .{8187}foo\\M$/ => 1, - qr/^.{25} .{8188}foo\\$/ => 1, + qr/^.{25} .{8183}fooM\^\@$/ => 1, + qr/^.{25} .{8184}fooM\^\@$/ => 1, + qr/^.{25} .{8185}fooM\^\@$/ => 1, + qr/^.{25} .{8186}fooM\^\@$/ => 1, + qr/^.{25} .{8187}fooM\^$/ => 1, + qr/^.{25} .{8188}fooM$/ => 1, qr/^.{25} .{8189}foo$/ => 1, qr/^.{25} .{8190}fo$/ => 1, qr/^.{25} .{8191}f$/ => 1, - qr/^.{25} .{8192}$/ => 8, + qr/^.{25} .{8192}$/ => 7, }, }, );