RFR: 8243376 java.net.SocketPermission.implies(Permission p) spec is mismatching with implementation

Jayashree Sk1 jayashreesk at in.ibm.com
Thu May 21 08:35:10 UTC 2020


Hello,

Please review the fix and Jtreg testcase to the following issue:
https://bugs.openjdk.java.net/browse/JDK-8243376

The proposed changeset is hosted at:
http://cr.openjdk.java.net/~vtewari/8243376/webrev/index.html

The scenario is: 
- Some specified target hostname resolves to two IP addresses (always the same address pair). 
- The DNS resolved order of the two ip addresses changes (a usual LoadBalancer type behavior). 
- The CNAME of the two ip addresses differ. 

In SocketPermission class(void getIP() method), it internally resolves and saves only the first IP address resolved, not all the IP addresses resolved. 
- Depending on when the implier/implied SocketPermission hostname is resolved, the resolved addresses order differs, and the internally saved IP address mismatches, resulting on SocketPermission#implies() false. 

So the fix is to: 
Pass all the IP addresses of the specified target instead of just saving the first IP.   

Thanks
Jay
 



More information about the net-dev mailing list