The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Changes 08
META.json 22
META.yml 22
Makefile.PL 38
Socket.pm 34
Socket.xs 08
6 files changed (This is a version diff) 1032
@@ -1,5 +1,13 @@
 Revision history for Socket
 
+2.020   2015/06/24 14:45:25
+        [CHANGES]
+         * Provide more IPPROTO constants - IGMP, GRE, ESP, AH, SCTP
+        
+        [BUGFIXES]
+         * Provide an SvPVx_nolen wrapper for older perls (<5.8.8) that lack
+           it (RT104120)
+
 2.019   2015/04/29 17:05:33
         [BUGFIXES]
          * Provide emulations of inet_ntop/inet_pton on MSWin32 by using
@@ -4,7 +4,7 @@
       "unknown"
    ],
    "dynamic_config" : 1,
-   "generated_by" : "ExtUtils::MakeMaker version 6.98, CPAN::Meta::Converter version 2.142690",
+   "generated_by" : "ExtUtils::MakeMaker version 6.98, CPAN::Meta::Converter version 2.150001",
    "license" : [
       "perl_5"
    ],
@@ -38,5 +38,5 @@
       }
    },
    "release_status" : "stable",
-   "version" : "2.019"
+   "version" : "2.020"
 }
@@ -8,7 +8,7 @@ configure_requires:
   ExtUtils::CBuilder: '0'
   ExtUtils::Constant: '0.23'
 dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 6.98, CPAN::Meta::Converter version 2.142690'
+generated_by: 'ExtUtils::MakeMaker version 6.98, CPAN::Meta::Converter version 2.150001'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -20,4 +20,4 @@ no_index:
     - inc
 requires:
   perl: '5.006001'
-version: '2.019'
+version: '2.020'
@@ -231,9 +231,14 @@ my @names = (
     {name=>"IPPROTO_IP",   type=>"IV", default=>["IV",   0]},
     {name=>"IPPROTO_IPV6", type=>"IV", default=>["IV",  41]},
     {name=>"IPPROTO_RAW",  type=>"IV", default=>["IV", 255]},
-    {name=>"IPPROTO_ICMP", type=>"IV", default=>["IV",  1]},
-    {name=>"IPPROTO_TCP",  type=>"IV", default=>["IV",  6]},
-    {name=>"IPPROTO_UDP",  type=>"IV", default=>["IV", 17]},
+    {name=>"IPPROTO_ICMP", type=>"IV", default=>["IV",   1]},
+    {name=>"IPPROTO_IGMP", type=>"IV", default=>["IV",   2]},
+    {name=>"IPPROTO_TCP",  type=>"IV", default=>["IV",   6]},
+    {name=>"IPPROTO_UDP",  type=>"IV", default=>["IV",  17]},
+    {name=>"IPPROTO_GRE",  type=>"IV", default=>["IV",  47]},
+    {name=>"IPPROTO_ESP",  type=>"IV", default=>["IV",  50]},
+    {name=>"IPPROTO_AH",   type=>"IV", default=>["IV",  51]},
+    {name=>"IPPROTO_SCTP", type=>"IV", default=>["IV", 132]},
     {name=>"SHUT_RD",   type=>"IV", default=>["IV", "0"]},
     {name=>"SHUT_WR",   type=>"IV", default=>["IV", "1"]},
     {name=>"SHUT_RDWR", type=>"IV", default=>["IV", "2"]},
@@ -3,7 +3,7 @@ package Socket;
 use strict;
 { use 5.006001; }
 
-our $VERSION = '2.019';
+our $VERSION = '2.020';
 
 =head1 NAME
 
@@ -760,8 +760,9 @@ our @EXPORT_OK = qw(
 	IP_DROP_SOURCE_MEMBERSHIP IP_MULTICAST_IF IP_MULTICAST_LOOP
 	IP_MULTICAST_TTL
 
-	IPPROTO_IP IPPROTO_IPV6 IPPROTO_RAW IPPROTO_ICMP IPPROTO_TCP
-	IPPROTO_UDP
+	IPPROTO_IP IPPROTO_IPV6 IPPROTO_RAW IPPROTO_ICMP IPPROTO_IGMP
+	IPPROTO_TCP IPPROTO_UDP IPPROTO_GRE IPPROTO_ESP IPPROTO_AH
+	IPPROTO_SCTP
 
 	IPTOS_LOWDELAY IPTOS_THROUGHPUT IPTOS_RELIABILITY IPTOS_MINCOST
 
@@ -149,6 +149,14 @@ NETINET_DEFINE_CONTEXT
 # define Newx(v,n,t) New(0,v,n,t)
 #endif /* !Newx */
 
+#ifndef SvPVx_nolen
+#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
+#  define SvPVx_nolen(sv) ({SV *_sv = (sv); SvPV_nolen(_sv); })
+#else /* __GNUC__ */
+#  define SvPVx_nolen(sv) ((PL_Sv = (sv)), SvPV_nolen(PL_Sv))
+#endif /* __GNU__ */
+#endif /* !SvPVx_nolen */
+
 #ifndef croak_sv
 # define croak_sv(sv)	croak(SvPVx_nolen(sv))
 #endif