masqmail
view admin/config-transition @ 421:f37384470855
Changed lockdir to /var/lock/masqmail; Create lockdir and piddir on startup.
Moved the lockdir out of the spool dir. (When /var/lock is a ramdisk
we do well to have the lock files there.) Added the new configure option
--with-lockdir to change that location. Nontheless, if we run_as_user,
then lock files are always stored in the spool dir directly.
Instead of installing the lockdir and piddir at installation time, we
create them on startup time now if they are missing. This is necessary
if lockdir or piddir are a tmpfs.
author | markus schnalke <meillo@marmaro.de> |
---|---|
date | Wed, 30 May 2012 09:38:38 +0200 |
parents | 55b7bde95d37 |
children |
line source
1 #!/bin/sh
2 #
3 # check masqmail config files for options that are obsolete
4 #
5 # 2010 markus schnalke <meillo@marmaro.de>
7 if [ $# -eq 0 ] ; then
8 echo "usage: config-transition CONFIGFILE..." >&2
9 exit 1
10 fi
12 awkscript="/tmp/masqmail-config-transition-$$"
14 trap 'rm -f "$awkscript"; exit' INT QUIT TERM EXIT
16 cat >"$awkscript" <<!
17 # Because of the Here-document, escape (with backslash) these characters:
18 # backslash, dollar, backtick
19 BEGIN {
21 ######## START OF CHECKS ########
23 # Rules look like this:
24 #
25 # check["regexp"] = "conf-kind" SUBSEP "version-info" SUBSEP "verbose-description"
26 #
27 # Meaning of the strings:
28 # - regexp: is also used as the name in the normal listing
29 # - conf-kind: in which kind of config the option appears (conf, route, get)
30 # - version-info: when it was removed
31 # - verbose-description: how to do it now
34 # conf file
36 check["remote_port"] = "conf" SUBSEP "Removed in 0.3.0" SUBSEP "\
37 Use 'mail_host' in the route configuration instead. \
38 "
40 check["mbox_default.*maildir"] = "conf" SUBSEP "Removed in 0.3.0" SUBSEP "\
41 Native maildir support was removed completely. \
42 Use an MDA, e.g. procmail, to deliver to Maildir mail folder. \
43 "
45 check["maildir_users"] = "conf" SUBSEP "Removed in 0.3.0" SUBSEP "\
46 Native maildir support was removed completely. \
47 Use an MDA, e.g. procmail, to deliver to Maildir mail folder. \
48 "
50 check["mserver_iface"] = "conf" SUBSEP "Removed in 0.3.0" SUBSEP "\
51 Native mserver support was removed from masqmail. \
52 Use the mservdetect tool with online_detect=pipe instead. \
53 "
55 check["get\\\\."] = "conf" SUBSEP "Removed in 0.3.0" SUBSEP "\
56 The POP3 client was removed from masqmail. \
57 Use a dedicated POP3 client, e.g. fetchmail, instead. \
58 "
60 check["online_gets\\\\."] = "conf" SUBSEP "Removed in 0.3.0" SUBSEP "\
61 The POP3 client was removed from masqmail. \
62 Use a dedicated POP3 client, e.g. fetchmail, instead. \
63 "
65 check["alias_local_caseless"] = "conf" SUBSEP "Renamed in 0.3.1" SUBSEP "\
66 It is now called 'caseless_matching' instead. \
67 "
69 check["online_detect"] = "conf" SUBSEP "Removed in 0.3.2" SUBSEP "\
70 Distilled to online_query. \
71 "
73 check["online_file"] = "conf" SUBSEP "Removed in 0.3.2" SUBSEP "\
74 Use online_query=\"/bin/cat /path/to/file\" instead. \
75 "
77 check["online_pipe"] = "conf" SUBSEP "Renamed in 0.3.2" SUBSEP "\
78 Now known as online_query. online_detect=pipe is not needed anymore. \
79 "
81 check["connect_route\\\\."] = "conf" SUBSEP "Removed in 0.3.4" SUBSEP "\
82 The option had been already obsolete. Use \`query_routes.' instead.\
83 "
85 check["online_routes\\\\."] = "conf" SUBSEP "Renamed in 0.3.4" SUBSEP "\
86 Known as \`query_routes.' now.\
87 "
89 check["local_net_route"] = "conf" SUBSEP "Renamed in 0.3.4" SUBSEP "\
90 Known as \`permanent_routes' now, because that's what they actually are.\
91 "
93 check["local_nets"] = "conf" SUBSEP "Removed in 0.3.4" SUBSEP "\
94 There is no concept of a \`\`local net'' in masqmail anymore. \
95 Create a permanent route with \`allowed_recipients' set accordingly. \
96 See man pages and example configurations for details.\
97 "
99 # route files
101 check["pop3_login"] = "route" SUBSEP "Removed in 0.3.0" SUBSEP "\
102 POP-before-SMTP login function was removed completely. \
103 SMTP AUTH supersedes it today. \
104 If you though rely on it, stay with masqmail-0.2.x or run an arbitrary POP client before. \
105 "
107 check["do_ssl"] = "route" SUBSEP "Ignored by masqmail" SUBSEP "\
108 Please report to the mailing list at <masqmail@marmaro.de> that you used this option. \
109 We still don't know the rationale behind this option. \
110 All we have is a comment in the code saying: This option is used by sqilconf. \
111 "
113 check["protocol"] = "route" SUBSEP "Removed in 0.3.2" SUBSEP "\
114 If pipe is given, pipe will be used, otherwise smtp will be used. \
115 "
117 check["(^|[ ])allowed_return_paths"] = "route" SUBSEP "Removed in 0.3.2" SUBSEP "\
118 Replaced by 'allowed_senders'. \
119 "
121 check["not_allowed_return_paths"] = "route" SUBSEP "Removed in 0.3.2" SUBSEP "\
122 Replaced by 'denied_senders'. \
123 "
125 check["(^|[ ])allowed_mail_locals"] = "route" SUBSEP "Removed in 0.3.2" SUBSEP "\
126 Replaced by 'allowed_senders', if neither wildcards nor '@' is used. \
127 "
129 check["not_allowed_mail_locals"] = "route" SUBSEP "Removed in 0.3.2" SUBSEP "\
130 Replaced by 'denied_senders', if neither wildcards nor '@' is used. \
131 "
133 check["(^|[ ])allowed_rcpt_domains"] = "route" SUBSEP "Removed in 0.3.2" SUBSEP "\
134 Replaced by 'allowed_recipients', if the values are prepended with \
135 '*@', because 'allowed_recipients' matches complete addresses not just \
136 domains. \
137 "
139 check["not_allowed_rcpt_domains"] = "route" SUBSEP "Removed in 0.3.2" SUBSEP "\
140 Replaced by 'denied_recipients', if the values are prepended with \
141 '*@', because 'allowed_recipients' matches complete addresses not just \
142 domains. \
143 "
145 # get files
147 # already covered by the get.* and online_gets.* options in the conf
148 # file. This check is just to make sure, because one might only check
149 # the get file.
150 # We don't check for the other get file options, which are:
151 # protocol server port wrapper user pass address return_path do_keep
152 # do_uidl do_uidl_dele max_size max_size_delete max_count resolve_list
154 check["protocol.*pop"] = "get" SUBSEP "Removed in 0.3.0" SUBSEP "\
155 The POP3 client was removed from masqmail. \
156 Use a dedicated POP3 client, e.g. fetchmail, instead. \
157 "
160 ######## END OF CHECK DEFINITIONS ########
161 }
163 function checkcomment() {
164 if (/^[ \t]*\#/) {
165 return " (in a comment)"
166 }
167 }
169 {
170 for (key in check) {
171 if (\$0 !~ key) {
172 continue;
173 }
174 # we have a match
175 split(check[key], a, SUBSEP); # array index starts with 1
176 printf("%s:%d: [%s] %s%s\n", FILENAME, NR, a[1], key, checkcomment());
177 cmd = "fold -sw 70 | sed 's,^,\t,'"
178 print "\t>>>> " \$0 " <<<<"
179 print a[3] | cmd
180 close(cmd)
181 print "\t" a[2]
182 print ""
183 }
184 }
186 !
189 for i do
190 awk -f "$awkscript" "$i"
191 done