mirror of
https://github.com/vdukhovni/postfix
synced 2025-08-25 19:37:17 +00:00
postfix-3.6-20210405
This commit is contained in:
parent
7922b58e01
commit
1f2df46e52
@ -25448,3 +25448,35 @@ Apologies for any names omitted.
|
|||||||
Typo: the "respectful_logging" parameter had a typo and a
|
Typo: the "respectful_logging" parameter had a typo and a
|
||||||
"postscreen_" prefix that should have been deleted. File:
|
"postscreen_" prefix that should have been deleted. File:
|
||||||
global/mail_params.h
|
global/mail_params.h
|
||||||
|
|
||||||
|
20210313
|
||||||
|
|
||||||
|
Documentation: enable_threaded_bounces also applies to
|
||||||
|
"success" and "delay" delivery status notiifications. File:
|
||||||
|
proto/postconf.proto.
|
||||||
|
|
||||||
|
20210403
|
||||||
|
|
||||||
|
Missing null pointer checks (introduced: Postfix 3.4) after
|
||||||
|
an internal I/O error during the smtp(8) to tlsproxy(8)
|
||||||
|
handshake. Found by Coverity, reported by Jaroslav Skarvada.
|
||||||
|
Based on fix by Viktor Dukhovni. File: tls/tls_proxy_client_scan.c.
|
||||||
|
|
||||||
|
Null pointer bug (introduced: Postfix 3.0) and memory leak
|
||||||
|
(introduced: Postfix 3.4) after an inline: table syntax
|
||||||
|
error in main.cf or master.cf. Found by Coverity, reported
|
||||||
|
by Jaroslav Skarvada. Based on fix by Viktor Dukhovni. File:
|
||||||
|
util/dict_inline.c.
|
||||||
|
|
||||||
|
Incomplete null pointer check (introduced: Postfix 2.10)
|
||||||
|
after truncated HaProxy version 1 handshake message. Found
|
||||||
|
by Coverity, reported by Jaroslav Skarvada. Fix by Viktor
|
||||||
|
Dukhovni. File: global/haproxy_srvr.c.
|
||||||
|
|
||||||
|
Missing null pointer check (introduced: Postfix alpha) after
|
||||||
|
null argv[0] value. Found by Coverity, reported by Jaroslav
|
||||||
|
Skarvada. File: global/mail_task.c.
|
||||||
|
|
||||||
|
20210404
|
||||||
|
|
||||||
|
Unbroke a ton of regression tests after DNS-related changes.
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
Feb 20 20:11:45 spike postfix/postscreen[40133]: ALLOWLISTED [2604:8d00:189::3]:25408
|
|
||||||
Feb 20 20:12:31 spike postfix/postscreen[40133]: ALLOWLISTED [2604:8d00:189::3]:61564
|
|
||||||
|
|
@ -1,5 +1,25 @@
|
|||||||
Wish list:
|
Wish list:
|
||||||
|
|
||||||
|
Update the OVERVIEW page: add postlogd; add tlsproxy to
|
||||||
|
connection caching section.
|
||||||
|
|
||||||
|
Make smtpd_relay_before_recipient_restrictions settable
|
||||||
|
in smtpd_checks tests.
|
||||||
|
|
||||||
|
Make the DNS resolver library pluggable, so that we can
|
||||||
|
plug in a fake resolver library for DNS-related regression
|
||||||
|
tests to make DNS tests hermetic (no external dependency).
|
||||||
|
After the resolver library is pluggable, the migration to
|
||||||
|
non-libbind resolvers becomes a practical option.
|
||||||
|
|
||||||
|
Add a robust dnssec_probe regression test (success and fail)
|
||||||
|
that does not break existing regression tests.
|
||||||
|
|
||||||
|
smtp_sasl_tls_security_options = noanonymous, and make
|
||||||
|
smtp_sasl_security_options the default dependent on the
|
||||||
|
smtp_sasl_tls_security_options default (i.e. reverse the
|
||||||
|
dependency). Or make them independent.
|
||||||
|
|
||||||
Try to make the master throttle more distrusting. Currently,
|
Try to make the master throttle more distrusting. Currently,
|
||||||
the master throttles a service after a child process cannot be
|
the master throttles a service after a child process cannot be
|
||||||
created (fork() fails), or if a child process fails upon its
|
created (fork() fails), or if a child process fails upon its
|
||||||
@ -30,11 +50,6 @@ Wish list:
|
|||||||
in posttls-finger when resolv.conf points to a host that
|
in posttls-finger when resolv.conf points to a host that
|
||||||
runs no DNS server.
|
runs no DNS server.
|
||||||
|
|
||||||
The documented order of relay/recipient restrictions differs
|
|
||||||
from the implementation. This may need a new compatibility
|
|
||||||
parameter. For example:
|
|
||||||
http://postfix.1071664.n5.nabble.com/Relay-attempt-questions-td103646.html
|
|
||||||
|
|
||||||
Hardening the half-dane behavior: some sites may rely on
|
Hardening the half-dane behavior: some sites may rely on
|
||||||
current behavior which allows original MX domain name for
|
current behavior which allows original MX domain name for
|
||||||
certificate matches. Requires a new (compatibility) parameter
|
certificate matches. Requires a new (compatibility) parameter
|
||||||
@ -48,11 +63,6 @@ Wish list:
|
|||||||
events. But the currrent multi_server API fits typical usage
|
events. But the currrent multi_server API fits typical usage
|
||||||
better.
|
better.
|
||||||
|
|
||||||
smtp_sasl_tls_security_options = noanonymous, and make
|
|
||||||
smtp_sasl_security_options default dependent on the
|
|
||||||
smtp_sasl_tls_security_options default (i.e. reverse the
|
|
||||||
dependency).
|
|
||||||
|
|
||||||
Add a configurable filter for SMTP command syntax. Maybe
|
Add a configurable filter for SMTP command syntax. Maybe
|
||||||
time for some inline-pcre or inline-regexp map support?
|
time for some inline-pcre or inline-regexp map support?
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
#
|
#
|
||||||
# The level below is what should be used with new (not upgrade) installs.
|
# The level below is what should be used with new (not upgrade) installs.
|
||||||
#
|
#
|
||||||
compatibility_level = 3
|
compatibility_level = 3.6
|
||||||
|
|
||||||
# SOFT BOUNCE
|
# SOFT BOUNCE
|
||||||
#
|
#
|
||||||
@ -276,7 +276,7 @@ unknown_local_recipient_reject_code = 550
|
|||||||
# of listing the patterns here. Specify type:table for table-based lookups
|
# of listing the patterns here. Specify type:table for table-based lookups
|
||||||
# (the value on the table right-hand side is not used).
|
# (the value on the table right-hand side is not used).
|
||||||
#
|
#
|
||||||
#mynetworks = 168.100.189.0/28, 127.0.0.0/8
|
#mynetworks = 168.100.3.0/28, 127.0.0.0/8
|
||||||
#mynetworks = $config_directory/mynetworks
|
#mynetworks = $config_directory/mynetworks
|
||||||
#mynetworks = hash:/etc/postfix/network_table
|
#mynetworks = hash:/etc/postfix/network_table
|
||||||
|
|
||||||
|
@ -156,9 +156,9 @@ BOUNCE(8) BOUNCE(8)
|
|||||||
Available in Postfix 3.6 and later:
|
Available in Postfix 3.6 and later:
|
||||||
|
|
||||||
<b><a href="postconf.5.html#enable_threaded_bounces">enable_threaded_bounces</a> (no)</b>
|
<b><a href="postconf.5.html#enable_threaded_bounces">enable_threaded_bounces</a> (no)</b>
|
||||||
Enable non-delivery notifications (bounce messages) that link to
|
Enable non-delivery, success, and delay notifications that link
|
||||||
the original message by including a References: and In-Reply_to:
|
to the original message by including a References: and
|
||||||
header with the original Message-ID value.
|
In-Reply-To: header with the original Message-ID value.
|
||||||
|
|
||||||
<b>FILES</b>
|
<b>FILES</b>
|
||||||
/var/spool/postfix/bounce/* non-delivery records
|
/var/spool/postfix/bounce/* non-delivery records
|
||||||
|
@ -156,9 +156,9 @@ BOUNCE(8) BOUNCE(8)
|
|||||||
Available in Postfix 3.6 and later:
|
Available in Postfix 3.6 and later:
|
||||||
|
|
||||||
<b><a href="postconf.5.html#enable_threaded_bounces">enable_threaded_bounces</a> (no)</b>
|
<b><a href="postconf.5.html#enable_threaded_bounces">enable_threaded_bounces</a> (no)</b>
|
||||||
Enable non-delivery notifications (bounce messages) that link to
|
Enable non-delivery, success, and delay notifications that link
|
||||||
the original message by including a References: and In-Reply_to:
|
to the original message by including a References: and
|
||||||
header with the original Message-ID value.
|
In-Reply-To: header with the original Message-ID value.
|
||||||
|
|
||||||
<b>FILES</b>
|
<b>FILES</b>
|
||||||
/var/spool/postfix/bounce/* non-delivery records
|
/var/spool/postfix/bounce/* non-delivery records
|
||||||
|
@ -3346,7 +3346,7 @@ address. </p>
|
|||||||
<DT><b><a name="enable_threaded_bounces">enable_threaded_bounces</a>
|
<DT><b><a name="enable_threaded_bounces">enable_threaded_bounces</a>
|
||||||
(default: no)</b></DT><DD>
|
(default: no)</b></DT><DD>
|
||||||
|
|
||||||
<p> Enable non-delivery notifications (bounce messages) that link
|
<p> Enable non-delivery, success, and delay notifications that link
|
||||||
to the original message by including a References: and In-Reply-To:
|
to the original message by including a References: and In-Reply-To:
|
||||||
header with the original Message-ID value. There are advantages and
|
header with the original Message-ID value. There are advantages and
|
||||||
disadvantages to consider. </p>
|
disadvantages to consider. </p>
|
||||||
@ -3354,7 +3354,7 @@ disadvantages to consider. </p>
|
|||||||
<dl>
|
<dl>
|
||||||
|
|
||||||
<dt> <b> advantage </b> </dt> <dd> This allows mail readers to present
|
<dt> <b> advantage </b> </dt> <dd> This allows mail readers to present
|
||||||
a non-delivery notification in the same email thread as the original
|
a delivery status notification in the same email thread as the original
|
||||||
message. </dd>
|
message. </dd>
|
||||||
|
|
||||||
<dt> <b> disadvantage </b> </dt> <dd> This makes it easy for users to
|
<dt> <b> disadvantage </b> </dt> <dd> This makes it easy for users to
|
||||||
|
@ -156,9 +156,9 @@ BOUNCE(8) BOUNCE(8)
|
|||||||
Available in Postfix 3.6 and later:
|
Available in Postfix 3.6 and later:
|
||||||
|
|
||||||
<b><a href="postconf.5.html#enable_threaded_bounces">enable_threaded_bounces</a> (no)</b>
|
<b><a href="postconf.5.html#enable_threaded_bounces">enable_threaded_bounces</a> (no)</b>
|
||||||
Enable non-delivery notifications (bounce messages) that link to
|
Enable non-delivery, success, and delay notifications that link
|
||||||
the original message by including a References: and In-Reply_to:
|
to the original message by including a References: and
|
||||||
header with the original Message-ID value.
|
In-Reply-To: header with the original Message-ID value.
|
||||||
|
|
||||||
<b>FILES</b>
|
<b>FILES</b>
|
||||||
/var/spool/postfix/bounce/* non-delivery records
|
/var/spool/postfix/bounce/* non-delivery records
|
||||||
|
@ -2125,13 +2125,13 @@ version 2.0 behaves as if this parameter is always set to \fByes\fR.
|
|||||||
Postfix versions before 2.0 have no support for the original recipient
|
Postfix versions before 2.0 have no support for the original recipient
|
||||||
address.
|
address.
|
||||||
.SH enable_threaded_bounces (default: no)
|
.SH enable_threaded_bounces (default: no)
|
||||||
Enable non\-delivery notifications (bounce messages) that link
|
Enable non\-delivery, success, and delay notifications that link
|
||||||
to the original message by including a References: and In\-Reply\-To:
|
to the original message by including a References: and In\-Reply\-To:
|
||||||
header with the original Message\-ID value. There are advantages and
|
header with the original Message\-ID value. There are advantages and
|
||||||
disadvantages to consider.
|
disadvantages to consider.
|
||||||
.IP "\fB advantage \fR"
|
.IP "\fB advantage \fR"
|
||||||
This allows mail readers to present
|
This allows mail readers to present
|
||||||
a non\-delivery notification in the same email thread as the original
|
a delivery status notification in the same email thread as the original
|
||||||
message.
|
message.
|
||||||
.br
|
.br
|
||||||
.IP "\fB disadvantage \fR"
|
.IP "\fB disadvantage \fR"
|
||||||
|
@ -139,8 +139,8 @@ The master.cf service name of a Postfix daemon process.
|
|||||||
.PP
|
.PP
|
||||||
Available in Postfix 3.6 and later:
|
Available in Postfix 3.6 and later:
|
||||||
.IP "\fBenable_threaded_bounces (no)\fR"
|
.IP "\fBenable_threaded_bounces (no)\fR"
|
||||||
Enable non\-delivery notifications (bounce messages) that link
|
Enable non\-delivery, success, and delay notifications that link
|
||||||
to the original message by including a References: and In\-Reply_to:
|
to the original message by including a References: and In\-Reply\-To:
|
||||||
header with the original Message\-ID value.
|
header with the original Message\-ID value.
|
||||||
.SH "FILES"
|
.SH "FILES"
|
||||||
.na
|
.na
|
||||||
|
@ -18000,7 +18000,7 @@ of the null sender address.
|
|||||||
|
|
||||||
%PARAM enable_threaded_bounces no
|
%PARAM enable_threaded_bounces no
|
||||||
|
|
||||||
<p> Enable non-delivery notifications (bounce messages) that link
|
<p> Enable non-delivery, success, and delay notifications that link
|
||||||
to the original message by including a References: and In-Reply-To:
|
to the original message by including a References: and In-Reply-To:
|
||||||
header with the original Message-ID value. There are advantages and
|
header with the original Message-ID value. There are advantages and
|
||||||
disadvantages to consider. </p>
|
disadvantages to consider. </p>
|
||||||
@ -18008,7 +18008,7 @@ disadvantages to consider. </p>
|
|||||||
<dl>
|
<dl>
|
||||||
|
|
||||||
<dt> <b> advantage </b> </dt> <dd> This allows mail readers to present
|
<dt> <b> advantage </b> </dt> <dd> This allows mail readers to present
|
||||||
a non-delivery notification in the same email thread as the original
|
a delivery status notification in the same email thread as the original
|
||||||
message. </dd>
|
message. </dd>
|
||||||
|
|
||||||
<dt> <b> disadvantage </b> </dt> <dd> This makes it easy for users to
|
<dt> <b> disadvantage </b> </dt> <dd> This makes it easy for users to
|
||||||
|
@ -127,8 +127,8 @@
|
|||||||
/* .PP
|
/* .PP
|
||||||
/* Available in Postfix 3.6 and later:
|
/* Available in Postfix 3.6 and later:
|
||||||
/* .IP "\fBenable_threaded_bounces (no)\fR"
|
/* .IP "\fBenable_threaded_bounces (no)\fR"
|
||||||
/* Enable non-delivery notifications (bounce messages) that link
|
/* Enable non-delivery, success, and delay notifications that link
|
||||||
/* to the original message by including a References: and In-Reply_to:
|
/* to the original message by including a References: and In-Reply-To:
|
||||||
/* header with the original Message-ID value.
|
/* header with the original Message-ID value.
|
||||||
/* FILES
|
/* FILES
|
||||||
/* /var/spool/postfix/bounce/* non-delivery records
|
/* /var/spool/postfix/bounce/* non-delivery records
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
spike.porcupine.org 168.100.189.2
|
spike.porcupine.org 168.100.3.2
|
||||||
spike.porcupine.org 168.100.189.3
|
spike.porcupine.org 168.100.3.3
|
||||||
spike.porcupine.org 2604:8d00:189::2
|
spike.porcupine.org 2604:8d00:189::2
|
||||||
spike.porcupine.org 2604:8d00:189::3
|
spike.porcupine.org 2604:8d00:189::3
|
||||||
|
@ -1,22 +1,22 @@
|
|||||||
168.100.189.2 =?= 168.100.189.2
|
168.100.3.2 =?= 168.100.3.2
|
||||||
tested by function: yes
|
tested by function: yes
|
||||||
tested by macro: yes
|
tested by macro: yes
|
||||||
2604:8d00:189::2 =?= 168.100.189.2
|
2604:8d00:189::2 =?= 168.100.3.2
|
||||||
tested by function: no
|
tested by function: no
|
||||||
tested by macro: no
|
tested by macro: no
|
||||||
168.100.189.2 =?= 168.100.189.3
|
168.100.3.2 =?= 168.100.3.3
|
||||||
tested by function: no
|
tested by function: no
|
||||||
tested by macro: no
|
tested by macro: no
|
||||||
2604:8d00:189::2 =?= 168.100.189.3
|
2604:8d00:189::2 =?= 168.100.3.3
|
||||||
tested by function: no
|
tested by function: no
|
||||||
tested by macro: no
|
tested by macro: no
|
||||||
168.100.189.2 =?= 2604:8d00:189::2
|
168.100.3.2 =?= 2604:8d00:189::2
|
||||||
tested by function: no
|
tested by function: no
|
||||||
tested by macro: no
|
tested by macro: no
|
||||||
2604:8d00:189::2 =?= 2604:8d00:189::2
|
2604:8d00:189::2 =?= 2604:8d00:189::2
|
||||||
tested by function: yes
|
tested by function: yes
|
||||||
tested by macro: yes
|
tested by macro: yes
|
||||||
168.100.189.2 =?= 2604:8d00:189::3
|
168.100.3.2 =?= 2604:8d00:189::3
|
||||||
tested by function: no
|
tested by function: no
|
||||||
tested by macro: no
|
tested by macro: no
|
||||||
2604:8d00:189::2 =?= 2604:8d00:189::3
|
2604:8d00:189::2 =?= 2604:8d00:189::3
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
spike.porcupine.org -> 168.100.189.2
|
spike.porcupine.org -> 168.100.3.2
|
||||||
spike.porcupine.org -> 2604:8d00:189::2
|
spike.porcupine.org -> 2604:8d00:189::2
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
spike.porcupine.org 25 -> 168.100.189.2 25
|
spike.porcupine.org 25 -> 168.100.3.2 25
|
||||||
spike.porcupine.org 25 -> 2604:8d00:189::2 25
|
spike.porcupine.org 25 -> 2604:8d00:189::2 25
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
spike.porcupine.org -> 168.100.189.2
|
spike.porcupine.org -> 168.100.3.2
|
||||||
spike.porcupine.org -> 2604:8d00:189::2
|
spike.porcupine.org -> 2604:8d00:189::2
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
./test_dns_lookup: lookup spike.porcupine.org type A flags RES_USE_DNSSEC
|
./test_dns_lookup: lookup spike.porcupine.org type A flags RES_USE_DNSSEC
|
||||||
./test_dns_lookup: dns_query: spike.porcupine.org (A): OK
|
./test_dns_lookup: dns_query: spike.porcupine.org (A): OK
|
||||||
./test_dns_lookup: dns_get_answer: type A for spike.porcupine.org
|
./test_dns_lookup: dns_get_answer: type A for spike.porcupine.org
|
||||||
./test_dns_lookup: dict_regexp_lookup: error.reg: spike.porcupine.org. 3600 IN A 168.100.189.2
|
./test_dns_lookup: dict_regexp_lookup: error.reg: spike.porcupine.org. 3600 IN A 168.100.3.2
|
||||||
./test_dns_lookup: maps_find: DNS reply filter: regexp:error.reg(0,lock|fold_fix): spike.porcupine.org. 3600 IN A 168.100.189.2 = oops
|
./test_dns_lookup: maps_find: DNS reply filter: regexp:error.reg(0,lock|fold_fix): spike.porcupine.org. 3600 IN A 168.100.3.2 = oops
|
||||||
./test_dns_lookup: warning: DNS reply filter: unknown DNS filter action: "oops"
|
./test_dns_lookup: warning: DNS reply filter: unknown DNS filter action: "oops"
|
||||||
./test_dns_lookup: lookup spike.porcupine.org type AAAA flags RES_USE_DNSSEC
|
./test_dns_lookup: lookup spike.porcupine.org type AAAA flags RES_USE_DNSSEC
|
||||||
./test_dns_lookup: dns_query: spike.porcupine.org (AAAA): OK
|
./test_dns_lookup: dns_query: spike.porcupine.org (AAAA): OK
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
./test_dns_lookup: lookup spike.porcupine.org type A flags RES_USE_DNSSEC
|
./test_dns_lookup: lookup spike.porcupine.org type A flags RES_USE_DNSSEC
|
||||||
./test_dns_lookup: dns_query: spike.porcupine.org (A): OK
|
./test_dns_lookup: dns_query: spike.porcupine.org (A): OK
|
||||||
./test_dns_lookup: dns_get_answer: type A for spike.porcupine.org
|
./test_dns_lookup: dns_get_answer: type A for spike.porcupine.org
|
||||||
./test_dns_lookup: dict_regexp_lookup: no-a.reg: spike.porcupine.org. 3600 IN A 168.100.189.2
|
./test_dns_lookup: dict_regexp_lookup: no-a.reg: spike.porcupine.org. 3600 IN A 168.100.3.2
|
||||||
./test_dns_lookup: maps_find: DNS reply filter: regexp:no-a.reg(0,lock|fold_fix): spike.porcupine.org. 3600 IN A 168.100.189.2 = ignore
|
./test_dns_lookup: maps_find: DNS reply filter: regexp:no-a.reg(0,lock|fold_fix): spike.porcupine.org. 3600 IN A 168.100.3.2 = ignore
|
||||||
./test_dns_lookup: ignoring DNS RR: spike.porcupine.org. 3600 IN A 168.100.189.2
|
./test_dns_lookup: ignoring DNS RR: spike.porcupine.org. 3600 IN A 168.100.3.2
|
||||||
./test_dns_lookup: lookup spike.porcupine.org type AAAA flags RES_USE_DNSSEC
|
./test_dns_lookup: lookup spike.porcupine.org type AAAA flags RES_USE_DNSSEC
|
||||||
./test_dns_lookup: dns_query: spike.porcupine.org (AAAA): OK
|
./test_dns_lookup: dns_query: spike.porcupine.org (AAAA): OK
|
||||||
./test_dns_lookup: dns_get_answer: type AAAA for spike.porcupine.org
|
./test_dns_lookup: dns_get_answer: type AAAA for spike.porcupine.org
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
./test_dns_lookup: lookup spike.porcupine.org type A flags RES_USE_DNSSEC
|
./test_dns_lookup: lookup spike.porcupine.org type A flags RES_USE_DNSSEC
|
||||||
./test_dns_lookup: dns_query: spike.porcupine.org (A): OK
|
./test_dns_lookup: dns_query: spike.porcupine.org (A): OK
|
||||||
./test_dns_lookup: dns_get_answer: type A for spike.porcupine.org
|
./test_dns_lookup: dns_get_answer: type A for spike.porcupine.org
|
||||||
./test_dns_lookup: dict_regexp_lookup: no-aaaa.reg: spike.porcupine.org. 3600 IN A 168.100.189.2
|
./test_dns_lookup: dict_regexp_lookup: no-aaaa.reg: spike.porcupine.org. 3600 IN A 168.100.3.2
|
||||||
./test_dns_lookup: maps_find: DNS reply filter: spike.porcupine.org. 3600 IN A 168.100.189.2: not found
|
./test_dns_lookup: maps_find: DNS reply filter: spike.porcupine.org. 3600 IN A 168.100.3.2: not found
|
||||||
./test_dns_lookup: lookup spike.porcupine.org type AAAA flags RES_USE_DNSSEC
|
./test_dns_lookup: lookup spike.porcupine.org type AAAA flags RES_USE_DNSSEC
|
||||||
./test_dns_lookup: dns_query: spike.porcupine.org (AAAA): OK
|
./test_dns_lookup: dns_query: spike.porcupine.org (AAAA): OK
|
||||||
./test_dns_lookup: dns_get_answer: type AAAA for spike.porcupine.org
|
./test_dns_lookup: dns_get_answer: type AAAA for spike.porcupine.org
|
||||||
@ -10,4 +10,4 @@
|
|||||||
./test_dns_lookup: maps_find: DNS reply filter: regexp:no-aaaa.reg(0,lock|fold_fix): spike.porcupine.org. 3600 IN AAAA 2604:8d00:189::2 = ignore
|
./test_dns_lookup: maps_find: DNS reply filter: regexp:no-aaaa.reg(0,lock|fold_fix): spike.porcupine.org. 3600 IN AAAA 2604:8d00:189::2 = ignore
|
||||||
./test_dns_lookup: ignoring DNS RR: spike.porcupine.org. 3600 IN AAAA 2604:8d00:189::2
|
./test_dns_lookup: ignoring DNS RR: spike.porcupine.org. 3600 IN AAAA 2604:8d00:189::2
|
||||||
spike.porcupine.org: fqdn: spike.porcupine.org
|
spike.porcupine.org: fqdn: spike.porcupine.org
|
||||||
ad: 0, rr: spike.porcupine.org. 3600 IN A 168.100.189.2
|
ad: 0, rr: spike.porcupine.org. 3600 IN A 168.100.3.2
|
||||||
|
@ -5,4 +5,4 @@
|
|||||||
./test_dns_lookup: dns_query: nullmx.porcupine.org (A): OK
|
./test_dns_lookup: dns_query: nullmx.porcupine.org (A): OK
|
||||||
./test_dns_lookup: dns_get_answer: type A for nullmx.porcupine.org
|
./test_dns_lookup: dns_get_answer: type A for nullmx.porcupine.org
|
||||||
nullmx.porcupine.org: fqdn: nullmx.porcupine.org
|
nullmx.porcupine.org: fqdn: nullmx.porcupine.org
|
||||||
ad: 0, rr: nullmx.porcupine.org. 3600 IN A 168.100.189.13
|
ad: 0, rr: nullmx.porcupine.org. 3600 IN A 168.100.3.13
|
||||||
|
@ -77,11 +77,10 @@ int main(int argc, char **argv)
|
|||||||
int ch;
|
int ch;
|
||||||
int lflags = DNS_REQ_FLAG_NONE;
|
int lflags = DNS_REQ_FLAG_NONE;
|
||||||
|
|
||||||
if (var_dnssec_probe == 0)
|
var_dnssec_probe = "";
|
||||||
var_dnssec_probe = mystrdup(DEF_DNSSEC_PROBE);
|
|
||||||
|
|
||||||
msg_vstream_init(argv[0], VSTREAM_ERR);
|
msg_vstream_init(argv[0], VSTREAM_ERR);
|
||||||
while ((ch = GETOPT(argc, argv, "f:npv")) > 0) {
|
while ((ch = GETOPT(argc, argv, "f:npvs")) > 0) {
|
||||||
switch (ch) {
|
switch (ch) {
|
||||||
case 'v':
|
case 'v':
|
||||||
msg_verbose++;
|
msg_verbose++;
|
||||||
@ -95,6 +94,9 @@ int main(int argc, char **argv)
|
|||||||
case 'p':
|
case 'p':
|
||||||
var_dns_ncache_ttl_fix = 1;
|
var_dns_ncache_ttl_fix = 1;
|
||||||
break;
|
break;
|
||||||
|
case 's':
|
||||||
|
var_dnssec_probe = DEF_DNSSEC_PROBE;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
usage(argv);
|
usage(argv);
|
||||||
}
|
}
|
||||||
|
@ -201,6 +201,8 @@ static int haproxy_srvr_parse_proto(const char *str, int *addr_family)
|
|||||||
if (msg_verbose)
|
if (msg_verbose)
|
||||||
msg_info("haproxy_srvr_parse: proto=%s", STR_OR_NULL(str));
|
msg_info("haproxy_srvr_parse: proto=%s", STR_OR_NULL(str));
|
||||||
|
|
||||||
|
if (str == 0)
|
||||||
|
return (-1);
|
||||||
#ifdef AF_INET6
|
#ifdef AF_INET6
|
||||||
if (strcasecmp(str, "TCP6") == 0) {
|
if (strcasecmp(str, "TCP6") == 0) {
|
||||||
if (strchr((char *) proto_info->sa_family_list, AF_INET6) != 0) {
|
if (strchr((char *) proto_info->sa_family_list, AF_INET6) != 0) {
|
||||||
|
@ -17,8 +17,8 @@
|
|||||||
/*
|
/*
|
||||||
/* The result is overwritten with each call.
|
/* The result is overwritten with each call.
|
||||||
/*
|
/*
|
||||||
/* A null argv0 argument requests that the current
|
/* A null argv0 argument requests that the current result is
|
||||||
/* result is returned.
|
/* returned, or "unknown" when no current result exists.
|
||||||
/* LICENSE
|
/* LICENSE
|
||||||
/* .ad
|
/* .ad
|
||||||
/* .fi
|
/* .fi
|
||||||
@ -59,6 +59,8 @@ const char *mail_task(const char *argv0)
|
|||||||
const char *slash;
|
const char *slash;
|
||||||
const char *tag;
|
const char *tag;
|
||||||
|
|
||||||
|
if (argv0 == 0 && canon_name == 0)
|
||||||
|
argv0 = "unknown";
|
||||||
if (argv0) {
|
if (argv0) {
|
||||||
if (canon_name == 0)
|
if (canon_name == 0)
|
||||||
canon_name = vstring_alloc(10);
|
canon_name = vstring_alloc(10);
|
||||||
|
@ -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 "20210224"
|
#define MAIL_RELEASE_DATE "20210405"
|
||||||
#define MAIL_VERSION_NUMBER "3.6"
|
#define MAIL_VERSION_NUMBER "3.6"
|
||||||
|
|
||||||
#ifdef SNAPSHOT
|
#ifdef SNAPSHOT
|
||||||
|
@ -235,6 +235,12 @@ void maillog_client_init(const char *progname, int flags)
|
|||||||
service_path = concatenate(var_queue_dir, "/", MAIL_CLASS_PUBLIC,
|
service_path = concatenate(var_queue_dir, "/", MAIL_CLASS_PUBLIC,
|
||||||
"/", var_postlog_service, (char *) 0);
|
"/", var_postlog_service, (char *) 0);
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
/*
|
||||||
|
* var_postlog_service == 0, therefore var_maillog_file == 0.
|
||||||
|
* logger_mode == MAILLOG_CLIENT_MODE_POSTLOG && var_maillog_file ==
|
||||||
|
* 0, therefore import_service_path != 0.
|
||||||
|
*/
|
||||||
service_path = import_service_path;
|
service_path = import_service_path;
|
||||||
}
|
}
|
||||||
maillog_client_flags = flags;
|
maillog_client_flags = flags;
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
./namadr_list 168.100.189.0/28 dummy 168.100.189.2
|
./namadr_list 168.100.3.0/28 dummy 168.100.3.2
|
||||||
./namadr_list '!168.100.189.2 168.100.189.0/28' dummy 168.100.189.2
|
./namadr_list '!168.100.3.2 168.100.3.0/28' dummy 168.100.3.2
|
||||||
./namadr_list '!168.100.189.2 168.100.189.0/28' dummy 168.100.189.3
|
./namadr_list '!168.100.3.2 168.100.3.0/28' dummy 168.100.3.3
|
||||||
./namadr_list 168.100.189.0/28 dummy 168.100.189.16
|
./namadr_list 168.100.3.0/28 dummy 168.100.3.16
|
||||||
./namadr_list 168.100.189.0/98 dummy 168.100.189.16
|
./namadr_list 168.100.3.0/98 dummy 168.100.3.16
|
||||||
./namadr_list 168.100.589.0/28 dummy 168.100.189.16
|
./namadr_list 168.100.589.0/28 dummy 168.100.3.16
|
||||||
./namadr_list 168.100.189.0/28 dummy 168.100.989.16
|
./namadr_list 168.100.3.0/28 dummy 168.100.989.16
|
||||||
./namadr_list 2001:240:5c7:0:2d0:b7ff:fe88:2ca7 dummy 2001:240:5c7:0:2d0:b7ff:fe88:2ca7
|
./namadr_list 2001:240:5c7:0:2d0:b7ff:fe88:2ca7 dummy 2001:240:5c7:0:2d0:b7ff:fe88:2ca7
|
||||||
./namadr_list '[2001:240:5c7:0:2d0:b7ff:fe88:2ca7]' dummy 2001:240:5c7:0:2d0:b7ff:fe88:2ca7
|
./namadr_list '[2001:240:5c7:0:2d0:b7ff:fe88:2ca7]' dummy 2001:240:5c7:0:2d0:b7ff:fe88:2ca7
|
||||||
./namadr_list '[2001:240:5c7:0:2d0:b7ff:fe88:2ca7]' dummy 2001:240:5c7:0:2d0:b7ff:fe88:2ca8
|
./namadr_list '[2001:240:5c7:0:2d0:b7ff:fe88:2ca7]' dummy 2001:240:5c7:0:2d0:b7ff:fe88:2ca8
|
||||||
@ -13,30 +13,30 @@
|
|||||||
./namadr_list '[2001:240:5c7::]/64' dummy 2001:24:5c7:0:2d0:b7ff:fe88:2ca8
|
./namadr_list '[2001:240:5c7::]/64' dummy 2001:24:5c7:0:2d0:b7ff:fe88:2ca8
|
||||||
./namadr_list '[2001:24:5c7:0:2d0:b7ff:fe88:2ca8]' dummy 2001:24:5c7:0:2d0:b7ff:fe88:2ca8
|
./namadr_list '[2001:24:5c7:0:2d0:b7ff:fe88:2ca8]' dummy 2001:24:5c7:0:2d0:b7ff:fe88:2ca8
|
||||||
./namadr_list '[2001:24:5c7:0:2d0:b7ff:fe88:2ca8]' dummy 2001:24:5c7:0:2d0:b7ff:fe88:2ca7
|
./namadr_list '[2001:24:5c7:0:2d0:b7ff:fe88:2ca8]' dummy 2001:24:5c7:0:2d0:b7ff:fe88:2ca7
|
||||||
./namadr_list 168.100.189.2 dummy 168.100.189.2
|
./namadr_list 168.100.3.2 dummy 168.100.3.2
|
||||||
./namadr_list 168.100.189.2 dummy 168.100.189.3
|
./namadr_list 168.100.3.2 dummy 168.100.3.3
|
||||||
./namadr_list '[168.100.189.2]' dummy 168.100.189.2
|
./namadr_list '[168.100.3.2]' dummy 168.100.3.2
|
||||||
./namadr_list '[168.100.189.2]' dummy 168.100.189.3
|
./namadr_list '[168.100.3.2]' dummy 168.100.3.3
|
||||||
echo foo !bar baz >junk; mv junk /tmp
|
echo foo !bar baz >junk; mv junk /tmp
|
||||||
./namadr_list !/tmp/junk dummy 168.100.189.3
|
./namadr_list !/tmp/junk dummy 168.100.3.3
|
||||||
./namadr_list !/tmp/junk foo 168.100.189.3
|
./namadr_list !/tmp/junk foo 168.100.3.3
|
||||||
./namadr_list !/tmp/junk bar 168.100.189.3
|
./namadr_list !/tmp/junk bar 168.100.3.3
|
||||||
./namadr_list !/tmp/junk baz 168.100.189.3
|
./namadr_list !/tmp/junk baz 168.100.3.3
|
||||||
./namadr_list /tmp/junk dummy 168.100.189.3
|
./namadr_list /tmp/junk dummy 168.100.3.3
|
||||||
./namadr_list /tmp/junk foo 168.100.189.3
|
./namadr_list /tmp/junk foo 168.100.3.3
|
||||||
./namadr_list /tmp/junk bar 168.100.189.3
|
./namadr_list /tmp/junk bar 168.100.3.3
|
||||||
./namadr_list /tmp/junk baz 168.100.189.3
|
./namadr_list /tmp/junk baz 168.100.3.3
|
||||||
rm -f junk
|
rm -f junk
|
||||||
./namadr_list 'be.be' x.x.x 127.0.0.1
|
./namadr_list 'be.be' x.x.x 127.0.0.1
|
||||||
./namadr_list 'be/be' x.x.x 127.0.0.1
|
./namadr_list 'be/be' x.x.x 127.0.0.1
|
||||||
./namadr_list '[be:be]' x.x.x 127.0.0.1
|
./namadr_list '[be:be]' x.x.x 127.0.0.1
|
||||||
./namadr_list '[be:be]' x.x.x ::1
|
./namadr_list '[be:be]' x.x.x ::1
|
||||||
env foo=x ./namadr_list environ:junk foo 168.100.189.3
|
env foo=x ./namadr_list environ:junk foo 168.100.3.3
|
||||||
env foo=x ./namadr_list environ:junk bar 168.100.189.3
|
env foo=x ./namadr_list environ:junk bar 168.100.3.3
|
||||||
env foo=x ./namadr_list !environ:junk foo 168.100.189.3
|
env foo=x ./namadr_list !environ:junk foo 168.100.3.3
|
||||||
env foo=x ./namadr_list !environ:junk bar 168.100.189.3
|
env foo=x ./namadr_list !environ:junk bar 168.100.3.3
|
||||||
env foo=x ./namadr_list !!environ:junk foo 168.100.189.3
|
env foo=x ./namadr_list !!environ:junk foo 168.100.3.3
|
||||||
env foo=x ./namadr_list !!environ:junk bar 168.100.189.3
|
env foo=x ./namadr_list !!environ:junk bar 168.100.3.3
|
||||||
./namadr_list fail:1 bar 168.100.189.3
|
./namadr_list fail:1 bar 168.100.3.3
|
||||||
./namadr_list !fail:1 bar 168.100.189.3
|
./namadr_list !fail:1 bar 168.100.3.3
|
||||||
./namadr_list /tmp/nosuchfile bar 168.100.189.3
|
./namadr_list /tmp/nosuchfile bar 168.100.3.3
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
dummy/168.100.189.2: YES
|
dummy/168.100.3.2: YES
|
||||||
dummy/168.100.189.2: NO
|
dummy/168.100.3.2: NO
|
||||||
dummy/168.100.189.3: YES
|
dummy/168.100.3.3: YES
|
||||||
dummy/168.100.189.16: NO
|
dummy/168.100.3.16: NO
|
||||||
./namadr_list: warning: command line: bad net/mask pattern: "168.100.189.0/98"
|
./namadr_list: warning: command line: bad net/mask pattern: "168.100.3.0/98"
|
||||||
dummy/168.100.189.16: ERROR
|
dummy/168.100.3.16: ERROR
|
||||||
./namadr_list: warning: command line: bad net/mask pattern: "168.100.589.0/28"
|
./namadr_list: warning: command line: bad net/mask pattern: "168.100.589.0/28"
|
||||||
dummy/168.100.189.16: ERROR
|
dummy/168.100.3.16: ERROR
|
||||||
dummy/168.100.989.16: NO
|
dummy/168.100.989.16: NO
|
||||||
./namadr_list: error: unsupported dictionary type: 2001
|
./namadr_list: error: unsupported dictionary type: 2001
|
||||||
./namadr_list: warning: 2001:240:5c7:0:2d0:b7ff:fe88:2ca7 is unavailable. unsupported dictionary type: 2001
|
./namadr_list: warning: 2001:240:5c7:0:2d0:b7ff:fe88:2ca7 is unavailable. unsupported dictionary type: 2001
|
||||||
@ -19,35 +19,35 @@ dummy/2001:240:5c7:0:2d0:b7ff:fe88:2ca8: YES
|
|||||||
dummy/2001:24:5c7:0:2d0:b7ff:fe88:2ca8: NO
|
dummy/2001:24:5c7:0:2d0:b7ff:fe88:2ca8: NO
|
||||||
dummy/2001:24:5c7:0:2d0:b7ff:fe88:2ca8: YES
|
dummy/2001:24:5c7:0:2d0:b7ff:fe88:2ca8: YES
|
||||||
dummy/2001:24:5c7:0:2d0:b7ff:fe88:2ca7: NO
|
dummy/2001:24:5c7:0:2d0:b7ff:fe88:2ca7: NO
|
||||||
dummy/168.100.189.2: YES
|
dummy/168.100.3.2: YES
|
||||||
dummy/168.100.189.3: NO
|
dummy/168.100.3.3: NO
|
||||||
dummy/168.100.189.2: YES
|
dummy/168.100.3.2: YES
|
||||||
dummy/168.100.189.3: NO
|
dummy/168.100.3.3: NO
|
||||||
dummy/168.100.189.3: NO
|
dummy/168.100.3.3: NO
|
||||||
foo/168.100.189.3: NO
|
foo/168.100.3.3: NO
|
||||||
bar/168.100.189.3: YES
|
bar/168.100.3.3: YES
|
||||||
baz/168.100.189.3: NO
|
baz/168.100.3.3: NO
|
||||||
dummy/168.100.189.3: NO
|
dummy/168.100.3.3: NO
|
||||||
foo/168.100.189.3: YES
|
foo/168.100.3.3: YES
|
||||||
bar/168.100.189.3: NO
|
bar/168.100.3.3: NO
|
||||||
baz/168.100.189.3: YES
|
baz/168.100.3.3: YES
|
||||||
x.x.x/127.0.0.1: NO
|
x.x.x/127.0.0.1: NO
|
||||||
./namadr_list: warning: command line: bad net/mask pattern: "be/be"
|
./namadr_list: warning: command line: bad net/mask pattern: "be/be"
|
||||||
x.x.x/127.0.0.1: ERROR
|
x.x.x/127.0.0.1: ERROR
|
||||||
x.x.x/127.0.0.1: NO
|
x.x.x/127.0.0.1: NO
|
||||||
./namadr_list: warning: command line: bad address pattern: "be:be"
|
./namadr_list: warning: command line: bad address pattern: "be:be"
|
||||||
x.x.x/::1: ERROR
|
x.x.x/::1: ERROR
|
||||||
foo/168.100.189.3: YES
|
foo/168.100.3.3: YES
|
||||||
bar/168.100.189.3: NO
|
bar/168.100.3.3: NO
|
||||||
foo/168.100.189.3: NO
|
foo/168.100.3.3: NO
|
||||||
bar/168.100.189.3: NO
|
bar/168.100.3.3: NO
|
||||||
foo/168.100.189.3: YES
|
foo/168.100.3.3: YES
|
||||||
bar/168.100.189.3: NO
|
bar/168.100.3.3: NO
|
||||||
./namadr_list: warning: command line: fail:1: table lookup problem
|
./namadr_list: warning: command line: fail:1: table lookup problem
|
||||||
bar/168.100.189.3: ERROR
|
bar/168.100.3.3: ERROR
|
||||||
./namadr_list: warning: command line: fail:1: table lookup problem
|
./namadr_list: warning: command line: fail:1: table lookup problem
|
||||||
bar/168.100.189.3: ERROR
|
bar/168.100.3.3: ERROR
|
||||||
./namadr_list: error: open file /tmp/nosuchfile: No such file or directory
|
./namadr_list: error: open file /tmp/nosuchfile: No such file or directory
|
||||||
./namadr_list: warning: non-existent:/tmp/nosuchfile is unavailable. open file /tmp/nosuchfile: No such file or directory
|
./namadr_list: warning: non-existent:/tmp/nosuchfile is unavailable. open file /tmp/nosuchfile: No such file or directory
|
||||||
./namadr_list: warning: command line: non-existent:/tmp/nosuchfile: table lookup problem
|
./namadr_list: warning: command line: non-existent:/tmp/nosuchfile: table lookup problem
|
||||||
bar/168.100.189.3: ERROR
|
bar/168.100.3.3: ERROR
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
mynetworks=168.100.189.0/27
|
mynetworks=168.100.3.0/27
|
||||||
server_acl=permit_mynetworks,reject
|
server_acl=permit_mynetworks,reject
|
||||||
address=168.100.189.2
|
address=168.100.3.2
|
||||||
mynetworks=!168.100.189.2,168.100.189.0/27
|
mynetworks=!168.100.3.2,168.100.3.0/27
|
||||||
address=168.100.189.2
|
address=168.100.3.2
|
||||||
address=168.100.189.3
|
address=168.100.3.3
|
||||||
mynetworks=fail:1
|
mynetworks=fail:1
|
||||||
address=168.100.189.4
|
address=168.100.3.4
|
||||||
server_acl=fail:1,reject
|
server_acl=fail:1,reject
|
||||||
address=168.100.189.2
|
address=168.100.3.2
|
||||||
|
@ -1,18 +1,18 @@
|
|||||||
> mynetworks=168.100.189.0/27
|
> mynetworks=168.100.3.0/27
|
||||||
> server_acl=permit_mynetworks,reject
|
> server_acl=permit_mynetworks,reject
|
||||||
> address=168.100.189.2
|
> address=168.100.3.2
|
||||||
168.100.189.2: permit
|
168.100.3.2: permit
|
||||||
> mynetworks=!168.100.189.2,168.100.189.0/27
|
> mynetworks=!168.100.3.2,168.100.3.0/27
|
||||||
> address=168.100.189.2
|
> address=168.100.3.2
|
||||||
168.100.189.2: reject
|
168.100.3.2: reject
|
||||||
> address=168.100.189.3
|
> address=168.100.3.3
|
||||||
168.100.189.3: permit
|
168.100.3.3: permit
|
||||||
> mynetworks=fail:1
|
> mynetworks=fail:1
|
||||||
> address=168.100.189.4
|
> address=168.100.3.4
|
||||||
unknown: warning: mynetworks: fail:1: table lookup problem
|
unknown: warning: mynetworks: fail:1: table lookup problem
|
||||||
unknown: warning: server_acl: permit_mynetworks: mynetworks lookup error -- ignoring the remainder of this access list
|
unknown: warning: server_acl: permit_mynetworks: mynetworks lookup error -- ignoring the remainder of this access list
|
||||||
168.100.189.4: error
|
168.100.3.4: error
|
||||||
> server_acl=fail:1,reject
|
> server_acl=fail:1,reject
|
||||||
> address=168.100.189.2
|
> address=168.100.3.2
|
||||||
unknown: warning: server_acl: fail:1: table lookup error -- ignoring the remainder of this access list
|
unknown: warning: server_acl: fail:1: table lookup error -- ignoring the remainder of this access list
|
||||||
168.100.189.2: error
|
168.100.3.2: error
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
postalias: fatal: table fail:aliases: query error: Unknown error: 0
|
postalias: fatal: table fail:aliases: query error: Application error
|
||||||
postalias: fatal: table fail:aliases: query error: Unknown error: 0
|
postalias: fatal: table fail:aliases: query error: Application error
|
||||||
postalias: fatal: table fail:aliases: delete error: Unknown error: 0
|
postalias: fatal: table fail:aliases: delete error: Application error
|
||||||
postalias: fatal: table fail:aliases: delete error: Unknown error: 0
|
postalias: fatal: table fail:aliases: delete error: Application error
|
||||||
postalias: fatal: table fail:aliases: sequence error: Unknown error: 0
|
postalias: fatal: table fail:aliases: sequence error: Application error
|
||||||
postalias: fatal: table fail:aliases: write error: Unknown error: 0
|
postalias: fatal: table fail:aliases: write error: Application error
|
||||||
postalias: fatal: table fail:aliases: write error: Unknown error: 0
|
postalias: fatal: table fail:aliases: write error: Application error
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
postmap: fatal: table fail:aliases: query error: Unknown error: 0
|
postmap: fatal: table fail:aliases: query error: Application error
|
||||||
postmap: fatal: table fail:aliases: query error: Unknown error: 0
|
postmap: fatal: table fail:aliases: query error: Application error
|
||||||
postmap: fatal: table fail:aliases: query error: Unknown error: 0
|
postmap: fatal: table fail:aliases: query error: Application error
|
||||||
postmap: fatal: table fail:aliases: delete error: Unknown error: 0
|
postmap: fatal: table fail:aliases: delete error: Application error
|
||||||
postmap: fatal: table fail:aliases: delete error: Unknown error: 0
|
postmap: fatal: table fail:aliases: delete error: Application error
|
||||||
postmap: fatal: table fail:aliases: sequence error: Unknown error: 0
|
postmap: fatal: table fail:aliases: sequence error: Application error
|
||||||
postmap: fatal: table fail:aliases: write error: Unknown error: 0
|
postmap: fatal: table fail:aliases: write error: Application error
|
||||||
postmap: fatal: table fail:aliases: write error: Unknown error: 0
|
postmap: fatal: table fail:aliases: write error: Application error
|
||||||
|
@ -146,7 +146,7 @@ smtpd_check_dsn_test: smtpd_check smtpd_check_dsn.in smtpd_check_dsn.ref smtpd_c
|
|||||||
diff smtpd_check_dsn.ref smtpd_check.tmp
|
diff smtpd_check_dsn.ref smtpd_check.tmp
|
||||||
rm -f smtpd_check.tmp smtpd_check_access.*
|
rm -f smtpd_check.tmp smtpd_check_access.*
|
||||||
|
|
||||||
# This requires that 168,100.189.7 is a local or virtual interface.
|
# This requires that 168.100.3.7 is a local or virtual interface.
|
||||||
|
|
||||||
smtpd_check_backup_test: smtpd_check smtpd_check_backup.in smtpd_check_backup.ref
|
smtpd_check_backup_test: smtpd_check smtpd_check_backup.in smtpd_check_backup.ref
|
||||||
$(SHLIB_ENV) $(VALGRIND) ./smtpd_check <smtpd_check_backup.in >smtpd_check.tmp 2>&1
|
$(SHLIB_ENV) $(VALGRIND) ./smtpd_check <smtpd_check_backup.in >smtpd_check.tmp 2>&1
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
# Initialize
|
# Initialize
|
||||||
#
|
#
|
||||||
smtpd_delay_reject 0
|
smtpd_delay_reject 0
|
||||||
mynetworks 127.0.0.0/8,168.100.189.0/28
|
mynetworks 127.0.0.0/8,168.100.3.0/28
|
||||||
relay_domains porcupine.org
|
relay_domains porcupine.org
|
||||||
smtpd_null_access_lookup_key <>
|
smtpd_null_access_lookup_key <>
|
||||||
#
|
#
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
>>> #
|
>>> #
|
||||||
>>> smtpd_delay_reject 0
|
>>> smtpd_delay_reject 0
|
||||||
OK
|
OK
|
||||||
>>> mynetworks 127.0.0.0/8,168.100.189.0/28
|
>>> mynetworks 127.0.0.0/8,168.100.3.0/28
|
||||||
OK
|
OK
|
||||||
>>> relay_domains porcupine.org
|
>>> relay_domains porcupine.org
|
||||||
OK
|
OK
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
# Initialize
|
# Initialize
|
||||||
#
|
#
|
||||||
smtpd_delay_reject 0
|
smtpd_delay_reject 0
|
||||||
mynetworks 127.0.0.0/8,168.100.189.0/28
|
mynetworks 127.0.0.0/8,168.100.3.0/28
|
||||||
local_recipient_maps inline:{foo_canon=whatever,bar_canon=whatever}
|
local_recipient_maps inline:{foo_canon=whatever,bar_canon=whatever}
|
||||||
mydestination example.com
|
mydestination example.com
|
||||||
myorigin example.com
|
myorigin example.com
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
>>> #
|
>>> #
|
||||||
>>> smtpd_delay_reject 0
|
>>> smtpd_delay_reject 0
|
||||||
OK
|
OK
|
||||||
>>> mynetworks 127.0.0.0/8,168.100.189.0/28
|
>>> mynetworks 127.0.0.0/8,168.100.3.0/28
|
||||||
OK
|
OK
|
||||||
>>> local_recipient_maps inline:{foo_canon=whatever,bar_canon=whatever}
|
>>> local_recipient_maps inline:{foo_canon=whatever,bar_canon=whatever}
|
||||||
OK
|
OK
|
||||||
|
@ -5870,6 +5870,11 @@ static int int_update(char **argv)
|
|||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Boolean parameters.
|
||||||
|
*/
|
||||||
|
bool var_relay_before_rcpt_checks;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Restrictions.
|
* Restrictions.
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#! ../bin/postmap smtpd_check_access
|
#! ../bin/postmap smtpd_check_access
|
||||||
#msg_verbose 1
|
#msg_verbose 1
|
||||||
smtpd_delay_reject 0
|
smtpd_delay_reject 0
|
||||||
mynetworks 127.0.0.0/8,168.100.189.0/28
|
mynetworks 127.0.0.0/8,168.100.3.0/28
|
||||||
relay_domains porcupine.org
|
relay_domains porcupine.org
|
||||||
maps_rbl_domains dnsbltest.porcupine.org
|
maps_rbl_domains dnsbltest.porcupine.org
|
||||||
#
|
#
|
||||||
@ -12,7 +12,7 @@ maps_rbl_domains dnsbltest.porcupine.org
|
|||||||
#
|
#
|
||||||
client_restrictions permit_mynetworks,reject_unknown_client,hash:./smtpd_check_access
|
client_restrictions permit_mynetworks,reject_unknown_client,hash:./smtpd_check_access
|
||||||
client unknown 131.155.210.17
|
client unknown 131.155.210.17
|
||||||
client unknown 168.100.189.13
|
client unknown 168.100.3.13
|
||||||
client random.bad.domain 123.123.123.123
|
client random.bad.domain 123.123.123.123
|
||||||
client friend.bad.domain 123.123.123.123
|
client friend.bad.domain 123.123.123.123
|
||||||
client bad.domain 123.123.123.123
|
client bad.domain 123.123.123.123
|
||||||
@ -46,7 +46,7 @@ helo 123.123.123.123
|
|||||||
sender_restrictions permit_mynetworks,reject_unknown_client
|
sender_restrictions permit_mynetworks,reject_unknown_client
|
||||||
client unknown 131.155.210.17
|
client unknown 131.155.210.17
|
||||||
mail foo@ibm.com
|
mail foo@ibm.com
|
||||||
client unknown 168.100.189.13
|
client unknown 168.100.3.13
|
||||||
mail foo@ibm.com
|
mail foo@ibm.com
|
||||||
client foo 123.123.123.123
|
client foo 123.123.123.123
|
||||||
mail foo@ibm.com
|
mail foo@ibm.com
|
||||||
@ -68,13 +68,13 @@ mail foo@friend.bad.domain
|
|||||||
recipient_restrictions permit_mynetworks,reject_unknown_client,check_relay_domains
|
recipient_restrictions permit_mynetworks,reject_unknown_client,check_relay_domains
|
||||||
client unknown 131.155.210.17
|
client unknown 131.155.210.17
|
||||||
rcpt foo@ibm.com
|
rcpt foo@ibm.com
|
||||||
client unknown 168.100.189.13
|
client unknown 168.100.3.13
|
||||||
rcpt foo@ibm.com
|
rcpt foo@ibm.com
|
||||||
client foo 123.123.123.123
|
client foo 123.123.123.123
|
||||||
rcpt foo@ibm.com
|
rcpt foo@ibm.com
|
||||||
rcpt foo@porcupine.org
|
rcpt foo@porcupine.org
|
||||||
recipient_restrictions check_relay_domains
|
recipient_restrictions check_relay_domains
|
||||||
client foo.porcupine.org 168.100.189.13
|
client foo.porcupine.org 168.100.3.13
|
||||||
rcpt foo@ibm.com
|
rcpt foo@ibm.com
|
||||||
rcpt foo@porcupine.org
|
rcpt foo@porcupine.org
|
||||||
client foo 123.123.123.123
|
client foo 123.123.123.123
|
||||||
@ -91,7 +91,7 @@ mail foo@friend.bad.domain
|
|||||||
# RBL
|
# RBL
|
||||||
#
|
#
|
||||||
client_restrictions reject_maps_rbl
|
client_restrictions reject_maps_rbl
|
||||||
client spike.porcupine.org 168.100.189.2
|
client spike.porcupine.org 168.100.3.2
|
||||||
client foo 127.0.0.2
|
client foo 127.0.0.2
|
||||||
#
|
#
|
||||||
# Hybrids
|
# Hybrids
|
||||||
@ -117,7 +117,7 @@ rcpt foo@porcupine.org
|
|||||||
# MX backup
|
# MX backup
|
||||||
#
|
#
|
||||||
#mydestination spike.porcupine.org,localhost.porcupine.org
|
#mydestination spike.porcupine.org,localhost.porcupine.org
|
||||||
#inet_interfaces 168.100.189.2,127.0.0.1
|
#inet_interfaces 168.100.3.2,127.0.0.1
|
||||||
#recipient_restrictions permit_mx_backup,reject
|
#recipient_restrictions permit_mx_backup,reject
|
||||||
#rcpt wietse@wzv.win.tue.nl
|
#rcpt wietse@wzv.win.tue.nl
|
||||||
#rcpt wietse@trouble.org
|
#rcpt wietse@trouble.org
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#! ../bin/postmap smtpd_check_access
|
#! ../bin/postmap smtpd_check_access
|
||||||
#msg_verbose 1
|
#msg_verbose 1
|
||||||
smtpd_delay_reject 0
|
smtpd_delay_reject 0
|
||||||
mynetworks 127.0.0.0/8,168.100.189.0/28
|
mynetworks 127.0.0.0/8,168.100.3.0/28
|
||||||
relay_domains porcupine.org
|
relay_domains porcupine.org
|
||||||
maps_rbl_domains dnsbltest.porcupine.org
|
maps_rbl_domains dnsbltest.porcupine.org
|
||||||
#
|
#
|
||||||
@ -12,7 +12,7 @@ maps_rbl_domains dnsbltest.porcupine.org
|
|||||||
#
|
#
|
||||||
client_restrictions permit_mynetworks,reject_unknown_client,check_client_access,hash:./smtpd_check_access
|
client_restrictions permit_mynetworks,reject_unknown_client,check_client_access,hash:./smtpd_check_access
|
||||||
client unknown 131.155.210.17
|
client unknown 131.155.210.17
|
||||||
client unknown 168.100.189.13
|
client unknown 168.100.3.13
|
||||||
client random.bad.domain 123.123.123.123
|
client random.bad.domain 123.123.123.123
|
||||||
client friend.bad.domain 123.123.123.123
|
client friend.bad.domain 123.123.123.123
|
||||||
client bad.domain 123.123.123.123
|
client bad.domain 123.123.123.123
|
||||||
@ -38,7 +38,7 @@ helo friend.bad.domain
|
|||||||
sender_restrictions permit_mynetworks,reject_unknown_client
|
sender_restrictions permit_mynetworks,reject_unknown_client
|
||||||
client unknown 131.155.210.17
|
client unknown 131.155.210.17
|
||||||
mail foo@ibm.com
|
mail foo@ibm.com
|
||||||
client unknown 168.100.189.13
|
client unknown 168.100.3.13
|
||||||
mail foo@ibm.com
|
mail foo@ibm.com
|
||||||
client foo 123.123.123.123
|
client foo 123.123.123.123
|
||||||
mail foo@ibm.com
|
mail foo@ibm.com
|
||||||
@ -60,13 +60,13 @@ mail foo@friend.bad.domain
|
|||||||
recipient_restrictions permit_mynetworks,reject_unknown_client,check_relay_domains
|
recipient_restrictions permit_mynetworks,reject_unknown_client,check_relay_domains
|
||||||
client unknown 131.155.210.17
|
client unknown 131.155.210.17
|
||||||
rcpt foo@ibm.com
|
rcpt foo@ibm.com
|
||||||
client unknown 168.100.189.13
|
client unknown 168.100.3.13
|
||||||
rcpt foo@ibm.com
|
rcpt foo@ibm.com
|
||||||
client foo 123.123.123.123
|
client foo 123.123.123.123
|
||||||
rcpt foo@ibm.com
|
rcpt foo@ibm.com
|
||||||
rcpt foo@porcupine.org
|
rcpt foo@porcupine.org
|
||||||
recipient_restrictions check_relay_domains
|
recipient_restrictions check_relay_domains
|
||||||
client foo.porcupine.org 168.100.189.13
|
client foo.porcupine.org 168.100.3.13
|
||||||
rcpt foo@ibm.com
|
rcpt foo@ibm.com
|
||||||
rcpt foo@porcupine.org
|
rcpt foo@porcupine.org
|
||||||
client foo 123.123.123.123
|
client foo 123.123.123.123
|
||||||
@ -83,7 +83,7 @@ mail foo@friend.bad.domain
|
|||||||
# RBL
|
# RBL
|
||||||
#
|
#
|
||||||
client_restrictions reject_maps_rbl
|
client_restrictions reject_maps_rbl
|
||||||
client spike.porcupine.org 168.100.189.2
|
client spike.porcupine.org 168.100.3.2
|
||||||
client foo 127.0.0.2
|
client foo 127.0.0.2
|
||||||
#
|
#
|
||||||
# unknown sender/recipient domain
|
# unknown sender/recipient domain
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#msg_verbose 1
|
#msg_verbose 1
|
||||||
smtpd_delay_reject 0
|
smtpd_delay_reject 0
|
||||||
mynetworks 127.0.0.0/8,168.100.189.0/28
|
mynetworks 127.0.0.0/8,168.100.3.0/28
|
||||||
relay_domains porcupine.org
|
relay_domains porcupine.org
|
||||||
local_recipient_maps unix:passwd.byname
|
local_recipient_maps unix:passwd.byname
|
||||||
client unknown 131.155.210.17
|
client unknown 131.155.210.17
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
>>> #msg_verbose 1
|
>>> #msg_verbose 1
|
||||||
>>> smtpd_delay_reject 0
|
>>> smtpd_delay_reject 0
|
||||||
OK
|
OK
|
||||||
>>> mynetworks 127.0.0.0/8,168.100.189.0/28
|
>>> mynetworks 127.0.0.0/8,168.100.3.0/28
|
||||||
OK
|
OK
|
||||||
>>> relay_domains porcupine.org
|
>>> relay_domains porcupine.org
|
||||||
OK
|
OK
|
||||||
@ -19,7 +19,7 @@ OK
|
|||||||
>>> client unknown 131.155.210.17
|
>>> client unknown 131.155.210.17
|
||||||
./smtpd_check: <queue id>: reject: CONNECT from unknown[131.155.210.17]: 450 4.7.1 Client host rejected: cannot find your hostname, [131.155.210.17]; proto=SMTP
|
./smtpd_check: <queue id>: reject: CONNECT from unknown[131.155.210.17]: 450 4.7.1 Client host rejected: cannot find your hostname, [131.155.210.17]; proto=SMTP
|
||||||
450 4.7.1 Client host rejected: cannot find your hostname, [131.155.210.17]
|
450 4.7.1 Client host rejected: cannot find your hostname, [131.155.210.17]
|
||||||
>>> client unknown 168.100.189.13
|
>>> client unknown 168.100.3.13
|
||||||
OK
|
OK
|
||||||
>>> client random.bad.domain 123.123.123.123
|
>>> client random.bad.domain 123.123.123.123
|
||||||
./smtpd_check: <queue id>: reject: CONNECT from random.bad.domain[123.123.123.123]: 554 5.7.1 <random.bad.domain[123.123.123.123]>: Client host rejected: match bad.domain; proto=SMTP
|
./smtpd_check: <queue id>: reject: CONNECT from random.bad.domain[123.123.123.123]: 554 5.7.1 <random.bad.domain[123.123.123.123]>: Client host rejected: match bad.domain; proto=SMTP
|
||||||
@ -94,7 +94,7 @@ OK
|
|||||||
>>> mail foo@ibm.com
|
>>> mail foo@ibm.com
|
||||||
./smtpd_check: <queue id>: reject: MAIL from unknown[131.155.210.17]: 450 4.7.1 Client host rejected: cannot find your hostname, [131.155.210.17]; from=<foo@ibm.com> proto=SMTP helo=<123.123.123.123>
|
./smtpd_check: <queue id>: reject: MAIL from unknown[131.155.210.17]: 450 4.7.1 Client host rejected: cannot find your hostname, [131.155.210.17]; from=<foo@ibm.com> proto=SMTP helo=<123.123.123.123>
|
||||||
450 4.7.1 Client host rejected: cannot find your hostname, [131.155.210.17]
|
450 4.7.1 Client host rejected: cannot find your hostname, [131.155.210.17]
|
||||||
>>> client unknown 168.100.189.13
|
>>> client unknown 168.100.3.13
|
||||||
OK
|
OK
|
||||||
>>> mail foo@ibm.com
|
>>> mail foo@ibm.com
|
||||||
OK
|
OK
|
||||||
@ -143,7 +143,7 @@ OK
|
|||||||
>>> rcpt foo@ibm.com
|
>>> rcpt foo@ibm.com
|
||||||
./smtpd_check: <queue id>: reject: RCPT from unknown[131.155.210.17]: 450 4.7.1 Client host rejected: cannot find your hostname, [131.155.210.17]; from=<foo@friend.bad.domain> to=<foo@ibm.com> proto=SMTP helo=<123.123.123.123>
|
./smtpd_check: <queue id>: reject: RCPT from unknown[131.155.210.17]: 450 4.7.1 Client host rejected: cannot find your hostname, [131.155.210.17]; from=<foo@friend.bad.domain> to=<foo@ibm.com> proto=SMTP helo=<123.123.123.123>
|
||||||
450 4.7.1 Client host rejected: cannot find your hostname, [131.155.210.17]
|
450 4.7.1 Client host rejected: cannot find your hostname, [131.155.210.17]
|
||||||
>>> client unknown 168.100.189.13
|
>>> client unknown 168.100.3.13
|
||||||
OK
|
OK
|
||||||
>>> rcpt foo@ibm.com
|
>>> rcpt foo@ibm.com
|
||||||
OK
|
OK
|
||||||
@ -157,7 +157,7 @@ OK
|
|||||||
OK
|
OK
|
||||||
>>> recipient_restrictions check_relay_domains
|
>>> recipient_restrictions check_relay_domains
|
||||||
OK
|
OK
|
||||||
>>> client foo.porcupine.org 168.100.189.13
|
>>> client foo.porcupine.org 168.100.3.13
|
||||||
OK
|
OK
|
||||||
>>> rcpt foo@ibm.com
|
>>> rcpt foo@ibm.com
|
||||||
OK
|
OK
|
||||||
@ -193,7 +193,7 @@ OK
|
|||||||
>>> #
|
>>> #
|
||||||
>>> client_restrictions reject_maps_rbl
|
>>> client_restrictions reject_maps_rbl
|
||||||
OK
|
OK
|
||||||
>>> client spike.porcupine.org 168.100.189.2
|
>>> client spike.porcupine.org 168.100.3.2
|
||||||
./smtpd_check: warning: support for restriction "reject_maps_rbl" will be removed from Postfix; use "reject_rbl_client domain-name" instead
|
./smtpd_check: warning: support for restriction "reject_maps_rbl" will be removed from Postfix; use "reject_rbl_client domain-name" instead
|
||||||
OK
|
OK
|
||||||
>>> client foo 127.0.0.2
|
>>> client foo 127.0.0.2
|
||||||
@ -245,7 +245,7 @@ OK
|
|||||||
>>> # MX backup
|
>>> # MX backup
|
||||||
>>> #
|
>>> #
|
||||||
>>> #mydestination spike.porcupine.org,localhost.porcupine.org
|
>>> #mydestination spike.porcupine.org,localhost.porcupine.org
|
||||||
>>> #inet_interfaces 168.100.189.2,127.0.0.1
|
>>> #inet_interfaces 168.100.3.2,127.0.0.1
|
||||||
>>> #recipient_restrictions permit_mx_backup,reject
|
>>> #recipient_restrictions permit_mx_backup,reject
|
||||||
>>> #rcpt wietse@wzv.win.tue.nl
|
>>> #rcpt wietse@wzv.win.tue.nl
|
||||||
>>> #rcpt wietse@trouble.org
|
>>> #rcpt wietse@trouble.org
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
>>> #msg_verbose 1
|
>>> #msg_verbose 1
|
||||||
>>> smtpd_delay_reject 0
|
>>> smtpd_delay_reject 0
|
||||||
OK
|
OK
|
||||||
>>> mynetworks 127.0.0.0/8,168.100.189.0/28
|
>>> mynetworks 127.0.0.0/8,168.100.3.0/28
|
||||||
OK
|
OK
|
||||||
>>> relay_domains porcupine.org
|
>>> relay_domains porcupine.org
|
||||||
OK
|
OK
|
||||||
@ -19,7 +19,7 @@ OK
|
|||||||
>>> client unknown 131.155.210.17
|
>>> client unknown 131.155.210.17
|
||||||
./smtpd_check: <queue id>: reject: CONNECT from unknown[131.155.210.17]: 450 4.7.1 Client host rejected: cannot find your hostname, [131.155.210.17]; proto=SMTP
|
./smtpd_check: <queue id>: reject: CONNECT from unknown[131.155.210.17]: 450 4.7.1 Client host rejected: cannot find your hostname, [131.155.210.17]; proto=SMTP
|
||||||
450 4.7.1 Client host rejected: cannot find your hostname, [131.155.210.17]
|
450 4.7.1 Client host rejected: cannot find your hostname, [131.155.210.17]
|
||||||
>>> client unknown 168.100.189.13
|
>>> client unknown 168.100.3.13
|
||||||
OK
|
OK
|
||||||
>>> client random.bad.domain 123.123.123.123
|
>>> client random.bad.domain 123.123.123.123
|
||||||
./smtpd_check: <queue id>: reject: CONNECT from random.bad.domain[123.123.123.123]: 554 5.7.1 <random.bad.domain[123.123.123.123]>: Client host rejected: match bad.domain; proto=SMTP
|
./smtpd_check: <queue id>: reject: CONNECT from random.bad.domain[123.123.123.123]: 554 5.7.1 <random.bad.domain[123.123.123.123]>: Client host rejected: match bad.domain; proto=SMTP
|
||||||
@ -74,7 +74,7 @@ OK
|
|||||||
>>> mail foo@ibm.com
|
>>> mail foo@ibm.com
|
||||||
./smtpd_check: <queue id>: reject: MAIL from unknown[131.155.210.17]: 450 4.7.1 Client host rejected: cannot find your hostname, [131.155.210.17]; from=<foo@ibm.com> proto=SMTP helo=<friend.bad.domain>
|
./smtpd_check: <queue id>: reject: MAIL from unknown[131.155.210.17]: 450 4.7.1 Client host rejected: cannot find your hostname, [131.155.210.17]; from=<foo@ibm.com> proto=SMTP helo=<friend.bad.domain>
|
||||||
450 4.7.1 Client host rejected: cannot find your hostname, [131.155.210.17]
|
450 4.7.1 Client host rejected: cannot find your hostname, [131.155.210.17]
|
||||||
>>> client unknown 168.100.189.13
|
>>> client unknown 168.100.3.13
|
||||||
OK
|
OK
|
||||||
>>> mail foo@ibm.com
|
>>> mail foo@ibm.com
|
||||||
OK
|
OK
|
||||||
@ -123,7 +123,7 @@ OK
|
|||||||
>>> rcpt foo@ibm.com
|
>>> rcpt foo@ibm.com
|
||||||
./smtpd_check: <queue id>: reject: RCPT from unknown[131.155.210.17]: 450 4.7.1 Client host rejected: cannot find your hostname, [131.155.210.17]; from=<foo@friend.bad.domain> to=<foo@ibm.com> proto=SMTP helo=<friend.bad.domain>
|
./smtpd_check: <queue id>: reject: RCPT from unknown[131.155.210.17]: 450 4.7.1 Client host rejected: cannot find your hostname, [131.155.210.17]; from=<foo@friend.bad.domain> to=<foo@ibm.com> proto=SMTP helo=<friend.bad.domain>
|
||||||
450 4.7.1 Client host rejected: cannot find your hostname, [131.155.210.17]
|
450 4.7.1 Client host rejected: cannot find your hostname, [131.155.210.17]
|
||||||
>>> client unknown 168.100.189.13
|
>>> client unknown 168.100.3.13
|
||||||
OK
|
OK
|
||||||
>>> rcpt foo@ibm.com
|
>>> rcpt foo@ibm.com
|
||||||
OK
|
OK
|
||||||
@ -137,7 +137,7 @@ OK
|
|||||||
OK
|
OK
|
||||||
>>> recipient_restrictions check_relay_domains
|
>>> recipient_restrictions check_relay_domains
|
||||||
OK
|
OK
|
||||||
>>> client foo.porcupine.org 168.100.189.13
|
>>> client foo.porcupine.org 168.100.3.13
|
||||||
OK
|
OK
|
||||||
>>> rcpt foo@ibm.com
|
>>> rcpt foo@ibm.com
|
||||||
OK
|
OK
|
||||||
@ -173,7 +173,7 @@ OK
|
|||||||
>>> #
|
>>> #
|
||||||
>>> client_restrictions reject_maps_rbl
|
>>> client_restrictions reject_maps_rbl
|
||||||
OK
|
OK
|
||||||
>>> client spike.porcupine.org 168.100.189.2
|
>>> client spike.porcupine.org 168.100.3.2
|
||||||
./smtpd_check: warning: support for restriction "reject_maps_rbl" will be removed from Postfix; use "reject_rbl_client domain-name" instead
|
./smtpd_check: warning: support for restriction "reject_maps_rbl" will be removed from Postfix; use "reject_rbl_client domain-name" instead
|
||||||
OK
|
OK
|
||||||
>>> client foo 127.0.0.2
|
>>> client foo 127.0.0.2
|
||||||
|
@ -4,17 +4,17 @@
|
|||||||
#! ../bin/postmap smtpd_check_access
|
#! ../bin/postmap smtpd_check_access
|
||||||
#msg_verbose 1
|
#msg_verbose 1
|
||||||
smtpd_delay_reject 0
|
smtpd_delay_reject 0
|
||||||
mynetworks 127.0.0.0/8,168.100.189.0/28
|
mynetworks 127.0.0.0/8,168.100.3.0/28
|
||||||
#
|
#
|
||||||
# MX backup
|
# MX backup
|
||||||
#
|
#
|
||||||
mydestination wzv.porcupine.org,localhost.porcupine.org
|
mydestination wzv.porcupine.org,localhost.porcupine.org
|
||||||
inet_interfaces 168.100.189.7,127.0.0.1
|
inet_interfaces 168.100.3.7,127.0.0.1
|
||||||
recipient_restrictions permit_mx_backup,reject
|
recipient_restrictions permit_mx_backup,reject
|
||||||
rcpt wietse@wzv.porcupine.org
|
rcpt wietse@wzv.porcupine.org
|
||||||
rcpt wietse@backup.porcupine.org
|
rcpt wietse@backup.porcupine.org
|
||||||
rcpt wietse@porcupine.org
|
rcpt wietse@porcupine.org
|
||||||
permit_mx_backup_networks 168.100.189.5
|
permit_mx_backup_networks 168.100.3.5
|
||||||
rcpt wietse@backup.porcupine.org
|
rcpt wietse@backup.porcupine.org
|
||||||
permit_mx_backup_networks 168.100.189.4
|
permit_mx_backup_networks 168.100.3.4
|
||||||
rcpt wietse@backup.porcupine.org
|
rcpt wietse@backup.porcupine.org
|
||||||
|
@ -5,14 +5,14 @@
|
|||||||
>>> #msg_verbose 1
|
>>> #msg_verbose 1
|
||||||
>>> smtpd_delay_reject 0
|
>>> smtpd_delay_reject 0
|
||||||
OK
|
OK
|
||||||
>>> mynetworks 127.0.0.0/8,168.100.189.0/28
|
>>> mynetworks 127.0.0.0/8,168.100.3.0/28
|
||||||
OK
|
OK
|
||||||
>>> #
|
>>> #
|
||||||
>>> # MX backup
|
>>> # MX backup
|
||||||
>>> #
|
>>> #
|
||||||
>>> mydestination wzv.porcupine.org,localhost.porcupine.org
|
>>> mydestination wzv.porcupine.org,localhost.porcupine.org
|
||||||
OK
|
OK
|
||||||
>>> inet_interfaces 168.100.189.7,127.0.0.1
|
>>> inet_interfaces 168.100.3.7,127.0.0.1
|
||||||
OK
|
OK
|
||||||
>>> recipient_restrictions permit_mx_backup,reject
|
>>> recipient_restrictions permit_mx_backup,reject
|
||||||
OK
|
OK
|
||||||
@ -23,12 +23,12 @@ OK
|
|||||||
>>> rcpt wietse@porcupine.org
|
>>> rcpt wietse@porcupine.org
|
||||||
./smtpd_check: <queue id>: reject: RCPT from localhost[127.0.0.1]: 554 5.7.1 <wietse@porcupine.org>: Recipient address rejected: Access denied; to=<wietse@porcupine.org> proto=SMTP
|
./smtpd_check: <queue id>: reject: RCPT from localhost[127.0.0.1]: 554 5.7.1 <wietse@porcupine.org>: Recipient address rejected: Access denied; to=<wietse@porcupine.org> proto=SMTP
|
||||||
554 5.7.1 <wietse@porcupine.org>: Recipient address rejected: Access denied
|
554 5.7.1 <wietse@porcupine.org>: Recipient address rejected: Access denied
|
||||||
>>> permit_mx_backup_networks 168.100.189.5
|
>>> permit_mx_backup_networks 168.100.3.5
|
||||||
OK
|
OK
|
||||||
>>> rcpt wietse@backup.porcupine.org
|
>>> rcpt wietse@backup.porcupine.org
|
||||||
./smtpd_check: <queue id>: reject: RCPT from localhost[127.0.0.1]: 554 5.7.1 <wietse@backup.porcupine.org>: Recipient address rejected: Access denied; to=<wietse@backup.porcupine.org> proto=SMTP
|
./smtpd_check: <queue id>: reject: RCPT from localhost[127.0.0.1]: 554 5.7.1 <wietse@backup.porcupine.org>: Recipient address rejected: Access denied; to=<wietse@backup.porcupine.org> proto=SMTP
|
||||||
554 5.7.1 <wietse@backup.porcupine.org>: Recipient address rejected: Access denied
|
554 5.7.1 <wietse@backup.porcupine.org>: Recipient address rejected: Access denied
|
||||||
>>> permit_mx_backup_networks 168.100.189.4
|
>>> permit_mx_backup_networks 168.100.3.4
|
||||||
OK
|
OK
|
||||||
>>> rcpt wietse@backup.porcupine.org
|
>>> rcpt wietse@backup.porcupine.org
|
||||||
OK
|
OK
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#! ../bin/postmap smtpd_check_access
|
#! ../bin/postmap smtpd_check_access
|
||||||
#msg_verbose 1
|
#msg_verbose 1
|
||||||
smtpd_delay_reject 0
|
smtpd_delay_reject 0
|
||||||
mynetworks 127.0.0.0/8,168.100.189.0/28
|
mynetworks 127.0.0.0/8,168.100.3.0/28
|
||||||
#
|
#
|
||||||
# Test the client restrictions.
|
# Test the client restrictions.
|
||||||
#
|
#
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
>>> #msg_verbose 1
|
>>> #msg_verbose 1
|
||||||
>>> smtpd_delay_reject 0
|
>>> smtpd_delay_reject 0
|
||||||
OK
|
OK
|
||||||
>>> mynetworks 127.0.0.0/8,168.100.189.0/28
|
>>> mynetworks 127.0.0.0/8,168.100.3.0/28
|
||||||
OK
|
OK
|
||||||
>>> #
|
>>> #
|
||||||
>>> # Test the client restrictions.
|
>>> # Test the client restrictions.
|
||||||
|
@ -30,11 +30,11 @@ OK
|
|||||||
>>> mail user@spike.porcupine.org
|
>>> mail user@spike.porcupine.org
|
||||||
OK
|
OK
|
||||||
>>> helo spike.porcupine.org
|
>>> helo spike.porcupine.org
|
||||||
./smtpd_check: ignoring DNS RR: spike.porcupine.org. TTL IN A 168.100.189.2
|
./smtpd_check: ignoring DNS RR: spike.porcupine.org. TTL IN A 168.100.3.2
|
||||||
OK
|
OK
|
||||||
>>> # EXPECT OK + "all A records dropped" warning + no delayed reject.
|
>>> # EXPECT OK + "all A records dropped" warning + no delayed reject.
|
||||||
>>> helo fist.porcupine.org
|
>>> helo fist.porcupine.org
|
||||||
./smtpd_check: ignoring DNS RR: fist.porcupine.org. TTL IN A 168.100.189.4
|
./smtpd_check: ignoring DNS RR: fist.porcupine.org. TTL IN A 168.100.3.4
|
||||||
./smtpd_check: warning: fist.porcupine.org: address or MX lookup error: DNS reply filter drops all results
|
./smtpd_check: warning: fist.porcupine.org: address or MX lookup error: DNS reply filter drops all results
|
||||||
OK
|
OK
|
||||||
>>> mail user@spike.porcupine.org
|
>>> mail user@spike.porcupine.org
|
||||||
@ -96,11 +96,11 @@ OK
|
|||||||
OK
|
OK
|
||||||
>>> # EXPECT OK (host has AAAA record).
|
>>> # EXPECT OK (host has AAAA record).
|
||||||
>>> mail user@spike.porcupine.org
|
>>> mail user@spike.porcupine.org
|
||||||
./smtpd_check: ignoring DNS RR: spike.porcupine.org. TTL IN A 168.100.189.2
|
./smtpd_check: ignoring DNS RR: spike.porcupine.org. TTL IN A 168.100.3.2
|
||||||
OK
|
OK
|
||||||
>>> # EXPECT OK + "all A records dropped" warning.
|
>>> # EXPECT OK + "all A records dropped" warning.
|
||||||
>>> mail user@fist.porcupine.org
|
>>> mail user@fist.porcupine.org
|
||||||
./smtpd_check: ignoring DNS RR: fist.porcupine.org. TTL IN A 168.100.189.4
|
./smtpd_check: ignoring DNS RR: fist.porcupine.org. TTL IN A 168.100.3.4
|
||||||
./smtpd_check: warning: fist.porcupine.org: MX or address lookup error: DNS reply filter drops all results
|
./smtpd_check: warning: fist.porcupine.org: MX or address lookup error: DNS reply filter drops all results
|
||||||
OK
|
OK
|
||||||
>>> smtpd_dns_reply_filter regexp:../dns/error.reg
|
>>> smtpd_dns_reply_filter regexp:../dns/error.reg
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#
|
#
|
||||||
#msg_verbose 1
|
#msg_verbose 1
|
||||||
smtpd_delay_reject 0
|
smtpd_delay_reject 0
|
||||||
mynetworks 127.0.0.0/8,168.100.189.0/28
|
mynetworks 127.0.0.0/8,168.100.3.0/28
|
||||||
mydestination porcupine.org
|
mydestination porcupine.org
|
||||||
relay_domains porcupine.org
|
relay_domains porcupine.org
|
||||||
helo foobar
|
helo foobar
|
||||||
@ -14,11 +14,11 @@ helo foobar
|
|||||||
|
|
||||||
# Allowlist overrides reject.
|
# Allowlist overrides reject.
|
||||||
client_restrictions permit_dnswl_client,wild.porcupine.org,reject
|
client_restrictions permit_dnswl_client,wild.porcupine.org,reject
|
||||||
client spike.porcupine.org 168.100.189.2
|
client spike.porcupine.org 168.100.3.2
|
||||||
|
|
||||||
# Allowlist does not fire - reject.
|
# Allowlist does not fire - reject.
|
||||||
client_restrictions permit_dnswl_client,porcupine.org,reject
|
client_restrictions permit_dnswl_client,porcupine.org,reject
|
||||||
client spike.porcupine.org 168.100.189.2
|
client spike.porcupine.org 168.100.3.2
|
||||||
|
|
||||||
# Allowlist does not override reject_unauth_destination.
|
# Allowlist does not override reject_unauth_destination.
|
||||||
client_restrictions permit
|
client_restrictions permit
|
||||||
@ -35,21 +35,21 @@ rcpt wietse@porcupine.org
|
|||||||
# Allowlist overrides reject.
|
# Allowlist overrides reject.
|
||||||
client_restrictions permit_rhswl_client,dnswl.porcupine.org,reject
|
client_restrictions permit_rhswl_client,dnswl.porcupine.org,reject
|
||||||
# Non-allowlisted client name - reject.
|
# Non-allowlisted client name - reject.
|
||||||
client spike.porcupine.org 168.100.189.2
|
client spike.porcupine.org 168.100.3.2
|
||||||
# Allowlisted client name - accept.
|
# Allowlisted client name - accept.
|
||||||
client example.tld 168.100.189.2
|
client example.tld 168.100.3.2
|
||||||
|
|
||||||
# Allowlist does not override reject_unauth_destination.
|
# Allowlist does not override reject_unauth_destination.
|
||||||
client_restrictions permit
|
client_restrictions permit
|
||||||
recipient_restrictions permit_rhswl_client,dnswl.porcupine.org,reject_unauth_destination
|
recipient_restrictions permit_rhswl_client,dnswl.porcupine.org,reject_unauth_destination
|
||||||
# Non-allowlisted client name.
|
# Non-allowlisted client name.
|
||||||
client spike.porcupine.org 168.100.189.2
|
client spike.porcupine.org 168.100.3.2
|
||||||
# Unauthorized destination - reject.
|
# Unauthorized destination - reject.
|
||||||
rcpt rname@rdomain
|
rcpt rname@rdomain
|
||||||
# Authorized destination - accept.
|
# Authorized destination - accept.
|
||||||
rcpt wietse@porcupine.org
|
rcpt wietse@porcupine.org
|
||||||
# Allowlisted client name.
|
# Allowlisted client name.
|
||||||
client example.tld 168.100.189.2
|
client example.tld 168.100.3.2
|
||||||
# Unauthorized destination - reject.
|
# Unauthorized destination - reject.
|
||||||
rcpt rname@rdomain
|
rcpt rname@rdomain
|
||||||
# Authorized destination - accept.
|
# Authorized destination - accept.
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
>>> #msg_verbose 1
|
>>> #msg_verbose 1
|
||||||
>>> smtpd_delay_reject 0
|
>>> smtpd_delay_reject 0
|
||||||
OK
|
OK
|
||||||
>>> mynetworks 127.0.0.0/8,168.100.189.0/28
|
>>> mynetworks 127.0.0.0/8,168.100.3.0/28
|
||||||
OK
|
OK
|
||||||
>>> mydestination porcupine.org
|
>>> mydestination porcupine.org
|
||||||
OK
|
OK
|
||||||
@ -20,15 +20,15 @@ OK
|
|||||||
>>> # Allowlist overrides reject.
|
>>> # Allowlist overrides reject.
|
||||||
>>> client_restrictions permit_dnswl_client,wild.porcupine.org,reject
|
>>> client_restrictions permit_dnswl_client,wild.porcupine.org,reject
|
||||||
OK
|
OK
|
||||||
>>> client spike.porcupine.org 168.100.189.2
|
>>> client spike.porcupine.org 168.100.3.2
|
||||||
OK
|
OK
|
||||||
>>>
|
>>>
|
||||||
>>> # Allowlist does not fire - reject.
|
>>> # Allowlist does not fire - reject.
|
||||||
>>> client_restrictions permit_dnswl_client,porcupine.org,reject
|
>>> client_restrictions permit_dnswl_client,porcupine.org,reject
|
||||||
OK
|
OK
|
||||||
>>> client spike.porcupine.org 168.100.189.2
|
>>> client spike.porcupine.org 168.100.3.2
|
||||||
./smtpd_check: <queue id>: reject: CONNECT from spike.porcupine.org[168.100.189.2]: 554 5.7.1 <spike.porcupine.org[168.100.189.2]>: Client host rejected: Access denied; proto=SMTP helo=<foobar>
|
./smtpd_check: <queue id>: reject: CONNECT from spike.porcupine.org[168.100.3.2]: 554 5.7.1 <spike.porcupine.org[168.100.3.2]>: Client host rejected: Access denied; proto=SMTP helo=<foobar>
|
||||||
554 5.7.1 <spike.porcupine.org[168.100.189.2]>: Client host rejected: Access denied
|
554 5.7.1 <spike.porcupine.org[168.100.3.2]>: Client host rejected: Access denied
|
||||||
>>>
|
>>>
|
||||||
>>> # Allowlist does not override reject_unauth_destination.
|
>>> # Allowlist does not override reject_unauth_destination.
|
||||||
>>> client_restrictions permit
|
>>> client_restrictions permit
|
||||||
@ -37,7 +37,7 @@ OK
|
|||||||
OK
|
OK
|
||||||
>>> # Unauthorized destination - reject.
|
>>> # Unauthorized destination - reject.
|
||||||
>>> rcpt rname@rdomain
|
>>> rcpt rname@rdomain
|
||||||
./smtpd_check: <queue id>: reject: RCPT from spike.porcupine.org[168.100.189.2]: 554 5.7.1 <rname@rdomain>: Relay access denied; to=<rname@rdomain> proto=SMTP helo=<foobar>
|
./smtpd_check: <queue id>: reject: RCPT from spike.porcupine.org[168.100.3.2]: 554 5.7.1 <rname@rdomain>: Relay access denied; to=<rname@rdomain> proto=SMTP helo=<foobar>
|
||||||
554 5.7.1 <rname@rdomain>: Relay access denied
|
554 5.7.1 <rname@rdomain>: Relay access denied
|
||||||
>>> # Authorized destination - accept.
|
>>> # Authorized destination - accept.
|
||||||
>>> rcpt wietse@porcupine.org
|
>>> rcpt wietse@porcupine.org
|
||||||
@ -51,11 +51,11 @@ OK
|
|||||||
>>> client_restrictions permit_rhswl_client,dnswl.porcupine.org,reject
|
>>> client_restrictions permit_rhswl_client,dnswl.porcupine.org,reject
|
||||||
OK
|
OK
|
||||||
>>> # Non-allowlisted client name - reject.
|
>>> # Non-allowlisted client name - reject.
|
||||||
>>> client spike.porcupine.org 168.100.189.2
|
>>> client spike.porcupine.org 168.100.3.2
|
||||||
./smtpd_check: <queue id>: reject: CONNECT from spike.porcupine.org[168.100.189.2]: 554 5.7.1 <spike.porcupine.org[168.100.189.2]>: Client host rejected: Access denied; proto=SMTP helo=<foobar>
|
./smtpd_check: <queue id>: reject: CONNECT from spike.porcupine.org[168.100.3.2]: 554 5.7.1 <spike.porcupine.org[168.100.3.2]>: Client host rejected: Access denied; proto=SMTP helo=<foobar>
|
||||||
554 5.7.1 <spike.porcupine.org[168.100.189.2]>: Client host rejected: Access denied
|
554 5.7.1 <spike.porcupine.org[168.100.3.2]>: Client host rejected: Access denied
|
||||||
>>> # Allowlisted client name - accept.
|
>>> # Allowlisted client name - accept.
|
||||||
>>> client example.tld 168.100.189.2
|
>>> client example.tld 168.100.3.2
|
||||||
OK
|
OK
|
||||||
>>>
|
>>>
|
||||||
>>> # Allowlist does not override reject_unauth_destination.
|
>>> # Allowlist does not override reject_unauth_destination.
|
||||||
@ -64,31 +64,31 @@ OK
|
|||||||
>>> recipient_restrictions permit_rhswl_client,dnswl.porcupine.org,reject_unauth_destination
|
>>> recipient_restrictions permit_rhswl_client,dnswl.porcupine.org,reject_unauth_destination
|
||||||
OK
|
OK
|
||||||
>>> # Non-allowlisted client name.
|
>>> # Non-allowlisted client name.
|
||||||
>>> client spike.porcupine.org 168.100.189.2
|
>>> client spike.porcupine.org 168.100.3.2
|
||||||
OK
|
OK
|
||||||
>>> # Unauthorized destination - reject.
|
>>> # Unauthorized destination - reject.
|
||||||
>>> rcpt rname@rdomain
|
>>> rcpt rname@rdomain
|
||||||
./smtpd_check: <queue id>: reject: RCPT from spike.porcupine.org[168.100.189.2]: 554 5.7.1 <rname@rdomain>: Relay access denied; to=<rname@rdomain> proto=SMTP helo=<foobar>
|
./smtpd_check: <queue id>: reject: RCPT from spike.porcupine.org[168.100.3.2]: 554 5.7.1 <rname@rdomain>: Relay access denied; to=<rname@rdomain> proto=SMTP helo=<foobar>
|
||||||
554 5.7.1 <rname@rdomain>: Relay access denied
|
554 5.7.1 <rname@rdomain>: Relay access denied
|
||||||
>>> # Authorized destination - accept.
|
>>> # Authorized destination - accept.
|
||||||
>>> rcpt wietse@porcupine.org
|
>>> rcpt wietse@porcupine.org
|
||||||
OK
|
OK
|
||||||
>>> # Allowlisted client name.
|
>>> # Allowlisted client name.
|
||||||
>>> client example.tld 168.100.189.2
|
>>> client example.tld 168.100.3.2
|
||||||
OK
|
OK
|
||||||
>>> # Unauthorized destination - reject.
|
>>> # Unauthorized destination - reject.
|
||||||
>>> rcpt rname@rdomain
|
>>> rcpt rname@rdomain
|
||||||
./smtpd_check: <queue id>: reject: RCPT from example.tld[168.100.189.2]: 554 5.7.1 <rname@rdomain>: Relay access denied; to=<rname@rdomain> proto=SMTP helo=<foobar>
|
./smtpd_check: <queue id>: reject: RCPT from example.tld[168.100.3.2]: 554 5.7.1 <rname@rdomain>: Relay access denied; to=<rname@rdomain> proto=SMTP helo=<foobar>
|
||||||
554 5.7.1 <rname@rdomain>: Relay access denied
|
554 5.7.1 <rname@rdomain>: Relay access denied
|
||||||
>>> # Authorized destination - accept.
|
>>> # Authorized destination - accept.
|
||||||
>>> rcpt wietse@porcupine.org
|
>>> rcpt wietse@porcupine.org
|
||||||
OK
|
OK
|
||||||
>>> # Numeric TLD - dunno.
|
>>> # Numeric TLD - dunno.
|
||||||
>>> rcpt wietse@12345
|
>>> rcpt wietse@12345
|
||||||
./smtpd_check: <queue id>: reject: RCPT from example.tld[168.100.189.2]: 554 5.7.1 <wietse@12345>: Relay access denied; to=<wietse@12345> proto=SMTP helo=<foobar>
|
./smtpd_check: <queue id>: reject: RCPT from example.tld[168.100.3.2]: 554 5.7.1 <wietse@12345>: Relay access denied; to=<wietse@12345> proto=SMTP helo=<foobar>
|
||||||
554 5.7.1 <wietse@12345>: Relay access denied
|
554 5.7.1 <wietse@12345>: Relay access denied
|
||||||
>>> rcpt wietse@12345.porcupine.org
|
>>> rcpt wietse@12345.porcupine.org
|
||||||
OK
|
OK
|
||||||
>>> rcpt wietse@porcupine.12345
|
>>> rcpt wietse@porcupine.12345
|
||||||
./smtpd_check: <queue id>: reject: RCPT from example.tld[168.100.189.2]: 554 5.7.1 <wietse@porcupine.12345>: Relay access denied; to=<wietse@porcupine.12345> proto=SMTP helo=<foobar>
|
./smtpd_check: <queue id>: reject: RCPT from example.tld[168.100.3.2]: 554 5.7.1 <wietse@porcupine.12345>: Relay access denied; to=<wietse@porcupine.12345> proto=SMTP helo=<foobar>
|
||||||
554 5.7.1 <wietse@porcupine.12345>: Relay access denied
|
554 5.7.1 <wietse@porcupine.12345>: Relay access denied
|
||||||
|
@ -40,7 +40,7 @@ rcpt reject@dunno.domain
|
|||||||
#
|
#
|
||||||
# Test mynetworks.
|
# Test mynetworks.
|
||||||
#
|
#
|
||||||
mynetworks 168.100.189.1/27
|
mynetworks 168.100.3.1/27
|
||||||
#
|
#
|
||||||
# Expect REJECT (server configuration error)
|
# Expect REJECT (server configuration error)
|
||||||
#
|
#
|
||||||
|
@ -63,13 +63,13 @@ OK
|
|||||||
>>> #
|
>>> #
|
||||||
>>> # Test mynetworks.
|
>>> # Test mynetworks.
|
||||||
>>> #
|
>>> #
|
||||||
>>> mynetworks 168.100.189.1/27
|
>>> mynetworks 168.100.3.1/27
|
||||||
OK
|
OK
|
||||||
>>> #
|
>>> #
|
||||||
>>> # Expect REJECT (server configuration error)
|
>>> # Expect REJECT (server configuration error)
|
||||||
>>> #
|
>>> #
|
||||||
>>> rcpt reject@dunno.domain
|
>>> rcpt reject@dunno.domain
|
||||||
./smtpd_check: warning: mynetworks: non-null host address bits in "168.100.189.1/27", perhaps you should use "168.100.189.0/27" instead
|
./smtpd_check: warning: mynetworks: non-null host address bits in "168.100.3.1/27", perhaps you should use "168.100.3.0/27" instead
|
||||||
./smtpd_check: <queue id>: reject: RCPT from foo.dunno.com[131.155.210.17]: 451 4.3.0 <reject@dunno.domain>: Temporary lookup failure; from=<reject@dunno.domain> to=<reject@dunno.domain> proto=SMTP helo=<foobar>
|
./smtpd_check: <queue id>: reject: RCPT from foo.dunno.com[131.155.210.17]: 451 4.3.0 <reject@dunno.domain>: Temporary lookup failure; from=<reject@dunno.domain> to=<reject@dunno.domain> proto=SMTP helo=<foobar>
|
||||||
451 4.3.0 <reject@dunno.domain>: Temporary lookup failure
|
451 4.3.0 <reject@dunno.domain>: Temporary lookup failure
|
||||||
>>> #
|
>>> #
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#! ../bin/postmap smtpd_check_access
|
#! ../bin/postmap smtpd_check_access
|
||||||
#msg_verbose 1
|
#msg_verbose 1
|
||||||
smtpd_delay_reject 0
|
smtpd_delay_reject 0
|
||||||
mynetworks 127.0.0.0/8,168.100.189.0/28
|
mynetworks 127.0.0.0/8,168.100.3.0/28
|
||||||
relay_domains porcupine.org
|
relay_domains porcupine.org
|
||||||
maps_rbl_domains dnsbltest.porcupine.org
|
maps_rbl_domains dnsbltest.porcupine.org
|
||||||
rbl_reply_maps hash:smtpd_check_access
|
rbl_reply_maps hash:smtpd_check_access
|
||||||
@ -14,13 +14,13 @@ helo foobar
|
|||||||
#
|
#
|
||||||
mail sname@sdomain
|
mail sname@sdomain
|
||||||
recipient_restrictions reject_maps_rbl
|
recipient_restrictions reject_maps_rbl
|
||||||
client spike.porcupine.org 168.100.189.2
|
client spike.porcupine.org 168.100.3.2
|
||||||
rcpt rname@rdomain
|
rcpt rname@rdomain
|
||||||
client foo 127.0.0.2
|
client foo 127.0.0.2
|
||||||
rcpt rname@rdomain
|
rcpt rname@rdomain
|
||||||
#
|
#
|
||||||
recipient_restrictions reject_rbl_client,dnsbltest.porcupine.org
|
recipient_restrictions reject_rbl_client,dnsbltest.porcupine.org
|
||||||
client spike.porcupine.org 168.100.189.2
|
client spike.porcupine.org 168.100.3.2
|
||||||
rcpt rname@rdomain
|
rcpt rname@rdomain
|
||||||
client foo 127.0.0.2
|
client foo 127.0.0.2
|
||||||
rcpt rname@rdomain
|
rcpt rname@rdomain
|
||||||
@ -33,7 +33,7 @@ rcpt rname@rdomain
|
|||||||
# RHSBL sender domain name
|
# RHSBL sender domain name
|
||||||
#
|
#
|
||||||
recipient_restrictions reject_rhsbl_sender,rhsbl.porcupine.org
|
recipient_restrictions reject_rhsbl_sender,rhsbl.porcupine.org
|
||||||
client spike.porcupine.org 168.100.189.2
|
client spike.porcupine.org 168.100.3.2
|
||||||
mail sname@example.tld
|
mail sname@example.tld
|
||||||
rcpt rname@rdomain
|
rcpt rname@rdomain
|
||||||
mail sname@sdomain
|
mail sname@sdomain
|
||||||
@ -49,7 +49,7 @@ rcpt rname@rdomain
|
|||||||
# RHSBL recipient domain name
|
# RHSBL recipient domain name
|
||||||
#
|
#
|
||||||
recipient_restrictions reject_rhsbl_recipient,rhsbl.porcupine.org
|
recipient_restrictions reject_rhsbl_recipient,rhsbl.porcupine.org
|
||||||
client spike.porcupine.org 168.100.189.2
|
client spike.porcupine.org 168.100.3.2
|
||||||
mail sname@sdomain
|
mail sname@sdomain
|
||||||
rcpt rname@rdomain
|
rcpt rname@rdomain
|
||||||
rcpt rname@example.tld
|
rcpt rname@example.tld
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
>>> #msg_verbose 1
|
>>> #msg_verbose 1
|
||||||
>>> smtpd_delay_reject 0
|
>>> smtpd_delay_reject 0
|
||||||
OK
|
OK
|
||||||
>>> mynetworks 127.0.0.0/8,168.100.189.0/28
|
>>> mynetworks 127.0.0.0/8,168.100.3.0/28
|
||||||
OK
|
OK
|
||||||
>>> relay_domains porcupine.org
|
>>> relay_domains porcupine.org
|
||||||
OK
|
OK
|
||||||
@ -22,7 +22,7 @@ OK
|
|||||||
OK
|
OK
|
||||||
>>> recipient_restrictions reject_maps_rbl
|
>>> recipient_restrictions reject_maps_rbl
|
||||||
OK
|
OK
|
||||||
>>> client spike.porcupine.org 168.100.189.2
|
>>> client spike.porcupine.org 168.100.3.2
|
||||||
OK
|
OK
|
||||||
>>> rcpt rname@rdomain
|
>>> rcpt rname@rdomain
|
||||||
./smtpd_check: warning: support for restriction "reject_maps_rbl" will be removed from Postfix; use "reject_rbl_client domain-name" instead
|
./smtpd_check: warning: support for restriction "reject_maps_rbl" will be removed from Postfix; use "reject_rbl_client domain-name" instead
|
||||||
@ -35,7 +35,7 @@ OK
|
|||||||
>>> #
|
>>> #
|
||||||
>>> recipient_restrictions reject_rbl_client,dnsbltest.porcupine.org
|
>>> recipient_restrictions reject_rbl_client,dnsbltest.porcupine.org
|
||||||
OK
|
OK
|
||||||
>>> client spike.porcupine.org 168.100.189.2
|
>>> client spike.porcupine.org 168.100.3.2
|
||||||
OK
|
OK
|
||||||
>>> rcpt rname@rdomain
|
>>> rcpt rname@rdomain
|
||||||
OK
|
OK
|
||||||
@ -60,13 +60,13 @@ OK
|
|||||||
>>> #
|
>>> #
|
||||||
>>> recipient_restrictions reject_rhsbl_sender,rhsbl.porcupine.org
|
>>> recipient_restrictions reject_rhsbl_sender,rhsbl.porcupine.org
|
||||||
OK
|
OK
|
||||||
>>> client spike.porcupine.org 168.100.189.2
|
>>> client spike.porcupine.org 168.100.3.2
|
||||||
OK
|
OK
|
||||||
>>> mail sname@example.tld
|
>>> mail sname@example.tld
|
||||||
OK
|
OK
|
||||||
>>> rcpt rname@rdomain
|
>>> rcpt rname@rdomain
|
||||||
./smtpd_check: <queue id>: reject: RCPT from spike.porcupine.org[168.100.189.2]: 554 5.7.1 client=spike.porcupine.org[168.100.189.2] client_address=168.100.189.2 client_name=spike.porcupine.org helo_name=foobar sender=sname@example.tld sender_name=sname sender_domain=example.tld recipient=rname@rdomain recipient_name=rname recipient_domain=rdomain rbl_code=554 rbl_domain=rhsbl.porcupine.org rbl_txt=RHSBL test rbl_what=sname@example.tld rbl_class=Sender address; from=<sname@example.tld> to=<rname@rdomain> proto=SMTP helo=<foobar>
|
./smtpd_check: <queue id>: reject: RCPT from spike.porcupine.org[168.100.3.2]: 554 5.7.1 client=spike.porcupine.org[168.100.3.2] client_address=168.100.3.2 client_name=spike.porcupine.org helo_name=foobar sender=sname@example.tld sender_name=sname sender_domain=example.tld recipient=rname@rdomain recipient_name=rname recipient_domain=rdomain rbl_code=554 rbl_domain=rhsbl.porcupine.org rbl_txt=RHSBL test rbl_what=sname@example.tld rbl_class=Sender address; from=<sname@example.tld> to=<rname@rdomain> proto=SMTP helo=<foobar>
|
||||||
554 5.7.1 client=spike.porcupine.org[168.100.189.2] client_address=168.100.189.2 client_name=spike.porcupine.org helo_name=foobar sender=sname@example.tld sender_name=sname sender_domain=example.tld recipient=rname@rdomain recipient_name=rname recipient_domain=rdomain rbl_code=554 rbl_domain=rhsbl.porcupine.org rbl_txt=RHSBL test rbl_what=sname@example.tld rbl_class=Sender address
|
554 5.7.1 client=spike.porcupine.org[168.100.3.2] client_address=168.100.3.2 client_name=spike.porcupine.org helo_name=foobar sender=sname@example.tld sender_name=sname sender_domain=example.tld recipient=rname@rdomain recipient_name=rname recipient_domain=rdomain rbl_code=554 rbl_domain=rhsbl.porcupine.org rbl_txt=RHSBL test rbl_what=sname@example.tld rbl_class=Sender address
|
||||||
>>> mail sname@sdomain
|
>>> mail sname@sdomain
|
||||||
OK
|
OK
|
||||||
>>> rcpt rname@rdomain
|
>>> rcpt rname@rdomain
|
||||||
@ -88,15 +88,15 @@ OK
|
|||||||
>>> #
|
>>> #
|
||||||
>>> recipient_restrictions reject_rhsbl_recipient,rhsbl.porcupine.org
|
>>> recipient_restrictions reject_rhsbl_recipient,rhsbl.porcupine.org
|
||||||
OK
|
OK
|
||||||
>>> client spike.porcupine.org 168.100.189.2
|
>>> client spike.porcupine.org 168.100.3.2
|
||||||
OK
|
OK
|
||||||
>>> mail sname@sdomain
|
>>> mail sname@sdomain
|
||||||
OK
|
OK
|
||||||
>>> rcpt rname@rdomain
|
>>> rcpt rname@rdomain
|
||||||
OK
|
OK
|
||||||
>>> rcpt rname@example.tld
|
>>> rcpt rname@example.tld
|
||||||
./smtpd_check: <queue id>: reject: RCPT from spike.porcupine.org[168.100.189.2]: 554 5.7.1 client=spike.porcupine.org[168.100.189.2] client_address=168.100.189.2 client_name=spike.porcupine.org helo_name=foobar sender=sname@sdomain sender_name=sname sender_domain=sdomain recipient=rname@example.tld recipient_name=rname recipient_domain=example.tld rbl_code=554 rbl_domain=rhsbl.porcupine.org rbl_txt=RHSBL test rbl_what=rname@example.tld rbl_class=Recipient address; from=<sname@sdomain> to=<rname@example.tld> proto=SMTP helo=<foobar>
|
./smtpd_check: <queue id>: reject: RCPT from spike.porcupine.org[168.100.3.2]: 554 5.7.1 client=spike.porcupine.org[168.100.3.2] client_address=168.100.3.2 client_name=spike.porcupine.org helo_name=foobar sender=sname@sdomain sender_name=sname sender_domain=sdomain recipient=rname@example.tld recipient_name=rname recipient_domain=example.tld rbl_code=554 rbl_domain=rhsbl.porcupine.org rbl_txt=RHSBL test rbl_what=rname@example.tld rbl_class=Recipient address; from=<sname@sdomain> to=<rname@example.tld> proto=SMTP helo=<foobar>
|
||||||
554 5.7.1 client=spike.porcupine.org[168.100.189.2] client_address=168.100.189.2 client_name=spike.porcupine.org helo_name=foobar sender=sname@sdomain sender_name=sname sender_domain=sdomain recipient=rname@example.tld recipient_name=rname recipient_domain=example.tld rbl_code=554 rbl_domain=rhsbl.porcupine.org rbl_txt=RHSBL test rbl_what=rname@example.tld rbl_class=Recipient address
|
554 5.7.1 client=spike.porcupine.org[168.100.3.2] client_address=168.100.3.2 client_name=spike.porcupine.org helo_name=foobar sender=sname@sdomain sender_name=sname sender_domain=sdomain recipient=rname@example.tld recipient_name=rname recipient_domain=example.tld rbl_code=554 rbl_domain=rhsbl.porcupine.org rbl_txt=RHSBL test rbl_what=rname@example.tld rbl_class=Recipient address
|
||||||
>>> #
|
>>> #
|
||||||
>>> # RHSBL helo domain name
|
>>> # RHSBL helo domain name
|
||||||
>>> #
|
>>> #
|
||||||
@ -107,5 +107,5 @@ OK
|
|||||||
>>> mail sname@sdomain
|
>>> mail sname@sdomain
|
||||||
OK
|
OK
|
||||||
>>> rcpt rname@rdomain
|
>>> rcpt rname@rdomain
|
||||||
./smtpd_check: <queue id>: reject: RCPT from spike.porcupine.org[168.100.189.2]: 554 5.7.1 client=spike.porcupine.org[168.100.189.2] client_address=168.100.189.2 client_name=spike.porcupine.org helo_name=example.tld sender=sname@sdomain sender_name=sname sender_domain=sdomain recipient=rname@rdomain recipient_name=rname recipient_domain=rdomain rbl_code=554 rbl_domain=rhsbl.porcupine.org rbl_txt=RHSBL test rbl_what=example.tld rbl_class=Helo command; from=<sname@sdomain> to=<rname@rdomain> proto=SMTP helo=<example.tld>
|
./smtpd_check: <queue id>: reject: RCPT from spike.porcupine.org[168.100.3.2]: 554 5.7.1 client=spike.porcupine.org[168.100.3.2] client_address=168.100.3.2 client_name=spike.porcupine.org helo_name=example.tld sender=sname@sdomain sender_name=sname sender_domain=sdomain recipient=rname@rdomain recipient_name=rname recipient_domain=rdomain rbl_code=554 rbl_domain=rhsbl.porcupine.org rbl_txt=RHSBL test rbl_what=example.tld rbl_class=Helo command; from=<sname@sdomain> to=<rname@rdomain> proto=SMTP helo=<example.tld>
|
||||||
554 5.7.1 client=spike.porcupine.org[168.100.189.2] client_address=168.100.189.2 client_name=spike.porcupine.org helo_name=example.tld sender=sname@sdomain sender_name=sname sender_domain=sdomain recipient=rname@rdomain recipient_name=rname recipient_domain=rdomain rbl_code=554 rbl_domain=rhsbl.porcupine.org rbl_txt=RHSBL test rbl_what=example.tld rbl_class=Helo command
|
554 5.7.1 client=spike.porcupine.org[168.100.3.2] client_address=168.100.3.2 client_name=spike.porcupine.org helo_name=example.tld sender=sname@sdomain sender_name=sname sender_domain=sdomain recipient=rname@rdomain recipient_name=rname recipient_domain=rdomain rbl_code=554 rbl_domain=rhsbl.porcupine.org rbl_txt=RHSBL test rbl_what=example.tld rbl_class=Helo command
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#! ../bin/postmap smtpd_check_access
|
#! ../bin/postmap smtpd_check_access
|
||||||
#msg_verbose 1
|
#msg_verbose 1
|
||||||
#smtpd_delay_reject 0
|
#smtpd_delay_reject 0
|
||||||
#mynetworks 127.0.0.0/8,168.100.189.0/28
|
#mynetworks 127.0.0.0/8,168.100.3.0/28
|
||||||
#relay_domains porcupine.org
|
#relay_domains porcupine.org
|
||||||
#maps_rbl_domains dnsbltest.porcupine.org
|
#maps_rbl_domains dnsbltest.porcupine.org
|
||||||
#rbl_reply_maps hash:smtpd_check_access
|
#rbl_reply_maps hash:smtpd_check_access
|
||||||
@ -14,7 +14,7 @@
|
|||||||
#
|
#
|
||||||
smtpd_delay_reject 0
|
smtpd_delay_reject 0
|
||||||
helo_restrictions reject_unknown_helo_hostname
|
helo_restrictions reject_unknown_helo_hostname
|
||||||
client spike.porcupine.org 168.100.189.2
|
client spike.porcupine.org 168.100.3.2
|
||||||
mail sname@sdomain
|
mail sname@sdomain
|
||||||
rcpt rname@rdomain
|
rcpt rname@rdomain
|
||||||
helo nxdomain.porcupine.org
|
helo nxdomain.porcupine.org
|
||||||
@ -25,7 +25,7 @@ helo spike.porcupine.org
|
|||||||
#
|
#
|
||||||
smtpd_delay_reject 0
|
smtpd_delay_reject 0
|
||||||
sender_restrictions reject_unknown_sender_domain
|
sender_restrictions reject_unknown_sender_domain
|
||||||
client spike.porcupine.org 168.100.189.2
|
client spike.porcupine.org 168.100.3.2
|
||||||
helo spike.porcupine.org
|
helo spike.porcupine.org
|
||||||
rcpt rname@rdomain
|
rcpt rname@rdomain
|
||||||
mail sname@nxdomain.porcupine.org
|
mail sname@nxdomain.porcupine.org
|
||||||
@ -38,7 +38,7 @@ smtpd_delay_reject 0
|
|||||||
sender_restrictions permit
|
sender_restrictions permit
|
||||||
recipient_restrictions reject_unknown_recipient_domain
|
recipient_restrictions reject_unknown_recipient_domain
|
||||||
relay_restrictions reject_unauth_destination
|
relay_restrictions reject_unauth_destination
|
||||||
client spike.porcupine.org 168.100.189.2
|
client spike.porcupine.org 168.100.3.2
|
||||||
helo spike.porcupine.org
|
helo spike.porcupine.org
|
||||||
mail sname@sdomain
|
mail sname@sdomain
|
||||||
relay_domains nxdomain.porcupine.org
|
relay_domains nxdomain.porcupine.org
|
||||||
@ -52,7 +52,7 @@ rcpt rname@spike.porcupine.org
|
|||||||
#
|
#
|
||||||
smtpd_delay_reject 0
|
smtpd_delay_reject 0
|
||||||
sender_restrictions check_sender_mx_access,hash:smtpd_check_access
|
sender_restrictions check_sender_mx_access,hash:smtpd_check_access
|
||||||
client spike.porcupine.org 168.100.189.2
|
client spike.porcupine.org 168.100.3.2
|
||||||
mail sname@nxdomain.porcupine.org
|
mail sname@nxdomain.porcupine.org
|
||||||
mail sname@nullmx.porcupine.org
|
mail sname@nullmx.porcupine.org
|
||||||
mail sname@spike.porcupine.org
|
mail sname@spike.porcupine.org
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
>>> #! ../bin/postmap smtpd_check_access
|
>>> #! ../bin/postmap smtpd_check_access
|
||||||
>>> #msg_verbose 1
|
>>> #msg_verbose 1
|
||||||
>>> #smtpd_delay_reject 0
|
>>> #smtpd_delay_reject 0
|
||||||
>>> #mynetworks 127.0.0.0/8,168.100.189.0/28
|
>>> #mynetworks 127.0.0.0/8,168.100.3.0/28
|
||||||
>>> #relay_domains porcupine.org
|
>>> #relay_domains porcupine.org
|
||||||
>>> #maps_rbl_domains dnsbltest.porcupine.org
|
>>> #maps_rbl_domains dnsbltest.porcupine.org
|
||||||
>>> #rbl_reply_maps hash:smtpd_check_access
|
>>> #rbl_reply_maps hash:smtpd_check_access
|
||||||
@ -16,14 +16,14 @@
|
|||||||
OK
|
OK
|
||||||
>>> helo_restrictions reject_unknown_helo_hostname
|
>>> helo_restrictions reject_unknown_helo_hostname
|
||||||
OK
|
OK
|
||||||
>>> client spike.porcupine.org 168.100.189.2
|
>>> client spike.porcupine.org 168.100.3.2
|
||||||
OK
|
OK
|
||||||
>>> mail sname@sdomain
|
>>> mail sname@sdomain
|
||||||
OK
|
OK
|
||||||
>>> rcpt rname@rdomain
|
>>> rcpt rname@rdomain
|
||||||
OK
|
OK
|
||||||
>>> helo nxdomain.porcupine.org
|
>>> helo nxdomain.porcupine.org
|
||||||
./smtpd_check: <queue id>: reject: HELO from spike.porcupine.org[168.100.189.2]: 450 4.7.1 <nxdomain.porcupine.org>: Helo command rejected: Host not found; from=<sname@sdomain> proto=SMTP helo=<nxdomain.porcupine.org>
|
./smtpd_check: <queue id>: reject: HELO from spike.porcupine.org[168.100.3.2]: 450 4.7.1 <nxdomain.porcupine.org>: Helo command rejected: Host not found; from=<sname@sdomain> proto=SMTP helo=<nxdomain.porcupine.org>
|
||||||
450 4.7.1 <nxdomain.porcupine.org>: Helo command rejected: Host not found
|
450 4.7.1 <nxdomain.porcupine.org>: Helo command rejected: Host not found
|
||||||
>>> helo nullmx.porcupine.org
|
>>> helo nullmx.porcupine.org
|
||||||
OK
|
OK
|
||||||
@ -36,17 +36,17 @@ OK
|
|||||||
OK
|
OK
|
||||||
>>> sender_restrictions reject_unknown_sender_domain
|
>>> sender_restrictions reject_unknown_sender_domain
|
||||||
OK
|
OK
|
||||||
>>> client spike.porcupine.org 168.100.189.2
|
>>> client spike.porcupine.org 168.100.3.2
|
||||||
OK
|
OK
|
||||||
>>> helo spike.porcupine.org
|
>>> helo spike.porcupine.org
|
||||||
OK
|
OK
|
||||||
>>> rcpt rname@rdomain
|
>>> rcpt rname@rdomain
|
||||||
OK
|
OK
|
||||||
>>> mail sname@nxdomain.porcupine.org
|
>>> mail sname@nxdomain.porcupine.org
|
||||||
./smtpd_check: <queue id>: reject: MAIL from spike.porcupine.org[168.100.189.2]: 450 4.1.8 <sname@nxdomain.porcupine.org>: Sender address rejected: Domain not found; from=<sname@nxdomain.porcupine.org> proto=SMTP helo=<spike.porcupine.org>
|
./smtpd_check: <queue id>: reject: MAIL from spike.porcupine.org[168.100.3.2]: 450 4.1.8 <sname@nxdomain.porcupine.org>: Sender address rejected: Domain not found; from=<sname@nxdomain.porcupine.org> proto=SMTP helo=<spike.porcupine.org>
|
||||||
450 4.1.8 <sname@nxdomain.porcupine.org>: Sender address rejected: Domain not found
|
450 4.1.8 <sname@nxdomain.porcupine.org>: Sender address rejected: Domain not found
|
||||||
>>> mail sname@nullmx.porcupine.org
|
>>> mail sname@nullmx.porcupine.org
|
||||||
./smtpd_check: <queue id>: reject: MAIL from spike.porcupine.org[168.100.189.2]: 550 5.7.27 <sname@nullmx.porcupine.org>: Sender address rejected: Domain nullmx.porcupine.org does not accept mail (nullMX); from=<sname@nullmx.porcupine.org> proto=SMTP helo=<spike.porcupine.org>
|
./smtpd_check: <queue id>: reject: MAIL from spike.porcupine.org[168.100.3.2]: 550 5.7.27 <sname@nullmx.porcupine.org>: Sender address rejected: Domain nullmx.porcupine.org does not accept mail (nullMX); from=<sname@nullmx.porcupine.org> proto=SMTP helo=<spike.porcupine.org>
|
||||||
550 5.7.27 <sname@nullmx.porcupine.org>: Sender address rejected: Domain nullmx.porcupine.org does not accept mail (nullMX)
|
550 5.7.27 <sname@nullmx.porcupine.org>: Sender address rejected: Domain nullmx.porcupine.org does not accept mail (nullMX)
|
||||||
>>> mail sname@spike.porcupine.org
|
>>> mail sname@spike.porcupine.org
|
||||||
OK
|
OK
|
||||||
@ -61,7 +61,7 @@ OK
|
|||||||
OK
|
OK
|
||||||
>>> relay_restrictions reject_unauth_destination
|
>>> relay_restrictions reject_unauth_destination
|
||||||
OK
|
OK
|
||||||
>>> client spike.porcupine.org 168.100.189.2
|
>>> client spike.porcupine.org 168.100.3.2
|
||||||
OK
|
OK
|
||||||
>>> helo spike.porcupine.org
|
>>> helo spike.porcupine.org
|
||||||
OK
|
OK
|
||||||
@ -70,12 +70,12 @@ OK
|
|||||||
>>> relay_domains nxdomain.porcupine.org
|
>>> relay_domains nxdomain.porcupine.org
|
||||||
OK
|
OK
|
||||||
>>> rcpt rname@nxdomain.porcupine.org
|
>>> rcpt rname@nxdomain.porcupine.org
|
||||||
./smtpd_check: <queue id>: reject: RCPT from spike.porcupine.org[168.100.189.2]: 450 4.1.2 <rname@nxdomain.porcupine.org>: Recipient address rejected: Domain not found; from=<sname@sdomain> to=<rname@nxdomain.porcupine.org> proto=SMTP helo=<spike.porcupine.org>
|
./smtpd_check: <queue id>: reject: RCPT from spike.porcupine.org[168.100.3.2]: 450 4.1.2 <rname@nxdomain.porcupine.org>: Recipient address rejected: Domain not found; from=<sname@sdomain> to=<rname@nxdomain.porcupine.org> proto=SMTP helo=<spike.porcupine.org>
|
||||||
450 4.1.2 <rname@nxdomain.porcupine.org>: Recipient address rejected: Domain not found
|
450 4.1.2 <rname@nxdomain.porcupine.org>: Recipient address rejected: Domain not found
|
||||||
>>> relay_domains nullmx.porcupine.org
|
>>> relay_domains nullmx.porcupine.org
|
||||||
OK
|
OK
|
||||||
>>> rcpt rname@nullmx.porcupine.org
|
>>> rcpt rname@nullmx.porcupine.org
|
||||||
./smtpd_check: <queue id>: reject: RCPT from spike.porcupine.org[168.100.189.2]: 556 5.1.10 <rname@nullmx.porcupine.org>: Recipient address rejected: Domain nullmx.porcupine.org does not accept mail (nullMX); from=<sname@sdomain> to=<rname@nullmx.porcupine.org> proto=SMTP helo=<spike.porcupine.org>
|
./smtpd_check: <queue id>: reject: RCPT from spike.porcupine.org[168.100.3.2]: 556 5.1.10 <rname@nullmx.porcupine.org>: Recipient address rejected: Domain nullmx.porcupine.org does not accept mail (nullMX); from=<sname@sdomain> to=<rname@nullmx.porcupine.org> proto=SMTP helo=<spike.porcupine.org>
|
||||||
556 5.1.10 <rname@nullmx.porcupine.org>: Recipient address rejected: Domain nullmx.porcupine.org does not accept mail (nullMX)
|
556 5.1.10 <rname@nullmx.porcupine.org>: Recipient address rejected: Domain nullmx.porcupine.org does not accept mail (nullMX)
|
||||||
>>> relay_domains spike.porcupine.org
|
>>> relay_domains spike.porcupine.org
|
||||||
OK
|
OK
|
||||||
@ -88,7 +88,7 @@ OK
|
|||||||
OK
|
OK
|
||||||
>>> sender_restrictions check_sender_mx_access,hash:smtpd_check_access
|
>>> sender_restrictions check_sender_mx_access,hash:smtpd_check_access
|
||||||
OK
|
OK
|
||||||
>>> client spike.porcupine.org 168.100.189.2
|
>>> client spike.porcupine.org 168.100.3.2
|
||||||
OK
|
OK
|
||||||
>>> mail sname@nxdomain.porcupine.org
|
>>> mail sname@nxdomain.porcupine.org
|
||||||
./smtpd_check: warning: Unable to look up MX host nxdomain.porcupine.org for Sender address sname@nxdomain.porcupine.org: hostname nor servname provided, or not known
|
./smtpd_check: warning: Unable to look up MX host nxdomain.porcupine.org for Sender address sname@nxdomain.porcupine.org: hostname nor servname provided, or not known
|
||||||
@ -96,5 +96,5 @@ OK
|
|||||||
>>> mail sname@nullmx.porcupine.org
|
>>> mail sname@nullmx.porcupine.org
|
||||||
OK
|
OK
|
||||||
>>> mail sname@spike.porcupine.org
|
>>> mail sname@spike.porcupine.org
|
||||||
./smtpd_check: <queue id>: reject: MAIL from spike.porcupine.org[168.100.189.2]: 554 5.7.1 <sname@spike.porcupine.org>: Sender address rejected: ns or mx server spike.porcupine.org; from=<sname@spike.porcupine.org> proto=SMTP helo=<spike.porcupine.org>
|
./smtpd_check: <queue id>: reject: MAIL from spike.porcupine.org[168.100.3.2]: 554 5.7.1 <sname@spike.porcupine.org>: Sender address rejected: ns or mx server spike.porcupine.org; from=<sname@spike.porcupine.org> proto=SMTP helo=<spike.porcupine.org>
|
||||||
554 5.7.1 <sname@spike.porcupine.org>: Sender address rejected: ns or mx server spike.porcupine.org
|
554 5.7.1 <sname@spike.porcupine.org>: Sender address rejected: ns or mx server spike.porcupine.org
|
||||||
|
@ -5,52 +5,52 @@
|
|||||||
#msg_verbose 1
|
#msg_verbose 1
|
||||||
smtpd_delay_reject 0
|
smtpd_delay_reject 0
|
||||||
relay_domains porcupine.org
|
relay_domains porcupine.org
|
||||||
client spike.porcupine.org 168.100.189.2
|
client spike.porcupine.org 168.100.3.2
|
||||||
#
|
#
|
||||||
# Check MX access
|
# Check MX access
|
||||||
#
|
#
|
||||||
helo_restrictions check_helo_mx_access,inline:{168.100.189.2=reject}
|
helo_restrictions check_helo_mx_access,inline:{168.100.3.2=reject}
|
||||||
helo www.porcupine.org
|
helo www.porcupine.org
|
||||||
helo example.tld
|
helo example.tld
|
||||||
helo foo@postfix.org
|
helo foo@postfix.org
|
||||||
sender_restrictions check_sender_mx_access,inline:{168.100.189.2=reject}
|
sender_restrictions check_sender_mx_access,inline:{168.100.3.2=reject}
|
||||||
mail foo@www.porcupine.org
|
mail foo@www.porcupine.org
|
||||||
mail example.tld
|
mail example.tld
|
||||||
mail foo@postfix.org
|
mail foo@postfix.org
|
||||||
recipient_restrictions check_recipient_mx_access,inline:{168.100.189.2=reject}
|
recipient_restrictions check_recipient_mx_access,inline:{168.100.3.2=reject}
|
||||||
rcpt foo@www.porcupine.org
|
rcpt foo@www.porcupine.org
|
||||||
rcpt foo@example.tld
|
rcpt foo@example.tld
|
||||||
rcpt foo@postfix.org
|
rcpt foo@postfix.org
|
||||||
#
|
#
|
||||||
# Check NS access
|
# Check NS access
|
||||||
#
|
#
|
||||||
helo_restrictions check_helo_ns_access,inline:{168.100.1.2=reject}
|
helo_restrictions check_helo_ns_access,inline:{168.100.3.75=reject}
|
||||||
helo www.porcupine.org
|
helo www.porcupine.org
|
||||||
helo example.tld
|
helo example.tld
|
||||||
helo foo@postfix.org
|
helo foo@postfix.org
|
||||||
sender_restrictions check_sender_ns_access,inline:{168.100.1.2=reject}
|
sender_restrictions check_sender_ns_access,inline:{168.100.3.75=reject}
|
||||||
mail foo@www.porcupine.org
|
mail foo@www.porcupine.org
|
||||||
mail example.tld
|
mail example.tld
|
||||||
mail foo@postfix.org
|
mail foo@postfix.org
|
||||||
recipient_restrictions check_recipient_ns_access,inline:{168.100.1.2=reject}
|
recipient_restrictions check_recipient_ns_access,inline:{168.100.3.75=reject}
|
||||||
rcpt foo@www.porcupine.org
|
rcpt foo@www.porcupine.org
|
||||||
rcpt foo@example.tld
|
rcpt foo@example.tld
|
||||||
rcpt foo@postfix.org
|
rcpt foo@postfix.org
|
||||||
#
|
#
|
||||||
# Check A access
|
# Check A access
|
||||||
#
|
#
|
||||||
helo_restrictions check_helo_a_access,inline:{168.100.189.2=reject}
|
helo_restrictions check_helo_a_access,inline:{168.100.3.2=reject}
|
||||||
helo spike.porcupine.org
|
helo spike.porcupine.org
|
||||||
helo www.porcupine.org
|
helo www.porcupine.org
|
||||||
client_restrictions check_client_a_access,inline:{168.100.189.2=reject}
|
client_restrictions check_client_a_access,inline:{168.100.3.2=reject}
|
||||||
client spike.porcupine.org 1.2.3.4
|
client spike.porcupine.org 1.2.3.4
|
||||||
client www.porcupine.org 1.2.3.4
|
client www.porcupine.org 1.2.3.4
|
||||||
reverse_client_restrictions check_reverse_client_a_access,inline:{168.100.189.2=reject}
|
reverse_client_restrictions check_reverse_client_a_access,inline:{168.100.3.2=reject}
|
||||||
client spike.porcupine.org 1.2.3.4
|
client spike.porcupine.org 1.2.3.4
|
||||||
client www.porcupine.org 1.2.3.4
|
client www.porcupine.org 1.2.3.4
|
||||||
sender_restrictions check_sender_a_access,inline:{168.100.189.2=reject}
|
sender_restrictions check_sender_a_access,inline:{168.100.3.2=reject}
|
||||||
mail foo@spike.porcupine.org
|
mail foo@spike.porcupine.org
|
||||||
mail foo@www.porcupine.org
|
mail foo@www.porcupine.org
|
||||||
recipient_restrictions check_recipient_a_access,inline:{168.100.189.2=reject}
|
recipient_restrictions check_recipient_a_access,inline:{168.100.3.2=reject}
|
||||||
rcpt foo@spike.porcupine.org
|
rcpt foo@spike.porcupine.org
|
||||||
rcpt foo@www.porcupine.org
|
rcpt foo@www.porcupine.org
|
||||||
|
@ -7,35 +7,35 @@
|
|||||||
OK
|
OK
|
||||||
>>> relay_domains porcupine.org
|
>>> relay_domains porcupine.org
|
||||||
OK
|
OK
|
||||||
>>> client spike.porcupine.org 168.100.189.2
|
>>> client spike.porcupine.org 168.100.3.2
|
||||||
OK
|
OK
|
||||||
>>> #
|
>>> #
|
||||||
>>> # Check MX access
|
>>> # Check MX access
|
||||||
>>> #
|
>>> #
|
||||||
>>> helo_restrictions check_helo_mx_access,inline:{168.100.189.2=reject}
|
>>> helo_restrictions check_helo_mx_access,inline:{168.100.3.2=reject}
|
||||||
OK
|
OK
|
||||||
>>> helo www.porcupine.org
|
>>> helo www.porcupine.org
|
||||||
./smtpd_check: <queue id>: reject: HELO from spike.porcupine.org[168.100.189.2]: 554 5.7.1 <www.porcupine.org>: Helo command rejected: Access denied; proto=SMTP helo=<www.porcupine.org>
|
./smtpd_check: <queue id>: reject: HELO from spike.porcupine.org[168.100.3.2]: 554 5.7.1 <www.porcupine.org>: Helo command rejected: Access denied; proto=SMTP helo=<www.porcupine.org>
|
||||||
554 5.7.1 <www.porcupine.org>: Helo command rejected: Access denied
|
554 5.7.1 <www.porcupine.org>: Helo command rejected: Access denied
|
||||||
>>> helo example.tld
|
>>> helo example.tld
|
||||||
./smtpd_check: warning: Unable to look up MX host example.tld for Helo command example.tld: hostname nor servname provided, or not known
|
./smtpd_check: warning: Unable to look up MX host example.tld for Helo command example.tld: hostname nor servname provided, or not known
|
||||||
OK
|
OK
|
||||||
>>> helo foo@postfix.org
|
>>> helo foo@postfix.org
|
||||||
OK
|
OK
|
||||||
>>> sender_restrictions check_sender_mx_access,inline:{168.100.189.2=reject}
|
>>> sender_restrictions check_sender_mx_access,inline:{168.100.3.2=reject}
|
||||||
OK
|
OK
|
||||||
>>> mail foo@www.porcupine.org
|
>>> mail foo@www.porcupine.org
|
||||||
./smtpd_check: <queue id>: reject: MAIL from spike.porcupine.org[168.100.189.2]: 554 5.7.1 <foo@www.porcupine.org>: Sender address rejected: Access denied; from=<foo@www.porcupine.org> proto=SMTP helo=<foo@postfix.org>
|
./smtpd_check: <queue id>: reject: MAIL from spike.porcupine.org[168.100.3.2]: 554 5.7.1 <foo@www.porcupine.org>: Sender address rejected: Access denied; from=<foo@www.porcupine.org> proto=SMTP helo=<foo@postfix.org>
|
||||||
554 5.7.1 <foo@www.porcupine.org>: Sender address rejected: Access denied
|
554 5.7.1 <foo@www.porcupine.org>: Sender address rejected: Access denied
|
||||||
>>> mail example.tld
|
>>> mail example.tld
|
||||||
./smtpd_check: warning: Unable to look up MX host example.tld for Sender address example.tld: hostname nor servname provided, or not known
|
./smtpd_check: warning: Unable to look up MX host example.tld for Sender address example.tld: hostname nor servname provided, or not known
|
||||||
OK
|
OK
|
||||||
>>> mail foo@postfix.org
|
>>> mail foo@postfix.org
|
||||||
OK
|
OK
|
||||||
>>> recipient_restrictions check_recipient_mx_access,inline:{168.100.189.2=reject}
|
>>> recipient_restrictions check_recipient_mx_access,inline:{168.100.3.2=reject}
|
||||||
OK
|
OK
|
||||||
>>> rcpt foo@www.porcupine.org
|
>>> rcpt foo@www.porcupine.org
|
||||||
./smtpd_check: <queue id>: reject: RCPT from spike.porcupine.org[168.100.189.2]: 554 5.7.1 <foo@www.porcupine.org>: Recipient address rejected: Access denied; from=<foo@postfix.org> to=<foo@www.porcupine.org> proto=SMTP helo=<foo@postfix.org>
|
./smtpd_check: <queue id>: reject: RCPT from spike.porcupine.org[168.100.3.2]: 554 5.7.1 <foo@www.porcupine.org>: Recipient address rejected: Access denied; from=<foo@postfix.org> to=<foo@www.porcupine.org> proto=SMTP helo=<foo@postfix.org>
|
||||||
554 5.7.1 <foo@www.porcupine.org>: Recipient address rejected: Access denied
|
554 5.7.1 <foo@www.porcupine.org>: Recipient address rejected: Access denied
|
||||||
>>> rcpt foo@example.tld
|
>>> rcpt foo@example.tld
|
||||||
./smtpd_check: warning: Unable to look up MX host example.tld for Recipient address foo@example.tld: hostname nor servname provided, or not known
|
./smtpd_check: warning: Unable to look up MX host example.tld for Recipient address foo@example.tld: hostname nor servname provided, or not known
|
||||||
@ -45,71 +45,71 @@ OK
|
|||||||
>>> #
|
>>> #
|
||||||
>>> # Check NS access
|
>>> # Check NS access
|
||||||
>>> #
|
>>> #
|
||||||
>>> helo_restrictions check_helo_ns_access,inline:{168.100.1.2=reject}
|
>>> helo_restrictions check_helo_ns_access,inline:{168.100.3.75=reject}
|
||||||
OK
|
OK
|
||||||
>>> helo www.porcupine.org
|
>>> helo www.porcupine.org
|
||||||
./smtpd_check: <queue id>: reject: HELO from spike.porcupine.org[168.100.189.2]: 554 5.7.1 <www.porcupine.org>: Helo command rejected: Access denied; from=<foo@postfix.org> proto=SMTP helo=<www.porcupine.org>
|
./smtpd_check: <queue id>: reject: HELO from spike.porcupine.org[168.100.3.2]: 554 5.7.1 <www.porcupine.org>: Helo command rejected: Access denied; from=<foo@postfix.org> proto=SMTP helo=<www.porcupine.org>
|
||||||
554 5.7.1 <www.porcupine.org>: Helo command rejected: Access denied
|
554 5.7.1 <www.porcupine.org>: Helo command rejected: Access denied
|
||||||
>>> helo example.tld
|
>>> helo example.tld
|
||||||
./smtpd_check: warning: Unable to look up NS host for example.tld: Host not found
|
./smtpd_check: warning: Unable to look up NS host for example.tld: Host not found
|
||||||
OK
|
OK
|
||||||
>>> helo foo@postfix.org
|
>>> helo foo@postfix.org
|
||||||
./smtpd_check: <queue id>: reject: HELO from spike.porcupine.org[168.100.189.2]: 554 5.7.1 <foo@postfix.org>: Helo command rejected: Access denied; from=<foo@postfix.org> proto=SMTP helo=<foo@postfix.org>
|
./smtpd_check: <queue id>: reject: HELO from spike.porcupine.org[168.100.3.2]: 554 5.7.1 <foo@postfix.org>: Helo command rejected: Access denied; from=<foo@postfix.org> proto=SMTP helo=<foo@postfix.org>
|
||||||
554 5.7.1 <foo@postfix.org>: Helo command rejected: Access denied
|
554 5.7.1 <foo@postfix.org>: Helo command rejected: Access denied
|
||||||
>>> sender_restrictions check_sender_ns_access,inline:{168.100.1.2=reject}
|
>>> sender_restrictions check_sender_ns_access,inline:{168.100.3.75=reject}
|
||||||
OK
|
OK
|
||||||
>>> mail foo@www.porcupine.org
|
>>> mail foo@www.porcupine.org
|
||||||
./smtpd_check: <queue id>: reject: MAIL from spike.porcupine.org[168.100.189.2]: 554 5.7.1 <foo@www.porcupine.org>: Sender address rejected: Access denied; from=<foo@www.porcupine.org> proto=SMTP helo=<foo@postfix.org>
|
./smtpd_check: <queue id>: reject: MAIL from spike.porcupine.org[168.100.3.2]: 554 5.7.1 <foo@www.porcupine.org>: Sender address rejected: Access denied; from=<foo@www.porcupine.org> proto=SMTP helo=<foo@postfix.org>
|
||||||
554 5.7.1 <foo@www.porcupine.org>: Sender address rejected: Access denied
|
554 5.7.1 <foo@www.porcupine.org>: Sender address rejected: Access denied
|
||||||
>>> mail example.tld
|
>>> mail example.tld
|
||||||
./smtpd_check: warning: Unable to look up NS host for example.tld: Host not found
|
./smtpd_check: warning: Unable to look up NS host for example.tld: Host not found
|
||||||
OK
|
OK
|
||||||
>>> mail foo@postfix.org
|
>>> mail foo@postfix.org
|
||||||
./smtpd_check: <queue id>: reject: MAIL from spike.porcupine.org[168.100.189.2]: 554 5.7.1 <foo@postfix.org>: Sender address rejected: Access denied; from=<foo@postfix.org> proto=SMTP helo=<foo@postfix.org>
|
./smtpd_check: <queue id>: reject: MAIL from spike.porcupine.org[168.100.3.2]: 554 5.7.1 <foo@postfix.org>: Sender address rejected: Access denied; from=<foo@postfix.org> proto=SMTP helo=<foo@postfix.org>
|
||||||
554 5.7.1 <foo@postfix.org>: Sender address rejected: Access denied
|
554 5.7.1 <foo@postfix.org>: Sender address rejected: Access denied
|
||||||
>>> recipient_restrictions check_recipient_ns_access,inline:{168.100.1.2=reject}
|
>>> recipient_restrictions check_recipient_ns_access,inline:{168.100.3.75=reject}
|
||||||
OK
|
OK
|
||||||
>>> rcpt foo@www.porcupine.org
|
>>> rcpt foo@www.porcupine.org
|
||||||
./smtpd_check: <queue id>: reject: RCPT from spike.porcupine.org[168.100.189.2]: 554 5.7.1 <foo@www.porcupine.org>: Recipient address rejected: Access denied; from=<foo@postfix.org> to=<foo@www.porcupine.org> proto=SMTP helo=<foo@postfix.org>
|
./smtpd_check: <queue id>: reject: RCPT from spike.porcupine.org[168.100.3.2]: 554 5.7.1 <foo@www.porcupine.org>: Recipient address rejected: Access denied; from=<foo@postfix.org> to=<foo@www.porcupine.org> proto=SMTP helo=<foo@postfix.org>
|
||||||
554 5.7.1 <foo@www.porcupine.org>: Recipient address rejected: Access denied
|
554 5.7.1 <foo@www.porcupine.org>: Recipient address rejected: Access denied
|
||||||
>>> rcpt foo@example.tld
|
>>> rcpt foo@example.tld
|
||||||
./smtpd_check: warning: Unable to look up NS host for foo@example.tld: Host not found
|
./smtpd_check: warning: Unable to look up NS host for foo@example.tld: Host not found
|
||||||
OK
|
OK
|
||||||
>>> rcpt foo@postfix.org
|
>>> rcpt foo@postfix.org
|
||||||
./smtpd_check: <queue id>: reject: RCPT from spike.porcupine.org[168.100.189.2]: 554 5.7.1 <foo@postfix.org>: Recipient address rejected: Access denied; from=<foo@postfix.org> to=<foo@postfix.org> proto=SMTP helo=<foo@postfix.org>
|
./smtpd_check: <queue id>: reject: RCPT from spike.porcupine.org[168.100.3.2]: 554 5.7.1 <foo@postfix.org>: Recipient address rejected: Access denied; from=<foo@postfix.org> to=<foo@postfix.org> proto=SMTP helo=<foo@postfix.org>
|
||||||
554 5.7.1 <foo@postfix.org>: Recipient address rejected: Access denied
|
554 5.7.1 <foo@postfix.org>: Recipient address rejected: Access denied
|
||||||
>>> #
|
>>> #
|
||||||
>>> # Check A access
|
>>> # Check A access
|
||||||
>>> #
|
>>> #
|
||||||
>>> helo_restrictions check_helo_a_access,inline:{168.100.189.2=reject}
|
>>> helo_restrictions check_helo_a_access,inline:{168.100.3.2=reject}
|
||||||
OK
|
OK
|
||||||
>>> helo spike.porcupine.org
|
>>> helo spike.porcupine.org
|
||||||
./smtpd_check: <queue id>: reject: HELO from spike.porcupine.org[168.100.189.2]: 554 5.7.1 <spike.porcupine.org>: Helo command rejected: Access denied; from=<foo@postfix.org> proto=SMTP helo=<spike.porcupine.org>
|
./smtpd_check: <queue id>: reject: HELO from spike.porcupine.org[168.100.3.2]: 554 5.7.1 <spike.porcupine.org>: Helo command rejected: Access denied; from=<foo@postfix.org> proto=SMTP helo=<spike.porcupine.org>
|
||||||
554 5.7.1 <spike.porcupine.org>: Helo command rejected: Access denied
|
554 5.7.1 <spike.porcupine.org>: Helo command rejected: Access denied
|
||||||
>>> helo www.porcupine.org
|
>>> helo www.porcupine.org
|
||||||
OK
|
OK
|
||||||
>>> client_restrictions check_client_a_access,inline:{168.100.189.2=reject}
|
>>> client_restrictions check_client_a_access,inline:{168.100.3.2=reject}
|
||||||
OK
|
OK
|
||||||
>>> client spike.porcupine.org 1.2.3.4
|
>>> client spike.porcupine.org 1.2.3.4
|
||||||
./smtpd_check: <queue id>: reject: CONNECT from spike.porcupine.org[1.2.3.4]: 554 5.7.1 <spike.porcupine.org[1.2.3.4]>: Client host rejected: Access denied; from=<foo@postfix.org> proto=SMTP helo=<www.porcupine.org>
|
./smtpd_check: <queue id>: reject: CONNECT from spike.porcupine.org[1.2.3.4]: 554 5.7.1 <spike.porcupine.org[1.2.3.4]>: Client host rejected: Access denied; from=<foo@postfix.org> proto=SMTP helo=<www.porcupine.org>
|
||||||
554 5.7.1 <spike.porcupine.org[1.2.3.4]>: Client host rejected: Access denied
|
554 5.7.1 <spike.porcupine.org[1.2.3.4]>: Client host rejected: Access denied
|
||||||
>>> client www.porcupine.org 1.2.3.4
|
>>> client www.porcupine.org 1.2.3.4
|
||||||
OK
|
OK
|
||||||
>>> reverse_client_restrictions check_reverse_client_a_access,inline:{168.100.189.2=reject}
|
>>> reverse_client_restrictions check_reverse_client_a_access,inline:{168.100.3.2=reject}
|
||||||
bad command
|
bad command
|
||||||
>>> client spike.porcupine.org 1.2.3.4
|
>>> client spike.porcupine.org 1.2.3.4
|
||||||
./smtpd_check: <queue id>: reject: CONNECT from spike.porcupine.org[1.2.3.4]: 554 5.7.1 <spike.porcupine.org[1.2.3.4]>: Client host rejected: Access denied; from=<foo@postfix.org> proto=SMTP helo=<www.porcupine.org>
|
./smtpd_check: <queue id>: reject: CONNECT from spike.porcupine.org[1.2.3.4]: 554 5.7.1 <spike.porcupine.org[1.2.3.4]>: Client host rejected: Access denied; from=<foo@postfix.org> proto=SMTP helo=<www.porcupine.org>
|
||||||
554 5.7.1 <spike.porcupine.org[1.2.3.4]>: Client host rejected: Access denied
|
554 5.7.1 <spike.porcupine.org[1.2.3.4]>: Client host rejected: Access denied
|
||||||
>>> client www.porcupine.org 1.2.3.4
|
>>> client www.porcupine.org 1.2.3.4
|
||||||
OK
|
OK
|
||||||
>>> sender_restrictions check_sender_a_access,inline:{168.100.189.2=reject}
|
>>> sender_restrictions check_sender_a_access,inline:{168.100.3.2=reject}
|
||||||
OK
|
OK
|
||||||
>>> mail foo@spike.porcupine.org
|
>>> mail foo@spike.porcupine.org
|
||||||
./smtpd_check: <queue id>: reject: MAIL from www.porcupine.org[1.2.3.4]: 554 5.7.1 <foo@spike.porcupine.org>: Sender address rejected: Access denied; from=<foo@spike.porcupine.org> proto=SMTP helo=<www.porcupine.org>
|
./smtpd_check: <queue id>: reject: MAIL from www.porcupine.org[1.2.3.4]: 554 5.7.1 <foo@spike.porcupine.org>: Sender address rejected: Access denied; from=<foo@spike.porcupine.org> proto=SMTP helo=<www.porcupine.org>
|
||||||
554 5.7.1 <foo@spike.porcupine.org>: Sender address rejected: Access denied
|
554 5.7.1 <foo@spike.porcupine.org>: Sender address rejected: Access denied
|
||||||
>>> mail foo@www.porcupine.org
|
>>> mail foo@www.porcupine.org
|
||||||
OK
|
OK
|
||||||
>>> recipient_restrictions check_recipient_a_access,inline:{168.100.189.2=reject}
|
>>> recipient_restrictions check_recipient_a_access,inline:{168.100.3.2=reject}
|
||||||
OK
|
OK
|
||||||
>>> rcpt foo@spike.porcupine.org
|
>>> rcpt foo@spike.porcupine.org
|
||||||
./smtpd_check: <queue id>: reject: RCPT from www.porcupine.org[1.2.3.4]: 554 5.7.1 <foo@spike.porcupine.org>: Recipient address rejected: Access denied; from=<foo@www.porcupine.org> to=<foo@spike.porcupine.org> proto=SMTP helo=<www.porcupine.org>
|
./smtpd_check: <queue id>: reject: RCPT from www.porcupine.org[1.2.3.4]: 554 5.7.1 <foo@spike.porcupine.org>: Recipient address rejected: Access denied; from=<foo@www.porcupine.org> to=<foo@spike.porcupine.org> proto=SMTP helo=<www.porcupine.org>
|
||||||
|
@ -713,7 +713,7 @@ timecmp_test: timecmp
|
|||||||
$(SHLIB_ENV) ${VALGRIND} ./timecmp
|
$(SHLIB_ENV) ${VALGRIND} ./timecmp
|
||||||
|
|
||||||
myaddrinfo_test: myaddrinfo myaddrinfo.ref myaddrinfo.ref2
|
myaddrinfo_test: myaddrinfo myaddrinfo.ref myaddrinfo.ref2
|
||||||
$(SHLIB_ENV) ${VALGRIND} ./myaddrinfo all belly.porcupine.org 168.100.189.2 >myaddrinfo.tmp 2>&1
|
$(SHLIB_ENV) ${VALGRIND} ./myaddrinfo all belly.porcupine.org 168.100.3.2 >myaddrinfo.tmp 2>&1
|
||||||
diff myaddrinfo.ref myaddrinfo.tmp
|
diff myaddrinfo.ref myaddrinfo.tmp
|
||||||
rm -f myaddrinfo.tmp
|
rm -f myaddrinfo.tmp
|
||||||
$(SHLIB_ENV) ${VALGRIND} ./myaddrinfo all null.porcupine.org 10.0.0.0 >myaddrinfo.tmp 2>&1
|
$(SHLIB_ENV) ${VALGRIND} ./myaddrinfo all null.porcupine.org 10.0.0.0 >myaddrinfo.tmp 2>&1
|
||||||
@ -721,7 +721,7 @@ myaddrinfo_test: myaddrinfo myaddrinfo.ref myaddrinfo.ref2
|
|||||||
rm -f myaddrinfo.tmp
|
rm -f myaddrinfo.tmp
|
||||||
|
|
||||||
myaddrinfo4_test: myaddrinfo4 myaddrinfo4.ref myaddrinfo4.ref2
|
myaddrinfo4_test: myaddrinfo4 myaddrinfo4.ref myaddrinfo4.ref2
|
||||||
$(SHLIB_ENV) ${VALGRIND} ./myaddrinfo4 all belly.porcupine.org 168.100.189.2 >myaddrinfo4.tmp 2>&1
|
$(SHLIB_ENV) ${VALGRIND} ./myaddrinfo4 all belly.porcupine.org 168.100.3.2 >myaddrinfo4.tmp 2>&1
|
||||||
diff myaddrinfo4.ref myaddrinfo4.tmp
|
diff myaddrinfo4.ref myaddrinfo4.tmp
|
||||||
$(SHLIB_ENV) ${VALGRIND} ./myaddrinfo4 all null.porcupine.org 10.0.0.0 >myaddrinfo4.tmp 2>&1
|
$(SHLIB_ENV) ${VALGRIND} ./myaddrinfo4 all null.porcupine.org 10.0.0.0 >myaddrinfo4.tmp 2>&1
|
||||||
diff myaddrinfo4.ref2 myaddrinfo4.tmp
|
diff myaddrinfo4.ref2 myaddrinfo4.tmp
|
||||||
|
@ -113,9 +113,9 @@ DICT *dict_inline_open(const char *name, int open_flags, int dict_flags)
|
|||||||
dict = dict_open3(DICT_TYPE_HT, name, open_flags, dict_flags);
|
dict = dict_open3(DICT_TYPE_HT, name, open_flags, dict_flags);
|
||||||
dict_type_override(dict, DICT_TYPE_INLINE);
|
dict_type_override(dict, DICT_TYPE_INLINE);
|
||||||
while ((nameval = mystrtokq(&cp, CHARS_COMMA_SP, CHARS_BRACE)) != 0) {
|
while ((nameval = mystrtokq(&cp, CHARS_COMMA_SP, CHARS_BRACE)) != 0) {
|
||||||
if ((nameval[0] != CHARS_BRACE[0]
|
if (nameval[0] == CHARS_BRACE[0])
|
||||||
|| (err = free_me = extpar(&nameval, CHARS_BRACE, EXTPAR_FLAG_STRIP)) == 0)
|
err = free_me = extpar(&nameval, CHARS_BRACE, EXTPAR_FLAG_STRIP);
|
||||||
&& (err = split_qnameval(nameval, &vname, &value)) != 0)
|
if (err != 0 || (err = split_qnameval(nameval, &vname, &value)) != 0)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if ((dict->flags & DICT_FLAG_SRC_RHS_IS_FILE) != 0) {
|
if ((dict->flags & DICT_FLAG_SRC_RHS_IS_FILE) != 0) {
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
168.100.189.2
|
168.100.3.2
|
||||||
168.100.189.2
|
168.100.3.2
|
||||||
168.100.189.1
|
168.100.3.1
|
||||||
168.100.189.3
|
168.100.3.3
|
||||||
168.100.189.3
|
168.100.3.3
|
||||||
168.100.189.3
|
168.100.3.3
|
||||||
168.100.189.4
|
168.100.3.4
|
||||||
168.100.189.1
|
168.100.3.1
|
||||||
168.100.189.4
|
168.100.3.4
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
unknown: list before sort/uniq
|
unknown: list before sort/uniq
|
||||||
unknown: 168.100.189.2
|
unknown: 168.100.3.2
|
||||||
unknown: 168.100.189.2
|
unknown: 168.100.3.2
|
||||||
unknown: 168.100.189.1
|
unknown: 168.100.3.1
|
||||||
unknown: 168.100.189.3
|
unknown: 168.100.3.3
|
||||||
unknown: 168.100.189.3
|
unknown: 168.100.3.3
|
||||||
unknown: 168.100.189.3
|
unknown: 168.100.3.3
|
||||||
unknown: 168.100.189.4
|
unknown: 168.100.3.4
|
||||||
unknown: 168.100.189.1
|
unknown: 168.100.3.1
|
||||||
unknown: 168.100.189.4
|
unknown: 168.100.3.4
|
||||||
unknown: list after sort/uniq
|
unknown: list after sort/uniq
|
||||||
unknown: 168.100.189.1
|
unknown: 168.100.3.1
|
||||||
unknown: 168.100.189.2
|
unknown: 168.100.3.2
|
||||||
unknown: 168.100.189.3
|
unknown: 168.100.3.3
|
||||||
unknown: 168.100.189.4
|
unknown: 168.100.3.4
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
./myaddrinfo: === hostname belly.porcupine.org ===
|
./myaddrinfo: === hostname belly.porcupine.org ===
|
||||||
./myaddrinfo: belly.porcupine.org -> family=2 sock=1 proto=6 168.100.189.6
|
./myaddrinfo: belly.porcupine.org -> family=2 sock=1 proto=6 168.100.3.6
|
||||||
./myaddrinfo: 168.100.189.6 -> belly.porcupine.org
|
./myaddrinfo: 168.100.3.6 -> belly.porcupine.org
|
||||||
./myaddrinfo: belly.porcupine.org -> family=28 sock=1 proto=6 2604:8d00:189::6
|
./myaddrinfo: belly.porcupine.org -> family=28 sock=1 proto=6 2604:8d00:189::6
|
||||||
./myaddrinfo: 2604:8d00:189::6 -> belly.porcupine.org
|
./myaddrinfo: 2604:8d00:189::6 -> belly.porcupine.org
|
||||||
./myaddrinfo: === host address 168.100.189.2 ===
|
./myaddrinfo: === host address 168.100.3.2 ===
|
||||||
./myaddrinfo: 168.100.189.2 -> family=2 sock=1 proto=6 168.100.189.2
|
./myaddrinfo: 168.100.3.2 -> family=2 sock=1 proto=6 168.100.3.2
|
||||||
./myaddrinfo: 168.100.189.2 -> spike.porcupine.org
|
./myaddrinfo: 168.100.3.2 -> spike.porcupine.org
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
./myaddrinfo4: === hostname belly.porcupine.org ===
|
./myaddrinfo4: === hostname belly.porcupine.org ===
|
||||||
./myaddrinfo4: belly.porcupine.org -> family=2 sock=1 proto=6 168.100.189.6
|
./myaddrinfo4: belly.porcupine.org -> family=2 sock=1 proto=6 168.100.3.6
|
||||||
./myaddrinfo4: 168.100.189.6 -> belly.porcupine.org
|
./myaddrinfo4: 168.100.3.6 -> belly.porcupine.org
|
||||||
./myaddrinfo4: === host address 168.100.189.2 ===
|
./myaddrinfo4: === host address 168.100.3.2 ===
|
||||||
./myaddrinfo4: 168.100.189.2 -> family=2 sock=1 proto=6 168.100.189.2
|
./myaddrinfo4: 168.100.3.2 -> family=2 sock=1 proto=6 168.100.3.2
|
||||||
./myaddrinfo4: 168.100.189.2 -> spike.porcupine.org
|
./myaddrinfo4: 168.100.3.2 -> spike.porcupine.org
|
||||||
|
Loading…
x
Reference in New Issue
Block a user