X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/ce5524496cf016f06c8004e00ce9d043f4ac6aff..2fe767453007d1b015f52313d16dc61635085621:/src/src/verify.c diff --git a/src/src/verify.c b/src/src/verify.c index ab7e2756f..f653b6e0d 100644 --- a/src/src/verify.c +++ b/src/src/verify.c @@ -1,10 +1,10 @@ -/* $Cambridge: exim/src/src/verify.c,v 1.52 2008/09/29 11:41:07 nm4 Exp $ */ +/* $Cambridge: exim/src/src/verify.c,v 1.55 2010/06/05 23:50:18 pdp Exp $ */ /************************************************* * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2007 */ +/* Copyright (c) University of Cambridge 1995 - 2009 */ /* See the file NOTICE for conditions of use and distribution. */ /* Functions concerned with verifying things. The original code for callout @@ -893,7 +893,7 @@ va_start(ap, format); if (smtp_out && (f == smtp_out)) smtp_vprintf(format, ap); else - fprintf(f, format, ap); + vfprintf(f, format, ap); va_end(ap); } @@ -2256,7 +2256,7 @@ if (iplookup) } else /* Single-key style */ { - int sep = (Ustrcmp(lookup_list[search_type].name, "iplsearch") == 0)? + int sep = (Ustrcmp(lookup_list[search_type]->name, "iplsearch") == 0)? ':' : '.'; insize = host_aton(cb->host_address, incoming); host_mask(insize, incoming, mlen); @@ -2513,16 +2513,18 @@ return verify_check_this_host(listptr, sender_host_cache, NULL, /************************************************* -* Invert an IP address for a DNS black list * +* Invert an IP address * *************************************************/ -/* +/* Originally just used for DNS xBL lists, now also used for the +reverse_ip expansion operator. + Arguments: buffer where to put the answer address the address to invert */ -static void +void invert_address(uschar *buffer, uschar *address) { int bin[4]; @@ -3036,7 +3038,7 @@ while ((domain = string_nextinlist(&list, &sep, buffer, sizeof(buffer))) != NULL for (s = domain; *s != 0; s++) { - if (!isalnum(*s) && *s != '-' && *s != '.') + if (!isalnum(*s) && *s != '-' && *s != '.' && *s != '_') { log_write(0, LOG_MAIN, "dnslists domain \"%s\" contains " "strange characters - is this right?", domain); @@ -3048,7 +3050,7 @@ while ((domain = string_nextinlist(&list, &sep, buffer, sizeof(buffer))) != NULL if (domain_txt != domain) for (s = domain_txt; *s != 0; s++) { - if (!isalnum(*s) && *s != '-' && *s != '.') + if (!isalnum(*s) && *s != '-' && *s != '.' && *s != '_') { log_write(0, LOG_MAIN, "dnslists domain \"%s\" contains " "strange characters - is this right?", domain_txt);