From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1791) id D372A3857017; Mon, 5 Sep 2022 12:54:58 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D372A3857017 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1662382498; bh=b3L89iFBnWesJC5iIPmu0jR7WhKaBxn5y96APthy3EQ=; h=From:To:Subject:Date:From; b=Bbc8+cHmFKZ9BoiDhYomfERwOaB0cY3QvUa/wR/LVtbS813HVnGYsQg+dgavc0BWi Ng5qZy13RpK8UHgoWybE3TOcLrgmi9hmm3OihevoQRz0SvwgqBQv9gfmv0GKXBSF/L GUWIVsGQPZmnvL9K8dZqn8SYFaHICwyUdKwISFPE= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Adhemerval Zanella To: glibc-cvs@sourceware.org Subject: [glibc/release/2.36/master] syslog: Remove extra whitespace between timestamp and message (BZ#29544) X-Act-Checkin: glibc X-Git-Author: Adhemerval Zanella X-Git-Refname: refs/heads/release/2.36/master X-Git-Oldrev: b3736d1a3c60a3ec9959bf3b38794958546bf6a2 X-Git-Newrev: 645d94808aaa90fb1b20a25ff70bb50d9eb1d55b Message-Id: <20220905125458.D372A3857017@sourceware.org> Date: Mon, 5 Sep 2022 12:54:58 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=645d94808aaa90fb1b20a25ff70bb50d9eb1d55b commit 645d94808aaa90fb1b20a25ff70bb50d9eb1d55b Author: Adhemerval Zanella Date: Mon Sep 5 09:34:39 2022 -0300 syslog: Remove extra whitespace between timestamp and message (BZ#29544) The rfc3164 clear states that a single space character must follow the timestamp field. Checked on x86_64-linux-gnu. Diff: --- misc/syslog.c | 2 +- misc/tst-syslog.c | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/misc/syslog.c b/misc/syslog.c index b88f66c835..f67d4b58a4 100644 --- a/misc/syslog.c +++ b/misc/syslog.c @@ -167,7 +167,7 @@ __vsyslog_internal (int pri, const char *fmt, va_list ap, _nl_C_locobj_ptr); #define SYSLOG_HEADER(__pri, __timestamp, __msgoff, pid) \ - "<%d>%s %n%s%s%.0d%s: ", \ + "<%d>%s%n%s%s%.0d%s: ", \ __pri, __timestamp, __msgoff, \ LogTag == NULL ? __progname : LogTag, \ "[" + (pid == 0), pid, "]" + (pid == 0) diff --git a/misc/tst-syslog.c b/misc/tst-syslog.c index 1d332ece53..3560b518a2 100644 --- a/misc/tst-syslog.c +++ b/misc/tst-syslog.c @@ -275,16 +275,19 @@ parse_syslog_msg (const char *msg) { struct msg_t r = { .pid = -1 }; int number; + int wsb, wsa; #define STRINPUT(size) XSTRINPUT(size) #define XSTRINPUT(size) "%" # size "s" /* The message in the form: - <179>Apr 8 14:51:19 tst-syslog: message 176 3 */ - int n = sscanf (msg, "<%3d>%*s %*d %*d:%*d:%*d " STRINPUT(IDENT_LENGTH) + <179>Apr 8 14:51:19 tst-syslog: message 176 3 */ + int n = sscanf (msg, "<%3d>%*s %*d %*d:%*d:%*d%n %n" STRINPUT(IDENT_LENGTH) " " STRINPUT(MSG_LENGTH) " %*d %*d", - &number, r.ident, r.msg); + &number, &wsb, &wsa, r.ident, r.msg); TEST_COMPARE (n, 3); + /* It should only one space between timestamp and message. */ + TEST_COMPARE (wsa - wsb, 1); r.facility = number & LOG_FACMASK; r.priority = number & LOG_PRIMASK;