trn valid_message_id() rejects valid message ids
Eamonn McManus
em at dce.ie
Fri Jan 11 06:13:55 AEST 1991
When looking at message ids in References lines, trn performs a number of
checks to see if they are valid. Apart from the obvious test of
well-formedness, which ensures that each id has the form <... at ...>, it
considers invalid any id whose local part contains any lower case letter
and no digits. This is the relevant code, from mt_process.c:
/* Try to weed-out non-ids (user at domain) by looking for lower-case without
** digits in the unique portion. B news ids are all digits; standard C
** news are digits with mixed case; and Zeeff message ids are any mixture
** of digits, certain punctuation characters and upper-case.
*/
lower_case = 0;
do {
if( *start <= '9' && *start >= '0' ) {
return 1; /* RETURN */
}
lower_case = lower_case || (*start >= 'a' && *start <= 'z');
} while( ++start < mid );
return !lower_case;
As a consequence, any followup to this article <whyme at dce.ie> will be
divorced from its parent, appearing as a parallel thread if it preserves
the Subject line, or as a completely different thread if the Subject is
changed.
What I would like to know is, What is the above test trying to accomplish?
How would <user at domain> get into a References or Message-Id line in the
first place? Is there any reason why I should not hack the above code out
of mt-process.c (as in fact I have)?
,
Eamonn
More information about the Comp.sources.bugs
mailing list