summaryrefslogtreecommitdiff
path: root/java-compat
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-compat
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-compat')
-rw-r--r--java-compat/src/Ice/src/main/java/IceInternal/IPEndpointI.java13
-rw-r--r--java-compat/src/Ice/src/main/java/IceInternal/UdpEndpointI.java12
-rw-r--r--java-compat/test/src/main/java/test/Ice/proxy/AllTests.java6
3 files changed, 29 insertions, 2 deletions
diff --git a/java-compat/src/Ice/src/main/java/IceInternal/IPEndpointI.java b/java-compat/src/Ice/src/main/java/IceInternal/IPEndpointI.java
index af0dd54233e..c669fc8ddf2 100644
--- a/java-compat/src/Ice/src/main/java/IceInternal/IPEndpointI.java
+++ b/java-compat/src/Ice/src/main/java/IceInternal/IPEndpointI.java
@@ -236,7 +236,18 @@ public abstract class IPEndpointI extends EndpointI
if(_sourceAddr != null)
{
- s += " --sourceAddress " + _sourceAddr.getAddress().getHostAddress();
+ String sourceAddr = _sourceAddr.getAddress().getHostAddress();
+ boolean addQuote = sourceAddr.indexOf(':') != -1;
+ s += " --sourceAddress ";
+ if(addQuote)
+ {
+ s += "\"";
+ }
+ s += sourceAddr;
+ if(addQuote)
+ {
+ s += "\"";
+ }
}
return s;
diff --git a/java-compat/src/Ice/src/main/java/IceInternal/UdpEndpointI.java b/java-compat/src/Ice/src/main/java/IceInternal/UdpEndpointI.java
index bfe641aeb6c..e4fcd56c842 100644
--- a/java-compat/src/Ice/src/main/java/IceInternal/UdpEndpointI.java
+++ b/java-compat/src/Ice/src/main/java/IceInternal/UdpEndpointI.java
@@ -221,7 +221,17 @@ final class UdpEndpointI extends IPEndpointI
if(_mcastInterface.length() != 0)
{
- s += " --interface " + _mcastInterface;
+ boolean addQuote = _mcastInterface.indexOf(':') != -1;
+ s += " --interface ";
+ if(addQuote)
+ {
+ s += "\"";
+ }
+ s += _mcastInterface;
+ if(addQuote)
+ {
+ s += "\"";
+ }
}
if(_mcastTtl != -1)
diff --git a/java-compat/test/src/main/java/test/Ice/proxy/AllTests.java b/java-compat/test/src/main/java/test/Ice/proxy/AllTests.java
index 64e1f427af8..b424ceabea1 100644
--- a/java-compat/test/src/main/java/test/Ice/proxy/AllTests.java
+++ b/java-compat/test/src/main/java/test/Ice/proxy/AllTests.java
@@ -105,6 +105,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("\"\"");