]> Sergey Matveev's repositories - public-inbox.git/commitdiff
nntp: implement LIST HEADERS
authorEric Wong <e@80x24.org>
Wed, 30 Sep 2015 21:00:24 +0000 (21:00 +0000)
committerEric Wong <e@80x24.org>
Wed, 30 Sep 2015 21:09:23 +0000 (21:09 +0000)
We shall remove slow, unoptimized headers in XHDR/HDR to avoid
becoming an easy DoS target.

lib/PublicInbox/NNTP.pm

index 142bee391d2b24ef8be2679df1ebec58decfc22e..127603942e6fafc233a852e3671e9b6c4dd091c0 100644 (file)
@@ -25,6 +25,8 @@ sub now () { clock_gettime(CLOCK_MONOTONIC) };
 
 my @OVERVIEW = qw(Subject From Date Message-ID References Bytes Lines);
 my $OVERVIEW_FMT = join(":\r\n", @OVERVIEW) . ":\r\n";
+my $LIST_HEADERS = join("\r\n", qw(Subject From Date Message-ID References
+                                 :bytes :lines Xref To Cc)) . "\r\n";
 
 # disable commands with easy DoS potential:
 # LISTGROUP could get pretty bad, too...
@@ -95,6 +97,11 @@ sub list_overview_fmt ($) {
        do_more($self, $OVERVIEW_FMT);
 }
 
+sub list_headers ($;$) {
+       my ($self) = @_;
+       do_more($self, $LIST_HEADERS);
+}
+
 sub list_active ($;$) {
        my ($self, $wildmat) = @_;
        wildmat2re($wildmat);