fix #1819: fork_worker: ensure sync'ed workers control terminal
[pve-common.git] / src / PVE / Ticket.pm
index 76d2ea5..e9f8e3f 100644 (file)
@@ -6,14 +6,15 @@ use warnings;
 use Crypt::OpenSSL::Random;
 use Crypt::OpenSSL::RSA;
 use MIME::Base64;
-use MIME::Base32; #libmime-base32-perl
 use Digest::SHA;
 use Time::HiRes qw(gettimeofday);
 
-use PVE::Exception qw(raise_perm_exc);
+use PVE::Exception qw(raise);
 
 Crypt::OpenSSL::RSA->import_random_seed();
 
+use constant HTTP_UNAUTHORIZED => 401;
+
 sub assemble_csrf_prevention_token {
     my ($secret, $username) = @_;
 
@@ -39,7 +40,8 @@ sub verify_csrf_prevention_token {
            ($age < $max_age);
     }
 
-    raise_perm_exc("Permission denied - invalid csrf token") if !$noerr;
+    raise("Permission denied - invalid csrf token\n", code => HTTP_UNAUTHORIZED)
+       if !$noerr;
 
     return undef;
 }
@@ -91,7 +93,8 @@ sub verify_rsa_ticket {
        }
     }
 
-    raise_perm_exc("permission denied - invalid $prefix ticket") if !$noerr;
+    raise("permission denied - invalid $prefix ticket\n", code => HTTP_UNAUTHORIZED)
+       if !$noerr;
 
     return undef;
 }