140 Commits

Author SHA1 Message Date
Patrick Concannon
2e8356ea40 8244933: DatagramSocket.connect does not specify that it may cause datagrams in the socket receive buffer to be discarded
This fix updates the javadoc for `DatagramSocket.connect` to inform the user that it may cause datagrams in the socket receive buffer to be discarded if not previously received via a call to `DatagramSocket.receive`.

Reviewed-by: alanb, dfuchs
2020-06-10 11:08:19 +01:00
Patrick Concannon
ac906168c8 8243999: DatagramSocket and MulticastSocket constructors don't specify how a null InetAddress is handled
This fix clarifies the behaviours of constructors from DatagramSocket and MulticastSocket when no address or a null address is supplied.

Reviewed-by: dfuchs
2020-06-09 15:26:53 +01:00
Aleksei Efimov
02fbf44cc7 8244958: preferIPv4Stack and preferIPv6Addresses do not affect addresses returned by HostsFileNameService
Reviewed-by: dfuchs, alanb, vtewari
2020-05-29 13:39:16 +01:00
Patrick Concannon
4708c6d343 8243507: DatagramSocket constructors don’t always specify what happens when passed invalid parameters
This fix updates the spec for DatagramSocket's constructors to inform the user of the Exceptions thrown when an invalid argument is passed.

Reviewed-by: dfuchs
2020-05-29 11:08:09 +01:00
Michael McMahon
5374383dcd 8245582: j.net.URLConnection::getHeaderFieldKey(int) behavior does not reliably conform to its specification
Reviewed-by: chegar, dfuchs
2020-05-26 21:29:33 +01:00
Patrick Concannon
fad2cf51ba 8241072: Reimplement the Legacy DatagramSocket API
Replace the underlying implementations of the java.net.DatagramSocket and java.net.MulticastSocket APIs with simpler and more modern implementations that are easy to maintain and debug.

Co-authored-by: Alan Bateman <alan.bateman@oracle.com>
Co-authored-by: Chris Hegarty <chris.hegarty@oracle.com>
Co-authored-by: Daniel Fuchs <daniel.fuchs@oracle.com>
Reviewed-by: alanb, chegar, dfuchs
2020-05-12 21:51:53 +01:00
Patrick Concannon
42d2a7411b 8243408: Inconsistent Exceptions are thrown by MulticastSocket when sending a DatagramPacket to port 0
This fix adds a check for port == 0 to MulticastSocket's 2-arg send method to ensure a consistent exception is thrown across platforms

Reviewed-by: dfuchs
2020-04-22 20:41:56 +01:00
Patrick Concannon
8e21a2a1e4 8237890: DatagramPacket::getSocketAddress doesn't specify what happens if address or port are not set
This fix changes the default port of a DatagramPacket from -1 to 0, which changes the behaviour of calling getSocketAddress with no port set from throwing an IAE to returning an InetSocketAddress representing any local address with port 0.

Reviewed-by: alanb, chegar, dfuchs
2020-04-22 12:34:09 +01:00
Henry Jen
0278846eaa Merge 2020-04-14 23:11:49 +00:00
Pavel Rappo
4c4271f283 8242230: Whitespace typos, relaxed javadoc, formatting
Reviewed-by: darcy, igerasim
2020-04-08 11:16:56 +01:00
Patrick Concannon
378aef32ab 8240533: Inconsistent Exceptions are thrown by DatagramSocket and DatagramChannel when sending a DatagramPacket to port 0
Fix adds checks for port == 0 to the send and connect methods in DatagramSocket and DatagramChannelImpl

Reviewed-by: alanb, chegar, dfuchs, lancea
2020-04-07 16:21:01 +01:00
Christoph Dreis
e9adf7bbe1 8242186: Reduce allocations in URLStreamHandler.parseURL for some cases
Reviewed-by: redestad, chegar
2020-04-06 13:44:54 +02:00
Chris Hegarty
61940fe4ce 8241988: DatagramSocket incorrectly caches the first set of socket options
Reviewed-by: msheppar, dfuchs, alanb
2020-04-03 07:16:35 +01:00
Ivan Gerasimov
53b2368d49 8241760: Typos: empty lines in javadoc, inconsistent indents, etc. (net and nio)
Reviewed-by: alanb, prappo, dfuchs
2020-03-30 13:59:16 -07:00
Pavel Rappo
17ff85d4ad 8241014: Miscellaneous typos in documentation comments
Reviewed-by: igerasim, prappo, psandoz, rriggs, weijun
2020-03-20 20:54:56 +00:00
Daniel Fuchs
58337b12f8 8059309: network tests fail with "java.net.SocketException: Couldn't obtain phys addr" when run as "root"
The solaris specific code is changed to use the fallback mechanism if the DLPI interface returns an error indicating that the operation is unsupported. In addition, NetworkInterface::getHardwareAddress is changed to always return null for the loopback interface.

