about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2019-06-30 01:00:59 +0000
committerEric Wong <e@80x24.org>2019-06-30 22:33:17 +0000
commit38ba41513ee4c42414fbfadb6e6d2bf281fbedfd (patch)
treedfbbadd76cbccdf0babd568ba23dc10ef0582877
parent8472ccddd410a136b5aaa8bb886c7cf0dc302411 (diff)
downloadpublic-inbox-38ba41513ee4c42414fbfadb6e6d2bf281fbedfd.tar.gz
Before I figured out the long_response API, I figured there'd
be expensive, process-monopolizing commands which admins might
want to disable.  Nearly 4 years later, we've never needed it
and running a server without commands such as OVER/XOVER is
unimaginable.
-rw-r--r--lib/PublicInbox/NNTP.pm7
1 files changed, 1 insertions, 6 deletions
diff --git a/lib/PublicInbox/NNTP.pm b/lib/PublicInbox/NNTP.pm
index 26bc679f..57a67a50 100644
--- a/lib/PublicInbox/NNTP.pm
+++ b/lib/PublicInbox/NNTP.pm
@@ -32,9 +32,6 @@ my $OVERVIEW_FMT = join(":\r\n", @OVERVIEW, qw(Bytes Lines)) . ":\r\n";
 my $LIST_HEADERS = join("\r\n", @OVERVIEW,
                         qw(:bytes :lines Xref To Cc)) . "\r\n";
 
-# disable commands with easy DoS potential:
-my %DISABLED; # = map { $_ => 1 } qw(xover list_overview_fmt newnews xhdr);
-
 my $EXPMAP; # fd -> [ idle_time, $self ]
 my $expt;
 our $EXPTIME = 180; # 3 minutes
@@ -105,10 +102,9 @@ sub process_line ($$) {
         my ($self, $l) = @_;
         my ($req, @args) = split(/[ \t]/, $l);
         return 1 unless defined($req); # skip blank line
-        $req = lc($req);
         $req = eval {
                 no strict 'refs';
-                $req = $DISABLED{$req} ? undef : *{'cmd_'.$req}{CODE};
+                *{'cmd_'.lc($req)}{CODE};
         };
         return res($self, '500 command not recognized') unless $req;
         return res($self, r501) unless args_ok($req, scalar @args);
@@ -187,7 +183,6 @@ sub cmd_list ($;$$) {
                 my $arg = shift @args;
                 $arg =~ tr/A-Z./a-z_/;
                 $arg = "list_$arg";
-                return r501 if $DISABLED{$arg};
 
                 $arg = eval {
                         no strict 'refs';