From bf8afe0396adb5b67f0f1df7e05beff356c6e5a2 Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Fri, 8 Apr 2022 15:54:53 +0200 Subject: [PATCH] check domain name against DNSName to avoid rare crashes --- .../java/eu/siacs/conversations/ui/EditAccountActivity.java | 1 + src/main/java/eu/siacs/conversations/utils/Resolver.java | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java b/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java index 921756a70..e9c0bce39 100644 --- a/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java @@ -208,6 +208,7 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat jid = Jid.ofEscaped(binding.accountJid.getText().toString(), getUserModeDomain(), null); } else { jid = Jid.ofEscaped(binding.accountJid.getText().toString()); + Resolver.checkDomain(jid); } } catch (final NullPointerException | IllegalArgumentException e) { if (mUsernameMode) { diff --git a/src/main/java/eu/siacs/conversations/utils/Resolver.java b/src/main/java/eu/siacs/conversations/utils/Resolver.java index a3796b253..463d6eb73 100644 --- a/src/main/java/eu/siacs/conversations/utils/Resolver.java +++ b/src/main/java/eu/siacs/conversations/utils/Resolver.java @@ -37,6 +37,7 @@ import de.measite.minidns.record.SRV; import eu.siacs.conversations.Config; import eu.siacs.conversations.R; import eu.siacs.conversations.services.XmppConnectionService; +import eu.siacs.conversations.xmpp.Jid; public class Resolver { @@ -84,6 +85,10 @@ public class Resolver { return Collections.singletonList(result); } + public static void checkDomain(final Jid jid) { + DNSName.from(jid.getDomain()); + } + public static boolean invalidHostname(final String hostname) { try { DNSName.from(hostname);