From 162e311a0e8dfb96525af321c000b5a9d5857d19 Mon Sep 17 00:00:00 2001 From: Aurelien DARRAGON Date: Fri, 26 Apr 2024 14:23:43 +0200 Subject: [PATCH] MINOR: log: add no_escape_map to bypass escape with _lf_encode_bytes() Providing no_escape_map as argument to _lf_encode_bytes() function will make the function skip escaping since the map is empty. This is for convenience, as it might be useful to call lf_encode_chunk() to encoding binary data without escaping it. --- src/log.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/log.c b/src/log.c index 07f4b231b..491304692 100644 --- a/src/log.c +++ b/src/log.c @@ -95,6 +95,7 @@ static const struct log_fmt_st log_formats[LOG_FORMATS] = { * that the byte should be escaped. Be careful to always pass bytes from 0 to * 255 exclusively to the macros. */ +long no_escape_map[(256/8) / sizeof(long)]; long rfc5424_escape_map[(256/8) / sizeof(long)]; long hdr_encode_map[(256/8) / sizeof(long)]; long url_encode_map[(256/8) / sizeof(long)]; @@ -2847,6 +2848,9 @@ static void init_log() char *tmp; int i; + /* Initialize the no escape map, which may be used to bypass escaping */ + memset(no_escape_map, 0, sizeof(no_escape_map)); + /* Initialize the escape map for the RFC5424 structured-data : '"\]' * inside PARAM-VALUE should be escaped with '\' as prefix. * See https://tools.ietf.org/html/rfc5424#section-6.3.3 for more