diff --git a/http/sakisafe.pl b/http/sakisafe.pl index d1c73ea..73813d1 100755 --- a/http/sakisafe.pl +++ b/http/sakisafe.pl @@ -1,14 +1,20 @@ #!/usr/bin/perl # This file is part of sakisafe. +use if $^O eq "openbsd", OpenBSD::Pledge, qw(pledge); use Mojolicious::Lite -signatures; use Mojolicious::Routes::Pattern; use List::MoreUtils qw(any uniq); use MIME::Types; -use v5.36; +use experimental 'signatures'; plugin 'RenderFile'; +my $openbsd = 0; +$openbsd = 1 if $^O eq "openbsd"; +pledge("stdio cpath rpath wpath inet flock fattr") if $openbsd; +use strict; + my $MAX_SIZE = 1024 * 1024 * 100; my @BANNED = qw(); # Add banned IP addresses here @@ -72,8 +78,8 @@ get '/f/:dir/:name' => sub ($c) { my $captures = $c->req->url; $captures =~ s/^.//; my $filerender = Mojolicious::Plugin::RenderFile->new; - my ($ext) = $captures =~ /(\.[^.]+)$/; - print $ext; + my $ext = $captures; + $ext =~ s/.*\.//; $c->render_file( filepath => $captures, format => $ext, content_disposition => 'inline'