__color__,__group__,ticket,summary,component,version,milestone,type,owner,status,created,_changetime,_description,_reporter
2,Active Tickets,33,Bus error in Network package,network,,,defect,,new,2011-01-17T22:10:03Z+0000,2011-01-17T22:10:03Z+0000,"I encountered a bus error when running some HTTP client code in GHC this morning. I've run this code many times before without error and I'm not sure what's changed since then.

I've reduced the problem down to the following example case:

{{{
batkins@hudson hsales (master) % ghci
GHCi, version 6.12.3: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package ffi-1.0 ... linking ... done.
Prelude> :m + Network.HTTP
Prelude Network.HTTP> simpleHTTP (getRequest ""http://www.haskell.org"") >>= getResponseBody
Loading package array-0.3.0.1 ... linking ... done.
Loading package syb-0.1.0.2 ... linking ... done.
Loading package base-3.0.3.2 ... linking ... done.
Loading package bytestring-0.9.1.7 ... linking ... done.
Loading package transformers-0.2.2.0 ... linking ... done.
Loading package mtl-2.0.1.0 ... linking ... done.
Loading package parsec-2.1.0.1 ... linking ... done.
Loading package unix-2.4.0.2 ... linking ... done.
Loading package network-2.3 ... linking ... done.
Loading package old-locale-1.0.0.2 ... linking ... done.
Loading package old-time-1.0.0.5 ... linking ... done.
Loading package HTTP-4000.0.9 ... linking ... done.
Bus error
}}}

Again, it used to work and I'm not sure what's changed since. Here's my ghc --info:

{{{
batkins@hudson hsales (master) % ghc --info
 [(""Project name"",""The Glorious Glasgow Haskell Compilation System"")
 ,(""Project version"",""6.12.3"")
 ,(""Booter version"",""6.12.2"")
 ,(""Stage"",""2"")
 ,(""Have interpreter"",""YES"")
 ,(""Object splitting"",""YES"")
 ,(""Have native code generator"",""YES"")
 ,(""Support SMP"",""YES"")
 ,(""Unregisterised"",""NO"")
 ,(""Tables next to code"",""YES"")
 ,(""Win32 DLLs"","""")
 ,(""RTS ways"",""l debug  thr thr_debug thr_l thr_p "")
 ,(""Leading underscore"",""YES"")
 ,(""Debug on"",""False"")
 ,(""LibDir"",""/Library/Frameworks/GHC.framework/Versions/612/usr/lib/ghc-6.12.3"")
 ]
batkins@hudson hsales (master) % uname -a
Darwin hudson 10.6.0 Darwin Kernel Version 10.6.0: Wed Nov 10 18:13:17 PST 2010; root:xnu-1504.9.26~3/RELEASE_I386 i386
}}}

Although I used ghci for the example, this is reproducible in compiled and interpreted code as well.",batkins
2,Active Tickets,34,Bus error in Network package,network,,,defect,,new,2011-01-17T22:11:09Z+0000,2011-01-17T22:11:09Z+0000,"I encountered a bus error when running some HTTP client code in GHC this morning. I've run this code many times before without error and I'm not sure what's changed since then.

I've reduced the problem down to the following example case:

{{{
batkins@hudson hsales (master) % ghci
GHCi, version 6.12.3: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package ffi-1.0 ... linking ... done.
Prelude> :m + Network.HTTP
Prelude Network.HTTP> simpleHTTP (getRequest ""http://www.haskell.org"") >>= getResponseBody
Loading package array-0.3.0.1 ... linking ... done.
Loading package syb-0.1.0.2 ... linking ... done.
Loading package base-3.0.3.2 ... linking ... done.
Loading package bytestring-0.9.1.7 ... linking ... done.
Loading package transformers-0.2.2.0 ... linking ... done.
Loading package mtl-2.0.1.0 ... linking ... done.
Loading package parsec-2.1.0.1 ... linking ... done.
Loading package unix-2.4.0.2 ... linking ... done.
Loading package network-2.3 ... linking ... done.
Loading package old-locale-1.0.0.2 ... linking ... done.
Loading package old-time-1.0.0.5 ... linking ... done.
Loading package HTTP-4000.0.9 ... linking ... done.
Bus error
}}}

Again, it used to work and I'm not sure what's changed since. Here's my ghc --info:

{{{
batkins@hudson hsales (master) % ghc --info
 [(""Project name"",""The Glorious Glasgow Haskell Compilation System"")
 ,(""Project version"",""6.12.3"")
 ,(""Booter version"",""6.12.2"")
 ,(""Stage"",""2"")
 ,(""Have interpreter"",""YES"")
 ,(""Object splitting"",""YES"")
 ,(""Have native code generator"",""YES"")
 ,(""Support SMP"",""YES"")
 ,(""Unregisterised"",""NO"")
 ,(""Tables next to code"",""YES"")
 ,(""Win32 DLLs"","""")
 ,(""RTS ways"",""l debug  thr thr_debug thr_l thr_p "")
 ,(""Leading underscore"",""YES"")
 ,(""Debug on"",""False"")
 ,(""LibDir"",""/Library/Frameworks/GHC.framework/Versions/612/usr/lib/ghc-6.12.3"")
 ]
batkins@hudson hsales (master) % uname -a
Darwin hudson 10.6.0 Darwin Kernel Version 10.6.0: Wed Nov 10 18:13:17 PST 2010; root:xnu-1504.9.26~3/RELEASE_I386 i386
}}}

Although I used ghci for the example, this is reproducible in compiled and interpreted code as well.",batkins
3,Active Tickets,2,Socket related IO cannot be be interrupted on Windows,network,,,defect,,new,2009-01-20T19:30:19Z+0000,2009-01-26T15:24:26Z+0000,"Originally reported here: http://hackage.haskell.org/trac/ghc/ticket/2943

----

While playing with socket communication, I noticed that socket IO cannot be interrupted or killed. The attached program simply hangs, irregardless whether is was complied using the -threaded flag or not.

{{{
import Network
import Control.Concurrent

main = withSocketsDo $ do
    tid <- forkIO $ do
        s <- listenOn (PortNumber 1234)
        accept s
        return ()
    threadDelay 2000000
    killThread tid
}}}
",igloo
3,Active Tickets,5,getAddrInfo and addrFamily not in scope on Windows GHC 6.8,network,,,defect,bos,assigned,2009-01-20T21:18:01Z+0000,2009-05-15T09:56:58Z+0100,"Originally reported here: http://hackage.haskell.org/trac/ghc/ticket/2726

----

import Network.Socket

... getAddrInfo

... addrFamily

-- 

gives me not in scope on Windows.  The same code works on Unix.

----

Looking at the code, these are only available if `IPV6_SOCKET_SUPPORT` is defined. I don't know more than that off the top of my head.
",igloo
3,Active Tickets,7,Network.Socket.recv throws IOException on reading 0 bytes,network,,,defect,tibbe,assigned,2009-04-05T08:56:06Z+0100,2009-05-22T10:48:31Z+0100,"Initially reported here: http://hackage.haskell.org/trac/ghc/ticket/3071

----

My man pages has the following to say about the return value of recv:

    These calls return the number of bytes received, or -1 if an error occurred.

    For TCP sockets, the return value 0 means the peer has closed its half side of the connection.

This means that it's absolutely fine to read 0 bytes when using e.g. UDP socket.

However, the Network.Socket.recv function always throws an exception upon reading 0 bytes regardless of the protocol family.
",tibbe
3,Active Tickets,11,Network.listenOn (PortNumber n) Sometimes Picks IPv6,network,,,defect,bos,new,2009-05-15T10:47:43Z+0100,2010-09-27T02:42:51Z+0100,"When I run the following program on a NetBSD system, it listens on *.4444 for IPv6, not IPv4. This could certainly happen on other operating systems as well, though I've not tested others. Whether it happens or not could even vary from release to release.

{{{
import IO
import Network

main = do
    s <- listenOn (PortNumber 4444)
    (h, hostName, portNum) <- Network.accept s
    putStrLn $ ""Connection from "" ++ hostName ++ "":"" ++ show portNum
    hPutStrLn h ""Bye!""
    hClose h
}}}

I've verified that telnet 127.0.0.1 4444 produces a ""connection refused"" message, but telnet ::1 4444 connects and displays ""Bye!""

I'd go so far to say that this is a bug. At best, one could argue that this behaviour is not entirely intuitive.

I propose that we (re-?)define `PortID`'s `PortNumber` constructor to refer only to IPv4 protocol ports, and add a new `PortNumber6` constructor for IPv6 ports.

Another option would be to do force `PortNumber` always to bind to IPv4, but not add `PortNumber6`. I prefer this less because we should be encouraging the use of IPv6, and because having `PortNumber6` serves as obvious documentation for what `PortNumber` and `PortNumber6` do.

A third option would be to attempt to listen on both IPv4 and IPv6, when both are available, but this sort of thing is fraught with many problems, the details of which are much more than I'd want to get into in this bug report. 

----

I saw exactly the same problem on FreeBSD.

    I propose that we (re-?)define `PortID`'s `PortNumber` constructor to refer only to IPv4 protocol ports, and add a new `PortNumber6` constructor for IPv6 ports.

That sounds highly reasonable. I prefer that way.

----

This sounds like a peculiarity of the BSD networking stack. On Linux, the code correctly chooses a wildcard address that responds to both IPv4 and IPv6 traffic.

I'd strongly suggest that a BSD user dig into the platform-specific problem. Suggesting an API change without any investigation of the underlying issue is not the right approach.

----

Actually, the linux code incorrectly binds to both; this opens up a security problem, though I can't remember the exact details right now. This is exactly the reason for the default sysctl setting of ""net.inet6.ip6.v6only = 1"", IIRC.

----

Here is a document discussing the security issues with IPv4-mapped addresses:

    ftp://ftp.itojun.org/pub/paper/draft-itojun-v6ops-v4mapped-harmful-01.txt

I'd say we definitely don't want to have to force people to enable this just to use Network, which is in the end supposed to make life simpler for basic networking.

----

The Linux behaviour does not appear to me to be incorrect, and the document to which you refer is concerned with threats due to the use of IPv4-mapped addresses on the wire.

The code in the `Network` module uses the `Network.Socket` code for its implementation. There are currently several knobs for controlling `getAddrInfo` that it does not use. Perhaps if you read up on a few of them and try them out, you might find a behaviour that you could then propose as more desirable.
",tibbe
3,Active Tickets,17,recv and recvBufFrom in network should accept 0 for a length when currently it throws an exception,network,,,defect,,new,2009-07-17T16:11:27Z+0100,2009-09-26T19:36:31Z+0100,"See the email below for context, Johan is fixing network-bytestring, which suffers from the same thing currently.

--------------------------------------------------------------------------------
Matthew Elder <matt@mattelder.org>  Thu, Jul 16, 2009 at 1:33 PM  
To: Johan Tibell <johan.tibell@gmail.com>  
Johan,
 
I am coming upon a behavior with recv that I find a bit strange. When you pass in a length of 0 as the second argument, it raises an exception. Here is the relevant code excerpt from network-bytestring-0.1.2.1:
 
recv :: Socket         -- ^ Connected socket
     -> Int            -- ^ Maximum number of bytes to receive
     -> IO ByteString  -- ^ Data received
recv (MkSocket s _ _ _ _) nbytes
    | nbytes <= 0 = ioError (mkInvalidRecvArgError ""Network.Socket.ByteString.recv"")
    | otherwise   = createAndTrim nbytes $ recvInner s nbytes

Now, 0 is definitely an unuseful value for this function, but it is definitely not an invalid one which justifies raising an exception. When I pass 0 for the length I am simply saying ""receive nothing"". I believe it should be changed like so:
 
recv :: Socket         -- ^ Connected socket
     -> Int            -- ^ Maximum number of bytes to receive
     -> IO ByteString  -- ^ Data received
recv (MkSocket s _ _ _ _) nbytes
    | nbytes < 0  = ioError (mkInvalidRecvArgError ""Network.Socket.ByteString.recv"")
    | nbytes == 0 = return empty
    | otherwise   = createAndTrim nbytes $ recvInner s nbytes

When I tried recvFrom it has the same semantics (not allowing 0). recvFrom uses a function recvBufFrom from Network.Socket. Now if my point of view that 0 should not be an error case is correct, then this means both network and network-bytestring are wrong. 
 
What do you think? Am I wrong? Is this how recv is supposed to behave on a posix socket?
-- 
Need somewhere to put your code? http://patch-tag.com
Want to build a webapp? http://happstack.com
 
 

--------------------------------------------------------------------------------
Johan Tibell <johan.tibell@gmail.com>  Fri, Jul 17, 2009 at 7:42 AM  
To: Matthew Elder <matt@mattelder.org>  
Hi,

What I turned up after some googling and looking at the Linux sources seems to support that a zero length shouldn't be an error. I'll fix that when I get home. However, I do think the syscall to recv should be made even if the length is zero. The reasoning is that a user might want this behavior to e.g. force EOF on the socket.


recv :: Socket         -- ^ Connected socket
     -> Int            -- ^ Maximum number of bytes to receive
     -> IO ByteString  -- ^ Data received
recv (MkSocket s _ _ _ _) nbytes
    | nbytes < 0  = ioError (mkInvalidRecvArgError ""Network.Socket.ByteString.recv"")
    | otherwise   = createAndTrim nbytes $ recvInner s nbytes


I can fix network-bytestring quite easily but could you file a bug at http://trac.haskell.org/network ?

-- Johan
 
 
",anonymous
3,Active Tickets,27,recvFd segfaults when receiving eof,network,,,defect,,new,2010-01-12T16:28:39Z+0000,2010-01-12T16:32:57Z+0000,recvFd segfaults upon eof. Attached a patch to fix this.,taruti
3,Active Tickets,28,server: getAddrInfo: does not exist (Name or service not known),network,,,defect,,new,2010-01-28T13:04:57Z+0000,2010-01-28T13:04:57Z+0000,"With the server program from http://hackage.haskell.org/packages/archive/network-bytestring/0.1.2.1/doc/html/Network-Socket-ByteString.html#3
{{{
module Main where

import Control.Monad
import qualified Data.ByteString as S
import Network.Socket hiding (recv)
import Network.Socket.ByteString

main :: IO ()
main = withSocketsDo $
    do addrinfos <- getAddrInfo Nothing (Just """") (Just ""3000"")
       let serveraddr = head addrinfos
       sock <- socket (addrFamily serveraddr) Stream defaultProtocol
       bindSocket sock (addrAddress serveraddr)
       listen sock 1
       (conn, _) <- accept sock
       talk conn
       sClose conn
       sClose sock

    where
      talk :: Socket -> IO ()
      talk conn =
          do msg <- recv conn 1024
             unless (S.null msg) $ sendAll conn msg >> talk conn
}}}
and `network-2.2.1.7` and `network-bytestring-0.1.2.1`, on Debian/Linux amd64 I get:
{{{
$ ./server
server: getAddrInfo: does not exist (Name or service not known)
}}}
",igloo
3,Active Tickets,32,Misleading error message when missing withSocketsDo,network,,,defect,,new,2010-10-31T12:28:17Z+0000,2010-10-31T12:29:34Z+0000,"You must wrap sockets code with `Network.Socket.withSocketsDo` on Windows, or it will give misleading error messages :
{{{
Prelude Network.Socket> getAddrInfo Nothing (Just ""google.com"") Nothing
*** Exception: getAddrInfo: does not exist (error 10093)
Prelude Network.Socket> withSocketsDo $ getAddrInfo Nothing (Just ""google.com"") Nothing
[AddrInfo {addrFlags = [], addrFamily = AF_INET, addrSocketType = NoSocketType, ...
}}}
I've never used `Network` directly, so when I got this error using `http-enumerator`, I reasoned like this: `getAddrInfo` looks like it resolves hostnames. It says ""does not exist"", so that means it thinks the hostname doesn't exist, though `nslookup` finds it just fine. So, I need to spend the next hour trying to get `Network` working on Windows.

It would be much more clear Winsock error 10093 had an error message like the following:
{{{
*** Exception: (functionName): not wrapped with Network.Socket.withSocketsDo
}}}",Olathe
3,Active Tickets,37,Illegal instance declaration for `Storable HostAddress6',network,,,defect,,new,2011-02-27T12:26:52Z+0000,2011-02-27T12:26:52Z+0000,"{{{
Network/Socket/Internal.hsc:116:10:
    Illegal instance declaration for `Storable HostAddress6'
      (All instance types must be of the form (T a1 ... an)
       where a1 ... an are *distinct type variables*,
       and each type variable appears at most once in the instance head.
       Use -XFlexibleInstances if you want to disable this.)
    In the instance declaration for `Storable HostAddress6'
cabal: Error: some packages failed to install:
network-2.3.0.2 failed during the building phase. The exception was:
ExitFailure 1
}}}

cabal-install version 0.8.2[[BR]]

using version 1.8.0.6 of the Cabal library[[BR]]

The Glorious Glasgow Haskell Compilation System, version 7.1.20110223",litoh
3,Active Tickets,38,Ambiguous occurrence `closeFdWith' on GHC 7.0.2 (Haskell Platform 2011.02),network,,,defect,,new,2011-03-13T15:53:12Z+0000,2011-03-28T11:36:15Z+0100,"I'm trying to build network package on GHC 7.0.2 (from Haskell Platform 2011.02/Mac OS X 10.6) and it doesn't build with following error:

Network/Socket.hsc:1701:11:
    Ambiguous occurrence `closeFdWith'
    It could refer to either `Network.Socket.closeFdWith',
                             defined at Network/Socket.hsc:1046:1
                          or `GHC.Conc.closeFdWith',
                             imported from GHC.Conc at Network/Socket.hsc:204:26-36",alexott
3,Active Tickets,39,Network library broken on Windows with GHC 7.0.3,network,,,defect,,new,2011-05-01T14:09:04Z+0100,2011-10-26T13:47:57Z+0100,"I am unable to install the network package on Windows using cabal + cygwin. I received the following error:

config.status: creating network.buildinfo
config.status: creating include/HsNetworkConfig.h
Preprocessing library network-2.3.0.2...
Network\Socket.hsc: In function 'main':
Network\Socket.hsc:1033:5: error: invalid application of 'sizeof' to incomplete
type 'struct ucred'
Network\Socket.hsc:1033:5: error: invalid application of 'sizeof' to incomplete
type 'struct ucred'
Network\Socket.hsc:1033:5: error: invalid application of 'sizeof' to incomplete
type 'struct ucred'
Network\Socket.hsc:1038:5: error: 'SO_PEERCRED' undeclared (first use in this fu
nction)
Network\Socket.hsc:1038:5: note: each undeclared identifier is reported only onc
e for each function it appears in
Network\Socket.hsc:1039:5: error: invalid use of undefined type 'struct ucred'
Network\Socket.hsc:1040:5: error: invalid use of undefined type 'struct ucred'
Network\Socket.hsc:1041:5: error: invalid use of undefined type 'struct ucred'
compiling dist\build\Network\Socket_hsc_make.c failed (exit code 1)
command was: C:\Program Files (x86)\Haskell Platform\2011.2.0.1\mingw\bin\gcc.ex
e -c dist\build\Network\Socket_hsc_make.c -o dist\build\Network\Socket_hsc_make.
o -fno-stack-protector -D__GLASGOW_HASKELL__=700 -Dmingw32_BUILD_OS -Dmingw32_HO
ST_OS -Di386_BUILD_ARCH -Di386_HOST_ARCH -Iinclude -DCALLCONV=ccall -IC:\Program
 Files (x86)\Haskell Platform\2011.2.0.1\lib\bytestring-0.9.1.10\include -IC:\Pr
ogram Files (x86)\Haskell Platform\2011.2.0.1\lib\base-4.3.1.0\include -IC:\Prog
ram Files (x86)\Haskell Platform\2011.2.0.1\lib/include -IC:\Program Files (x86)
\Haskell Platform\2011.2.0.1\lib/include -IC:/Program Files (x86)/Haskell Platfo
rm/2011.2.0.1/lib/include/
cabal.exe: Error: some packages failed to install:
network-2.3.0.2 failed during the building phase. The exception was:
ExitFailure 1


This appears to be a similar issue to ticket 20.

The full trace is provided below:
$ cabal install network
Resolving dependencies...
No packages to be installed. All the requested packages are already installed.
If you want to reinstall anyway then use the --reinstall flag.

Hamish@Bertie /cygdrive/c/Users/Hamish/Documents/idea-futures/src/pasteapp
$ cabal install network --reinstall
Resolving dependencies...
Configuring network-2.3.0.2...
checking build system type... i686-pc-cygwin
checking host system type... i686-pc-cygwin
checking for gcc... gcc
checking for C compiler default output file name... a.exe
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... .exe
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for an ANSI C-conforming const... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking for stdlib.h... (cached) yes
checking for sys/types.h... (cached) yes
checking for unistd.h... (cached) yes
checking winsock2.h usability... no
checking winsock2.h presence... yes
configure: WARNING: winsock2.h: present but cannot be compiled
configure: WARNING: winsock2.h:     check for missing prerequisite headers?
configure: WARNING: winsock2.h: see the Autoconf documentation
configure: WARNING: winsock2.h:     section ""Present But Cannot Be Compiled""
configure: WARNING: winsock2.h: proceeding with the preprocessor's result
configure: WARNING: winsock2.h: in the future, the compiler will take precedence

configure: WARNING:     ## ------------------------------------ ##
configure: WARNING:     ## Report this to libraries@haskell.org ##
configure: WARNING:     ## ------------------------------------ ##
checking for winsock2.h... yes
checking ws2tcpip.h usability... no
checking ws2tcpip.h presence... yes
configure: WARNING: ws2tcpip.h: present but cannot be compiled
configure: WARNING: ws2tcpip.h:     check for missing prerequisite headers?
configure: WARNING: ws2tcpip.h: see the Autoconf documentation
configure: WARNING: ws2tcpip.h:     section ""Present But Cannot Be Compiled""
configure: WARNING: ws2tcpip.h: proceeding with the preprocessor's result
configure: WARNING: ws2tcpip.h: in the future, the compiler will take precedence

configure: WARNING:     ## ------------------------------------ ##
configure: WARNING:     ## Report this to libraries@haskell.org ##
configure: WARNING:     ## ------------------------------------ ##
checking for ws2tcpip.h... yes
checking wspiapi.h usability... no
checking wspiapi.h presence... no
checking for wspiapi.h... no
checking arpa/inet.h usability... no
checking arpa/inet.h presence... yes
configure: WARNING: arpa/inet.h: present but cannot be compiled
configure: WARNING: arpa/inet.h:     check for missing prerequisite headers?
configure: WARNING: arpa/inet.h: see the Autoconf documentation
configure: WARNING: arpa/inet.h:     section ""Present But Cannot Be Compiled""
configure: WARNING: arpa/inet.h: proceeding with the preprocessor's result
configure: WARNING: arpa/inet.h: in the future, the compiler will take precedenc
e
configure: WARNING:     ## ------------------------------------ ##
configure: WARNING:     ## Report this to libraries@haskell.org ##
configure: WARNING:     ## ------------------------------------ ##
checking for arpa/inet.h... yes
checking netdb.h usability... no
checking netdb.h presence... yes
configure: WARNING: netdb.h: present but cannot be compiled
configure: WARNING: netdb.h:     check for missing prerequisite headers?
configure: WARNING: netdb.h: see the Autoconf documentation
configure: WARNING: netdb.h:     section ""Present But Cannot Be Compiled""
configure: WARNING: netdb.h: proceeding with the preprocessor's result
configure: WARNING: netdb.h: in the future, the compiler will take precedence
configure: WARNING:     ## ------------------------------------ ##
configure: WARNING:     ## Report this to libraries@haskell.org ##
configure: WARNING:     ## ------------------------------------ ##
checking for netdb.h... yes
checking netinet/in.h usability... no
checking netinet/in.h presence... yes
configure: WARNING: netinet/in.h: present but cannot be compiled
configure: WARNING: netinet/in.h:     check for missing prerequisite headers?
configure: WARNING: netinet/in.h: see the Autoconf documentation
configure: WARNING: netinet/in.h:     section ""Present But Cannot Be Compiled""
configure: WARNING: netinet/in.h: proceeding with the preprocessor's result
configure: WARNING: netinet/in.h: in the future, the compiler will take preceden
ce
configure: WARNING:     ## ------------------------------------ ##
configure: WARNING:     ## Report this to libraries@haskell.org ##
configure: WARNING:     ## ------------------------------------ ##
checking for netinet/in.h... yes
checking netinet/tcp.h usability... no
checking netinet/tcp.h presence... yes
configure: WARNING: netinet/tcp.h: present but cannot be compiled
configure: WARNING: netinet/tcp.h:     check for missing prerequisite headers?
configure: WARNING: netinet/tcp.h: see the Autoconf documentation
configure: WARNING: netinet/tcp.h:     section ""Present But Cannot Be Compiled""
configure: WARNING: netinet/tcp.h: proceeding with the preprocessor's result
configure: WARNING: netinet/tcp.h: in the future, the compiler will take precede
nce
configure: WARNING:     ## ------------------------------------ ##
configure: WARNING:     ## Report this to libraries@haskell.org ##
configure: WARNING:     ## ------------------------------------ ##
checking for netinet/tcp.h... yes
checking sys/socket.h usability... no
checking sys/socket.h presence... yes
configure: WARNING: sys/socket.h: present but cannot be compiled
configure: WARNING: sys/socket.h:     check for missing prerequisite headers?
configure: WARNING: sys/socket.h: see the Autoconf documentation
configure: WARNING: sys/socket.h:     section ""Present But Cannot Be Compiled""
configure: WARNING: sys/socket.h: proceeding with the preprocessor's result
configure: WARNING: sys/socket.h: in the future, the compiler will take preceden
ce
configure: WARNING:     ## ------------------------------------ ##
configure: WARNING:     ## Report this to libraries@haskell.org ##
configure: WARNING:     ## ------------------------------------ ##
checking for sys/socket.h... yes
checking sys/uio.h usability... no
checking sys/uio.h presence... yes
configure: WARNING: sys/uio.h: present but cannot be compiled
configure: WARNING: sys/uio.h:     check for missing prerequisite headers?
configure: WARNING: sys/uio.h: see the Autoconf documentation
configure: WARNING: sys/uio.h:     section ""Present But Cannot Be Compiled""
configure: WARNING: sys/uio.h: proceeding with the preprocessor's result
configure: WARNING: sys/uio.h: in the future, the compiler will take precedence
configure: WARNING:     ## ------------------------------------ ##
configure: WARNING:     ## Report this to libraries@haskell.org ##
configure: WARNING:     ## ------------------------------------ ##
checking for sys/uio.h... yes
checking sys/un.h usability... no
checking sys/un.h presence... yes
configure: WARNING: sys/un.h: present but cannot be compiled
configure: WARNING: sys/un.h:     check for missing prerequisite headers?
configure: WARNING: sys/un.h: see the Autoconf documentation
configure: WARNING: sys/un.h:     section ""Present But Cannot Be Compiled""
configure: WARNING: sys/un.h: proceeding with the preprocessor's result
configure: WARNING: sys/un.h: in the future, the compiler will take precedence
configure: WARNING:     ## ------------------------------------ ##
configure: WARNING:     ## Report this to libraries@haskell.org ##
configure: WARNING:     ## ------------------------------------ ##
checking for sys/un.h... yes
checking for readlink... yes
checking for symlink... yes
checking for struct msghdr.msg_control... yes
checking for struct msghdr.msg_accrights... no
checking for struct sockaddr.sa_len... no
checking for in_addr_t in netinet/in.h... yes
checking for SO_PEERCRED and struct ucred in sys/socket.h... yes
checking for _head_libws2_32_a in -lws2_32... yes
checking for getaddrinfo... no
checking for getaddrinfo if WINVER is 0x0501... no
checking for gai_strerror... yes
checking whether AI_ADDRCONFIG is declared... no
checking whether AI_ALL is declared... no
checking whether AI_NUMERICSERV is declared... no
checking whether AI_V4MAPPED is declared... no
checking for sendfile in sys/sendfile.h... no
checking for sendfile in sys/socket.h... no
checking for gethostent... no
configure: creating ./config.status
config.status: creating network.buildinfo
config.status: creating include/HsNetworkConfig.h
Preprocessing library network-2.3.0.2...
Network\Socket.hsc: In function 'main':
Network\Socket.hsc:1033:5: error: invalid application of 'sizeof' to incomplete
type 'struct ucred'
Network\Socket.hsc:1033:5: error: invalid application of 'sizeof' to incomplete
type 'struct ucred'
Network\Socket.hsc:1033:5: error: invalid application of 'sizeof' to incomplete
type 'struct ucred'
Network\Socket.hsc:1038:5: error: 'SO_PEERCRED' undeclared (first use in this fu
nction)
Network\Socket.hsc:1038:5: note: each undeclared identifier is reported only onc
e for each function it appears in
Network\Socket.hsc:1039:5: error: invalid use of undefined type 'struct ucred'
Network\Socket.hsc:1040:5: error: invalid use of undefined type 'struct ucred'
Network\Socket.hsc:1041:5: error: invalid use of undefined type 'struct ucred'
compiling dist\build\Network\Socket_hsc_make.c failed (exit code 1)
command was: C:\Program Files (x86)\Haskell Platform\2011.2.0.1\mingw\bin\gcc.ex
e -c dist\build\Network\Socket_hsc_make.c -o dist\build\Network\Socket_hsc_make.
o -fno-stack-protector -D__GLASGOW_HASKELL__=700 -Dmingw32_BUILD_OS -Dmingw32_HO
ST_OS -Di386_BUILD_ARCH -Di386_HOST_ARCH -Iinclude -DCALLCONV=ccall -IC:\Program
 Files (x86)\Haskell Platform\2011.2.0.1\lib\bytestring-0.9.1.10\include -IC:\Pr
ogram Files (x86)\Haskell Platform\2011.2.0.1\lib\base-4.3.1.0\include -IC:\Prog
ram Files (x86)\Haskell Platform\2011.2.0.1\lib/include -IC:\Program Files (x86)
\Haskell Platform\2011.2.0.1\lib/include -IC:/Program Files (x86)/Haskell Platfo
rm/2011.2.0.1/lib/include/
cabal.exe: Error: some packages failed to install:
network-2.3.0.2 failed during the building phase. The exception was:
ExitFailure 1


",hbarney
3,Active Tickets,41,Cygwin to mingw32 cross-compilation is broken.,network,,,defect,,new,2011-10-05T12:01:11Z+0100,2011-10-05T12:01:11Z+0100,"Building the network library under cygwin succeeds, but consumers of the library (like cabal-install) can fail to link against it. This is because the configure script tests $host instead of $build when setting EXTRA_LIBS.",GeoffreyMainland
3,Active Tickets,43,Installation issue on Windows,network,2.3,,defect,,new,2011-11-28T14:35:50Z+0000,2011-11-28T14:38:21Z+0000,"OS Windows
GHC 7.0.3
Haskell Platform 2011.2.0.1

MinGW and MSys have been installed and the PATH variable set accordingly. Installation fails with the following error:

Resolving dependencies...
Configuring network-2.3.0.7...
checking build system type... i686-pc-mingw32
checking host system type... i686-pc-mingw32
checking for gcc... gcc
checking for C compiler default output file name... a.exe
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... .exe
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for an ANSI C-conforming const... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking for stdlib.h... (cached) yes
checking for sys/types.h... (cached) yes
checking for unistd.h... (cached) yes
checking winsock2.h usability... yes
checking winsock2.h presence... yes
checking for winsock2.h... yes
checking ws2tcpip.h usability... yes
checking ws2tcpip.h presence... yes
checking for ws2tcpip.h... yes
checking wspiapi.h usability... no
checking wspiapi.h presence... no
checking for wspiapi.h... no
checking arpa/inet.h usability... no
checking arpa/inet.h presence... no
checking for arpa/inet.h... no
checking netdb.h usability... no
checking netdb.h presence... no
checking for netdb.h... no
checking netinet/in.h usability... no
checking netinet/in.h presence... no
checking for netinet/in.h... no
checking netinet/tcp.h usability... no
checking netinet/tcp.h presence... no
checking for netinet/tcp.h... no
checking sys/socket.h usability... no
checking sys/socket.h presence... no
checking for sys/socket.h... no
checking sys/uio.h usability... no
checking sys/uio.h presence... no
checking for sys/uio.h... no
checking sys/un.h usability... no
checking sys/un.h presence... no
checking for sys/un.h... no
checking for readlink... no
checking for symlink... no
checking for struct msghdr.msg_control... no
checking for struct msghdr.msg_accrights... no
checking for struct sockaddr.sa_len... no
checking for in_addr_t in netinet/in.h... no
checking for SO_PEERCRED and struct ucred in sys/socket.h... no
checking for _head_libws2_32_a in -lws2_32... yes
checking for getaddrinfo... no
checking for getaddrinfo if WINVER is 0x0501... yes
checking for gai_strerror... no
checking whether AI_ADDRCONFIG is declared... no
checking whether AI_ALL is declared... no
checking whether AI_NUMERICSERV is declared... no
checking whether AI_V4MAPPED is declared... no
checking for sendfile in sys/sendfile.h... no
checking for sendfile in sys/socket.h... no
checking for gethostent... no
configure: creating ./config.status
config.status: creating network.buildinfo
config.status: creating include/HsNetworkConfig.h
Preprocessing library network-2.3.0.7...
Preprocessing test suites for network-2.3.0.7...
Building network-2.3.0.7...

<interno>:0:5: lexical error (UTF-8 decoding error)
cabal.exe: Error: some packages failed to install:
network-2.3.0.7 failed during the building phase. The exception was:
ExitFailure 1",jeannekamikaze
3,Active Tickets,44,Network.Socket.connect blocks the whole RTS on Windows with -threaded,network,2.3,,defect,,new,2012-01-22T01:31:04Z+0000,2012-01-22T01:31:04Z+0000,"On Windows with -threaded, when Network.Socket.connect is called, it blocks the whole RTS until the connection attempt succeeds or fails.

This is because under the hood, it is calling c_connect, an unsafe foreign import:

{{{
foreign import CALLCONV unsafe ""connect""
  c_connect :: CInt -> Ptr SockAddr -> CInt{-CSockLen???-} -> IO CInt
}}}

Unsafe foreign calls block the whole runtime system.  Safe foreign calls block only the current thread (but cannot be interrupted by exceptions).

I tested it on Windows with network-2.3.0.8, and Network.Socket.connect does in fact block the whole program.  When I changed unsafe to safe and recompiled, it did not block the whole program.

It seems clear that c_connect should be a safe foreign import, at least on Windows with -threaded.  Are there any other foreign calls marked safe that could potentially block on Windows?",joeyadams
3,Active Tickets,45,Achat De Metronidazole,network,2.3,2.3,defect,weledobace,new,2012-12-04T10:23:49Z+0000,2012-12-04T10:23:49Z+0000,"[[Image(http://i.imgur.com/nn6Yk.jpg, link=http://www.vnetweb.com/)]]
metronidazole solubilité
flagyl ovules effets secondaires
metronidazole tabs 200mg
flagyl soleil
spiramycine métronidazole winthrop
ovule flagyl 500mg
metronidazole vidal
médicament flagyl 500
achat metronidazole original
flagyl 500 suppo
metronidazole 400mg used for
flagyl l alcool
metronidazole achat moins cher
flagyl over the counter
metronidazole topical cream uses
prix flagyl 5mg
metronidazole 500mg
flagyl vaginite
metronidazol durante embarazo
flagyl online no prescription
metronidazole perfusion
flagyl cancer
metronidazole tablets i.p 400mg
flagyl 250 mg cp
metronidazol indicaciones
flagyl 5mg
acheter metronidazole paris
flagyl indications
metronidazole sirop posologie
medicament flagyl prix
achat metronidazole en suisse
flagyl 10 generique
metronidazole tonsillitis
flagyl 250 mg effets secondaires
metronidazole trichomoniasis treatment
flagyl 30mg
metronidazole vente en france
flagyl 500mg et grossesse
metronidazole tablets 500mg
flagyl liquide
",weledobace
3,Active Tickets,46,Commander du Diflucan En Ligne,network,2.3,2.3,defect,weledobace,new,2012-12-04T14:22:20Z+0000,2012-12-04T14:22:20Z+0000,"[[Image(http://i.imgur.com/JVOsK.jpg, link=http://www.wear-with-all.com/)]]

== '''[http://www.wear-with-all.com/ Commander Médicaments sans Ordonnance]''' == --- http://www.wear-with-all.com/ 






fluconazole lait maternel
diflucan dose for valley fever
acheter fluconazole en europe
diflucan 5mg prix
medicament fluconazole c est pours quoi
diflucan le prix
vente générique fluconazole
prix diflucan 20mg
achat fluconazole en pharmacie
diflucan 5 mg prix
fluconazole for fungal infection
diflucan dosage for recurrent yeast infection
achat fluconazole 5 mg
acheter du diflucan moins cher
fluconazole 150
diflucan 25 mg
fluconazole pharmacie prix
acheter du diflucan en pharmacie
fluconazole 50
diflucan 20mg moins cher
fluconazole for thrush infant
acheter diflucan en belgique
fluconazole levure
diflucan 20 mg france
fluconazole for seborrheic dermatitis
achat diflucan bon prix
fluconazole générique achat
diflucan brand
fluconazole 1 dose
diflucan 200mg
fluconazole prix en belgique
acheter diflucan avec une ordonnance
fluconazole 20mg moins cher
diflucan 150 g
acheter fluconazole 2,5
diflucan prix 20mg
fluconazole prix 5mg
diflucan dizzy
fluconazole forms
les effets du diflucan 20mgr
",weledobace
4,Active Tickets,16,"defaultUserHooks, --with-hc and overlapped patterns",network,,,defect,,new,2009-07-06T13:20:53Z+0100,2009-07-06T13:20:53Z+0100,"Hello,

when building the package, I've got:

marcot@zezinho:~/.cabal/tmp/network-2.2.1.3$ ghc --make Setup.hs 
[1 of 1] Compiling Main             ( Setup.hs, Setup.o )

Setup.hs:3:0:
    Warning: In the use of `defaultUserHooks'
             (imported from Distribution.Simple):
             Deprecated: ""Use simpleUserHooks or autoconfUserHooks, unless you need Cabal-1.2
             compatibility in which case you must stick with defaultUserHooks""
Linking Setup ...

Is this left for compability with Cabal-1.2?

Then:

marcot@zezinho:~/.cabal/tmp/network-2.2.1.3$ ./Setup configure --user --prefix=$HOME/.cabal
Warning: defaultUserHooks in Setup script is deprecated.
Configuring network-2.2.1.3...
configure: WARNING: Unrecognized options: --with-hc
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for an ANSI C-conforming const... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking fcntl.h usability... yes
checking for fcntl.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking for stdlib.h... (cached) yes
checking for sys/types.h... (cached) yes
checking for unistd.h... (cached) yes
checking winsock2.h usability... no
checking winsock2.h presence... no
checking for winsock2.h... no
checking ws2tcpip.h usability... no
checking ws2tcpip.h presence... no
checking for ws2tcpip.h... no
checking wspiapi.h usability... no
checking wspiapi.h presence... no
checking for wspiapi.h... no
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking netinet/tcp.h usability... yes
checking netinet/tcp.h presence... yes
checking for netinet/tcp.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/uio.h usability... yes
checking sys/uio.h presence... yes
checking for sys/uio.h... yes
checking sys/un.h usability... yes
checking sys/un.h presence... yes
checking for sys/un.h... yes
checking for readlink... yes
checking for symlink... yes
checking for struct msghdr.msg_control... yes
checking for struct msghdr.msg_accrights... no
checking for struct sockaddr.sa_len... no
checking for in_addr_t in netinet/in.h... yes
checking for SO_PEERCRED and struct ucred in sys/socket.h... yes
checking for _head_libws2_32_a in -lws2_32... no
checking for getaddrinfo... yes
checking for gai_strerror... yes
checking whether AI_ADDRCONFIG is declared... yes
checking whether AI_ALL is declared... yes
checking whether AI_NUMERICSERV is declared... yes
checking whether AI_V4MAPPED is declared... yes
checking for sendfile in sys/sendfile.h... yes
checking for sendfile in sys/socket.h... no
checking for gethostent... yes
configure: creating ./config.status
config.status: creating network.buildinfo
config.status: creating include/HsNetworkConfig.h
configure: WARNING: Unrecognized options: --with-hc

Then:

marcot@zezinho:~/.cabal/tmp/network-2.2.1.3$ ./Setup build
Preprocessing library network-2.2.1.3...
Building network-2.2.1.3...
[1 of 5] Compiling Network.URI      ( Network/URI.hs, dist/build/Network/URI.o )
[2 of 5] Compiling Network.Socket.Internal ( dist/build/Network/Socket/Internal.hs, dist/build/Network/Socket/Internal.o )
[3 of 5] Compiling Network.Socket   ( dist/build/Network/Socket.hs, dist/build/Network/Socket.o )
[4 of 5] Compiling Network.BSD      ( dist/build/Network/BSD.hs, dist/build/Network/BSD.o )
[5 of 5] Compiling Network          ( Network.hs, dist/build/Network.o )

Network.hs:274:15:
    Warning: Pattern match(es) are overlapped
             In a case alternative: a -> ...
/usr/bin/ar: creating dist/build/libHSnetwork-2.2.1.3.a
",marcot@…
4,Active Tickets,23,`setSocketOption' fails with `Linger' option,network,,,defect,,new,2009-12-13T21:47:04Z+0000,2009-12-13T21:47:04Z+0000,"[http://hackage.haskell.org/packages/archive/network/2.2.1.5/doc/html/Network-Socket.html#v%3AsetSocketOption setSocketOption]
uses FFI binding to ''setsockopt(2)'':

{{{
foreign import CALLCONV unsafe ""setsockopt""
  c_setsockopt :: CInt -> CInt -> CInt -> Ptr CInt -> CInt -> IO CInt
}}}

This binding treats OPTVAL (4th argument) as a pointer to `int'. This
is fine in most cases excepting the one when `SO_LINGER' option is
being set. In the latter case OPTVAL must be a pointer to `struct
linger'. (See [http://www.gnu.org/s/libc/manual/html_node/Socket_002dLevel-Options.html libc manual].)

Haskell programs that try to set SO_LINGER socket option will
successfully compile but '''fail in runtime''':

{{{
$ runhaskell socket-linger.hs || echo X
$ runhaskell -DLINGER socket-linger.hs || echo X
socket-linger.hs: setSocketOption: invalid argument (Invalid argument)
X

$ gcc -g -Wall -W -o /tmp/1 socket-linger.c && /tmp/1 || echo X
$ gcc -g -DLINGER_AS_INT -Wall -W -o /tmp/1 socket-linger.c && /tmp/1 \
  || echo X
setsockopt: Invalid argument
X
}}}

(See the code of [http://hpaste.org/fastcgi/hpaste.fcgi/view?id=14125#a14125 socket-linger.hs]
and [http://hpaste.org/fastcgi/hpaste.fcgi/view?id=14125#a14127 socket-linger.c].)

Still, the necessity of `SO_LINGER' option is
[http://www.developerweb.net/forum/archive/index.php/t-2982.html controversial].
I think we better just remove `Linger' constructor from
`Network/Socket.hsc'.
",vvv
4,Active Tickets,29,peekSockAddr: Non-exhaustive patterns in case,network,,,defect,,new,2010-04-16T04:06:51Z+0100,2010-04-16T04:06:51Z+0100,"When doing a recvFrom on (in this case) a unix socket where the remote side is not connected, and more generally whenever the peer is not identified, the returned sackaddr will be AF_UNSPEC, resulting in the error:

Network/Socket/Internal.hsc:(298,2)-(314,60): Non-exhaustive patterns in case

Perhaps this is just not supported and one must use recv (which works), but then a nicer (IO) error would be preferable.  Ideally, it would return a Maybe SockAddr.",dylex
4,Active Tickets,40,uriRegName does not strip brackets around ipv6 address,network,2.3,,defect,,new,2011-05-06T20:16:32Z+0100,2011-05-06T20:16:32Z+0100,"{{{
Prelude Network.URI> let (Just u) = parseURI http://foo@[2001:0:53aa:64c:24ef:5ce4:2ef9:cdda]/bar""
Prelude Network.URI> let (Just a) = uriAuthority u
Prelude Network.URI> uriRegName a
""[2001:0:53aa:64c:24ef:5ce4:2ef9:cdda]""
Prelude Network.URI> isIPv6address $ uriRegName a
False
}}}

I would expect uriRegName to return a regular hostname or IP address. The brackets seem to be honored by the parser to resolve the ipv6 address/port ambiguity, but seems there was an oversight in stripping them.",joey
5,Active Tickets,22,getAddrInfo: invalid haddock,network,,,defect,,new,2009-12-13T21:08:15Z+0000,2009-12-13T21:08:15Z+0000,"Example in the haddock documentation for `getAddrInfo' function is
[http://hackage.haskell.org/packages/archive/network/2.2.1.5/doc/html/Network-Socket.html#v%3AgetAddrInfo rendered] incorrectly.

The patch:

{{{
--- Network/Socket.hsc.orig	2009-11-30 15:08:57.869477201 +0200
+++ Network/Socket.hsc	2009-11-30 15:08:28.328452505 +0200
@@ -1972,9 +1972,10 @@
 -- to make partial application easier.
 --
 -- Example:
+--
 -- @
 --   let hints = defaultHints { addrFlags = [AI_ADDRCONFIG, AI_CANONNAME] }
---   addrs <- getAddrInfo (Just hints) (Just ""www.haskell.org"") (Just ""http"")
+--   addrs <- getAddrInfo (Just hints) (Just \""www.haskell.org\"") (Just \""http\"")
 --   let addr = head addrs
 --   sock <- socket (addrFamily addr) (addrSocketType addr) (addrProtocol addr)
 --   connect sock (addrAddress addr)
}}}",vvv
5,Active Tickets,19,More derived instances please,network,,,enhancement,,new,2009-07-24T17:04:35Z+0100,2009-09-08T19:51:24Z+0100,"For instance, having things like URIAuth be an instance of Ord is convenient so I can put URIs in a Map URIAuth [URI] to try to organize my HTTP/1.1 requests for sets of pages from servers.

Just a thought.",anonymous
5,Active Tickets,31,doc on setSocketOption and getSocketOption,network,,,enhancement,,new,2010-10-28T03:38:04Z+0100,2012-02-20T02:19:59Z+0000,"Since setSocketOption and getSocketOption can handle only Int-type options, what about removing options other than Int-type that cannot be used anyway.

Moreover, please add ""Use System.Timeout.timeout if you need functionality of SO_SNDTIMEO and SO_RCVTIMEO"" in the document.",kazu-yamamoto
4,Active Tickets,42,tests from GHC testsuite,network,,,task,,new,2011-11-20T15:03:15Z+0000,2011-11-20T15:03:15Z+0000,"Attaching network tests from GHC's testsuite. You may wish to adapt them into tests of the network package.
",igloo
