ph10 2007/06/14 15:18:20 BST
Modified files:
exim-doc/doc-txt ChangeLog NewStuff
exim-src ACKNOWLEDGMENTS
exim-src/src expand.c globals.c globals.h verify.c
exim-test/confs 0023 0139
exim-test/mail 0139.userx
exim-test/stderr 0139
exim-test/stdout 0023
Log:
Added $dnslist_matched.
Revision Changes Path
1.512 +2 -0 exim/exim-doc/doc-txt/ChangeLog
1.148 +18 -1 exim/exim-doc/doc-txt/NewStuff
1.77 +2 -1 exim/exim-src/ACKNOWLEDGMENTS
1.86 +1 -0 exim/exim-src/src/expand.c
1.73 +1 -0 exim/exim-src/src/globals.c
1.54 +1 -0 exim/exim-src/src/globals.h
1.51 +2 -0 exim/exim-src/src/verify.c
1.5 +1 -0 exim/exim-test/confs/0023
1.4 +2 -2 exim/exim-test/confs/0139
1.2 +2 -2 exim/exim-test/mail/0139.userx
1.4 +2 -2 exim/exim-test/stderr/0139
1.4 +2 -0 exim/exim-test/stdout/0023
Index: ChangeLog
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
retrieving revision 1.511
retrieving revision 1.512
diff -u -r1.511 -r1.512
--- ChangeLog 14 Jun 2007 13:27:11 -0000 1.511
+++ ChangeLog 14 Jun 2007 14:18:19 -0000 1.512
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.511 2007/06/14 13:27:11 ph10 Exp $
+$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.512 2007/06/14 14:18:19 ph10 Exp $
Change log file for Exim from version 4.21
-------------------------------------------
@@ -47,6 +47,8 @@
PH/03 The body_linecount and body_zerocount variables are now exported in the
local_scan API.
+
+PH/04 Added the $dnslist_matched variable.
Exim version 4.67
Index: NewStuff
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/NewStuff,v
retrieving revision 1.147
retrieving revision 1.148
diff -u -r1.147 -r1.148
--- NewStuff 14 Jun 2007 13:27:11 -0000 1.147
+++ NewStuff 14 Jun 2007 14:18:19 -0000 1.148
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/NewStuff,v 1.147 2007/06/14 13:27:11 ph10 Exp $
+$Cambridge: exim/exim-doc/doc-txt/NewStuff,v 1.148 2007/06/14 14:18:19 ph10 Exp $
New Features in Exim
--------------------
@@ -14,6 +14,23 @@
1. The body_linecount and body_zerocount C variables are now exported in the
local_scan API.
+ 2. When a dnslists lookup succeeds, the key that was looked up is now placed
+ in $dnslist_matched. When the key is an IP address, it is not reversed in
+ this variable (though it is, of course, in the actual lookup). In simple
+ cases, for example:
+
+ deny dnslists = spamhaus.example
+
+ the key is also available in another variable (in this case,
+ $sender_host_address). In more complicated cases, however, this is not
+ true. For example, using a data lookup might generate a dnslists lookup
+ like this:
+
+ deny dnslists = spamhaus.example/<|192.168.1.2|192.168.6.7|...
+
+ If this condition succeeds, the value in $dnslist_matched might be
+ 192.168.6.7 (for example).
+
Version 4.67
------------
@@ -26,7 +43,7 @@
2. When an item in a dnslists list is followed by = and & and a list of IP
addresses, the behaviour was not clear when the lookup returned more than
one IP address. This has been solved by the addition of == and =& for "all"
- rather than the defaule "any" matching.
+ rather than the default "any" matching.
3. Up till now, the only control over which cipher suites GnuTLS uses has been
for the cipher algorithms. New options have been added to allow some of the
Index: ACKNOWLEDGMENTS
===================================================================
RCS file: /home/cvs/exim/exim-src/ACKNOWLEDGMENTS,v
retrieving revision 1.76
retrieving revision 1.77
diff -u -r1.76 -r1.77
--- ACKNOWLEDGMENTS 13 Mar 2007 11:06:48 -0000 1.76
+++ ACKNOWLEDGMENTS 14 Jun 2007 14:18:19 -0000 1.77
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-src/ACKNOWLEDGMENTS,v 1.76 2007/03/13 11:06:48 ph10 Exp $
+$Cambridge: exim/exim-src/ACKNOWLEDGMENTS,v 1.77 2007/06/14 14:18:19 ph10 Exp $
EXIM ACKNOWLEDGEMENTS
@@ -20,7 +20,7 @@
Philip Hazel
Lists created: 20 November 2002
-Last updated: 13 March 2007
+Last updated: 14 June 2007
THE OLD LIST
@@ -67,6 +67,7 @@
Alexander Alekseev Use of function attribute checks in gcc
Justo Alonso Suggested patch for maildir++ maildirsize file support
Anton Altaparmakov Patches to get cyrus_sasl fully working
+Simon Arlott Patch for $dnslist_matched.
Claus Assmann Example code for OpenSSL CRL support
Robert Bannocks Patch for LDAP reference problem on Solaris
Ian Bell Analysis of a bug and an infelicity in clock tick code
Index: expand.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/expand.c,v
retrieving revision 1.85
retrieving revision 1.86
diff -u -r1.85 -r1.86
--- expand.c 11 May 2007 08:48:31 -0000 1.85
+++ expand.c 14 Jun 2007 14:18:19 -0000 1.86
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/expand.c,v 1.85 2007/05/11 08:48:31 tom Exp $ */
+/* $Cambridge: exim/exim-src/src/expand.c,v 1.86 2007/06/14 14:18:19 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -414,6 +414,7 @@
{ "dk_testing", vtype_dk_verify, NULL },
#endif
{ "dnslist_domain", vtype_stringptr, &dnslist_domain },
+ { "dnslist_matched", vtype_stringptr, &dnslist_matched },
{ "dnslist_text", vtype_stringptr, &dnslist_text },
{ "dnslist_value", vtype_stringptr, &dnslist_value },
{ "domain", vtype_stringptr, &deliver_domain },
Index: globals.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/globals.c,v
retrieving revision 1.72
retrieving revision 1.73
diff -u -r1.72 -r1.73
--- globals.c 13 Apr 2007 15:13:47 -0000 1.72
+++ globals.c 14 Jun 2007 14:18:19 -0000 1.73
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/globals.c,v 1.72 2007/04/13 15:13:47 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/globals.c,v 1.73 2007/06/14 14:18:19 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -521,6 +521,7 @@
int dns_retrans = 0;
int dns_retry = 0;
uschar *dnslist_domain = NULL;
+uschar *dnslist_matched = NULL;
uschar *dnslist_text = NULL;
uschar *dnslist_value = NULL;
tree_node *domainlist_anchor = NULL;
Index: globals.h
===================================================================
RCS file: /home/cvs/exim/exim-src/src/globals.h,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -r1.53 -r1.54
--- globals.h 14 Jun 2007 13:27:11 -0000 1.53
+++ globals.h 14 Jun 2007 14:18:19 -0000 1.54
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/globals.h,v 1.53 2007/06/14 13:27:11 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/globals.h,v 1.54 2007/06/14 14:18:19 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -298,6 +298,7 @@
extern int dns_retrans; /* Retransmission time setting */
extern int dns_retry; /* Number of retries */
extern uschar *dnslist_domain; /* DNS (black) list domain */
+extern uschar *dnslist_matched; /* DNS (black) list matched key */
extern uschar *dnslist_text; /* DNS (black) list text message */
extern uschar *dnslist_value; /* DNS (black) list IP address */
extern tree_node *domainlist_anchor; /* Tree of defined domain lists */
Index: verify.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/verify.c,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -r1.50 -r1.51
--- verify.c 8 May 2007 13:08:22 -0000 1.50
+++ verify.c 14 Jun 2007 14:18:19 -0000 1.51
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/verify.c,v 1.50 2007/05/08 13:08:22 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/verify.c,v 1.51 2007/06/14 14:18:19 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -3031,6 +3031,7 @@
if (rc == OK)
{
dnslist_domain = string_copy(domain_txt);
+ dnslist_matched = string_copy(sender_host_address);
HDEBUG(D_dnsbl) debug_printf("=> that means %s is listed at %s\n",
sender_host_address, dnslist_domain);
}
@@ -3065,6 +3066,7 @@
if (rc == OK)
{
dnslist_domain = string_copy(domain_txt);
+ dnslist_matched = string_copy(keydomain);
HDEBUG(D_dnsbl) debug_printf("=> that means %s is listed at %s\n",
keydomain, dnslist_domain);
return OK;
Index: 0023
===================================================================
RCS file: /home/cvs/exim/exim-test/confs/0023,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- 0023 14 Feb 2007 15:33:40 -0000 1.4
+++ 0023 14 Jun 2007 14:18:19 -0000 1.5
@@ -156,6 +156,7 @@
acl_30_30_30:
deny message = domain=$dnslist_domain\n\
value=$dnslist_value\n\
+ matched=$dnslist_matched\n\
text="$dnslist_text"
dnslists = test.ex=V4NET.0.0.1,127.0.0.2/$sender_address_domain
accept
Index: 0139
===================================================================
RCS file: /home/cvs/exim/exim-test/confs/0139,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- 0139 17 Jan 2007 11:17:59 -0000 1.3
+++ 0139 14 Jun 2007 14:18:19 -0000 1.4
@@ -41,9 +41,9 @@
warn dnslists = rbl4.test.ex&0.0.0.6
warn dnslists = rbl4.test.ex&127.0.0.3
warn dnslists = rbl4.test.ex!&0.0.0.7
- add_header = DNSlist: $dnslist_domain $dnslist_text
+ add_header = DNSlist: $dnslist_domain $dnslist_text $dnslist_matched
warn dnslists = rbl5.test.ex,rbl4.test.ex=127.0.0.128
- add_header = DNSlist: $dnslist_domain $dnslist_text
+ add_header = DNSlist: $dnslist_domain $dnslist_text $dnslist_matched
accept
check_recipient:
Index: 0139.userx
===================================================================
RCS file: /home/cvs/exim/exim-test/mail/0139.userx,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- 0139.userx 3 Oct 2006 15:11:22 -0000 1.1
+++ 0139.userx 14 Jun 2007 14:18:20 -0000 1.2
@@ -7,8 +7,8 @@
(envelope-from <postmaster@???>)
id 10HmaX-0005vi-00
for userx@???; Tue, 2 Mar 1999 09:44:33 +0000
-DNSlist: rbl4.test.ex This is a test blacklisting4 message
-DNSlist: rbl5.test.ex This is a test blacklisting5 message
+DNSlist: rbl4.test.ex This is a test blacklisting4 message V4NET.11.12.22
+DNSlist: rbl5.test.ex This is a test blacklisting5 message V4NET.11.12.22
test data
Index: 0139
===================================================================
RCS file: /home/cvs/exim/exim-test/stderr/0139,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- 0139 17 Jan 2007 11:17:59 -0000 1.3
+++ 0139 14 Jun 2007 14:18:20 -0000 1.4
@@ -205,8 +205,8 @@
>>> using result of previous DNS lookup
>>> DNS lookup for 20.12.11.V4NET.rbl4.test.ex succeeded (yielding 127.0.0.6)
>>> => that means V4NET.11.12.20 is listed at rbl4.test.ex
->>> check add_header = DNSlist: $dnslist_domain $dnslist_text
->>> = DNSlist: rbl4.test.ex
+>>> check add_header = DNSlist: $dnslist_domain $dnslist_text $dnslist_matched
+>>> = DNSlist: rbl4.test.ex V4NET.11.12.20
>>> warn: condition test succeeded
>>> processing "warn"
>>> check dnslists = rbl5.test.ex,rbl4.test.ex=127.0.0.128
Index: 0023
===================================================================
RCS file: /home/cvs/exim/exim-test/stdout/0023,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- 0023 14 Nov 2006 16:40:36 -0000 1.3
+++ 0023 14 Jun 2007 14:18:20 -0000 1.4
@@ -322,6 +322,7 @@
250 OK
550-domain=test.ex
550-value=V4NET.0.0.1
+550-matched=ten-1
550 text=""
250 Reset OK
250 OK
@@ -330,6 +331,7 @@
250 OK
550-domain=test.ex
550-value=127.0.0.2
+550-matched=13.12.11.V4NET.rbl
550 text="This is a test blacklisting message"
221 myhost.test.ex closing connection