Mercurial > hg > pnewss
comparison server.php @ 5:5d62af5270dd
Small bugfix in server STAT command (no data follows, so don't send a dot)
author | Ivo Smits <Ivo@UCIS.nl> |
---|---|
date | Tue, 12 Apr 2011 02:23:22 +0200 |
parents | 0dcdb73cbcbf |
children | 01dc7eeaf5df |
comparison
equal
deleted
inserted
replaced
4:dc5a8e316e21 | 5:5d62af5270dd |
---|---|
56 case 'BODY': | 56 case 'BODY': |
57 case 'ARTICLE': | 57 case 'ARTICLE': |
58 $article = nntp_get_article(strtok(" \t")); | 58 $article = nntp_get_article(strtok(" \t")); |
59 if ($article === NULL) break; | 59 if ($article === NULL) break; |
60 switch ($cmd) { | 60 switch ($cmd) { |
61 case 'STAT': nntp_writeline(STDOUT, '223 '.$article['messagenumber'].' <'.$article['messageid'].'> stat'); break; | 61 case 'ARTICLE': nntp_writeline(STDOUT, '220 '.$article['messagenumber'].' <'.$article['messageid'].'> article'); break; |
62 case 'HEAD': nntp_writeline(STDOUT, '221 '.$article['messagenumber'].' <'.$article['messageid'].'> head'); break; | 62 case 'HEAD': nntp_writeline(STDOUT, '221 '.$article['messagenumber'].' <'.$article['messageid'].'> head'); break; |
63 case 'BODY': nntp_writeline(STDOUT, '222 '.$article['messagenumber'].' <'.$article['messageid'].'> body'); break; | 63 case 'BODY': nntp_writeline(STDOUT, '222 '.$article['messagenumber'].' <'.$article['messageid'].'> body'); break; |
64 case 'ARTICLE': nntp_writeline(STDOUT, '220 '.$article['messagenumber'].' <'.$article['messageid'].'> article'); break; | 64 case 'STAT': nntp_writeline(STDOUT, '223 '.$article['messagenumber'].' <'.$article['messageid'].'> stat'); break; |
65 default: throw new Exception('Internal error'); | 65 default: throw new Exception('Internal error'); |
66 } | 66 } |
67 if ($cmd == 'HEAD' || $cmd == 'ARTICLE') foreach (explode("\r\n", $article['header']) as $line) nntp_writeline(STDOUT, $line); | 67 if ($cmd == 'HEAD' || $cmd == 'ARTICLE') foreach (explode("\r\n", $article['header']) as $line) nntp_writeline(STDOUT, $line); |
68 if ($cmd == 'ARTICLE') nntp_writeline(STDOUT, ''); | 68 if ($cmd == 'ARTICLE') nntp_writeline(STDOUT, ''); |
69 if ($cmd == 'BODY' || $cmd == 'ARTICLE') foreach (explode("\r\n", $article['body']) as $line) nntp_writeline(STDOUT, $line); | 69 if ($cmd == 'BODY' || $cmd == 'ARTICLE') foreach (explode("\r\n", $article['body']) as $line) nntp_writeline(STDOUT, $line); |
70 nntp_writeline(STDOUT, '.'); | 70 if ($cmd != 'STAT') nntp_writeline(STDOUT, '.'); |
71 break; | 71 break; |
72 case 'LAST': | 72 case 'LAST': |
73 case 'NEXT': | 73 case 'NEXT': |
74 if ($currentarticle === NULL) { | 74 if ($currentarticle === NULL) { |
75 nntp_writeline(STDOUT, '420 no current article has been selected'); | 75 nntp_writeline(STDOUT, '420 no current article has been selected'); |