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,
};
if (defined($proxyconf->{DHPARAMS})) {
$self->{server_config}->{ssl}->{dh_file} = $proxyconf->{DHPARAMS};
}
+ if (defined($proxyconf->{DISABLE_TLS_1_2})) {
+ $self->{server_config}->{ssl}->{tlsv1_2} = !$proxyconf->{DISABLE_TLS_1_2};
+ }
+ if (defined($proxyconf->{DISABLE_TLS_1_3})) {
+ $self->{server_config}->{ssl}->{tlsv1_3} = !$proxyconf->{DISABLE_TLS_1_3};
+ }
}
sub run {
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})) {
$version = $1;
};
+ my $cfg = PMG::Config->new();
+ my $quarantinelink = $cfg->get('spamquar', 'quarantinelink');
$username = '' if !$username;
debug => $args->{debug} || $server->{debug},
version => $version,
wtversion => $wtversion,
+ quarantinelink => $quarantinelink,
};
my $template_name;