1 2009-05-11 Gonzalo Paniagua Javier <gonzalo@novell.com>
3 * UdpClient.cs: if possible, avoid DNS lookups when the host name is
4 an IP address. Related to bug #502866.
6 2009-04-30 Gonzalo Paniagua Javier <gonzalo@novell.com>
8 * Socket.cs: return the last error if a connect to multiple addresses
11 2009-04-22 Sebastien Pouliot <sebastien@ximian.com>
13 * Socket_2_1.cs: Use old-n-simple CheckProtocolSupport to implement
14 OSSupportsIP[v4|v6] for Moonlight (NET_2_1 only) so we can avoid
15 including a bunch of types (22) from System.Net.NetworkInformation
16 and drop the number of [SecuritySafeCritical] methods to audit (the
17 same 22) and [SecurityCritical] (8) beside getting a smaller
18 System.Net.dll assembly :)
20 2009-04-21 Gonzalo Paniagua Javier <gonzalo@novell.com>
22 * Socket.cs: End* methods can only be called once per IAsyncResult.
25 2009-04-09 Sebastien Pouliot <sebastien@ximian.com>
27 * Socket.cs: Split socket class into two files (this one and the
28 new Socket_2_1.cs). This let us remove (some) existing #if in the
29 sources and avoid (a lot) of new ones for Moonlight.
30 * Socket_2_1.cs: Just enough of socket for NET_2_1. This helps
31 the tuner not to bring a lot of extra stuff (some visible)
33 * SocketAsyncEventArgs.cs: Ifdef out some cases for NET_2_1 so
34 Moonlight can use it's own (smaller) SocketAsyncOperation enum
36 2009-02-17 Gonzalo Paniagua Javier <gonzalo@novell.com>
38 * Socket.cs: instead of clearing the sockets form the output and then
39 adding them back, we just remove the ones that have not been signaled.
40 Fixes bug #354090 and bug #476138.
42 2009-01-19 Gonzalo Paniagua Javier <gonzalo@novell.com>
44 * Socket.cs: don't throw when there's no ipv6 configuration.
46 2009-01-09 Dick Porter <dick@ximian.com>
48 * Socket.cs: Special case 0-length receive requests in the
49 BeginAccept overloads that wait for data, so they behave as the
50 non-waiting version. Seems to match MS behaviour, fixes bug
53 2009-01-06 Gonzalo Paniagua Javier <gonzalo@novell.com>
55 * TcpClient.cs: use IPv6Any when the family is IPv6.
58 2008-12-30 Bill Holmes <billholmes54@gmail.com>
60 * Socket.cs (Accept_internal) : Changing the signature to pass
63 Code is contributed under MIT/X11 license.
65 2008-12-20 Miguel de Icaza <miguel@novell.com>
67 * SocketException.cs: Add missing API.
69 * SocketAsyncEventArgs.cs (Dispose): this has to be a public
70 member according to the specs.
72 2008-12-20 Gonzalo Paniagua Javier <gonzalo@novell.com>
74 * Socket.cs: add a new ReceiveFrom_nocheck that does not throw an
75 exception in case of error.
77 2008-12-20 Gonzalo Paniagua Javier <gonzalo@novell.com>
79 * Socket.cs: if Blocking is set, translate a WouldBlock into a
82 2008-12-03 Gonzalo Paniagua Javier <gonzalo@novell.com>
84 * UdpClient.cs: don't Poll() in Receive(), the call to ReceiveFrom
85 will block anyway. Fixes bug #455894.
87 2008-11-12 Gonzalo Paniagua Javier <gonzalo@novell.com>
89 * Socket.cs: mark the socket as not connected when there is a pending
90 error or exception about to be thrown.
93 2008-09-10 Bill Holmes <billholmes54@gmail.com>
95 * Socket.cs : Adding a comment to provide locations where
96 changes to MonoSocketAsyncResult need to be synced.
98 Code is contributed under MIT/X11 license.
100 2008-09-06 Atsushi Enomoto <atsushi@ximian.com>
102 * Socket.cs : (SocketAsyncResult) release byte buffer early so that
103 it does not have to store extra data in pool. Fixed bug #397627.
105 2008-07-31 Jb Evain <jbevain@novell.com>
108 * NetworkStream.cs: cleanup for NET_2_1
110 * SocketException_2_1.cs: new specific version for NET_2_1.
112 2008-06-19 Dick Porter <dick@ximian.com>
114 * Socket.cs: Implement generic Send() and Receive() methods.
117 2008-06-12 Stephane Delcroix <sdelcroix@novell.com>
119 * Socket.cs: minimal changes to run in the 2.1 profile
121 2008-06-11 Stephane Delcroix <sdelcroix@novell.com>
123 * SocketAsyncEventArgs.cs: catch SocketException in ConnectAsync
124 and set the SocketError accordingly.
126 2008-05-09 Marek Habersack <mhabersack@novell.com>
128 * SocketAsyncEventArgs.cs: implemented support for executing
129 asynchronous socket actions, called from the new xxxxAsync methods
130 in Socket. The asynchronous operations do not use the ThreadPool
131 as I can't get the sample applications to work (send/receive
132 callbacks don't work) - it may change in the future.
134 * Socket.cs: implemented several xxxxAsync 2.0sp1 methods. The
135 ones not implemented for now are: ReceiveMessageFromAsync and
136 SendPacketsAsync. AcceptAsync doesn't perform the check for the
137 buffer size for now - need to implement runtime support for that.
138 Made several methods internal, so that they can be accessed from
139 SocketAsyncEventArgs code.
141 2008-05-08 Marek Habersack <mhabersack@novell.com>
143 * SocketAsyncOperation.cs, SendPacketsElement.cs,
144 SocketAsyncEventArgs.cs: added initial implementations for
145 2.0SP1/3.5 classes used in the (to be implemented) new xxxAsync
146 methods of the Socket class.
148 2008-04-17 Miguel de Icaza <miguel@novell.com>
150 * NetworkStream.cs: Throw an IOException if the socket is not
151 connected, not an ArgumentException.
153 Fixes #371923, it is also the way its documented on MSDN.
155 2008-04-13 Jb Evain <jbevain@novell.com>
157 * Socket.cs: ifdef out the Sys.Config part for the
159 Merged from the Moonlight 2 branch.
161 Wed Mar 12 20:06:07 CET 2008 Paolo Molaro <lupus@ximian.com>
163 * Socket.cs: add a static ctor so that ipv4Supported and ipv6Supported
164 are initialized (they are used by the runtime).
166 2008-02-01 Dick Porter <dick@ximian.com>
168 * TcpClient.cs: If the Connect fails (when given an array of
169 addresses) leave the socket object in a usable state. Fixes bug
172 2007-11-13 Atsushi Enomoto <atsushi@ximian.com>
174 * NetworkStream.cs : in 2.0 Close() is not needed and does not exist.
176 2007-11-01 Miguel de Icaza <miguel@novell.com>
178 * Socket.cs: Do not set the Send and Receive buffer sizes for the
179 socket to the defaults set on Windows, they kill our performance.
181 Thanks to Zoltan Varga for tracking the performance issue down.
184 2007-10-30 Dick Porter <dick@ximian.com>
186 * UdpClient.cs: Don't set the multicast option twice. Fixes bug
189 2007-10-21 Robert Jordan <robertj@gmx.net>
191 * Socket.cs: Remove GetHashCode override from the NET_2_0
192 profile. Add LAMESPEC comment. Fixes bug #325113.
194 2007-09-22 Gert Driesen <drieseng@users.sourceforge.net>
196 * Socket.cs: Removed unused method.
198 2007-08-02 Dick Porter <dick@ximian.com>
200 * Socket.cs: Patch from Brian Nickel (brian.nickel@gmail.com) to
201 improve EndPoint handling.
203 2007-07-08 Gert Driesen <drieseng@users.sourceforge.net>
205 * Socket.cs: Code formatting. Marked not implemented methods as TODO.
206 Removed extra spaces.
208 2007-07-04 Dick Porter <dick@ximian.com>
210 * Socket.cs: Don't set DontFragment by default for IPv6 sockets.
213 2007-05-16 Adar Wesley <adarw@mainsoft.com>
215 * Socket.jvm.cs: added missing methods EndDisconnect, IOControl,
216 Send 2.0 overloads, Receive 2.0 overloads, ReceiveMessageFrom,
217 BeginReceiveMessageFrom, EndReceiveMessageFrom,
218 EndAccept 2.0 overloads, BeginSend, EndSend, BeginReceive,
219 EndReceive, SendFile, BeginSendFile, EndSendFile, Disconnect,
222 2007-05-09 Igor Zelmanovich <igorz@mainsoft.com>
224 * Socket.jvm.cs: Handle property throws NotImplementedException.
226 2007-05-09 Igor Zelmanovich <igorz@mainsoft.com>
232 added MonoNotSupported attribute for TARGATE_JVM.
234 2007-03-11 Gert Driesen <drieseng@users.sourceforge.net>
236 * TcpClient.cs: Do not initialize network stream in Connect. In
237 Dispose, only nullify client if network stream was not obtained.
240 2007-01-30 Ilya Kharmatsky <ilyak -at- mainsoft.com>
242 * Socket.jvm.cs: additional stubs for net_2_0 properties,
243 bug fixes (EnsureStillUsable method inserted)
245 2007-01-28 Ilya Kharmatsky <ilyak -at- mainsoft.com>
247 * Socket.jvm.cs: added stubs for net_2_0 properties and methods.
249 2007-01-26 Dick Porter <dick@ximian.com>
251 * Socket.cs: SupportsIPv6 is obsolete in the 2.0 profile. Stub
252 out BeginReceiveMessageFrom(), BeginSendFile(),
253 EndReceiveMessageFrom(), EndSendFile(), ReceiveMessageFrom(), and
256 * IPPacketInformation.cs: New in the 2.0 profile
258 * SocketFlags.cs: Remove useless (and empty) inline documentation,
261 * TcpListener.cs: Mark Server as public in the 2.0 profile.
263 * UdpClient.cs: Mark Dispose(bool) as protected in the 2.0
266 System.Net.Sockets should now be 2.0-complete.
268 2007-01-26 Dick Porter <dick@ximian.com>
270 * Socket.cs: There's no point checking the SO_ERROR status of a
271 socket after poll() or select() if we already know that connected
274 2007-01-24 Dick Porter <dick@ximian.com>
277 * SocketInformationOptions.cs:
278 * TransmitFileOptions.cs: Fix enum values
280 * AddressFamily.cs: Not Serializable in the 2.0 profile
282 2007-01-24 Dick Porter <dick@ximian.com>
284 * NetworkStream.cs: 2.0 profile updates, based on a patch by
285 Sridhar Kulkarni (sridharkulkarni@gmail.com)
287 2007-01-23 Dick Porter <dick@ximian.com>
290 * TcpClient.cs: 2.0 profile updates, based on a patch by Sridhar
291 Kulkarni (sridharkulkarni@gmail.com)
293 2007-01-22 Miguel de Icaza <miguel@novell.com>
295 * Socket.cs: Move the throw new NotImplementedException ()
296 elsewhere to prevent Moma reports.
298 2007-01-20 Dick Porter <dick@ximian.com>
300 * Socket.cs(SocketDefaults): Catch and ignore any SocketExceptions
301 thrown from setting default socket options - some platforms might
302 not support a particular default we're trying to set.
304 2007-01-11 Dick Porter <dick@ximian.com>
307 * SocketInformation.cs:
309 * UdpClient.cs: 2.0 profile updates, loosely based on a patch by
312 * SocketInformationOptions.cs:
313 * TransmitFileOptions.cs: Implemented by Sridhar Kulkarni
314 (sridharkulkarni@gmail.com)
316 Wed Dec 13 12:04:02 CET 2006 Paolo Molaro <lupus@ximian.com>
318 * Socket.cs: stub ReceiveBufferSize and SendBufferSize to
319 get ironpython to compile.
321 2006-11-23 Dick Porter <dick@ximian.com>
323 * Socket.cs: Only set Connected = true in Poll() and Select() if
324 the socket error status is 0. Fixes bug 79878.
326 2006-09-28 Andrew Skiba <andrews@mainsoft.com>
328 * Socket.cs,NetworkStream.cs,SocketException.cs: TARGET_JVM
330 2006-09-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
332 * Socket.cs: update the SocketOperation enum.
334 2006-08-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
336 * Socket.cs: replace hardcoded error numbers with the SocketError
337 values. When ReceiveTimeout is set on a blocking socket, correctly
338 report timeouts in the generated exception.
340 * SocketException.cs: add new internal ctor (int, string).
342 2006-08-12 Miguel de Icaza <miguel@novell.com>
344 * Socket.cs (NoDelay): Implement.
346 2006-06-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
348 * Socket.cs: patch from Sanghyeon Seo that implements
349 (Send|Receive)Timeout for 2.0.
350 * MulticastOption.cs: more 2.0 stuff.
352 2006-06-28 Atsushi Enomoto <atsushi@ximian.com>
354 * Socket.cs : use ConfigurationManager.GetSection() under NET_2_0.
355 Also make sure to avoid NRE.
357 2006-06-24 Zoltan Varga <vargaz@gmail.com>
359 * Socket.cs: Add stubs for net 2.0 SendTimeout and ReceiveTimeout properties.
361 2006-06-20 Zoltan Varga <vargaz@gmail.com>
363 * ProtocolType.cs SocketOptionName.cs: Add missing net 2.0 fields.
365 2006-05-30 Gert Driesen <drieseng@users.sourceforge.net>
367 * NetworkStream.cs: Marked Dispose (bool) virtual on 1.x profile.
369 2006-04-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
372 * SocketError.cs: implemented Reseive/Send overloads that do not throw
373 in case of error. Patch by Tomi Valkeinen.
375 2006-03-11 Miguel de Icaza <miguel@novell.com>
377 * NetworkStream.cs (Dispose): Use the right signature depending on
378 the profile being built.
380 2006-03-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
382 * Socket.cs: pass something not empty to the unixep ctor.
384 2006-03-03 Dick Porter <dick@ximian.com>
386 * UdpClient.cs: Fix IPv6 family check. Fixes bug 77689.
388 2006-02-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
390 * TcpClient.cs: when the socket is not connected, don't try to set the
391 socket options, as they are ignored on linux. Wait until Connect
392 succeeds and then apply the options.
394 2006-02-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
396 * Socket.cs: added a missing overload for SetSocketOption.
398 2006-01-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
400 * Socket.cs: use the 2.0 configuration classes when checking for IPv6
403 2006-01-04 Sebastien Pouliot <sebastien@ximian.com>
405 * TcpClient.cs: The Client property is public in 2.0 while it was
406 protected in earlier release. Fix bug #77048.
408 2005-12-07 Robert Jordan <robertj@gmx.net>
410 * SocketError.cs: Added.
411 * SocketException: Implemented SocketErrorCode. Fixes bug #76915.
413 2005-10-11 Dick Porter <dick@ximian.com>
415 * Socket.cs: Don't call connect(2) twice for non-blocking sockets,
416 it breaks on macos (and probably other bsd-based stacks too,) use
417 poll() and getsockopt() to check if it worked.
419 2005-09-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
421 * Socket.cs: add checks for 'disposed' all over. Fixes bug #76249.
423 2005-06-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
425 * TcpClient.cs: patch by Hans Kratz that uses an integer when setting
426 NoDelay instead of a bool, which is only handled in 2.0.
428 2005-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
430 * Socket.cs: disallow connecting to .Any addresses. Fixes bug #75154.
432 2005-06-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
434 * Socket.cs: adapted Select to the new Select_internal that uses poll()
435 instead of select(). Managed part of the fix for bug #71203.
437 2005-05-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
439 * Socket.cs: apply the same hack on blocking Connect calls as the one
442 2005-05-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
444 * Socket.cs: see bug #74842, which is fixed with this patch for details
445 and test cases on the blocking behavior of accept() when close() is
446 called from another thread. The solution applied is to Abort the thread
447 that is blocking in Accept_internal() when someone calls Close (), then
448 reset the abort state if the socket is disposed and return the same
449 error as MS (10004 - interrupted).
451 2005-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
453 * Socket.cs: match MS behavior on SetSocketOption with a boolean
454 argument. MS 1.1 throws an ArgumentException, but 2.0 turns true/false
455 into 1/0 and works fine. Fixes bug #71753. Added checks for disposed
456 in the 3 SetSocketOption.
458 2005-05-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
460 * Socket.cs: if there are outstanding aio requests and one of them gets
461 an ObjectDisposedException, throw the same exception for the rest.
463 2005-05-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
465 * Socket.cs: removed hack added to fix bug #53229 (more than a year ago)
466 that kept sockets opened until all AIO operations where finished. If
467 the socket is closed, Receive returns 0 in EndReceive, the rest throw
468 the ObjectDisposedException. Set the socket handle to -1 when closing.
470 2005-04-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
472 * Socket.cs: Begin/End Send/SendTo guarantee that all bytes are written
473 or an exception is thrown. Fixes bug #74475.
475 2005-04-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
477 * Socket.cs: no need for locking in Worker. The actual read / write for
478 Receive / Send is performed in the runtime time.
480 2005-04-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
482 * Socket.cs: added a 'blocking' field that is passed to the runtime.
484 2005-04-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
486 * Socket.cs: invoke the callback after scheduling the next request for
487 the socket. Fixes bug #74539.
489 2005-04-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
491 * Socket.cs: update socket connected status in an async request finishes
492 synchronously. Use 'callback' instead of 'real_callback' field, which is
495 2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
497 * Socket.cs: added SocketOperation enum and 2 new fields to
498 SocketAsyncResult that are used by the runtime. Asynchronous read/write
499 are serialized so that only 1 of each kind is really 'active'.
500 Handle non-blocking connects in BeginConnect instead of doing 2 Poll()
503 * NetworkStream.cs: better message for the exception.
505 2005-04-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
507 * Socket.cs: remove unused async IO code.
509 2005-03-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
511 * Socket.cs: don't Poll/block in Connect aither.
513 2005-02-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
515 * Socket.cs: don't block on Accept if the socket is non-blocking.
516 Fixes bug #73053. Patch by Ankit Jain.
518 2005-02-23 Dick Porter <dick@ximian.com>
520 * UdpClient.cs: Set the Broadcast option, as apparently the MS
521 runtime defaults make UDP sockets broadcastable.
523 2004-12-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
525 * Socket.cs: for Receive*/Send*, don't set the connected status to false
526 when the error is EINPROGRESS or EWOULDBLOCK.
528 2004-12-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
530 * NetworkStream.cs: Write should ensure that writes all the contents
531 of the buffer. Fixes bug #70123. Besos para Miguelito.
533 2004-10-14 Dick Porter <dick@ximian.com>
535 * Socket.cs (Sockets ): Set Accept()ed socket blocking status to
536 be the same as the listening socket. This follows MS behaviour.
538 2004-08-04 Dick Porter <dick@ximian.com>
540 * Socket.cs: Update Connected state in Select and Poll; this is
541 when we find out that non-blocking Connects succeed. Fixes bug
544 2004-07-28 Dick Porter <dick@ximian.com>
546 * Socket.cs: ReceiveFrom might not return a valid EndPoint. Patch
547 by Nick Vaughan (dev@6wardlaw.freeserve.co.uk), fixes bug 61608.
549 2004-07-15 Dick Porter <dick@ximian.com>
551 * Socket.cs: Don't try and dereference a null array in Select()
552 (possible if a descriptor list of length 0 was passed.) Patch by
553 Nick Vaughan (dev@6wardlaw.freeserve.co.uk), fixes bug 61595.
555 2004-07-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
557 * Socket.cs: if'ed RemoveReferences calls.
559 2004-07-09 Dick Porter <dick@ximian.com>
561 * Socket.cs: Slight tweak to allow unknown objects to be returned
562 by GetSocketOption().
564 2004-06-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
566 * Socket.cs: connect on non-blocking sockets returns EINPROGRESS. Fixes
569 2004-06-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
571 * Socket.cs: wrong error code in connect and accept. EWOULDBLOCK is
572 10035. Fixes bug #60563.
574 2004-06-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
576 * Socket.cs: fixed Accept for non-blocking sockets.
578 2004-06-10 Gert Driesen <drieseng@users.sourceforge.net>
580 * LingerOption.cs: marked field private to fix API signature
581 * MulticastOption.cs: marked field private to fix API signature
583 2004-06-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
585 * Socket.cs: throw ArgumentNullException if all the list are null OR
586 empty. Fixes bug #59632.
588 2004-05-21 Patrik Torstensson <totte@hiddenpeaks.com>
590 * TcpListener.cs: Fixes a lot of the problems with remoting nunit tests.
592 (AcceptTcpClient): Don't create TcpClient before a
593 connection is accepted.
595 (LocalEndPoint): Use Server LocalEndPoint if connected
596 otherwise use endpoint from ctor.
598 (Init): Save end point, not server endpoint. This did
599 cause TcpListener to ignore port sent via constructor.
601 (Pending): Fixed wait time (method should return directly)
603 (Start): Moved Bind here instead of Init method; old method
604 caused us to bind ports even if the listener was stopped.
606 (Stop): Null server when stopping
608 2004-05-13 Dick Porter <dick@ximian.com>
611 * TcpClient.cs: Public API fixes
613 2004-05-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
615 * Socket.cs: fixed Connect for non-blocking sockets. Closes bug #58169.
617 2004-05-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
619 * Socket.cs: fix for BeginConnect and non-blocking sockets.
621 2004-05-03 Lluis Sanchez Gual <lluis@ximian.com>
623 * Socket.cs: Use assembly name const to load Mono.Posix.
625 2004-05-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
627 * Socket.cs: only enable socket AIO if MONO_ENABLE_SOCKET_AIO is there.
628 I will remove this once THE bug is hunted.
630 2004-04-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
632 * Socket.cs: added support for unmanaged asynchronous IO. Speed up
634 * UdpClient.cs: fixed Dispose so that it only closes the socket when
637 2004-04-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
639 * Socket.cs: added GetSupportsAsync and Poll_internal internal calls.
640 Cleaned up Worker class: moved fields to SocketAsyncResult and use Poll
641 when the socket is non-blocking before getting EWOULDBLOCK error.
643 2004-04-08 Dick Porter <dick@ximian.com>
645 * Socket.cs: Rearrange the internal calls so that the exceptions
646 are thrown from managed code
648 2004-03-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
650 * Socket.cs: when Dispose (bool) is called from the finalizer, always
651 do the cleanup. Fixes yet another nullref with xsp.
653 2004-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
655 * Socket.cs: implemented IOControl.
657 2004-02-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
659 * Socket.cs: use the threadpool for asynchronous calls instead of
660 creating new threads.
662 2004-02-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
664 * Socket.cs: added locks around waithandle assign and comparison in
665 class Worker. Handle other exceptions than SocketException for
666 non-blocking sockets.
668 2004-01-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
670 * Socket.cs: handle WSAEWOULDBLOCK for non-blocking sockets. Fixes
671 bug #53168. Avoid the creation of the ManualResetEvent in class Worker
674 2004-01-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
676 * Socket.cs: if we have a pending async event, delay socket closing
677 until EndX is called. Fixes bug #53229. Check parameters and if the
678 socket has been disposed. Implemented IDisposable explicitly. The
679 threads created have IsBackground = true now.
681 2004-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
683 * Socket.cs: patch from Brad Fitzpatrick <brad@danga.com> episode 2.
685 2003-12-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
687 * Socket.cs: fix for several asynchronous methods to delay exception
688 throwing. Patch by Brad Fitzpatrick <brad@danga.com>.
690 2003-12-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
692 * TcpListener.cs: get the LocalEndPoint from the socket after binding.
695 2003-10-20 Miguel de Icaza <miguel@ximian.com>
697 * TcpClient.cs: Fix void Dispose (bool disposing) to follow the
698 pattern. It was shutting down the managed resources even in the
699 finalizer case, it should only do that when called from
702 2003-09-11 Lluis Sanchez Gual <lluis@ximian.com>
704 * NetworkStream.cs: Added [In,Out] attributes to Read method.
706 2003-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
708 * TcpListener.cs: various fixes to make the new tests pass. Closes
711 2003-08-10 Miguel de Icaza <miguel@ximian.com>
713 * UdpClient.cs (Receive): Fix Bug 45633; We should do a blocking
714 call until a datagram is arrives from the remote host. This
715 removes the 512 "magic" buffer size when we did not have any data.
717 2003-07-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
720 * Socket.cs: fixed array boundary checks. 0 sized arrays are allowed.
722 2003-07-18 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
724 * Socket.cs: Added GetHashCode method
726 2003-07-14 Jerome Laban <jlaban@wanadoo.fr>
730 * SocketOptionLevel.cs:
737 * IPv6MulticastOption.cs: Added for IPv6 support.
739 2003-05-16 Dick Porter <dick@ximian.com>
741 * Socket.cs: Use Mono.Posix.UnixEndPoint if its available
743 2003-05-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
745 * MulticastOption.cs: patch by Jerome Laban included in bug #42393.
747 2003-05-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
750 (Select): don't create arrays if not needed.
751 (Poll): call Select_internal directly.
753 Warning: you need an up to date runtime for this to work!
755 2003-03-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
757 * UdpClient.cs: don't bind the socket unless .ctor (IPEndPoint) is used.
758 Added more checks and throws.
759 Small fixes in Send to avoid duplicating the buffer.
760 Moved CheckIfDisposed calls to the start of the methods instead of doing
761 the check inside a finally clause.
763 2003-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
766 (SendTo): fix from Jerome Laban <jlaban@wanadoo.fr>.
768 2003-02-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
770 * Socket.cs: patch from Elan Feingold <efeingold@mn.rr.com>. Fixes
771 NullReferenceException when the callback is null.
773 2003-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
775 * NetworkStream.cs: allow 0 size array in Write.
777 2003-02-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
779 * Socket.cs: make Worker.Connect and Receive work with non-blocking
780 sockets. May be Receive* and Send* in Worker need to do the same. I'll
781 wait for bug reports. Set IsCompleted to true before invoking the end
782 callback. Fixes bug #38136.
784 2003-01-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
786 * NetworkStream.cs: the check for disposed should not be done in the
789 2003-01-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
791 * UdpClient.cs: fixed bug #36226.
793 2002-11-13 Dick Porter <dick@ximian.com>
795 * Socket.cs: Only close the socket in one place, ie the Dispose
796 method. Fixes bug 32054.
798 2002-11-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
800 * Socket.cs: offset == size == 0 it's ok in Send ().
802 2002-11-03 Phillip Pearson <pp@myelin.co.nz>
804 * TcpClient.cs: Fixed SetTcpClient() to pass through to the Client
805 property, which now sets stream to null (it's set by GetStream()). This
806 should make GetStream() work on a TcpClient which has had the socket set
807 by assignment to the Client property, not only one that has been created
808 by TcpListener.AcceptTcpClient().
810 2002-10-08 Dick Porter <dick@ximian.com>
813 * NetworkStream.cs: Bounds checking fixes, and better exception
814 texts. Changes by timothyjmills@hotmail.com (Timothy J. Mills).
816 2002-10-03 Dick Porter <dick@ximian.com>
818 * TcpClient.cs: NoDelay is a TCP option, not Socket
820 2002-09-16 Miguel de Icaza <miguel@ximian.com>
822 * SocketFlags.cs: Add missing enumeration.
824 * UdpClient.cs: Make Dispose private.
826 2002-08-20 Dick Porter <dick@ximian.com>
828 * Socket.cs: Fix deadlock when the AsyncResult callback calls
829 End*(). Set the async request's worker property so it can return
830 results. These two fixes combined fix bug 28092.
832 2002-06-24 Dick Porter <dick@ximian.com>
834 * Socket.cs: Make SetSocketOption cope with boolean values (they
835 are passed as objects, not the ints the runtime was expecting)
837 2002-05-17 Lawrence Pit <loz@cable.a2000.nl>
838 * TcpListener.cs: Renamed LocalEndPoint to LocalEndpoint
839 * NetworkStream.cs, UdpClient.cs and TcpClient.cs: modified disposable
840 routines, added checks for disposed state.
841 * UdpClient.cs: commented out GetHashCode and Equals as it's not
842 overriden in ms.net implementation.
844 2002-05-17 Jaroslaw Kowalski <jarek@atm.com.pl>
845 * TcpClient.cs: fixed SetTcpClient so that
846 TcpListener.AcceptTcpClient works and allows
847 you to call GetStream() on its result
849 2002-04-24 Dick Porter <dick@ximian.com>
851 * Socket.cs (Poll): Give correct argument to Select(), as spotted
852 by Jaroslaw Kowalski <jarek@atm.com.pl>
854 2002-04-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
856 * UdpClient.cs: implemented.
858 2002-04-02 Dick Porter <dick@ximian.com>
860 * TcpListener.cs: in Start(), set the socket listen backlog value
861 to a sane value (noticed by Jonathan Stowe <gellyfish@gellyfish.com>)
863 2002-02-13 Dick Porter <dick@ximian.com>
865 * Socket.cs: Implemenent Select, Blocking, Connected,
866 GetSocketOption, Poll, SetSocketOption and Shutdown
868 * MulticastOption.cs:
869 * LingerOption.cs: Delete override methods that don't need to be
872 2002-01-23 Miguel de Icaza <miguel@ximian.com>
874 * NetworkStream.cs: Implement class.
876 2002-01-23 Dick Porter <dick@ximian.com>
878 * SocketException.cs: Implemented
880 * Socket.cs: Implemented most methods
882 * LingerOption.cs: Made compile
884 * AddressFamily.cs: Removed empty auto-generated comments
886 2002-01-17 Miguel de Icaza <miguel@ximian.com>
888 * SocketException.cs: Reimplemented.
890 2002-01-06 Ravi Pratap <ravi@ximian.com>
892 * ChangeLog : Add to this directory.
894 * SocketException.cs, TcpClient.cs, TcpListener.cs : MonoTODO
895 attribute decoration.