summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorJose <pepone@users.noreply.github.com>2019-09-10 22:03:44 +0200
committerGitHub <noreply@github.com>2019-09-10 22:03:44 +0200
commitc7b9f79e8bb324dd407eba8503c24f7bba012844 (patch)
tree934b4c0938d6145db919f41bb3851af83ee14444 /java
parentDispose the X509Chain with .NET Standard 2.0 - Close #518 (diff)
downloadice-c7b9f79e8bb324dd407eba8503c24f7bba012844.tar.bz2
ice-c7b9f79e8bb324dd407eba8503c24f7bba012844.tar.xz
ice-c7b9f79e8bb324dd407eba8503c24f7bba012844.zip
Fixes for endpoint to string conversion - Close #517 (#519)
Diffstat (limited to 'java')
-rw-r--r--java/src/Ice/src/main/java/com/zeroc/IceInternal/IPEndpointI.java13
-rw-r--r--java/src/Ice/src/main/java/com/zeroc/IceInternal/UdpEndpointI.java12
-rw-r--r--java/test/src/main/java/test/Ice/proxy/AllTests.java6
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("\"\"");