Version:
majordomo 1.90
Problem:
approve doesn't find the password for a list I run if I run approve on
the same machine as that on which I host the list.
Description:
approve looks for passwords in .majordomo and adds them to the $passwd
array like this:
split;
$l = $_[0]; $l =~ tr/A-Z/a-z/; # list
$p = $_[1]; # password
$m = $_[2]; $m =~ tr/A-Z/a-z/; # majordomo@site
split(/@/, $m);
$s = $_[1]; $s =~ tr/A-Z/a-z/; # site
$passwd{$l} = $p;
$passwd{"$l@$m"} = $p;
$passwd{"$l@$s"} = $p;
So, if my .majordomo entry looks like this:
mylist mypass majordomo@primate.wisc.edu
then three entries are added:
$passwd{"mylist"} = "mypass";
$passwd{"mylist@majordomo@primate.wisc.edu"} = "mypass";
$passwd{"mylist@primate.wisc.edu"} = "mypass";
When approve checks for a valid password, it does this:
$passwd = $passwd{"$list@$reply_to"};
if (! $passwd) {
warn("no password for list $list; skipping \"$_\"");
next;
}
However, when I receive the message that I'm shoving through approve,
the Reply-To: address is simply "majordomo" (because the machine on which
majordomo is running and from which I manage the list are the same). I
suppose approve is expecting $reply_to to be "majordomo@primate.wisc.edu"
but that isn't true for me. None of the $passwd{} entries it constructs
from my .majordomo entry match.
I suppose I could reconfigure my mailer to add my domain to local addresses
but that's unappealing. I'm a little surprised that approve's expecting
the full reply-to in the $passwd{} key. It appears from that approve (and
bounce) in most instances just check $passwd{$list}. That would work in
my case, so I'll probably hack my copy of approve, but I'm wondering if
other people have seen this and whether there's a more proper solution.
Paul DuBois
dubois@primate.wisc.edu
Follow-Ups:
|
|