From: Vsevolod Stakhov Date: Thu, 16 Oct 2025 07:38:19 +0000 (+0100) Subject: [Fix] Fix compiler warnings in lua_logger and dkim modules X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6f46ca6dae534e45f28e7fb84f8ef4dd418a8eee;p=thirdparty%2Frspamd.git [Fix] Fix compiler warnings in lua_logger and dkim modules Fixed incompatible pointer type warnings in lua_logger.c when converting strings to integers by using gulong/glong types matching rspamd_strtoul/ rspamd_strtol function signatures. Fixed enum type mismatch in dkim.c by adding RSPAMD_DKIM_KEY_INVALID to rspamd_dkim_key_type enum and handling it in the verification switch. --- diff --git a/src/libserver/dkim.c b/src/libserver/dkim.c index acb9d41900..67a6edf4f7 100644 --- a/src/libserver/dkim.c +++ b/src/libserver/dkim.c @@ -3008,6 +3008,12 @@ rspamd_dkim_check(rspamd_dkim_context_t *ctx, nid = NID_sha1; } switch (key->type) { + case RSPAMD_DKIM_KEY_INVALID: + /* Invalid key type - should not happen */ + res->rcode = DKIM_PERM_ERROR; + res->fail_reason = "invalid key type"; + msg_err_dkim("invalid key type for verification"); + break; case RSPAMD_DKIM_KEY_RSA: { GError *err = NULL; @@ -3226,7 +3232,7 @@ rspamd_dkim_sign_key_get_type(rspamd_dkim_sign_key_t *key) if (key) { return key->type; } - return RSPAMD_DKIM_KEY_UNKNOWN; + return RSPAMD_DKIM_KEY_INVALID; } gboolean diff --git a/src/libserver/dkim.h b/src/libserver/dkim.h index de3ba0ff0b..2b4122e709 100644 --- a/src/libserver/dkim.h +++ b/src/libserver/dkim.h @@ -111,6 +111,7 @@ enum rspamd_sign_type { }; enum rspamd_dkim_key_type { + RSPAMD_DKIM_KEY_INVALID = -1, RSPAMD_DKIM_KEY_RSA = 0, RSPAMD_DKIM_KEY_ECDSA, RSPAMD_DKIM_KEY_EDDSA diff --git a/src/lua/lua_logger.c b/src/lua/lua_logger.c index bdfc218ebc..30cd53a2bc 100644 --- a/src/lua/lua_logger.c +++ b/src/lua/lua_logger.c @@ -345,13 +345,13 @@ lua_logger_out_int(lua_State *L, int pos, char *outbuf, gsize len, gboolean is_u gsize slen; const char *str = lua_tolstring(L, pos, &slen); if (is_unsigned) { - guint64 uval; + gulong uval; if (rspamd_strtoul(str, slen, &uval)) { return rspamd_snprintf(outbuf, len, "%uL", uval); } } else { - gint64 ival; + glong ival; if (rspamd_strtol(str, slen, &ival)) { return rspamd_snprintf(outbuf, len, "%L", ival); }