From f63dcea1c4e0d354c55b35b5b77c366b385df33c Mon Sep 17 00:00:00 2001 From: Alex 'AdUser' Z Date: Sat, 1 Aug 2020 02:37:59 +1000 Subject: [PATCH] * upgrade to mojo/8 --- lib/LDV.pm | 2 +- lib/LDV/Filebin.pm | 7 ++----- lib/LDV/Zerobin.pm | 5 +++-- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/lib/LDV.pm b/lib/LDV.pm index f037f2f..dbed5ce 100644 --- a/lib/LDV.pm +++ b/lib/LDV.pm @@ -83,7 +83,7 @@ sub startup { $fb->get ('/latest') -> to(action => 'latest') if $conf->{show_latest}; - mkdir $self->app->home->rel_dir('public/files'); + mkdir $self->app->home->child('public', 'files'); $ENV{MOJO_MAX_MESSAGE_SIZE} = $conf->{file_maxsize} + 2 * 1024 * 1024; # +2Mb } } diff --git a/lib/LDV/Filebin.pm b/lib/LDV/Filebin.pm index 063856d..2587861 100644 --- a/lib/LDV/Filebin.pm +++ b/lib/LDV/Filebin.pm @@ -67,11 +67,8 @@ sub save { die "no file uploaded\n" unless ($upload and $upload->size > 0); die "file too large\n" if ($upload->size > $conf->{file_maxsize}); - { # hack: don't use memory backend - my $path = POSIX::tmpnam; - $upload->move_to($path); - $upload->asset(Mojo::Asset::File->new(path => $path)); - $upload->asset->cleanup(1); # rearm self-destruction + unless ($upload->asset->is_file) { + $upload->asset->to_file; } my $file = { diff --git a/lib/LDV/Zerobin.pm b/lib/LDV/Zerobin.pm index 9c7d99c..6b7816c 100644 --- a/lib/LDV/Zerobin.pm +++ b/lib/LDV/Zerobin.pm @@ -4,7 +4,8 @@ use strict; use warnings; use utf8; -use POSIX qw(strftime tmpnam); +use POSIX qw(strftime); +use File::Temp qw(tempfile); use Mojo::Base 'Mojolicious::Controller'; use Mojo::Asset::File; use Mojo::Util qw(b64_encode b64_decode decode encode); @@ -97,7 +98,7 @@ sub save { die("empty paste\n") unless $paste; } elsif ($source eq 'file') { require File::MimeInfo::Magic; - my $tmpfile = tmpnam(); + my ($fh, $tmpfile) = tempfile(); my $maxsize = $self->app->config->{zerobin}->{maxsize}; my $upload = $self->req->upload('file'); die("empty uploaded file\n")