4448N/A# This patch is a fix for proper uncompression
4448N/A# source: written internally
4448N/A# Should be sent upstream, but hasn't been.
4448N/A# Bug has existed a long time (probably since rsyslog implemented compression),
4448N/A# last noticed in 8.4.0
4448N/A--- rsyslog/runtime/parser.c 2014-08-18 02:14:06.000000000 -0700
4448N/A+++ rsyslog/runtime/parser.c 2014-09-18 14:46:49.068679264 -0700
4448N/A@@ -336,8 +336,10 @@
4448N/A
4448N/A /* we first need to check if we have a compressed record. If so,
4448N/A * we must decompress it.
4448N/A+ * If NO_PRI_IN_RAW is set, this is a local Solaris message and
4448N/A+ * therefore not compressed (though it may well begin with 'z'!).
4448N/A */
4448N/A- if(lenMsg > 0 && *pszMsg == 'z') { /* compressed data present? (do NOT change order if conditions!) */
4448N/A+ if(lenMsg > 0 && *pszMsg == 'z' && pMsg->msgFlags & NO_PRI_IN_RAW == 0) { /* compressed data present? (do NOT change order if conditions!) */
4448N/A /* we have compressed data, so let's deflate it. We support a maximum
4448N/A * message size of iMaxLine. If it is larger, an error message is logged
4448N/A * and the message is dropped. We do NOT try to decompress larger messages