Reviewed-by: alanb
2020-03-12 18:31:49 +00:00
Patrick Concannon
00c40ae1e3 7021373: DatagramPacket exception conditions are not clear
Specification is clarified by adding or clarifying @throws clauses where required

Reviewed-by: alanb, chegar, darcy, dfuchs
2020-02-07 11:10:41 +00:00
Daniel Fuchs
b069da31e0 8238231: Custom DatagramSocketImpl's create method not called when with protected constructor
Allow the socket to be lazily created if not created by the constructor.

Reviewed-by: alanb
2020-02-04 18:35:37 +00:00
Daniel Fuchs
e0901fb627 8237896: MulticastSocket should link to DatagramChannel as an alternative for multicasting
MulticastSocket API documentation now includes some links to DatagramChannel.

Reviewed-by: alanb
2020-01-29 19:13:09 +00:00
Pavel Rappo
49dc57cd10 8237817: Clean up net-properties.html
Reviewed-by: dfuchs
2020-01-24 21:57:19 +00:00
Patrick Concannon
94bb505c94 8235783: DatagramSocket::disconnect should allow an implementation to throw UncheckedIOException
Undocumented throwing of Errors changed to throw a more user friendly UncheckedIOException

Reviewed-by: alanb, chegar, dfuchs
2020-01-23 14:43:37 +00:00
Patrick Concannon
2f76772fa9 8236105: Behaviors of DatagramSocket/DatagramChannel::socket send methods are not always consistent
DatagramSocket and MulticastSocket changed to throw IllegalArgumentException if not connected and passed a packet containing a port out of range

Reviewed-by: chegar, dfuchs
2020-01-20 16:24:05 +00:00
Alan Bateman
d4c3278889 8236925: (dc) Upgrade DatagramChannel socket adaptor to extend MulticastSocket
Reviewed-by: dfuchs
2020-01-19 08:02:46 +00:00
Patrick Concannon
a589a15e3f 8237075: @since tag missing from DatagramSocket and MulticastSocket methods
Methods from DatagramSocket and MulticastSocket added in JDK1.2 do not have their @since tags. This fix adds them in

Reviewed-by: alanb, chegar, dfuchs
2020-01-17 12:53:31 +00:00
Jesper Wilhelmsson
51d5164ca2 Merge 2020-01-16 04:09:50 +01:00
Naoto Sato
1b24cf800f 8174270: Consolidate ICU sources in one location
Reviewed-by: srl, joehw
2020-01-13 08:05:59 -08:00
Ivan Gerasimov
34e36a8c01 8233002: Further enhance datagram socket support
Reviewed-by: alanb, chegar, dfuchs
2019-10-29 09:51:37 -07:00
Ivan Gerasimov
6c16f55fde 8231785: Improved socket permissions
Reviewed-by: ahgross, chegar, mullan, rhalade
2019-10-23 17:03:07 -07:00
Kiran Sidhartha Ravikumar
a1b2e1042c 5064980: URI compareTo inconsistent with equals for mixed-case escape sequences
Reviewed-by: chegar, dfuchs
2019-12-17 16:06:27 +00:00
Daniel Fuchs
3375411e1b 8228548: Normalize normalization for all
Reviewed-by: chegar, rhalade, igerasim
2019-08-08 16:47:55 +01:00
Daniel Fuchs
7135b5dd9c 8235141: Specify the required standard socket options for the socket types in the java.net package
Reviewed-by: alanb, chegar
2019-12-10 13:22:52 +00:00
Patrick Concannon
12e43e216e 8233191: MulticastSocket joinGroup/leaveGroup do not specify their behavior when the outgoing interface has not been set
Clarifies the behaviour of 2-arg joinGroup/leaveGroup methods when null is passed for the NetworkInteface argument. The fix also clarifies what is returned by getInterface() and getNetworkInterface() methods when no previous NetworkInterface has been set.

Reviewed-by: alanb, chegar, dfuchs
2019-12-09 15:54:44 +00:00
Patrick Concannon
22e26b2a81 8234148: DatagramSocket.setOption/getOption/supportedOption should support multicast options
Fix adds multicast socket options to DatagramSocket

