about summary refs log tree commit homepage
path: root/lib
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2015-09-22 10:09:47 +0000
committerEric Wong <e@80x24.org>2015-09-22 22:12:20 +0000
commitb25ee445c9c66d8e41b889196668bf2b26a54d53 (patch)
treeea4324d6667672c9a5a3ce12b901deef9fdc7b0f /lib
parent3c37d760722019323168cf2cd6425c0fddd76b0c (diff)
downloadpublic-inbox-b25ee445c9c66d8e41b889196668bf2b26a54d53.tar.gz
We'll require some modifications for HDR support, though.
Diffstat (limited to 'lib')
-rw-r--r--lib/PublicInbox/NNTP.pm13
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