Index: squid/src/fqdncache.c diff -c squid/src/fqdncache.c:1.149.2.4 squid/src/fqdncache.c:1.149.2.5 *** squid/src/fqdncache.c:1.149.2.4 Sat Dec 6 10:19:37 2003 --- squid/src/fqdncache.c Tue Dec 7 16:40:57 2004 *************** *** 359,364 **** --- 359,365 ---- FqdncacheStats.requests++; if (name == NULL || name[0] == '\0') { debug(35, 4) ("fqdncache_nbgethostbyaddr: Invalid name!\n"); + dns_error_message = "Invalid hostname"; handler(NULL, handlerData); return; } *************** *** 444,451 **** --- 445,454 ---- } else { FqdncacheStats.hits++; f->lastref = squid_curtime; + dns_error_message = f->error_message; return f->names[0]; } + dns_error_message = NULL; /* check if it's already a FQDN address in text form. */ if (!safe_inet_addr(name, &ip)) return name; Index: squid/src/ipcache.c diff -c squid/src/ipcache.c:1.236.2.4 squid/src/ipcache.c:1.236.2.5 *** squid/src/ipcache.c:1.236.2.4 Mon Sep 27 12:17:39 2004 --- squid/src/ipcache.c Tue Dec 7 16:40:57 2004 *************** *** 406,415 **** --- 406,417 ---- IpcacheStats.requests++; if (name == NULL || name[0] == '\0') { debug(14, 4) ("ipcache_nbgethostbyname: Invalid name!\n"); + dns_error_message = "Invalid hostname"; handler(NULL, handlerData); return; } if ((addrs = ipcacheCheckNumeric(name))) { + dns_error_message = NULL; handler(addrs, handlerData); return; } *************** *** 502,511 **** } else { IpcacheStats.hits++; i->lastref = squid_curtime; return &i->addrs; } ! if ((addrs = ipcacheCheckNumeric(name))) return addrs; IpcacheStats.misses++; if (flags & IP_LOOKUP_IF_MISS) ipcache_nbgethostbyname(name, dummy_handler, NULL); --- 504,516 ---- } else { IpcacheStats.hits++; i->lastref = squid_curtime; + dns_error_message = i->error_message; return &i->addrs; } ! dns_error_message = NULL; ! if ((addrs = ipcacheCheckNumeric(name))) { return addrs; + } IpcacheStats.misses++; if (flags & IP_LOOKUP_IF_MISS) ipcache_nbgethostbyname(name, dummy_handler, NULL);