diff options
| author | slewis | 2005-05-31 21:38:03 +0000 |
|---|---|---|
| committer | slewis | 2005-05-31 21:38:03 +0000 |
| commit | b5ffa442c0a68b4e5302efb524c60f4567ce16d9 (patch) | |
| tree | c8744a145f3287845e8654dd73ca8dc72da2b15a | |
| parent | 82f5f06dbad96686dfeae08c885eceb91fe82a66 (diff) | |
| download | org.eclipse.ecf-b5ffa442c0a68b4e5302efb524c60f4567ce16d9.tar.gz org.eclipse.ecf-b5ffa442c0a68b4e5302efb524c60f4567ce16d9.tar.xz org.eclipse.ecf-b5ffa442c0a68b4e5302efb524c60f4567ce16d9.zip | |
Fixed bug 90428
| -rw-r--r-- | providers/bundles/org.eclipse.ecf.provider.xmpp/src/org/eclipse/ecf/provider/xmpp/identity/XMPPID.java | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/providers/bundles/org.eclipse.ecf.provider.xmpp/src/org/eclipse/ecf/provider/xmpp/identity/XMPPID.java b/providers/bundles/org.eclipse.ecf.provider.xmpp/src/org/eclipse/ecf/provider/xmpp/identity/XMPPID.java index 3494109bb..77455fb12 100644 --- a/providers/bundles/org.eclipse.ecf.provider.xmpp/src/org/eclipse/ecf/provider/xmpp/identity/XMPPID.java +++ b/providers/bundles/org.eclipse.ecf.provider.xmpp/src/org/eclipse/ecf/provider/xmpp/identity/XMPPID.java @@ -15,8 +15,14 @@ public class XMPPID extends BaseID { URI uri; + protected static String fixEscape(String src) { + if (src == null) return null; + return src.replaceAll("%","%25"); + } + protected XMPPID(Namespace namespace, String username, String host, String query) throws URISyntaxException { super(namespace); + username = fixEscape(username); uri = new URI(PROTOCOL+":"+username+ADDRESS_SEPARATOR+host+((query==null)?"":("?"+query))); } protected XMPPID(Namespace namespace, String username, String host) throws URISyntaxException { @@ -24,6 +30,7 @@ public class XMPPID extends BaseID { } protected XMPPID(Namespace namespace, String unamehost) throws URISyntaxException { super(namespace); + unamehost = fixEscape(unamehost); uri = new URI(PROTOCOL+":"+unamehost); } protected int namespaceCompareTo(BaseID o) { |
