-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathsave_laccess.cgi
More file actions
30 lines (24 loc) · 901 Bytes
/
save_laccess.cgi
File metadata and controls
30 lines (24 loc) · 901 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/local/bin/perl
# Save location access control
use strict;
use warnings;
require './virtualmin-nginx-lib.pl';
our (%text, %in, %access);
&lock_all_config_files();
&error_setup($text{'access_err'});
&ReadParse();
my $server = &find_server($in{'id'});
$server || &error($text{'server_egone'});
&can_edit_server($server) || &error($text{'server_ecannot'});
my $location = &find_location($server, $in{'path'});
$location || &error($text{'location_egone'});
&nginx_access_parse("allow", "deny", $location);
&nginx_realm_parse("auth_basic", $location);
&nginx_passfile_parse("auth_basic_user_file", $location);
&flush_config_file_lines();
&unlock_all_config_files();
my $name = &find_value("server_name", $server);
&webmin_log("access", "location", $location->{'words'}->[0],
{ 'server' => $name });
&redirect("edit_location.cgi?id=".&urlize($in{'id'}).
"&path=".&urlize($in{'path'}));