1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044
|
2010-03-23 Gonzalo Paniagua Javier <gonzalo@novell.com>
* Socket.cs: error handling was totally broken in the synchronous
Connect() call. Fixes bug #590488.
2010-01-21 Sebastien Pouliot <sebastien@ximian.com>
* SocketAsyncEventArgs.cs: Apply Gendarme's ProtectCallToEventDelegatesRule
[Backport r150033]
2009-12-04 Sebastien Pouliot <sebastien@ximian.com>
* SocketAsyncEventArgs.cs: Implement ConnectByNameError for
Moonlight 3
2009-11-10 Gonzalo Paniagua Javier <gonzalo@novell.com>
* Socket_2_1.cs: throw when shutting down a socket that is not
connected. Don't linger if the socket is not connected.
2009-11-03 Gonzalo Paniagua Javier <gonzalo@novell.com>
* Socket_2_1.cs: stop any blocking thread before closing the socket.
2009-11-03 Sebastien Pouliot <sebastien@ximian.com>
* SocketAsyncEventArgs.cs: Set error back to SocketError.Success
once CheckEndPoint succeed.
[Fix bug #549586]
[Backport r145329]
2009-10-21 Gonzalo Paniagua Javier <gonzalo@novell.com>
* Socket.cs: implement *SendFile().
2009-09-28 Sebastien Pouliot <sebastien@ximian.com>
* SocketAsyncEventArgs.cs: Default SocketError.AccessDenied on
Connect in case none of the DnsEndPoint provides an adequate
address (family).
[Backport r142746]
2009-09-27 Gonzalo Paniagua Javier <gonzalo@novell.com>
* Socket_2_1.cs: Close(int timeout) blocks up to timeout ms if there's
pending data to be written to the socket. If there's no pending data,
it closes and returns right away. Instead of using Timer and then
doing a 'hard' close(), we set the linger option for the socket.
2009-09-27 Sebastien Pouliot <sebastien@ximian.com>
* SocketAsyncEventArgs.cs: Don't use Socket.Poll for NET_2_1.
Throw NIE for use of BufferList in Receive.
* Socket.cs: Move Close(int) to Socket_2_1.cs. Remove NET_2_1
defines since the file is not used by Moonlight
* Socket_2_1.cs: Add Close(int) from Socket. Define out Poll
and Blocking.
[Backport r142722]
2009-09-26 Sebastien Pouliot <sebastien@ximian.com>
* SocketAsyncEventArgs.cs: Fix paramater validations and default
values
[Backport r142675]
2009-09-23 Sebastien Pouliot <sebastien@ximian.com>
* Socket_2_1.cs: Remove NET_2_1 socket policy checks from here.
* SocketAsyncEventArgs.cs: Support DnsEndPoint correctly (NET_2_1 but
that will be useful for NET_4_0 soon). Add socket policy checks here
since it could be called several times to connect to a host.
2009-09-23 Gonzalo Paniagua Javier <gonzalo@novell.com>
* NetworkStream.cs: after disposing the stream, CanRead/CanWrite
return false.
2009-09-19 Gonzalo Paniagua Javier <gonzalo@novell.com>
* SocketAsyncEventArgs.cs: fix check for non-null.
Fixes bug #516455.
2009-07-14 Sebastien Pouliot <sebastien@ximian.com>
* Socket_2_1.cs, SocketAsyncEventArgs.cs: A bit more NET_2_1 defines
to help the tuner remove some extra types for moonlight.
2009-06-28 Gert Driesen <drieseng@users.sourceforge.net>
* Socket.cs: Modified some argument names to match MS. Moved disposed
check before argument checks in Receive. Use SocketError.InvalidArgument
instead of using magic numbers. Added back comments that was
accidentally removed in my previous commit.
* Socket_2_1.cs: Modified some argument names to match MS.
2009-06-28 Gert Driesen <drieseng@users.sourceforge.net>
* Socket.cs: In GetSocketOption, throw SocketException when (byte [])
option value is null. Use SocketError fields instead of using "magic"
number. In SetSocketOption (SocketOptionLevel, SocketOptionName, object)
only accept Linger, AddMembership, DropMembership and verify option
value.
* MulticastOption.cs: Added argument checks. Save interfaceIndex that is
passed to .ctor, and removed MonoTODO. Renamed arguments to match MS.
Reset InterfaceIndex when LocalAddress is modified, and reset
LocalAddress when InterfaceIndex is modified.
* UdpClient.cs: Modified exception to more closely match MS. Fixed
(int, AddressFamily) .ctor to construct IPv6 endpoint when family is
InterNetworkV6. Added null check for multicastAddr to (IPAddress)
JoinMulticastGroup overload. In (int, IPAddress) and (IPAddress,
IPAddress) overloads of JoinMulticastGroup throw SocketException when
client is IPv4. Added null check for multicastAddr to (IPAddress, int),
overload, and moved JoinMulticastGroup call after argument checks.
* IPv6MulticastOption.cs: Renamed argument names to match MS. Added
null check to set_Group. Added range check to set_InterfaceIndex.
2009-06-27 Gonzalo Paniagua Javier <gonzalo@novell.com>
* Socket.cs: turn WSAEINVAL into ArgumentException.
2009-06-26 Gonzalo Paniagua Javier <gonzalo@novell.com>
* Socket.cs: MS throws a SocketException in the byte[] overload when
the value is null.
2009-05-22 Sebastien Pouliot <sebastien@ximian.com>
* Socket_2_1.cs: Do not throw a SecurityException if the security
policy check fails in NET_2_1 but set the SocketError to AccessDenied
ensure the EndPoint has a valid policy before connecting.
* SocketAsyncEventArgs.cs: Don't recurse endlessly in SendCallback
and ReceiveCallback if the socket is not connected. Check for
AccessDenied in ConnectCallback (needed for the security policy
check in NET_2_1).
2009-05-14 Sebastien Pouliot <sebastien@ximian.com>
* Socket_2_1.cs: Add ConnectAsync support for NET_2_1 which will
ensure the EndPoint has a valid policy before connecting.
* SocketAsyncEventArgs.cs: Add support for IList<ArraySegment<byte>>
when sending. Add ConnectSocket for NET_2_1
2009-05-11 Gonzalo Paniagua Javier <gonzalo@novell.com>
* TcpClient.cs:
* Socket.cs:
* UdpClient.cs: use GetHostAddresses() instead of Resolve or
GetHostEntry.
2009-05-11 Gonzalo Paniagua Javier <gonzalo@novell.com>
* UdpClient.cs: if possible, avoid DNS lookups when the host name is
an IP address. Related to bug #502866.
2009-04-30 Gonzalo Paniagua Javier <gonzalo@novell.com>
* Socket.cs: return the last error if a connect to multiple addresses
fails.
2009-04-22 Sebastien Pouliot <sebastien@ximian.com>
* Socket_2_1.cs: Use old-n-simple CheckProtocolSupport to implement
OSSupportsIP[v4|v6] for Moonlight (NET_2_1 only) so we can avoid
including a bunch of types (22) from System.Net.NetworkInformation
and drop the number of [SecuritySafeCritical] methods to audit (the
same 22) and [SecurityCritical] (8) beside getting a smaller
System.Net.dll assembly :)
2009-04-21 Gonzalo Paniagua Javier <gonzalo@novell.com>
* Socket.cs: End* methods can only be called once per IAsyncResult.
Bug #466031 fixed.
2009-04-09 Sebastien Pouliot <sebastien@ximian.com>
* Socket.cs: Split socket class into two files (this one and the
new Socket_2_1.cs). This let us remove (some) existing #if in the
sources and avoid (a lot) of new ones for Moonlight.
* Socket_2_1.cs: Just enough of socket for NET_2_1. This helps
the tuner not to bring a lot of extra stuff (some visible)
into Moonlight.
* SocketAsyncEventArgs.cs: Ifdef out some cases for NET_2_1 so
Moonlight can use it's own (smaller) SocketAsyncOperation enum
2009-02-17 Gonzalo Paniagua Javier <gonzalo@novell.com>
* Socket.cs: instead of clearing the sockets form the output and then
adding them back, we just remove the ones that have not been signaled.
Fixes bug #354090 and bug #476138.
2009-01-19 Gonzalo Paniagua Javier <gonzalo@novell.com>
* Socket.cs: don't throw when there's no ipv6 configuration.
2009-01-09 Dick Porter <dick@ximian.com>
* Socket.cs: Special case 0-length receive requests in the
BeginAccept overloads that wait for data, so they behave as the
non-waiting version. Seems to match MS behaviour, fixes bug
464201.
2009-01-06 Gonzalo Paniagua Javier <gonzalo@novell.com>
* TcpClient.cs: use IPv6Any when the family is IPv6.
Bug #462688 fixed.
2008-12-30 Bill Holmes <billholmes54@gmail.com>
* Socket.cs (Accept_internal) : Changing the signature to pass
the blocking state.
Code is contributed under MIT/X11 license.
2008-12-20 Miguel de Icaza <miguel@novell.com>
* SocketException.cs: Add missing API.
* SocketAsyncEventArgs.cs (Dispose): this has to be a public
member according to the specs.
2008-12-20 Gonzalo Paniagua Javier <gonzalo@novell.com>
* Socket.cs: add a new ReceiveFrom_nocheck that does not throw an
exception in case of error.
2008-12-20 Gonzalo Paniagua Javier <gonzalo@novell.com>
* Socket.cs: if Blocking is set, translate a WouldBlock into a
TimedOut.
2008-12-03 Gonzalo Paniagua Javier <gonzalo@novell.com>
* UdpClient.cs: don't Poll() in Receive(), the call to ReceiveFrom
will block anyway. Fixes bug #455894.
2008-11-12 Gonzalo Paniagua Javier <gonzalo@novell.com>
* Socket.cs: mark the socket as not connected when there is a pending
error or exception about to be thrown.
Bug #443346 fixed.
2008-09-10 Bill Holmes <billholmes54@gmail.com>
* Socket.cs : Adding a comment to provide locations where
changes to MonoSocketAsyncResult need to be synced.
Code is contributed under MIT/X11 license.
2008-09-06 Atsushi Enomoto <atsushi@ximian.com>
* Socket.cs : (SocketAsyncResult) release byte buffer early so that
it does not have to store extra data in pool. Fixed bug #397627.
2008-07-31 Jb Evain <jbevain@novell.com>
* Socket.cs
* NetworkStream.cs: cleanup for NET_2_1
* SocketException_2_1.cs: new specific version for NET_2_1.
2008-06-19 Dick Porter <dick@ximian.com>
* Socket.cs: Implement generic Send() and Receive() methods.
Fixes bug 395168.
2008-06-12 Stephane Delcroix <sdelcroix@novell.com>
* Socket.cs: minimal changes to run in the 2.1 profile
2008-06-11 Stephane Delcroix <sdelcroix@novell.com>
* SocketAsyncEventArgs.cs: catch SocketException in ConnectAsync
and set the SocketError accordingly.
2008-05-09 Marek Habersack <mhabersack@novell.com>
* SocketAsyncEventArgs.cs: implemented support for executing
asynchronous socket actions, called from the new xxxxAsync methods
in Socket. The asynchronous operations do not use the ThreadPool
as I can't get the sample applications to work (send/receive
callbacks don't work) - it may change in the future.
* Socket.cs: implemented several xxxxAsync 2.0sp1 methods. The
ones not implemented for now are: ReceiveMessageFromAsync and
SendPacketsAsync. AcceptAsync doesn't perform the check for the
buffer size for now - need to implement runtime support for that.
Made several methods internal, so that they can be accessed from
SocketAsyncEventArgs code.
2008-05-08 Marek Habersack <mhabersack@novell.com>
* SocketAsyncOperation.cs, SendPacketsElement.cs,
SocketAsyncEventArgs.cs: added initial implementations for
2.0SP1/3.5 classes used in the (to be implemented) new xxxAsync
methods of the Socket class.
2008-04-17 Miguel de Icaza <miguel@novell.com>
* NetworkStream.cs: Throw an IOException if the socket is not
connected, not an ArgumentException.
Fixes #371923, it is also the way its documented on MSDN.
2008-04-13 Jb Evain <jbevain@novell.com>
* Socket.cs: ifdef out the Sys.Config part for the
2.1 profile.
Merged from the Moonlight 2 branch.
Wed Mar 12 20:06:07 CET 2008 Paolo Molaro <lupus@ximian.com>
* Socket.cs: add a static ctor so that ipv4Supported and ipv6Supported
are initialized (they are used by the runtime).
2008-02-01 Dick Porter <dick@ximian.com>
* TcpClient.cs: If the Connect fails (when given an array of
addresses) leave the socket object in a usable state. Fixes bug
355473.
2007-11-13 Atsushi Enomoto <atsushi@ximian.com>
* NetworkStream.cs : in 2.0 Close() is not needed and does not exist.
2007-11-01 Miguel de Icaza <miguel@novell.com>
* Socket.cs: Do not set the Send and Receive buffer sizes for the
socket to the defaults set on Windows, they kill our performance.
Thanks to Zoltan Varga for tracking the performance issue down.
The bug was #325032
2007-10-30 Dick Porter <dick@ximian.com>
* UdpClient.cs: Don't set the multicast option twice. Fixes bug
324033.
2007-10-21 Robert Jordan <robertj@gmx.net>
* Socket.cs: Remove GetHashCode override from the NET_2_0
profile. Add LAMESPEC comment. Fixes bug #325113.
2007-09-22 Gert Driesen <drieseng@users.sourceforge.net>
* Socket.cs: Removed unused method.
2007-08-02 Dick Porter <dick@ximian.com>
* Socket.cs: Patch from Brian Nickel (brian.nickel@gmail.com) to
improve EndPoint handling.
2007-07-08 Gert Driesen <drieseng@users.sourceforge.net>
* Socket.cs: Code formatting. Marked not implemented methods as TODO.
Removed extra spaces.
2007-07-04 Dick Porter <dick@ximian.com>
* Socket.cs: Don't set DontFragment by default for IPv6 sockets.
Fixes bug 81985.
2007-05-16 Adar Wesley <adarw@mainsoft.com>
* Socket.jvm.cs: added missing methods EndDisconnect, IOControl,
Send 2.0 overloads, Receive 2.0 overloads, ReceiveMessageFrom,
BeginReceiveMessageFrom, EndReceiveMessageFrom,
EndAccept 2.0 overloads, BeginSend, EndSend, BeginReceive,
EndReceive, SendFile, BeginSendFile, EndSendFile, Disconnect,
DuplicateAndClose
2007-05-09 Igor Zelmanovich <igorz@mainsoft.com>
* Socket.jvm.cs: Handle property throws NotImplementedException.
2007-05-09 Igor Zelmanovich <igorz@mainsoft.com>
* NetworkStream.cs:
* TcpClient.cs:
* TcpListener.cs:
* UdpClient.cs:
added MonoNotSupported attribute for TARGATE_JVM.
2007-03-11 Gert Driesen <drieseng@users.sourceforge.net>
* TcpClient.cs: Do not initialize network stream in Connect. In
Dispose, only nullify client if network stream was not obtained.
Fixes bug #81105.
2007-01-30 Ilya Kharmatsky <ilyak -at- mainsoft.com>
* Socket.jvm.cs: additional stubs for net_2_0 properties,
bug fixes (EnsureStillUsable method inserted)
2007-01-28 Ilya Kharmatsky <ilyak -at- mainsoft.com>
* Socket.jvm.cs: added stubs for net_2_0 properties and methods.
2007-01-26 Dick Porter <dick@ximian.com>
* Socket.cs: SupportsIPv6 is obsolete in the 2.0 profile. Stub
out BeginReceiveMessageFrom(), BeginSendFile(),
EndReceiveMessageFrom(), EndSendFile(), ReceiveMessageFrom(), and
SendFile().
* IPPacketInformation.cs: New in the 2.0 profile
* SocketFlags.cs: Remove useless (and empty) inline documentation,
and add 2.0 items.
* TcpListener.cs: Mark Server as public in the 2.0 profile.
* UdpClient.cs: Mark Dispose(bool) as protected in the 2.0
profile.
System.Net.Sockets should now be 2.0-complete.
2007-01-26 Dick Porter <dick@ximian.com>
* Socket.cs: There's no point checking the SO_ERROR status of a
socket after poll() or select() if we already know that connected
== true.
2007-01-24 Dick Porter <dick@ximian.com>
* IOControlCode.cs:
* SocketInformationOptions.cs:
* TransmitFileOptions.cs: Fix enum values
* AddressFamily.cs: Not Serializable in the 2.0 profile
2007-01-24 Dick Porter <dick@ximian.com>
* NetworkStream.cs: 2.0 profile updates, based on a patch by
Sridhar Kulkarni (sridharkulkarni@gmail.com)
2007-01-23 Dick Porter <dick@ximian.com>
* TcpListener.cs:
* TcpClient.cs: 2.0 profile updates, based on a patch by Sridhar
Kulkarni (sridharkulkarni@gmail.com)
2007-01-22 Miguel de Icaza <miguel@novell.com>
* Socket.cs: Move the throw new NotImplementedException ()
elsewhere to prevent Moma reports.
2007-01-20 Dick Porter <dick@ximian.com>
* Socket.cs(SocketDefaults): Catch and ignore any SocketExceptions
thrown from setting default socket options - some platforms might
not support a particular default we're trying to set.
2007-01-11 Dick Porter <dick@ximian.com>
* IOControlCode.cs:
* SocketInformation.cs:
* Socket.cs:
* UdpClient.cs: 2.0 profile updates, loosely based on a patch by
Sridhar Kulkarni.
* SocketInformationOptions.cs:
* TransmitFileOptions.cs: Implemented by Sridhar Kulkarni
(sridharkulkarni@gmail.com)
Wed Dec 13 12:04:02 CET 2006 Paolo Molaro <lupus@ximian.com>
* Socket.cs: stub ReceiveBufferSize and SendBufferSize to
get ironpython to compile.
2006-11-23 Dick Porter <dick@ximian.com>
* Socket.cs: Only set Connected = true in Poll() and Select() if
the socket error status is 0. Fixes bug 79878.
2006-09-28 Andrew Skiba <andrews@mainsoft.com>
* Socket.cs,NetworkStream.cs,SocketException.cs: TARGET_JVM
2006-09-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: update the SocketOperation enum.
2006-08-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: replace hardcoded error numbers with the SocketError
values. When ReceiveTimeout is set on a blocking socket, correctly
report timeouts in the generated exception.
* SocketException.cs: add new internal ctor (int, string).
2006-08-12 Miguel de Icaza <miguel@novell.com>
* Socket.cs (NoDelay): Implement.
2006-06-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: patch from Sanghyeon Seo that implements
(Send|Receive)Timeout for 2.0.
* MulticastOption.cs: more 2.0 stuff.
2006-06-28 Atsushi Enomoto <atsushi@ximian.com>
* Socket.cs : use ConfigurationManager.GetSection() under NET_2_0.
Also make sure to avoid NRE.
2006-06-24 Zoltan Varga <vargaz@gmail.com>
* Socket.cs: Add stubs for net 2.0 SendTimeout and ReceiveTimeout properties.
2006-06-20 Zoltan Varga <vargaz@gmail.com>
* ProtocolType.cs SocketOptionName.cs: Add missing net 2.0 fields.
2006-05-30 Gert Driesen <drieseng@users.sourceforge.net>
* NetworkStream.cs: Marked Dispose (bool) virtual on 1.x profile.
2006-04-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs:
* SocketError.cs: implemented Reseive/Send overloads that do not throw
in case of error. Patch by Tomi Valkeinen.
2006-03-11 Miguel de Icaza <miguel@novell.com>
* NetworkStream.cs (Dispose): Use the right signature depending on
the profile being built.
2006-03-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: pass something not empty to the unixep ctor.
2006-03-03 Dick Porter <dick@ximian.com>
* UdpClient.cs: Fix IPv6 family check. Fixes bug 77689.
2006-02-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* TcpClient.cs: when the socket is not connected, don't try to set the
socket options, as they are ignored on linux. Wait until Connect
succeeds and then apply the options.
2006-02-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: added a missing overload for SetSocketOption.
2006-01-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: use the 2.0 configuration classes when checking for IPv6
support.
2006-01-04 Sebastien Pouliot <sebastien@ximian.com>
* TcpClient.cs: The Client property is public in 2.0 while it was
protected in earlier release. Fix bug #77048.
2005-12-07 Robert Jordan <robertj@gmx.net>
* SocketError.cs: Added.
* SocketException: Implemented SocketErrorCode. Fixes bug #76915.
2005-10-11 Dick Porter <dick@ximian.com>
* Socket.cs: Don't call connect(2) twice for non-blocking sockets,
it breaks on macos (and probably other bsd-based stacks too,) use
poll() and getsockopt() to check if it worked.
2005-09-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: add checks for 'disposed' all over. Fixes bug #76249.
2005-06-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* TcpClient.cs: patch by Hans Kratz that uses an integer when setting
NoDelay instead of a bool, which is only handled in 2.0.
2005-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: disallow connecting to .Any addresses. Fixes bug #75154.
2005-06-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: adapted Select to the new Select_internal that uses poll()
instead of select(). Managed part of the fix for bug #71203.
2005-05-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: apply the same hack on blocking Connect calls as the one
used in Accept.
2005-05-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: see bug #74842, which is fixed with this patch for details
and test cases on the blocking behavior of accept() when close() is
called from another thread. The solution applied is to Abort the thread
that is blocking in Accept_internal() when someone calls Close (), then
reset the abort state if the socket is disposed and return the same
error as MS (10004 - interrupted).
2005-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: match MS behavior on SetSocketOption with a boolean
argument. MS 1.1 throws an ArgumentException, but 2.0 turns true/false
into 1/0 and works fine. Fixes bug #71753. Added checks for disposed
in the 3 SetSocketOption.
2005-05-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: if there are outstanding aio requests and one of them gets
an ObjectDisposedException, throw the same exception for the rest.
2005-05-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: removed hack added to fix bug #53229 (more than a year ago)
that kept sockets opened until all AIO operations where finished. If
the socket is closed, Receive returns 0 in EndReceive, the rest throw
the ObjectDisposedException. Set the socket handle to -1 when closing.
2005-04-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: Begin/End Send/SendTo guarantee that all bytes are written
or an exception is thrown. Fixes bug #74475.
2005-04-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: no need for locking in Worker. The actual read / write for
Receive / Send is performed in the runtime time.
2005-04-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: added a 'blocking' field that is passed to the runtime.
2005-04-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: invoke the callback after scheduling the next request for
the socket. Fixes bug #74539.
2005-04-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: update socket connected status in an async request finishes
synchronously. Use 'callback' instead of 'real_callback' field, which is
now unused.
2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: added SocketOperation enum and 2 new fields to
SocketAsyncResult that are used by the runtime. Asynchronous read/write
are serialized so that only 1 of each kind is really 'active'.
Handle non-blocking connects in BeginConnect instead of doing 2 Poll()
in the threadpool.
* NetworkStream.cs: better message for the exception.
2005-04-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: remove unused async IO code.
2005-03-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: don't Poll/block in Connect aither.
2005-02-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: don't block on Accept if the socket is non-blocking.
Fixes bug #73053. Patch by Ankit Jain.
2005-02-23 Dick Porter <dick@ximian.com>
* UdpClient.cs: Set the Broadcast option, as apparently the MS
runtime defaults make UDP sockets broadcastable.
2004-12-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: for Receive*/Send*, don't set the connected status to false
when the error is EINPROGRESS or EWOULDBLOCK.
2004-12-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* NetworkStream.cs: Write should ensure that writes all the contents
of the buffer. Fixes bug #70123. Besos para Miguelito.
2004-10-14 Dick Porter <dick@ximian.com>
* Socket.cs (Sockets ): Set Accept()ed socket blocking status to
be the same as the listening socket. This follows MS behaviour.
2004-08-04 Dick Porter <dick@ximian.com>
* Socket.cs: Update Connected state in Select and Poll; this is
when we find out that non-blocking Connects succeed. Fixes bug
62398.
2004-07-28 Dick Porter <dick@ximian.com>
* Socket.cs: ReceiveFrom might not return a valid EndPoint. Patch
by Nick Vaughan (dev@6wardlaw.freeserve.co.uk), fixes bug 61608.
2004-07-15 Dick Porter <dick@ximian.com>
* Socket.cs: Don't try and dereference a null array in Select()
(possible if a descriptor list of length 0 was passed.) Patch by
Nick Vaughan (dev@6wardlaw.freeserve.co.uk), fixes bug 61595.
2004-07-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: if'ed RemoveReferences calls.
2004-07-09 Dick Porter <dick@ximian.com>
* Socket.cs: Slight tweak to allow unknown objects to be returned
by GetSocketOption().
2004-06-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: connect on non-blocking sockets returns EINPROGRESS. Fixes
bug #60811.
2004-06-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: wrong error code in connect and accept. EWOULDBLOCK is
10035. Fixes bug #60563.
2004-06-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: fixed Accept for non-blocking sockets.
2004-06-10 Gert Driesen <drieseng@users.sourceforge.net>
* LingerOption.cs: marked field private to fix API signature
* MulticastOption.cs: marked field private to fix API signature
2004-06-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: throw ArgumentNullException if all the list are null OR
empty. Fixes bug #59632.
2004-05-21 Patrik Torstensson <totte@hiddenpeaks.com>
* TcpListener.cs: Fixes a lot of the problems with remoting nunit tests.
(AcceptTcpClient): Don't create TcpClient before a
connection is accepted.
(LocalEndPoint): Use Server LocalEndPoint if connected
otherwise use endpoint from ctor.
(Init): Save end point, not server endpoint. This did
cause TcpListener to ignore port sent via constructor.
(Pending): Fixed wait time (method should return directly)
(Start): Moved Bind here instead of Init method; old method
caused us to bind ports even if the listener was stopped.
(Stop): Null server when stopping
2004-05-13 Dick Porter <dick@ximian.com>
* UdpClient.cs:
* TcpClient.cs: Public API fixes
2004-05-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: fixed Connect for non-blocking sockets. Closes bug #58169.
2004-05-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: fix for BeginConnect and non-blocking sockets.
2004-05-03 Lluis Sanchez Gual <lluis@ximian.com>
* Socket.cs: Use assembly name const to load Mono.Posix.
2004-05-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: only enable socket AIO if MONO_ENABLE_SOCKET_AIO is there.
I will remove this once THE bug is hunted.
2004-04-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: added support for unmanaged asynchronous IO. Speed up
error checking.
* UdpClient.cs: fixed Dispose so that it only closes the socket when
called explicitly.
2004-04-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: added GetSupportsAsync and Poll_internal internal calls.
Cleaned up Worker class: moved fields to SocketAsyncResult and use Poll
when the socket is non-blocking before getting EWOULDBLOCK error.
2004-04-08 Dick Porter <dick@ximian.com>
* Socket.cs: Rearrange the internal calls so that the exceptions
are thrown from managed code
2004-03-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: when Dispose (bool) is called from the finalizer, always
do the cleanup. Fixes yet another nullref with xsp.
2004-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: implemented IOControl.
2004-02-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: use the threadpool for asynchronous calls instead of
creating new threads.
2004-02-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: added locks around waithandle assign and comparison in
class Worker. Handle other exceptions than SocketException for
non-blocking sockets.
2004-01-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: handle WSAEWOULDBLOCK for non-blocking sockets. Fixes
bug #53168. Avoid the creation of the ManualResetEvent in class Worker
whenever possible.
2004-01-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: if we have a pending async event, delay socket closing
until EndX is called. Fixes bug #53229. Check parameters and if the
socket has been disposed. Implemented IDisposable explicitly. The
threads created have IsBackground = true now.
2004-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: patch from Brad Fitzpatrick <brad@danga.com> episode 2.
2003-12-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: fix for several asynchronous methods to delay exception
throwing. Patch by Brad Fitzpatrick <brad@danga.com>.
2003-12-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* TcpListener.cs: get the LocalEndPoint from the socket after binding.
Fixes bug #52329.
2003-10-20 Miguel de Icaza <miguel@ximian.com>
* TcpClient.cs: Fix void Dispose (bool disposing) to follow the
pattern. It was shutting down the managed resources even in the
finalizer case, it should only do that when called from
IDisposable.Dipose.
2003-09-11 Lluis Sanchez Gual <lluis@ximian.com>
* NetworkStream.cs: Added [In,Out] attributes to Read method.
2003-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* TcpListener.cs: various fixes to make the new tests pass. Closes
bug #47848.
2003-08-10 Miguel de Icaza <miguel@ximian.com>
* UdpClient.cs (Receive): Fix Bug 45633; We should do a blocking
call until a datagram is arrives from the remote host. This
removes the 512 "magic" buffer size when we did not have any data.
2003-07-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* NetworkStream.cs:
* Socket.cs: fixed array boundary checks. 0 sized arrays are allowed.
2003-07-18 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
* Socket.cs: Added GetHashCode method
2003-07-14 Jerome Laban <jlaban@wanadoo.fr>
* Socket.cs:
* ProtocolType.cs:
* SocketOptionLevel.cs:
* TcpListener.cs:
* TcpClient.cs:
* UdpClient.cs:
Added IPv6 support.
* IPv6MulticastOption.cs: Added for IPv6 support.
2003-05-16 Dick Porter <dick@ximian.com>
* Socket.cs: Use Mono.Posix.UnixEndPoint if its available
2003-05-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* MulticastOption.cs: patch by Jerome Laban included in bug #42393.
2003-05-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs:
(Select): don't create arrays if not needed.
(Poll): call Select_internal directly.
Warning: you need an up to date runtime for this to work!
2003-03-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* UdpClient.cs: don't bind the socket unless .ctor (IPEndPoint) is used.
Added more checks and throws.
Small fixes in Send to avoid duplicating the buffer.
Moved CheckIfDisposed calls to the start of the methods instead of doing
the check inside a finally clause.
2003-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs:
(SendTo): fix from Jerome Laban <jlaban@wanadoo.fr>.
2003-02-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: patch from Elan Feingold <efeingold@mn.rr.com>. Fixes
NullReferenceException when the callback is null.
2003-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* NetworkStream.cs: allow 0 size array in Write.
2003-02-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: make Worker.Connect and Receive work with non-blocking
sockets. May be Receive* and Send* in Worker need to do the same. I'll
wait for bug reports. Set IsCompleted to true before invoking the end
callback. Fixes bug #38136.
2003-01-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* NetworkStream.cs: the check for disposed should not be done in the
finally clause.
2003-01-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* UdpClient.cs: fixed bug #36226.
2002-11-13 Dick Porter <dick@ximian.com>
* Socket.cs: Only close the socket in one place, ie the Dispose
method. Fixes bug 32054.
2002-11-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* Socket.cs: offset == size == 0 it's ok in Send ().
2002-11-03 Phillip Pearson <pp@myelin.co.nz>
* TcpClient.cs: Fixed SetTcpClient() to pass through to the Client
property, which now sets stream to null (it's set by GetStream()). This
should make GetStream() work on a TcpClient which has had the socket set
by assignment to the Client property, not only one that has been created
by TcpListener.AcceptTcpClient().
2002-10-08 Dick Porter <dick@ximian.com>
* Socket.cs:
* NetworkStream.cs: Bounds checking fixes, and better exception
texts. Changes by timothyjmills@hotmail.com (Timothy J. Mills).
2002-10-03 Dick Porter <dick@ximian.com>
* TcpClient.cs: NoDelay is a TCP option, not Socket
2002-09-16 Miguel de Icaza <miguel@ximian.com>
* SocketFlags.cs: Add missing enumeration.
* UdpClient.cs: Make Dispose private.
2002-08-20 Dick Porter <dick@ximian.com>
* Socket.cs: Fix deadlock when the AsyncResult callback calls
End*(). Set the async request's worker property so it can return
results. These two fixes combined fix bug 28092.
2002-06-24 Dick Porter <dick@ximian.com>
* Socket.cs: Make SetSocketOption cope with boolean values (they
are passed as objects, not the ints the runtime was expecting)
2002-05-17 Lawrence Pit <loz@cable.a2000.nl>
* TcpListener.cs: Renamed LocalEndPoint to LocalEndpoint
* NetworkStream.cs, UdpClient.cs and TcpClient.cs: modified disposable
routines, added checks for disposed state.
* UdpClient.cs: commented out GetHashCode and Equals as it's not
overriden in ms.net implementation.
2002-05-17 Jaroslaw Kowalski <jarek@atm.com.pl>
* TcpClient.cs: fixed SetTcpClient so that
TcpListener.AcceptTcpClient works and allows
you to call GetStream() on its result
2002-04-24 Dick Porter <dick@ximian.com>
* Socket.cs (Poll): Give correct argument to Select(), as spotted
by Jaroslaw Kowalski <jarek@atm.com.pl>
2002-04-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
* UdpClient.cs: implemented.
2002-04-02 Dick Porter <dick@ximian.com>
* TcpListener.cs: in Start(), set the socket listen backlog value
to a sane value (noticed by Jonathan Stowe <gellyfish@gellyfish.com>)
2002-02-13 Dick Porter <dick@ximian.com>
* Socket.cs: Implemenent Select, Blocking, Connected,
GetSocketOption, Poll, SetSocketOption and Shutdown
* MulticastOption.cs:
* LingerOption.cs: Delete override methods that don't need to be
implemented
2002-01-23 Miguel de Icaza <miguel@ximian.com>
* NetworkStream.cs: Implement class.
2002-01-23 Dick Porter <dick@ximian.com>
* SocketException.cs: Implemented
* Socket.cs: Implemented most methods
* LingerOption.cs: Made compile
* AddressFamily.cs: Removed empty auto-generated comments
2002-01-17 Miguel de Icaza <miguel@ximian.com>
* SocketException.cs: Reimplemented.
2002-01-06 Ravi Pratap <ravi@ximian.com>
* ChangeLog : Add to this directory.
* SocketException.cs, TcpClient.cs, TcpListener.cs : MonoTODO
attribute decoration.
|