Reviewed-by: alanb, dfuchs, vtewari
2019-12-09 14:25:37 +00:00
Julia Boes
3ea25ecdfe 8233319: Deprecate MulticastSocket methods that operate on java.net.InetAddress
Deprecate any method that operates on InetAddress as well as getLoopbackMode and setLoopbackMode

Reviewed-by: chegar, dfuchs, alanb
2019-12-09 12:06:26 +00:00
Alan Bateman
e7d68cd13b 8235193: (dc) Remove JNI overhead from DatagramChannel.send implementation
Reviewed-by: chegar
2019-12-04 16:37:00 +00:00
Ivan Gerasimov
cd589d8469 8234147: Avoid looking up standard charsets in core libraries
Reviewed-by: alanb
2019-12-01 15:29:37 -08:00
Patrick Concannon
55da7d34c9 8233307: MulticastSocket getOption(IP_MULTICAST_IF) returns interface when not set
The MulticastSocket method getOption has been changed to conform to the behavior described in StandardSocketOptions.IP_MULTICAST_IF.

Reviewed-by: chegar, dfuchs
2019-11-28 16:49:52 +00:00
Daniel Fuchs
8333ea85fa 8233296: MulticastSocket getOption/setOption inverts the value of IP_MULTICAST_LOOP
MulticastSocket.getOption(StandardSocketOption.IP_MULTICAST_LOOP) now returns true if loopback mode is enabled, and MulticastSocket.setOption(StandardSocketOption.IP_MULTICAST_LOOP, true) enables loopback mode. No other behavioral changes.

Reviewed-by: alanb, chegar
2019-11-22 11:52:48 +00:00
Julia Boes
a8a2246158 8234335: Remove line break in class declaration in java.base
Remove line break in class declarations where applicable

Reviewed-by: rriggs, lancea
2019-11-21 09:10:21 +00:00
Patrick Concannon
e636c69e61 8234103: DatagramSocketImpl::socket is not needed
DatagramSocketImpl has a socket field that links back to the DatagramSocket. This is only used to figure out whether multicasting is supported or not. This fix replaces it with a boolean isMulticast.

Reviewed-by: alanb, chegar, dfuchs
2019-11-20 10:13:10 +00:00
Daniel Fuchs
be18a54cb1 8233141: DatagramSocket.send doesn't specify exception thrown when no target address
DatagramSocket and MulticastSocket send methods are changed to throw IllegalArgumentException if no target address can be determined.

Reviewed-by: alanb
2019-11-18 16:48:05 +00:00
Alan Bateman
db4909bf99 8232673: (dc) DatagramChannel socket adaptor issues
Reviewed-by: dfuchs, chegar
2019-11-02 10:02:18 +00:00
Julia Boes
012dffcd27 8231632: HttpURLConnection::usingProxy could specify that it may lazily evaluate the fact
Modified method description to disambiguate when false is returned and altered implementation

Reviewed-by: dfuchs, chegar, vtewari
2019-11-01 12:57:01 +00:00
Patrick Concannon
c497b2b066 8231719: Correct contradictions in timeout range descriptions
Clarified verbiage in method descriptions.

Reviewed-by: chegar, dfuchs
2019-10-16 11:12:47 +01:00
Julia Boes
f8440c33d2 8225499: InetSocketAddress::toString not friendly to IPv6 literal addresses
Enclose IPv6 literal in brackets and adjust string format for unresolved addresses

Reviewed-by: dfuchs, chegar
2019-10-17 08:56:06 +01:00
Ivan Gerasimov
463d6e9640 8231859: Extra dash after the exception name in @throws clause of javadoc
Reviewed-by: weijun
2019-10-16 18:47:11 -07:00
Ivan Gerasimov
31afddccae 8230407: SocketPermission and FilePermission action list allows leading comma
Co-authored-by: Chris Hegarty <chris.hegarty@oracle.com>
Reviewed-by: chegar
2019-10-16 14:32:17 -07:00
Henry Jen
8d141f1048 Merge 2019-10-14 21:01:25 +00:00
Patrick Concannon
dcceed10b6 8222829: DatagramSocket.setSoTimeout does not specify IAE when timeout is negative
Clarifies behaviour of setSoTimeout() method when given negative timeout value.

Reviewed-by: alanb, chegar, dfuchs
2019-10-08 15:03:20 +01:00
Patrick Concannon
ee87f2a7a4 8230946: Clarify security manager behaviour of a connected DatagramSocket and DatagramChannel
Update to API, to clarify that packets are dropped in the receive method of non-connected sockets if they fail the security manager checks

Reviewed-by: alanb, chegar, dfuchs
2019-10-08 14:56:46 +01:00