Skip to content

Commit 00a0079

Browse files
committed
Fix to rely on a new stock Webmin Nginx module
* Note: Make Virtualmin Nginx SSL depend on the stock Webmin Nginx module
1 parent 4c8c2cc commit 00a0079

3 files changed

Lines changed: 37 additions & 35 deletions

File tree

module.info

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
desc=Nginx Webserver SSL
1+
desc=Virtualmin Nginx Webserver SSL
22
category=servers
33
version=1.31
44
readonly=1
5-
depends=virtualmin-nginx
5+
depends=virtualmin-nginx nginx
66
hidden=1

virtual_feature.pl

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ sub feature_import
9090
my ($dname, $user, $db) = @_;
9191
my $server = &virtualmin_nginx::find_domain_server({ 'dom' => $dname });
9292
return 0 if (!$server);
93-
foreach my $l (&virtualmin_nginx::find("listen", $server)) {
93+
foreach my $l (&nginx::find("listen", $server)) {
9494
return 1 if ($l->{'words'}->[0] =~ /:443$/);
9595
}
9696
return 0;
@@ -170,10 +170,10 @@ sub feature_setup
170170

171171
# Add to the non-SSL server block
172172
&$virtual_server::first_print($text{'feat_setup'});
173-
&virtualmin_nginx::lock_all_config_files();
173+
&nginx::lock_all_config_files();
174174
my $server = &virtualmin_nginx::find_domain_server($d);
175175
if (!$server) {
176-
&virtualmin_nginx::unlock_all_config_files();
176+
&nginx::unlock_all_config_files();
177177
&$virtual_server::second_print(
178178
&virtualmin_nginx::text('feat_efind', $d->{'dom'}));
179179
return 0;
@@ -211,7 +211,7 @@ sub feature_setup
211211
}
212212

213213
# Add listen line
214-
my @listen = &virtualmin_nginx::find("listen", $server);
214+
my @listen = &nginx::find("listen", $server);
215215
my ($old_ip4) = grep { $_->{'words'}->[0] eq
216216
$d->{'ip'}.":".$d->{'web_sslport'} } @listen;
217217
my $old_ip6;
@@ -242,28 +242,28 @@ sub feature_setup
242242
}
243243
if (!$old_ip6 && $d->{'ip6'}) {
244244
if ($d->{'virt6'}) {
245-
push(@sslopts, &virtualmin_nginx::get_default_server_param());
245+
push(@sslopts, &nginx::get_default_server_param());
246246
}
247247
push(@listen, { 'name' => 'listen',
248248
'words' => [ "[".$d->{'ip6'}."]:".$d->{'web_sslport'},
249249
@sslopts ]});
250250
}
251251
}
252-
&virtualmin_nginx::save_directive($server, "listen", \@listen);
252+
&nginx::save_directive($server, "listen", \@listen);
253253

254254
# Enable SSL
255-
&virtualmin_nginx::save_directive($server, "ssl_certificate",
255+
&nginx::save_directive($server, "ssl_certificate",
256256
[ $d->{'ssl_cert'} ]);
257-
&virtualmin_nginx::save_directive($server, "ssl_certificate_key",
257+
&nginx::save_directive($server, "ssl_certificate_key",
258258
[ $d->{'ssl_key'} ]);
259259
if ($d->{'ssl_chain'}) {
260260
# Add chained cert to main cert file
261261
&virtualmin_nginx::feature_save_web_ssl_file(
262262
$d, 'ca', $d->{'ssl_chain'});
263263
}
264264

265-
&virtualmin_nginx::flush_config_file_lines();
266-
&virtualmin_nginx::unlock_all_config_files();
265+
&nginx::flush_config_file_lines();
266+
&nginx::unlock_all_config_files();
267267
&virtual_server::register_post_action(\&virtualmin_nginx::print_apply_nginx);
268268

269269
# Add cert in Webmin, Dovecot, etc..
@@ -292,7 +292,7 @@ sub feature_modify
292292
{
293293
my ($d, $oldd) = @_;
294294

295-
&virtualmin_nginx::lock_all_config_files();
295+
&nginx::lock_all_config_files();
296296
my $changed = 0;
297297

298298
# Update port, if changed
@@ -304,7 +304,7 @@ sub feature_modify
304304
&virtualmin_nginx::text('feat_efind', $d->{'dom'}));
305305
return 0;
306306
}
307-
my @listen = &virtualmin_nginx::find("listen", $server);
307+
my @listen = &nginx::find("listen", $server);
308308
my @newlisten;
309309
foreach my $l (@listen) {
310310
my @w = @{$l->{'words'}};
@@ -318,7 +318,7 @@ sub feature_modify
318318
}
319319
push(@newlisten, { 'words' => \@w });
320320
}
321-
&virtualmin_nginx::save_directive($server, "listen", \@newlisten);
321+
&nginx::save_directive($server, "listen", \@newlisten);
322322
&$virtual_server::second_print(
323323
$virtual_server::text{'setup_done'});
324324
$changed++;
@@ -427,8 +427,8 @@ sub feature_modify
427427
&virtual_server::sync_domain_tlsa_records($d);
428428

