RFC 3164 compliant remote logging
authorJohn Crispin <blogic@openwrt.org>
Tue, 16 Sep 2014 12:20:30 +0000 (14:20 +0200)
committerJohn Crispin <blogic@openwrt.org>
Tue, 16 Sep 2014 12:20:30 +0000 (14:20 +0200)
When logread daemon send a syslog message to another host, time, severity and facility are cut off.

The message contains only text. This patch adds time, severity and facility in the message as described in the RFC 3164.

Signed-off-by: Belkov Max <belkov-max@mail.ru>
log/logread.c

index 28c9462..a7ab567 100644 (file)
@@ -135,9 +135,12 @@ static int log_notify(struct blob_attr *msg)
        if (log_type == LOG_NET) {
                int err;
 
-               *buf = '\0';
-               if (hostname)
-                       snprintf(buf, sizeof(buf), "%s ", hostname);
+               snprintf(buf, sizeof(buf), "<%u>", p);
+               strncat(buf, c + 4, 16);
+               if (hostname) {
+                       strncat(buf, hostname, sizeof(buf));
+                       strncat(buf, " ", sizeof(buf));
+               }
                if (log_prefix) {
                        strncat(buf, log_prefix, sizeof(buf));
                        strncat(buf, ": ", sizeof(buf));