use Crypt::OpenSSL::Random;
use Crypt::OpenSSL::RSA;
use MIME::Base64;
+use MIME::Base32 qw( RFC );
use Digest::SHA;
use PVE::Tools qw(run_command lock_file file_get_contents split_list safe_print);
use PVE::Cluster qw(cfs_register_file cfs_read_file cfs_write_file cfs_lock_file);
return undef;
}
+sub assemble_spice_ticket {
+ my ($username, $path) = @_;
+
+ my $rsa_priv = get_privkey();
+
+ my $timestamp = sprintf("%08X", time());
+
+ my $plain = "PVESPICE:$timestamp";
+
+ $path = normalize_path($path);
+
+ my $full = "$plain:$path";
+
+ my $ticket = $plain . "::" . encode_base64($rsa_priv->sign($full), '');
+ return MIME::Base32::encode($ticket."::".$full);
+}
+
sub check_user_exist {
my ($usercfg, $username, $noerr) = @_;
Section: perl
Priority: optional
Architecture: @@ARCH@@
-Depends: libc6 (>= 2.3), perl (>= 5.6.0-16), libcrypt-openssl-rsa-perl, libcrypt-openssl-random-perl, libjson-xs-perl, libjson-perl, libterm-readline-gnu-perl,libnet-ldap-perl, libpve-common-perl, pve-cluster, libauthen-pam-perl
+Depends: libc6 (>= 2.3), perl (>= 5.6.0-16), libcrypt-openssl-rsa-perl, libcrypt-openssl-random-perl, libjson-xs-perl, libjson-perl, libterm-readline-gnu-perl,libnet-ldap-perl, libpve-common-perl, pve-cluster, libauthen-pam-perl , libmime-base32-perl
Maintainer: Proxmox Support Team <support@proxmox.com>
Description: Proxmox VE access control library
This package contains the role based user management and access