use PMG::HTTPServer;
use PMG::API2;
+use PMG::Config;
use Template;
my $lockfh = IO::File->new(">>${accept_lock_fn}") ||
die "unable to open lock file '${accept_lock_fn}' - $!\n";
- my $family = PVE::Tools::get_host_address_family($self->{nodename});
- my $socket = $self->create_reusable_socket(8006, undef, $family);
+ my $listen_ip = $proxyconf->{LISTEN_IP};
+ my $socket = $self->create_reusable_socket(8006, $listen_ip);
my $dirs = {};
add_dirs($dirs, '/pmg-docs/' => '/usr/share/pmg-docs/');
add_dirs($dirs, '/pmg-docs/api-viewer/extjs/' => $extjs_dir);
add_dirs($dirs, '/pwt/css/' => "$widgettoolkit_dir/css/");
+ add_dirs($dirs, '/pwt/images/' => "$widgettoolkit_dir/images/");
$self->{server_config} = {
title => 'Proxmox Mail Gateway API',
cert_file => '/etc/pmg/pmg-api.pem',
dh => 'skip2048',
cipher_list => $proxyconf->{CIPHERS},
+ ciphersuites => $proxyconf->{CIPHERSUITES},
honor_cipher_order => $proxyconf->{HONOR_CIPHER_ORDER},
},
compression => $proxyconf->{COMPRESSION},
'/proxmoxlib.js' => {
file => '/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js',
},
+ '/qrcode.min.js' => {
+ file => '/usr/share/javascript/qrcodejs/qrcode.min.js',
+ },
},
dirs => $dirs,
};
$lang = $newlang;
}
}
- my $ticket = PVE::APIServer::Formatter::extract_auth_cookie($cookie, $server->{cookie_name});
+ my $ticket = PVE::APIServer::Formatter::extract_auth_value($cookie, $server->{cookie_name});
if ($ticket =~ m/^PMGQUAR:/) {
$username = PMG::Ticket::verify_quarantine_ticket($ticket, 1);
} else {
- $username = PMG::Ticket::verify_ticket($ticket, 1);
+ $username = PMG::Ticket::verify_ticket($ticket, undef, 1);
}
} else {
if (defined($args->{ticket})) {
$langfile = 1;
}
+ my $wtversionraw = PVE::Tools::file_read_firstline("$widgettoolkit_dir/proxmoxlib.js");
+ my $wtversion = '';
+ if ($wtversionraw =~ m|^// (.*)$|) {
+ $wtversion = $1;
+ };
+
+ my $versionraw = PVE::Tools::file_read_firstline("$gui_base_dir/js/pmgmanagerlib.js");
+ my $version = '';
+ if ($versionraw =~ m|^// (.*)$|) {
+ $version = $1;
+ };
+
+ my $cfg = PMG::Config->new();
+ my $quarantinelink = $cfg->get('spamquar', 'quarantinelink');
+
$username = '' if !$username;
my $page = '';
console => $args->{console},
nodename => $nodename,
debug => $args->{debug} || $server->{debug},
+ version => $version,
+ wtversion => $wtversion,
+ quarantinelink => $quarantinelink,
};
my $template_name;