lib/PublicInbox/NNTP.pm | 13 +++++++++++++ diff --git a/lib/PublicInbox/NNTP.pm b/lib/PublicInbox/NNTP.pm index 939fc3a6b700bbbbaf6c4d2cd0744efe27dbfa2a..094d26dfea274e6edf30c124a802799164c341f9 100644 --- a/lib/PublicInbox/NNTP.pm +++ b/lib/PublicInbox/NNTP.pm @@ -653,6 +653,19 @@ } @OVERVIEW )); }); } +sub cmd_xpath ($$) { + my ($self, $mid) = @_; + return r501 unless $mid =~ /\A<(.+)>\z/; + $mid = $1; + my @paths; + foreach my $ng (values %{$self->{nntpd}->{groups}}) { + my $n = $ng->mm->num_for($mid); + push @paths, "$ng->{name}/$n" if defined $n; + } + return '430 no such article on server' unless @paths; + '223 '.join(' ', @paths); +} + sub res ($$) { my ($self, $line) = @_; do_write($self, $line . "\r\n");