diff options
author | Wilmer van der Gaast <wilmer@gaast.net> | 2017-04-02 19:50:49 +0100 |
---|---|---|
committer | Wilmer van der Gaast <github@wilmer.gaast.net> | 2017-04-06 21:25:08 +0100 |
commit | 60141cfa8c26971ec2258118a661609c7a15d261 (patch) | |
tree | 113517b04ef151c509695f8298c2376258e0d6b6 /irc.c | |
parent | 262a82b875f2a05cdcf2258260c5e8a9e538f405 (diff) |
Add reverse_lookup() function which does a more proper (verified) DNS
reverse lookup. (Code copied from OpenSSH instead of redoing it
poorly.)
Diffstat (limited to 'irc.c')
-rw-r--r-- | irc.c | 14 |
1 files changed, 2 insertions, 12 deletions
@@ -67,21 +67,11 @@ irc_t *irc_new(int fd) if (global.conf->hostname) { myhost = g_strdup(global.conf->hostname); } else if (getsockname(irc->fd, (struct sockaddr*) &sock, &socklen) == 0) { - char buf[NI_MAXHOST + 1]; - - if (getnameinfo((struct sockaddr *) &sock, socklen, buf, - NI_MAXHOST, NULL, 0, 0) == 0) { - myhost = g_strdup(ipv6_unwrap(buf)); - } + myhost = reverse_lookup((struct sockaddr*) &sock, socklen); } if (getpeername(irc->fd, (struct sockaddr*) &sock, &socklen) == 0) { - char buf[NI_MAXHOST + 1]; - - if (getnameinfo((struct sockaddr *) &sock, socklen, buf, - NI_MAXHOST, NULL, 0, 0) == 0) { - host = g_strdup(ipv6_unwrap(buf)); - } + host = reverse_lookup((struct sockaddr*) &sock, socklen); } if (host == NULL) { |