masqmail

annotate contrib/config-transition @ 222:8cddc65765bd

added support for STARTTLS wrappers added the route config option `instant_helo' which causes masqmail, as SMTP client, not to wait for the server's 220 greeting. Instead if says EHLO right at once. You'll need this for STARTTLS wrappers that usually eat the greeting line.
author meillo@marmaro.de
date Fri, 23 Jul 2010 10:57:53 +0200
parents
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 # -v enables verbose output
meillo@219 5 #
meillo@219 6 # 2010 markus schnalke <meillo@marmaro.de>
meillo@219 7
meillo@219 8 if [ $# -eq 0 ] ; then
meillo@219 9 echo "usage: config-transition [-v] CONFIGFILE..." >&2
meillo@219 10 exit 1
meillo@219 11 fi
meillo@219 12
meillo@219 13 awkscript="/tmp/masqmail-config-transition-$$"
meillo@219 14
meillo@219 15 trap 'rm -f "$awkscript"; exit' INT QUIT TERM EXIT
meillo@219 16
meillo@219 17 cat >"$awkscript" <<!
meillo@219 18 # Because of the Here-document, escape (with backslash) these characters:
meillo@219 19 # backslash, dollar, backtick
meillo@219 20 BEGIN {
meillo@219 21
meillo@219 22 ######## START OF CHECKS ########
meillo@219 23
meillo@219 24 # Rules look like this:
meillo@219 25 #
meillo@219 26 # check["regexp"] = "conf-kind" SUBSEP "version-info" SUBSEP "verbose-description"
meillo@219 27 #
meillo@219 28 # Meaning of the strings:
meillo@219 29 # - regexp: is also used as the name in the normal listing
meillo@219 30 # - conf-kind: in which kind of config the option appears (conf, route, get)
meillo@219 31 # - version-info: when it was removed
meillo@219 32 # - verbose-description: how to do it now
meillo@219 33
meillo@219 34
meillo@219 35 # conf file
meillo@219 36
meillo@219 37 check["remote_port"] = "conf" SUBSEP "Removed in 0.3.0" SUBSEP "\
meillo@219 38 Use 'mail_host' in the route configuration instead. \
meillo@219 39 "
meillo@219 40
meillo@219 41 check["mbox_default.*maildir"] = "conf" SUBSEP "Removed in 0.3.0" SUBSEP "\
meillo@219 42 Native maildir support was removed completely. \
meillo@219 43 Use an MDA, e.g. procmail, to deliver to Maildir mail folder. \
meillo@219 44 "
meillo@219 45
meillo@219 46 check["maildir_users"] = "conf" SUBSEP "Removed in 0.3.0" SUBSEP "\
meillo@219 47 Native maildir support was removed completely. \
meillo@219 48 Use an MDA, e.g. procmail, to deliver to Maildir mail folder. \
meillo@219 49 "
meillo@219 50
meillo@219 51 check["mserver_iface"] = "conf" SUBSEP "Removed in 0.3.0" SUBSEP "\
meillo@219 52 Native mserver support was removed from masqmail. \
meillo@219 53 Use the mservdetect tool with online_detect=pipe instead. \
meillo@219 54 "
meillo@219 55
meillo@219 56 check["get\\\\."] = "conf" SUBSEP "Removed in 0.3.0" SUBSEP "\
meillo@219 57 The POP3 client was removed from masqmail. \
meillo@219 58 Use a dedicated POP3 client, e.g. fetchmail, instead. \
meillo@219 59 "
meillo@219 60
meillo@219 61 check["online_gets\\\\."] = "conf" SUBSEP "Removed in 0.3.0" SUBSEP "\
meillo@219 62 The POP3 client was removed from masqmail. \
meillo@219 63 Use a dedicated POP3 client, e.g. fetchmail, instead. \
meillo@219 64 "
meillo@219 65
meillo@219 66 # route files
meillo@219 67
meillo@219 68 check["pop3_login"] = "route" SUBSEP "Removed in 0.3.0" SUBSEP "\
meillo@219 69 POP-before-SMTP login function was removed completely. \
meillo@219 70 SMTP AUTH supersedes it today. \
meillo@219 71 If you though rely on it, stay with masqmail-0.2.x or run an arbitrary POP client before. \
meillo@219 72 "
meillo@219 73
meillo@219 74 check["do_ssl"] = "route" SUBSEP "Ignored by masqmail" SUBSEP "\
meillo@219 75 Please report to the mailing list at <masqmail@marmaro.de> that you used this option. \
meillo@219 76 We still don't know the rationale behind this option. \
meillo@219 77 All we have is a comment in the code saying: This option is used by sqilconf. \
meillo@219 78 "
meillo@219 79
meillo@219 80 # get files
meillo@219 81
meillo@219 82 # already covered by the get.* and online_gets.* options in the conf
meillo@219 83 # file. This check is just to make sure, because one might only check
meillo@219 84 # the get file.
meillo@219 85 # We don't check for the other get file options, which are:
meillo@219 86 # protocol server port wrapper user pass address return_path do_keep
meillo@219 87 # do_uidl do_uidl_dele max_size max_size_delete max_count resolve_list
meillo@219 88
meillo@219 89 check["protocol.*pop"] = "get" SUBSEP "Removed in 0.3.0" SUBSEP "\
meillo@219 90 The POP3 client was removed from masqmail. \
meillo@219 91 Use a dedicated POP3 client, e.g. fetchmail, instead. \
meillo@219 92 "
meillo@219 93
meillo@219 94
meillo@219 95 ######## END OF CHECK DEFINITIONS ########
meillo@219 96 }
meillo@219 97
meillo@219 98 function checkcomment() {
meillo@219 99 if (/^[ \t]*\#/) {
meillo@219 100 return " (in a comment)"
meillo@219 101 }
meillo@219 102 }
meillo@219 103
meillo@219 104 {
meillo@219 105 for (key in check) {
meillo@219 106 if (\$0 !~ key) {
meillo@219 107 continue;
meillo@219 108 }
meillo@219 109 # we have a match
meillo@219 110 split(check[key], a, SUBSEP); # array index starts with 1
meillo@219 111 printf("%s:%d: [%s] %s%s\n", FILENAME, NR, a[1], key, checkcomment());
meillo@219 112 cmd = "fold -sw 70 | sed 's,^,\t,'"
meillo@219 113 if (verbose) {
meillo@219 114 print "\t>>>> " \$0 " <<<<"
meillo@219 115 print a[3] | cmd
meillo@219 116 close(cmd)
meillo@219 117 print "\t" a[2]
meillo@219 118 print ""
meillo@219 119 }
meillo@219 120 }
meillo@219 121 }
meillo@219 122
meillo@219 123 !
meillo@219 124
meillo@219 125
meillo@219 126 verbose=0
meillo@219 127 if [ X"$1" = X"-v" ] ; then
meillo@219 128 verbose=1
meillo@219 129 shift
meillo@219 130 fi
meillo@219 131
meillo@219 132 for i do
meillo@219 133 awk -f "$awkscript" "verbose=$verbose" "$i"
meillo@219 134 done
meillo@219 135