[Mailman-Developers] Bug? Refused subscription confirmation

Giuliano Gavazzi dev+lists at humph.com
Fri Mar 17 17:47:37 CET 2006


On 17 Mar 2006, at 16:33, Mark Sapiro wrote:

> Giuliano wrote:
>>
>> On 17 Mar 2006, at 06:37, Mark Sapiro wrote:
>>
>>> I agree that it's a bug, but I think the primary bug is in an MUA  
>>> that
>>> is generating a reply to mail
>>>
>>> From: smith at home.example
>>>
>>> and addresses it
>>>
>>> To: "smith at home.example" <smith at home.example>
>>>
>>
>> Not exactly, it does only add the local_part and without quotes.
>
>
> But does it ever do it in the case we are concerned with? Namely where
> the message is
>
> From: list-confirm+string_of_hex_digits at example.com.
>
> Note that the original regexp works as long as the MUA added stuff
> doesn't contain '+'.
>

in the case in question, if I understood you well, the MUA (it might  
be a webmail interface)
adds list-confirm+string_of_hex_digit so it does add the + and no  
quotes.

>
>> I have tested your regexp for a "regular" reply and it works. Of
>> course it does not work with that buggy format (wherever one consider
>> the bug to be...) and the fixed version is below.
>
>
> I'm not sure what "your regexp" means here. Is it the one that is
> currently in Defaults.py(.in), or my suggested change?
>
>


your suggested change.


>>> However, I have no objection to Mailman "working around" this MUA  
>>> bug
>>> :-) by changing
>>>
>>> VERP_CONFIRM_REGEXP =r'^(?P<addr>[^+]+?)\+(?P<cookie>[^@]+)@.*$'
>>>
>>> in Defaults.py.in
>>>
>>> I ask though, does anyone have a better suggestion for a replacement
>>> than
>>>
>>> VERP_CONFIRM_REGEXP = \
>>>  r'^(\s*"[^"]*")?(?P<addr>[^+]+?)\+(?P<cookie>[^@]+)@.*$'
>>>
>>> or is that OK?
>>
>> it is too specific as I said. This works instead:
>
>
> Yes, it requires quotes, but as I ask above. Does any MUA that adds
> this not put quotes around it when it contains '+'?


No, and I do not think it is required is it?

>
>
>> VERP_CONFIRM_REGEXP = r'^(\s*.*)?(?P<addr>[^+]+?)\+(?P<cookie>[^@]+)
>> @.*$'
>>
>> This was checked against many formats and  probably the simpler and
>> less reduntant:
>>
>> VERP_CONFIRM_REGEXP = r'^(.*)?(?P<addr>[^+]+?)\+(?P<cookie>[^@]+) 
>> @.*$'
>>
>> would work too. Or even:
>>
>> VERP_CONFIRM_REGEXP = r'(.*)?(?P<addr>[^+]+?)\+(?P<cookie>[^@]+)@.*$'
>>
>> as I do not see the point of checking for the line beginning.
>
>
> Well, I don't think the 'addr' field is actually used, but I think
> these suggestions eat up all but the last character of it. How about
>
> VERP_CONFIRM_REGEXP = r'(.*<)?(?P<addr>[^+]+?)\+(?P<cookie>[^@]+)@.*$'


don't know. I could test it (when I know there are no pending  
subscriptions...). I am not sure I understood what ?P means here. Is  
it a macro for "print here the value of what follows". So ?P<addr>  
prints the confirmation address minus cookie?

Giuliano


--
H U M P H
    || |||
  software

Java & C++ Server/Client/Human Interface applications on MacOS - MacOS X
http://www.humph.com/





More information about the Mailman-Developers mailing list