List · Roadmap
STR #17
| Status: | 5 - New |
| Priority: | 3 - Moderate, e.g. unable to compile the software |
| Scope: | 3 - Applies to all machines and operating systems |
| Subsystem: | Unassigned |
| Summary: | existing Message-ID stripped and replaced |
| Version: | 1.44rc4 |
| Created By: | AdminTreenet |
| Assigned To: | Unassigned |
| Fix Version: | Unassigned |
| Update Notification: | |
Trouble Report Files:
Post File
Trouble Report Dialog:
Post Text
AdminTreenet 11:31 May 04, 2005 | again with the mail gateway. Porting a mailman list through the gateway strips existing Message-ID and adds a new group-tagged one. Leaving the References header in place this will lead directly to threading problems in usenet.
Attached are the full headers of original mail and newsd post.
|
erco 21:33 May 04, 2005 | Yes, the Message-ID is swapped out for a 'newsd' message ID to ensure the article number is embedded in the ID to ensure requests for the article by ID# can be quickly converted to a filename on the file system.
We can certainly modify it to retain the original inbound Message-ID, but I think this would create a situation that messes up the current logic in Group::FindArticleByMessageID().
Mike -- if we bring in foreign message id's, do you see a clear route to ensure this doesn't affect FindArticleByMessageID()'s logic that parses the message number from the ID? I didn't write that code, so I'm not sure what the best approach should be.
My thinking is the options are:
1) Allow foreign message-ids, but change the newsd format of message IDs to be unique, so there's no way a foreign ID can be misinterpreted as a newsd ID.
2) Disallow foreign message-ids, rewriting them (as it does now), but rethreading the messages.
#1 means that old newsd databases would have to be 'converted' to the 'new' format, which kinda sucks, but would ensure proper message threading for foreign messages. It also means that there would be more chances of the 'slow linear lookup' case in FindArticleByMessageID() being executed, if newsreaders request messages by ID instead of by number.
#2 means rethreading would need to be done on the fly, as foreign messages come in. That's tricky, because rethreading means the old IDs have to be saved 'somewhere', and the References: path would have to be rebuilt. The old IDs could be saved either in the article itself as a different name (eg. X-Original-Message-ID) or in a separate btree based ID translation file.
Mike, any suggs?
|
AdminTreenet 22:09 May 04, 2005 | I'm using leafnode as a feed distributor.
They have a directory with a file hardlink for each message-ID over to the group hierarchy and actual message file.
I'm not sure how portable this is to any other OS using newsd. But its a clean forward-compatible way to do the upgrade.
Maybe I sohould have placed this into feature-requests v2.0, but for me here its kind of urgent. |
|