- From: Martin Hamilton <martin@mrrl.lut.ac.uk>
- Date: Wed, 10 Jan 1996 10:46:45 +0000
- To: http-caching@pa.dec.com
- Message-Id: <199601101046.KAA21650@gizmo.lut.ac.uk>
It turns out that Hypermail is expecting all Message-Id's to be bracketed with < and >, which I suppose is reasonable ! Paul's messages were tripping it up because their Message-Id's look like this ... Message-Id: red-16-msg960109011548MTP[01.52.00]000000b1-6598 i.e. no bracketing, no local-part "@" domain, and unquoted special characters :-( I've changed our copy of Hypermail so that it (a) tries to be more lenient in what it'll accept, and (b) puts a dummy value ("BOZO"!) into the variable it stores the Message-Id in if there's a null Message-Id. My patch is attached, in case anyone else might find it useful. It _seems_ to work! The old archive directory is now <URL:http://www.roads.lut.ac.uk/lists/http-caching.FCS/> and <URL:http://www.roads.lut.ac.uk/lists/http-caching/> now contains a freshly generated Hypermail archive which includes Paul's messages. I disabled incoming mail while this was being generated, so it should be complete Cheerio, Martin PS Paul - if that was an MS product, could you pass this message back to the developers ? Ta!
*** parse.c.FCS Wed Jan 10 08:25:50 1996 --- parse.c Wed Jan 10 08:45:37 1996 *************** *** 630,636 **** char *c; static char msgid[MSGDSTRLEN]; ! c = (char *) strchr(line, '<') + 1; for (i = 0; *c && *c != '>' && *c != '\n' && i < MSGDSTRLEN; c++) { if (*c == '\\') continue; --- 630,645 ---- char *c; static char msgid[MSGDSTRLEN]; ! if ((char *)strchr(line, '<') == NULL) { ! /* bozo alert! ! ** msg-id = "<" addr-spec ">" ! ** try to recover as best we can ! */ ! c = (char *) strchr(line, ':') + 1; /* we know this exists! */ ! while (*c && *c == ' ') c++; /* skip spaces before message ID */ ! } else { ! c = (char *) strchr(line, '<') + 1; ! } for (i = 0; *c && *c != '>' && *c != '\n' && i < MSGDSTRLEN; c++) { if (*c == '\\') continue; *************** *** 637,642 **** --- 646,653 ---- msgid[i++] = *c; } msgid[i] = '\0'; + + if (strlen(msgid) == 0) strcpy(msgid, "BOZO"); return msgid; }
Received on Wednesday, 10 January 1996 11:04:25 UTC