about summary refs log tree commit homepage
path: root/lib/PublicInbox/NNTP.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/PublicInbox/NNTP.pm')
-rw-r--r--lib/PublicInbox/NNTP.pm10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/PublicInbox/NNTP.pm b/lib/PublicInbox/NNTP.pm
index 783c0076..2f821fa6 100644
--- a/lib/PublicInbox/NNTP.pm
+++ b/lib/PublicInbox/NNTP.pm
@@ -415,10 +415,6 @@ sub set_nntp_headers ($$) {
         my ($hdr, $smsg) = @_;
         my ($mid) = $smsg->{mid};
 
-        # why? leafnode requires a Path: header for some inexplicable
-        # reason.  We'll fake the shortest one possible.
-        $hdr->header_set('Path', 'y');
-
         # leafnode (and maybe other NNTP clients) have trouble dealing
         # with v2 messages which have multiple Message-IDs (either due
         # to our own content-based dedupe or buggy git-send-email versions).
@@ -438,11 +434,15 @@ sub set_nntp_headers ($$) {
         $hdr->header_set('Xref', $xref);
 
         # RFC 5536 3.1.4
-        my $newsgroups = (split(/ /, $xref, 2))[1]; # drop server name
+        my ($server_name, $newsgroups) = split(/ /, $xref, 2);
         $newsgroups =~ s/:[0-9]+\b//g; # drop NNTP article numbers
         $newsgroups =~ tr/ /,/;
         $hdr->header_set('Newsgroups', $newsgroups);
 
+        # *something* here is required for leafnode, try to follow
+        # RFC 5536 3.1.5...
+        $hdr->header_set('Path', $server_name . '!not-for-mail');
+
         header_append($hdr, 'List-Post', "<mailto:$ibx->{-primary_address}>");
         if (my $url = $ibx->base_url) {
                 $mid = mid_escape($mid);