7 Commits

Author SHA256 Message Date
bab7cb75db Accepting request 1328849 from server:mail
- Add patch to support Lua 5.3
  * lua-5.3.patch

OBS-URL: https://build.opensuse.org/request/show/1328849
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/opendkim?expand=0&rev=13
2026-01-23 16:34:19 +00:00
81b5843b7c * lua-5.3.patch
OBS-URL: https://build.opensuse.org/package/show/server:mail/opendkim?expand=0&rev=36
2026-01-23 10:12:43 +00:00
93a3f3731d - Add patch to support Lua 5.3
OBS-URL: https://build.opensuse.org/package/show/server:mail/opendkim?expand=0&rev=35
2026-01-23 10:08:04 +00:00
a7e9e05a14 Accepting request 1328295 from server:mail
OBS-URL: https://build.opensuse.org/request/show/1328295
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/opendkim?expand=0&rev=12
2026-01-21 13:15:35 +00:00
2a4d8fc3d1 - Fix build with GCC 15
OBS-URL: https://build.opensuse.org/package/show/server:mail/opendkim?expand=0&rev=33
2026-01-20 14:43:35 +00:00
215f434fc1 Accepting request 1223827 from server:mail
OBS-URL: https://build.opensuse.org/request/show/1223827
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/opendkim?expand=0&rev=11
2024-11-13 14:29:03 +00:00
Ferdinand Thiessen
53a4f0f660 - Added rev-ares-deletion.patch
- Added ares-missing-space.patch
- Added ftbfs-gcc-14-1075339.patch from debian
  Fixes building with GCC14+
- Added opendkim-2.10.3-incompatible-pointer-types.patch from gentoo

OBS-URL: https://build.opensuse.org/package/show/server:mail/opendkim?expand=0&rev=31
2024-11-13 03:34:27 +00:00
7 changed files with 475 additions and 3 deletions

16
ares-missing-space.patch Normal file
View File

