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 cb37bde3..c40fa0b6 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/jid/Jid.java +++ b/src/main/java/eu/siacs/conversations/xmpp/jid/Jid.java @@ -70,10 +70,9 @@ public final class Jid { } // Go ahead and check if the localpart or resourcepart is empty. - if (jid.startsWith("@") || jid.endsWith("@") || - jid.startsWith("/") || jid.endsWith("/")) { + if (jid.startsWith("@") || (jid.endsWith("@") && slashCount == 0) || jid.startsWith("/") || (jid.endsWith("/") && slashCount < 2)) { throw new InvalidJidException(InvalidJidException.INVALID_CHARACTER); - } + } String finaljid;