Merge pull request #208819 from LeSuisse/libmilter-8.17.1

This commit is contained in:
Franz Pletz 2023-01-03 13:13:08 +01:00 committed by GitHub
commit a17a819d9b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 15 additions and 59 deletions

View File

@ -13,16 +13,16 @@ Fix build issues on Darwin.
define(`confLDOPTS', `${Extra_LD_Flags}')
--- a/sendmail/sendmail.h 2020-05-18 14:51:17.000000000 +0200
+++ b/sendmail/sendmail.h 2020-05-18 14:51:00.000000000 +0200
@@ -104,7 +104,11 @@
# endif /* NETX25 */
@@ -122,7 +122,11 @@
# endif
# if NAMED_BIND
-# include <arpa/nameser.h>
+# ifdef __APPLE__
+# include <arpa/nameser_compat.h>
+# else
+# include <arpa/nameser.h>
+# endif
# ifdef NOERROR
# undef NOERROR /* avoid <sys/streams.h> conflict */
# endif /* NOERROR */
#if NAMED_BIND
-# include <arpa/nameser.h>
+# ifdef __APPLE__
+# include <arpa/nameser_compat.h>
+# else
+# include <arpa/nameser.h>
+# endif
# ifdef NOERROR
# undef NOERROR /* avoid <sys/streams.h> conflict */
# endif

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "libmilter";
version = "8.15.2";
version = "8.17.1";
src = fetchurl {
url = "ftp://ftp.sendmail.org/pub/sendmail/sendmail.${version}.tar.gz";
sha256 = "0fdl9ndmspqspdlmghzxlaqk56j3yajk52d7jxcg21b7sxglpy94";
sha256 = "sha256-BLx2tsiG5tERvn/Y2qMrjOABKKKItrUuBnvCnzhUpuY=";
};
buildPhase = ''
@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
sh Build -f ./a.m4
'';
patches = [ ./install.patch ./sharedlib.patch ./glibc-2.30.patch ./darwin.patch ];
patches = [ ./install.patch ./sharedlib.patch ./darwin.patch ];
nativeBuildInputs = [ m4 ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;

View File

@ -1,44 +0,0 @@
diff --git a/libmilter/sm_gethost.c b/libmilter/sm_gethost.c
index 2423c34..f00468c 100644
--- a/libmilter/sm_gethost.c
+++ b/libmilter/sm_gethost.c
@@ -52,16 +52,8 @@ sm_getipnodebyname(name, family, flags, err)
bool resv6 = true;
struct hostent *h;
- if (family == AF_INET6)
- {
- /* From RFC2133, section 6.1 */
- resv6 = bitset(RES_USE_INET6, _res.options);
- _res.options |= RES_USE_INET6;
- }
SM_SET_H_ERRNO(0);
- h = gethostbyname(name);
- if (family == AF_INET6 && !resv6)
- _res.options &= ~RES_USE_INET6;
+ h = gethostbyname2(name, family);
/* the function is supposed to return only the requested family */
if (h != NULL && h->h_addrtype != family)
diff --git a/sendmail/conf.c b/sendmail/conf.c
index c73334e..500dafb 100644
--- a/sendmail/conf.c
+++ b/sendmail/conf.c
@@ -4243,16 +4243,8 @@ sm_getipnodebyname(name, family, flags, err)
# else /* HAS_GETHOSTBYNAME2 */
bool resv6 = true;
- if (family == AF_INET6)
- {
- /* From RFC2133, section 6.1 */
- resv6 = bitset(RES_USE_INET6, _res.options);
- _res.options |= RES_USE_INET6;
- }
SM_SET_H_ERRNO(0);
- h = gethostbyname(name);
- if (!resv6)
- _res.options &= ~RES_USE_INET6;
+ h = gethostbyname2(name, family);
/* the function is supposed to return only the requested family */
if (h != NULL && h->h_addrtype != family)