Windows fixes for IPv6 and CIDR support.
authorScott Cantor <cantor.2@osu.edu>
Mon, 17 Oct 2011 17:35:42 +0000 (17:35 +0000)
committerScott Cantor <cantor.2@osu.edu>
Mon, 17 Oct 2011 17:35:42 +0000 (17:35 +0000)
Shibboleth.sln
configs/console.logger
configs/native.logger.in
configs/shibd.logger.in
shibsp/remoting/impl/SocketListener.h
shibsp/remoting/impl/TCPListener.cpp
shibsp/shibsp-lite.vcxproj
shibsp/shibsp.vcxproj
shibsp/util/IPRange.cpp
shibsp/util/IPRange.h

index 83a50e5..7169046 100644 (file)
@@ -72,7 +72,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{31B171C1-E
        ProjectSection(SolutionItems) = preProject
                m4\acinclude.m4 = m4\acinclude.m4
                m4\acx_pthread.m4 = m4\acx_pthread.m4
-               config_win32.h = config_win32.h
                configure.ac = configure.ac
                doxygen.am = doxygen.am
                doxygen.cfg = doxygen.cfg
index 06fadfd..08f5128 100644 (file)
@@ -3,6 +3,7 @@ log4j.rootCategory=WARN, console
 # fairly verbose for DEBUG, so generally leave at INFO
 log4j.category.XMLTooling.XMLObject=INFO
 log4j.category.XMLTooling.KeyInfoResolver=INFO
+log4j.category.Shibboleth.IPRange=INFO
 log4j.category.Shibboleth.PropertySet=INFO
 
 # raise for low-level tracing of SOAP client HTTP/SSL behavior
index 8c17632..52a90ae 100644 (file)
@@ -4,6 +4,7 @@ log4j.rootCategory=INFO, native_log, warn_log
 # fairly verbose for DEBUG, so generally leave at INFO
 log4j.category.XMLTooling.XMLObject=INFO
 log4j.category.XMLTooling.KeyInfoResolver=INFO
+log4j.category.Shibboleth.IPRange=INFO
 log4j.category.Shibboleth.PropertySet=INFO
 
 # raise for low-level tracing of SOAP client HTTP/SSL behavior
index 4ce707d..d2e8473 100644 (file)
@@ -4,6 +4,7 @@ log4j.rootCategory=INFO, shibd_log, warn_log
 # fairly verbose for DEBUG, so generally leave at INFO
 log4j.category.XMLTooling.XMLObject=INFO
 log4j.category.XMLTooling.KeyInfoResolver=INFO
+log4j.category.Shibboleth.IPRange=INFO
 log4j.category.Shibboleth.PropertySet=INFO
 
 # raise for low-level tracing of SOAP client HTTP/SSL behavior
index bbcde89..e6b4fed 100644 (file)
@@ -38,7 +38,7 @@
 #include <xmltooling/util/Threads.h>
 
 #ifdef WIN32
-# include <winsock.h>
+# include <winsock2.h>
 #endif
 
 namespace shibsp {
index ff49126..fe8884f 100644 (file)
@@ -205,7 +205,7 @@ bool TCPListener::bind(ShibSocket& s, bool force) const
     ::setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (const char*)&opt, sizeof(opt));
 
 #ifdef WIN32
-    if (SOCKET_ERROR==::bind(s, (const struct sockaddr*)&m_sockaddr, m_sockaddr.ss_len) || SOCKET_ERROR==::listen(s, 3)) {
+    if (SOCKET_ERROR==::bind(s, (const struct sockaddr*)&m_sockaddr, sizeof(m_sockaddr)) || SOCKET_ERROR==::listen(s, 3)) {
         log_error("bind");
         close(s);
         return false;
@@ -229,7 +229,7 @@ bool TCPListener::bind(ShibSocket& s, bool force) const
 bool TCPListener::connect(ShibSocket& s) const
 {
 #ifdef WIN32
-    if(SOCKET_ERROR==::connect(s, (const struct sockaddr*)&m_sockaddr, m_sockaddr.ss_len))
+    if(SOCKET_ERROR==::connect(s, (const struct sockaddr*)&m_sockaddr, sizeof(m_sockaddr)))
         return log_error("connect");
 #else
 # ifdef HAVE_STRUCT_SOCKADDR_STORAGE
index 7802ee7..0dcdf35 100644 (file)
       <PreprocessorDefinitions>_UNICODE;UNICODE;SHIBSP_LITE;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
     </ResourceCompile>\r
     <Link>\r
-      <AdditionalDependencies>log4shib1D.lib;xerces-c_3D.lib;xmltooling-lite1D.lib;wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>log4shib1D.lib;xerces-c_3D.lib;xmltooling-lite1D.lib;wsock32.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>..\..\cpp-xmltooling\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <SubSystem>Windows</SubSystem>\r
       <PreprocessorDefinitions>_UNICODE;UNICODE;SHIBSP_LITE;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
     </ResourceCompile>\r
     <Link>\r
-      <AdditionalDependencies>log4shib1D.lib;xerces-c_3D.lib;xmltooling-lite1D.lib;wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>log4shib1D.lib;xerces-c_3D.lib;xmltooling-lite1D.lib;wsock32.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>..\..\cpp-xmltooling\$(Platform)\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <SubSystem>Windows</SubSystem>\r
       <PreprocessorDefinitions>_UNICODE;UNICODE;SHIBSP_LITE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
     </ResourceCompile>\r
     <Link>\r
-      <AdditionalDependencies>log4shib1.lib;xerces-c_3.lib;xmltooling-lite1.lib;wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>log4shib1.lib;xerces-c_3.lib;xmltooling-lite1.lib;wsock32.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>..\..\cpp-xmltooling\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <SubSystem>Windows</SubSystem>\r
       <OptimizeReferences>true</OptimizeReferences>\r
       <PreprocessorDefinitions>_UNICODE;UNICODE;SHIBSP_LITE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
     </ResourceCompile>\r
     <Link>\r
-      <AdditionalDependencies>log4shib1.lib;xerces-c_3.lib;xmltooling-lite1.lib;wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>log4shib1.lib;xerces-c_3.lib;xmltooling-lite1.lib;wsock32.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>..\..\cpp-xmltooling\$(Platform)\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <SubSystem>Windows</SubSystem>\r
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
   <ImportGroup Label="ExtensionTargets">\r
   </ImportGroup>\r
-</Project>\r
+</Project>
\ No newline at end of file
index 93eb4bf..0912a36 100644 (file)
@@ -99,7 +99,7 @@
       <PreprocessorDefinitions>_UNICODE;UNICODE;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
     </ResourceCompile>\r
     <Link>\r
-      <AdditionalDependencies>log4shib1D.lib;xerces-c_3D.lib;xsec_1D.lib;saml2D.lib;xmltooling1D.lib;wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>log4shib1D.lib;xerces-c_3D.lib;xsec_1D.lib;saml2D.lib;xmltooling1D.lib;wsock32.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>..\..\cpp-opensaml\$(Configuration);..\..\cpp-xmltooling\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <SubSystem>Windows</SubSystem>\r
       <PreprocessorDefinitions>_UNICODE;UNICODE;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
     </ResourceCompile>\r
     <Link>\r
-      <AdditionalDependencies>log4shib1D.lib;xerces-c_3D.lib;xsec_1D.lib;saml2D.lib;xmltooling1D.lib;wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>log4shib1D.lib;xerces-c_3D.lib;xsec_1D.lib;saml2D.lib;xmltooling1D.lib;wsock32.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>..\..\cpp-opensaml\$(Platform)\$(Configuration);..\..\cpp-xmltooling\$(Platform)\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <SubSystem>Windows</SubSystem>\r
       <WarningLevel>Level3</WarningLevel>\r
     </ClCompile>\r
     <Link>\r
-      <AdditionalDependencies>log4shib1.lib;xerces-c_3.lib;xsec_1.lib;saml2.lib;xmltooling1.lib;wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>log4shib1.lib;xerces-c_3.lib;xsec_1.lib;saml2.lib;xmltooling1.lib;wsock32.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>..\..\cpp-opensaml\$(Configuration);..\..\cpp-xmltooling\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <SubSystem>Windows</SubSystem>\r
       <OptimizeReferences>true</OptimizeReferences>\r
       <WarningLevel>Level3</WarningLevel>\r
     </ClCompile>\r
     <Link>\r
-      <AdditionalDependencies>log4shib1.lib;xerces-c_3.lib;xsec_1.lib;saml2.lib;xmltooling1.lib;wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>log4shib1.lib;xerces-c_3.lib;xsec_1.lib;saml2.lib;xmltooling1.lib;wsock32.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>..\..\cpp-opensaml\$(Platform)\$(Configuration);..\..\cpp-xmltooling\$(Platform)\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <SubSystem>Windows</SubSystem>\r
index 72dd8fc..6ff85d6 100644 (file)
@@ -115,7 +115,7 @@ bool IPRange::contains(const struct sockaddr* address) const
             return false;
         unsigned long raw = 0;
         memcpy(&raw, &((struct sockaddr_in*)address)->sin_addr, 4);
-        bitset<32> rawbits(ntohl(raw));    // the bitset loads from a host-order variable
+        bitset<32> rawbits((int)ntohl(raw));    // the bitset loads from a host-order variable
         if (log.isDebugEnabled()) {
             log.debug(
                 "comparing address (%s) to network (%s) with mask (%s)",
@@ -172,7 +172,7 @@ IPRange IPRange::parseCIDRBlock(const char* cidrBlock)
          unsigned long raw = 0;
          memcpy(&raw, &((struct sockaddr_in*)address->ai_addr)->sin_addr, 4);
          freeaddrinfo(address);
-         bitset<32> rawbits(ntohl(raw));    // the bitset loads from a host-order variable
+         bitset<32> rawbits((int)ntohl(raw));    // the bitset loads from a host-order variable
          return IPRange(rawbits, maskSize);
     }
 #ifdef AF_INET6
index d4198bc..84c0f19 100644 (file)
@@ -32,7 +32,7 @@
 #include <bitset>
 
 #ifdef WIN32
-# include <winsock.h>
+# include <winsock2.h>
 #elif defined(SHIBSP_HAVE_SYS_SOCKET_H)
 # include <sys/socket.h>
 #endif