diff options
author | Eric Wong <e@80x24.org> | 2020-11-03 22:55:59 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2020-12-26 19:38:09 +0000 |
commit | 2fcf2b14a9ce3336af3f58fd23bc18f9a6876718 (patch) | |
tree | c116a3c62d7e96d2199ffd39c1e922f4364f4c07 | |
parent | 31f9b61a318f4daf8a6208ed4f6bc60aa355faa9 (diff) | |
download | public-inbox-2fcf2b14a9ce3336af3f58fd23bc18f9a6876718.tar.gz |
...instead of spaces. This is specified in RFC 5536 3.1.4. Include references to RFC 1036, 5536 and 5537 in our docs while we're at it. Reported-by: Andrey Melnikov <temnota.am@gmail.com> Link: https://public-inbox.org/meta/CA+PODjpUN5Q4gBFQhAzUNuMasVEdmp9f=8Uo0Ej0mFumdSwi4w@mail.gmail.com/ (cherry picked from commit 44227c2624e4f954943d632cd5335396351373be)
-rwxr-xr-x | Documentation/standards.perl | 3 | ||||
-rw-r--r-- | lib/PublicInbox/NNTP.pm | 11 |
2 files changed, 11 insertions, 3 deletions
diff --git a/Documentation/standards.perl b/Documentation/standards.perl index 0ac6cc52..1c56830e 100755 --- a/Documentation/standards.perl +++ b/Documentation/standards.perl @@ -25,6 +25,9 @@ EOF my $rfcs = [ 3977 => 'NNTP', 977 => 'NNTP (old)', + 1036 => 'Standard for Interchange of USENET Messages', + 5536 => 'Netnews Article Format', + 5537 => 'Netnews Architecture and Protocols', 6048 => 'NNTP additions to LIST command (TODO)', 8054 => 'NNTP compression', 4642 => 'NNTP TLS', diff --git a/lib/PublicInbox/NNTP.pm b/lib/PublicInbox/NNTP.pm index 102ef42c..783c0076 100644 --- a/lib/PublicInbox/NNTP.pm +++ b/lib/PublicInbox/NNTP.pm @@ -432,12 +432,17 @@ sub set_nntp_headers ($$) { $hdr->header_set('X-Alt-Message-ID', @alt); } - # clobber some + # clobber some existing headers my $ibx = $smsg->{-ibx}; my $xref = xref($smsg->{nntp}, $ibx, $smsg->{num}, $mid); $hdr->header_set('Xref', $xref); - $xref =~ s/:[0-9]+//g; - $hdr->header_set('Newsgroups', (split(/ /, $xref, 2))[1]); + + # RFC 5536 3.1.4 + my $newsgroups = (split(/ /, $xref, 2))[1]; # drop server name + $newsgroups =~ s/:[0-9]+\b//g; # drop NNTP article numbers + $newsgroups =~ tr/ /,/; + $hdr->header_set('Newsgroups', $newsgroups); + header_append($hdr, 'List-Post', "<mailto:$ibx->{-primary_address}>"); if (my $url = $ibx->base_url) { $mid = mid_escape($mid); |