X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FNNTP.pm;h=d106e3158e32f73396c33585bbebf9772849456e;hb=5769d488526b88a394b4b6741e77dd0e7441d248;hp=57a67a50ff8475f1882a4aa6a90aa2e477c1d4cc;hpb=38ba41513ee4c42414fbfadb6e6d2bf281fbedfd;p=public-inbox.git diff --git a/lib/PublicInbox/NNTP.pm b/lib/PublicInbox/NNTP.pm index 57a67a50..d106e315 100644 --- a/lib/PublicInbox/NNTP.pm +++ b/lib/PublicInbox/NNTP.pm @@ -31,6 +31,14 @@ my @OVERVIEW = qw(Subject From Date Message-ID References Xref); my $OVERVIEW_FMT = join(":\r\n", @OVERVIEW, qw(Bytes Lines)) . ":\r\n"; my $LIST_HEADERS = join("\r\n", @OVERVIEW, qw(:bytes :lines Xref To Cc)) . "\r\n"; +my $CAPABILITIES = <<""; +101 Capability list:\r +VERSION 2\r +READER\r +NEWNEWS\r +LIST ACTIVE ACTIVE.TIMES NEWSGROUPS OVERVIEW.FMT\r +HDR\r +OVER\r my $EXPMAP; # fd -> [ idle_time, $self ] my $expt; @@ -121,6 +129,17 @@ sub process_line ($$) { res($self, $res); } +# The keyword argument is not used (rfc3977 5.2.2) +sub cmd_capabilities ($;$) { + my ($self, undef) = @_; + my $res = $CAPABILITIES; + if (ref($self->{sock}) ne 'IO::Socket::SSL' && + $self->{nntpd}->{accept_tls}) { + $res .= "STARTTLS\r\n"; + } + $res .= '.'; +} + sub cmd_mode ($$) { my ($self, $arg) = @_; $arg = uc $arg;