From eb36df7104d27337112e2390da780e5f5759e7aa Mon Sep 17 00:00:00 2001 From: Rawley Fowler Date: Sat, 11 Mar 2023 11:22:59 -0600 Subject: [PATCH] added perl makefile --- .gitignore | 9 +++++++++ http/Makefile.PL | 13 +++++++++++++ http/sakisafe.pl | 8 ++++---- 3 files changed, 26 insertions(+), 4 deletions(-) create mode 100644 http/Makefile.PL diff --git a/.gitignore b/.gitignore index f0bf8f0..bf59535 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,12 @@ obj/ .clangd .depend http/f/* +blib/ +pm_to_blib +Makefile +Makefile.old +MANIFEST* +!MANIFEST.SKIP +META.*/ +MYMETA.* +pm_to_blib diff --git a/http/Makefile.PL b/http/Makefile.PL new file mode 100644 index 0000000..476e434 --- /dev/null +++ b/http/Makefile.PL @@ -0,0 +1,13 @@ +use ExtUtils::MakeMaker; + +WriteMakefile( + NAME => 'sakisafe', + PREREQ_PM => { + "Mojolicious" => 0, + "List::MoreUtils" => 0, + "Term::ANSIColor" => 0, + "MIME::Types" => 0, + "Path::Tiny" => 0 + }, + EXE_FILES => ['sakisafe.pl'] +); diff --git a/http/sakisafe.pl b/http/sakisafe.pl index 0f86595..7990fac 100755 --- a/http/sakisafe.pl +++ b/http/sakisafe.pl @@ -9,21 +9,20 @@ use Carp; use Term::ANSIColor; use English; use MIME::Types; +use Path::Tiny; use warnings; use experimental 'signatures'; use feature 'say'; plugin 'RenderFile'; # OpenBSD promises. -my $openbsd = 0; -$openbsd = 1 if $^O eq "openbsd"; -pledge("stdio cpath rpath wpath inet flock fattr") if $openbsd; +pledge("stdio cpath rpath wpath inet flock fattr") if $^O eq "openbsd"; # 100 MBs my $MAX_SIZE = 1024 * 1024 * 100; -my @BANNED = qw(); # Add banned IP addresses here +my @BANNED = path('banned.txt')->slurp_utf8 || qw(); # Add banned IP addresses here my $dirname; my $link; @@ -46,6 +45,7 @@ sub handle_file { status => 400 ); } + if ( List::MoreUtils::any { /$c->tx->remote_address/ } uniq @BANNED ) { $c->render( text =>