ph10 2005/11/21 10:24:02 GMT
Modified files:
exim-doc/doc-txt ChangeLog
exim-src/src verify.c
Log:
Recognize "net-" in match_ip lists (as documented).
Revision Changes Path
1.266 +3 -0 exim/exim-doc/doc-txt/ChangeLog
1.28 +8 -7 exim/exim-src/src/verify.c
Index: ChangeLog
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
retrieving revision 1.265
retrieving revision 1.266
diff -u -r1.265 -r1.266
--- ChangeLog 21 Nov 2005 10:09:12 -0000 1.265
+++ ChangeLog 21 Nov 2005 10:24:02 -0000 1.266
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.265 2005/11/21 10:09:12 ph10 Exp $
+$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.266 2005/11/21 10:24:02 ph10 Exp $
Change log file for Exim from version 4.21
-------------------------------------------
@@ -147,6 +147,9 @@
Document more things not specified clearly in RFC3028. I had all this
sorted out, when out of a sudden new issues came to my mind. Oops."
+
+PH/18 Exim was not recognizing the "net-" search type prefix in match_ip lists
+ (Bugzilla #53).
Exim version 4.54
Index: verify.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/verify.c,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- verify.c 14 Sep 2005 09:40:55 -0000 1.27
+++ verify.c 21 Nov 2005 10:24:02 -0000 1.28
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/verify.c,v 1.27 2005/09/14 09:40:55 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/verify.c,v 1.28 2005/11/21 10:24:02 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -1991,7 +1991,7 @@
semicolon = Ustrchr(ss, ';');
/* If we are doing an IP address only match, then all lookups must be IP
-address lookups. */
+address lookups, even if there is no "net-". */
if (isiponly)
{
@@ -1999,13 +1999,14 @@
}
/* Otherwise, if the item is of the form net[n]-lookup;<file|query> then it is
-a lookup on a masked IP network, in textual form. The net- stuff really only
-applies to single-key lookups where the key is implicit. For query-style
-lookups the key is specified in the query. From release 4.30, the use of net-
-for query style is no longer needed, but we retain it for backward
-compatibility. */
+a lookup on a masked IP network, in textual form. We obey this code even if we
+have already set iplookup, so as to skip over the "net-" prefix and to set the
+mask length. The net- stuff really only applies to single-key lookups where the
+key is implicit. For query-style lookups the key is specified in the query.
+From release 4.30, the use of net- for query style is no longer needed, but we
+retain it for backward compatibility. */
-else if (Ustrncmp(ss, "net", 3) == 0 && semicolon != NULL)
+if (Ustrncmp(ss, "net", 3) == 0 && semicolon != NULL)
{
mlen = 0;
for (t = ss + 3; isdigit(*t); t++) mlen = mlen * 10 + *t - '0';