@@ -0,0 +1,16 @@
Description: Add missing space in Authentication-Results header
Author: David Bürgin <dbuergin@gluet.ch>
Bug: https://github.com/trusteddomainproject/OpenDKIM/pull/67
--- a/opendkim/opendkim.c
+++ b/opendkim/opendkim.c
@@ -13511,7 +13511,8 @@
/* NOTREACHED */
}
- snprintf(header, sizeof header, "%s; dkim=%s (%s)",
+ snprintf((char *) header, sizeof header, "%s%s; dkim=%s (%s)",
+ cc->cctx_noleadspc ? " " : "",
authservid, ar,
dkimf_lookup_inttostr(dfc->mctx_status,
dkimf_statusstrings));

View File

@@ -0,0 +1,17 @@
Description: Fix FTBFS with gcc-14
Author: Tim Woodall <debianbugs@woodall.me.uk>
Bug-Debian: https://bugs.debian.org/1075339
Forwarded: no
Last-Update: 2024-08-25
--- opendkim-2.11.0~beta2.orig/librbl/rbl.c
+++ opendkim-2.11.0~beta2/librbl/rbl.c
@@ -329,7 +329,7 @@ void
rbl_res_close(void *srv)
{
#ifdef HAVE_RES_NINIT
- struct state *res;
+ struct __res_state *res;
res = srv;

337
lua-5.3.patch Normal file
View File

@@ -0,0 +1,337 @@
Description: Add support for Lua 5.3
Author: Matt Domsch <matt@domsch.com>
Bug: https://github.com/trusteddomainproject/OpenDKIM/pull/70
--- a/miltertest/miltertest.c
+++ b/miltertest/miltertest.c
@@ -4009,12 +4009,12 @@
}
/* register functions */
-#if LUA_VERSION_NUM == 502
- luaL_newlib(l, mt_library);
+#if LUA_VERSION_NUM >= 502
+ luaL_newlib(l, mt_library);
lua_setglobal(l, "mt");
-#else /* LUA_VERSION_NUM == 502 */
+#else /* LUA_VERSION_NUM >= 502 */
luaL_register(l, "mt", mt_library);
-#endif /* LUA_VERSION_NUM == 502 */
+#endif /* LUA_VERSION_NUM >= 502 */
lua_pop(l, 1);
/* register constants */
@@ -4163,13 +4163,13 @@
lua_setglobal(l, "SMFIF_SETSYMLIST");
#endif /* SMFIF_SETSYMLIST */
-#if LUA_VERSION_NUM == 502
+#if LUA_VERSION_NUM >= 502
switch (lua_load(l, mt_lua_reader, (void *) &io,
script == NULL ? "(stdin)" : script, NULL))
-#else /* LUA_VERSION_NUM == 502 */
+#else /* LUA_VERSION_NUM >= 502 */
switch (lua_load(l, mt_lua_reader, (void *) &io,
script == NULL ? "(stdin)" : script))
-#endif /* LUA_VERSION_NUM == 502 */
+#endif /* LUA_VERSION_NUM >= 502 */
{
case 0:
break;
--- a/opendkim/opendkim-lua.c
+++ b/opendkim/opendkim-lua.c
@@ -285,11 +285,11 @@
free(ptr);
return NULL;
}
-# if LUA_VERSION_NUM == 502
+# if LUA_VERSION_NUM >= 502
else if (nsize != 0 && ptr == NULL)
-# else /* LUA_VERSION_NUM == 502 */
+# else /* LUA_VERSION_NUM >= 502 */
else if (nsize != 0 && osize == 0)
-# endif /* LUA_VERSION_NUM == 502 */
+# endif /* LUA_VERSION_NUM >= 502 */
{
return malloc(nsize);
}
@@ -485,12 +485,12 @@
** Register functions.
*/
-# if LUA_VERSION_NUM == 502
+# if LUA_VERSION_NUM >= 502
luaL_newlib(l, dkimf_lua_lib_setup);
lua_setglobal(l, "odkim");
-# else /* LUA_VERSION_NUM == 502 */
+# else /* LUA_VERSION_NUM >= 502 */
luaL_register(l, "odkim", dkimf_lua_lib_setup);
-# endif /* LUA_VERSION_NUM == 502 */
+# endif /* LUA_VERSION_NUM >= 502 */
lua_pop(l, 1);
/*
@@ -532,11 +532,11 @@
/* import other globals */
dkimf_import_globals(ctx, l);
-# if LUA_VERSION_NUM == 502
+# if LUA_VERSION_NUM >= 502
switch (lua_load(l, dkimf_lua_reader, (void *) &io, name, NULL))
-# else /* LUA_VERSION_NUM == 502 */
+# else /* LUA_VERSION_NUM >= 502 */
switch (lua_load(l, dkimf_lua_reader, (void *) &io, name))
-# endif /* LUA_VERSION_NUM == 502 */
+# endif /* LUA_VERSION_NUM >= 502 */
{
case 0:
break;
@@ -564,8 +564,12 @@
io.lua_io_len = 0;
io.lua_io_alloc = 0;
+#if LUA_VERSION_NUM >= 503
+ if (lua_dump(l, dkimf_lua_writer, &io, 0) == 0)
+#else
if (lua_dump(l, dkimf_lua_writer, &io) == 0)
- {
+#endif
+ {
*keep = (void *) io.lua_io_script;
*funclen = io.lua_io_len;
}
@@ -640,12 +644,12 @@
** Register functions.
*/
-# if LUA_VERSION_NUM == 502
+# if LUA_VERSION_NUM >= 502
luaL_newlib(l, dkimf_lua_lib_screen);
lua_setglobal(l, "odkim");
-# else /* LUA_VERSION_NUM == 502 */
+# else /* LUA_VERSION_NUM >= 502 */
luaL_register(l, "odkim", dkimf_lua_lib_screen);
-# endif /* LUA_VERSION_NUM == 502 */
+# endif /* LUA_VERSION_NUM >= 502 */
lua_pop(l, 1);
/*
@@ -677,11 +681,11 @@
/* import other globals */
dkimf_import_globals(ctx, l);
-# if LUA_VERSION_NUM == 502
+# if LUA_VERSION_NUM >= 502
switch (lua_load(l, dkimf_lua_reader, (void *) &io, name, NULL))
-# else /* LUA_VERSION_NUM == 502 */
+# else /* LUA_VERSION_NUM >= 502 */
switch (lua_load(l, dkimf_lua_reader, (void *) &io, name))
-# endif /* LUA_VERSION_NUM == 502 */
+# endif /* LUA_VERSION_NUM >= 502 */
{
case 0:
break;
@@ -709,7 +713,11 @@
io.lua_io_len = 0;
io.lua_io_alloc = 0;
+#if LUA_VERSION_NUM >= 503
+ if (lua_dump(l, dkimf_lua_writer, &io, 0) == 0)
+#else
if (lua_dump(l, dkimf_lua_writer, &io) == 0)
+#endif
{
*keep = (void *) io.lua_io_script;
*funclen = io.lua_io_len;
@@ -785,12 +793,12 @@
** Register functions.
*/
-# if LUA_VERSION_NUM == 502
+# if LUA_VERSION_NUM >= 502
luaL_newlib(l, dkimf_lua_lib_stats);
lua_setglobal(l, "odkim");
-# else /* LUA_VERSION_NUM == 502 */
+# else /* LUA_VERSION_NUM >= 502 */
luaL_register(l, "odkim", dkimf_lua_lib_stats);
-# endif /* LUA_VERSION_NUM == 502 */
+# endif /* LUA_VERSION_NUM >= 502 */
lua_pop(l, 1);
/*
@@ -914,11 +922,11 @@
/* import other globals */
dkimf_import_globals(ctx, l);
-# if LUA_VERSION_NUM == 502
+# if LUA_VERSION_NUM >= 502
switch (lua_load(l, dkimf_lua_reader, (void *) &io, name, NULL))
-# else /* LUA_VERSION_NUM == 502 */
+# else /* LUA_VERSION_NUM >= 502 */
switch (lua_load(l, dkimf_lua_reader, (void *) &io, name))
-# endif /* LUA_VERSION_NUM == 502 */
+# endif /* LUA_VERSION_NUM >= 502 */
{
case 0:
break;
@@ -946,7 +954,11 @@
io.lua_io_len = 0;
io.lua_io_alloc = 0;
+#if LUA_VERSION_NUM >= 503
+ if (lua_dump(l, dkimf_lua_writer, &io, 0) == 0)
+#else
if (lua_dump(l, dkimf_lua_writer, &io) == 0)
+#endif
{
*keep = (void *) io.lua_io_script;
*funclen = io.lua_io_len;
@@ -1022,12 +1034,12 @@
** Register functions.
*/
-# if LUA_VERSION_NUM == 502
+# if LUA_VERSION_NUM >= 502
luaL_newlib(l, dkimf_lua_lib_final);
lua_setglobal(l, "odkim");
-# else /* LUA_VERSION_NUM == 502 */
+# else /* LUA_VERSION_NUM >= 502 */
luaL_register(l, "odkim", dkimf_lua_lib_final);
-# endif /* LUA_VERSION_NUM == 502 */
+# endif /* LUA_VERSION_NUM >= 502 */
lua_pop(l, 1);
/*
@@ -1151,11 +1163,11 @@
/* import other globals */
dkimf_import_globals(ctx, l);
-# if LUA_VERSION_NUM == 502
+# if LUA_VERSION_NUM >= 502
switch (lua_load(l, dkimf_lua_reader, (void *) &io, name, NULL))
-# else /* LUA_VERSION_NUM == 502 */
+# else /* LUA_VERSION_NUM >= 502 */
switch (lua_load(l, dkimf_lua_reader, (void *) &io, name))
-# endif /* LUA_VERSION_NUM == 502 */
+# endif /* LUA_VERSION_NUM >= 502 */
{
case 0:
break;
@@ -1183,7 +1195,11 @@
io.lua_io_len = 0;
io.lua_io_alloc = 0;
+#if LUA_VERSION_NUM >= 503
+ if (lua_dump(l, dkimf_lua_writer, &io, 0) == 0)
+#else
if (lua_dump(l, dkimf_lua_writer, &io) == 0)
+#endif
{
*keep = (void *) io.lua_io_script;
*funclen = io.lua_io_len;
@@ -1252,11 +1268,11 @@
lua_pushstring(l, query);
lua_setglobal(l, "query");
-# if LUA_VERSION_NUM == 502
+# if LUA_VERSION_NUM >= 502
switch (lua_load(l, dkimf_lua_reader, (void *) &io, script, NULL))
-# else /* LUA_VERSION_NUM == 502 */
+# else /* LUA_VERSION_NUM >= 502 */
switch (lua_load(l, dkimf_lua_reader, (void *) &io, script))
-# endif /* LUA_VERSION_NUM == 502 */
+# endif /* LUA_VERSION_NUM >= 502 */
{
case 0:
break;
@@ -1284,7 +1300,11 @@
io.lua_io_len = 0;
io.lua_io_alloc = 0;
+#if LUA_VERSION_NUM >= 503
+ if (lua_dump(l, dkimf_lua_writer, &io, 0) == 0)
+#else
if (lua_dump(l, dkimf_lua_writer, &io) == 0)
+#endif
{
*keep = (void *) io.lua_io_script;
*funclen = io.lua_io_len;
--- a/configure.ac
+++ b/configure.ac
@@ -1517,7 +1517,7 @@
if test \( x"$luapath" = x"auto" -o x"$luapath" = x"yes" \) -a x"$PKG_CONFIG" != x""
then
- PKG_CHECK_MODULES([LIBLUA], [lua5.1],
+ PKG_CHECK_MODULES([LIBLUA], [lua5.3],
[
lua_found="yes"
LIBLUA_INCDIRS="$LIBLUA_CFLAGS"
@@ -1555,6 +1555,18 @@
AC_SUBST([LUA_MANNOTICE], "")
lua_found="yes"
break
+ elif test -f $d/include/lua53/lua.h
+ then
+ AC_MSG_RESULT($d)
+ LIBLUA_INCDIRS="-I$d/include/lua53"
+ LIBLUA_LIBDIRS="-L$d/lib/lua53"
+ LIBLUA_LIBS="-llua -lm"
+ AC_SEARCH_LIBS([dlopen], [dl])
+ AC_DEFINE([USE_LUA], 1,
+ [support for Lua scripting])
+ AC_SUBST([LUA_MANNOTICE], "")
+ lua_found="yes"
+ break
elif test -f $d/include/lua5.1/lua.h
then
AC_MSG_RESULT($d)
@@ -1579,6 +1591,18 @@
AC_SUBST([LUA_MANNOTICE], "")
lua_found="yes"
break
+ elif test -f $d/include/lua5.3/lua.h
+ then
+ AC_MSG_RESULT($d)
+ LIBLUA_INCDIRS="-I$d/include/lua5.3"
+ LIBLUA_LIBDIRS="-L$d/lib"
+ LIBLUA_LIBS="-llua5.3 -lm"
+ AC_SEARCH_LIBS([dlopen], [dl])
+ AC_DEFINE([USE_LUA], 1,
+ [support for Lua scripting])
+ AC_SUBST([LUA_MANNOTICE], "")
+ lua_found="yes"
+ break
elif test -f $d/include/lua.h
then
AC_MSG_RESULT($d)
@@ -1620,6 +1644,14 @@
LIBLUA_LIBS="-llua -lm"
AC_SEARCH_LIBS([dlopen], [dl])
lua_found="yes"
+ elif test -f $luapath/include/lua53/lua.h
+ then
+ AC_MSG_RESULT($luapath)
+ LIBLUA_INCDIRS="-I$luapath/include/lua53"
+ LIBLUA_LIBDIRS="-L$luapath/lib/lua53"
+ LIBLUA_LIBS="-llua -lm"
+ AC_SEARCH_LIBS([dlopen], [dl])
+ lua_found="yes"
elif test -f $luapath/include/lua5.1/lua.h
then
AC_MSG_RESULT($luapath)
@@ -1636,6 +1668,14 @@
LIBLUA_LIBS="-llua5.2 -lm"
AC_SEARCH_LIBS([dlopen], [dl])
lua_found="yes"
+ elif test -f $luapath/include/lua5.3/lua.h
+ then
+ AC_MSG_RESULT($luapath)
+ LIBLUA_INCDIRS="-I$luapath/include/lua5.3"
+ LIBLUA_LIBDIRS="-L$luapath/lib"
+ LIBLUA_LIBS="-llua5.3 -lm"
+ AC_SEARCH_LIBS([dlopen], [dl])
+ lua_found="yes"
elif test -f $luapath/include/lua.h
then
AC_MSG_RESULT($luapath)

View File

@@ -0,0 +1,32 @@
From 514ed1085d7399f7fe3bb53e6ae4693168dd0ab9 Mon Sep 17 00:00:00 2001
From: Michael Orlitzky <michael@orlitzky.com>
Date: Mon, 22 Apr 2024 07:37:40 -0400
Subject: [PATCH] opendkim/opendkim.c: add two missing dkimf_dstring_get()
calls
This fixes the build with CFLAGS="-Werror=incompatible-pointer-types",
which some newer compilers are planning to make default.
Gentoo-Bug: https://bugs.gentoo.org/919366
---
opendkim/opendkim.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/opendkim/opendkim.c b/opendkim/opendkim.c
index d4229e8f..93d05a1e 100644
--- a/opendkim/opendkim.c
+++ b/opendkim/opendkim.c
@@ -11656,8 +11656,8 @@ mlfi_eoh(SMFICTX *ctx)
(status != 0 || user == NULL || domain == NULL ||
user[0] == '\0' || domain[0] == '\0'))
{
- strlcpy(addr, conf->conf_defsender, sizeof addr);
- status = dkim_mail_parse(addr, &user, &domain);
+ strlcpy(dkimf_dstring_get(addr), conf->conf_defsender, sizeof addr);
+ status = dkim_mail_parse(dkimf_dstring_get(addr), &user, &domain);
}
#endif /* _FFR_DEFAULT_SENDER */
--
2.43.2

View File

@@ -1,3 +1,23 @@
-------------------------------------------------------------------
Tue Jan 20 15:00:31 UTC 2026 - Ana Guerrero <ana.guerrero@suse.com>
- Add patch to support Lua 5.3
* lua-5.3.patch
-------------------------------------------------------------------
Tue Jan 20 14:35:37 UTC 2026 - Ana Guerrero <ana.guerrero@suse.com>
- Fix build with GCC 15
-------------------------------------------------------------------
Wed Nov 13 03:18:29 UTC 2024 - Ferdinand Thiessen <rpm@fthiessen.de>
- Added rev-ares-deletion.patch
- Added ares-missing-space.patch
- Added ftbfs-gcc-14-1075339.patch from debian
Fixes building with GCC14+
- Added opendkim-2.10.3-incompatible-pointer-types.patch from gentoo
-------------------------------------------------------------------
Mon Feb 26 12:38:44 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>

View File

@@ -1,7 +1,7 @@
#
# spec file for package opendkim
#
# Copyright (c) 2021 SUSE LLC
# Copyright (c) 2026 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -57,16 +57,25 @@ Patch3: unbound-fix.patch
Patch4: harden_opendkim.service.patch
# PATCH-FIX-UPSTREAM fix-RSA_sign-call.patch -- Fix RSA sign call on big endian systems ref: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1012506
Patch5: fix-RSA_sign-call.patch
# PATCH-FIX-UPSTREAM rev-ares-deletion.patch.patch -- https://github.com/trusteddomainproject/OpenDKIM/pull/189
Patch6: rev-ares-deletion.patch
# PATCH-FIX-UPSTREAM ares-missing-space.patch -- https://github.com/trusteddomainproject/OpenDKIM/pull/67
Patch7: ares-missing-space.patch
# PATCH-FIX-UPSTREAM ftbfs-gcc-14-1075339.patch -- ref: https://bugs.debian.org/1075339
Patch8: ftbfs-gcc-14-1075339.patch
# PATCH-FIX-UPSTREAM opendkim-2.10.3-incompatible-pointer-types.patch -- ref: https://bugs.gentoo.org/919366
Patch9: opendkim-2.10.3-incompatible-pointer-types.patch
# PATCH-FIX_UPSTREAM lua5.3.patch https://github.com/trusteddomainproject/OpenDKIM/pull/70
Patch10: lua-5.3.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: curl-devel
BuildRequires: cyrus-sasl-devel
BuildRequires: db-devel
#BuildRequires: erlang
BuildRequires: libbsd-devel
BuildRequires: libevent-devel
BuildRequires: libtool
BuildRequires: lua51-devel
BuildRequires: lua53-devel
BuildRequires: openldap2-devel
BuildRequires: pkgconfig
BuildRequires: postgresql-devel
@@ -223,8 +232,16 @@ This package holds the development files.
%patch -P 3 -p0
%patch -P 4 -p1
%patch -P 5 -p1
%patch -P 6 -p1
%patch -P 7 -p1
%patch -P 8 -p1
%patch -P 9 -p1
%patch -P 10 -p1
%build
%if %{pkg_vcmp gcc >= 15}
export CFLAGS="%{optflags} -std=gnu17"
%endif
autoreconf -iv
%configure \
--includedir=%{_includedir}/%{name} \

33
rev-ares-deletion.patch Normal file
View File

@@ -0,0 +1,33 @@
Description: Delete Authentication-Results headers in reverse (CVE-2022-48521)
Author: David Bürgin <dbuergin@gluet.ch>
Bug: https://github.com/trusteddomainproject/OpenDKIM/pull/189
--- a/opendkim/opendkim.c
+++ b/opendkim/opendkim.c
@@ -13651,9 +13651,16 @@
return SMFIS_TEMPFAIL;
}
- c = 0;
+ c = 1;
+
for (hdr = dfc->mctx_hqhead; hdr != NULL; hdr = hdr->hdr_next)
{
+ if (strcasecmp(hdr->hdr_hdr, AUTHRESULTSHDR) == 0)
+ c++;
+ }
+
+ for (hdr = dfc->mctx_hqtail; hdr != NULL; hdr = hdr->hdr_prev)
+ {
memset(ares, '\0', sizeof(struct authres));
if (strcasecmp(hdr->hdr_hdr, AUTHRESULTSHDR) == 0)
@@ -13664,7 +13671,7 @@
char *slash;
/* remember index */
- c++;
+ c--;
/* parse the header */
arstat = ares_parse((u_char *) hdr->hdr_val,