diff --git a/.gitignore b/.gitignore index 3c48cbf..f749f31 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,4 @@ /Socket-2.027.tar.gz /Socket-2.029.tar.gz /Socket-2.030.tar.gz +/Socket-2.031.tar.gz diff --git a/Socket-2.029-inet_aton-Use-getaddrinfo-if-possible.patch b/Socket-2.029-inet_aton-Use-getaddrinfo-if-possible.patch deleted file mode 100644 index 124152b..0000000 --- a/Socket-2.029-inet_aton-Use-getaddrinfo-if-possible.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 0be99f8799e90eaed4e8eeb7d5be7de81dd71360 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= -Date: Thu, 11 Apr 2019 18:17:16 +0200 -Subject: [PATCH] inet_aton: Use getaddrinfo() if possible -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Socket::inet_aton() used gethostbyname() to process arguments that are -not an IP addres. However, gethostbyname() is not thread-safe and when -called from multiple threads a bogus value can be returned. - -This patch does add any new test because a basic inet_aton() usage is -already covered and because reproducing the thread failure would -require flodding DNS servers with thousounds of request. - - - - -Signed-off-by: Petr Písař ---- - Socket.xs | 16 +++++++++++++++- - 1 file changed, 15 insertions(+), 1 deletion(-) - -diff --git a/Socket.xs b/Socket.xs -index e46c93e..65244dd 100644 ---- a/Socket.xs -+++ b/Socket.xs -@@ -764,19 +764,33 @@ inet_aton(host) - char * host - CODE: - { -+#ifdef HAS_GETADDRINFO -+ struct addrinfo *res; -+ struct addrinfo hints = {0,}; -+ hints.ai_family = AF_INET; -+ if (!getaddrinfo(host, NULL, &hints, &res)) { -+ ST(0) = sv_2mortal(newSVpvn( -+ (char *)&(((struct sockaddr_in *)res->ai_addr)->sin_addr.s_addr), -+ 4 -+ )); -+ freeaddrinfo(res); -+ XSRETURN(1); -+ } -+#else - struct in_addr ip_address; - struct hostent * phe; -- - if ((*host != '\0') && inet_aton(host, &ip_address)) { - ST(0) = sv_2mortal(newSVpvn((char *)&ip_address, sizeof(ip_address))); - XSRETURN(1); - } - #ifdef HAS_GETHOSTBYNAME -+ /* gethostbyname is not thread-safe */ - phe = gethostbyname(host); - if (phe && phe->h_addrtype == AF_INET && phe->h_length == 4) { - ST(0) = sv_2mortal(newSVpvn((char *)phe->h_addr, phe->h_length)); - XSRETURN(1); - } -+#endif - #endif - XSRETURN_UNDEF; - } --- -2.20.1 - diff --git a/perl-Socket.spec b/perl-Socket.spec index f590c96..93f7ba0 100644 --- a/perl-Socket.spec +++ b/perl-Socket.spec @@ -1,13 +1,11 @@ Name: perl-Socket Epoch: 4 -Version: 2.030 -Release: 2%{?dist} +Version: 2.031 +Release: 1%{?dist} Summary: Networking constants and support functions License: GPL+ or Artistic URL: https://metacpan.org/release/Socket Source0: https://cpan.metacpan.org/authors/id/P/PE/PEVANS/Socket-%{version}.tar.gz -# Make Socket::inet_aton() thread safe, CPAN RT#129189, bug #1693293 -Patch0: Socket-2.029-inet_aton-Use-getaddrinfo-if-possible.patch BuildRequires: coreutils BuildRequires: findutils BuildRequires: gcc @@ -47,7 +45,6 @@ human-readable and native binary forms, and for hostname resolver operations. %prep %setup -q -n Socket-%{version} -%patch0 -p1 %build perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 NO_PERLLOCAL=1 OPTIMIZE="$RPM_OPT_FLAGS" @@ -69,6 +66,9 @@ make test %{_mandir}/man3/* %changelog +* Wed Jan 06 2021 Jitka Plesnikova - 4:2.031-1 +- 2.031 bump + * Tue Jul 28 2020 Fedora Release Engineering - 4:2.030-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild diff --git a/sources b/sources index 8f55ac1..1c23f31 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (Socket-2.030.tar.gz) = 76d520e8cd60ac5f4d5e713eec784d4b626593c2b24f91dc07bb3df1eab844c1124cff8797bcad6144b32bd6bd2b2eca2f3244784f4fb33ddc15c18ba9ae442e +SHA512 (Socket-2.031.tar.gz) = 8c44f20be19988a26ea2c451ec0e5a732d5471ea5cc1af93a1c1c202fb283ee6ccc094c940b9e258d7613ef8afcbfa52581ccdb65feb1008cead46fa7f036924