From 3305f98d5415ff9be29c8da845e075e3b88dace0 Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Sun, 25 Jun 2023 21:49:49 -0500 Subject: [PATCH] Use libidn for stringprep Which actually validates according to spec instead of just being lazy. For example, this means an invalid MUC nick will actually be caught by the app and reported in the UI rather than trying to send it to the server and giving and obscure message about "nick already taken". --- build.gradle | 1 + .../eu/siacs/conversations/services/XmppConnectionService.java | 1 + 2 files changed, 2 insertions(+) diff --git a/build.gradle b/build.gradle index 3ecc1c14f..d66adefc7 100644 --- a/build.gradle +++ b/build.gradle @@ -64,6 +64,7 @@ dependencies { implementation 'com.otaliastudios:transcoder:0.9.1' implementation 'org.jxmpp:jxmpp-jid:1.0.3' + implementation 'org.jxmpp:jxmpp-stringprep-libidn:1.0.3' implementation 'org.osmdroid:osmdroid-android:6.1.11' implementation 'org.hsluv:hsluv:0.2' implementation 'org.conscrypt:conscrypt-android:2.5.2' diff --git a/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java b/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java index d3722053f..ca9658405 100644 --- a/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java +++ b/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java @@ -1144,6 +1144,7 @@ public boolean hasInternetConnection() { @SuppressLint("TrulyRandom") @Override public void onCreate() { + org.jxmpp.stringprep.libidn.LibIdnXmppStringprep.setup(); if (Compatibility.runsTwentySix()) { mNotificationService.initializeChannels(); }