Sten <[EMAIL PROTECTED]> wrote:

>>>>>> Dave Sill writes:
>
>DS> "message id" does the trick.
>
>       Not any better than 'message-id'.  It finds what it should,
>but also tosses in extraneous messages (like
>http://www.ornl.gov/its/archives/mailing-lists/qmail/2000/03/msg00099.html 
>- 'id' doesn't even appear as a substring in that message).  I'm
>guessing that 'id' (and 'message-id') are matching the header field,
>which doesn't get displayed.

No, the search engine indexes what you see. I suspect it ignores the
"id" since it's only two characters. :-(

>DS> qmail's message ID's are of the form
>DS> timestamp.pid.qmail@hostname. The only way you could get a
>DS> duplicate would be if the same process ID is reused twice within
>DS> the same second (the resolution of the timestamp) to send
>DS> different messages to the same user.
>
>       Are you sure of that?

Yes. See the source code for msgidfmt in newfield.c.

>It looks like the headers may have been 
>lost (I should have known better than to leave the 'From ' lines
>unaltered), but the lines which would seem to be relevant are:
>
>Received: (qmail 28582 invoked by uid 99); 1 Aug 2000 02:20:39 -0000 
>Message-ID: <[EMAIL PROTECTED]>
>
>       and
>
>Received: (qmail 28583 invoked by uid 99); 1 Aug 2000 02:20:39 -0000
>Message-ID: <[EMAIL PROTECTED]>
>
>       I can see the timestamp in the message ID, but the process IDs
>doesn't seem to match up.

The process ID in the message ID is that of the process that created
the message ID. Since qmail is modular, many different processes may
touch a message before it's delivered. It's qmail-inject that calls
msgidfmt (indirectly).

>DS> One fix would be to increase the resolution of the timestamp to,
>DS> say, the millisecond.
>
>       Would that be something that can be changed in the
>configuration, or would it require a recompile?

It would take a source code change and recompile. Doesn't look too
hard, though.

-Dave

Reply via email to