From c6d9941e809041a6f6abaf218e2192b3ffa696ce Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 19 Sep 2015 02:03:33 +0000 Subject: nntp: XOVER does not require range XOVER uses the current article if no range is given as stipulated in RFC 2980. --- lib/PublicInbox/NNTP.pm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'lib') diff --git a/lib/PublicInbox/NNTP.pm b/lib/PublicInbox/NNTP.pm index 7a735735..8275ef08 100644 --- a/lib/PublicInbox/NNTP.pm +++ b/lib/PublicInbox/NNTP.pm @@ -434,7 +434,7 @@ sub cmd_help ($) { '.' } -sub get_range ($;$) { +sub get_range ($$) { my ($self, $range) = @_; my $ng = $self->{ng} or return '412 no news group has been selected'; defined $range or return '420 No article(s) selected'; @@ -508,11 +508,7 @@ sub long_response ($$$$) { sub cmd_xhdr ($$;$) { my ($self, $header, $range) = @_; defined $self->{ng} or return '412 no news group currently selected'; - unless (defined $range) { - defined($range = $self->{article}) or - return '420 no current article has been selected'; - } - if ($range =~ /\A<(.+)>\z/) { # Message-ID + if (defined $range && $range =~ /\A<(.+)>\z/) { # Message-ID my $r = $self->art_lookup($range, 2); return $r unless ref $r; more($self, '221 Header follows'); @@ -521,6 +517,7 @@ sub cmd_xhdr ($$;$) { } '.'; } else { # numeric range + $range = $self->{article} unless defined $range; my $r = get_range($self, $range); return $r unless ref $r; my ($beg, $end) = @$r; @@ -537,6 +534,7 @@ sub cmd_xhdr ($$;$) { sub cmd_xover ($;$) { my ($self, $range) = @_; + $range = $self->{article} unless defined $range; my $r = get_range($self, $range); return $r unless ref $r; my ($beg, $end) = @$r; -- cgit v1.2.3-24-ge0c7