> On 24 Feb 2015, at 19:27, Seán Coffey <sean.cof...@oracle.com> wrote:
> 
> Thanks for suggested edits Chris. Taken them in. Shouldn't we also keep check 
> for possibility of (p == null) ? After all, we could be dealing with bad 
> proxy selector. I added  checks for null and also updated test case to test 
> for same. It should help preserve behaviour in that area.

Good catch Sean.

> updated webrev : http://cr.openjdk.java.net/~coffeys/webrev.7178362.v2/webrev/

Looks good.

-Chris.


> regards,
> Sean.
> 
>> On 24/02/2015 17:41, Chris Hegarty wrote:
>> Sean,
>> 
>> Thanks for moving this forward. I think it might be possible to simplify 
>> this by flipping the logic, like:
>> 
>> diff --git a/src/java.base/share/classes/java/net/SocksSocketImpl.java 
>> b/src/java.base/share/classes/java/net/SocksSocketImpl.java
>> --- a/src/java.base/share/classes/java/net/SocksSocketImpl.java
>> +++ b/src/java.base/share/classes/java/net/SocksSocketImpl.java
>> @@ -388,14 +388,13 @@
>>              }
>>              while (iProxy.hasNext()) {
>>                  p = iProxy.next();
>> -                if (p == null || p == Proxy.NO_PROXY) {
>> +                if (p.type() != Proxy.Type.SOCKS) {
>>                      super.connect(epoint, remainingMillis(deadlineMillis));
>>                      return;
>>                  }
>> -                if (p.type() != Proxy.Type.SOCKS)
>> -                    throw new SocketException("Unknown proxy type : " + 
>> p.type());
>> +
>>                  if (!(p.address() instanceof InetSocketAddress))
>> -                    throw new SocketException("Unknow address type for 
>> proxy: " + p);
>> +                    throw new SocketException("Unknown address type for 
>> proxy: " + p);
>>                  // Use getHostString() to avoid reverse lookups
>>                  server = ((InetSocketAddress) p.address()).getHostString();
>>                  serverPort = ((InetSocketAddress) p.address()).getPort();
>> @@ -707,13 +706,12 @@
>>              }
>>              while (iProxy.hasNext()) {
>>                  p = iProxy.next();
>> -                if (p == null || p == Proxy.NO_PROXY) {
>> +                if (p.type() != Proxy.Type.SOCKS) {
>>                      return;
>>                  }
>> -                if (p.type() != Proxy.Type.SOCKS)
>> -                    throw new SocketException("Unknown proxy type : " + 
>> p.type());
>> +
>>                  if (!(p.address() instanceof InetSocketAddress))
>> -                    throw new SocketException("Unknow address type for 
>> proxy: " + p);
>> +                    throw new SocketException("Unknown address type for 
>> proxy: " + p);
>>                  // Use getHostString() to avoid reverse lookups
>>                  server = ((InetSocketAddress) p.address()).getHostString();
>>                  serverPort = ((InetSocketAddress) p.address()).getPort();
>> 
>> 
>> -Chris.
>> 
>>> On 24 Feb 2015, at 17:24, Seán Coffey <sean.cof...@oracle.com> wrote:
>>> 
>>> This issue relates to another bug that I own : JDK-8062305
>>> 
>>> It seems to be an area that causes alot of issue (for plugin mainly) and 
>>> the suggestion from Chris in 7178362 bug report to return a direct 
>>> connection type for bad ProxySelector implementations seems appropriate.
>>> 
>>> webrev : http://cr.openjdk.java.net/~coffeys/webrev.7178362/webrev/
>>> bug report : https://bugs.openjdk.java.net/browse/JDK-7178362
>>> 
>>> regards,
>>> Sean.
> 

Reply via email to