# adsl-client-lib.pl # Common functions for parsing the rp-pppoe config file BEGIN { push(@INC, ".."); }; use WebminCore; &init_config(); do 'secrets-lib.pl'; # get_config() # Parse the PPPOE configuration file sub get_config { local @rv; local $lnum = 0; open(FILE, "<".$config{'pppoe_conf'}) || return undef; while(<FILE>) { s/\r|\n//g; s/^\s*#.*$//; if (/^\s*(\S+)\s*=\s*"([^"]*)"/ || /^\s*(\S+)\s*=\s*'([^']*)'/ || /^\s*(\S+)\s*=\s*(\S+)/) { push(@rv, { 'name' => $1, 'value' => $2, 'line' => $lnum }); } $lnum++; } close(FILE); return \@rv; } # find(name, &config) # Looks up an entry in the config file sub find { local $c; foreach $c (@{$_[1]}) { if (lc($c->{'name'}) eq lc($_[0])) { return $c->{'value'}; } } return undef; } # save_directive(&config, name, value) sub save_directive { local ($old) = grep { lc($_->{'name'}) eq lc($_[1]) } @{$_[0]}; local $lref = &read_file_lines($config{'pppoe_conf'}); local $nl = "$_[1]=".($_[2] =~ /^\S+$/ ? $_[2] : "\"$_[2]\""); if ($old) { $lref->[$old->{'line'}] = $nl; } else { push(@$lref, $nl); } } # get_adsl_ip() # Returns the device name and IP address of the ADSL connection (if up), # or nothing if down sub get_adsl_ip { local $out = `$config{'status_cmd'} 2>&1`; if ($out =~ /link is up/i && $out =~ /on\s+interface\s+ppp(\d+)[\000-\377]+inet addr:\s*(\S+)/i) { return ($1, $2); } elsif ($out =~ /attached\s+to\s+(ppp\d+)/i) { return ($1, undef); } elsif ($out =~ /could\s+not\s+find\s+interface\s+corresponding\s+to/i) { return ("unknown", undef) } elsif ($out =~ /demand-connection/) { return ("demand", undef); } else { return ( ); } } # get_pppoe_version(&out) sub get_pppoe_version { local $out = `$config{'pppoe_cmd'} -V 2>&1`; ${$_[0]} = $out; return $out =~ /version\s+(\S+)/i ? $1 : undef; } 1;
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
help | Folder | 0755 |
|
|
images | Folder | 0755 |
|
|
lang | Folder | 0755 |
|
|
CHANGELOG | File | 118 B | 0644 |
|
adsl-client-lib.pl | File | 1.8 KB | 0755 |
|
backup_config.pl | File | 922 B | 0755 |
|
bootup.cgi | File | 382 B | 0755 |
|
config | File | 153 B | 0644 |
|
config-coherent-linux | File | 175 B | 0644 |
|
config-openmamba-linux | File | 175 B | 0644 |
|
config-redhat-linux-7.2-ALL | File | 175 B | 0644 |
|
config-syno-linux | File | 153 B | 0644 |
|
config-trustix-linux | File | 177 B | 0644 |
|
config.info | File | 382 B | 0644 |
|
config.info.ar | File | 0 B | 0644 |
|
config.info.bg | File | 597 B | 0644 |
|
config.info.ca | File | 426 B | 0644 |
|
config.info.de | File | 376 B | 0644 |
|
config.info.es | File | 420 B | 0644 |
|
config.info.fr | File | 445 B | 0644 |
|
config.info.hr | File | 0 B | 0644 |
|
config.info.it | File | 443 B | 0644 |
|
config.info.ja | File | 404 B | 0644 |
|
config.info.ms | File | 386 B | 0644 |
|
config.info.nl | File | 421 B | 0644 |
|
config.info.no | File | 395 B | 0644 |
|
config.info.pl | File | 416 B | 0644 |
|
config.info.pt_BR | File | 448 B | 0644 |
|
config.info.sv | File | 0 B | 0644 |
|
config.info.tr | File | 408 B | 0644 |
|
config.info.zh_TW | File | 303 B | 0644 |
|
ifcfg-ppp | File | 347 B | 0644 |
|
index.cgi | File | 6.66 KB | 0755 |
|
install_check.pl | File | 421 B | 0755 |
|
log_parser.pl | File | 336 B | 0755 |
|
module.info | File | 147 B | 0644 |
|
module.info.af | File | 0 B | 0644 |
|
module.info.af.auto | File | 94 B | 0644 |
|
module.info.ar | File | 27 B | 0644 |
|
module.info.ar.auto | File | 92 B | 0644 |
|
module.info.be | File | 0 B | 0644 |
|
module.info.be.auto | File | 134 B | 0644 |
|
module.info.bg | File | 26 B | 0644 |
|
module.info.bg.auto | File | 87 B | 0644 |
|
module.info.ca | File | 80 B | 0644 |
|
module.info.ca.auto | File | 13 B | 0644 |
|
module.info.cs | File | 20 B | 0644 |
|
module.info.cs.auto | File | 74 B | 0644 |
|
module.info.da | File | 0 B | 0644 |
|
module.info.da.auto | File | 86 B | 0644 |
|
module.info.de | File | 83 B | 0644 |
|
module.info.de.auto | File | 13 B | 0644 |
|
module.info.el | File | 0 B | 0644 |
|
module.info.el.auto | File | 144 B | 0644 |
|
module.info.es | File | 21 B | 0644 |
|
module.info.es.auto | File | 75 B | 0644 |
|
module.info.eu | File | 0 B | 0644 |
|
module.info.eu.auto | File | 91 B | 0644 |
|
module.info.fa | File | 0 B | 0644 |
|
module.info.fa.auto | File | 118 B | 0644 |
|
module.info.fi | File | 0 B | 0644 |
|
module.info.fi.auto | File | 90 B | 0644 |
|
module.info.fr | File | 0 B | 0644 |
|
module.info.fr.auto | File | 96 B | 0644 |
|
module.info.he | File | 0 B | 0644 |
|
module.info.he.auto | File | 105 B | 0644 |
|
module.info.hr | File | 0 B | 0644 |
|
module.info.hr.auto | File | 92 B | 0644 |
|
module.info.hu | File | 0 B | 0644 |
|
module.info.hu.auto | File | 96 B | 0644 |
|
module.info.it | File | 20 B | 0644 |
|
module.info.it.auto | File | 78 B | 0644 |
|
module.info.ja | File | 32 B | 0644 |
|
module.info.ja.auto | File | 118 B | 0644 |
|
module.info.ko | File | 0 B | 0644 |
|
module.info.ko.auto | File | 132 B | 0644 |
|
module.info.lt | File | 0 B | 0644 |
|
module.info.lt.auto | File | 102 B | 0644 |
|
module.info.lv | File | 0 B | 0644 |
|
module.info.lv.auto | File | 88 B | 0644 |
|
module.info.ms | File | 73 B | 0644 |
|
module.info.ms.auto | File | 13 B | 0644 |
|
module.info.mt | File | 0 B | 0644 |
|
module.info.mt.auto | File | 88 B | 0644 |
|
module.info.nl | File | 20 B | 0644 |
|
module.info.nl.auto | File | 73 B | 0644 |
|
module.info.no | File | 20 B | 0644 |
|
module.info.no.auto | File | 69 B | 0644 |
|
module.info.pl | File | 81 B | 0644 |
|
module.info.pl.auto | File | 13 B | 0644 |
|
module.info.pt | File | 0 B | 0644 |
|
module.info.pt.auto | File | 94 B | 0644 |
|
module.info.pt_BR | File | 24 B | 0644 |
|
module.info.pt_BR.auto | File | 79 B | 0644 |
|
module.info.ro | File | 0 B | 0644 |
|
module.info.ro.auto | File | 94 B | 0644 |
|
module.info.ru | File | 0 B | 0644 |
|
module.info.ru.auto | File | 115 B | 0644 |
|
module.info.sk | File | 0 B | 0644 |
|
module.info.sk.auto | File | 92 B | 0644 |
|
module.info.sl | File | 0 B | 0644 |
|
module.info.sl.auto | File | 90 B | 0644 |
|
module.info.sv | File | 0 B | 0644 |
|
module.info.sv.auto | File | 91 B | 0644 |
|
module.info.th | File | 0 B | 0644 |
|
module.info.th.auto | File | 156 B | 0644 |
|
module.info.tr | File | 24 B | 0644 |
|
module.info.tr.auto | File | 70 B | 0644 |
|
module.info.uk | File | 0 B | 0644 |
|
module.info.uk.auto | File | 142 B | 0644 |
|
module.info.ur | File | 0 B | 0644 |
|
module.info.ur.auto | File | 133 B | 0644 |
|
module.info.vi | File | 0 B | 0644 |
|
module.info.vi.auto | File | 109 B | 0644 |
|
module.info.zh | File | 0 B | 0644 |
|
module.info.zh.auto | File | 92 B | 0644 |
|
module.info.zh_TW | File | 25 B | 0644 |
|
module.info.zh_TW.auto | File | 76 B | 0644 |
|
rbootup.cgi | File | 429 B | 0755 |
|
save.cgi | File | 1.95 KB | 0755 |
|
secrets-lib.pl | File | 1.64 KB | 0755 |
|
setup.cgi | File | 429 B | 0755 |
|
start.cgi | File | 925 B | 0755 |
|
stop.cgi | File | 581 B | 0755 |
|