mirror of
https://github.com/vdukhovni/postfix
synced 2025-09-01 06:35:27 +00:00
postfix-2.4-20070119
This commit is contained in:
committed by
Viktor Dukhovni
parent
3b08d6f9a9
commit
3fbdd5d9ec
@@ -13123,8 +13123,8 @@ Apologies for any names omitted.
|
|||||||
|
|
||||||
20070118
|
20070118
|
||||||
|
|
||||||
Bugfix: match lists didn't implement !maptype:mapname.
|
Bugfix: match lists didn't implement ![ipv6address]. Problem
|
||||||
Problem reported by Paulo Pacheco. File: util/match_list.c.
|
reported by Paulo Pacheco. File: util/match_list.c.
|
||||||
|
|
||||||
Cleanup: revised the matchlist "!" support, added support
|
Cleanup: revised the matchlist "!" support, added support
|
||||||
for !/file/name, and updated the documentation. File:
|
for !/file/name, and updated the documentation. File:
|
||||||
|
@@ -20,7 +20,7 @@
|
|||||||
* Patches change both the patchlevel and the release date. Snapshots have no
|
* Patches change both the patchlevel and the release date. Snapshots have no
|
||||||
* patchlevel; they change the release date only.
|
* patchlevel; they change the release date only.
|
||||||
*/
|
*/
|
||||||
#define MAIL_RELEASE_DATE "20070118"
|
#define MAIL_RELEASE_DATE "20070119"
|
||||||
#define MAIL_VERSION_NUMBER "2.4"
|
#define MAIL_VERSION_NUMBER "2.4"
|
||||||
|
|
||||||
#ifdef SNAPSHOT
|
#ifdef SNAPSHOT
|
||||||
|
@@ -19,6 +19,11 @@ echo foo !bar baz >junk
|
|||||||
./namadr_list !`pwd`/junk dummy 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 foo 168.100.189.3
|
||||||
./namadr_list !`pwd`/junk bar 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
|
rm -f junk
|
||||||
env foo=x ./namadr_list environ:junk foo 168.100.189.3
|
env foo=x ./namadr_list environ:junk foo 168.100.189.3
|
||||||
env foo=x ./namadr_list environ:junk bar 168.100.189.3
|
env foo=x ./namadr_list environ:junk bar 168.100.189.3
|
||||||
|
@@ -18,6 +18,11 @@ dummy/168.100.189.3: NO
|
|||||||
dummy/168.100.189.3: NO
|
dummy/168.100.189.3: NO
|
||||||
foo/168.100.189.3: NO
|
foo/168.100.189.3: NO
|
||||||
bar/168.100.189.3: YES
|
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
|
foo/168.100.189.3: YES
|
||||||
bar/168.100.189.3: NO
|
bar/168.100.189.3: NO
|
||||||
foo/168.100.189.3: NO
|
foo/168.100.189.3: NO
|
||||||
|
@@ -99,7 +99,7 @@ struct MATCH_LIST {
|
|||||||
|
|
||||||
/* match_list_parse - parse buffer, destroy buffer */
|
/* 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";
|
const char *myname = "match_list_parse";
|
||||||
VSTRING *buf = vstring_alloc(10);
|
VSTRING *buf = vstring_alloc(10);
|
||||||
@@ -109,13 +109,14 @@ static ARGV *match_list_parse(ARGV *list, char *string, int match)
|
|||||||
char *start;
|
char *start;
|
||||||
char *item;
|
char *item;
|
||||||
char *map_type_name_flags;
|
char *map_type_name_flags;
|
||||||
|
int match;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* /filename contents are expanded in-line. To support !/filename we
|
* /filename contents are expanded in-line. To support !/filename we
|
||||||
* prepend the negation operator to each item from the file.
|
* prepend the negation operator to each item from the file.
|
||||||
*/
|
*/
|
||||||
while ((start = mystrtok(&bp, delim)) != 0) {
|
while ((start = mystrtok(&bp, delim)) != 0) {
|
||||||
for (item = start; *item == '!'; item++)
|
for (match = init_match, item = start; *item == '!'; item++)
|
||||||
match = !match;
|
match = !match;
|
||||||
if (*item == 0)
|
if (*item == 0)
|
||||||
msg_fatal("%s: no pattern after '!'", myname);
|
msg_fatal("%s: no pattern after '!'", myname);
|
||||||
|
Reference in New Issue
Block a user