]> Sergey Matveev's repositories - public-inbox.git/commitdiff
nntp: allow multiple spaces or tabs to delimit args
authorEric Wong <e@yhbt.net>
Thu, 2 Apr 2020 00:17:13 +0000 (00:17 +0000)
committerEric Wong <e@yhbt.net>
Thu, 2 Apr 2020 17:20:53 +0000 (17:20 +0000)
While this is not a known problem in practice,
RFC 3977 section 3.1 states:

Keywords and arguments MUST each be separated by one
or more space or TAB characters.

lib/PublicInbox/NNTP.pm

index 39e2f88e5135d4e9bb08ed65e1a54b96a722c6f2..d1f75f6fc07a17e942d0c372fb114d63d8a40ac3 100644 (file)
@@ -76,7 +76,7 @@ sub args_ok ($$) {
 # returns 1 if we can continue, 0 if not due to buffered writes or disconnect
 sub process_line ($$) {
        my ($self, $l) = @_;
-       my ($req, @args) = split(/[ \t]/, $l);
+       my ($req, @args) = split(/[ \t]+/, $l);
        return 1 unless defined($req); # skip blank line
        $req = $self->can('cmd_'.lc($req));
        return res($self, '500 command not recognized') unless $req;