mirror of
https://github.com/vdukhovni/postfix
synced 2025-08-22 18:07:41 +00:00
postfix-3.6-20200925
This commit is contained in:
parent
e4f3f9ea70
commit
f7ae9a62e3
@ -25153,3 +25153,21 @@ Apologies for any names omitted.
|
|||||||
|
|
||||||
Cleanup: replaced hard-coded 'private' with named constant.
|
Cleanup: replaced hard-coded 'private' with named constant.
|
||||||
File: global/scache_clnt.c.
|
File: global/scache_clnt.c.
|
||||||
|
|
||||||
|
Bugfix (introduced: Postfix 2.3): when deleting a recipient
|
||||||
|
with a milter, delete the recipient from the duplicate
|
||||||
|
filter, so that the recipient can be added back. Files:
|
||||||
|
global/been_here.[hc], cleanup/cleanup_milter.c,
|
||||||
|
cleanup/Makefile.in, lots of cleanup unit test files.
|
||||||
|
|
||||||
|
20200925
|
||||||
|
|
||||||
|
Cleanup: vstream_fseek() support for reading or writing
|
||||||
|
memory buffer streams, and minor cleanups in VSTREAM support
|
||||||
|
for reading/writing VSTRINGs. Also added unit tests. Files:
|
||||||
|
util/vstream.c, util/vstring.h.
|
||||||
|
|
||||||
|
Bugfix (introduced: before Postfix alpha): the code that
|
||||||
|
looks for Delivered-To: headers ignored headers longer than
|
||||||
|
$line_length_limit. Also added unit tests. File:
|
||||||
|
global/delivered_hdr.c.
|
||||||
|
@ -29,9 +29,6 @@ Wish list:
|
|||||||
Update makedefs and sys-defs.h for current Linux kernels and
|
Update makedefs and sys-defs.h for current Linux kernels and
|
||||||
*BSD releases.
|
*BSD releases.
|
||||||
|
|
||||||
When deleting a recipient with a milter, delete the recipient from
|
|
||||||
the duplicate filter, so that the recipient can be added back.
|
|
||||||
|
|
||||||
DNS wrapper class, like XSASL, to support different stub
|
DNS wrapper class, like XSASL, to support different stub
|
||||||
resolvers without contaminating Postfix programs with the
|
resolvers without contaminating Postfix programs with the
|
||||||
idiosyncracies of stub resolvers. Handle differences in
|
idiosyncracies of stub resolvers. Handle differences in
|
||||||
|
@ -86,23 +86,25 @@ milter_tests: cleanup_milter_test bug_tests \
|
|||||||
cleanup_milter_test15a cleanup_milter_test15b cleanup_milter_test15c \
|
cleanup_milter_test15a cleanup_milter_test15b cleanup_milter_test15c \
|
||||||
cleanup_milter_test15d cleanup_milter_test15e cleanup_milter_test15f \
|
cleanup_milter_test15d cleanup_milter_test15e cleanup_milter_test15f \
|
||||||
cleanup_milter_test15g cleanup_milter_test15h cleanup_milter_test15i \
|
cleanup_milter_test15g cleanup_milter_test15h cleanup_milter_test15i \
|
||||||
cleanup_milter_test16a cleanup_milter_test16b
|
cleanup_milter_test16a cleanup_milter_test16b cleanup_milter_test17a \
|
||||||
|
cleanup_milter_test17b cleanup_milter_test17c cleanup_milter_test17d \
|
||||||
|
cleanup_milter_test17e cleanup_milter_test17f cleanup_milter_test17g
|
||||||
|
|
||||||
root_tests:
|
root_tests:
|
||||||
|
|
||||||
cleanup_masquerade_test: cleanup_masquerade cleanup_masq.ref
|
cleanup_masquerade_test: cleanup_masquerade cleanup_masq.ref
|
||||||
rm -f cleanup_masq.tmp
|
rm -f cleanup_masq.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_masquerade '' a.b.c,b.c xxx@aa.a.b.c >>cleanup_masq.tmp
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_masquerade '' a.b.c,b.c xxx@aa.a.b.c >>cleanup_masq.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_masquerade '' A.B.C,B.C xxx@aa.a.b.c >>cleanup_masq.tmp
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_masquerade '' A.B.C,B.C xxx@aa.a.b.c >>cleanup_masq.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_masquerade '' a.b.c,b.c xxx@AA.A.B.C >>cleanup_masq.tmp
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_masquerade '' a.b.c,b.c xxx@AA.A.B.C >>cleanup_masq.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_masquerade 'xxx' a.b.c,b.c xxx@aa.a.b.c >>cleanup_masq.tmp
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_masquerade 'xxx' a.b.c,b.c xxx@aa.a.b.c >>cleanup_masq.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_masquerade 'yyy' a.b.c,b.c xxx@aa.a.b.c >>cleanup_masq.tmp
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_masquerade 'yyy' a.b.c,b.c xxx@aa.a.b.c >>cleanup_masq.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_masquerade '' !a.b.c,b.c xxx@aa.a.b.c >>cleanup_masq.tmp
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_masquerade '' !a.b.c,b.c xxx@aa.a.b.c >>cleanup_masq.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_masquerade '' a.b.c,b.c xxx@a.b.c >>cleanup_masq.tmp
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_masquerade '' a.b.c,b.c xxx@a.b.c >>cleanup_masq.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_masquerade '' !a.b.c,b.c xxx@a.b.c >>cleanup_masq.tmp
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_masquerade '' !a.b.c,b.c xxx@a.b.c >>cleanup_masq.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_masquerade '' a.b.c,b.c xxx@aaa.b.c >>cleanup_masq.tmp
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_masquerade '' a.b.c,b.c xxx@aaa.b.c >>cleanup_masq.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_masquerade '' a.b.c,b.c xxx@b.c >>cleanup_masq.tmp
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_masquerade '' a.b.c,b.c xxx@b.c >>cleanup_masq.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_masquerade 'fail:whatever' xy xxx@b.c >>cleanup_masq.tmp
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_masquerade 'fail:whatever' xy xxx@b.c >>cleanup_masq.tmp
|
||||||
diff cleanup_masq.ref cleanup_masq.tmp
|
diff cleanup_masq.ref cleanup_masq.tmp
|
||||||
rm -f cleanup_masq.tmp
|
rm -f cleanup_masq.tmp
|
||||||
|
|
||||||
@ -115,10 +117,10 @@ bug1_test: cleanup_milter bug1.file bug1.in bug1.ref bug1.text.ref \
|
|||||||
../postcat/postcat
|
../postcat/postcat
|
||||||
cp bug1.file bug1.file.tmp
|
cp bug1.file bug1.file.tmp
|
||||||
chmod u+w bug1.file.tmp
|
chmod u+w bug1.file.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <bug1.in
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <bug1.in
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov bug1.file.tmp 2>/dev/null >bug1.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov bug1.file.tmp 2>/dev/null >bug1.tmp
|
||||||
diff bug1.ref bug1.tmp
|
diff bug1.ref bug1.tmp
|
||||||
$(SHLIB_ENV) ../postcat/postcat bug1.file.tmp 2>/dev/null >bug1.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat bug1.file.tmp 2>/dev/null >bug1.tmp
|
||||||
diff bug1.text.ref bug1.tmp
|
diff bug1.text.ref bug1.tmp
|
||||||
rm -f bug1.file.tmp bug1.tmp
|
rm -f bug1.file.tmp bug1.tmp
|
||||||
|
|
||||||
@ -126,10 +128,10 @@ bug2_test: cleanup_milter bug2.file bug2.in bug2.ref bug2.text.ref \
|
|||||||
../postcat/postcat
|
../postcat/postcat
|
||||||
cp bug2.file bug2.file.tmp
|
cp bug2.file bug2.file.tmp
|
||||||
chmod u+w bug2.file.tmp
|
chmod u+w bug2.file.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <bug2.in
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <bug2.in
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov bug2.file.tmp 2>/dev/null >bug2.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov bug2.file.tmp 2>/dev/null >bug2.tmp
|
||||||
diff bug2.ref bug2.tmp
|
diff bug2.ref bug2.tmp
|
||||||
$(SHLIB_ENV) ../postcat/postcat bug2.file.tmp 2>/dev/null >bug2.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat bug2.file.tmp 2>/dev/null >bug2.tmp
|
||||||
diff bug2.text.ref bug2.tmp
|
diff bug2.text.ref bug2.tmp
|
||||||
rm -f bug2.file.tmp bug2.tmp
|
rm -f bug2.file.tmp bug2.tmp
|
||||||
|
|
||||||
@ -137,10 +139,10 @@ bug3_test: cleanup_milter bug3.file bug3.in bug3.ref bug3.text.ref \
|
|||||||
../postcat/postcat
|
../postcat/postcat
|
||||||
cp bug3.file bug3.file.tmp
|
cp bug3.file bug3.file.tmp
|
||||||
chmod u+w bug3.file.tmp
|
chmod u+w bug3.file.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <bug3.in
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <bug3.in
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov bug3.file.tmp 2>/dev/null >bug3.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov bug3.file.tmp 2>/dev/null >bug3.tmp
|
||||||
diff bug3.ref bug3.tmp
|
diff bug3.ref bug3.tmp
|
||||||
$(SHLIB_ENV) ../postcat/postcat bug3.file.tmp 2>/dev/null >bug3.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat bug3.file.tmp 2>/dev/null >bug3.tmp
|
||||||
diff bug3.text.ref bug3.tmp
|
diff bug3.text.ref bug3.tmp
|
||||||
rm -f bug3.file.tmp bug3.tmp
|
rm -f bug3.file.tmp bug3.tmp
|
||||||
|
|
||||||
@ -150,8 +152,8 @@ cleanup_milter_test: cleanup_milter test-queue-file cleanup_milter.in1 \
|
|||||||
cleanup_milter.ref1 ../postcat/postcat
|
cleanup_milter.ref1 ../postcat/postcat
|
||||||
cp test-queue-file test-queue-file.tmp
|
cp test-queue-file test-queue-file.tmp
|
||||||
chmod u+w test-queue-file.tmp
|
chmod u+w test-queue-file.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in1
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in1
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file.tmp 2>/dev/null >cleanup_milter.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file.tmp 2>/dev/null >cleanup_milter.tmp
|
||||||
diff cleanup_milter.ref1 cleanup_milter.tmp
|
diff cleanup_milter.ref1 cleanup_milter.tmp
|
||||||
rm -f test-queue-file.tmp cleanup_milter.tmp
|
rm -f test-queue-file.tmp cleanup_milter.tmp
|
||||||
|
|
||||||
@ -159,8 +161,8 @@ cleanup_milter_test2: cleanup_milter test-queue-file2 cleanup_milter.in2 \
|
|||||||
cleanup_milter.ref2 ../postcat/postcat
|
cleanup_milter.ref2 ../postcat/postcat
|
||||||
cp test-queue-file2 test-queue-file2.tmp
|
cp test-queue-file2 test-queue-file2.tmp
|
||||||
chmod u+w test-queue-file2.tmp
|
chmod u+w test-queue-file2.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in2
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in2
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file2.tmp 2>/dev/null >cleanup_milter.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file2.tmp 2>/dev/null >cleanup_milter.tmp
|
||||||
diff cleanup_milter.ref2 cleanup_milter.tmp
|
diff cleanup_milter.ref2 cleanup_milter.tmp
|
||||||
rm -f test-queue-file2.tmp cleanup_milter.tmp
|
rm -f test-queue-file2.tmp cleanup_milter.tmp
|
||||||
|
|
||||||
@ -168,8 +170,8 @@ cleanup_milter_test3: cleanup_milter test-queue-file3 cleanup_milter.in3 \
|
|||||||
cleanup_milter.ref3 ../postcat/postcat
|
cleanup_milter.ref3 ../postcat/postcat
|
||||||
cp test-queue-file3 test-queue-file3.tmp
|
cp test-queue-file3 test-queue-file3.tmp
|
||||||
chmod u+w test-queue-file3.tmp
|
chmod u+w test-queue-file3.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in3
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in3
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file3.tmp 2>/dev/null >cleanup_milter.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file3.tmp 2>/dev/null >cleanup_milter.tmp
|
||||||
diff cleanup_milter.ref3 cleanup_milter.tmp
|
diff cleanup_milter.ref3 cleanup_milter.tmp
|
||||||
rm -f test-queue-file3.tmp cleanup_milter.tmp
|
rm -f test-queue-file3.tmp cleanup_milter.tmp
|
||||||
|
|
||||||
@ -178,18 +180,18 @@ cleanup_milter_test4: cleanup_milter test-queue-file4 cleanup_milter.in4a \
|
|||||||
test-queue-file4 ../postcat/postcat
|
test-queue-file4 ../postcat/postcat
|
||||||
cp test-queue-file4 test-queue-file4.tmp
|
cp test-queue-file4 test-queue-file4.tmp
|
||||||
chmod u+w test-queue-file4.tmp
|
chmod u+w test-queue-file4.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in4a
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in4a
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file4.tmp 2>/dev/null >cleanup_milter.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file4.tmp 2>/dev/null >cleanup_milter.tmp
|
||||||
diff cleanup_milter.ref4 cleanup_milter.tmp
|
diff cleanup_milter.ref4 cleanup_milter.tmp
|
||||||
cp test-queue-file4 test-queue-file4.tmp
|
cp test-queue-file4 test-queue-file4.tmp
|
||||||
chmod u+w test-queue-file4.tmp
|
chmod u+w test-queue-file4.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in4b
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in4b
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file4.tmp 2>/dev/null >cleanup_milter.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file4.tmp 2>/dev/null >cleanup_milter.tmp
|
||||||
diff cleanup_milter.ref4 cleanup_milter.tmp
|
diff cleanup_milter.ref4 cleanup_milter.tmp
|
||||||
cp test-queue-file4 test-queue-file4.tmp
|
cp test-queue-file4 test-queue-file4.tmp
|
||||||
chmod u+w test-queue-file4.tmp
|
chmod u+w test-queue-file4.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in4c
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in4c
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file4.tmp 2>/dev/null >cleanup_milter.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file4.tmp 2>/dev/null >cleanup_milter.tmp
|
||||||
diff cleanup_milter.ref4 cleanup_milter.tmp
|
diff cleanup_milter.ref4 cleanup_milter.tmp
|
||||||
rm -f test-queue-file4.tmp cleanup_milter.tmp
|
rm -f test-queue-file4.tmp cleanup_milter.tmp
|
||||||
|
|
||||||
@ -197,8 +199,8 @@ cleanup_milter_test5: cleanup_milter test-queue-file5 cleanup_milter.in5 \
|
|||||||
cleanup_milter.ref5 ../postcat/postcat
|
cleanup_milter.ref5 ../postcat/postcat
|
||||||
cp test-queue-file5 test-queue-file5.tmp
|
cp test-queue-file5 test-queue-file5.tmp
|
||||||
chmod u+w test-queue-file5.tmp
|
chmod u+w test-queue-file5.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in5
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in5
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file5.tmp 2>/dev/null >cleanup_milter.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file5.tmp 2>/dev/null >cleanup_milter.tmp
|
||||||
diff cleanup_milter.ref5 cleanup_milter.tmp
|
diff cleanup_milter.ref5 cleanup_milter.tmp
|
||||||
rm -f test-queue-file5.tmp cleanup_milter.tmp
|
rm -f test-queue-file5.tmp cleanup_milter.tmp
|
||||||
|
|
||||||
@ -209,8 +211,8 @@ cleanup_milter_test6a: cleanup_milter test-queue-file6 cleanup_milter.in6a \
|
|||||||
cleanup_milter.ref6a test-queue-file6 ../postcat/postcat
|
cleanup_milter.ref6a test-queue-file6 ../postcat/postcat
|
||||||
cp test-queue-file6 test-queue-file6.tmp
|
cp test-queue-file6 test-queue-file6.tmp
|
||||||
chmod u+w test-queue-file6.tmp
|
chmod u+w test-queue-file6.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in6a
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in6a
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file6.tmp 2>/dev/null >cleanup_milter.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file6.tmp 2>/dev/null >cleanup_milter.tmp
|
||||||
diff cleanup_milter.ref6a cleanup_milter.tmp
|
diff cleanup_milter.ref6a cleanup_milter.tmp
|
||||||
rm -f test-queue-file6.tmp cleanup_milter.tmp
|
rm -f test-queue-file6.tmp cleanup_milter.tmp
|
||||||
|
|
||||||
@ -218,8 +220,8 @@ cleanup_milter_test6b: cleanup_milter test-queue-file6 cleanup_milter.in6b \
|
|||||||
cleanup_milter.ref6b ../postcat/postcat
|
cleanup_milter.ref6b ../postcat/postcat
|
||||||
cp test-queue-file6 test-queue-file6.tmp
|
cp test-queue-file6 test-queue-file6.tmp
|
||||||
chmod u+w test-queue-file6.tmp
|
chmod u+w test-queue-file6.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in6b
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in6b
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file6.tmp 2>/dev/null >cleanup_milter.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file6.tmp 2>/dev/null >cleanup_milter.tmp
|
||||||
diff cleanup_milter.ref6b cleanup_milter.tmp
|
diff cleanup_milter.ref6b cleanup_milter.tmp
|
||||||
rm -f test-queue-file6.tmp cleanup_milter.tmp
|
rm -f test-queue-file6.tmp cleanup_milter.tmp
|
||||||
|
|
||||||
@ -227,8 +229,8 @@ cleanup_milter_test6c: cleanup_milter test-queue-file6 cleanup_milter.in6c \
|
|||||||
cleanup_milter.ref6c ../postcat/postcat
|
cleanup_milter.ref6c ../postcat/postcat
|
||||||
cp test-queue-file6 test-queue-file6.tmp
|
cp test-queue-file6 test-queue-file6.tmp
|
||||||
chmod u+w test-queue-file6.tmp
|
chmod u+w test-queue-file6.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in6c
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in6c
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file6.tmp 2>/dev/null >cleanup_milter.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file6.tmp 2>/dev/null >cleanup_milter.tmp
|
||||||
diff cleanup_milter.ref6c cleanup_milter.tmp
|
diff cleanup_milter.ref6c cleanup_milter.tmp
|
||||||
rm -f test-queue-file6.tmp cleanup_milter.tmp
|
rm -f test-queue-file6.tmp cleanup_milter.tmp
|
||||||
|
|
||||||
@ -236,8 +238,8 @@ cleanup_milter_test7: cleanup_milter test-queue-file7 cleanup_milter.in7 \
|
|||||||
cleanup_milter.ref7 ../postcat/postcat
|
cleanup_milter.ref7 ../postcat/postcat
|
||||||
cp test-queue-file7 test-queue-file7.tmp
|
cp test-queue-file7 test-queue-file7.tmp
|
||||||
chmod u+w test-queue-file7.tmp
|
chmod u+w test-queue-file7.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in7
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in7
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file7.tmp 2>/dev/null >cleanup_milter.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file7.tmp 2>/dev/null >cleanup_milter.tmp
|
||||||
diff cleanup_milter.ref7 cleanup_milter.tmp
|
diff cleanup_milter.ref7 cleanup_milter.tmp
|
||||||
rm -f test-queue-file7.tmp cleanup_milter.tmp
|
rm -f test-queue-file7.tmp cleanup_milter.tmp
|
||||||
|
|
||||||
@ -245,8 +247,8 @@ cleanup_milter_test8: cleanup_milter test-queue-file8 cleanup_milter.in8 \
|
|||||||
cleanup_milter.ref8 ../postcat/postcat
|
cleanup_milter.ref8 ../postcat/postcat
|
||||||
cp test-queue-file8 test-queue-file8.tmp
|
cp test-queue-file8 test-queue-file8.tmp
|
||||||
chmod u+w test-queue-file8.tmp
|
chmod u+w test-queue-file8.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in8
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in8
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file8.tmp 2>/dev/null >cleanup_milter.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file8.tmp 2>/dev/null >cleanup_milter.tmp
|
||||||
diff cleanup_milter.ref8 cleanup_milter.tmp
|
diff cleanup_milter.ref8 cleanup_milter.tmp
|
||||||
rm -f test-queue-file8.tmp cleanup_milter.tmp
|
rm -f test-queue-file8.tmp cleanup_milter.tmp
|
||||||
|
|
||||||
@ -254,8 +256,8 @@ cleanup_milter_test9: cleanup_milter test-queue-file9 cleanup_milter.in9 \
|
|||||||
cleanup_milter.ref9 ../postcat/postcat
|
cleanup_milter.ref9 ../postcat/postcat
|
||||||
cp test-queue-file9 test-queue-file9.tmp
|
cp test-queue-file9 test-queue-file9.tmp
|
||||||
chmod u+w test-queue-file9.tmp
|
chmod u+w test-queue-file9.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in9
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in9
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file9.tmp 2>/dev/null >cleanup_milter.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file9.tmp 2>/dev/null >cleanup_milter.tmp
|
||||||
diff cleanup_milter.ref9 cleanup_milter.tmp
|
diff cleanup_milter.ref9 cleanup_milter.tmp
|
||||||
rm -f test-queue-file9.tmp cleanup_milter.tmp
|
rm -f test-queue-file9.tmp cleanup_milter.tmp
|
||||||
|
|
||||||
@ -263,8 +265,8 @@ cleanup_milter_test10a: cleanup_milter test-queue-file10 cleanup_milter.in10a \
|
|||||||
cleanup_milter.ref10a ../postcat/postcat
|
cleanup_milter.ref10a ../postcat/postcat
|
||||||
cp test-queue-file10 test-queue-file10.tmp
|
cp test-queue-file10 test-queue-file10.tmp
|
||||||
chmod u+w test-queue-file10.tmp
|
chmod u+w test-queue-file10.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in10a
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in10a
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file10.tmp 2>/dev/null >cleanup_milter.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file10.tmp 2>/dev/null >cleanup_milter.tmp
|
||||||
diff cleanup_milter.ref10a cleanup_milter.tmp
|
diff cleanup_milter.ref10a cleanup_milter.tmp
|
||||||
rm -f test-queue-file10.tmp cleanup_milter.tmp
|
rm -f test-queue-file10.tmp cleanup_milter.tmp
|
||||||
|
|
||||||
@ -272,8 +274,8 @@ cleanup_milter_test10b: cleanup_milter test-queue-file10 cleanup_milter.in10b \
|
|||||||
cleanup_milter.ref10b ../postcat/postcat
|
cleanup_milter.ref10b ../postcat/postcat
|
||||||
cp test-queue-file10 test-queue-file10.tmp
|
cp test-queue-file10 test-queue-file10.tmp
|
||||||
chmod u+w test-queue-file10.tmp
|
chmod u+w test-queue-file10.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in10b
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in10b
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file10.tmp 2>/dev/null >cleanup_milter.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file10.tmp 2>/dev/null >cleanup_milter.tmp
|
||||||
diff cleanup_milter.ref10b cleanup_milter.tmp
|
diff cleanup_milter.ref10b cleanup_milter.tmp
|
||||||
rm -f test-queue-file10.tmp cleanup_milter.tmp
|
rm -f test-queue-file10.tmp cleanup_milter.tmp
|
||||||
|
|
||||||
@ -281,8 +283,8 @@ cleanup_milter_test10c: cleanup_milter test-queue-file10 cleanup_milter.in10c \
|
|||||||
cleanup_milter.ref10c ../postcat/postcat
|
cleanup_milter.ref10c ../postcat/postcat
|
||||||
cp test-queue-file10 test-queue-file10.tmp
|
cp test-queue-file10 test-queue-file10.tmp
|
||||||
chmod u+w test-queue-file10.tmp
|
chmod u+w test-queue-file10.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in10c
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in10c
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file10.tmp 2>/dev/null >cleanup_milter.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file10.tmp 2>/dev/null >cleanup_milter.tmp
|
||||||
diff cleanup_milter.ref10c cleanup_milter.tmp
|
diff cleanup_milter.ref10c cleanup_milter.tmp
|
||||||
rm -f test-queue-file10.tmp cleanup_milter.tmp
|
rm -f test-queue-file10.tmp cleanup_milter.tmp
|
||||||
|
|
||||||
@ -290,8 +292,8 @@ cleanup_milter_test10d: cleanup_milter test-queue-file10 cleanup_milter.in10c \
|
|||||||
cleanup_milter.ref10d ../postcat/postcat
|
cleanup_milter.ref10d ../postcat/postcat
|
||||||
cp test-queue-file10 test-queue-file10.tmp
|
cp test-queue-file10 test-queue-file10.tmp
|
||||||
chmod u+w test-queue-file10.tmp
|
chmod u+w test-queue-file10.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in10d
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in10d
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file10.tmp 2>/dev/null >cleanup_milter.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file10.tmp 2>/dev/null >cleanup_milter.tmp
|
||||||
diff cleanup_milter.ref10d cleanup_milter.tmp
|
diff cleanup_milter.ref10d cleanup_milter.tmp
|
||||||
rm -f test-queue-file10.tmp cleanup_milter.tmp
|
rm -f test-queue-file10.tmp cleanup_milter.tmp
|
||||||
|
|
||||||
@ -299,8 +301,8 @@ cleanup_milter_test10e: cleanup_milter test-queue-file10 cleanup_milter.in10c \
|
|||||||
cleanup_milter.ref10e ../postcat/postcat
|
cleanup_milter.ref10e ../postcat/postcat
|
||||||
cp test-queue-file10 test-queue-file10.tmp
|
cp test-queue-file10 test-queue-file10.tmp
|
||||||
chmod u+w test-queue-file10.tmp
|
chmod u+w test-queue-file10.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in10e
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in10e
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file10.tmp 2>/dev/null >cleanup_milter.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file10.tmp 2>/dev/null >cleanup_milter.tmp
|
||||||
diff cleanup_milter.ref10e cleanup_milter.tmp
|
diff cleanup_milter.ref10e cleanup_milter.tmp
|
||||||
rm -f test-queue-file10.tmp cleanup_milter.tmp
|
rm -f test-queue-file10.tmp cleanup_milter.tmp
|
||||||
|
|
||||||
@ -308,8 +310,8 @@ cleanup_milter_test11: cleanup_milter test-queue-file11 cleanup_milter.in11 \
|
|||||||
cleanup_milter.ref11 ../postcat/postcat
|
cleanup_milter.ref11 ../postcat/postcat
|
||||||
cp test-queue-file11 test-queue-file11.tmp
|
cp test-queue-file11 test-queue-file11.tmp
|
||||||
chmod u+w test-queue-file11.tmp
|
chmod u+w test-queue-file11.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in11
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in11
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file11.tmp 2>/dev/null >cleanup_milter.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file11.tmp 2>/dev/null >cleanup_milter.tmp
|
||||||
diff cleanup_milter.ref11 cleanup_milter.tmp
|
diff cleanup_milter.ref11 cleanup_milter.tmp
|
||||||
rm -f test-queue-file11.tmp cleanup_milter.tmp
|
rm -f test-queue-file11.tmp cleanup_milter.tmp
|
||||||
|
|
||||||
@ -317,8 +319,8 @@ cleanup_milter_test12: cleanup_milter test-queue-file12 cleanup_milter.in12 \
|
|||||||
cleanup_milter.ref12 ../postcat/postcat
|
cleanup_milter.ref12 ../postcat/postcat
|
||||||
cp test-queue-file12 test-queue-file12.tmp
|
cp test-queue-file12 test-queue-file12.tmp
|
||||||
chmod u+w test-queue-file12.tmp
|
chmod u+w test-queue-file12.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in12
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in12
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file12.tmp 2>/dev/null >cleanup_milter.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file12.tmp 2>/dev/null >cleanup_milter.tmp
|
||||||
diff cleanup_milter.ref12 cleanup_milter.tmp
|
diff cleanup_milter.ref12 cleanup_milter.tmp
|
||||||
rm -f test-queue-file12.tmp cleanup_milter.tmp
|
rm -f test-queue-file12.tmp cleanup_milter.tmp
|
||||||
|
|
||||||
@ -326,8 +328,8 @@ cleanup_milter_test13a: cleanup_milter test-queue-file13a cleanup_milter.in13a \
|
|||||||
cleanup_milter.ref13a ../postcat/postcat
|
cleanup_milter.ref13a ../postcat/postcat
|
||||||
cp test-queue-file13a test-queue-file13a.tmp
|
cp test-queue-file13a test-queue-file13a.tmp
|
||||||
chmod u+w test-queue-file13a.tmp
|
chmod u+w test-queue-file13a.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in13a
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in13a
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file13a.tmp 2>/dev/null >cleanup_milter.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file13a.tmp 2>/dev/null >cleanup_milter.tmp
|
||||||
diff cleanup_milter.ref13a cleanup_milter.tmp
|
diff cleanup_milter.ref13a cleanup_milter.tmp
|
||||||
rm -f test-queue-file13a.tmp cleanup_milter.tmp
|
rm -f test-queue-file13a.tmp cleanup_milter.tmp
|
||||||
|
|
||||||
@ -335,8 +337,8 @@ cleanup_milter_test13b: cleanup_milter test-queue-file13b cleanup_milter.in13b \
|
|||||||
cleanup_milter.ref13b ../postcat/postcat
|
cleanup_milter.ref13b ../postcat/postcat
|
||||||
cp test-queue-file13b test-queue-file13b.tmp
|
cp test-queue-file13b test-queue-file13b.tmp
|
||||||
chmod u+w test-queue-file13b.tmp
|
chmod u+w test-queue-file13b.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in13b
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in13b
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file13b.tmp 2>/dev/null >cleanup_milter.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file13b.tmp 2>/dev/null >cleanup_milter.tmp
|
||||||
diff cleanup_milter.ref13b cleanup_milter.tmp
|
diff cleanup_milter.ref13b cleanup_milter.tmp
|
||||||
rm -f test-queue-file13b.tmp cleanup_milter.tmp
|
rm -f test-queue-file13b.tmp cleanup_milter.tmp
|
||||||
|
|
||||||
@ -344,8 +346,8 @@ cleanup_milter_test13c: cleanup_milter test-queue-file13c cleanup_milter.in13c \
|
|||||||
cleanup_milter.ref13c ../postcat/postcat
|
cleanup_milter.ref13c ../postcat/postcat
|
||||||
cp test-queue-file13c test-queue-file13c.tmp
|
cp test-queue-file13c test-queue-file13c.tmp
|
||||||
chmod u+w test-queue-file13c.tmp
|
chmod u+w test-queue-file13c.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in13c
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in13c
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file13c.tmp 2>/dev/null >cleanup_milter.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file13c.tmp 2>/dev/null >cleanup_milter.tmp
|
||||||
diff cleanup_milter.ref13c cleanup_milter.tmp
|
diff cleanup_milter.ref13c cleanup_milter.tmp
|
||||||
rm -f test-queue-file13c.tmp cleanup_milter.tmp
|
rm -f test-queue-file13c.tmp cleanup_milter.tmp
|
||||||
|
|
||||||
@ -353,8 +355,8 @@ cleanup_milter_test13d: cleanup_milter test-queue-file13d cleanup_milter.in13d \
|
|||||||
cleanup_milter.ref13d ../postcat/postcat
|
cleanup_milter.ref13d ../postcat/postcat
|
||||||
cp test-queue-file13d test-queue-file13d.tmp
|
cp test-queue-file13d test-queue-file13d.tmp
|
||||||
chmod u+w test-queue-file13d.tmp
|
chmod u+w test-queue-file13d.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in13d
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in13d
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file13d.tmp 2>/dev/null >cleanup_milter.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file13d.tmp 2>/dev/null >cleanup_milter.tmp
|
||||||
diff cleanup_milter.ref13d cleanup_milter.tmp
|
diff cleanup_milter.ref13d cleanup_milter.tmp
|
||||||
rm -f test-queue-file13d.tmp cleanup_milter.tmp
|
rm -f test-queue-file13d.tmp cleanup_milter.tmp
|
||||||
|
|
||||||
@ -362,8 +364,8 @@ cleanup_milter_test13e: cleanup_milter test-queue-file13e cleanup_milter.in13e \
|
|||||||
cleanup_milter.ref13e ../postcat/postcat
|
cleanup_milter.ref13e ../postcat/postcat
|
||||||
cp test-queue-file13e test-queue-file13e.tmp
|
cp test-queue-file13e test-queue-file13e.tmp
|
||||||
chmod u+w test-queue-file13e.tmp
|
chmod u+w test-queue-file13e.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in13e
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in13e
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file13e.tmp 2>/dev/null >cleanup_milter.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file13e.tmp 2>/dev/null >cleanup_milter.tmp
|
||||||
diff cleanup_milter.ref13e cleanup_milter.tmp
|
diff cleanup_milter.ref13e cleanup_milter.tmp
|
||||||
rm -f test-queue-file13e.tmp cleanup_milter.tmp
|
rm -f test-queue-file13e.tmp cleanup_milter.tmp
|
||||||
|
|
||||||
@ -371,8 +373,8 @@ cleanup_milter_test13g: cleanup_milter test-queue-file13g cleanup_milter.in13g \
|
|||||||
cleanup_milter.ref13g ../postcat/postcat
|
cleanup_milter.ref13g ../postcat/postcat
|
||||||
cp test-queue-file13g test-queue-file13g.tmp
|
cp test-queue-file13g test-queue-file13g.tmp
|
||||||
chmod u+w test-queue-file13g.tmp
|
chmod u+w test-queue-file13g.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in13g
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in13g
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file13g.tmp 2>/dev/null >cleanup_milter.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file13g.tmp 2>/dev/null >cleanup_milter.tmp
|
||||||
diff cleanup_milter.ref13g cleanup_milter.tmp
|
diff cleanup_milter.ref13g cleanup_milter.tmp
|
||||||
rm -f test-queue-file13g.tmp cleanup_milter.tmp
|
rm -f test-queue-file13g.tmp cleanup_milter.tmp
|
||||||
|
|
||||||
@ -380,8 +382,8 @@ cleanup_milter_test13h: cleanup_milter test-queue-file13h cleanup_milter.in13h \
|
|||||||
cleanup_milter.ref13h ../postcat/postcat
|
cleanup_milter.ref13h ../postcat/postcat
|
||||||
cp test-queue-file13h test-queue-file13h.tmp
|
cp test-queue-file13h test-queue-file13h.tmp
|
||||||
chmod u+w test-queue-file13h.tmp
|
chmod u+w test-queue-file13h.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in13h
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in13h
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file13h.tmp 2>/dev/null >cleanup_milter.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file13h.tmp 2>/dev/null >cleanup_milter.tmp
|
||||||
diff cleanup_milter.ref13h cleanup_milter.tmp
|
diff cleanup_milter.ref13h cleanup_milter.tmp
|
||||||
rm -f test-queue-file13h.tmp cleanup_milter.tmp
|
rm -f test-queue-file13h.tmp cleanup_milter.tmp
|
||||||
|
|
||||||
@ -389,8 +391,8 @@ cleanup_milter_test13i: cleanup_milter test-queue-file13i cleanup_milter.in13i \
|
|||||||
cleanup_milter.ref13i ../postcat/postcat
|
cleanup_milter.ref13i ../postcat/postcat
|
||||||
cp test-queue-file13i test-queue-file13i.tmp
|
cp test-queue-file13i test-queue-file13i.tmp
|
||||||
chmod u+w test-queue-file13i.tmp
|
chmod u+w test-queue-file13i.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in13i
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in13i
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file13i.tmp 2>/dev/null >cleanup_milter.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file13i.tmp 2>/dev/null >cleanup_milter.tmp
|
||||||
diff cleanup_milter.ref13i cleanup_milter.tmp
|
diff cleanup_milter.ref13i cleanup_milter.tmp
|
||||||
rm -f test-queue-file13i.tmp cleanup_milter.tmp
|
rm -f test-queue-file13i.tmp cleanup_milter.tmp
|
||||||
|
|
||||||
@ -398,8 +400,8 @@ cleanup_milter_test13f: cleanup_milter test-queue-file13f cleanup_milter.in13f \
|
|||||||
cleanup_milter.ref13f ../postcat/postcat
|
cleanup_milter.ref13f ../postcat/postcat
|
||||||
cp test-queue-file13f test-queue-file13f.tmp
|
cp test-queue-file13f test-queue-file13f.tmp
|
||||||
chmod u+w test-queue-file13f.tmp
|
chmod u+w test-queue-file13f.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in13f
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in13f
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file13f.tmp 2>/dev/null >cleanup_milter.tmp
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file13f.tmp 2>/dev/null >cleanup_milter.tmp
|
||||||
diff cleanup_milter.ref13f cleanup_milter.tmp
|
diff cleanup_milter.ref13f cleanup_milter.tmp
|
||||||
rm -f test-queue-file13f.tmp cleanup_milter.tmp
|
rm -f test-queue-file13f.tmp cleanup_milter.tmp
|
||||||
|
|
||||||
@ -408,9 +410,9 @@ cleanup_milter_test14a: cleanup_milter test-queue-file14 cleanup_milter.in14a \
|
|||||||
cleanup_milter.reg14a
|
cleanup_milter.reg14a
|
||||||
cp test-queue-file14 test-queue-file14a.tmp
|
cp test-queue-file14 test-queue-file14a.tmp
|
||||||
chmod u+w test-queue-file14a.tmp
|
chmod u+w test-queue-file14a.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in14a 2>cleanup_milter.tmp1
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in14a 2>cleanup_milter.tmp1
|
||||||
diff cleanup_milter.ref14a1 cleanup_milter.tmp1
|
diff cleanup_milter.ref14a1 cleanup_milter.tmp1
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file14a.tmp 2>/dev/null >cleanup_milter.tmp2
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file14a.tmp 2>/dev/null >cleanup_milter.tmp2
|
||||||
diff cleanup_milter.ref14a2 cleanup_milter.tmp2
|
diff cleanup_milter.ref14a2 cleanup_milter.tmp2
|
||||||
rm -f test-queue-file14a.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
rm -f test-queue-file14a.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
||||||
|
|
||||||
@ -419,9 +421,9 @@ cleanup_milter_test14b: cleanup_milter test-queue-file14 cleanup_milter.in14b \
|
|||||||
cleanup_milter.reg14b
|
cleanup_milter.reg14b
|
||||||
cp test-queue-file14 test-queue-file14b.tmp
|
cp test-queue-file14 test-queue-file14b.tmp
|
||||||
chmod u+w test-queue-file14b.tmp
|
chmod u+w test-queue-file14b.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in14b 2>cleanup_milter.tmp1
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in14b 2>cleanup_milter.tmp1
|
||||||
diff cleanup_milter.ref14b1 cleanup_milter.tmp1
|
diff cleanup_milter.ref14b1 cleanup_milter.tmp1
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file14b.tmp 2>/dev/null >cleanup_milter.tmp2
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file14b.tmp 2>/dev/null >cleanup_milter.tmp2
|
||||||
diff cleanup_milter.ref14b2 cleanup_milter.tmp2
|
diff cleanup_milter.ref14b2 cleanup_milter.tmp2
|
||||||
rm -f test-queue-file14b.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
rm -f test-queue-file14b.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
||||||
|
|
||||||
@ -430,9 +432,9 @@ cleanup_milter_test14c: cleanup_milter test-queue-file14 cleanup_milter.in14c \
|
|||||||
cleanup_milter.reg14c
|
cleanup_milter.reg14c
|
||||||
cp test-queue-file14 test-queue-file14c.tmp
|
cp test-queue-file14 test-queue-file14c.tmp
|
||||||
chmod u+w test-queue-file14c.tmp
|
chmod u+w test-queue-file14c.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in14c 2>cleanup_milter.tmp1
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in14c 2>cleanup_milter.tmp1
|
||||||
diff cleanup_milter.ref14c1 cleanup_milter.tmp1
|
diff cleanup_milter.ref14c1 cleanup_milter.tmp1
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file14c.tmp 2>/dev/null >cleanup_milter.tmp2
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file14c.tmp 2>/dev/null >cleanup_milter.tmp2
|
||||||
diff cleanup_milter.ref14c2 cleanup_milter.tmp2
|
diff cleanup_milter.ref14c2 cleanup_milter.tmp2
|
||||||
rm -f test-queue-file14c.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
rm -f test-queue-file14c.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
||||||
|
|
||||||
@ -441,9 +443,9 @@ cleanup_milter_test14d: cleanup_milter test-queue-file14 cleanup_milter.in14d \
|
|||||||
cleanup_milter.reg14d
|
cleanup_milter.reg14d
|
||||||
cp test-queue-file14 test-queue-file14d.tmp
|
cp test-queue-file14 test-queue-file14d.tmp
|
||||||
chmod u+w test-queue-file14d.tmp
|
chmod u+w test-queue-file14d.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in14d 2>cleanup_milter.tmp1
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in14d 2>cleanup_milter.tmp1
|
||||||
diff cleanup_milter.ref14d1 cleanup_milter.tmp1
|
diff cleanup_milter.ref14d1 cleanup_milter.tmp1
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file14d.tmp 2>/dev/null >cleanup_milter.tmp2
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file14d.tmp 2>/dev/null >cleanup_milter.tmp2
|
||||||
diff cleanup_milter.ref14d2 cleanup_milter.tmp2
|
diff cleanup_milter.ref14d2 cleanup_milter.tmp2
|
||||||
rm -f test-queue-file14d.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
rm -f test-queue-file14d.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
||||||
|
|
||||||
@ -452,9 +454,9 @@ cleanup_milter_test14e: cleanup_milter test-queue-file14 cleanup_milter.in14e \
|
|||||||
cleanup_milter.reg14e
|
cleanup_milter.reg14e
|
||||||
cp test-queue-file14 test-queue-file14e.tmp
|
cp test-queue-file14 test-queue-file14e.tmp
|
||||||
chmod u+w test-queue-file14e.tmp
|
chmod u+w test-queue-file14e.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in14e 2>cleanup_milter.tmp1
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in14e 2>cleanup_milter.tmp1
|
||||||
diff cleanup_milter.ref14e1 cleanup_milter.tmp1
|
diff cleanup_milter.ref14e1 cleanup_milter.tmp1
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file14e.tmp 2>/dev/null >cleanup_milter.tmp2
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file14e.tmp 2>/dev/null >cleanup_milter.tmp2
|
||||||
diff cleanup_milter.ref14e2 cleanup_milter.tmp2
|
diff cleanup_milter.ref14e2 cleanup_milter.tmp2
|
||||||
rm -f test-queue-file14e.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
rm -f test-queue-file14e.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
||||||
|
|
||||||
@ -463,9 +465,9 @@ cleanup_milter_test14f: cleanup_milter test-queue-file14 cleanup_milter.in14f \
|
|||||||
cleanup_milter.reg14f
|
cleanup_milter.reg14f
|
||||||
cp test-queue-file14 test-queue-file14f.tmp
|
cp test-queue-file14 test-queue-file14f.tmp
|
||||||
chmod u+w test-queue-file14f.tmp
|
chmod u+w test-queue-file14f.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in14f 2>cleanup_milter.tmp1
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in14f 2>cleanup_milter.tmp1
|
||||||
diff cleanup_milter.ref14f1 cleanup_milter.tmp1
|
diff cleanup_milter.ref14f1 cleanup_milter.tmp1
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file14f.tmp 2>/dev/null >cleanup_milter.tmp2
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file14f.tmp 2>/dev/null >cleanup_milter.tmp2
|
||||||
diff cleanup_milter.ref14f2 cleanup_milter.tmp2
|
diff cleanup_milter.ref14f2 cleanup_milter.tmp2
|
||||||
rm -f test-queue-file14f.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
rm -f test-queue-file14f.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
||||||
|
|
||||||
@ -474,9 +476,9 @@ cleanup_milter_test14g: cleanup_milter test-queue-file14 cleanup_milter.in14g \
|
|||||||
cleanup_milter.reg14g
|
cleanup_milter.reg14g
|
||||||
cp test-queue-file14 test-queue-file14g.tmp
|
cp test-queue-file14 test-queue-file14g.tmp
|
||||||
chmod u+w test-queue-file14g.tmp
|
chmod u+w test-queue-file14g.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in14g 2>cleanup_milter.tmp1
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in14g 2>cleanup_milter.tmp1
|
||||||
diff cleanup_milter.ref14g1 cleanup_milter.tmp1
|
diff cleanup_milter.ref14g1 cleanup_milter.tmp1
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file14g.tmp 2>/dev/null >cleanup_milter.tmp2
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file14g.tmp 2>/dev/null >cleanup_milter.tmp2
|
||||||
diff cleanup_milter.ref14g2 cleanup_milter.tmp2
|
diff cleanup_milter.ref14g2 cleanup_milter.tmp2
|
||||||
rm -f test-queue-file14g.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
rm -f test-queue-file14g.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
||||||
|
|
||||||
@ -485,9 +487,9 @@ cleanup_milter_test15a: cleanup_milter test-queue-file15 cleanup_milter.in15a \
|
|||||||
cleanup_milter.reg15a
|
cleanup_milter.reg15a
|
||||||
cp test-queue-file15 test-queue-file15a.tmp
|
cp test-queue-file15 test-queue-file15a.tmp
|
||||||
chmod u+w test-queue-file15a.tmp
|
chmod u+w test-queue-file15a.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in15a 2>cleanup_milter.tmp1
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in15a 2>cleanup_milter.tmp1
|
||||||
diff cleanup_milter.ref15a1 cleanup_milter.tmp1
|
diff cleanup_milter.ref15a1 cleanup_milter.tmp1
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file15a.tmp 2>/dev/null >cleanup_milter.tmp2
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file15a.tmp 2>/dev/null >cleanup_milter.tmp2
|
||||||
diff cleanup_milter.ref15a2 cleanup_milter.tmp2
|
diff cleanup_milter.ref15a2 cleanup_milter.tmp2
|
||||||
rm -f test-queue-file15a.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
rm -f test-queue-file15a.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
||||||
|
|
||||||
@ -496,9 +498,9 @@ cleanup_milter_test15b: cleanup_milter test-queue-file15 cleanup_milter.in15b \
|
|||||||
cleanup_milter.reg15b
|
cleanup_milter.reg15b
|
||||||
cp test-queue-file15 test-queue-file15b.tmp
|
cp test-queue-file15 test-queue-file15b.tmp
|
||||||
chmod u+w test-queue-file15b.tmp
|
chmod u+w test-queue-file15b.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in15b 2>cleanup_milter.tmp1
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in15b 2>cleanup_milter.tmp1
|
||||||
diff cleanup_milter.ref15b1 cleanup_milter.tmp1
|
diff cleanup_milter.ref15b1 cleanup_milter.tmp1
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file15b.tmp 2>/dev/null >cleanup_milter.tmp2
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file15b.tmp 2>/dev/null >cleanup_milter.tmp2
|
||||||
diff cleanup_milter.ref15b2 cleanup_milter.tmp2
|
diff cleanup_milter.ref15b2 cleanup_milter.tmp2
|
||||||
rm -f test-queue-file15b.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
rm -f test-queue-file15b.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
||||||
|
|
||||||
@ -507,9 +509,9 @@ cleanup_milter_test15c: cleanup_milter test-queue-file15 cleanup_milter.in15c \
|
|||||||
cleanup_milter.reg15c
|
cleanup_milter.reg15c
|
||||||
cp test-queue-file15 test-queue-file15c.tmp
|
cp test-queue-file15 test-queue-file15c.tmp
|
||||||
chmod u+w test-queue-file15c.tmp
|
chmod u+w test-queue-file15c.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in15c 2>cleanup_milter.tmp1
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in15c 2>cleanup_milter.tmp1
|
||||||
diff cleanup_milter.ref15c1 cleanup_milter.tmp1
|
diff cleanup_milter.ref15c1 cleanup_milter.tmp1
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file15c.tmp 2>/dev/null >cleanup_milter.tmp2
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file15c.tmp 2>/dev/null >cleanup_milter.tmp2
|
||||||
diff cleanup_milter.ref15c2 cleanup_milter.tmp2
|
diff cleanup_milter.ref15c2 cleanup_milter.tmp2
|
||||||
rm -f test-queue-file15c.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
rm -f test-queue-file15c.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
||||||
|
|
||||||
@ -518,9 +520,9 @@ cleanup_milter_test15d: cleanup_milter test-queue-file15 cleanup_milter.in15d \
|
|||||||
cleanup_milter.reg15d
|
cleanup_milter.reg15d
|
||||||
cp test-queue-file15 test-queue-file15d.tmp
|
cp test-queue-file15 test-queue-file15d.tmp
|
||||||
chmod u+w test-queue-file15d.tmp
|
chmod u+w test-queue-file15d.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in15d 2>cleanup_milter.tmp1
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in15d 2>cleanup_milter.tmp1
|
||||||
diff cleanup_milter.ref15d1 cleanup_milter.tmp1
|
diff cleanup_milter.ref15d1 cleanup_milter.tmp1
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file15d.tmp 2>/dev/null >cleanup_milter.tmp2
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file15d.tmp 2>/dev/null >cleanup_milter.tmp2
|
||||||
diff cleanup_milter.ref15d2 cleanup_milter.tmp2
|
diff cleanup_milter.ref15d2 cleanup_milter.tmp2
|
||||||
rm -f test-queue-file15d.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
rm -f test-queue-file15d.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
||||||
|
|
||||||
@ -529,9 +531,9 @@ cleanup_milter_test15e: cleanup_milter test-queue-file15 cleanup_milter.in15e \
|
|||||||
cleanup_milter.reg15e
|
cleanup_milter.reg15e
|
||||||
cp test-queue-file15 test-queue-file15e.tmp
|
cp test-queue-file15 test-queue-file15e.tmp
|
||||||
chmod u+w test-queue-file15e.tmp
|
chmod u+w test-queue-file15e.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in15e 2>cleanup_milter.tmp1
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in15e 2>cleanup_milter.tmp1
|
||||||
diff cleanup_milter.ref15e1 cleanup_milter.tmp1
|
diff cleanup_milter.ref15e1 cleanup_milter.tmp1
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file15e.tmp 2>/dev/null >cleanup_milter.tmp2
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file15e.tmp 2>/dev/null >cleanup_milter.tmp2
|
||||||
diff cleanup_milter.ref15e2 cleanup_milter.tmp2
|
diff cleanup_milter.ref15e2 cleanup_milter.tmp2
|
||||||
rm -f test-queue-file15e.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
rm -f test-queue-file15e.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
||||||
|
|
||||||
@ -540,9 +542,9 @@ cleanup_milter_test15f: cleanup_milter test-queue-file15 cleanup_milter.in15f \
|
|||||||
cleanup_milter.reg15f
|
cleanup_milter.reg15f
|
||||||
cp test-queue-file15 test-queue-file15f.tmp
|
cp test-queue-file15 test-queue-file15f.tmp
|
||||||
chmod u+w test-queue-file15f.tmp
|
chmod u+w test-queue-file15f.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in15f 2>cleanup_milter.tmp1
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in15f 2>cleanup_milter.tmp1
|
||||||
diff cleanup_milter.ref15f1 cleanup_milter.tmp1
|
diff cleanup_milter.ref15f1 cleanup_milter.tmp1
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file15f.tmp 2>/dev/null >cleanup_milter.tmp2
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file15f.tmp 2>/dev/null >cleanup_milter.tmp2
|
||||||
diff cleanup_milter.ref15f2 cleanup_milter.tmp2
|
diff cleanup_milter.ref15f2 cleanup_milter.tmp2
|
||||||
rm -f test-queue-file15f.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
rm -f test-queue-file15f.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
||||||
|
|
||||||
@ -551,9 +553,9 @@ cleanup_milter_test15g: cleanup_milter test-queue-file15 cleanup_milter.in15g \
|
|||||||
cleanup_milter.reg15g
|
cleanup_milter.reg15g
|
||||||
cp test-queue-file15 test-queue-file15g.tmp
|
cp test-queue-file15 test-queue-file15g.tmp
|
||||||
chmod u+w test-queue-file15g.tmp
|
chmod u+w test-queue-file15g.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in15g 2>cleanup_milter.tmp1
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in15g 2>cleanup_milter.tmp1
|
||||||
diff cleanup_milter.ref15g1 cleanup_milter.tmp1
|
diff cleanup_milter.ref15g1 cleanup_milter.tmp1
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file15g.tmp 2>/dev/null >cleanup_milter.tmp2
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file15g.tmp 2>/dev/null >cleanup_milter.tmp2
|
||||||
diff cleanup_milter.ref15g2 cleanup_milter.tmp2
|
diff cleanup_milter.ref15g2 cleanup_milter.tmp2
|
||||||
rm -f test-queue-file15g.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
rm -f test-queue-file15g.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
||||||
|
|
||||||
@ -562,9 +564,9 @@ cleanup_milter_test15h: cleanup_milter test-queue-file15 cleanup_milter.in15h \
|
|||||||
cleanup_milter.reg15h
|
cleanup_milter.reg15h
|
||||||
cp test-queue-file15 test-queue-file15h.tmp
|
cp test-queue-file15 test-queue-file15h.tmp
|
||||||
chmod u+w test-queue-file15h.tmp
|
chmod u+w test-queue-file15h.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in15h 2>cleanup_milter.tmp1
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in15h 2>cleanup_milter.tmp1
|
||||||
diff cleanup_milter.ref15h1 cleanup_milter.tmp1
|
diff cleanup_milter.ref15h1 cleanup_milter.tmp1
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file15h.tmp 2>/dev/null >cleanup_milter.tmp2
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file15h.tmp 2>/dev/null >cleanup_milter.tmp2
|
||||||
diff cleanup_milter.ref15h2 cleanup_milter.tmp2
|
diff cleanup_milter.ref15h2 cleanup_milter.tmp2
|
||||||
rm -f test-queue-file15h.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
rm -f test-queue-file15h.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
||||||
|
|
||||||
@ -573,9 +575,9 @@ cleanup_milter_test15i: cleanup_milter test-queue-file15 cleanup_milter.in15i \
|
|||||||
cleanup_milter.reg15i
|
cleanup_milter.reg15i
|
||||||
cp test-queue-file15 test-queue-file15i.tmp
|
cp test-queue-file15 test-queue-file15i.tmp
|
||||||
chmod u+w test-queue-file15i.tmp
|
chmod u+w test-queue-file15i.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in15i 2>cleanup_milter.tmp1
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in15i 2>cleanup_milter.tmp1
|
||||||
diff cleanup_milter.ref15i1 cleanup_milter.tmp1
|
diff cleanup_milter.ref15i1 cleanup_milter.tmp1
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file15i.tmp 2>/dev/null >cleanup_milter.tmp2
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file15i.tmp 2>/dev/null >cleanup_milter.tmp2
|
||||||
diff cleanup_milter.ref15i2 cleanup_milter.tmp2
|
diff cleanup_milter.ref15i2 cleanup_milter.tmp2
|
||||||
rm -f test-queue-file15i.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
rm -f test-queue-file15i.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
||||||
|
|
||||||
@ -583,9 +585,9 @@ cleanup_milter_test16a: cleanup_milter test-queue-file16 cleanup_milter.in16a \
|
|||||||
cleanup_milter.ref16a1 ../postcat/postcat cleanup_milter.ref16a2
|
cleanup_milter.ref16a1 ../postcat/postcat cleanup_milter.ref16a2
|
||||||
cp test-queue-file16 test-queue-file16a.tmp
|
cp test-queue-file16 test-queue-file16a.tmp
|
||||||
chmod u+w test-queue-file16a.tmp
|
chmod u+w test-queue-file16a.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in16a 2>cleanup_milter.tmp1
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in16a 2>cleanup_milter.tmp1
|
||||||
diff cleanup_milter.ref16a1 cleanup_milter.tmp1
|
diff cleanup_milter.ref16a1 cleanup_milter.tmp1
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file16a.tmp 2>/dev/null >cleanup_milter.tmp2
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file16a.tmp 2>/dev/null >cleanup_milter.tmp2
|
||||||
diff cleanup_milter.ref16a2 cleanup_milter.tmp2
|
diff cleanup_milter.ref16a2 cleanup_milter.tmp2
|
||||||
rm -f test-queue-file16a.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
rm -f test-queue-file16a.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
||||||
|
|
||||||
@ -593,12 +595,82 @@ cleanup_milter_test16b: cleanup_milter test-queue-file16 cleanup_milter.in16b \
|
|||||||
cleanup_milter.ref16b1 ../postcat/postcat cleanup_milter.ref16b2
|
cleanup_milter.ref16b1 ../postcat/postcat cleanup_milter.ref16b2
|
||||||
cp test-queue-file16 test-queue-file16b.tmp
|
cp test-queue-file16 test-queue-file16b.tmp
|
||||||
chmod u+w test-queue-file16b.tmp
|
chmod u+w test-queue-file16b.tmp
|
||||||
$(SHLIB_ENV) ./cleanup_milter <cleanup_milter.in16b 2>cleanup_milter.tmp1
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in16b 2>cleanup_milter.tmp1
|
||||||
diff cleanup_milter.ref16b1 cleanup_milter.tmp1
|
diff cleanup_milter.ref16b1 cleanup_milter.tmp1
|
||||||
$(SHLIB_ENV) ../postcat/postcat -ov test-queue-file16b.tmp 2>/dev/null >cleanup_milter.tmp2
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file16b.tmp 2>/dev/null >cleanup_milter.tmp2
|
||||||
diff cleanup_milter.ref16b2 cleanup_milter.tmp2
|
diff cleanup_milter.ref16b2 cleanup_milter.tmp2
|
||||||
rm -f test-queue-file16b.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
rm -f test-queue-file16b.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
||||||
|
|
||||||
|
cleanup_milter_test17a: cleanup_milter test-queue-file17 cleanup_milter.in17a \
|
||||||
|
cleanup_milter.ref17a1 ../postcat/postcat cleanup_milter.ref17a2
|
||||||
|
cp test-queue-file17 test-queue-file17a.tmp
|
||||||
|
chmod u+w test-queue-file17a.tmp
|
||||||
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in17a 2>cleanup_milter.tmp1
|
||||||
|
diff cleanup_milter.ref17a1 cleanup_milter.tmp1
|
||||||
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file17a.tmp 2>/dev/null >cleanup_milter.tmp2
|
||||||
|
diff cleanup_milter.ref17a2 cleanup_milter.tmp2
|
||||||
|
rm -f test-queue-file17a.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
||||||
|
|
||||||
|
cleanup_milter_test17b: cleanup_milter test-queue-file17 cleanup_milter.in17b \
|
||||||
|
cleanup_milter.ref17b1 ../postcat/postcat cleanup_milter.ref17b2
|
||||||
|
cp test-queue-file17 test-queue-file17b.tmp
|
||||||
|
chmod u+w test-queue-file17b.tmp
|
||||||
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in17b 2>cleanup_milter.tmp1
|
||||||
|
diff cleanup_milter.ref17b1 cleanup_milter.tmp1
|
||||||
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file17b.tmp 2>/dev/null >cleanup_milter.tmp2
|
||||||
|
diff cleanup_milter.ref17b2 cleanup_milter.tmp2
|
||||||
|
rm -f test-queue-file17b.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
||||||
|
|
||||||
|
cleanup_milter_test17c: cleanup_milter test-queue-file17 cleanup_milter.in17c \
|
||||||
|
cleanup_milter.ref17c1 ../postcat/postcat cleanup_milter.ref17c2
|
||||||
|
cp test-queue-file17 test-queue-file17c.tmp
|
||||||
|
chmod u+w test-queue-file17c.tmp
|
||||||
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in17c 2>cleanup_milter.tmp1
|
||||||
|
diff cleanup_milter.ref17c1 cleanup_milter.tmp1
|
||||||
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file17c.tmp 2>/dev/null >cleanup_milter.tmp2
|
||||||
|
diff cleanup_milter.ref17c2 cleanup_milter.tmp2
|
||||||
|
rm -f test-queue-file17c.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
||||||
|
|
||||||
|
cleanup_milter_test17d: cleanup_milter test-queue-file17 cleanup_milter.in17d \
|
||||||
|
cleanup_milter.ref17d1 ../postcat/postcat cleanup_milter.ref17d2
|
||||||
|
cp test-queue-file17 test-queue-file17d.tmp
|
||||||
|
chmod u+w test-queue-file17d.tmp
|
||||||
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in17d 2>cleanup_milter.tmp1
|
||||||
|
diff cleanup_milter.ref17d1 cleanup_milter.tmp1
|
||||||
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file17d.tmp 2>/dev/null >cleanup_milter.tmp2
|
||||||
|
diff cleanup_milter.ref17d2 cleanup_milter.tmp2
|
||||||
|
rm -f test-queue-file17d.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
||||||
|
|
||||||
|
cleanup_milter_test17e: cleanup_milter test-queue-file17 cleanup_milter.in17e \
|
||||||
|
cleanup_milter.ref17e1 ../postcat/postcat cleanup_milter.ref17e2
|
||||||
|
cp test-queue-file17 test-queue-file17e.tmp
|
||||||
|
chmod u+w test-queue-file17e.tmp
|
||||||
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in17e 2>cleanup_milter.tmp1
|
||||||
|
diff cleanup_milter.ref17e1 cleanup_milter.tmp1
|
||||||
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file17e.tmp 2>/dev/null >cleanup_milter.tmp2
|
||||||
|
diff cleanup_milter.ref17e2 cleanup_milter.tmp2
|
||||||
|
rm -f test-queue-file17e.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
||||||
|
|
||||||
|
cleanup_milter_test17f: cleanup_milter test-queue-file17 cleanup_milter.in17f \
|
||||||
|
cleanup_milter.ref17f1 ../postcat/postcat cleanup_milter.ref17f2
|
||||||
|
cp test-queue-file17 test-queue-file17f.tmp
|
||||||
|
chmod u+w test-queue-file17f.tmp
|
||||||
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in17f 2>cleanup_milter.tmp1
|
||||||
|
diff cleanup_milter.ref17f1 cleanup_milter.tmp1
|
||||||
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file17f.tmp 2>/dev/null >cleanup_milter.tmp2
|
||||||
|
diff cleanup_milter.ref17f2 cleanup_milter.tmp2
|
||||||
|
rm -f test-queue-file17f.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
||||||
|
|
||||||
|
cleanup_milter_test17g: cleanup_milter test-queue-file17 cleanup_milter.in17g \
|
||||||
|
cleanup_milter.ref17g1 ../postcat/postcat cleanup_milter.ref17g2
|
||||||
|
cp test-queue-file17 test-queue-file17g.tmp
|
||||||
|
chmod u+w test-queue-file17g.tmp
|
||||||
|
$(SHLIB_ENV) $(VALGRIND) ./cleanup_milter <cleanup_milter.in17g 2>cleanup_milter.tmp1
|
||||||
|
diff cleanup_milter.ref17g1 cleanup_milter.tmp1
|
||||||
|
$(SHLIB_ENV) $(VALGRIND) ../postcat/postcat -ov test-queue-file17g.tmp 2>/dev/null >cleanup_milter.tmp2
|
||||||
|
diff cleanup_milter.ref17g2 cleanup_milter.tmp2
|
||||||
|
rm -f test-queue-file17g.tmp cleanup_milter.tmp1 cleanup_milter.tmp2
|
||||||
|
|
||||||
depend: $(MAKES)
|
depend: $(MAKES)
|
||||||
(sed '1,/^# do not edit/!d' Makefile.in; \
|
(sed '1,/^# do not edit/!d' Makefile.in; \
|
||||||
set -e; for i in [a-z][a-z0-9]*.c; do \
|
set -e; for i in [a-z][a-z0-9]*.c; do \
|
||||||
|
@ -1803,6 +1803,11 @@ static const char *cleanup_del_rcpt(void *context, const char *ext_rcpt)
|
|||||||
}
|
}
|
||||||
count++;
|
count++;
|
||||||
}
|
}
|
||||||
|
if (var_enable_orcpt)
|
||||||
|
/* Matches been_here() call in cleanup_out_recipient(). */
|
||||||
|
been_here_drop(state->dups, "%s\n%d\n%s\n%s",
|
||||||
|
dsn_orcpt ? dsn_orcpt : "", dsn_notify,
|
||||||
|
orig_rcpt ? orig_rcpt : "", STR(int_rcpt_buf));
|
||||||
/* FALLTHROUGH */
|
/* FALLTHROUGH */
|
||||||
case REC_TYPE_DRCP: /* canceled recipient */
|
case REC_TYPE_DRCP: /* canceled recipient */
|
||||||
case REC_TYPE_DONE: /* can't happen */
|
case REC_TYPE_DONE: /* can't happen */
|
||||||
@ -1818,6 +1823,9 @@ static const char *cleanup_del_rcpt(void *context, const char *ext_rcpt)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/* Matches been_here_fixed() call in cleanup_out_recipient(). */
|
||||||
|
if (var_enable_orcpt == 0 && count > 0)
|
||||||
|
been_here_drop_fixed(state->dups, STR(int_rcpt_buf));
|
||||||
|
|
||||||
if (msg_verbose)
|
if (msg_verbose)
|
||||||
msg_info("%s: deleted %d records for recipient \"%s\"",
|
msg_info("%s: deleted %d records for recipient \"%s\"",
|
||||||
@ -2549,6 +2557,18 @@ int main(int unused_argc, char **argv)
|
|||||||
} else {
|
} else {
|
||||||
open_queue_file(state, argv->argv[1]);
|
open_queue_file(state, argv->argv[1]);
|
||||||
}
|
}
|
||||||
|
} else if (strcmp(argv->argv[0], "enable_original_recipient") == 0) {
|
||||||
|
if (argv->argc == 1) {
|
||||||
|
msg_info("enable_original_recipient: %d", var_enable_orcpt);
|
||||||
|
} else if (argv->argc != 2) {
|
||||||
|
msg_warn("bad enable_original_recipient argument count: %ld",
|
||||||
|
(long) argv->argc);
|
||||||
|
} else if (!alldig(argv->argv[1])) {
|
||||||
|
msg_warn("non-numeric enable_original_recipient argument: %s",
|
||||||
|
argv->argv[1]);
|
||||||
|
} else {
|
||||||
|
var_enable_orcpt = atoi(argv->argv[1]);
|
||||||
|
}
|
||||||
} else if (state->dst == 0) {
|
} else if (state->dst == 0) {
|
||||||
msg_warn("no open queue file");
|
msg_warn("no open queue file");
|
||||||
} else if (strcmp(argv->argv[0], "close") == 0) {
|
} else if (strcmp(argv->argv[0], "close") == 0) {
|
||||||
|
9
postfix/src/cleanup/cleanup_milter.in17a
Normal file
9
postfix/src/cleanup/cleanup_milter.in17a
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#verbose on
|
||||||
|
open test-queue-file17a.tmp
|
||||||
|
#
|
||||||
|
# Delete a recipient. Then add the recipient back.
|
||||||
|
|
||||||
|
del_rcpt user@example.com
|
||||||
|
add_rcpt user@example.com
|
||||||
|
|
||||||
|
close
|
10
postfix/src/cleanup/cleanup_milter.in17b
Normal file
10
postfix/src/cleanup/cleanup_milter.in17b
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#verbose on
|
||||||
|
open test-queue-file17b.tmp
|
||||||
|
#
|
||||||
|
# Delete a recipient. Then add the recipient back, with a DSN NOTIFY
|
||||||
|
# record instead of a DSN original recipient.
|
||||||
|
|
||||||
|
del_rcpt user@example.com
|
||||||
|
add_rcpt_par user@example.com NOTIFY=never
|
||||||
|
|
||||||
|
close
|
12
postfix/src/cleanup/cleanup_milter.in17c
Normal file
12
postfix/src/cleanup/cleanup_milter.in17c
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
#verbose on
|
||||||
|
open test-queue-file17c.tmp
|
||||||
|
#
|
||||||
|
# Delete a recipient. Then add the recipient back, with a DSN NOTIFY
|
||||||
|
# record instead of a DSN original recipient. Then add the same again.
|
||||||
|
# The second command should be ignored as a duplicate.
|
||||||
|
|
||||||
|
del_rcpt user@example.com
|
||||||
|
add_rcpt_par user@example.com NOTIFY=never
|
||||||
|
add_rcpt_par user@example.com NOTIFY=never
|
||||||
|
|
||||||
|
close
|
18
postfix/src/cleanup/cleanup_milter.in17d
Normal file
18
postfix/src/cleanup/cleanup_milter.in17d
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
#verbose on
|
||||||
|
open test-queue-file17d.tmp
|
||||||
|
#
|
||||||
|
# Delete a recipient. Then add the recipient back, with a DSN NOTIFY
|
||||||
|
# record instead of a DSN original recipient. Then add the same again.
|
||||||
|
# The second command should be ignored as a duplicate.
|
||||||
|
|
||||||
|
del_rcpt user@example.com
|
||||||
|
add_rcpt_par user@example.com NOTIFY=never
|
||||||
|
add_rcpt_par user@example.com NOTIFY=never
|
||||||
|
|
||||||
|
# The above has confirmed that recipient is in the duplicate filter.
|
||||||
|
# Now verify that del_rcpt will delete it, and that a subsequent
|
||||||
|
# add_rcpt_par will NOT be ignored.
|
||||||
|
del_rcpt user@example.com
|
||||||
|
add_rcpt_par user@example.com NOTIFY=never
|
||||||
|
|
||||||
|
close
|
12
postfix/src/cleanup/cleanup_milter.in17e
Normal file
12
postfix/src/cleanup/cleanup_milter.in17e
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
#verbose on
|
||||||
|
open test-queue-file17e.tmp
|
||||||
|
#
|
||||||
|
# Delete a recipient. Then add the recipient back.
|
||||||
|
|
||||||
|
enable_original_recipient 0
|
||||||
|
enable_original_recipient
|
||||||
|
|
||||||
|
del_rcpt user@example.com
|
||||||
|
add_rcpt user@example.com
|
||||||
|
|
||||||
|
close
|
15
postfix/src/cleanup/cleanup_milter.in17f
Normal file
15
postfix/src/cleanup/cleanup_milter.in17f
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#verbose on
|
||||||
|
open test-queue-file17f.tmp
|
||||||
|
#
|
||||||
|
# Delete a recipient. Then add the recipient back.
|
||||||
|
|
||||||
|
enable_original_recipient 0
|
||||||
|
enable_original_recipient
|
||||||
|
|
||||||
|
del_rcpt user@example.com
|
||||||
|
add_rcpt user@example.com
|
||||||
|
|
||||||
|
# Adding the recipient another time should be a NOOP.
|
||||||
|
add_rcpt user@example.com
|
||||||
|
|
||||||
|
close
|
23
postfix/src/cleanup/cleanup_milter.in17g
Normal file
23
postfix/src/cleanup/cleanup_milter.in17g
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
#verbose on
|
||||||
|
open test-queue-file17g.tmp
|
||||||
|
#
|
||||||
|
# Delete a recipient. This leaves a deleted recipient in the queue
|
||||||
|
# file. Then add the recipient back.
|
||||||
|
#
|
||||||
|
enable_original_recipient 0
|
||||||
|
enable_original_recipient
|
||||||
|
|
||||||
|
del_rcpt user@example.com
|
||||||
|
add_rcpt user@example.com
|
||||||
|
|
||||||
|
# Adding the recipient another time should be a NOOP.
|
||||||
|
add_rcpt user@example.com
|
||||||
|
|
||||||
|
# Deleting the recipient should remove it from the duplicate filter.
|
||||||
|
# This leaves a deleted recipient in the queue file.
|
||||||
|
# Therefore adding the recipient will not be a NOOP.
|
||||||
|
|
||||||
|
del_rcpt user@example.com
|
||||||
|
add_rcpt user@example.com
|
||||||
|
|
||||||
|
close
|
1
postfix/src/cleanup/cleanup_milter.ref17a1
Normal file
1
postfix/src/cleanup/cleanup_milter.ref17a1
Normal file
@ -0,0 +1 @@
|
|||||||
|
./cleanup_milter: flags = enable_header_body_filter enable_milters
|
30
postfix/src/cleanup/cleanup_milter.ref17a2
Normal file
30
postfix/src/cleanup/cleanup_milter.ref17a2
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
*** ENVELOPE RECORDS test-queue-file17a.tmp ***
|
||||||
|
0 message_size: 343 215 1 0 343 0
|
||||||
|
97 message_arrival_time: Tue Nov 18 16:43:29 2014
|
||||||
|
116 create_time: Tue Nov 18 16:43:29 2014
|
||||||
|
140 named_attribute: rewrite_context=local
|
||||||
|
163 sender_fullname: Wietse Venema
|
||||||
|
178 sender: user@example.com
|
||||||
|
196 pointer_record: 654
|
||||||
|
654 original_recipient: user@example.com
|
||||||
|
672 recipient: user@example.com
|
||||||
|
690 pointer_record: 213
|
||||||
|
213 *** MESSAGE CONTENTS test-queue-file17a.tmp ***
|
||||||
|
215 regular_text: Received: by host.example.com (Postfix, from userid 1001)
|
||||||
|
274 regular_text: id 663E22172797; Tue, 18 Nov 2014 16:43:29 -0500 (EST)
|
||||||
|
331 regular_text: To: user@example.com
|
||||||
|
353 regular_text: Subject: test
|
||||||
|
368 padding: 0
|
||||||
|
371 regular_text: Message-Id: <20141118214329.663E22172797@host.example.com>
|
||||||
|
431 regular_text: Date: Tue, 18 Nov 2014 16:43:29 -0500 (EST)
|
||||||
|
476 regular_text: From: user@example.com (Wietse Venema)
|
||||||
|
516 pointer_record: 0
|
||||||
|
533 regular_text:
|
||||||
|
535 regular_text: test
|
||||||
|
541 pointer_record: 0
|
||||||
|
558 *** HEADER EXTRACTED test-queue-file17a.tmp ***
|
||||||
|
560 pointer_record: 0
|
||||||
|
577 named_attribute: dsn_orig_rcpt=rfc822;user@example.com
|
||||||
|
616 original_recipient: user@example.com
|
||||||
|
634 canceled_recipient: user@example.com
|
||||||
|
652 *** MESSAGE FILE END test-queue-file17a.tmp ***
|
1
postfix/src/cleanup/cleanup_milter.ref17b1
Normal file
1
postfix/src/cleanup/cleanup_milter.ref17b1
Normal file
@ -0,0 +1 @@
|
|||||||
|
./cleanup_milter: flags = enable_header_body_filter enable_milters
|
31
postfix/src/cleanup/cleanup_milter.ref17b2
Normal file
31
postfix/src/cleanup/cleanup_milter.ref17b2
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
*** ENVELOPE RECORDS test-queue-file17b.tmp ***
|
||||||
|
0 message_size: 343 215 1 0 343 0
|
||||||
|
97 message_arrival_time: Tue Nov 18 16:43:29 2014
|
||||||
|
116 create_time: Tue Nov 18 16:43:29 2014
|
||||||
|
140 named_attribute: rewrite_context=local
|
||||||
|
163 sender_fullname: Wietse Venema
|
||||||
|
178 sender: user@example.com
|
||||||
|
196 pointer_record: 654
|
||||||
|
654 named_attribute: notify_flags=1
|
||||||
|
670 original_recipient: user@example.com
|
||||||
|
688 recipient: user@example.com
|
||||||
|
706 pointer_record: 213
|
||||||
|
213 *** MESSAGE CONTENTS test-queue-file17b.tmp ***
|
||||||
|
215 regular_text: Received: by host.example.com (Postfix, from userid 1001)
|
||||||
|
274 regular_text: id 663E22172797; Tue, 18 Nov 2014 16:43:29 -0500 (EST)
|
||||||
|
331 regular_text: To: user@example.com
|
||||||
|
353 regular_text: Subject: test
|
||||||
|
368 padding: 0
|
||||||
|
371 regular_text: Message-Id: <20141118214329.663E22172797@host.example.com>
|
||||||
|
431 regular_text: Date: Tue, 18 Nov 2014 16:43:29 -0500 (EST)
|
||||||
|
476 regular_text: From: user@example.com (Wietse Venema)
|
||||||
|
516 pointer_record: 0
|
||||||
|
533 regular_text:
|
||||||
|
535 regular_text: test
|
||||||
|
541 pointer_record: 0
|
||||||
|
558 *** HEADER EXTRACTED test-queue-file17b.tmp ***
|
||||||
|
560 pointer_record: 0
|
||||||
|
577 named_attribute: dsn_orig_rcpt=rfc822;user@example.com
|
||||||
|
616 original_recipient: user@example.com
|
||||||
|
634 canceled_recipient: user@example.com
|
||||||
|
652 *** MESSAGE FILE END test-queue-file17b.tmp ***
|
1
postfix/src/cleanup/cleanup_milter.ref17c1
Normal file
1
postfix/src/cleanup/cleanup_milter.ref17c1
Normal file
@ -0,0 +1 @@
|
|||||||
|
./cleanup_milter: flags = enable_header_body_filter enable_milters
|
31
postfix/src/cleanup/cleanup_milter.ref17c2
Normal file
31
postfix/src/cleanup/cleanup_milter.ref17c2
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
*** ENVELOPE RECORDS test-queue-file17c.tmp ***
|
||||||
|
0 message_size: 343 215 1 0 343 0
|
||||||
|
97 message_arrival_time: Tue Nov 18 16:43:29 2014
|
||||||
|
116 create_time: Tue Nov 18 16:43:29 2014
|
||||||
|
140 named_attribute: rewrite_context=local
|
||||||
|
163 sender_fullname: Wietse Venema
|
||||||
|
178 sender: user@example.com
|
||||||
|
196 pointer_record: 654
|
||||||
|
654 named_attribute: notify_flags=1
|
||||||
|
670 original_recipient: user@example.com
|
||||||
|
688 recipient: user@example.com
|
||||||
|
706 pointer_record: 213
|
||||||
|
213 *** MESSAGE CONTENTS test-queue-file17c.tmp ***
|
||||||
|
215 regular_text: Received: by host.example.com (Postfix, from userid 1001)
|
||||||
|
274 regular_text: id 663E22172797; Tue, 18 Nov 2014 16:43:29 -0500 (EST)
|
||||||
|
331 regular_text: To: user@example.com
|
||||||
|
353 regular_text: Subject: test
|
||||||
|
368 padding: 0
|
||||||
|
371 regular_text: Message-Id: <20141118214329.663E22172797@host.example.com>
|
||||||
|
431 regular_text: Date: Tue, 18 Nov 2014 16:43:29 -0500 (EST)
|
||||||
|
476 regular_text: From: user@example.com (Wietse Venema)
|
||||||
|
516 pointer_record: 0
|
||||||
|
533 regular_text:
|
||||||
|
535 regular_text: test
|
||||||
|
541 pointer_record: 0
|
||||||
|
558 *** HEADER EXTRACTED test-queue-file17c.tmp ***
|
||||||
|
560 pointer_record: 0
|
||||||
|
577 named_attribute: dsn_orig_rcpt=rfc822;user@example.com
|
||||||
|
616 original_recipient: user@example.com
|
||||||
|
634 canceled_recipient: user@example.com
|
||||||
|
652 *** MESSAGE FILE END test-queue-file17c.tmp ***
|
1
postfix/src/cleanup/cleanup_milter.ref17d1
Normal file
1
postfix/src/cleanup/cleanup_milter.ref17d1
Normal file
@ -0,0 +1 @@
|
|||||||
|
./cleanup_milter: flags = enable_header_body_filter enable_milters
|
35
postfix/src/cleanup/cleanup_milter.ref17d2
Normal file
35
postfix/src/cleanup/cleanup_milter.ref17d2
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
*** ENVELOPE RECORDS test-queue-file17d.tmp ***
|
||||||
|
0 message_size: 343 215 1 0 343 0
|
||||||
|
97 message_arrival_time: Tue Nov 18 16:43:29 2014
|
||||||
|
116 create_time: Tue Nov 18 16:43:29 2014
|
||||||
|
140 named_attribute: rewrite_context=local
|
||||||
|
163 sender_fullname: Wietse Venema
|
||||||
|
178 sender: user@example.com
|
||||||
|
196 pointer_record: 654
|
||||||
|
654 named_attribute: notify_flags=1
|
||||||
|
670 original_recipient: user@example.com
|
||||||
|
688 canceled_recipient: user@example.com
|
||||||
|
706 pointer_record: 723
|
||||||
|
723 named_attribute: notify_flags=1
|
||||||
|
739 original_recipient: user@example.com
|
||||||
|
757 recipient: user@example.com
|
||||||
|
775 pointer_record: 213
|
||||||
|
213 *** MESSAGE CONTENTS test-queue-file17d.tmp ***
|
||||||
|
215 regular_text: Received: by host.example.com (Postfix, from userid 1001)
|
||||||
|
274 regular_text: id 663E22172797; Tue, 18 Nov 2014 16:43:29 -0500 (EST)
|
||||||
|
331 regular_text: To: user@example.com
|
||||||
|
353 regular_text: Subject: test
|
||||||
|
368 padding: 0
|
||||||
|
371 regular_text: Message-Id: <20141118214329.663E22172797@host.example.com>
|
||||||
|
431 regular_text: Date: Tue, 18 Nov 2014 16:43:29 -0500 (EST)
|
||||||
|
476 regular_text: From: user@example.com (Wietse Venema)
|
||||||
|
516 pointer_record: 0
|
||||||
|
533 regular_text:
|
||||||
|
535 regular_text: test
|
||||||
|
541 pointer_record: 0
|
||||||
|
558 *** HEADER EXTRACTED test-queue-file17d.tmp ***
|
||||||
|
560 pointer_record: 0
|
||||||
|
577 named_attribute: dsn_orig_rcpt=rfc822;user@example.com
|
||||||
|
616 original_recipient: user@example.com
|
||||||
|
634 canceled_recipient: user@example.com
|
||||||
|
652 *** MESSAGE FILE END test-queue-file17d.tmp ***
|
2
postfix/src/cleanup/cleanup_milter.ref17e1
Normal file
2
postfix/src/cleanup/cleanup_milter.ref17e1
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
./cleanup_milter: enable_original_recipient: 0
|
||||||
|
./cleanup_milter: flags = enable_header_body_filter enable_milters
|
30
postfix/src/cleanup/cleanup_milter.ref17e2
Normal file
30
postfix/src/cleanup/cleanup_milter.ref17e2
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
*** ENVELOPE RECORDS test-queue-file17e.tmp ***
|
||||||
|
0 message_size: 343 215 1 0 343 0
|
||||||
|
97 message_arrival_time: Tue Nov 18 16:43:29 2014
|
||||||
|
116 create_time: Tue Nov 18 16:43:29 2014
|
||||||
|
140 named_attribute: rewrite_context=local
|
||||||
|
163 sender_fullname: Wietse Venema
|
||||||
|
178 sender: user@example.com
|
||||||
|
196 pointer_record: 654
|
||||||
|
654 original_recipient: user@example.com
|
||||||
|
672 recipient: user@example.com
|
||||||
|
690 pointer_record: 213
|
||||||
|
213 *** MESSAGE CONTENTS test-queue-file17e.tmp ***
|
||||||
|
215 regular_text: Received: by host.example.com (Postfix, from userid 1001)
|
||||||
|
274 regular_text: id 663E22172797; Tue, 18 Nov 2014 16:43:29 -0500 (EST)
|
||||||
|
331 regular_text: To: user@example.com
|
||||||
|
353 regular_text: Subject: test
|
||||||
|
368 padding: 0
|
||||||
|
371 regular_text: Message-Id: <20141118214329.663E22172797@host.example.com>
|
||||||
|
431 regular_text: Date: Tue, 18 Nov 2014 16:43:29 -0500 (EST)
|
||||||
|
476 regular_text: From: user@example.com (Wietse Venema)
|
||||||
|
516 pointer_record: 0
|
||||||
|
533 regular_text:
|
||||||
|
535 regular_text: test
|
||||||
|
541 pointer_record: 0
|
||||||
|
558 *** HEADER EXTRACTED test-queue-file17e.tmp ***
|
||||||
|
560 pointer_record: 0
|
||||||
|
577 named_attribute: dsn_orig_rcpt=rfc822;user@example.com
|
||||||
|
616 original_recipient: user@example.com
|
||||||
|
634 canceled_recipient: user@example.com
|
||||||
|
652 *** MESSAGE FILE END test-queue-file17e.tmp ***
|
2
postfix/src/cleanup/cleanup_milter.ref17f1
Normal file
2
postfix/src/cleanup/cleanup_milter.ref17f1
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
./cleanup_milter: enable_original_recipient: 0
|
||||||
|
./cleanup_milter: flags = enable_header_body_filter enable_milters
|
30
postfix/src/cleanup/cleanup_milter.ref17f2
Normal file
30
postfix/src/cleanup/cleanup_milter.ref17f2
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
*** ENVELOPE RECORDS test-queue-file17f.tmp ***
|
||||||
|
0 message_size: 343 215 1 0 343 0
|
||||||
|
97 message_arrival_time: Tue Nov 18 16:43:29 2014
|
||||||
|
116 create_time: Tue Nov 18 16:43:29 2014
|
||||||
|
140 named_attribute: rewrite_context=local
|
||||||
|
163 sender_fullname: Wietse Venema
|
||||||
|
178 sender: user@example.com
|
||||||
|
196 pointer_record: 654
|
||||||
|
654 original_recipient: user@example.com
|
||||||
|
672 recipient: user@example.com
|
||||||
|
690 pointer_record: 213
|
||||||
|
213 *** MESSAGE CONTENTS test-queue-file17f.tmp ***
|
||||||
|
215 regular_text: Received: by host.example.com (Postfix, from userid 1001)
|
||||||
|
274 regular_text: id 663E22172797; Tue, 18 Nov 2014 16:43:29 -0500 (EST)
|
||||||
|
331 regular_text: To: user@example.com
|
||||||
|
353 regular_text: Subject: test
|
||||||
|
368 padding: 0
|
||||||
|
371 regular_text: Message-Id: <20141118214329.663E22172797@host.example.com>
|
||||||
|
431 regular_text: Date: Tue, 18 Nov 2014 16:43:29 -0500 (EST)
|
||||||
|
476 regular_text: From: user@example.com (Wietse Venema)
|
||||||
|
516 pointer_record: 0
|
||||||
|
533 regular_text:
|
||||||
|
535 regular_text: test
|
||||||
|
541 pointer_record: 0
|
||||||
|
558 *** HEADER EXTRACTED test-queue-file17f.tmp ***
|
||||||
|
560 pointer_record: 0
|
||||||
|
577 named_attribute: dsn_orig_rcpt=rfc822;user@example.com
|
||||||
|
616 original_recipient: user@example.com
|
||||||
|
634 canceled_recipient: user@example.com
|
||||||
|
652 *** MESSAGE FILE END test-queue-file17f.tmp ***
|
2
postfix/src/cleanup/cleanup_milter.ref17g1
Normal file
2
postfix/src/cleanup/cleanup_milter.ref17g1
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
./cleanup_milter: enable_original_recipient: 0
|
||||||
|
./cleanup_milter: flags = enable_header_body_filter enable_milters
|
33
postfix/src/cleanup/cleanup_milter.ref17g2
Normal file
33
postfix/src/cleanup/cleanup_milter.ref17g2
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
*** ENVELOPE RECORDS test-queue-file17g.tmp ***
|
||||||
|
0 message_size: 343 215 1 0 343 0
|
||||||
|
97 message_arrival_time: Tue Nov 18 16:43:29 2014
|
||||||
|
116 create_time: Tue Nov 18 16:43:29 2014
|
||||||
|
140 named_attribute: rewrite_context=local
|
||||||
|
163 sender_fullname: Wietse Venema
|
||||||
|
178 sender: user@example.com
|
||||||
|
196 pointer_record: 654
|
||||||
|
654 original_recipient: user@example.com
|
||||||
|
672 canceled_recipient: user@example.com
|
||||||
|
690 pointer_record: 707
|
||||||
|
707 original_recipient: user@example.com
|
||||||
|
725 recipient: user@example.com
|
||||||
|
743 pointer_record: 213
|
||||||
|
213 *** MESSAGE CONTENTS test-queue-file17g.tmp ***
|
||||||
|
215 regular_text: Received: by host.example.com (Postfix, from userid 1001)
|
||||||
|
274 regular_text: id 663E22172797; Tue, 18 Nov 2014 16:43:29 -0500 (EST)
|
||||||
|
331 regular_text: To: user@example.com
|
||||||
|
353 regular_text: Subject: test
|
||||||
|
368 padding: 0
|
||||||
|
371 regular_text: Message-Id: <20141118214329.663E22172797@host.example.com>
|
||||||
|
431 regular_text: Date: Tue, 18 Nov 2014 16:43:29 -0500 (EST)
|
||||||
|
476 regular_text: From: user@example.com (Wietse Venema)
|
||||||
|
516 pointer_record: 0
|
||||||
|
533 regular_text:
|
||||||
|
535 regular_text: test
|
||||||
|
541 pointer_record: 0
|
||||||
|
558 *** HEADER EXTRACTED test-queue-file17g.tmp ***
|
||||||
|
560 pointer_record: 0
|
||||||
|
577 named_attribute: dsn_orig_rcpt=rfc822;user@example.com
|
||||||
|
616 original_recipient: user@example.com
|
||||||
|
634 canceled_recipient: user@example.com
|
||||||
|
652 *** MESSAGE FILE END test-queue-file17g.tmp ***
|
@ -155,6 +155,7 @@ void cleanup_out_recipient(CLEANUP_STATE *state,
|
|||||||
|
|
||||||
if ((state->flags & CLEANUP_FLAG_MAP_OK) == 0
|
if ((state->flags & CLEANUP_FLAG_MAP_OK) == 0
|
||||||
|| cleanup_virt_alias_maps == 0) {
|
|| cleanup_virt_alias_maps == 0) {
|
||||||
|
/* Matches been_here_drop{,_fixed}() calls cleanup_del_rcpt(). */
|
||||||
if ((var_enable_orcpt ?
|
if ((var_enable_orcpt ?
|
||||||
been_here(state->dups, "%s\n%d\n%s\n%s",
|
been_here(state->dups, "%s\n%d\n%s\n%s",
|
||||||
dsn_orcpt, dsn_notify, orcpt, recip) :
|
dsn_orcpt, dsn_notify, orcpt, recip) :
|
||||||
|
BIN
postfix/src/cleanup/test-queue-file17
Normal file
BIN
postfix/src/cleanup/test-queue-file17
Normal file
Binary file not shown.
@ -125,7 +125,7 @@ TESTPROG= domain_list dot_lockfile mail_addr_crunch mail_addr_find \
|
|||||||
data_redirect addr_match_list safe_ultostr verify_sender_addr \
|
data_redirect addr_match_list safe_ultostr verify_sender_addr \
|
||||||
mail_version mail_dict server_acl uxtext mail_parm_split \
|
mail_version mail_dict server_acl uxtext mail_parm_split \
|
||||||
fold_addr smtp_reply_footer mail_addr_map normalize_mailhost_addr \
|
fold_addr smtp_reply_footer mail_addr_map normalize_mailhost_addr \
|
||||||
haproxy_srvr map_search
|
haproxy_srvr map_search delivered_hdr
|
||||||
|
|
||||||
LIBS = ../../lib/lib$(LIB_PREFIX)util$(LIB_SUFFIX)
|
LIBS = ../../lib/lib$(LIB_PREFIX)util$(LIB_SUFFIX)
|
||||||
LIB_DIR = ../../lib
|
LIB_DIR = ../../lib
|
||||||
@ -393,6 +393,9 @@ haproxy_srvr: haproxy_srvr.c $(LIB) $(LIBS)
|
|||||||
map_search: map_search.c $(LIB) $(LIBS)
|
map_search: map_search.c $(LIB) $(LIBS)
|
||||||
$(CC) $(CFLAGS) -DTEST -o $@ $@.c $(LIB) $(LIBS) $(SYSLIBS)
|
$(CC) $(CFLAGS) -DTEST -o $@ $@.c $(LIB) $(LIBS) $(SYSLIBS)
|
||||||
|
|
||||||
|
delivered_hdr: delivered_hdr.c $(LIB) $(LIBS)
|
||||||
|
$(CC) $(CFLAGS) -DTEST -o $@ $@.c $(LIB) $(LIBS) $(SYSLIBS)
|
||||||
|
|
||||||
tests: tok822_test mime_tests strip_addr_test tok822_limit_test \
|
tests: tok822_test mime_tests strip_addr_test tok822_limit_test \
|
||||||
xtext_test scache_multi_test ehlo_mask_test \
|
xtext_test scache_multi_test ehlo_mask_test \
|
||||||
namadr_list_test mail_conf_time_test header_body_checks_tests \
|
namadr_list_test mail_conf_time_test header_body_checks_tests \
|
||||||
@ -400,7 +403,8 @@ tests: tok822_test mime_tests strip_addr_test tok822_limit_test \
|
|||||||
safe_ultostr_test mail_parm_split_test fold_addr_test \
|
safe_ultostr_test mail_parm_split_test fold_addr_test \
|
||||||
smtp_reply_footer_test off_cvt_test mail_addr_crunch_test \
|
smtp_reply_footer_test off_cvt_test mail_addr_crunch_test \
|
||||||
mail_addr_find_test mail_addr_map_test quote_822_local_test \
|
mail_addr_find_test mail_addr_map_test quote_822_local_test \
|
||||||
normalize_mailhost_addr_test haproxy_srvr_test map_search_test
|
normalize_mailhost_addr_test haproxy_srvr_test map_search_test \
|
||||||
|
delivered_hdr_test
|
||||||
|
|
||||||
mime_tests: mime_test mime_nest mime_8bit mime_dom mime_trunc mime_cvt \
|
mime_tests: mime_test mime_nest mime_8bit mime_dom mime_trunc mime_cvt \
|
||||||
mime_cvt2 mime_cvt3 mime_garb1 mime_garb2 mime_garb3 mime_garb4
|
mime_cvt2 mime_cvt3 mime_garb1 mime_garb2 mime_garb3 mime_garb4
|
||||||
@ -728,6 +732,11 @@ map_search_test: update map_search map_search.ref
|
|||||||
diff map_search.ref map_search.tmp
|
diff map_search.ref map_search.tmp
|
||||||
rm -f map_search.tmp
|
rm -f map_search.tmp
|
||||||
|
|
||||||
|
delivered_hdr_test: update delivered_hdr delivered_hdr.ref
|
||||||
|
-$(SHLIB_ENV) $(VALGRIND) ./delivered_hdr >delivered_hdr.tmp 2>&1
|
||||||
|
diff delivered_hdr.ref delivered_hdr.tmp
|
||||||
|
rm -f delivered_hdr.tmp
|
||||||
|
|
||||||
printfck: $(OBJS) $(PROG)
|
printfck: $(OBJS) $(PROG)
|
||||||
rm -rf printfck
|
rm -rf printfck
|
||||||
mkdir printfck
|
mkdir printfck
|
||||||
|
@ -26,6 +26,14 @@
|
|||||||
/* BH_TABLE *dup_filter;
|
/* BH_TABLE *dup_filter;
|
||||||
/* char *format;
|
/* char *format;
|
||||||
/*
|
/*
|
||||||
|
/* int been_here_drop_fixed(dup_filter, string)
|
||||||
|
/* BH_TABLE *dup_filter;
|
||||||
|
/* char *string;
|
||||||
|
/*
|
||||||
|
/* int been_here_drop(dup_filter, format, ...)
|
||||||
|
/* BH_TABLE *dup_filter;
|
||||||
|
/* char *format;
|
||||||
|
/*
|
||||||
/* void been_here_free(dup_filter)
|
/* void been_here_free(dup_filter)
|
||||||
/* BH_TABLE *dup_filter;
|
/* BH_TABLE *dup_filter;
|
||||||
/* DESCRIPTION
|
/* DESCRIPTION
|
||||||
@ -46,6 +54,16 @@
|
|||||||
/* been_here_check_fixed() and been_here_check() are similar
|
/* been_here_check_fixed() and been_here_check() are similar
|
||||||
/* but do not update the duplicate filter.
|
/* but do not update the duplicate filter.
|
||||||
/*
|
/*
|
||||||
|
/* been_here_drop_fixed() looks up a fixed string in the given
|
||||||
|
/* table, and deletes the entry if the string was found. The
|
||||||
|
/* result is non-zero (true) if the string was found, zero
|
||||||
|
/* (false) otherwise.
|
||||||
|
/*
|
||||||
|
/* been_here_drop() formats its arguments, looks up the result
|
||||||
|
/* in the given table, and removes the entry if the formatted
|
||||||
|
/* result was found. The result is non-zero (true) if the
|
||||||
|
/* formatted result was found, zero (false) otherwise.
|
||||||
|
/*
|
||||||
/* been_here_free() releases storage for a duplicate filter.
|
/* been_here_free() releases storage for a duplicate filter.
|
||||||
/*
|
/*
|
||||||
/* Arguments:
|
/* Arguments:
|
||||||
@ -249,3 +267,64 @@ int been_here_check_fixed(BH_TABLE *dup_filter, const char *string)
|
|||||||
|
|
||||||
return (status);
|
return (status);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* been_here_drop - remove filter entry with finer control */
|
||||||
|
|
||||||
|
int been_here_drop(BH_TABLE *dup_filter, const char *fmt,...)
|
||||||
|
{
|
||||||
|
VSTRING *buf = vstring_alloc(100);
|
||||||
|
int status;
|
||||||
|
va_list ap;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Construct the string to be dropped.
|
||||||
|
*/
|
||||||
|
va_start(ap, fmt);
|
||||||
|
vstring_vsprintf(buf, fmt, ap);
|
||||||
|
va_end(ap);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Drop the filter entry.
|
||||||
|
*/
|
||||||
|
status = been_here_drop_fixed(dup_filter, vstring_str(buf));
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Cleanup.
|
||||||
|
*/
|
||||||
|
vstring_free(buf);
|
||||||
|
return (status);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* been_here_drop_fixed - remove filter entry */
|
||||||
|
|
||||||
|
int been_here_drop_fixed(BH_TABLE *dup_filter, const char *string)
|
||||||
|
{
|
||||||
|
VSTRING *folded_string;
|
||||||
|
const char *lookup_key;
|
||||||
|
int status;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Special processing: case insensitive lookup.
|
||||||
|
*/
|
||||||
|
if (dup_filter->flags & BH_FLAG_FOLD) {
|
||||||
|
folded_string = vstring_alloc(100);
|
||||||
|
lookup_key = casefold(folded_string, string);
|
||||||
|
} else {
|
||||||
|
folded_string = 0;
|
||||||
|
lookup_key = string;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Drop the filter entry.
|
||||||
|
*/
|
||||||
|
if ((status = been_here_check_fixed(dup_filter, lookup_key)) != 0)
|
||||||
|
htable_delete(dup_filter->table, lookup_key, (void (*) (void *)) 0);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Cleanup.
|
||||||
|
*/
|
||||||
|
if (folded_string)
|
||||||
|
vstring_free(folded_string);
|
||||||
|
|
||||||
|
return (status);
|
||||||
|
}
|
||||||
|
@ -35,6 +35,8 @@ extern int been_here_fixed(BH_TABLE *, const char *);
|
|||||||
extern int PRINTFLIKE(2, 3) been_here(BH_TABLE *, const char *,...);
|
extern int PRINTFLIKE(2, 3) been_here(BH_TABLE *, const char *,...);
|
||||||
extern int been_here_check_fixed(BH_TABLE *, const char *);
|
extern int been_here_check_fixed(BH_TABLE *, const char *);
|
||||||
extern int PRINTFLIKE(2, 3) been_here_check(BH_TABLE *, const char *,...);
|
extern int PRINTFLIKE(2, 3) been_here_check(BH_TABLE *, const char *,...);
|
||||||
|
extern int been_here_drop_fixed(BH_TABLE *, const char *);
|
||||||
|
extern int PRINTFLIKE(2, 3) been_here_drop(BH_TABLE *, const char *,...);
|
||||||
|
|
||||||
/* LICENSE
|
/* LICENSE
|
||||||
/* .ad
|
/* .ad
|
||||||
|
@ -115,6 +115,8 @@ DELIVERED_HDR_INFO *delivered_hdr_init(VSTREAM *fp, off_t offset, int flags)
|
|||||||
char *cp;
|
char *cp;
|
||||||
DELIVERED_HDR_INFO *info;
|
DELIVERED_HDR_INFO *info;
|
||||||
const HEADER_OPTS *hdr;
|
const HEADER_OPTS *hdr;
|
||||||
|
int curr_type;
|
||||||
|
int prev_type;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Sanity check.
|
* Sanity check.
|
||||||
@ -130,15 +132,20 @@ DELIVERED_HDR_INFO *delivered_hdr_init(VSTREAM *fp, off_t offset, int flags)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* XXX Assume that mail_copy() produces delivered-to headers that fit in
|
* XXX Assume that mail_copy() produces delivered-to headers that fit in
|
||||||
* a REC_TYPE_NORM record. Lowercase the delivered-to addresses for
|
* a REC_TYPE_NORM or REC_TYPE_CONT record. Lowercase the delivered-to
|
||||||
* consistency.
|
* addresses for consistency.
|
||||||
*
|
*
|
||||||
* XXX Don't get bogged down by gazillions of delivered-to headers.
|
* XXX Don't get bogged down by gazillions of delivered-to headers.
|
||||||
*/
|
*/
|
||||||
#define DELIVERED_HDR_LIMIT 1000
|
#define DELIVERED_HDR_LIMIT 1000
|
||||||
|
|
||||||
while (rec_get(fp, info->buf, 0) == REC_TYPE_NORM
|
for (prev_type = REC_TYPE_NORM;
|
||||||
&& info->table->used < DELIVERED_HDR_LIMIT) {
|
info->table->used < DELIVERED_HDR_LIMIT
|
||||||
|
&& ((curr_type = rec_get(fp, info->buf, 0)) == REC_TYPE_NORM
|
||||||
|
|| curr_type == REC_TYPE_CONT);
|
||||||
|
prev_type = curr_type) {
|
||||||
|
if (prev_type != REC_TYPE_NORM)
|
||||||
|
continue;
|
||||||
if (is_header(STR(info->buf))) {
|
if (is_header(STR(info->buf))) {
|
||||||
if ((hdr = header_opts_find(STR(info->buf))) != 0
|
if ((hdr = header_opts_find(STR(info->buf))) != 0
|
||||||
&& hdr->type == HDR_DELIVERED_TO) {
|
&& hdr->type == HDR_DELIVERED_TO) {
|
||||||
@ -186,3 +193,69 @@ void delivered_hdr_free(DELIVERED_HDR_INFO *info)
|
|||||||
htable_free(info->table, (void (*) (void *)) 0);
|
htable_free(info->table, (void (*) (void *)) 0);
|
||||||
myfree((void *) info);
|
myfree((void *) info);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef TEST
|
||||||
|
|
||||||
|
#include <msg_vstream.h>
|
||||||
|
#include <mail_params.h>
|
||||||
|
|
||||||
|
char *var_drop_hdrs;
|
||||||
|
|
||||||
|
int main(int arc, char **argv)
|
||||||
|
{
|
||||||
|
|
||||||
|
/*
|
||||||
|
* We write test records to a VSTRING, then read with delivered_hdr_init.
|
||||||
|
*/
|
||||||
|
VSTRING *mem_bp;
|
||||||
|
VSTREAM *mem_fp;
|
||||||
|
DELIVERED_HDR_INFO *dp;
|
||||||
|
struct test_case {
|
||||||
|
int rec_type;
|
||||||
|
const char *content;
|
||||||
|
int expect_find;
|
||||||
|
};
|
||||||
|
const struct test_case test_cases[] = {
|
||||||
|
REC_TYPE_CONT, "Delivered-To: one", 1,
|
||||||
|
REC_TYPE_NORM, "Delivered-To: two", 0,
|
||||||
|
REC_TYPE_NORM, "Delivered-To: three", 1,
|
||||||
|
0,
|
||||||
|
};
|
||||||
|
const struct test_case *tp;
|
||||||
|
int actual_find;
|
||||||
|
int errors;
|
||||||
|
|
||||||
|
msg_vstream_init(argv[0], VSTREAM_ERR);
|
||||||
|
|
||||||
|
var_drop_hdrs = mystrdup(DEF_DROP_HDRS);
|
||||||
|
|
||||||
|
mem_bp = vstring_alloc(VSTREAM_BUFSIZE);
|
||||||
|
if ((mem_fp = vstream_memopen(mem_bp, O_WRONLY)) == 0)
|
||||||
|
msg_panic("vstream_memopen O_WRONLY failed: %m");
|
||||||
|
|
||||||
|
#define REC_PUT_LIT(fp, type, lit) rec_put((fp), (type), (lit), strlen(lit))
|
||||||
|
|
||||||
|
for (tp = test_cases; tp->content != 0; tp++)
|
||||||
|
REC_PUT_LIT(mem_fp, tp->rec_type, tp->content);
|
||||||
|
|
||||||
|
if (vstream_fclose(mem_fp))
|
||||||
|
msg_panic("vstream_fclose fail: %m");
|
||||||
|
|
||||||
|
if ((mem_fp = vstream_memopen(mem_bp, O_RDONLY)) == 0)
|
||||||
|
msg_panic("vstream_memopen O_RDONLY failed: %m");
|
||||||
|
|
||||||
|
dp = delivered_hdr_init(mem_fp, 0, FOLD_ADDR_ALL);
|
||||||
|
|
||||||
|
for (errors = 0, tp = test_cases; tp->content != 0; tp++) {
|
||||||
|
actual_find =
|
||||||
|
delivered_hdr_find(dp, tp->content + sizeof("Delivered-To:"));
|
||||||
|
msg_info("test case: %c >%s<: %s (expected: %s)",
|
||||||
|
tp->rec_type, tp->content,
|
||||||
|
actual_find == tp->expect_find ? "PASS" : "FAIL",
|
||||||
|
tp->expect_find ? "MATCH" : "NO MATCH");
|
||||||
|
errors += (actual_find != tp->expect_find);;
|
||||||
|
}
|
||||||
|
exit(errors);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
3
postfix/src/global/delivered_hdr.ref
Normal file
3
postfix/src/global/delivered_hdr.ref
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
./delivered_hdr: test case: L >Delivered-To: one<: PASS (expected: MATCH)
|
||||||
|
./delivered_hdr: test case: N >Delivered-To: two<: PASS (expected: NO MATCH)
|
||||||
|
./delivered_hdr: test case: N >Delivered-To: three<: PASS (expected: MATCH)
|
@ -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 "20200920"
|
#define MAIL_RELEASE_DATE "20200925"
|
||||||
#define MAIL_VERSION_NUMBER "3.6"
|
#define MAIL_VERSION_NUMBER "3.6"
|
||||||
|
|
||||||
#ifdef SNAPSHOT
|
#ifdef SNAPSHOT
|
||||||
|
@ -938,22 +938,22 @@ vbuf_print_test: vbuf_print vbuf_print_test.in vbuf_print_test.ref
|
|||||||
rm -f vbuf_print_test.tmp
|
rm -f vbuf_print_test.tmp
|
||||||
|
|
||||||
dict_union_test: dict_open dict_union_test.in dict_union_test.ref
|
dict_union_test: dict_open dict_union_test.in dict_union_test.ref
|
||||||
$(SHLIB_ENV) sh -x dict_union_test.in >dict_union_test.tmp 2>&1
|
$(SHLIB_ENV) ${VALGRIND} sh -x dict_union_test.in >dict_union_test.tmp 2>&1
|
||||||
diff dict_union_test.ref dict_union_test.tmp
|
diff dict_union_test.ref dict_union_test.tmp
|
||||||
rm -f dict_union_test.tmp
|
rm -f dict_union_test.tmp
|
||||||
|
|
||||||
dict_pipe_test: dict_open dict_pipe_test.in dict_pipe_test.ref
|
dict_pipe_test: dict_open dict_pipe_test.in dict_pipe_test.ref
|
||||||
$(SHLIB_ENV) sh -x dict_pipe_test.in >dict_pipe_test.tmp 2>&1
|
$(SHLIB_ENV) ${VALGRIND} sh -x dict_pipe_test.in >dict_pipe_test.tmp 2>&1
|
||||||
diff dict_pipe_test.ref dict_pipe_test.tmp
|
diff dict_pipe_test.ref dict_pipe_test.tmp
|
||||||
rm -f dict_pipe_test.tmp
|
rm -f dict_pipe_test.tmp
|
||||||
|
|
||||||
vstring_test: dict_open vstring vstring_test.ref
|
vstring_test: dict_open vstring vstring_test.ref
|
||||||
$(SHLIB_ENV) ./vstring one two three >vstring_test.tmp 2>&1
|
$(SHLIB_ENV) ${VALGRIND} ./vstring one two three >vstring_test.tmp 2>&1
|
||||||
diff vstring_test.ref vstring_test.tmp
|
diff vstring_test.ref vstring_test.tmp
|
||||||
rm -f vstring_test.tmp
|
rm -f vstring_test.tmp
|
||||||
|
|
||||||
vstream_test: dict_open vstream vstream_test.in vstream_test.ref
|
vstream_test: vstream vstream_test.in vstream_test.ref
|
||||||
$(SHLIB_ENV) ./vstream <vstream_test.in >vstream_test.tmp 2>&1
|
$(SHLIB_ENV) ${VALGRIND} ./vstream <vstream_test.in >vstream_test.tmp 2>&1
|
||||||
diff vstream_test.ref vstream_test.tmp
|
diff vstream_test.ref vstream_test.tmp
|
||||||
rm -f vstream_test.tmp
|
rm -f vstream_test.tmp
|
||||||
|
|
||||||
|
@ -684,6 +684,8 @@ static void vstream_buf_alloc(VBUF *bp, ssize_t len)
|
|||||||
*/
|
*/
|
||||||
bp->data = (unsigned char *)
|
bp->data = (unsigned char *)
|
||||||
(bp->data ? myrealloc((void *) bp->data, len) : mymalloc(len));
|
(bp->data ? myrealloc((void *) bp->data, len) : mymalloc(len));
|
||||||
|
if (bp->flags & VSTREAM_FLAG_MEMORY)
|
||||||
|
memset(bp->data + bp->len, 0, len - bp->len);
|
||||||
bp->len = len;
|
bp->len = len;
|
||||||
if (bp->flags & VSTREAM_FLAG_READ) {
|
if (bp->flags & VSTREAM_FLAG_READ) {
|
||||||
bp->ptr = bp->data + used;
|
bp->ptr = bp->data + used;
|
||||||
@ -1148,25 +1150,25 @@ off_t vstream_fseek(VSTREAM *stream, off_t offset, int whence)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* TODO: support data length (data length != buffer length). Without data
|
* TODO: support data length (data length != buffer length). Without data
|
||||||
* length information, vstream_fseek() would break vstream_fflush() for
|
* length information, Without explicit data length information,
|
||||||
* memory streams.
|
* vstream_memopen(O_RDONLY) has to set the VSTREAM buffer length to the
|
||||||
|
* vstring payload length to avoid accessing unwritten data after
|
||||||
|
* vstream_fseek(), because for lseek() compatibility, vstream_fseek()
|
||||||
|
* must allow seeking past the end of a file.
|
||||||
*/
|
*/
|
||||||
if (stream->buf.flags & VSTREAM_FLAG_MEMORY) {
|
if (stream->buf.flags & VSTREAM_FLAG_MEMORY) {
|
||||||
#ifdef PENDING_VSTREAM_FSEEK_FOR_MEMORY
|
|
||||||
if (whence == SEEK_CUR)
|
if (whence == SEEK_CUR)
|
||||||
offset += (bp->ptr - bp->data);
|
offset += (bp->ptr - bp->data);
|
||||||
else if (whence == SEEK_END)
|
else if (whence == SEEK_END)
|
||||||
offset += bp->len;
|
offset += bp->len;
|
||||||
if (offset < 0 || offset > bp->data_len) {
|
if (offset < 0) {
|
||||||
errno = EINVAL;
|
errno = EINVAL;
|
||||||
return (-1);
|
return (-1);
|
||||||
}
|
}
|
||||||
|
if (offset > bp->len && (bp->flags & VSTREAM_FLAG_WRITE))
|
||||||
|
vstream_buf_space(bp, offset - bp->len);
|
||||||
VSTREAM_BUF_AT_OFFSET(bp, offset);
|
VSTREAM_BUF_AT_OFFSET(bp, offset);
|
||||||
return (offset);
|
return (offset);
|
||||||
#else
|
|
||||||
errno = EOPNOTSUPP;
|
|
||||||
return (-1);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -1351,9 +1353,10 @@ int vstream_fflush(VSTREAM *stream)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* With VSTRING, the write pointer must be positioned behind the end of
|
* With VSTRING, the write pointer must be positioned behind the end of
|
||||||
* data. Without knowing the actual data length, VSTREAM can't support
|
* data. But vstream_fseek() changes the write position, and causes the
|
||||||
* vstream_fseek() for memory streams, because vstream_fflush() would
|
* data length to be forgotten. Before flushing to vstream, remember the
|
||||||
* leave the VSTRING in a broken state.
|
* current write position, move the write pointer and do what needs to be
|
||||||
|
* done, then move the write pointer back to the saved location.
|
||||||
*/
|
*/
|
||||||
if (stream->buf.flags & VSTREAM_FLAG_MEMORY) {
|
if (stream->buf.flags & VSTREAM_FLAG_MEMORY) {
|
||||||
if (stream->buf.flags & VSTREAM_FLAG_WRITE) {
|
if (stream->buf.flags & VSTREAM_FLAG_WRITE) {
|
||||||
@ -1363,6 +1366,7 @@ int vstream_fflush(VSTREAM *stream)
|
|||||||
VSTREAM_BUF_AT_OFFSET(&stream->buf, stream->buf.data_len);
|
VSTREAM_BUF_AT_OFFSET(&stream->buf, stream->buf.data_len);
|
||||||
#endif
|
#endif
|
||||||
memcpy(&string->vbuf, &stream->buf, sizeof(stream->buf));
|
memcpy(&string->vbuf, &stream->buf, sizeof(stream->buf));
|
||||||
|
string->vbuf.flags &= VSTRING_FLAG_MASK;
|
||||||
VSTRING_TERMINATE(string);
|
VSTRING_TERMINATE(string);
|
||||||
}
|
}
|
||||||
return (0);
|
return (0);
|
||||||
@ -1770,6 +1774,7 @@ VSTREAM *vstream_memreopen(VSTREAM *stream, VSTRING *string, int flags)
|
|||||||
switch (VSTREAM_ACC_MASK(flags)) {
|
switch (VSTREAM_ACC_MASK(flags)) {
|
||||||
case O_RDONLY:
|
case O_RDONLY:
|
||||||
stream->buf.flags |= VSTREAM_FLAG_READ;
|
stream->buf.flags |= VSTREAM_FLAG_READ;
|
||||||
|
/* Prevent reading unwritten data after vstream_fseek(). */
|
||||||
stream->buf.len = stream->buf.ptr - stream->buf.data;
|
stream->buf.len = stream->buf.ptr - stream->buf.data;
|
||||||
VSTREAM_BUF_AT_OFFSET(&stream->buf, 0);
|
VSTREAM_BUF_AT_OFFSET(&stream->buf, 0);
|
||||||
break;
|
break;
|
||||||
@ -1779,7 +1784,8 @@ VSTREAM *vstream_memreopen(VSTREAM *stream, VSTRING *string, int flags)
|
|||||||
break;
|
break;
|
||||||
case O_APPEND:
|
case O_APPEND:
|
||||||
stream->buf.flags |= VSTREAM_FLAG_WRITE;
|
stream->buf.flags |= VSTREAM_FLAG_WRITE;
|
||||||
VSTREAM_BUF_AT_END(&stream->buf);
|
VSTREAM_BUF_AT_OFFSET(&stream->buf,
|
||||||
|
stream->buf.ptr - stream->buf.data);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
msg_panic("vstream_memopen: flags must be one of "
|
msg_panic("vstream_memopen: flags must be one of "
|
||||||
@ -1794,6 +1800,14 @@ static void copy_line(ssize_t bufsize)
|
|||||||
{
|
{
|
||||||
int c;
|
int c;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Demonstrates that VSTREAM_CTL_BUFSIZE increases the buffer size, but
|
||||||
|
* does not decrease it. Uses VSTREAM_ERR for non-test output to avoid
|
||||||
|
* interfering with the test.
|
||||||
|
*/
|
||||||
|
vstream_fprintf(VSTREAM_ERR, "buffer size test: copy text with %ld buffer size, ignore requests to shrink\n",
|
||||||
|
(long) bufsize);
|
||||||
|
vstream_fflush(VSTREAM_ERR);
|
||||||
vstream_control(VSTREAM_IN, CA_VSTREAM_CTL_BUFSIZE(bufsize), VSTREAM_CTL_END);
|
vstream_control(VSTREAM_IN, CA_VSTREAM_CTL_BUFSIZE(bufsize), VSTREAM_CTL_END);
|
||||||
vstream_control(VSTREAM_OUT, CA_VSTREAM_CTL_BUFSIZE(bufsize), VSTREAM_CTL_END);
|
vstream_control(VSTREAM_OUT, CA_VSTREAM_CTL_BUFSIZE(bufsize), VSTREAM_CTL_END);
|
||||||
while ((c = VSTREAM_GETC(VSTREAM_IN)) != VSTREAM_EOF) {
|
while ((c = VSTREAM_GETC(VSTREAM_IN)) != VSTREAM_EOF) {
|
||||||
@ -1802,59 +1816,141 @@ static void copy_line(ssize_t bufsize)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
vstream_fflush(VSTREAM_OUT);
|
vstream_fflush(VSTREAM_OUT);
|
||||||
|
vstream_fprintf(VSTREAM_ERR, "actual read/write buffer sizes: %ld/%ld\n\n",
|
||||||
|
(long) VSTREAM_IN->buf.len, (long) VSTREAM_OUT->buf.len);
|
||||||
|
vstream_fflush(VSTREAM_ERR);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void printf_number(void)
|
static void printf_number(void)
|
||||||
{
|
{
|
||||||
vstream_printf("%d\n", 1234567890);
|
|
||||||
|
/*
|
||||||
|
* Demonstrates that vstream_printf() use vbuf_print().
|
||||||
|
*/
|
||||||
|
vstream_printf("formatting test: print a number\n");
|
||||||
|
vstream_printf("%d\n\n", 1234567890);
|
||||||
vstream_fflush(VSTREAM_OUT);
|
vstream_fflush(VSTREAM_OUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void do_memory_stream(void)
|
static void do_memory_stream(void)
|
||||||
{
|
{
|
||||||
VSTRING *buf = vstring_alloc(1);
|
VSTRING *buf = vstring_alloc(1);
|
||||||
VSTREAM *fp = vstream_memopen(buf, O_WRONLY);
|
VSTREAM *fp;
|
||||||
|
|
||||||
#ifdef PENDING_VSTREAM_FSEEK_FOR_MEMORY
|
|
||||||
off_t offset;
|
off_t offset;
|
||||||
|
|
||||||
#endif
|
|
||||||
int ch;
|
int ch;
|
||||||
|
|
||||||
vstream_fprintf(fp, "hallo world\n");
|
/*
|
||||||
|
* Preload the string.
|
||||||
|
*/
|
||||||
|
vstream_printf("memory stream test prep: prefill the VSTRING\n");
|
||||||
|
vstring_strcpy(buf, "01234567");
|
||||||
|
vstream_printf("VSTRING content length: %ld/%ld, content: %s\n",
|
||||||
|
(long) VSTRING_LEN(buf), (long) buf->vbuf.len,
|
||||||
|
vstring_str(buf));
|
||||||
|
VSTREAM_PUTCHAR('\n');
|
||||||
|
vstream_fflush(VSTREAM_OUT);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Test: open the memory VSTREAM in write-only mode, and clobber it.
|
||||||
|
*/
|
||||||
|
vstream_printf("memory stream test: open the VSTRING for writing, overwrite, close\n");
|
||||||
|
fp = vstream_memopen(buf, O_WRONLY);
|
||||||
|
vstream_printf("initial memory VSTREAM write offset: %ld/%ld\n",
|
||||||
|
(long) vstream_ftell(fp), (long) fp->buf.len);
|
||||||
|
vstream_fprintf(fp, "hallo");
|
||||||
|
vstream_printf("final memory VSTREAM write offset: %ld/%ld\n",
|
||||||
|
(long) vstream_ftell(fp), (long) fp->buf.len);
|
||||||
|
vstream_fclose(fp);
|
||||||
|
vstream_printf("VSTRING content length: %ld/%ld, content: %s\n",
|
||||||
|
(long) VSTRING_LEN(buf), (long) buf->vbuf.len,
|
||||||
|
vstring_str(buf));
|
||||||
|
VSTREAM_PUTCHAR('\n');
|
||||||
|
vstream_fflush(VSTREAM_OUT);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Test: open the memory VSTREAM for append. vstream_memopen() sets the
|
||||||
|
* buffer length to the VSTRING buffer length, and positions the write
|
||||||
|
* pointer at the VSTRING write position. Write some content, then
|
||||||
|
* overwrite one character.
|
||||||
|
*/
|
||||||
|
vstream_printf("memory stream test: open the VSTRING for append, write multiple, then overwrite 1\n");
|
||||||
|
fp = vstream_memopen(buf, O_APPEND);
|
||||||
|
vstream_printf("initial memory VSTREAM write offset: %ld/%ld\n",
|
||||||
|
(long) vstream_ftell(fp), (long) fp->buf.len);
|
||||||
|
vstream_fprintf(fp, " world");
|
||||||
|
vstream_printf("final memory VSTREAM write offset: %ld/%ld\n",
|
||||||
|
(long) vstream_ftell(fp), (long) fp->buf.len);
|
||||||
if (vstream_fflush(fp))
|
if (vstream_fflush(fp))
|
||||||
msg_fatal("vstream_fflush: %m");
|
msg_fatal("vstream_fflush: %m");
|
||||||
vstream_printf("final memory stream write offset: %ld\n",
|
vstream_printf("VSTRING content length: %ld/%ld, content: %s\n",
|
||||||
(long) vstream_ftell(fp));
|
(long) VSTRING_LEN(buf), (long) buf->vbuf.len,
|
||||||
#ifdef PENDING_VSTREAM_FSEEK_FOR_MEMORY
|
vstring_str(buf));
|
||||||
vstream_fflush(fp);
|
VSTREAM_PUTCHAR('\n');
|
||||||
vstream_printf("buffer size: %ld, content: %s",
|
|
||||||
(long) VSTRING_LEN(buf), vstring_str(buf));
|
/*
|
||||||
|
* While the stream is still open, replace the second character.
|
||||||
|
*/
|
||||||
|
vstream_printf("replace second character and close\n");
|
||||||
if ((offset = vstream_fseek(fp, 1, SEEK_SET)) != 1)
|
if ((offset = vstream_fseek(fp, 1, SEEK_SET)) != 1)
|
||||||
msg_panic("unexpected vstream_fseek return: %ld, expected: %ld",
|
msg_panic("unexpected vstream_fseek return: %ld, expected: %ld",
|
||||||
(long) offset, (long) 1);
|
(long) offset, (long) 1);
|
||||||
VSTREAM_PUTC('e', fp);
|
VSTREAM_PUTC('e', fp);
|
||||||
#endif
|
|
||||||
|
/*
|
||||||
|
* Skip to the end of the content, so that vstream_fflush() will update
|
||||||
|
* the VSTRING with the right content length.
|
||||||
|
*/
|
||||||
|
if ((offset = vstream_fseek(fp, VSTRING_LEN(buf), SEEK_SET)) != VSTRING_LEN(buf))
|
||||||
|
msg_panic("unexpected vstream_fseek return: %ld, expected: %ld",
|
||||||
|
(long) offset, (long) VSTRING_LEN(buf));
|
||||||
vstream_fclose(fp);
|
vstream_fclose(fp);
|
||||||
|
|
||||||
vstream_printf("buffer size: %ld, content: %s",
|
vstream_printf("VSTRING content length: %ld/%ld, content: %s\n",
|
||||||
(long) VSTRING_LEN(buf), vstring_str(buf));
|
(long) VSTRING_LEN(buf), (long) buf->vbuf.len,
|
||||||
|
vstring_str(buf));
|
||||||
|
VSTREAM_PUTCHAR('\n');
|
||||||
vstream_fflush(VSTREAM_OUT);
|
vstream_fflush(VSTREAM_OUT);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* TODO: test that in write/append mode, seek past the end of data will
|
||||||
|
* result in zero-filled space.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Test: Open the VSTRING for reading. This time, vstream_memopen() will
|
||||||
|
* set the VSTREAM buffer length to the content length of the VSTRING, so
|
||||||
|
* that it won't attempt to read past the end of the content.
|
||||||
|
*/
|
||||||
|
vstream_printf("memory stream test: open VSTRING for reading, then read\n");
|
||||||
fp = vstream_memopen(buf, O_RDONLY);
|
fp = vstream_memopen(buf, O_RDONLY);
|
||||||
vstream_printf("reading memory stream: ");
|
vstream_printf("initial memory VSTREAM read offset: %ld/%ld\n",
|
||||||
|
(long) vstream_ftell(fp), (long) fp->buf.len);
|
||||||
|
vstream_printf("reading memory VSTREAM: ");
|
||||||
while ((ch = VSTREAM_GETC(fp)) != VSTREAM_EOF)
|
while ((ch = VSTREAM_GETC(fp)) != VSTREAM_EOF)
|
||||||
VSTREAM_PUTCHAR(ch);
|
VSTREAM_PUTCHAR(ch);
|
||||||
#ifdef PENDING_VSTREAM_FSEEK_FOR_MEMORY
|
VSTREAM_PUTCHAR('\n');
|
||||||
vstream_printf("reading memory stream from offset 6: ");
|
vstream_printf("final memory VSTREAM read offset: %ld/%ld\n",
|
||||||
if ((offset = vstream_fseek(fp, 6, SEEK_SET)) != 6)
|
(long) vstream_ftell(fp), (long) fp->buf.len);
|
||||||
|
vstream_printf("seeking to offset %ld should work: ",
|
||||||
|
(long) fp->buf.len + 1);
|
||||||
|
vstream_fflush(VSTREAM_OUT);
|
||||||
|
if ((offset = vstream_fseek(fp, fp->buf.len + 1, SEEK_SET)) != fp->buf.len + 1)
|
||||||
msg_panic("unexpected vstream_fseek return: %ld, expected: %ld",
|
msg_panic("unexpected vstream_fseek return: %ld, expected: %ld",
|
||||||
(long) offset, (long) 6);
|
(long) offset, (long) fp->buf.len + 1);
|
||||||
while ((ch = VSTREAM_GETC(fp)) != VSTREAM_EOF)
|
vstream_printf("PASS\n");
|
||||||
VSTREAM_PUTCHAR(ch);
|
vstream_fflush(VSTREAM_OUT);
|
||||||
#endif
|
vstream_printf("VSTREAM_GETC should return VSTREAM_EOF\n");
|
||||||
vstream_printf("final memory stream read offset: %ld\n",
|
ch = VSTREAM_GETC(fp);
|
||||||
(long) vstream_ftell(fp));
|
if (ch != VSTREAM_EOF)
|
||||||
|
msg_panic("unexpected vstream_fseek VSTREAM_GETC return: %d, expected: %d",
|
||||||
|
ch, VSTREAM_EOF);
|
||||||
|
vstream_printf("PASS\n");
|
||||||
|
vstream_printf("final memory VSTREAM read offset: %ld/%ld\n",
|
||||||
|
(long) vstream_ftell(fp), (long) fp->buf.len);
|
||||||
|
vstream_printf("VSTRING content length: %ld/%ld, content: %s\n",
|
||||||
|
(long) VSTRING_LEN(buf), (long) buf->vbuf.len,
|
||||||
|
vstring_str(buf));
|
||||||
|
VSTREAM_PUTCHAR('\n');
|
||||||
vstream_fflush(VSTREAM_OUT);
|
vstream_fflush(VSTREAM_OUT);
|
||||||
vstream_fclose(fp);
|
vstream_fclose(fp);
|
||||||
vstring_free(buf);
|
vstring_free(buf);
|
||||||
@ -1863,8 +1959,12 @@ static void do_memory_stream(void)
|
|||||||
/*
|
/*
|
||||||
* Exercise some of the features.
|
* Exercise some of the features.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <msg_vstream.h>
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
msg_vstream_init(argv[0], VSTREAM_ERR);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Test buffer expansion and shrinking. Formatted print may silently
|
* Test buffer expansion and shrinking. Formatted print may silently
|
||||||
|
@ -1,8 +1,41 @@
|
|||||||
|
buffer size test: copy text with 1 buffer size, ignore requests to shrink
|
||||||
abcdef
|
abcdef
|
||||||
|
actual read/write buffer sizes: 1/1
|
||||||
|
|
||||||
|
buffer size test: copy text with 2 buffer size, ignore requests to shrink
|
||||||
ghijkl
|
ghijkl
|
||||||
|
actual read/write buffer sizes: 2/2
|
||||||
|
|
||||||
|
buffer size test: copy text with 1 buffer size, ignore requests to shrink
|
||||||
mnopqr
|
mnopqr
|
||||||
|
actual read/write buffer sizes: 2/2
|
||||||
|
|
||||||
|
formatting test: print a number
|
||||||
1234567890
|
1234567890
|
||||||
final memory stream write offset: 12
|
|
||||||
buffer size: 12, content: hallo world
|
memory stream test prep: prefill the VSTRING
|
||||||
reading memory stream: hallo world
|
VSTRING content length: 8/8, content: 01234567
|
||||||
final memory stream read offset: 12
|
|
||||||
|
memory stream test: open the VSTRING for writing, overwrite, close
|
||||||
|
initial memory VSTREAM write offset: 0/8
|
||||||
|
final memory VSTREAM write offset: 5/8
|
||||||
|
VSTRING content length: 5/8, content: hallo
|
||||||
|
|
||||||
|
memory stream test: open the VSTRING for append, write multiple, then overwrite 1
|
||||||
|
initial memory VSTREAM write offset: 5/8
|
||||||
|
final memory VSTREAM write offset: 11/16
|
||||||
|
VSTRING content length: 11/16, content: hallo world
|
||||||
|
|
||||||
|
replace second character and close
|
||||||
|
VSTRING content length: 11/16, content: hello world
|
||||||
|
|
||||||
|
memory stream test: open VSTRING for reading, then read
|
||||||
|
initial memory VSTREAM read offset: 0/11
|
||||||
|
reading memory VSTREAM: hello world
|
||||||
|
final memory VSTREAM read offset: 11/11
|
||||||
|
seeking to offset 12 should work: PASS
|
||||||
|
VSTREAM_GETC should return VSTREAM_EOF
|
||||||
|
PASS
|
||||||
|
final memory VSTREAM read offset: 12/11
|
||||||
|
VSTRING content length: 11/16, content: hello world
|
||||||
|
|
||||||
|
@ -62,6 +62,7 @@ CHECK_VAL_HELPER_DCL(VSTRING_CTL, ssize_t);
|
|||||||
|
|
||||||
/* Flags 24..31 are reserved for VSTRING. */
|
/* Flags 24..31 are reserved for VSTRING. */
|
||||||
#define VSTRING_FLAG_EXACT (1<<24) /* exact allocation for tests */
|
#define VSTRING_FLAG_EXACT (1<<24) /* exact allocation for tests */
|
||||||
|
#define VSTRING_FLAG_MASK (255 << 24)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Macros. Unsafe macros have UPPERCASE names.
|
* Macros. Unsafe macros have UPPERCASE names.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user