summaryrefslogtreecommitdiffstats
path: root/tests/conf/test-inspect-smtp.cfg
blob: 5cfc8649f840d6bf2db5c73e4a010b6013fed899 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# This is a test configuration. It listens on port 8025, waits for an incoming
# connection, and applies the following rules :
#   - if the address is in the white list, then accept it and forward the
#     connection to the server (local port 25)
#   - if the address is in the black list, then immediately drop it
#   - otherwise, wait up to 35 seconds. If the client talks during this time,
#     drop the connection.
#   - then accept the connection if it passes all the tests.
#
# Note that the rules are evaluated at every new chunk of data read, and at
# delay expiration. Rules which apply to incomplete data don't match as long
# as the timer has not expired.

listen block-fake-mailers
	log 127.0.0.1:514 local0
	option tcplog

	mode tcp
	bind :8025
	timeout client 60s
	timeout server 60s
	timeout queue  60s
	timeout connect 5s

	tcp-request inspect-delay 35s

	acl white_list src 127.0.0.2
	acl black_fast src 127.0.0.3  # those ones are immediately rejected
	acl black_slow src 127.0.0.4  # those ones are rejected after a delay

	tcp-request content accept if white_list
	tcp-request content reject if black_fast
	tcp-request content reject if black_slow WAIT_END
	tcp-request content reject if REQ_CONTENT
	# note that it is possible to wait for the end of the analysis period
	# before rejecting undesired contents
	# tcp-request content reject if REQ_CONTENT WAIT_END

	# on Linux+transparent proxy patch, it's useful to reuse the client'IP
	# source 0.0.0.0 usesrc clientip

	balance roundrobin
	server mail 127.0.0.1:25