diff --git a/exec/load/ircd/unregistered.js b/exec/load/ircd/unregistered.js index 08cf95e8c3c59bd0c23c82ed42b41e9b95d23109..f9c40be5c12bf20cddb93bae6a794f73b08cfdf3 100644 --- a/exec/load/ircd/unregistered.js +++ b/exec/load/ircd/unregistered.js @@ -96,14 +96,14 @@ function Unregistered_Client(id,socket) { log(LOG_DEBUG,format("[UNREG] WARNING: Received extraneous RDNS reply.")); return false; } - log(LOG_DEBUG,format("[UNREG] Received RDNS reply: %s", resp[0])); - if (resp[0] === undefined) { + if ((resp === undefined) || (resp === null) || (resp[0] === undefined)) { /* Fall through */ } else if (resp[0].search(/[.]/) == -1 || resp[0].search(/[.]local$/i) > -1) { + log(LOG_DEBUG,format("[UNREG] Local network detected, using servername."); this.hostname = ServerName; } else { this.hostname = resp[0]; - log(LOG_DEBUG,format("[UNREG] Resolving hostname: %s", resp[0])); + log(LOG_DEBUG,format("[UNREG] Resolving RDNS reply: %s", resp[0])); if (this.socket.family == PF_INET6) { DNS_Resolver.resolveIPv6(resp[0], this.forward_resolver, this); } else { @@ -124,9 +124,14 @@ function Unregistered_Client(id,socket) { log(LOG_DEBUG,format("[UNREG] WARNING: Received extraneous DNS reply.")); return false; } - log(LOG_DEBUG,format("[UNREG] Received DNS reply: %s", resp[0])); - if ((resp[0] === undefined) || (resp[0] != this.ip)) { + if ((resp === undefined) || (resp === null)) { + log(LOG_DEBUG,format("[UNREG] DNS reply timed out."); this.hostname = this.ip; + } else { + log(LOG_DEBUG,format("[UNREG] Received DNS reply: %s", resp[0])); + if ((resp[0] === undefined) || (resp[0] != this.ip)) { + this.hostname = this.ip; + } } this.dns_pending = false; this.Unregistered_Check_User_Registration();