2007-11-01 Miguel de Icaza <miguel@novell.com>
[mono.git] / mcs / class / System / System.Net.Sockets / ChangeLog
1 2007-11-01  Miguel de Icaza  <miguel@novell.com>
2
3         * Socket.cs: Do not set the Send and Receive buffer sizes for the
4         socket to the defaults set on Windows, they kill our performance.
5
6         Thanks to Zoltan Varga for tracking the performance issue down.
7         The bug was #325032
8
9 2007-10-30  Dick Porter  <dick@ximian.com>
10
11         * UdpClient.cs: Don't set the multicast option twice.  Fixes bug
12         324033.
13
14 2007-10-21  Robert Jordan  <robertj@gmx.net>
15
16         * Socket.cs: Remove GetHashCode override from the NET_2_0
17         profile. Add LAMESPEC comment. Fixes bug #325113.
18
19 2007-09-22  Gert Driesen  <drieseng@users.sourceforge.net>
20
21         * Socket.cs: Removed unused method.
22
23 2007-08-02  Dick Porter  <dick@ximian.com>
24
25         * Socket.cs: Patch from Brian Nickel (brian.nickel@gmail.com) to
26         improve EndPoint handling.
27
28 2007-07-08  Gert Driesen  <drieseng@users.sourceforge.net>
29
30         * Socket.cs: Code formatting. Marked not implemented methods as TODO.
31         Removed extra spaces.
32
33 2007-07-04  Dick Porter  <dick@ximian.com>
34
35         * Socket.cs: Don't set DontFragment by default for IPv6 sockets.
36         Fixes bug 81985.
37
38 2007-05-16 Adar Wesley <adarw@mainsoft.com>
39
40         * Socket.jvm.cs: added missing methods EndDisconnect, IOControl,
41         Send 2.0 overloads, Receive 2.0 overloads, ReceiveMessageFrom,
42         BeginReceiveMessageFrom, EndReceiveMessageFrom, 
43         EndAccept 2.0 overloads, BeginSend, EndSend, BeginReceive, 
44         EndReceive, SendFile, BeginSendFile, EndSendFile, Disconnect,
45         DuplicateAndClose
46
47 2007-05-09 Igor Zelmanovich <igorz@mainsoft.com>
48
49         * Socket.jvm.cs: Handle property throws NotImplementedException.        
50
51 2007-05-09 Igor Zelmanovich <igorz@mainsoft.com>
52
53         * NetworkStream.cs:
54         * TcpClient.cs:
55         * TcpListener.cs:
56         * UdpClient.cs:                 
57         added MonoNotSupported attribute for TARGATE_JVM.       
58                 
59 2007-03-11  Gert Driesen  <drieseng@users.sourceforge.net>
60
61         * TcpClient.cs: Do not initialize network stream in Connect. In
62         Dispose, only nullify client if network stream was not obtained.
63         Fixes bug #81105.
64
65 2007-01-30  Ilya Kharmatsky <ilyak -at- mainsoft.com>
66
67         * Socket.jvm.cs: additional stubs for net_2_0 properties,
68         bug fixes (EnsureStillUsable method inserted)
69
70 2007-01-28  Ilya Kharmatsky <ilyak -at- mainsoft.com>
71
72         * Socket.jvm.cs: added stubs for net_2_0 properties and methods.
73
74 2007-01-26  Dick Porter  <dick@ximian.com>
75
76         * Socket.cs: SupportsIPv6 is obsolete in the 2.0 profile.  Stub
77         out BeginReceiveMessageFrom(), BeginSendFile(),
78         EndReceiveMessageFrom(), EndSendFile(), ReceiveMessageFrom(), and
79         SendFile().
80
81         * IPPacketInformation.cs: New in the 2.0 profile
82
83         * SocketFlags.cs: Remove useless (and empty) inline documentation,
84         and add 2.0 items.
85
86         * TcpListener.cs: Mark Server as public in the 2.0 profile.
87
88         * UdpClient.cs: Mark Dispose(bool) as protected in the 2.0
89         profile.
90
91         System.Net.Sockets should now be 2.0-complete.
92
93 2007-01-26  Dick Porter  <dick@ximian.com>
94
95         * Socket.cs: There's no point checking the SO_ERROR status of a
96         socket after poll() or select() if we already know that connected
97         == true.
98
99 2007-01-24  Dick Porter  <dick@ximian.com>
100
101         * IOControlCode.cs: 
102         * SocketInformationOptions.cs: 
103         * TransmitFileOptions.cs: Fix enum values
104
105         * AddressFamily.cs: Not Serializable in the 2.0 profile
106
107 2007-01-24  Dick Porter  <dick@ximian.com>
108
109         * NetworkStream.cs: 2.0 profile updates, based on a patch by
110         Sridhar Kulkarni (sridharkulkarni@gmail.com)
111
112 2007-01-23  Dick Porter  <dick@ximian.com>
113
114         * TcpListener.cs: 
115         * TcpClient.cs: 2.0 profile updates, based on a patch by Sridhar
116         Kulkarni (sridharkulkarni@gmail.com)
117
118 2007-01-22  Miguel de Icaza  <miguel@novell.com>
119
120         * Socket.cs: Move the throw new NotImplementedException ()
121         elsewhere to prevent Moma reports.
122
123 2007-01-20  Dick Porter  <dick@ximian.com>
124
125         * Socket.cs(SocketDefaults): Catch and ignore any SocketExceptions
126         thrown from setting default socket options - some platforms might
127         not support a particular default we're trying to set.
128
129 2007-01-11  Dick Porter  <dick@ximian.com>
130
131         * IOControlCode.cs: 
132         * SocketInformation.cs: 
133         * Socket.cs: 
134         * UdpClient.cs: 2.0 profile updates, loosely based on a patch by
135         Sridhar Kulkarni.
136
137         * SocketInformationOptions.cs: 
138         * TransmitFileOptions.cs: Implemented by Sridhar Kulkarni
139         (sridharkulkarni@gmail.com)
140
141 Wed Dec 13 12:04:02 CET 2006 Paolo Molaro <lupus@ximian.com>
142
143         * Socket.cs: stub ReceiveBufferSize and SendBufferSize to
144         get ironpython to compile.
145
146 2006-11-23  Dick Porter  <dick@ximian.com>
147
148         * Socket.cs: Only set Connected = true in Poll() and Select() if
149         the socket error status is 0.  Fixes bug 79878.
150
151 2006-09-28 Andrew Skiba <andrews@mainsoft.com>
152
153         * Socket.cs,NetworkStream.cs,SocketException.cs: TARGET_JVM
154
155 2006-09-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
156
157         * Socket.cs: update the SocketOperation enum.
158
159 2006-08-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
160
161         * Socket.cs: replace hardcoded error numbers with the SocketError
162         values. When ReceiveTimeout is set on a blocking socket, correctly
163         report timeouts in the generated exception.
164         
165         * SocketException.cs: add new internal ctor (int, string).
166
167 2006-08-12  Miguel de Icaza  <miguel@novell.com>
168
169         * Socket.cs (NoDelay): Implement.
170
171 2006-06-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
172
173         * Socket.cs: patch from Sanghyeon Seo that implements
174         (Send|Receive)Timeout for 2.0.
175         * MulticastOption.cs: more 2.0 stuff.
176
177 2006-06-28  Atsushi Enomoto  <atsushi@ximian.com>
178
179         * Socket.cs : use ConfigurationManager.GetSection() under NET_2_0.
180           Also make sure to avoid NRE.
181
182 2006-06-24  Zoltan Varga  <vargaz@gmail.com>
183
184         * Socket.cs: Add stubs for net 2.0 SendTimeout and ReceiveTimeout properties.
185
186 2006-06-20  Zoltan Varga  <vargaz@gmail.com>
187
188         * ProtocolType.cs SocketOptionName.cs: Add missing net 2.0 fields.
189
190 2006-05-30  Gert Driesen  <drieseng@users.sourceforge.net>
191
192         * NetworkStream.cs: Marked Dispose (bool) virtual on 1.x profile.
193
194 2006-04-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
195
196         * Socket.cs:
197         * SocketError.cs: implemented Reseive/Send overloads that do not throw
198         in case of error. Patch by Tomi Valkeinen.
199
200 2006-03-11  Miguel de Icaza  <miguel@novell.com>
201
202         * NetworkStream.cs (Dispose): Use the right signature depending on
203         the profile being built.
204
205 2006-03-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
206
207         * Socket.cs: pass something not empty to the unixep ctor.
208
209 2006-03-03  Dick Porter  <dick@ximian.com>
210
211         * UdpClient.cs: Fix IPv6 family check.  Fixes bug 77689.
212
213 2006-02-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
214
215         * TcpClient.cs: when the socket is not connected, don't try to set the
216         socket options, as they are ignored on linux. Wait until Connect
217         succeeds and then apply the options.
218
219 2006-02-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
220
221         * Socket.cs: added a missing overload for SetSocketOption.
222
223 2006-01-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
224
225         * Socket.cs: use the 2.0 configuration classes when checking for IPv6
226         support.
227
228 2006-01-04  Sebastien Pouliot  <sebastien@ximian.com>
229
230         * TcpClient.cs: The Client property is public in 2.0 while it was
231         protected in earlier release. Fix bug #77048.
232
233 2005-12-07  Robert Jordan  <robertj@gmx.net>
234
235         * SocketError.cs: Added.
236         * SocketException: Implemented SocketErrorCode. Fixes bug #76915.
237
238 2005-10-11  Dick Porter  <dick@ximian.com>
239
240         * Socket.cs: Don't call connect(2) twice for non-blocking sockets,
241         it breaks on macos (and probably other bsd-based stacks too,) use
242         poll() and getsockopt() to check if it worked.
243
244 2005-09-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
245
246         * Socket.cs: add checks for 'disposed' all over. Fixes bug #76249.
247
248 2005-06-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
249
250         * TcpClient.cs: patch by Hans Kratz that uses an integer when setting
251         NoDelay instead of a bool, which is only handled in 2.0.
252
253 2005-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
254
255         * Socket.cs: disallow connecting to .Any addresses. Fixes bug #75154.
256
257 2005-06-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
258
259         * Socket.cs: adapted Select to the new Select_internal that uses poll()
260         instead of select(). Managed part of the fix for bug #71203.
261
262 2005-05-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
263
264         * Socket.cs: apply the same hack on blocking Connect calls as the one
265         used in Accept.
266
267 2005-05-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
268
269         * Socket.cs: see bug #74842, which is fixed with this patch for details
270         and test cases on the blocking behavior of accept() when close() is
271         called from another thread. The solution applied is to Abort the thread
272         that is blocking in Accept_internal() when someone calls Close (), then
273         reset the abort state if the socket is disposed and return the same
274         error as MS (10004 - interrupted).
275
276 2005-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
277
278         * Socket.cs: match MS behavior on SetSocketOption with a boolean
279         argument. MS 1.1 throws an ArgumentException, but 2.0 turns true/false
280         into 1/0 and works fine. Fixes bug #71753. Added checks for disposed
281         in the 3 SetSocketOption.
282
283 2005-05-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
284
285         * Socket.cs: if there are outstanding aio requests and one of them gets
286         an ObjectDisposedException, throw the same exception for the rest.
287
288 2005-05-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
289
290         * Socket.cs: removed hack added to fix bug #53229 (more than a year ago)
291         that kept sockets opened until all AIO operations where finished. If
292         the socket is closed, Receive returns 0 in EndReceive, the rest throw
293         the ObjectDisposedException. Set the socket handle to -1 when closing.
294
295 2005-04-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
296
297         * Socket.cs: Begin/End Send/SendTo guarantee that all bytes are written
298         or an exception is thrown. Fixes bug #74475.
299
300 2005-04-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
301
302         * Socket.cs: no need for locking in Worker. The actual read / write for
303         Receive / Send is performed in the runtime time.
304
305 2005-04-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
306
307         * Socket.cs: added a 'blocking' field that is passed to the runtime.
308
309 2005-04-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
310
311         * Socket.cs: invoke the callback after scheduling the next request for
312         the socket. Fixes bug #74539.
313
314 2005-04-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
315
316         * Socket.cs: update socket connected status in an async request finishes
317         synchronously. Use 'callback' instead of 'real_callback' field, which is
318         now unused.
319
320 2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
321
322         * Socket.cs: added SocketOperation enum and 2 new fields to
323         SocketAsyncResult that are used by the runtime. Asynchronous read/write
324         are serialized so that only 1 of each kind is really 'active'.
325         Handle non-blocking connects in BeginConnect instead of doing 2 Poll()
326         in the threadpool.
327
328         * NetworkStream.cs: better message for the exception.
329
330 2005-04-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
331
332         * Socket.cs: remove unused async IO code.
333
334 2005-03-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
335
336         * Socket.cs: don't Poll/block in Connect aither.
337
338 2005-02-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
339
340         * Socket.cs: don't block on Accept if the socket is non-blocking.
341         Fixes bug #73053. Patch by Ankit Jain.
342
343 2005-02-23  Dick Porter  <dick@ximian.com>
344
345         * UdpClient.cs: Set the Broadcast option, as apparently the MS
346         runtime defaults make UDP sockets broadcastable.
347
348 2004-12-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
349
350         * Socket.cs: for Receive*/Send*, don't set the connected status to false
351         when the error is EINPROGRESS or EWOULDBLOCK.
352
353 2004-12-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
354
355         * NetworkStream.cs: Write should ensure that writes all the contents
356         of the buffer. Fixes bug #70123. Besos para Miguelito.
357
358 2004-10-14  Dick Porter  <dick@ximian.com>
359
360         * Socket.cs (Sockets ): Set Accept()ed socket blocking status to
361         be the same as the listening socket.  This follows MS behaviour.
362
363 2004-08-04  Dick Porter  <dick@ximian.com>
364
365         * Socket.cs: Update Connected state in Select and Poll; this is
366         when we find out that non-blocking Connects succeed.  Fixes bug
367         62398.
368
369 2004-07-28  Dick Porter  <dick@ximian.com>
370
371         * Socket.cs: ReceiveFrom might not return a valid EndPoint.  Patch
372         by Nick Vaughan (dev@6wardlaw.freeserve.co.uk), fixes bug 61608.
373
374 2004-07-15  Dick Porter  <dick@ximian.com>
375
376         * Socket.cs: Don't try and dereference a null array in Select()
377         (possible if a descriptor list of length 0 was passed.)  Patch by
378         Nick Vaughan (dev@6wardlaw.freeserve.co.uk), fixes bug 61595.
379
380 2004-07-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
381
382         * Socket.cs: if'ed RemoveReferences calls.
383
384 2004-07-09  Dick Porter  <dick@ximian.com>
385
386         * Socket.cs: Slight tweak to allow unknown objects to be returned
387         by GetSocketOption().
388
389 2004-06-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
390
391         * Socket.cs: connect on non-blocking sockets returns EINPROGRESS. Fixes
392         bug #60811.
393
394 2004-06-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
395
396         * Socket.cs: wrong error code in connect and accept. EWOULDBLOCK is
397         10035. Fixes bug #60563.
398
399 2004-06-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
400
401         * Socket.cs: fixed Accept for non-blocking sockets.
402
403 2004-06-10  Gert Driesen <drieseng@users.sourceforge.net>
404
405         * LingerOption.cs: marked field private to fix API signature
406         * MulticastOption.cs: marked field private to fix API signature
407
408 2004-06-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
409
410         * Socket.cs: throw ArgumentNullException if all the list are null OR
411         empty. Fixes bug #59632.
412
413 2004-05-21  Patrik Torstensson <totte@hiddenpeaks.com>
414
415         * TcpListener.cs: Fixes a lot of the problems with remoting nunit tests.
416         
417         (AcceptTcpClient): Don't create TcpClient before a
418         connection is accepted.
419         
420         (LocalEndPoint): Use Server LocalEndPoint if connected
421         otherwise use endpoint from ctor.
422         
423         (Init): Save end point, not server endpoint. This did
424         cause TcpListener to ignore port sent via constructor.
425
426         (Pending): Fixed wait time (method should return directly)
427         
428         (Start): Moved Bind here instead of Init method; old method
429         caused us to bind ports even if the listener was stopped.
430         
431         (Stop): Null server when stopping
432
433 2004-05-13  Dick Porter  <dick@ximian.com>
434
435         * UdpClient.cs: 
436         * TcpClient.cs: Public API fixes
437
438 2004-05-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
439
440         * Socket.cs: fixed Connect for non-blocking sockets. Closes bug #58169.
441
442 2004-05-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
443
444         * Socket.cs: fix for BeginConnect and non-blocking sockets.
445
446 2004-05-03  Lluis Sanchez Gual <lluis@ximian.com>
447
448         * Socket.cs: Use assembly name const to load Mono.Posix.
449
450 2004-05-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
451
452         * Socket.cs: only enable socket AIO if MONO_ENABLE_SOCKET_AIO is there.
453         I will remove this once THE bug is hunted.
454
455 2004-04-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
456
457         * Socket.cs: added support for unmanaged asynchronous IO. Speed up
458         error checking.
459         * UdpClient.cs: fixed Dispose so that it only closes the socket when
460         called explicitly.
461
462 2004-04-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
463
464         * Socket.cs: added GetSupportsAsync and Poll_internal internal calls.
465         Cleaned up Worker class: moved fields to SocketAsyncResult and use Poll
466         when the socket is non-blocking before getting EWOULDBLOCK error.
467
468 2004-04-08  Dick Porter  <dick@ximian.com>
469
470         * Socket.cs: Rearrange the internal calls so that the exceptions
471         are thrown from managed code
472
473 2004-03-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
474
475         * Socket.cs: when Dispose (bool) is called from the finalizer, always
476         do the cleanup. Fixes yet another nullref with xsp.
477
478 2004-02-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
479
480         * Socket.cs: implemented IOControl.
481
482 2004-02-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
483
484         * Socket.cs: use the threadpool for asynchronous calls instead of
485         creating new threads.
486
487 2004-02-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
488
489         * Socket.cs: added locks around waithandle assign and comparison in
490         class Worker. Handle other exceptions than SocketException for
491         non-blocking sockets.
492
493 2004-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
494
495         * Socket.cs: handle WSAEWOULDBLOCK for non-blocking sockets. Fixes
496         bug #53168. Avoid the creation of the ManualResetEvent in class Worker
497         whenever possible.
498
499 2004-01-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
500
501         * Socket.cs: if we have a pending async event, delay socket closing
502         until EndX is called. Fixes bug #53229. Check parameters and if the
503         socket has been disposed. Implemented IDisposable explicitly. The
504         threads created have IsBackground = true now.
505
506 2004-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
507
508         * Socket.cs: patch from Brad Fitzpatrick <brad@danga.com> episode 2.
509
510 2003-12-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
511
512         * Socket.cs: fix for several asynchronous methods to delay exception
513         throwing.  Patch by Brad Fitzpatrick <brad@danga.com>.
514
515 2003-12-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
516
517         * TcpListener.cs: get the LocalEndPoint from the socket after binding.
518         Fixes bug #52329.
519
520 2003-10-20  Miguel de Icaza  <miguel@ximian.com>
521
522         * TcpClient.cs: Fix void Dispose (bool disposing) to follow the
523         pattern.  It was shutting down the managed resources even in the
524         finalizer case, it should only do that when called from
525         IDisposable.Dipose.
526
527 2003-09-11  Lluis Sanchez Gual <lluis@ximian.com>
528
529         * NetworkStream.cs: Added [In,Out] attributes to Read method.
530
531 2003-08-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
532
533         * TcpListener.cs: various fixes to make the new tests pass. Closes
534         bug #47848.
535
536 2003-08-10  Miguel de Icaza  <miguel@ximian.com>
537
538         * UdpClient.cs (Receive): Fix Bug 45633;  We should do a blocking
539         call until a datagram is arrives from the remote host.  This
540         removes the 512 "magic" buffer size when we did not have any data.
541  
542 2003-07-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
543
544         * NetworkStream.cs:
545         * Socket.cs: fixed array boundary checks. 0 sized arrays are allowed.
546
547 2003-07-18  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
548
549         * Socket.cs: Added GetHashCode method
550
551 2003-07-14  Jerome Laban <jlaban@wanadoo.fr>
552
553         * Socket.cs:
554         * ProtocolType.cs:
555         * SocketOptionLevel.cs:
556         * TcpListener.cs:
557         * TcpClient.cs:
558         * UdpClient.cs:
559         
560         Added IPv6 support.
561
562         * IPv6MulticastOption.cs: Added for IPv6 support.
563
564 2003-05-16  Dick Porter  <dick@ximian.com>
565
566         * Socket.cs: Use Mono.Posix.UnixEndPoint if its available
567
568 2003-05-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
569
570         * MulticastOption.cs: patch by Jerome Laban included in bug #42393.
571
572 2003-05-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
573
574         * Socket.cs:
575         (Select): don't create arrays if not needed.
576         (Poll): call Select_internal directly.
577
578         Warning: you need an up to date runtime for this to work!
579
580 2003-03-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
581
582         * UdpClient.cs: don't bind the socket unless .ctor (IPEndPoint) is used.
583         Added more checks and throws.
584         Small fixes in Send to avoid duplicating the buffer.
585         Moved CheckIfDisposed calls to the start of the methods instead of doing
586         the check inside a finally clause.
587
588 2003-03-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
589
590         * Socket.cs:
591         (SendTo): fix from Jerome Laban <jlaban@wanadoo.fr>.
592
593 2003-02-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
594
595         * Socket.cs: patch from Elan Feingold <efeingold@mn.rr.com>. Fixes
596         NullReferenceException when the callback is null.
597
598 2003-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
599
600         * NetworkStream.cs: allow 0 size array in Write.
601
602 2003-02-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
603
604         * Socket.cs: make Worker.Connect and Receive work with non-blocking
605         sockets. May be Receive* and Send* in Worker need to do the same. I'll
606         wait for bug reports. Set IsCompleted to true before invoking the end
607         callback. Fixes bug #38136.
608
609 2003-01-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
610
611         * NetworkStream.cs: the check for disposed should not be done in the
612         finally clause.
613
614 2003-01-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
615
616         * UdpClient.cs: fixed bug #36226.
617
618 2002-11-13  Dick Porter  <dick@ximian.com>
619
620         * Socket.cs: Only close the socket in one place, ie the Dispose
621         method.  Fixes bug 32054.
622
623 2002-11-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
624
625         * Socket.cs: offset == size == 0 it's ok in Send ().
626
627 2002-11-03  Phillip Pearson  <pp@myelin.co.nz>
628
629         * TcpClient.cs: Fixed SetTcpClient() to pass through to the Client 
630         property, which now sets stream to null (it's set by GetStream()).  This 
631         should make GetStream() work on a TcpClient which has had the socket set 
632         by assignment to the Client property, not only one that has been created 
633         by TcpListener.AcceptTcpClient().
634
635 2002-10-08  Dick Porter  <dick@ximian.com>
636
637         * Socket.cs: 
638         * NetworkStream.cs: Bounds checking fixes, and better exception
639         texts.  Changes by timothyjmills@hotmail.com (Timothy J. Mills).
640
641 2002-10-03  Dick Porter  <dick@ximian.com>
642
643         * TcpClient.cs: NoDelay is a TCP option, not Socket
644
645 2002-09-16  Miguel de Icaza  <miguel@ximian.com>
646
647         * SocketFlags.cs: Add missing enumeration.
648
649         * UdpClient.cs: Make Dispose private.
650
651 2002-08-20  Dick Porter  <dick@ximian.com>
652
653         * Socket.cs: Fix deadlock when the AsyncResult callback calls
654         End*().  Set the async request's worker property so it can return
655         results.  These two fixes combined fix bug 28092.
656
657 2002-06-24  Dick Porter  <dick@ximian.com>
658
659         * Socket.cs: Make SetSocketOption cope with boolean values (they
660         are passed as objects, not the ints the runtime was expecting)
661
662 2002-05-17  Lawrence Pit <loz@cable.a2000.nl>
663         * TcpListener.cs: Renamed LocalEndPoint to LocalEndpoint
664         * NetworkStream.cs, UdpClient.cs and TcpClient.cs: modified disposable 
665         routines, added checks for disposed state.
666         * UdpClient.cs: commented out GetHashCode and Equals as it's not
667         overriden in ms.net implementation.
668
669 2002-05-17  Jaroslaw Kowalski <jarek@atm.com.pl>
670         * TcpClient.cs: fixed SetTcpClient so that
671         TcpListener.AcceptTcpClient works and allows
672         you to call GetStream() on its result
673
674 2002-04-24  Dick Porter  <dick@ximian.com>
675
676         * Socket.cs (Poll): Give correct argument to Select(), as spotted
677         by Jaroslaw Kowalski <jarek@atm.com.pl>
678
679 2002-04-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
680
681         * UdpClient.cs: implemented.
682
683 2002-04-02  Dick Porter  <dick@ximian.com>
684
685         * TcpListener.cs: in Start(), set the socket listen backlog value
686         to a sane value (noticed by Jonathan Stowe <gellyfish@gellyfish.com>)
687
688 2002-02-13  Dick Porter  <dick@ximian.com>
689
690         * Socket.cs: Implemenent Select, Blocking, Connected,
691         GetSocketOption, Poll, SetSocketOption and Shutdown
692
693         * MulticastOption.cs: 
694         * LingerOption.cs: Delete override methods that don't need to be
695         implemented
696
697 2002-01-23  Miguel de Icaza  <miguel@ximian.com>
698
699         * NetworkStream.cs: Implement class.
700
701 2002-01-23  Dick Porter  <dick@ximian.com>
702
703         * SocketException.cs: Implemented
704
705         * Socket.cs: Implemented most methods
706
707         * LingerOption.cs: Made compile
708
709         * AddressFamily.cs: Removed empty auto-generated comments
710
711 2002-01-17  Miguel de Icaza  <miguel@ximian.com>
712
713         * SocketException.cs: Reimplemented.
714
715 2002-01-06  Ravi Pratap  <ravi@ximian.com>
716
717         * ChangeLog : Add to this directory.
718
719         * SocketException.cs, TcpClient.cs, TcpListener.cs : MonoTODO
720         attribute decoration.