Subj : message-id To : Andrew Clarke From : Charles Cruden Date : Wed Oct 30 2002 08:51 pm > FTS-9 MSGIDs are not unique enough to be accurately relied upon. In > particular you the operator of a system runs the risk of generating > duplicate MSGIDs when using two or more different programs concurrently > that generate one, particularly when those programs use C's time(NULL) > function as a seed value to generate the hex value of the MSGID, which > is quite common. time(NULL) can differ greatly between implementations. As a general rule, implementations for specific languages shouldn't be mentioned in documents. I'd avoid this particular comment especially, since it makes no sense. (time(NULL) must, by definition, be the same in any implementation.) > [\x01Message-ID:][space][YYYY][MM][DD][HH][MM][SS][RR...][space][address][ne > ne] Really, there's no point in having the time in there at all. You can tell when the message was written by its timestamp, and as you pointed out above, times are no guarantee of generating a unique ID. It still all comes down to the [RR] field at the end. For that matter, there's not much point in having the originating address in the spec either. That's specified elsewhere, is open to misinterpretation and abuse, and is, in particular, used for different purposes in different implementations. (FTS-9 specifically does not specify what the originating address format is, and gating software has put this to good use in assigning originating addresses which reflect the internet address of the message rather than the Fido one.) > This format is similar to that used in Internet mail. IMHO, you're just tampering with a good thing, i.e. the internet style Message-ID line. Simply, make it: Message-ID: where is *ANY* string not containing a newline or a ^A. Provide the time thing as a suggestion for helping to generate unique IDs, but also point out that time alone is no guarantee. Beyond that, let the implementor choose his/her own method. Another possible note is that IDs which satisfy the MSGID standard are a strict subset of this one. --- * Origin: Xanadu: an odd little spot in Edmonton, Alberta (1:342/806) .