From 9326c95bb6275bf6b683bd0454aa26355acc8fbf Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Tue, 1 Aug 2017 12:24:22 +0200 Subject: catch IllegalArgumentException caused by invalid custom hostname --- src/main/java/de/pixart/messenger/xmpp/XmppConnection.java | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'src/main/java/de/pixart/messenger') diff --git a/src/main/java/de/pixart/messenger/xmpp/XmppConnection.java b/src/main/java/de/pixart/messenger/xmpp/XmppConnection.java index bd47a41d4..67cb15658 100644 --- a/src/main/java/de/pixart/messenger/xmpp/XmppConnection.java +++ b/src/main/java/de/pixart/messenger/xmpp/XmppConnection.java @@ -328,11 +328,9 @@ public class XmppConnection implements Runnable { this.verifiedHostname = account.getHostname(); - InetSocketAddress address = new InetSocketAddress(this.verifiedHostname, account.getPort()); - - features.encryptionEnabled = account.getPort() == 5223; - try { + InetSocketAddress address = new InetSocketAddress(this.verifiedHostname, account.getPort()); + features.encryptionEnabled = address.getPort() == 5223; if (features.encryptionEnabled) { try { final TlsFactoryVerifier tlsFactoryVerifier = getTlsFactoryVerifier(); @@ -345,14 +343,13 @@ public class XmppConnection implements Runnable { throw new StateChangingException(Account.State.TLS_ERROR); } } catch (KeyManagementException e) { - features.encryptionEnabled = false; - localSocket = new Socket(); + throw new StateChangingException(Account.State.TLS_ERROR); } } else { localSocket = new Socket(); localSocket.connect(address, Config.SOCKET_TIMEOUT * 1000); } - } catch (IOException e) { + } catch (IOException | IllegalArgumentException e) { throw new UnknownHostException(); } try { -- cgit v1.2.3