https://bz.apache.org/SpamAssassin/show_bug.cgi?id=8150

            Bug ID: 8150
           Summary: have_getaddrinfo_in_core fails
           Product: Spamassassin
           Version: 4.0.0
          Hardware: PC
                OS: FreeBSD
            Status: NEW
          Severity: normal
          Priority: P2
         Component: spamc/spamd
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: Undefined

The variable have_getaddrinfo_in_core fails to get set.  I'm running FreeBSD
stable 13.  Move the line with "require Socket" up from about line 81 to line
56 and it works.  I'm using IPv6 only so I get an error message related to
"protocol 28" from the code as distributed that is produced on line 167.  This
worked in spamassassin 4.0.0_2 with FreeBSD 13.2-STABLE pulled on 20230517 but
not in 4.0.0_3 with FreeBSD pulled on 20230722.

diff -uw /usr/local/bin/spamd~ /usr/local/bin/spamd
--- /usr/local/bin/spamd~       2023-07-26 09:22:03.000000000 -0400
+++ /usr/local/bin/spamd        2023-07-28 08:39:33.286767000 -0400
@@ -52,6 +52,7 @@

 # don't force requirement on IO::Socket::IP or IO::Socket::INET6
 BEGIN {
+  require Socket;
   $have_getaddrinfo_in_core = eval {
     # The Socket module (1.94) bundled with Perl 5.14.* provides
     # new affordances for IPv6, including implementations of the
@@ -78,7 +79,6 @@
     &NI_NUMERICHOST; &NI_NUMERICSERV; &NI_NAMEREQD; 1;
   };

-  require Socket;
   Socket->import(qw(:DEFAULT IPPROTO_TCP));

   &SOCK_STREAM; &IPPROTO_TCP; &SOMAXCONN; # enable inlining

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to