diff options
author | Jose <pepone@users.noreply.github.com> | 2019-09-10 22:03:44 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-10 22:03:44 +0200 |
commit | c7b9f79e8bb324dd407eba8503c24f7bba012844 (patch) | |
tree | 934b4c0938d6145db919f41bb3851af83ee14444 /java | |
parent | Dispose the X509Chain with .NET Standard 2.0 - Close #518 (diff) | |
download | ice-c7b9f79e8bb324dd407eba8503c24f7bba012844.tar.bz2 ice-c7b9f79e8bb324dd407eba8503c24f7bba012844.tar.xz ice-c7b9f79e8bb324dd407eba8503c24f7bba012844.zip |
Fixes for endpoint to string conversion - Close #517 (#519)
Diffstat (limited to 'java')
3 files changed, 29 insertions, 2 deletions
diff --git a/java/src/Ice/src/main/java/com/zeroc/IceInternal/IPEndpointI.java b/java/src/Ice/src/main/java/com/zeroc/IceInternal/IPEndpointI.java index d1e85306ed4..52ae277ad67 100644 --- a/java/src/Ice/src/main/java/com/zeroc/IceInternal/IPEndpointI.java +++ b/java/src/Ice/src/main/java/com/zeroc/IceInternal/IPEndpointI.java @@ -240,7 +240,18 @@ public abstract class IPEndpointI extends EndpointI if(_sourceAddr != null) { - s += " --sourceAddress " + _sourceAddr.getAddress().getHostAddress(); + String sourceAddr = _sourceAddr.getAddress().getHostAddress(); + s += " --sourceAddress "; + boolean addQuote = sourceAddr.indexOf(':') != -1; + if(addQuote) + { + s += "\""; + } + s += sourceAddr; + if(addQuote) + { + s += "\""; + } } return s; diff --git a/java/src/Ice/src/main/java/com/zeroc/IceInternal/UdpEndpointI.java b/java/src/Ice/src/main/java/com/zeroc/IceInternal/UdpEndpointI.java index 57208654d72..496c8a14e03 100644 --- a/java/src/Ice/src/main/java/com/zeroc/IceInternal/UdpEndpointI.java +++ b/java/src/Ice/src/main/java/com/zeroc/IceInternal/UdpEndpointI.java @@ -223,7 +223,17 @@ final class UdpEndpointI extends IPEndpointI if(_mcastInterface.length() != 0) { - s += " --interface " + _mcastInterface; + s += " --interface "; + boolean addQuote = _mcastInterface.indexOf(':') != -1; + if(addQuote) + { + s += "\""; + } + s += _mcastInterface; + if(addQuote) + { + s += "\""; + } } if(_mcastTtl != -1) diff --git a/java/test/src/main/java/test/Ice/proxy/AllTests.java b/java/test/src/main/java/test/Ice/proxy/AllTests.java index 96d56eee8cd..4e2b976d943 100644 --- a/java/test/src/main/java/test/Ice/proxy/AllTests.java +++ b/java/test/src/main/java/test/Ice/proxy/AllTests.java @@ -108,6 +108,12 @@ public class AllTests test(b1.ice_getIdentity().name.equals("test") && b1.ice_getIdentity().category.equals("category") && b1.ice_getAdapterId().length() == 0); + b1 = communicator.stringToProxy("test:tcp --sourceAddress \"::1\""); + test(b1.equals(communicator.stringToProxy(b1.toString()))); + + b1 = communicator.stringToProxy("test:udp --sourceAddress \"::1\" --interface \"0:0:0:0:0:0:0:1%lo\""); + test(b1.equals(communicator.stringToProxy(b1.toString()))); + b1 = communicator.stringToProxy(""); test(b1 == null); b1 = communicator.stringToProxy("\"\""); |