Skip Menu |

This queue is for tickets about the Socket CPAN distribution.

Report information
The Basics
Id: 79018
Status: resolved
Priority: 0/
Queue: Socket

People
Owner: Nobody in particular
Requestors: jdhedden [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in:
  • 2.003
  • 2.004
Fixed in: 2.005



Subject: [PATCH] Cygwin 1.5 doesn't have ip_mreq_source
Socket.xs fails to compile under Cygwin 1.5. Cygwin 1.5 has ip_mreq, but does not have ip_mreq_source. (Cygwin 1.7 has both.) The attached patch fixes this by adding a probe for ip_mreq_source (in addition to the probe for ip_mreq).
Subject: Socket.patch
# Cygwin 1.5 doesn't have ip_mreq_source --- Socket-2.004/Makefile.PL-orig 2012-08-16 10:10:08.389133300 -0400 +++ Socket-2.004/Makefile.PL 2012-08-16 10:14:25.134203700 -0400 @@ -116,6 +116,12 @@ ); check_for( + confkey => "d_ip_mreq_source", + define => "HAS_IP_MREQ_SOURCE", + main => "struct ip_mreq_source mreq; mreq.imr_multiaddr.s_addr = INADDR_ANY;" +); + +check_for( confkey => "d_ipv6_mreq", define => "HAS_IPV6_MREQ", main => "struct ipv6_mreq mreq; mreq.ipv6mr_interface = 0;" --- Socket-2.004/Socket.xs-orig 2012-08-16 10:10:18.170195500 -0400 +++ Socket-2.004/Socket.xs 2012-08-16 10:14:39.493303000 -0400 @@ -1026,7 +1026,7 @@ SV * interface CODE: { -#if defined(HAS_IP_MREQ) && defined (IP_ADD_SOURCE_MEMBERSHIP) +#if defined(HAS_IP_MREQ_SOURCE) && defined (IP_ADD_SOURCE_MEMBERSHIP) struct ip_mreq_source mreq; char * multiaddrbytes; char * sourcebytes; @@ -1069,7 +1069,7 @@ SV * mreq_sv PPCODE: { -#if defined(HAS_IP_MREQ) && defined (IP_ADD_SOURCE_MEMBERSHIP) +#if defined(HAS_IP_MREQ_SOURCE) && defined (IP_ADD_SOURCE_MEMBERSHIP) struct ip_mreq_source mreq; STRLEN mreqlen; char * mreqbytes = SvPVbyte(mreq_sv, mreqlen);
Ahyes, a good point. Applied, will be in 2.005. -- Paul Evans
Released in 2.005. -- Paul Evans