
At Tue, 03 Jul 2012 16:48:43 -0400, Joshua Cranmer wrote:
On 7/3/2012 4:30 PM, Barry Warsaw wrote:
I guess one question is whether it's more work to fix Twisted's NNTP protocol support or bootstrap the whole thing from scratch async. I don't know how involved NNTP is, so a careful reading of RFC 6048 would be in order first. Last time I tried it (admittedly many years ago), Twisted was good enough for a couple of NNTP clients I tried. You mean RFC 3977--RFC 6048 only extends the LIST command.
In practice, you'd need to implement ARTICLE, HEAD, BODY, STAT, LIST, NEXT, LAST, and QUIT to be compatible with all clients (the necessary parts for readers for RFC 977). (X)OVER and the other LIST commands would be extremely nice, as would, to a lesser degree, (X)HDR, XPAT, and CAPABILITIES. Essentially, only those commands that need the READER and LIST capabilities under RFC 3977 (and their 2980 counterparts). AUTHINFO would be a good idea if you want to support password-protected archives.
RFC 3977 explicit requires the CAPABILITIES command to work for conformance. It should not be hard to implement it, so in my opinion it should be listed as required.
@TOPIC: I will try to create a async_chat wrapper for the NNTP protocol. I think that this should not be very hard. The only difficulty would be the parsing of the command with multiple lines as argument.
Alex