Change summary
src/main/java/eu/siacs/conversations/xmpp/Jid.java | 2
src/test/java/eu/siacs/conversations/xmpp/JidTest.java | 16 ++++++++++++
2 files changed, 17 insertions(+), 1 deletion(-)
Detailed changes
@@ -15,7 +15,7 @@ public abstract class Jid implements Comparable<Jid>, Serializable, CharSequence
private static final Pattern HOSTNAME_PATTERN =
Pattern.compile(
- "^(?=.{1,253}$)(?=.{1,253}$)(?!-)(?!.*--)(?!.*-$)[A-Za-z0-9-]+(?:\\.[A-Za-z0-9-]+)*$");
+ "^(?=.{1,253}$)(?!-)[\\p{L}\\p{N}](?:[\\p{L}\\p{N}-]{0,61}[\\p{L}\\p{N}])?(?:\\.(?!-)[\\p{L}\\p{N}](?:[\\p{L}\\p{N}-]{0,61}[\\p{L}\\p{N}])?)*\\.?$");
public static Jid of(
final CharSequence local, final CharSequence domain, final CharSequence resource) {
@@ -0,0 +1,16 @@
+package eu.siacs.conversations.xmpp;
+
+import org.junit.Test;
+
+public class JidTest {
+
+ @Test
+ public void testDoubleDash() {
+ Jid.ofUserInput("user@a--z.com");
+ }
+
+ @Test
+ public void testUnicode() {
+ Jid.ofUserInput("test@գծոոոց.հայ");
+ }
+}