Mercurial > masqmail
view admin/config-transition @ 246:4cff8638dd9b
SMTP client: tries EHLO now always first
Changed the behavior of the SMTP client. Now always an EHLO greeting
is sent, no matter what kind of greeting text the server had sent. If
the EHLO failed, an HELO greeting is tried as fall back. This is the
behavior RFC 2821 requires (section 3.2).
This change will fix setups that were not possible to sent to a
server because that requires AUTH but hadn't said ``ESMTP'' in its
greeting message.
See also: Debian bug #349211
Thanks to Steffen (inne)
author | markus schnalke <meillo@marmaro.de> |
---|---|
date | Thu, 28 Oct 2010 16:40:02 -0300 |
parents | e758296de02d |
children | f10a56dc7481 |
line wrap: on
line source
#!/bin/sh # # check masqmail config files for options that are obsolete # -v enables verbose output # # 2010 markus schnalke <meillo@marmaro.de> if [ $# -eq 0 ] ; then echo "usage: config-transition [-v] CONFIGFILE..." >&2 exit 1 fi awkscript="/tmp/masqmail-config-transition-$$" trap 'rm -f "$awkscript"; exit' INT QUIT TERM EXIT cat >"$awkscript" <<! # Because of the Here-document, escape (with backslash) these characters: # backslash, dollar, backtick BEGIN { ######## START OF CHECKS ######## # Rules look like this: # # check["regexp"] = "conf-kind" SUBSEP "version-info" SUBSEP "verbose-description" # # Meaning of the strings: # - regexp: is also used as the name in the normal listing # - conf-kind: in which kind of config the option appears (conf, route, get) # - version-info: when it was removed # - verbose-description: how to do it now # conf file check["remote_port"] = "conf" SUBSEP "Removed in 0.3.0" SUBSEP "\ Use 'mail_host' in the route configuration instead. \ " check["mbox_default.*maildir"] = "conf" SUBSEP "Removed in 0.3.0" SUBSEP "\ Native maildir support was removed completely. \ Use an MDA, e.g. procmail, to deliver to Maildir mail folder. \ " check["maildir_users"] = "conf" SUBSEP "Removed in 0.3.0" SUBSEP "\ Native maildir support was removed completely. \ Use an MDA, e.g. procmail, to deliver to Maildir mail folder. \ " check["mserver_iface"] = "conf" SUBSEP "Removed in 0.3.0" SUBSEP "\ Native mserver support was removed from masqmail. \ Use the mservdetect tool with online_detect=pipe instead. \ " check["get\\\\."] = "conf" SUBSEP "Removed in 0.3.0" SUBSEP "\ The POP3 client was removed from masqmail. \ Use a dedicated POP3 client, e.g. fetchmail, instead. \ " check["online_gets\\\\."] = "conf" SUBSEP "Removed in 0.3.0" SUBSEP "\ The POP3 client was removed from masqmail. \ Use a dedicated POP3 client, e.g. fetchmail, instead. \ " check["alias_local_caseless"] = "conf" SUBSEP "Renamed in 0.3.1" SUBSEP "\ It is now called 'caseless_matching' instead. \ " # route files check["pop3_login"] = "route" SUBSEP "Removed in 0.3.0" SUBSEP "\ POP-before-SMTP login function was removed completely. \ SMTP AUTH supersedes it today. \ If you though rely on it, stay with masqmail-0.2.x or run an arbitrary POP client before. \ " check["do_ssl"] = "route" SUBSEP "Ignored by masqmail" SUBSEP "\ Please report to the mailing list at <masqmail@marmaro.de> that you used this option. \ We still don't know the rationale behind this option. \ All we have is a comment in the code saying: This option is used by sqilconf. \ " # get files # already covered by the get.* and online_gets.* options in the conf # file. This check is just to make sure, because one might only check # the get file. # We don't check for the other get file options, which are: # protocol server port wrapper user pass address return_path do_keep # do_uidl do_uidl_dele max_size max_size_delete max_count resolve_list check["protocol.*pop"] = "get" SUBSEP "Removed in 0.3.0" SUBSEP "\ The POP3 client was removed from masqmail. \ Use a dedicated POP3 client, e.g. fetchmail, instead. \ " ######## END OF CHECK DEFINITIONS ######## } function checkcomment() { if (/^[ \t]*\#/) { return " (in a comment)" } } { for (key in check) { if (\$0 !~ key) { continue; } # we have a match split(check[key], a, SUBSEP); # array index starts with 1 printf("%s:%d: [%s] %s%s\n", FILENAME, NR, a[1], key, checkcomment()); cmd = "fold -sw 70 | sed 's,^,\t,'" if (verbose) { print "\t>>>> " \$0 " <<<<" print a[3] | cmd close(cmd) print "\t" a[2] print "" } } } ! verbose=0 if [ X"$1" = X"-v" ] ; then verbose=1 shift fi for i do awk -f "$awkscript" "verbose=$verbose" "$i" done