2
0
mirror of https://github.com/vdukhovni/postfix synced 2025-08-31 06:05:37 +00:00

postfix-2.4-20070119

This commit is contained in:
Wietse Venema
2007-01-19 00:00:00 -05:00
committed by Viktor Dukhovni
parent 3b08d6f9a9
commit 3fbdd5d9ec
5 changed files with 16 additions and 5 deletions

View File

@@ -13123,8 +13123,8 @@ Apologies for any names omitted.
20070118
Bugfix: match lists didn't implement !maptype:mapname.
Problem reported by Paulo Pacheco. File: util/match_list.c.
Bugfix: match lists didn't implement ![ipv6address]. Problem
reported by Paulo Pacheco. File: util/match_list.c.
Cleanup: revised the matchlist "!" support, added support
for !/file/name, and updated the documentation. File:

View File

@@ -20,7 +20,7 @@
* Patches change both the patchlevel and the release date. Snapshots have no
* patchlevel; they change the release date only.
*/
#define MAIL_RELEASE_DATE "20070118"
#define MAIL_RELEASE_DATE "20070119"
#define MAIL_VERSION_NUMBER "2.4"
#ifdef SNAPSHOT

View File

@@ -19,6 +19,11 @@ echo foo !bar baz >junk
./namadr_list !`pwd`/junk dummy 168.100.189.3
./namadr_list !`pwd`/junk foo 168.100.189.3
./namadr_list !`pwd`/junk bar 168.100.189.3
./namadr_list !`pwd`/junk baz 168.100.189.3
./namadr_list `pwd`/junk dummy 168.100.189.3
./namadr_list `pwd`/junk foo 168.100.189.3
./namadr_list `pwd`/junk bar 168.100.189.3
./namadr_list `pwd`/junk baz 168.100.189.3
rm -f junk
env foo=x ./namadr_list environ:junk foo 168.100.189.3
env foo=x ./namadr_list environ:junk bar 168.100.189.3

View File

@@ -18,6 +18,11 @@ dummy/168.100.189.3: NO
dummy/168.100.189.3: NO
foo/168.100.189.3: NO
bar/168.100.189.3: YES
baz/168.100.189.3: NO
dummy/168.100.189.3: NO
foo/168.100.189.3: YES
bar/168.100.189.3: NO
baz/168.100.189.3: YES
foo/168.100.189.3: YES
bar/168.100.189.3: NO
foo/168.100.189.3: NO

View File

@@ -99,7 +99,7 @@ struct MATCH_LIST {
/* match_list_parse - parse buffer, destroy buffer */
static ARGV *match_list_parse(ARGV *list, char *string, int match)
static ARGV *match_list_parse(ARGV *list, char *string, int init_match)
{
const char *myname = "match_list_parse";
VSTRING *buf = vstring_alloc(10);
@@ -109,13 +109,14 @@ static ARGV *match_list_parse(ARGV *list, char *string, int match)
char *start;
char *item;
char *map_type_name_flags;
int match;
/*
* /filename contents are expanded in-line. To support !/filename we
* prepend the negation operator to each item from the file.
*/
while ((start = mystrtok(&bp, delim)) != 0) {
for (item = start; *item == '!'; item++)
for (match = init_match, item = start; *item == '!'; item++)
match = !match;
if (*item == 0)
msg_fatal("%s: no pattern after '!'", myname);