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

Jayashree S Kumar github.com+31532647+jaysk1 at openjdk.java.net
Tue Jan 5 09:48:08 UTC 2021


Issue

https://bugs.openjdk.java.net/browse/JDK-8243376

Problem

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. 


Michael McMahon kindly reviewed and suggested changes: https://mail.openjdk.java.net/pipermail/net-dev/2020-May/014001.html

-------------

Commit messages:
 - Fixed all Whitespace error in testcase
 - Fixed all Whitespace error in testcase
 - Fixed automerge failed conflicts
 - Correct WhiteSpace error
 - Merge branch 'master' of https://github.com/openjdk/jdk into socketperm_implies
 -  Added testcase and corrected WhiteSpace tab error
 - JDK-8243376: java.net.SocketPermission.implies(Permission p) spec is mismatching with implementation

Changes: https://git.openjdk.java.net/jdk/pull/1916/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=1916&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8243376
  Stats: 65 lines in 3 files changed: 47 ins; 10 del; 8 mod
  Patch: https://git.openjdk.java.net/jdk/pull/1916.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/1916/head:pull/1916

PR: https://git.openjdk.java.net/jdk/pull/1916


More information about the net-dev mailing list