diff options
author | defanor <defanor@uberspace.net> | 2022-01-10 16:32:02 +0300 |
---|---|---|
committer | defanor <defanor@uberspace.net> | 2022-01-10 16:32:02 +0300 |
commit | 7893dabd6ff65a7d69ecc586e6bbab2688505239 (patch) | |
tree | 3fe576a94034814fbdf758ea66dab7289655c13e | |
parent | e815865399bd6c72cff74c7ca485d40abacc693e (diff) |
Check in rexmpp_tcp_connected whether DNS records are resolved
They may not be if an IP address is used instead of a hostname.
-rw-r--r-- | src/rexmpp_tcp.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/rexmpp_tcp.c b/src/rexmpp_tcp.c index 13e6e81..3022182 100644 --- a/src/rexmpp_tcp.c +++ b/src/rexmpp_tcp.c @@ -89,9 +89,9 @@ rexmpp_tcp_connected (rexmpp_tcp_conn_t *conn, int fd) { struct sockaddr sa; socklen_t sa_len = sizeof(sa); getsockname(fd, &sa, &sa_len); - if (sa.sa_family == AF_INET) { + if (sa.sa_family == AF_INET && conn->resolved_v4 != NULL) { conn->dns_secure = conn->resolved_v4->secure; - } else { + } else if (sa.sa_family == AF_INET6 && conn->resolved_v6 != NULL) { conn->dns_secure = conn->resolved_v6->secure; } conn->fd = fd; |