diff options
Diffstat (limited to 'mail-mta/opensmtpd/files/opensmtpd-6.8.0_p2-implicit-function-declaration.patch')
-rw-r--r-- | mail-mta/opensmtpd/files/opensmtpd-6.8.0_p2-implicit-function-declaration.patch | 303 |
1 files changed, 303 insertions, 0 deletions
diff --git a/mail-mta/opensmtpd/files/opensmtpd-6.8.0_p2-implicit-function-declaration.patch b/mail-mta/opensmtpd/files/opensmtpd-6.8.0_p2-implicit-function-declaration.patch new file mode 100644 index 000000000000..11af2aa7630c --- /dev/null +++ b/mail-mta/opensmtpd/files/opensmtpd-6.8.0_p2-implicit-function-declaration.patch @@ -0,0 +1,303 @@ +https://github.com/OpenSMTPD/OpenSMTPD/pull/1195 +https://bugs.gentoo.org/727260 +https://bugs.gentoo.org/896050 +https://bugs.gentoo.org/899876 + +From 7abe6305f864113aec4c6fc55cccabdc55959252 Mon Sep 17 00:00:00 2001 +From: orbea <orbea@riseup.net> +Date: Thu, 13 Apr 2023 11:04:14 -0700 +Subject: [PATCH] build: Fix -Werror=implicit-function-declaration + +On a system with musl these functions are not available, but they are +found by the build system inside of libbsd instead. However many of the +relevant headers are never incuded resulting in many implicit function +declarations. Additionally clang-16 is more strict about these turning +them into errors. + +* While libbsd contains symbols for inet_net_pton() they do not have any + headers with the function prototype. Upstream has marked this function + for removal since it is now provided in glibc even when musl doesn't + have it. This can be fixed by not looking for inet_net_pton() in libbsd. +--- + configure.ac | 6 +++++- + openbsd-compat/openbsd-compat.h | 4 +++- + usr.sbin/smtpd/aliases.c | 3 +++ + usr.sbin/smtpd/config.c | 6 ++++++ + usr.sbin/smtpd/control.c | 3 +++ + usr.sbin/smtpd/envelope.c | 3 +++ + usr.sbin/smtpd/forward.c | 3 +++ + usr.sbin/smtpd/mail.maildir.c | 1 + + usr.sbin/smtpd/mda.c | 2 ++ + usr.sbin/smtpd/mda_variables.c | 3 +++ + usr.sbin/smtpd/mta_session.c | 3 +++ + usr.sbin/smtpd/parse.y | 3 +++ + usr.sbin/smtpd/smtp_session.c | 2 ++ + usr.sbin/smtpd/ssl.c | 6 ++++++ + usr.sbin/smtpd/table.c | 3 +++ + usr.sbin/smtpd/to.c | 3 +++ + usr.sbin/smtpd/util.c | 3 +++ + 17 files changed, 55 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index c215f3bf..cf6fa675 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -119,6 +119,10 @@ AC_SUBST([MANFMT]) + # + AC_CHECK_HEADERS([ \ + arpa/nameser_compat.h \ ++ bsd/stdlib.h \ ++ bsd/string.h \ ++ bsd/unistd.h \ ++ bsd/vis.h \ + crypt.h \ + dirent.h \ + err.h \ +@@ -442,7 +446,7 @@ AC_SEARCH_LIBS([dirname], + ]) + + AC_SEARCH_LIBS([inet_net_pton], +- [resolv bsd], ++ [resolv], + [ + AC_DEFINE([HAVE_INET_NET_PTON], [1], + [Define if you have the inet_net_pton() function.]) +diff --git a/openbsd-compat/openbsd-compat.h b/openbsd-compat/openbsd-compat.h +index dcb643f1..5bebd78b 100644 +--- a/openbsd-compat/openbsd-compat.h ++++ b/openbsd-compat/openbsd-compat.h +@@ -41,7 +41,9 @@ + + #include <sys/queue.h> + #include <sys/tree.h> ++#ifndef HAVE_BSD_VIS_H + #include "bsd-vis.h" ++#endif + + #ifdef HAVE_SYS_TIME_H + #include <sys/time.h> +@@ -67,7 +69,7 @@ size_t strlcpy(char *dst, const char *src, size_t size); + size_t strlcat(char *dst, const char *src, size_t size); + #endif + +-#ifndef HAVE_STRMODE ++#if !defined(HAVE_STROMODE) && !defined(HAVE_BSD_STRING_H) + void strmode(int mode, char *p); + #endif + +diff --git a/usr.sbin/smtpd/aliases.c b/usr.sbin/smtpd/aliases.c +index 0f8a5c1e..f66d13e4 100644 +--- a/usr.sbin/smtpd/aliases.c ++++ b/usr.sbin/smtpd/aliases.c +@@ -37,6 +37,9 @@ + #ifdef HAVE_LIBUTIL_H + #include <libutil.h> + #endif ++#ifdef HAVE_BSD_LIBUTIL_H ++#include <bsd/libutil.h> /* needed for fparseln */ ++#endif + + #include "smtpd.h" + #include "log.h" +diff --git a/usr.sbin/smtpd/config.c b/usr.sbin/smtpd/config.c +index 8fe983d6..e1056b1d 100644 +--- a/usr.sbin/smtpd/config.c ++++ b/usr.sbin/smtpd/config.c +@@ -30,9 +30,15 @@ + #include <netdb.h> + #include <stdio.h> + #include <stdlib.h> ++#ifdef HAVE_BSD_STDLIB_H ++#include <bsd/stdlib.h> /* needed for freezero */ ++#endif + #include <limits.h> + #include <string.h> + #include <unistd.h> ++#ifdef HAVE_BSD_UNISTD_H ++#include <bsd/unistd.h> /* needed for setproctitle */ ++#endif + + #include <openssl/ssl.h> + +diff --git a/usr.sbin/smtpd/control.c b/usr.sbin/smtpd/control.c +index dbb2840d..b9f0df88 100644 +--- a/usr.sbin/smtpd/control.c ++++ b/usr.sbin/smtpd/control.c +@@ -40,6 +40,9 @@ + #include <string.h> + #include <time.h> + #include <unistd.h> ++#ifdef HAVE_BSD_UNISTD_H ++#include <bsd/unistd.h> /* needed for getpeereid */ ++#endif + #include <limits.h> + + #include "smtpd.h" +diff --git a/usr.sbin/smtpd/envelope.c b/usr.sbin/smtpd/envelope.c +index 35d98b79..0bb45aae 100644 +--- a/usr.sbin/smtpd/envelope.c ++++ b/usr.sbin/smtpd/envelope.c +@@ -39,6 +39,9 @@ + #include <limits.h> + #include <stdio.h> + #include <stdlib.h> ++#ifdef HAVE_BSD_STDLIB_H ++#include <bsd/stdlib.h> /* needed for strtonum */ ++#endif + #include <string.h> + #include <time.h> + #include <unistd.h> +diff --git a/usr.sbin/smtpd/forward.c b/usr.sbin/smtpd/forward.c +index 7494c6ce..cf8dc6ef 100644 +--- a/usr.sbin/smtpd/forward.c ++++ b/usr.sbin/smtpd/forward.c +@@ -36,6 +36,9 @@ + #ifdef HAVE_LIBUTIL_H + #include <libutil.h> + #endif ++#ifdef HAVE_BSD_LIBUTIL_H ++#include <bsd/libutil.h> /* needed for fparseln */ ++#endif + #include <unistd.h> + #include <limits.h> + +diff --git a/usr.sbin/smtpd/mail.maildir.c b/usr.sbin/smtpd/mail.maildir.c +index fe6adba6..1f613b36 100644 +--- a/usr.sbin/smtpd/mail.maildir.c ++++ b/usr.sbin/smtpd/mail.maildir.c +@@ -34,6 +34,7 @@ + #include <string.h> + #include <time.h> + #include <sysexits.h> ++#include <time.h> + #include <unistd.h> + + #define MAILADDR_ESCAPE "!#$%&'*/?^`{|}~" +diff --git a/usr.sbin/smtpd/mda.c b/usr.sbin/smtpd/mda.c +index 5e8fec19..9bc31be6 100644 +--- a/usr.sbin/smtpd/mda.c ++++ b/usr.sbin/smtpd/mda.c +@@ -44,6 +44,8 @@ + #include <limits.h> + #if defined(HAVE_VIS_H) && !defined(BROKEN_STRNVIS) + #include <vis.h> ++#elif defined(HAVE_BSD_VIS_H) ++#include <bsd/vis.h> /* needed for strnvis */ + #else + #include "bsd-vis.h" + #endif +diff --git a/usr.sbin/smtpd/mda_variables.c b/usr.sbin/smtpd/mda_variables.c +index b672e492..10cb1cd0 100644 +--- a/usr.sbin/smtpd/mda_variables.c ++++ b/usr.sbin/smtpd/mda_variables.c +@@ -29,6 +29,9 @@ + #include <imsg.h> + #include <stdio.h> + #include <stdlib.h> ++#ifdef HAVE_BSD_STDLIB_H ++#include <bsd/stdlib.h> /* needed for strtonum */ ++#endif + #include <string.h> + #include <unistd.h> + #include <limits.h> +diff --git a/usr.sbin/smtpd/mta_session.c b/usr.sbin/smtpd/mta_session.c +index 327502b7..72f8d29b 100644 +--- a/usr.sbin/smtpd/mta_session.c ++++ b/usr.sbin/smtpd/mta_session.c +@@ -42,6 +42,9 @@ + #include <signal.h> + #include <stdio.h> + #include <stdlib.h> ++#ifdef HAVE_BSD_STDLIB_H ++#include <bsd/stdlib.h> /* needed for strtonum */ ++#endif + #include <string.h> + #include <time.h> + #include <unistd.h> +diff --git a/usr.sbin/smtpd/parse.y b/usr.sbin/smtpd/parse.y +index a82f8206..6510936d 100644 +--- a/usr.sbin/smtpd/parse.y ++++ b/usr.sbin/smtpd/parse.y +@@ -50,6 +50,9 @@ + #include <resolv.h> + #include <stdio.h> + #include <stdlib.h> ++#ifdef HAVE_BSD_STDLIB_H ++#include <bsd/stdlib.h> /* needed for strtonum */ ++#endif + #include <string.h> + #include <syslog.h> + #include <unistd.h> +diff --git a/usr.sbin/smtpd/smtp_session.c b/usr.sbin/smtpd/smtp_session.c +index e8167fca..8bc877ea 100644 +--- a/usr.sbin/smtpd/smtp_session.c ++++ b/usr.sbin/smtpd/smtp_session.c +@@ -43,6 +43,8 @@ + #include <unistd.h> + #if defined(HAVE_VIS_H) && !defined(BROKEN_STRNVIS) + #include <vis.h> ++#elif defined(HAVE_BSD_VIS_H) ++#include <bsd/vis.h> /* needed for strnvis */ + #else + #include "bsd-vis.h" + #endif +diff --git a/usr.sbin/smtpd/ssl.c b/usr.sbin/smtpd/ssl.c +index 97f7b1df..1ef692e5 100644 +--- a/usr.sbin/smtpd/ssl.c ++++ b/usr.sbin/smtpd/ssl.c +@@ -34,7 +34,13 @@ + #include <pwd.h> + #include <stdio.h> + #include <stdlib.h> ++#ifdef HAVE_BSD_STDLIB_H ++#include <bsd/stdlib.h> /* needed for freezero */ ++#endif + #include <string.h> ++#ifdef HAVE_BSD_STRING_H ++#include <bsd/string.h> /* needed for strmode */ ++#endif + #include <unistd.h> + + #include <openssl/ssl.h> +diff --git a/usr.sbin/smtpd/table.c b/usr.sbin/smtpd/table.c +index 6d3292ce..ed3ba6d3 100644 +--- a/usr.sbin/smtpd/table.c ++++ b/usr.sbin/smtpd/table.c +@@ -34,6 +34,9 @@ + #include <imsg.h> + #include <stdio.h> + #include <stdlib.h> ++#ifdef HAVE_BSD_STDLIB_H ++#include <bsd/stdlib.h> /* needed for strtonum */ ++#endif + #include <regex.h> + #include <limits.h> + #include <string.h> +diff --git a/usr.sbin/smtpd/to.c b/usr.sbin/smtpd/to.c +index 81a1bb54..1068b1a9 100644 +--- a/usr.sbin/smtpd/to.c ++++ b/usr.sbin/smtpd/to.c +@@ -43,6 +43,9 @@ + #include <stdarg.h> + #include <stdio.h> + #include <stdlib.h> ++#ifdef HAVE_BSD_STDLIB_H ++#include <bsd/stdlib.h> /* needed for strtonum */ ++#endif + #include <string.h> + #include <time.h> + #include <unistd.h> +diff --git a/usr.sbin/smtpd/util.c b/usr.sbin/smtpd/util.c +index b2b1458c..7b1b5876 100644 +--- a/usr.sbin/smtpd/util.c ++++ b/usr.sbin/smtpd/util.c +@@ -47,6 +47,9 @@ + #include <stdio.h> + #include <stdlib.h> + #include <string.h> ++#ifdef HAVE_BSD_STRING_H ++#include <bsd/string.h> /* needed for strmode */ ++#endif + #include <syslog.h> + #include <time.h> + #include <unistd.h> |