blob: 5bd57112dc98b15207ae59bca84dcad38c7e67e1 (
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
CC= /usr/bin/g++
CFLAGS = -std=gnu++0x -Wall -g -I $(HOME)/lib/include
#?? exhibits = checkpassword.patch hi-q.c pido.c pop3.conf smtp.conf \
#?? smtp.rules spamc-zap.patch spamd qmail
.PHONY : shipit clean list-src ALWAYS foo dirs setup imgs \
zip wc html all hacha hevea tcprules logmark
.SECONDARY : # do not remove any intermediate files
# sources for main programs that go in /var/qmail/bin
qmain = pido.c hi-q.c skrewt.c hi-test.c mail-scan.c greylist.c wripper.c
qprogs = $(qmain:%.c=%)
# sources for other main programs:
moremain = wripper.c bash-c.c ltgrey.c fixown.c
moreprogs = $(moremain:%.c=%)
nonmain = libltgrey.c
sources = $(qmain) $(moremain) $(nonmain)
beware_other = checkpassword.c spamc.c
## dependency-finding scheme (with local mods) based on:
## http://www.gnu.org/manual/make-3.77/html_mono/make.html#SEC42
## (see also include statement at end of this makefile)
%.d : %.c
@$(SHELL) -ec '$(CXX) -MM $(CXXFLAGS) $< \
| sed '\''s/\($*\)\.o[ :]*/\1.o $@ : /g'\'' > $@; \
[ -s $@ ] || rm -f $@'
all: $(qprogs) $(moreprogs) fixown2
show:
: --- $(qprogs) +++ $(moreprogs)
fixown: fixown.o utils.o
$(CC) $^ -o $@
chmod o-rwx $@
./fixown2 $@
fixown2: fixown.o utils.o
$(CC) $^ -o $@
chmod o-rwx $@
./fixown $@
skrewt: skrewt.o utils.o sepofra.o
$(CC) $^ -lboost_filesystem-mt -lboost_system -lspf2 -o $@
./fixown $@
greylist: greylist.o utils.o
$(CC) $^ -lboost_filesystem-mt -lboost_system -o $@
./fixown $@
ltgrey: ltgrey.o utils.o libltgrey.o
$(CC) $^ -lboost_filesystem-mt -lboost_system -o $@
./fixown $@
wripper: wripper.o
$(CC) $^ -o $@
./fixown $@
mail-scan: mail-scan.o utils.o
$(CC) $^ -lboost_regex -o $@
hi-test: hi-test.o utils.o
$(CC) $^ -lboost_regex -o $@
install:
install $(qprogs) /var/qmail/bin/
install -gdaemon -m2755 wripper /usr/lib/mailman/mail/
install bash-c /usr/local/bin/
cp filters.conf aufilters.conf /var/qmail/control/
install -m700 -d /var/qmail/rbin
chown qmaild /var/qmail/rbin
chgrp qmail /var/qmail/rbin
install -m755 ../checkpasswd/checkpassword /var/qmail/rbin/
chown root /var/qmail/rbin/checkpassword
chmod u+s /var/qmail/rbin/checkpassword
cp smtp.conf /etc/stunnel/
cp pop3.conf /etc/stunnel/
install qmail-tls-check_certs /var/qmail/bin/
install spamassassin /etc/init.d/
install qmail /etc/init.d/
install spamassassin.default /etc/default/spamassassin
install tcprules.make /etc/tcpserver/makefile
/etc/tcpserver/smtp.rules :
./mk_smtp_rules $@
logmark:
logger -t jsd -p mail.info =========================
# Command to let everybody out of the penalty box:
parole:
greylist -scan |grep penalty | while read addr rest ; do TCPREMOTEIP=$addr greylist -p 1 -v ; done
todo:
echo \
pass message-ID to greylist program \
... also provide a way for certain recipients to bypass some checks \
... both will require major restructuring, "cat" process \
... IPv6 reverse-DNS recors \
... "clean up bad DNS reports nnnn --> () ==> ()" \
.....
ALWAYS:
@echo ...
##?? include $(chapters:.htm=.d)
##?? include $(fancy:%.htm=aux/%.fig)
include $(sources:.c=.d)
|