chiark / gitweb /
basic/journal-importer: escape & ellipsize bad data in log entries
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 17 May 2018 09:09:07 +0000 (11:09 +0200)
committerSven Eden <yamakuzure@gmx.net>
Fri, 24 Aug 2018 14:47:08 +0000 (16:47 +0200)
We shouldn't just log arbitrary stuff, in particular newlines and control chars
Now:
Unknown dunder line __CURSORFACILITY=6\nSYSLOG_IDENTIFIER=/USR/SBIN/CRON\nMES…, ignoring.
Unknown dunder line __REALTIME_TIME[TAMP=1404101101501874\n__MONOTONIC_TIMEST…, ignoring.

src/basic/string-util.h

index 99b51556979d7ba9cbf2e0a3a646b9c745b7ecd8..7ee9aef70833a6ffde5038a6c51388e062beab50 100644 (file)
@@ -167,6 +167,9 @@ char *ellipsize_mem(const char *s, size_t old_length_bytes, size_t new_length_co
 char *ellipsize(const char *s, size_t length, unsigned percent);
 char *cellescape(char *buf, size_t len, const char *s);
 
+/* This limit is arbitrary, enough to give some idea what the string contains */
+#define CELLESCAPE_DEFAULT_LENGTH 64
+
 bool nulstr_contains(const char *nulstr, const char *needle);
 
 char* strshorten(char *s, size_t l);