At 1:53 PM +0000 1/23/01, Steven Fletcher wrote:

>  Hi all,
>
>  I believe I've discovered a bug/feature that affects the message UIDL's
>  generated from within init_dropinfo(). I have tested this with both versions
>  2.53 and 3.1.2, both configured with --enable-hash-spool=2.
>
>  Causes: Messages with identical 'From' separators, Date, Message-ID, Subject
>  headers and the first line of all 'received' headers generate identical
>  UIDLs. These are *exceptional* circumstances, but are possible. The example
>  in the case that I have seen is an email sent to many addresses from a
>  yahoo.com webmail account. The recipients all pointed to the same POP3
>  maildrop on our server, and Yahoo sent each message on a separate connection
>  (i.e., the [full] received header generated by our copy of sendmail was
>  unique, but the first line of the said headers were all the same. All the
>  messages arrived at our mailserver on the same second.

In 3.x, UIDs have an extra random component, so 100% identical 
messages will get different UIDs.  The only exception is if NO_STATUS 
is set.  This prevents Qpopper from adding 'X-UIDL:' headers to the 
spool, forcing the UIDs to be recalculated each time.  In this case 
there can't be a random component, since the UIDs must be identical 
each time.

>
>  Problem: The MD5 generation only looks at the above lines(?). It would be
>  useful to reference the entire Received: header in the event that it is a
>  multi-line header. As far as I am aware, it is standard practice to split a
>  header that spans multiple lines by preceding the following line(s) with a
>  \t - perhaps it's worth having a function that is able to return fully such
>  headers so that they can be put through the digest completely.

Thanks for the suggestion.

>
>  Anyway, feel free to let me know what you lot think :).

  • UIDL Bug Steven Fletcher
    • Randall Gellens

Reply via email to