On Tue, 2010-09-28 at 12:21 +0100, Mike Cardwell wrote:
> I'm guessing it doesn't like the underscore. Is it actually working but
> just giving me a warning message, or is it skipping the check
> altogether? How do I make this work?
I don't think it is working, looking at the code - I *think* that an
"invalid" character breaks out of the check and skips it.
Given that an underscore is now a permissible character in a DNS record
(not a hostname though!) we do need to allow it. Patch for Exim-4.72
follows:
--- verify.c 2010-09-28 12:46:24.000000000 +0100
+++ verify.c.orig 2010-09-28 12:45:50.000000000 +0100
@@ -3036,7 +3036,7 @@
for (s = domain; *s != 0; s++)
{
- if (!isalnum(*s) && *s != '-' && *s != '.' && *s != '_')
+ if (!isalnum(*s) && *s != '-' && *s != '.')
{
log_write(0, LOG_MAIN, "dnslists domain \"%s\" contains "
"strange characters - is this right?", domain);
@@ -3048,7 +3048,7 @@
if (domain_txt != domain) for (s = domain_txt; *s != 0; s++)
{
- if (!isalnum(*s) && *s != '-' && *s != '.' && *s != '_')
+ if (!isalnum(*s) && *s != '-' && *s != '.')
{
log_write(0, LOG_MAIN, "dnslists domain \"%s\" contains "
"strange characters - is this right?", domain_txt);
-------------------------------
Please try that and let us know if it works.
Graeme