Hi,

I've updated the fix for JDK-8230946 <https://bugs.openjdk.java.net/browse/JDK-8230946>with the feedback received here and from the CSR (JDK-8231305 <https://bugs.openjdk.java.net/browse/JDK-8231305>). The new webrev can be found below:
http://cr.openjdk.java.net/~pconcannon/8230946/webrevs/webrev.04/


Kind regards,

Patrick

On 30/09/2019 16:45, Chris Hegarty wrote:

On 30/09/2019 15:27, Alan Bateman wrote:
On 30/09/2019 15:10, Patrick Concannon wrote:
Hi Alan,


A new issue has been created as requested, and can be found here: https://bugs.openjdk.java.net/browse/JDK-8231570
In JDK-8231570, I think Chris is concerned that a custom SM will observe, and may prevent, send/receive from binding where as an implicit bind by connect is not observed by the SM. It will not be wrong for the binding in connect to go through the SM too.

One could reasonably write a test that connects an unbound channel, and expect that SM::checkListen is invoked.

My intention was to use 8231570, in part, to examine the` @throws SecurityException` for receive. ( as well as what was mentioned above )


The related issue that we touched on here is that DatagramChannel.receive does not specify that it discards datagrams when denied by the SM. I think we will need to adjust the wording for the SecurityException.

DatagramChannel::receive has the following @throws:

     * @throws  SecurityException
     *          If a security manager has been installed
     *          and it does not permit datagrams to be accepted
     *          from the datagram's sender

This is incorrect.

The specification should say that denied datagram packets will be discarded **.

The only possible "fix" here, ignoring implicit bind since that will be handled by 8231570, is to remove the @throws ( as well as adding some spec verbiage, which is already implicit through the link to DatagramSocket ). But it might be prudent to not remove @throws yet, given 8231570 is still unresolved. 8231570 can be used to "fix" the @throws, to either 1) remove it, or 2) modify it to say that the bind may throw.

I don't have a strong opinion either way which JIRA issue is used for which parts of the change, just that the changes happen without removing and re-adding an @throws

-Chris.

** If registered with a selector for OP_READ, after waking up that selector then discarding the datagram.

Reply via email to