diff options
author | Eric Wong <e@80x24.org> | 2015-09-22 10:09:47 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2015-09-22 22:12:20 +0000 |
commit | b25ee445c9c66d8e41b889196668bf2b26a54d53 (patch) | |
tree | ea4324d6667672c9a5a3ce12b901deef9fdc7b0f /lib | |
parent | 3c37d760722019323168cf2cd6425c0fddd76b0c (diff) | |
download | public-inbox-b25ee445c9c66d8e41b889196668bf2b26a54d53.tar.gz |
We'll require some modifications for HDR support, though.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/PublicInbox/NNTP.pm | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/lib/PublicInbox/NNTP.pm b/lib/PublicInbox/NNTP.pm index 1286b706..c8ef01e2 100644 --- a/lib/PublicInbox/NNTP.pm +++ b/lib/PublicInbox/NNTP.pm @@ -546,9 +546,10 @@ sub xhdr_message_id ($$) { # optimize XHDR Message-ID [range] for slrnpull. my $mm = $self->{ng}->mm; if (defined $range && $range =~ /\A<(.+)>\z/) { # Message-ID - my $n = $mm->num_for($range); + my $n = $mm->num_for($1); + return '430 No article with that message-id' unless $n; more($self, '221 Header follows'); - more($self, "<$range> <$range>") if defined $n; + more($self, "$range $range"); '.'; } else { # numeric range $range = $self->{article} unless defined $range; @@ -575,9 +576,9 @@ sub xhdr_xref ($$) { # optimize XHDR Xref [range] for rtin my $ng = $self->{ng}; my $mm = $ng->mm; if (defined $range && $range =~ /\A<(.+)>\z/) { # Message-ID - my $n = $mm->num_for($range); + my $n = $mm->num_for($1); more($self, '221 Header follows'); - more($self, "<$range> ".xref($ng, $n)) if defined $n; + more($self, "$range ".xref($ng, $n)) if defined $n; '.'; } else { # numeric range $range = $self->{article} unless defined $range; @@ -655,12 +656,12 @@ sub cmd_xhdr ($$;$) { sub xhdr_slow ($$$) { my ($self, $header, $range) = @_; - if (defined $range && $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'); if (defined($r = xhdr($r, $header))) { - more($self, "<$range> $r"); + more($self, "$range $r"); } '.'; } else { # numeric range |