# HG changeset patch # User Ivo Smits # Date 1302567802 -7200 # Node ID 5d62af5270ddc08d6e3230f59d3af0e2ec96105a # Parent dc5a8e316e21461c3c8730456523fc02f434a536 Small bugfix in server STAT command (no data follows, so don't send a dot) diff -r dc5a8e316e21 -r 5d62af5270dd server.php --- a/server.php Tue Apr 12 01:53:31 2011 +0200 +++ b/server.php Tue Apr 12 02:23:22 2011 +0200 @@ -58,16 +58,16 @@ $article = nntp_get_article(strtok(" \t")); if ($article === NULL) break; switch ($cmd) { - case 'STAT': nntp_writeline(STDOUT, '223 '.$article['messagenumber'].' <'.$article['messageid'].'> stat'); break; + case 'ARTICLE': nntp_writeline(STDOUT, '220 '.$article['messagenumber'].' <'.$article['messageid'].'> article'); break; case 'HEAD': nntp_writeline(STDOUT, '221 '.$article['messagenumber'].' <'.$article['messageid'].'> head'); break; case 'BODY': nntp_writeline(STDOUT, '222 '.$article['messagenumber'].' <'.$article['messageid'].'> body'); break; - case 'ARTICLE': nntp_writeline(STDOUT, '220 '.$article['messagenumber'].' <'.$article['messageid'].'> article'); break; + case 'STAT': nntp_writeline(STDOUT, '223 '.$article['messagenumber'].' <'.$article['messageid'].'> stat'); break; default: throw new Exception('Internal error'); } if ($cmd == 'HEAD' || $cmd == 'ARTICLE') foreach (explode("\r\n", $article['header']) as $line) nntp_writeline(STDOUT, $line); if ($cmd == 'ARTICLE') nntp_writeline(STDOUT, ''); if ($cmd == 'BODY' || $cmd == 'ARTICLE') foreach (explode("\r\n", $article['body']) as $line) nntp_writeline(STDOUT, $line); - nntp_writeline(STDOUT, '.'); + if ($cmd != 'STAT') nntp_writeline(STDOUT, '.'); break; case 'LAST': case 'NEXT': diff -r dc5a8e316e21 -r 5d62af5270dd todo.txt --- a/todo.txt Tue Apr 12 01:53:31 2011 +0200 +++ b/todo.txt Tue Apr 12 02:23:22 2011 +0200 @@ -1,4 +1,4 @@ - Make sure that group article numbers are never reused, not even if the last one is deleted (groupmessages table) - Support IHAVE command to speed up synchronization -- Check Message-Id header in articles received from peers - Handle received cross-posted messages (according to Newsgroups header) +- Add script for re-indexing articles (based on Newsgroups header)