Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!thunder.mcrcim.mcgill.edu!snorkelwacker.mit.edu!apple!usc!elroy.jpl.nasa.gov!sdd.hp.com!spool2.mu.edu!uunet!mcsun!ukc!tcdcs!dce.ie!em From: em@dce.ie (Eamonn McManus) Newsgroups: comp.sources.bugs Subject: trn valid_message_id() rejects valid message ids Message-ID: Date: 10 Jan 91 19:13:55 GMT Organization: Datacode Communications Ltd, Dublin, Ireland Lines: 33 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 <...@...>, 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@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 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 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