commit 592eded: [Minor] Improve log message for inflate/deflate
Vsevolod Stakhov
vsevolod at highsecure.ru
Mon Apr 13 11:21:07 UTC 2020
Author: Vsevolod Stakhov
Date: 2020-04-13 12:20:32 +0100
URL: https://github.com/rspamd/rspamd/commit/592ededbbef6bcff2031b112b510d559008510e9 (HEAD -> master)
[Minor] Improve log message for inflate/deflate
---
src/lua/lua_util.c | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/src/lua/lua_util.c b/src/lua/lua_util.c
index a378c1ace..d89cfd28d 100644
--- a/src/lua/lua_util.c
+++ b/src/lua/lua_util.c
@@ -2321,7 +2321,8 @@ lua_util_gzip_compress (lua_State *L)
break;
}
else {
- msg_err ("cannot compress data: %s", zError (rc));
+ msg_err ("cannot compress data: %s (last error: %s)",
+ zError (rc), strm.msg);
lua_pop (L, 1); /* Text will be freed here */
lua_pushnil (L);
deflateEnd (&strm);
@@ -2388,6 +2389,15 @@ lua_util_zlib_inflate (lua_State *L, int windowBits)
memset (&strm, 0, sizeof (strm));
/* windowBits +16 to decode gzip, zlib 1.2.0.4+ */
+
+ /* Here are dragons to distinguish between raw deflate and zlib */
+ if (windowBits == MAX_WBITS && t->len > 0) {
+ if ((int)(unsigned char)t->start[0] != 0x78) {
+ /* Assume raw deflate */
+ windowBits = -windowBits;
+ }
+ }
+
rc = inflateInit2 (&strm, windowBits);
if (rc != Z_OK) {
@@ -2416,7 +2426,8 @@ lua_util_zlib_inflate (lua_State *L, int windowBits)
break;
}
else {
- msg_err ("cannot decompress data: %s", zError (rc));
+ msg_err ("cannot decompress data: %s (last error: %s)",
+ zError (rc), strm.msg);
lua_pop (L, 1); /* Text will be freed here */
lua_pushnil (L);
inflateEnd (&strm);
More information about the Commits
mailing list