network 2.6.3.2 → 2.6.3.3
raw patch · 5 files changed
+56/−5 lines, 5 files
Files
- CHANGELOG.md +8/−0
- Network/Socket.hsc +42/−3
- Network/Socket/Types.hsc +4/−0
- configure.ac +1/−1
- network.cabal +1/−1
CHANGELOG.md view
@@ -1,3 +1,11 @@+## Version 2.6.3.3++ * Adds a function to show the defaultHints without reading their undefined fields+ [#291](https://github.com/haskell/network/pull/292)+ * Improve exception error messages for getAddrInfo and getNameInfo+ [#289](https://github.com/haskell/network/pull/289)+ * Deprecating SockAddrCan.+ ## Version 2.6.3.2 * Zero memory of `sockaddr_un` if abstract socket
Network/Socket.hsc view
@@ -1,4 +1,4 @@-{-# LANGUAGE CPP, ScopedTypeVariables #-}+{-# LANGUAGE CPP, ScopedTypeVariables, RecordWildCards #-} {-# OPTIONS_GHC -fno-warn-orphans #-} ----------------------------------------------------------------------------- -- |@@ -1408,6 +1408,25 @@ addrCanonName = undefined } +-- | Shows the fields of 'defaultHints', without inspecting the by-default undefined fields 'addrAddress' and 'addrCanonName'.+showDefaultHints :: AddrInfo -> String+showDefaultHints AddrInfo{..} = concat+ [ "AddrInfo {"+ , "addrFlags = "+ , show addrFlags+ , ", addrFamily = "+ , show addrFamily+ , ", addrSocketType = "+ , show addrSocketType+ , ", addrProtocol = "+ , show addrProtocol+ , ", addrAddress = "+ , "<assumed to be undefined>"+ , ", addrCanonName = "+ , "<assumed to be undefined>"+ , "}"+ ]+ -- | Resolve a host or service name to one or more addresses. -- The 'AddrInfo' values that this function returns contain 'SockAddr' -- values that you can pass directly to 'connect' or@@ -1465,8 +1484,17 @@ c_freeaddrinfo ptr_addrs return ais _ -> do err <- gai_strerror ret+ let message = concat+ [ "Network.Socket.getAddrInfo (called with preferred socket type/protocol: "+ , maybe (show hints) showDefaultHints hints+ , ", host name: "+ , show node+ , ", service name: "+ , show service+ , ")"+ ] ioError (ioeSetErrorString- (mkIOError NoSuchThing "Network.Socket.getAddrInfo" Nothing+ (mkIOError NoSuchThing message Nothing Nothing) err) -- Leaving out the service and using AI_NUMERICSERV causes a -- segfault on OS X 10.8.2. This code removes AI_NUMERICSERV@@ -1545,8 +1573,19 @@ serv <- peekIf doService c_serv return (host, serv) _ -> do err <- gai_strerror ret+ let message = concat+ [ "Network.Socket.getNameInfo (called with flags: "+ , show flags+ , ", hostname lookup: "+ , show doHost+ , ", service name lookup: "+ , show doService+ , ", socket address: "+ , show addr+ , ")"+ ] ioError (ioeSetErrorString- (mkIOError NoSuchThing "Network.Socket.getNameInfo" Nothing+ (mkIOError NoSuchThing message Nothing Nothing) err) foreign import ccall safe "hsnet_getnameinfo"
Network/Socket/Types.hsc view
@@ -854,6 +854,10 @@ _ -> False #endif +#if defined(CAN_SOCKET_SUPPORT)+{-# DEPRECATED SockAddrCan "This will be removed in 2.7" #-}+#endif+ #if defined(WITH_WINSOCK) type CSaFamily = (#type unsigned short) #elif defined(darwin_HOST_OS)
configure.ac view
@@ -1,4 +1,4 @@-AC_INIT([Haskell network package], [2.6.3.1], [libraries@haskell.org], [network])+AC_INIT([Haskell network package], [2.6.3.3], [libraries@haskell.org], [network]) ac_includes_default="$ac_includes_default #ifdef HAVE_SYS_SOCKET_H
network.cabal view
@@ -1,5 +1,5 @@ name: network-version: 2.6.3.2+version: 2.6.3.3 license: BSD3 license-file: LICENSE maintainer: Kazu Yamamoto, Evan Borden