ph10 2005/09/12 15:03:42 BST
Modified files:
exim-doc/doc-txt ChangeLog
exim-src/src match.c
Log:
Fix @[] prefix matching bug.
Revision Changes Path
1.223 +3 -0 exim/exim-doc/doc-txt/ChangeLog
1.10 +3 -1 exim/exim-src/src/match.c
Index: ChangeLog
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
retrieving revision 1.222
retrieving revision 1.223
diff -u -r1.222 -r1.223
--- ChangeLog 12 Sep 2005 13:55:54 -0000 1.222
+++ ChangeLog 12 Sep 2005 14:03:42 -0000 1.223
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.222 2005/09/12 13:55:54 ph10 Exp $
+$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.223 2005/09/12 14:03:42 ph10 Exp $
Change log file for Exim from version 4.21
-------------------------------------------
@@ -166,6 +166,9 @@
PH/41 Added a "distclean" target to the top-level Makefile; it deletes all
the "build-* directories that it finds.
+
+PH/42 (But a TF fix): In a domain list, Exim incorrectly matched @[] if the IP
+ address in a domain literal was a prefix of an interface address.
Exim version 4.52
Index: match.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/match.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- match.c 12 Sep 2005 13:39:31 -0000 1.9
+++ match.c 12 Sep 2005 14:03:42 -0000 1.10
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/match.c,v 1.9 2005/09/12 13:39:31 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/match.c,v 1.10 2005/09/12 14:03:42 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -174,7 +174,9 @@
int slen = Ustrlen(s);
if (s[0] != '[' && s[slen-1] != ']') return FAIL;
for (ip = host_find_interfaces(); ip != NULL; ip = ip->next)
- if (Ustrncmp(ip->address, s+1, slen - 2) == 0) return OK;
+ if (Ustrncmp(ip->address, s+1, slen - 2) == 0
+ && ip->address[slen - 2] == 0)
+ return OK;
return FAIL;
}