Hello community, here is the log from the commit of package ghc-network for openSUSE:Factory checked in at 2015-06-02 10:05:45 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-network (Old) and /work/SRC/openSUSE:Factory/.ghc-network.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-network" Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-network/ghc-network.changes 2015-05-21 08:14:35.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.ghc-network.new/ghc-network.changes 2015-06-02 10:05:46.000000000 +0200 @@ -1,0 +2,6 @@ +Sun May 31 20:06:52 UTC 2015 - [email protected] + +- update to 2.6.2.0 +* no upstream changelog + +------------------------------------------------------------------- Old: ---- network-2.6.1.0.tar.gz New: ---- network-2.6.2.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-network.spec ++++++ --- /var/tmp/diff_new_pack.bsxmad/_old 2015-06-02 10:05:47.000000000 +0200 +++ /var/tmp/diff_new_pack.bsxmad/_new 2015-06-02 10:05:47.000000000 +0200 @@ -21,7 +21,7 @@ %bcond_with tests Name: ghc-network -Version: 2.6.1.0 +Version: 2.6.2.0 Release: 0 Summary: Low-level networking interface License: BSD-3-Clause ++++++ network-2.6.1.0.tar.gz -> network-2.6.2.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/network-2.6.1.0/Network/Socket/Types.hsc new/network-2.6.2.0/Network/Socket/Types.hsc --- old/network-2.6.1.0/Network/Socket/Types.hsc 2015-05-07 09:20:56.000000000 +0200 +++ new/network-2.6.2.0/Network/Socket/Types.hsc 2015-05-29 13:13:34.000000000 +0200 @@ -32,6 +32,7 @@ -- * Socket addresses , SockAddr(..) + , isSupportedSockAddr , HostAddress #if defined(IPV6_SOCKET_SUPPORT) , HostAddress6 @@ -801,28 +802,40 @@ type ScopeID = Word32 #endif +-- | The existence of a constructor does not necessarily imply that +-- that socket address type is supported on your system: see +-- 'isSupportedSockAddr'. data SockAddr -- C Names = SockAddrInet PortNumber -- sin_port (network byte order) HostAddress -- sin_addr (ditto) -#if defined(IPV6_SOCKET_SUPPORT) | SockAddrInet6 PortNumber -- sin6_port (network byte order) FlowInfo -- sin6_flowinfo (ditto) HostAddress6 -- sin6_addr (ditto) ScopeID -- sin6_scope_id (ditto) -#endif -#if defined(DOMAIN_SOCKET_SUPPORT) | SockAddrUnix String -- sun_path -#endif -#if defined(AF_CAN) | SockAddrCan Int32 -- can_ifindex (can be get by Network.BSD.ifNameToIndex "can0") -- TODO: Extend this to include transport protocol information -#endif deriving (Eq, Ord, Typeable) +-- | Is the socket address type supported on this system? +isSupportedSockAddr :: SockAddr -> Bool +isSupportedSockAddr addr = case addr of + SockAddrInet {} -> True +#if defined(IPV6_SOCKET_SUPPORT) + SockAddrInet6 {} -> True +#endif +#if defined(DOMAIN_SOCKET_SUPPORT) + SockAddrUnix{} -> True +#endif +#if defined(AF_CAN) + SockAddrCan{} -> True +#endif + _ -> False + #if defined(WITH_WINSOCK) || defined(cygwin32_HOST_OS) type CSaFamily = (#type unsigned short) #elif defined(darwin_HOST_OS) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/network-2.6.1.0/Network/Socket.hsc new/network-2.6.2.0/Network/Socket.hsc --- old/network-2.6.1.0/Network/Socket.hsc 2015-05-07 09:20:56.000000000 +0200 +++ new/network-2.6.2.0/Network/Socket.hsc 2015-05-29 13:13:34.000000000 +0200 @@ -33,6 +33,7 @@ , SocketType(..) , isSupportedSocketType , SockAddr(..) + , isSupportedSockAddr , SocketStatus(..) , HostAddress #if defined(IPV6_SOCKET_SUPPORT) @@ -792,6 +793,7 @@ | RecvTimeOut -- ^ SO_RCVTIMEO | SendTimeOut -- ^ SO_SNDTIMEO | UseLoopBack -- ^ SO_USELOOPBACK + | UserTimeout -- ^ TCP_USER_TIMEOUT | IPv6Only -- ^ IPV6_V6ONLY | CustomSockOpt (CInt, CInt) deriving (Show, Typeable) @@ -881,6 +883,9 @@ #ifdef TCP_NODELAY Just NoDelay -> Just ((#const IPPROTO_TCP), (#const TCP_NODELAY)) #endif +#ifdef TCP_USER_TIMEOUT + Just UserTimeout -> Just ((#const IPPROTO_TCP), (#const TCP_USER_TIMEOUT)) +#endif #ifdef TCP_CORK Just Cork -> Just ((#const IPPROTO_TCP), (#const TCP_CORK)) #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/network-2.6.1.0/configure.ac new/network-2.6.2.0/configure.ac --- old/network-2.6.1.0/configure.ac 2015-05-07 09:20:56.000000000 +0200 +++ new/network-2.6.2.0/configure.ac 2015-05-29 13:13:34.000000000 +0200 @@ -35,7 +35,7 @@ dnl ** check for specific header (.h) files that we are interested in AC_CHECK_HEADERS([fcntl.h limits.h stdlib.h sys/types.h unistd.h winsock2.h ws2tcpip.h]) -AC_CHECK_HEADERS([arpa/inet.h netdb.h netinet/in.h netinet/tcp.h sys/socket.h sys/uio.h sys/un.h linux/can.h]) +AC_CHECK_HEADERS([arpa/inet.h netdb.h netinet/in.h netinet/tcp.h sys/socket.h sys/uio.h sys/un.h linux/can.h linux/tcp.h]) AC_CHECK_HEADERS([net/if.h]) AC_CHECK_FUNCS([readlink symlink if_nametoindex]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/network-2.6.1.0/include/HsNet.h new/network-2.6.2.0/include/HsNet.h --- old/network-2.6.1.0/include/HsNet.h 2015-05-07 09:20:56.000000000 +0200 +++ new/network-2.6.2.0/include/HsNet.h 2015-05-29 13:13:34.000000000 +0200 @@ -75,7 +75,9 @@ #ifdef HAVE_SYS_SOCKET_H # include <sys/socket.h> #endif -#ifdef HAVE_NETINET_TCP_H +#ifdef HAVE_LINUX_TCP_H +# include <linux/tcp.h> +#elif HAVE_NETINET_TCP_H # include <netinet/tcp.h> #endif #ifdef HAVE_NETINET_IN_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/network-2.6.1.0/network.cabal new/network-2.6.2.0/network.cabal --- old/network-2.6.1.0/network.cabal 2015-05-07 09:20:56.000000000 +0200 +++ new/network-2.6.2.0/network.cabal 2015-05-29 13:13:34.000000000 +0200 @@ -1,5 +1,5 @@ name: network -version: 2.6.1.0 +version: 2.6.2.0 license: BSD3 license-file: LICENSE maintainer: Johan Tibell <[email protected]> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/network-2.6.1.0/tests/Simple.hs new/network-2.6.2.0/tests/Simple.hs --- old/network-2.6.1.0/tests/Simple.hs 2015-05-07 09:20:56.000000000 +0200 +++ new/network-2.6.2.0/tests/Simple.hs 2015-05-29 13:13:34.000000000 +0200 @@ -5,7 +5,7 @@ import Control.Concurrent (ThreadId, forkIO, myThreadId) import Control.Concurrent.MVar (newEmptyMVar, putMVar, takeMVar, readMVar) import qualified Control.Exception as E -import Control.Monad (liftM) +import Control.Monad (liftM, when) import qualified Data.ByteString as S import qualified Data.ByteString.Char8 as C import Data.Maybe (fromJust) @@ -129,6 +129,16 @@ client sock = send sock testMsg +testUserTimeout :: Assertion +testUserTimeout = do + when (isSupportedSocketOption UserTimeout) $ do + sock <- socket AF_INET Stream defaultProtocol + setSocketOption sock UserTimeout 1000 + getSocketOption sock UserTimeout >>= (@=?) 1000 + setSocketOption sock UserTimeout 2000 + getSocketOption sock UserTimeout >>= (@=?) 2000 + sClose sock + {- testGetPeerCred:: Assertion testGetPeerCred = @@ -237,6 +247,7 @@ , testCase "testOverFlowRecv" testOverFlowRecv , testCase "testRecvFrom" testRecvFrom , testCase "testOverFlowRecvFrom" testOverFlowRecvFrom + , testCase "testUserTimeout" testUserTimeout -- , testCase "testGetPeerCred" testGetPeerCred -- , testCase "testGetPeerEid" testGetPeerEid #if defined(HAVE_LINUX_CAN_H)
