diff options
Diffstat (limited to 'src/main/java/eu/siacs/conversations/xmpp/jid/Jid.java')
-rw-r--r-- | src/main/java/eu/siacs/conversations/xmpp/jid/Jid.java | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/main/java/eu/siacs/conversations/xmpp/jid/Jid.java b/src/main/java/eu/siacs/conversations/xmpp/jid/Jid.java index 3ad3015d..ebf8a6ed 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/jid/Jid.java +++ b/src/main/java/eu/siacs/conversations/xmpp/jid/Jid.java @@ -108,15 +108,16 @@ public final class Jid { if (resourcepart.isEmpty() || resourcepart.length() > 1023) { throw new InvalidJidException(InvalidJidException.INVALID_PART_LENGTH); } - dp = jid.substring(domainpartStart, slashLoc); + dp = IDN.toUnicode(jid.substring(domainpartStart, slashLoc), IDN.USE_STD3_ASCII_RULES); finaljid = finaljid + dp + "/" + rp; } else { resourcepart = ""; - dp = jid.substring(domainpartStart, jid.length()); + dp = IDN.toUnicode(jid.substring(domainpartStart, jid.length()), + IDN.USE_STD3_ASCII_RULES); finaljid = finaljid + dp; } - // Remove trailling "." before storing the domain part. + // Remove trailing "." before storing the domain part. if (dp.endsWith(".")) { try { domainpart = IDN.toASCII(dp.substring(0, dp.length() - 1), IDN.USE_STD3_ASCII_RULES); |