[ Avaa Bypassed ]




Upload:

Command:

www-data@3.144.134.101: ~ $
#!/usr/bin/perl
# save_dialer.cgi
# Save, create or delete a dialer configuration

require './ppp-client-lib.pl';
&ReadParse();
$conf = &get_config();
$dialer = $conf->[$in{'idx'}] if (!$in{'new'});

&lock_file($config{'file'});
if ($in{'delete'}) {
	# Check for any dependencies?
	&error_setup($text{'save_err2'});
	foreach $c (@$conf) {
		if (lc($c->{'values'}->{'inherits'}) eq lc($dialer->{'name'})) {
			&error(&text('save_einherits',
				     &dialer_name($c->{'name'})));
			}
		}

	# Just delete this dialer
	&delete_dialer($dialer);
	}
else {
	# Validate and store basic inputs
	&error_setup($text{'save_err'});
	if (defined($in{'dialer'})) {
		$in{'dialer'} =~ /^[^\[\]]+$/ || &error($text{'save_ename'});
		$dialer->{'name'} = "Dialer $in{'dialer'}";
		}
	elsif (defined($in{'name'})) {
		$in{'name'} =~ /^[^\[\]]+$/ || &error($text{'save_ename'});
		$dialer->{'name'} = $in{'name'};
		}
	local ($clash) = grep { lc($_->{'name'}) eq
				lc($dialer->{'name'}) } @$conf;
	if ($clash && $clash ne $dialer) {
		&error($text{'save_eclash'});
		}
	&parse_opt("Phone", \&check_phone, $text{'save_ephone'});
	&parse_opt("Username");
	&parse_opt("Password");
	&parse_opt("Dial Prefix", \&check_phone, $text{'save_eprefix'});
	&parse_yes_no("Stupid Mode");
	for($i=1; $i<=4; $i++) {
		local $other = $in{"other_$i"};
		if ($other eq '') {
			&set_config("Phone$i");
			}
		else {
			&check_phone($other) || &error(&text('save_eother',$i));
			&set_config("Phone$i", $other);
			}
		}
	&set_config("Inherits", $in{'inherits_def'} ? undef : $in{'inherits'});

	# Validate and store modem options
	if ($in{'modem'} eq '*') {
		-r $in{'otherm'} || &error($text{'save_eotherm'});
		&set_config("Modem", $in{'otherm'});
		}
	elsif ($in{'modem'} eq '') {
		&set_config("Modem");
		}
	else {
		&set_config("Modem", $in{'modem'});
		}
	&parse_opt("Baud", \&check_number, $text{'save_ebaud'});
	for($i=1; $i<=9; $i++) {
		if ($in{"init_$i"} eq '') {
			&set_config("Init$i");
			}
		else {
			&set_config("Init$i", $in{"init_$i"});
			}
		}
	&parse_yes_no("Carrier Check");
	&parse_yes_no("Abort on Busy");
	&parse_opt("Dial Attempts", \&check_number, $text{'save_edial'});
	&parse_yes_no("Abort on No Dialtone");

	# Store networking options
	&parse_yes_no("Auto DNS");
	&parse_yes_no("Auto Reconnect");
	&parse_opt("Idle Seconds", \&check_number, $text{'save_eidle'});

	# Create or update the dialer
	if ($in{'new'}) {
		&create_dialer($dialer);
		}
	else {
		&update_dialer($dialer);
		}
	}
&unlock_file($config{'file'});
delete($dialer->{'values'}->{'password'});
&webmin_log($in{'new'} ? "create" : $in{'delete'} ? "delete" : "update",
	    "dialer", $dialer->{'name'}, $dialer->{'values'});
&redirect("");

# parse_opt(name, [checker, error])
sub parse_opt
{
local $n = lc("$_[0]");
if ($in{$n."_def"}) {
	&set_config($_[0]);
	}
else {
	local $func = $_[1];
	!$func || &$func($in{$n}) || &error($_[2]);
	&set_config($_[0], $in{$n});
	}
}

# parse_yes_no(name)
sub parse_yes_no
{
local $n = lc("$_[0]");
if ($in{$n} == 1) {
	&set_config($_[0], "on");
	}
elsif ($in{$n} == 0) {
	&set_config($_[0], "off");
	}
else {
	&set_config($_[0]);
	}
}

# set_config(name, [value])
sub set_config
{
local $n = lc("$_[0]");
if (defined($_[1])) {
	$dialer->{'values'}->{$n} = $_[1];
	$dialer->{'onames'}->{$n} = $_[0];
	}
else {
	delete($dialer->{'values'}->{$n});
	delete($dialer->{'onames'}->{$n});
	}
}

