If DNS lookup fails, do not check blank hostname for @sitelock
authorstartrekkin.net <startrekkin@bender.theari.com>
Mon, 17 Aug 2015 20:33:14 +0000 (16:33 -0400)
committerAri Johnson <ari@theari.com>
Mon, 17 Aug 2015 21:12:16 +0000 (17:12 -0400)
src/bsd.c

index 5926ad6279fb751bf503c3829b7aae0ca6e22da9..e260e9909aba2c0ba205b117bf75da0ce49c7733 100644 (file)
--- a/src/bsd.c
+++ b/src/bsd.c
@@ -1255,7 +1255,7 @@ new_connection(int oldsock, int *result, int use_ssl)
   hi = hostname_convert(&addr.addr, addr_len);
   safe_str(hi ? hi->hostname : "", tbuf1, &bp);
   *bp = '\0';
-  if (Forbidden_Site(tbuf1) || Forbidden_Site(tbuf2)) {
+  if ((*tbuf1 && Forbidden_Site(tbuf1)) || Forbidden_Site(tbuf2)) {
     if (!Deny_Silent_Site(tbuf1, AMBIGUOUS)
        || !Deny_Silent_Site(tbuf2, AMBIGUOUS)) {
       do_log(LT_CONN, 0, 0, "[%d/%s/%s] %s (%s %s)", newsock, tbuf1, tbuf2,
@@ -2076,8 +2076,11 @@ reap_info_slave(void)
     if ((bp2 = strchr(buf, '^'))) {
       *bp2++ = '\0';
       /* buf is ip addr, bp is local port^ident info */
-      if ((bp = strchr(bp2, '^')))
+      if ((bp = strchr(bp2, '^'))) {
        *bp++ = '\0';
+        if (!*bp)
+          bp = NULL;
+      }
     }
     /* Now, either buf = ipaddr, bp2 = port, bp = ident info,
      * or buf = ipaddr, bp2 = port