Ticket #2326: sockaddr_sa_len.patch

File sockaddr_sa_len.patch, 9.9 KB (added by iquiw, 6 years ago)
Line 
1Sun Jun  1 17:44:51 JST 2008  Iku Iwasa <iku.iwasa@gmail.com>
2  * Check sockaddr.sa_len by configure
3
4New patches:
5
6[Check sockaddr.sa_len by configure
7Iku Iwasa <iku.iwasa@gmail.com>**20080601084451] {
8hunk ./Network/Socket.hsc 504
9-#if defined(netbsd_TARGET_OS)
10+#if defined(HAVE_STRUCT_SOCKADDR_SA_LEN)
11hunk ./Network/Socket.hsc 516
12-#if defined(netbsd_TARGET_OS)
13+#if defined(HAVE_STRUCT_SOCKADDR_SA_LEN)
14hunk ./Network/Socket.hsc 527
15-#if defined(netbsd_TARGET_OS)
16+#if defined(HAVE_STRUCT_SOCKADDR_SA_LEN)
17hunk ./configure.ac 33
18+
19+dnl ** check if struct sockaddr contains sa_len
20+AC_CHECK_MEMBERS([struct sockaddr.sa_len], [], [], [#if HAVE_SYS_TYPES_H
21+# include <sys/types.h>
22+#endif
23+#if HAVE_SYS_SOCKET_H
24+# include <sys/socket.h>
25+#endif])
26}
27
28Context:
29
30[Fix SO_PEERCRED and struct ucred support under glibc 2.8.
31Bryan O'Sullivan <bos@serpentine.com>**20080528201859]
32[Support abstract unix sockets
33Lennart Kolmodin <kolmodin@gentoo.org>**20080326212428]
34[Type (opertaions -> operations)
35Ian Lynagh <igloo@earth.li>**20080325201023
36 Spotted by larsv in trac #2173.
37]
38[Fix listenOn and getNameInfo to work on NetBSD
39Iku Iwasa <iku.iwasa@gmail.com>**20080216123753
40 Network.hs: specify addrSocketType=Stream for getAddrInfo in listen' function.
41 Network/Socket.hsc: poke length of struct sockaddr_* in pokeSockAddr function.
42]
43[FIX #1129: recvFrom blocks on Windows.
44Simon Marlow <simonmar@microsoft.com>**20080220161001
45 This is only a partial fix: it works with the threaded RTS now.
46 Realistically, I don't think we're going to get this working with the
47 non-threaded RTS any time soon.
48]
49[eliminate warning on Windows
50Simon Marlow <simonmar@microsoft.com>**20080220155706]
51[Catch up with changes to GHC.Handle.fdToHandle'
52Simon Marlow <simonmar@microsoft.com>*-20071121084901]
53[Catch up with changes to GHC.Handle.fdToHandle'
54Simon Marlow <simonmar@microsoft.com>**20071121084901]
55[fix test to work with non-GHC implementations
56Ross Paterson <ross@soi.city.ac.uk>**20071118173815]
57[add a signature (to avoid Hugs's non-standard handling of the MR)
58Ross Paterson <ross@soi.city.ac.uk>**20071118173728]
59[fix ifdef for Hugs
60Ross Paterson <ross@soi.city.ac.uk>**20071117195725]
61[Match *-solaris2*, not just *-solaris2, in configure.ac; fixes #1857
62Ian Lynagh <igloo@earth.li>**20071110180525
63 Patch from Christian Maeder
64]
65[TAG GHC 6.8.1 release
66Ian Lynagh <igloo@earth.li>**20071110011105]
67[TAG 2.1.0.0 release
68Ian Lynagh <igloo@earth.li>**20071110010955]
69[Bump version number
70Ian Lynagh <igloo@earth.li>**20071027124850]
71[Compatability with ghc-6.4
72Duncan Coutts <duncan@haskell.org>**20071018172327
73 Define bracketOnError locally and use openFd when building with ghc-6.4
74]
75[Specify build-type: Configure
76Duncan Coutts <duncan@haskell.org>**20071018172434]
77[Follow openFd -> fdToHandle' rename
78Ian Lynagh <igloo@earth.li>**20070722184622]
79[Sleep for a second before trying to connect in the net001 test
80Ian Lynagh <igloo@earth.li>**20070717122449
81 With just a yield, in threaded1/2 ways the client was sometimes trying
82 to connect before the server was listening.
83]
84[Quieten build on OS X.
85Bryan O'Sullivan <bos@serpentine.com>**20070627213703]
86[Fix use of autoconf HAVE_DECL_* macros.
87Bryan O'Sullivan <bos@serpentine.com>**20070627213617
88 It turns out that the macros are always defined, unlike most others.
89]
90[Make IPv6 address handling more portable and robust.
91Bryan O'Sullivan <bos@serpentine.com>**20070627182816
92 
93 1.  No longer rely on the in6_addr structure's s6_addr32 field, which
94     is not available on many platforms.  Use s6_addr instead.
95 
96 2.  Add a number of AI_* flags that are required by RFC 3493.  Not all
97     of these flags are implemented on all systems, but on systems
98     where they *are* implemented, we get runtime exceptions if we
99     don't make them available.
100 
101 3.  To let users check whether a particular AI_* flag is implemented,
102     we introduce the addrInfoFlagImplemented function.
103 
104 4.  Fix the autoconf macro used to check for AI_* flag availability.
105     The previous check wasn't portable, and caused flags to appear not
106     to be present when they really were.
107]
108[FIX net001 (Windows): get some calling conventions right
109Simon Marlow <simonmar@microsoft.com>**20070703082831]
110[Fix further build problems when IPv6 isn't available
111Simon Marlow <simonmar@microsoft.com>**20070604105407]
112[Try a hopefully more portable test for RFC 3493 API compatibility.
113Bryan O'Sullivan <bos@serpentine.com>**20070602050225]
114[Fix build failure if IPv6 is not available.
115Bryan O'Sullivan <bos@serpentine.com>**20070601160943]
116[Fixed support for platforms with IPv6 but no AI_ADDRCONFIG
117Michael D. Adams <t-madams@microsoft.com>**20070604153642]
118[--configure-option and --ghc-option are now provided by Cabal
119Ross Paterson <ross@soi.city.ac.uk>**20070604115612]
120[Invoke the preprocessor portably.
121Bryan O'Sullivan <bos@serpentine.com>**20070408171912]
122[Add IPv6 support to Network.
123Bryan O'Sullivan <bos@serpentine.com>**20070404223751
124 
125 The public API remains unchanged; it can now transparently handle IPv6
126 addresses and sockets.
127]
128[Add IPv6 support to Network.Socket.
129Bryan O'Sullivan <bos@serpentine.com>**20070404222036
130 
131 The only public API changes are to Network.Socket, which has the following
132 exported names added (no existing names have been removed):
133 
134     -- IPv6 address components
135     HostAddress6
136     FlowInfo
137     ScopeID
138 
139     -- Name -> address lookup
140     getAddrInfo
141     AddrInfo
142     AddrInfoFlag
143     defaultHints
144 
145     -- Address -> name lookup
146     getNameInfo
147     NameInfoFlag
148 
149 The SockAddr type acquires a new branch, SockAddr6.  (This could cause
150 new "non-exhaustive matches" warnings when compiling pre-existing client
151 code that pattern-matches on SockAddr values.  However, it will not
152 cause runtime pattern failure errors in clients using the pre-existing
153 IPv4 entry points, as they will never see IPv6 addresses.)
154 
155 This change moves a few type names from Network.BSD to Network.Socket:
156 
157     HostName
158     ServiceName
159 
160 These names are still re-exported from Network.BSD, so pre-existing code
161 should not be affected.
162]
163[Remove Makefile and package.conf.in (used in the old GHC build system)
164Ian Lynagh <igloo@earth.li>**20070524145815]
165[add includes: field
166Simon Marlow <simonmar@microsoft.com>**20070517095001]
167[TAG GHC 6.6.1 release
168Ian Lynagh <igloo@earth.li>**20070428195851]
169[TAG 2.0.1 release
170Ian Lynagh <igloo@earth.li>**20070428195744]
171[TAG GHC 6.6.1 release
172Ian Lynagh <igloo@earth.li>**20070424113929]
173[TAG Version 2.0.1
174Ian Lynagh <igloo@earth.li>**20070424113858]
175[Bump version to 2.0.1
176Ian Lynagh <igloo@earth.li>**20070422195222]
177[Follow Cabal changes in Setup.*hs
178Ian Lynagh <igloo@earth.li>**20070418121338]
179[Fix configure with no --with-cc
180Ian Lynagh <igloo@earth.li>**20070415195109]
181[Fix -Wall warnings
182Ian Lynagh <igloo@earth.li>**20070411012234]
183[Pass configure options through to ./configure, and allow CC to be passed in
184Ian Lynagh <igloo@earth.li>**20070411000904]
185[Make Setup.hs suitable for building in a GHC tree
186Ian Lynagh <igloo@earth.li>**20070407174146]
187[apply changes from patch "make this test deterministic on a multiprocessor" in testsuite
188Simon Marlow <simonmar@microsoft.com>**20070221142822]
189[tests for use with GHC's test framework, moved from the testsuite
190Simon Marlow <simonmar@microsoft.com>**20070221142258]
191[README about building from darcs
192Ross Paterson <ross@soi.city.ac.uk>**20070218110201]
193[don't install Typeable.h, fixes #1106
194Simon Marlow <simonmar@microsoft.com>**20070201125821]
195[network doesn't really need the html package
196Ian Lynagh <igloo@earth.li>**20070111122348]
197[includes -> install-includes
198Ross Paterson <ross@soi.city.ac.uk>**20060829123744]
199[change title to Haskell Hierarchical Libraries
200Ross Paterson <ross@soi.city.ac.uk>**20060827131348]
201[exclude Setup.hs from build
202Ross Paterson <ross@soi.city.ac.uk>**20060824183533]
203[add boilerplate Setup.hs
204Ross Paterson <ross@soi.city.ac.uk>**20060824115019]
205[Update Network.BSD header to not mention symlinks.
206Ian Lynagh <igloo@earth.li>**20060823184314]
207[Removed Network.CGI from the network package. A backwards-compatible new Network.CGI is available in the cgi package.
208bringert@cs.chalmers.se**20060814095652]
209[remove deprecated Network.BSD.{readlink,symlink}
210Simon Marlow <simonmar@microsoft.com>**20060811153755]
211[bump version to 2.0
212Simon Marlow <simonmar@microsoft.com>**20060811152554]
213[depend on html (for the time being)
214Simon Marlow <simonmar@microsoft.com>**20060810121424]
215[initWinSock(): have defn match proto
216sof@galois.com**20060613224903]
217[only GHC has rtsSupportsBoundThreads
218Ross Paterson <ross@soi.city.ac.uk>**20060531200123]
219[add files used by configure
220Ross Paterson <ross@soi.city.ac.uk>**20060518174356]
221[Import unsafePerformIO
222Sven Panne <sven.panne@aedion.de>**20060507171832]
223[Import MVar type
224Sven Panne <sven.panne@aedion.de>**20060507170308]
225[Add various address families
226Simon Marlow <simonmar@microsoft.com>**20060503081915]
227[Fix for #265, build problem on AIX
228Simon Marlow <simonmar@microsoft.com>**20060316143337
229 Not the fix from the ticket, but this one at least doesn't require
230 modifying the configure script.
231]
232[workaround for non-thread-safety of some functions in Network.BSD
233Simon Marlow <simonmar@microsoft.com>**20060126153014
234 Various functions in Network.BSD are non-thread-safe,
235 eg. getHostByName, because the underlying gethostbyname() provided by
236 the C library uses static storage.  The workaround here is to use a
237 giant lock around these functions.
238 
239 In some cases, even the API we provide is itself unsafe, relying on
240 implicit state (eg. getHostEntry), but this commit makes no attempt to
241 fix that.  We should deprecate this library in favour of a complete
242 replacement at some point (before 6.6 would be nice).
243 
244 Thanks to Einar Kartunnen for the patch.
245]
246[Fix Ticket 647, Socket bug on Mac OS X
247wolfgang.thaller@gmx.net**20060121050509
248 Patch kindly provided by Greg Wright
249]
250[TAG Initial conversion from CVS complete
251John Goerzen <jgoerzen@complete.org>**20060112154134]
252Patch bundle hash:
253bd14afe1577d3e5eb7cec32c22eee489f6f6d170