>>>>> "JW" == Jeff Wasilko <firstname.lastname@example.org> writes:
JW> A few minutes ago, a clueless luser managed to send in a subscribe
JW> message that looked like
JW> subscribe jewel [<jewel>] [<email@example.com>]
Doh! This shows off two deficiencies:
1. Loop detection. This is easy to fix in 1.94 with message_headers (add
an X-Majordomo: $VERSION-$LIST header or something) and taboo_headers
(check for it with /x-majordomo/i).
2. Bad address stripping. [<jewel>] is (I believe) a valid RFC822 address
and isn't the same as just plain jewel. Unfortunately the strip routine
built in to majordomo gets this wrong. Here's a comparison:
XYX:sina:~> ./strip.pl '[<jewel>]'
Orig address : [<jewel>]
Stripped address: jewel
Mailtools parse : [<jewel>]
And another badly stripped address. (Yes, it's legal.)
XYX:sina:~> ./strip.pl '"user&name"@host . dom'
Orig address : "user&name"@host . dom
Stripped address: @host . dom
Mailtools parse : "user&name"@host.dom
MailTools (actually Mail::Address->parse()) gets these right, but there's
no integrating that into Majordomo without breaking ancient perl
(i.e. perl4) compatibility. Perhaps for 2.0?
Jason L. Tibbitts III - firstname.lastname@example.org - 713/743-8684 - 221SR1
System Manager: University of Houston High Performance Computing Center
1994 PC800 "Kuroneko" DoD# 1723