masqmail

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