mirror of
https://github.com/webmin/webmin.git
synced 2026-02-09 16:52:19 +00:00
42 lines
1.1 KiB
Perl
Executable File
42 lines
1.1 KiB
Perl
Executable File
#!/usr/local/bin/perl
|
|
# change_proxy.cgi
|
|
# Change proxy settings
|
|
|
|
require './webmin-lib.pl';
|
|
&error_setup($text{'proxy_err'});
|
|
&ReadParse();
|
|
|
|
&lock_file("$config_directory/config");
|
|
if ($in{'http_def'}) { delete($gconfig{'http_proxy'}); }
|
|
elsif ($in{'http'} !~ /^http:\/\/(\S+):(\d+)/) {
|
|
&error(&text('proxy_ehttp2', "http://proxy.foo.com:8080/"));
|
|
}
|
|
else { $gconfig{'http_proxy'} = $in{'http'}; }
|
|
|
|
if ($in{'ftp_def'}) { delete($gconfig{'ftp_proxy'}); }
|
|
elsif ($in{'ftp'} !~ /^http:\/\/(\S+):(\d+)/) {
|
|
&error(&text('proxy_eftp2', "http://proxy.foo.com:8080/"));
|
|
}
|
|
else { $gconfig{'ftp_proxy'} = $in{'ftp'}; }
|
|
|
|
if ($in{'bind_def'}) {
|
|
delete($gconfig{'bind_proxy'});
|
|
}
|
|
else {
|
|
&check_ipaddress($in{'bind'}) || &error($text{'proxy_ebind'});
|
|
$gconfig{'bind_proxy'} = $in{'bind'};
|
|
}
|
|
$gconfig{'proxy_fallback'} = $in{'fallback'};
|
|
|
|
$gconfig{'proxy_user'} = $in{'puser'};
|
|
$gconfig{'proxy_pass'} = $in{'ppass'};
|
|
$gconfig{'noproxy'} = $in{'noproxy'};
|
|
|
|
# Write out the config
|
|
&write_file("$config_directory/config", \%gconfig);
|
|
&unlock_file("$config_directory/config");
|
|
&webmin_log('proxy', undef, undef, \%in);
|
|
|
|
&redirect("");
|
|
|