sub check_phone
{
return $_[0] =~ /^[0-9 \+\*\#A-Z]+$/;
}

sub check_number
{
return $_[0] =~ /^\d+$/;
}


Filemanager

Name Type Size Permission Actions
images Folder 0755
lang Folder 0755
CHANGELOG File 137 B 0644
backup_config.pl File 585 B 0755
bootup.cgi File 838 B 0755
cgi_args.pl File 186 B 0755
config File 58 B 0644
config.info File 119 B 0644
config.info.ca File 134 B 0644
config.info.de File 127 B 0644
config.info.fa File 151 B 0644
config.info.nl File 145 B 0644
config.info.no File 128 B 0644
connect.cgi File 376 B 0755
disconnect.cgi File 396 B 0755
edit.cgi File 6.15 KB 0755
index.cgi File 4.32 KB 0755
init.cgi File 905 B 0755
install_check.pl File 373 B 0755
log_parser.pl File 760 B 0755
module.info File 201 B 0644
module.info.af File 0 B 0644
module.info.af.auto File 130 B 0644
module.info.ar File 0 B 0644
module.info.ar.auto File 162 B 0644
module.info.be File 0 B 0644
module.info.be.auto File 217 B 0644
module.info.bg File 0 B 0644
module.info.bg.auto File 194 B 0644
module.info.ca File 120 B 0644
module.info.ca.auto File 12 B 0644
module.info.cs File 26 B 0644
module.info.cs.auto File 121 B 0644
module.info.da File 0 B 0644
module.info.da.auto File 148 B 0644
module.info.de File 139 B 0644
module.info.de.auto File 12 B 0644
module.info.el File 0 B 0644
module.info.el.auto File 185 B 0644
module.info.es File 0 B 0644
module.info.es.auto File 154 B 0644
module.info.eu File 0 B 0644
module.info.eu.auto File 134 B 0644
module.info.fa File 0 B 0644
module.info.fa.auto File 167 B 0644
module.info.fi File 0 B 0644
module.info.fi.auto File 147 B 0644
module.info.fr File 0 B 0644
module.info.fr.auto File 157 B 0644
module.info.he File 0 B 0644
module.info.he.auto File 172 B 0644
module.info.hr File 0 B 0644
module.info.hr.auto File 132 B 0644
module.info.hu File 0 B 0644
module.info.hu.auto File 150 B 0644
module.info.it File 0 B 0644
module.info.it.auto File 143 B 0644
module.info.ja File 0 B 0644
module.info.ja.auto File 182 B 0644
module.info.ko File 0 B 0644
module.info.ko.auto File 141 B 0644
module.info.lt File 0 B 0644
module.info.lt.auto File 164 B 0644
module.info.lv File 0 B 0644
module.info.lv.auto File 150 B 0644
module.info.ms File 134 B 0644
module.info.ms.auto File 12 B 0644
module.info.mt File 0 B 0644
module.info.mt.auto File 143 B 0644
module.info.nl File 25 B 0644
module.info.nl.auto File 120 B 0644
module.info.no File 30 B 0644
module.info.no.auto File 105 B 0644
module.info.pl File 0 B 0644
module.info.pl.auto File 147 B 0644
module.info.pt File 0 B 0644
module.info.pt.auto File 142 B 0644
module.info.pt_BR File 0 B 0644
module.info.pt_BR.auto File 151 B 0644
module.info.ro File 0 B 0644
module.info.ro.auto File 145 B 0644
module.info.ru File 0 B 0644
module.info.ru.auto File 198 B 0644
module.info.sk File 0 B 0644
module.info.sk.auto File 144 B 0644
module.info.sl File 0 B 0644
module.info.sl.auto File 132 B 0644
module.info.sv File 0 B 0644
module.info.sv.auto File 137 B 0644
module.info.th File 0 B 0644
module.info.th.auto File 295 B 0644
module.info.tr File 0 B 0644
module.info.tr.auto File 148 B 0644
module.info.uk File 0 B 0644
module.info.uk.auto File 235 B 0644
module.info.ur File 0 B 0644
module.info.ur.auto File 248 B 0644
module.info.vi File 0 B 0644
module.info.vi.auto File 148 B 0644
module.info.zh File 0 B 0644
module.info.zh.auto File 137 B 0644
module.info.zh_TW File 0 B 0644
module.info.zh_TW.auto File 146 B 0644
ppp-client-lib.pl File 8.48 KB 0755
save.cgi File 3.41 KB 0755
start.pl File 200 B 0755
stop.pl File 245 B 0755