1>>> #
2>>> # Initialize
3>>> #
4>>> client localhost 127.0.0.1
5OK
6>>> smtpd_delay_reject 0
7OK
8>>> #
9>>> # Test reject_unknown_helo_hostname
10>>> #
11>>> smtpd_dns_reply_filter regexp:../dns/no-mx.reg
12OK
13>>> helo_restrictions reject_unknown_helo_hostname,permit
14OK
15>>> # EXPECT OK + "all MX records dropped" warning.
16>>> helo xn--1xa.porcupine.org
17./smtpd_check: ignoring DNS RR: xn--1xa.porcupine.org. TTL IN MX 10 spike.porcupine.org.
18./smtpd_check: warning: xn--1xa.porcupine.org: address or MX lookup error: DNS reply filter drops all results
19OK
20>>> # EXPECT OK (nullmx has A record)
21>>> helo nullmx.porcupine.org
22OK
23>>> # EXPECT reject (nxdomain is not filtered).
24>>> helo nxdomain.porcupine.org
25./smtpd_check: <queue id>: reject: HELO from localhost[127.0.0.1]: 450 4.7.1 <nxdomain.porcupine.org>: Helo command rejected: Host not found; proto=SMTP helo=<nxdomain.porcupine.org>
26450 4.7.1 <nxdomain.porcupine.org>: Helo command rejected: Host not found
27>>> smtpd_dns_reply_filter regexp:../dns/no-a.reg
28OK
29>>> # EXPECT OK (host has AAAA record).
30>>> mail user@spike.porcupine.org
31OK
32>>> helo spike.porcupine.org
33./smtpd_check: ignoring DNS RR: spike.porcupine.org. TTL IN A 168.100.3.2
34OK
35>>> # EXPECT OK + "all A records dropped" warning + no delayed reject.
36>>> helo fist.porcupine.org
37./smtpd_check: ignoring DNS RR: fist.porcupine.org. TTL IN A 168.100.3.4
38./smtpd_check: warning: fist.porcupine.org: address or MX lookup error: DNS reply filter drops all results
39OK
40>>> mail user@spike.porcupine.org
41OK
42>>> rcpt user@spike.porcupine.org
43OK
44>>> smtpd_dns_reply_filter regexp:../dns/error.reg
45OK
46>>> # EXPECT OK + "filter config error" warning + delayed reject.
47>>> helo spike.porcupine.org
48./smtpd_check: warning: smtpd_dns_reply_filter: unknown DNS filter action: "oops"
49./smtpd_check: warning: smtpd_dns_reply_filter: unknown DNS filter action: "oops"
50OK
51>>> mail user@spike.porcupine.org
52OK
53>>> rcpt user@spike.porcupine.org
54./smtpd_check: <queue id>: reject: RCPT from localhost[127.0.0.1]: 450 4.7.1 <spike.porcupine.org>: Helo command rejected: Host not found; from=<user@spike.porcupine.org> to=<user@spike.porcupine.org> proto=SMTP helo=<spike.porcupine.org>
55450 4.7.1 <spike.porcupine.org>: Helo command rejected: Host not found
56>>> # EXPECT OK + "filter config error" warning (nullmx has A record) + delayed reject.
57>>> helo nullmx.porcupine.org
58./smtpd_check: warning: smtpd_dns_reply_filter: unknown DNS filter action: "oops"
59OK
60>>> mail user@spike.porcupine.org
61OK
62>>> rcpt user@spike.porcupine.org
63./smtpd_check: <queue id>: reject: RCPT from localhost[127.0.0.1]: 450 4.7.1 <nullmx.porcupine.org>: Helo command rejected: Host not found; from=<user@spike.porcupine.org> to=<user@spike.porcupine.org> proto=SMTP helo=<nullmx.porcupine.org>
64450 4.7.1 <nullmx.porcupine.org>: Helo command rejected: Host not found
65>>> # EXPECT reject (nxdomain is not filtered).
66>>> helo nxdomain.porcupine.org
67./smtpd_check: <queue id>: reject: HELO from localhost[127.0.0.1]: 450 4.7.1 <nxdomain.porcupine.org>: Helo command rejected: Host not found; from=<user@spike.porcupine.org> proto=SMTP helo=<nxdomain.porcupine.org>
68450 4.7.1 <nxdomain.porcupine.org>: Helo command rejected: Host not found
69>>> #
70>>> # Test reject_unknown_sender_domain (same code as
71>>> # reject_unknown_recipient_domain).
72>>> #
73>>> smtpd_dns_reply_filter regexp:../dns/no-mx.reg
74OK
75>>> helo localhost
76OK
77>>> sender_restrictions reject_unknown_sender_domain
78OK
79>>> # EXPECT OK + "all MX records dropped" warning.
80>>> mail user@xn--1xa.porcupine.org
81./smtpd_check: ignoring DNS RR: xn--1xa.porcupine.org. TTL IN MX 10 spike.porcupine.org.
82./smtpd_check: warning: xn--1xa.porcupine.org: MX or address lookup error: DNS reply filter drops all results
83OK
84>>> # EXPECT reject (nullmx is not filtered).
85>>> mail user@nullmx.porcupine.org
86./smtpd_check: <queue id>: reject: MAIL from localhost[127.0.0.1]: 550 5.7.27 <user@nullmx.porcupine.org>: Sender address rejected: Domain nullmx.porcupine.org does not accept mail (nullMX); from=<user@nullmx.porcupine.org> proto=SMTP helo=<localhost>
87550 5.7.27 <user@nullmx.porcupine.org>: Sender address rejected: Domain nullmx.porcupine.org does not accept mail (nullMX)
88>>> # EXPECT reject (nxdomain is not filtered).
89>>> mail user@nxdomain.porcupine.org
90./smtpd_check: <queue id>: reject: MAIL from localhost[127.0.0.1]: 450 4.1.8 <user@nxdomain.porcupine.org>: Sender address rejected: Domain not found; from=<user@nxdomain.porcupine.org> proto=SMTP helo=<localhost>
91450 4.1.8 <user@nxdomain.porcupine.org>: Sender address rejected: Domain not found
92>>> # EXPECT OK
93>>> mail user@localhost
94OK
95>>> smtpd_dns_reply_filter regexp:../dns/no-a.reg
96OK
97>>> # EXPECT OK (host has AAAA record).
98>>> mail user@spike.porcupine.org
99./smtpd_check: ignoring DNS RR: spike.porcupine.org. TTL IN A 168.100.3.2
100OK
101>>> # EXPECT OK + "all A records dropped" warning.
102>>> mail user@fist.porcupine.org
103./smtpd_check: ignoring DNS RR: fist.porcupine.org. TTL IN A 168.100.3.4
104./smtpd_check: warning: fist.porcupine.org: MX or address lookup error: DNS reply filter drops all results
105OK
106>>> smtpd_dns_reply_filter regexp:../dns/error.reg
107OK
108>>> # EXPECT OK + "filter config error" warning + delayed reject.
109>>> mail user@xn--1xa.porcupine.org
110./smtpd_check: warning: smtpd_dns_reply_filter: unknown DNS filter action: "oops"
111OK
112>>> rcpt user
113./smtpd_check: <queue id>: reject: RCPT from localhost[127.0.0.1]: 450 4.1.8 <user@xn--1xa.porcupine.org>: Sender address rejected: Domain not found; from=<user@xn--1xa.porcupine.org> to=<user> proto=SMTP helo=<localhost>
114450 4.1.8 <user@xn--1xa.porcupine.org>: Sender address rejected: Domain not found
115>>> # EXPECT reject (nullmx is not filtered).
116>>> mail user@nullmx.porcupine.org
117./smtpd_check: <queue id>: reject: MAIL from localhost[127.0.0.1]: 550 5.7.27 <user@nullmx.porcupine.org>: Sender address rejected: Domain nullmx.porcupine.org does not accept mail (nullMX); from=<user@nullmx.porcupine.org> proto=SMTP helo=<localhost>
118550 5.7.27 <user@nullmx.porcupine.org>: Sender address rejected: Domain nullmx.porcupine.org does not accept mail (nullMX)
119>>> # EXPECT reject (nxdomain is not filtered).
120>>> mail user@nxdomain.porcupine.org
121./smtpd_check: <queue id>: reject: MAIL from localhost[127.0.0.1]: 450 4.1.8 <user@nxdomain.porcupine.org>: Sender address rejected: Domain not found; from=<user@nxdomain.porcupine.org> proto=SMTP helo=<localhost>
122450 4.1.8 <user@nxdomain.porcupine.org>: Sender address rejected: Domain not found
123>>> #
124>>> # Test reject_rbl_client
125>>> #
126>>> client_restrictions reject_rbl_client,dnsbltest.porcupine.org
127OK
128>>> smtpd_dns_reply_filter regexp:../dns/no-mx.reg
129OK
130>>> flush_dnsxl_cache
131OK
132>>> # EXPECT reject + A and TXT record.
133>>> client localhost 127.0.0.2
134./smtpd_check: <queue id>: reject: CONNECT from localhost[127.0.0.2]: 554 5.7.1 Service unavailable; Client host [127.0.0.2] blocked using dnsbltest.porcupine.org; DNS blocklist test; from=<user@nxdomain.porcupine.org> proto=SMTP helo=<localhost>
135554 5.7.1 Service unavailable; Client host [127.0.0.2] blocked using dnsbltest.porcupine.org; DNS blocklist test
136>>> smtpd_dns_reply_filter regexp:../dns/no-a.reg
137OK
138>>> flush_dnsxl_cache
139OK
140>>> # EXPECT OK + "all A results dropped" warning.
141>>> client localhost 127.0.0.2
142./smtpd_check: ignoring DNS RR: 2.0.0.127.dnsbltest.porcupine.org. TTL IN A 127.0.0.2
143./smtpd_check: warning: 2.0.0.127.dnsbltest.porcupine.org: RBL lookup error: Error looking up name=2.0.0.127.dnsbltest.porcupine.org type=A: DNS reply filter drops all results
144OK
145>>> smtpd_dns_reply_filter regexp:../dns/no-txt.reg
146OK
147>>> flush_dnsxl_cache
148OK
149>>> # EXPECT reject + A record, "all TXT results dropped" warning.
150>>> client localhost 127.0.0.2
151./smtpd_check: ignoring DNS RR: 2.0.0.127.dnsbltest.porcupine.org. TTL IN TXT DNS blocklist test
152./smtpd_check: warning: 2.0.0.127.dnsbltest.porcupine.org: TXT lookup error: DNS reply filter drops all results
153./smtpd_check: <queue id>: reject: CONNECT from localhost[127.0.0.2]: 554 5.7.1 Service unavailable; Client host [127.0.0.2] blocked using dnsbltest.porcupine.org; from=<user@nxdomain.porcupine.org> proto=SMTP helo=<localhost>
154554 5.7.1 Service unavailable; Client host [127.0.0.2] blocked using dnsbltest.porcupine.org
155>>> smtpd_dns_reply_filter regexp:../dns/error.reg
156OK
157>>> flush_dnsxl_cache
158OK
159>>> # EXPECT OK + "filter configuration error"
160>>> client localhost 127.0.0.2
161./smtpd_check: warning: smtpd_dns_reply_filter: unknown DNS filter action: "oops"
162./smtpd_check: warning: 2.0.0.127.dnsbltest.porcupine.org: RBL lookup error: Error looking up name=2.0.0.127.dnsbltest.porcupine.org type=A: Invalid DNS reply filter syntax
163OK
164