diff --git a/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/rce/IpTcpRemoteConnectionEndpoint.java b/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/rce/IpTcpRemoteConnectionEndpoint.java index 5f6a23ad5..63a97230f 100644 --- a/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/rce/IpTcpRemoteConnectionEndpoint.java +++ b/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/rce/IpTcpRemoteConnectionEndpoint.java @@ -19,6 +19,7 @@ package org.jivesoftware.smack.tcp.rce; import java.net.InetAddress; import org.jivesoftware.smack.datatypes.UInt16; +import org.jivesoftware.smack.util.Objects; import org.jivesoftware.smack.util.rce.SingleAddressRemoteConnectionEndpoint; import org.minidns.record.InternetAddressRR; @@ -33,9 +34,9 @@ public final class IpTcpRemoteConnectionEndpoint> from(CharSequence host, UInt16 port, diff --git a/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/rce/RemoteXmppTcpConnectionEndpoints.java b/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/rce/RemoteXmppTcpConnectionEndpoints.java index 6b7da5ccf..71187155b 100644 --- a/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/rce/RemoteXmppTcpConnectionEndpoints.java +++ b/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/rce/RemoteXmppTcpConnectionEndpoints.java @@ -192,8 +192,10 @@ public class RemoteXmppTcpConnectionEndpoints { for (SRV srv : sortedSrvRecords) { List targetInetAddresses = dnsResolver.lookupHostAddress(srv.target, lookupFailures, dnssecMode); - SrvXmppRemoteConnectionEndpoint endpoint = new SrvXmppRemoteConnectionEndpoint(srv, targetInetAddresses); - endpoints.add(endpoint); + if (targetInetAddresses != null) { + SrvXmppRemoteConnectionEndpoint endpoint = new SrvXmppRemoteConnectionEndpoint(srv, targetInetAddresses); + endpoints.add(endpoint); + } } } else { LOGGER.info("Could not resolve DNS SRV resource records for " + srvDomain + ". Consider adding those."); diff --git a/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/rce/SrvRemoteConnectionEndpoint.java b/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/rce/SrvRemoteConnectionEndpoint.java index 980a2396e..7b4a3b984 100644 --- a/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/rce/SrvRemoteConnectionEndpoint.java +++ b/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/rce/SrvRemoteConnectionEndpoint.java @@ -21,6 +21,7 @@ import java.util.Collection; import java.util.List; import org.jivesoftware.smack.datatypes.UInt16; +import org.jivesoftware.smack.util.Objects; import org.jivesoftware.smack.util.rce.RemoteConnectionEndpoint; import org.minidns.record.SRV; @@ -36,7 +37,7 @@ public abstract class SrvRemoteConnectionEndpoint implements RemoteConnectionEnd protected SrvRemoteConnectionEndpoint(SRV srv, List inetAddresses) { this.srv = srv; this.port = UInt16.from(srv.port); - this.inetAddresses = inetAddresses; + this.inetAddresses = Objects.requireNonNull(inetAddresses); } @Override