Hunk #1/2 - Default memory limit is too low, various tests fail with 16MB. 32MB still has a failure in t/240abort.t but most things work ok and 240abort.t represents an unusual situation. (It can be made to work with 64MB in perl 5.28 - earlier perl needs even more). Hunk #3 - Typo found by newer perl's "Unescaped left brace in regex" deprecation warning. Index: lib/Net/FTPServer.pm --- lib/Net/FTPServer.pm.orig +++ lib/Net/FTPServer.pm @@ -358,7 +358,7 @@ process and are important in avoiding denial of servic attacks against the FTP server. Resource Default Unit - limit memory 16384 KBytes Amount of memory per child + limit memory 32768 KBytes Amount of memory per child limit nr processes 10 (none) Number of processes limit nr files 20 (none) Number of open files @@ -367,7 +367,7 @@ limit to C<-1>. Example: - limit memory: 32768 + limit memory: 65536 limit nr processes: 20 limit nr files: 40 @@ -2680,7 +2680,7 @@ sub run # Perform normal per-process limits. if ($r == 0) { - my $limit = 1024 * ($self->config ("limit memory") || 16384); + my $limit = 1024 * ($self->config ("limit memory") || 32768); $self->_set_rlimit ("RLIMIT_DATA", $limit) if $limit >= 0; $limit = $self->config ("limit nr processes") || 10; @@ -6688,7 +6688,7 @@ sub _LANG_command # (b) there are all sorts of possible libc exploits available if # the user is allowed to set this to arbitrary values. unless (length ($rest) <= 8 && - $rest =~ /^[A-Z]{1,8}(-[A-Z]{1-8})*$/i) + $rest =~ /^[A-Z]{1,8}(-[A-Z]{1,8})*$/i) { $self->reply (504, "Incorrect language."); return;