From: Philip Hazel Date: Tue, 14 Feb 2006 16:18:14 +0000 (+0000) Subject: Allow slashes in the dns_check_names_pattern default value. X-Git-Tag: exim-4_61~52 X-Git-Url: https://vcs.fsf.org/?p=exim.git;a=commitdiff_plain;h=230205fc0acfc71dff9ce42fb20d2caba82fbd36 Allow slashes in the dns_check_names_pattern default value. --- diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog index 5d645ab0c..7ffb39b8b 100644 --- a/doc/doc-txt/ChangeLog +++ b/doc/doc-txt/ChangeLog @@ -1,4 +1,4 @@ -$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.302 2006/02/14 15:56:43 ph10 Exp $ +$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.303 2006/02/14 16:18:14 ph10 Exp $ Change log file for Exim from version 4.21 ------------------------------------------- @@ -176,6 +176,11 @@ PH/34 Omit spaces between a header name and the colon in the error message that is given when verify = headers_syntax fails (if there are lots of them, the message gets confusing). +PH/35 Change the default for dns_check_names_pattern to allow slashes within + names, as there are now some PTR records that contain slashes. This check + is only to protect against broken name servers that fall over on strange + characters, so the fact that it applies to all lookups doesn't matter. + Exim version 4.60 ----------------- diff --git a/doc/doc-txt/NewStuff b/doc/doc-txt/NewStuff index fdccff410..5d3d87b7e 100644 --- a/doc/doc-txt/NewStuff +++ b/doc/doc-txt/NewStuff @@ -1,4 +1,4 @@ -$Cambridge: exim/doc/doc-txt/NewStuff,v 1.85 2006/02/14 14:55:37 ph10 Exp $ +$Cambridge: exim/doc/doc-txt/NewStuff,v 1.86 2006/02/14 16:18:14 ph10 Exp $ New Features in Exim -------------------- @@ -55,6 +55,12 @@ PH/07 There is a new log selector called sender_verify_fail, which is set by of SMTP commands (e.g. RCPT) contain just "sender verify failed", so some detail is lost. +PH/08 The default for dns_check_names_pattern now allows slashes within names, + as there are now some PTR records that contain slashes. This check is + only to protect against broken name servers that fall over on strange + characters, so the fact that it applies to all lookups doesn't matter. + + Version 4.60 ------------ diff --git a/src/src/globals.c b/src/src/globals.c index 4031fa2d3..5dc7ccd37 100644 --- a/src/src/globals.c +++ b/src/src/globals.c @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/src/globals.c,v 1.49 2006/02/14 14:55:37 ph10 Exp $ */ +/* $Cambridge: exim/src/src/globals.c,v 1.50 2006/02/14 16:18:14 ph10 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * @@ -370,7 +370,7 @@ int callout_cache_domain_negative_expire = 3*60*60; int callout_cache_positive_expire = 24*60*60; int callout_cache_negative_expire = 2*60*60; uschar *callout_random_local_part = US"$primary_hostname-$tod_epoch-testing"; -uschar *check_dns_names_pattern= US"(?i)^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$"; +uschar *check_dns_names_pattern= US"(?i)^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9/-]*[^\\W_])?)+$"; int check_log_inodes = 0; int check_log_space = 0; BOOL check_rfc2047_length = TRUE; diff --git a/test/dnszones-src/db.test.ex b/test/dnszones-src/db.test.ex index 2e2865eb4..bf0c2092c 100644 --- a/test/dnszones-src/db.test.ex +++ b/test/dnszones-src/db.test.ex @@ -1,4 +1,4 @@ -; $Cambridge: exim/test/dnszones-src/db.test.ex,v 1.1 2006/02/06 16:22:56 ph10 Exp $ +; $Cambridge: exim/test/dnszones-src/db.test.ex,v 1.2 2006/02/14 16:18:14 ph10 Exp $ ; This is a testing zone file for use when testing DNS handling in Exim. This ; is a fake zone of no real use - hence no SOA record. The zone name is @@ -21,6 +21,7 @@ test.ex. NS exim.test.ex. test.ex. TXT "A TXT record for test.ex." +s/lash TXT "A TXT record for s/lash.test.ex." cname CNAME test.ex. diff --git a/test/scripts/2200-dnsdb/2200 b/test/scripts/2200-dnsdb/2200 index ccb326c2b..1277b9ca6 100644 --- a/test/scripts/2200-dnsdb/2200 +++ b/test/scripts/2200-dnsdb/2200 @@ -2,6 +2,7 @@ exim -be test.ex ${lookup dnsdb{test.ex}{$value}fail} +s/lash.test.ex ${lookup dnsdb{s/lash.test.ex}{$value}fail} txt=test.ex ${lookup dnsdb{txt=test.ex}{$value}fail} a=black-1.test.ex ${lookup dnsdb{a=black-1.test.ex}{$value}fail} xxx=test.ex ${lookup dnsdb{xxx=test.ex}{$value}fail} diff --git a/test/stdout/2200 b/test/stdout/2200 index bce322f54..5d0b397bd 100644 --- a/test/stdout/2200 +++ b/test/stdout/2200 @@ -1,4 +1,5 @@ > test.ex A TXT record for test.ex. +> s/lash.test.ex A TXT record for s/lash.test.ex. > txt=test.ex A TXT record for test.ex. > a=black-1.test.ex V4NET.11.12.13 > Failed: lookup of "xxx=test.ex" gave DEFER: unsupported DNS record type