[moon] home
IPv4

Erlkönig: Majordomo bounce messages not emailed

A PERL bug in Majordomo can prevent moderator receipt of bounce messages.
parent
[parent webpage]

server
[webserver base]

search
[search erlkonig webpages]

trust
[import certificates]


homes
[talisman]
[zoion]

Problem

Messages to chat lists which are too long simply disappear, instead of generating a bounce message about the error to the list owner.

In the mail logs, the error 511 Headers specify no receipients. appears immediately before the note Message delivered.. Normally only the latter message appears, followed by logs about individual emails being sent to list member.

Affected

  • Majordomo 1.94.4 and probably many other versions.
  • May only appear on more recent systems, since a change in PERL may be responsible.

Reproduction

It's convenient to find the logfile, configured in majordomo.cf, and enable debugging by uncommenting $DEBUG = 1; in resend. I added extra debugging lines to print $to to STDERR around the send_bounce function's call to ParseAddrs($to) which nailed down the culprit function.

Cause

ParseAddrs apparently expects a call to split() to set @_ to its result, which doesn't actually happen.

Solution

To correct the problem, locate the ParseAddrs function in majordomo.pl, specifically the line splitting $_ on commas:

    split(/,/);                         # split into parts

and modify it so that the split(/,/) explicitly assigns to @_ as shown:

    @_ = split(/,/);                    # split into parts

The resulting function:

# @addrs = &ParseAddrs($addr_list)
sub main'ParseAddrs {
    local($_) = shift;
    1 while s/\([^\(\)]*\)//g;          # strip comments
    1 while s/"[^"]*"\s//g;             # strip comments"
    @_ = split(/,/);                    # split into parts
    foreach (@_) {
        1 while s/.*<(.*)>.*/$1/;
        s/^\s+//;
        s/\s+$//;
    }
    @_;
}
disencrypt lang [de jp fr] diff backlinks (sec) validate printable
Walk without rhythm and you won't attract the worm.
[ Your browser's CSS support is broken. Upgrade! ]
alexsiodhe, alex north-keys