429429
# Flush files and restart
430-
&virtualmin_nginx::flush_config_file_lines();
431-
&virtualmin_nginx::unlock_all_config_files();
430+
&nginx::flush_config_file_lines();
431+
&nginx::unlock_all_config_files();
432432
if ($changed) {
433433
&virtual_server::register_post_action(
434434
\&virtualmin_nginx::print_apply_nginx);
@@ -441,25 +441,25 @@ sub feature_delete
441441
{
442442
my ($d) = @_;
443443
&$virtual_server::first_print($text{'feat_delete'});
444-
&virtualmin_nginx::lock_all_config_files();
444+
&nginx::lock_all_config_files();
445445
my $server = &virtualmin_nginx::find_domain_server($d);
446446
if (!$server) {
447-
&virtualmin_nginx::unlock_all_config_files();
447+
&nginx::unlock_all_config_files();
448448
&$virtual_server::second_print(
449449
&virtualmin_nginx::text('feat_efind', $d->{'dom'}));
450450
return 0;
451451
}
452452

453453
# Turn off ssl
454-
&virtualmin_nginx::save_directive($server, "ssl", [ ]);
455-
&virtualmin_nginx::save_directive($server, "ssl_certificate", [ ]);
456-
&virtualmin_nginx::save_directive($server, "ssl_certificate_key", [ ]);
454+
&nginx::save_directive($server, "ssl", [ ]);
455+
&nginx::save_directive($server, "ssl_certificate", [ ]);
456+
&nginx::save_directive($server, "ssl_certificate_key", [ ]);
457457

458458
# Remove SSL port listens
459-
my @listen = &virtualmin_nginx::find("listen", $server);
459+
my @listen = &nginx::find("listen", $server);
460460
my @newlisten;
461461
foreach my $l (@listen) {
462-
my ($lip, $lport) = &virtualmin_nginx::split_ip_port(
462+
my ($lip, $lport) = &nginx::split_ip_port(
463463
$l->{'words'}->[0]);
464464
if (&indexof("ssl", @{$l->{'words'}}) >= 0 ||
465465
$lip && $lport &&
@@ -470,10 +470,10 @@ sub feature_delete
470470
push(@newlisten, $l);
471471
}
472472
}
473-
&virtualmin_nginx::save_directive($server, "listen", \@newlisten);
473+
&nginx::save_directive($server, "listen", \@newlisten);
474474

475-
&virtualmin_nginx::flush_config_file_lines();
476-
&virtualmin_nginx::unlock_all_config_files();
475+
&nginx::flush_config_file_lines();
476+
&nginx::unlock_all_config_files();
477477
&virtual_server::register_post_action(\&virtualmin_nginx::print_apply_nginx);
478478

479479
# If any other domains were using this one's SSL cert or key, break the linkage
@@ -503,7 +503,7 @@ sub feature_validate
503503
"<tt>".&virtual_server::show_domain_name($d)."</tt>") if (!$server);
504504

505505
# Check for IPs and port
506-
my @listen = &virtualmin_nginx::find_value("listen", $server);
506+
my @listen = &nginx::find_value("listen", $server);
507507
my $found = 0;
508508
foreach my $l (@listen) {
509509
$found++ if ($l eq $d->{'ip'} &&
@@ -530,7 +530,7 @@ sub feature_validate
530530
}
531531

532532
# Make sure cert file exists
533-
my $cert = &virtualmin_nginx::find_value("ssl_certificate", $server);
533+
my $cert = &nginx::find_value("ssl_certificate", $server);
534534
if (!$cert) {
535535
return &text('feat_esslcert');
536536
}
@@ -539,7 +539,7 @@ sub feature_validate
539539
}
540540

541541
# Make sure key exists
542-
my $key = &virtualmin_nginx::find_value("ssl_certificate_key", $server);
542+
my $key = &nginx::find_value("ssl_certificate_key", $server);
543543
if (!$key) {
544544
return &text('feat_esslkey');
545545
}

virtualmin-nginx-ssl-lib.pl

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,18 @@
99
&init_config();
1010
our (%config, %text, %in, $module_root_directory);
1111

12+
&foreign_require("nginx");
13+
1214
# find_listen_clash(ip, port)
1315
# Find a server listening on the given IP and port
1416
sub find_listen_clash
1517
{
1618
my ($ip, $port) = @_;
17-
my $conf = &virtualmin_nginx::get_config();
18-
my $http = &virtualmin_nginx::find("http", $conf);
19-
foreach my $s (&virtualmin_nginx::find("server", $http)) {
20-
foreach my $l (&virtualmin_nginx::find_value("listen", $s)) {
21-
my ($lip, $lport) = &virtualmin_nginx::split_ip_port($l);
19+
my $conf = &nginx::get_config();
20+
my $http = &nginx::find("http", $conf);
21+
foreach my $s (&nginx::find("server", $http)) {
22+
foreach my $l (&nginx::find_value("listen", $s)) {
23+
my ($lip, $lport) = &nginx::split_ip_port($l);
2224
if ($lip && $lip eq $ip && $lport == $port) {
2325
return $s;
2426
}

0 commit comments

Comments
 (0)