From: Stefan Schantl Date: Thu, 20 May 2021 15:58:24 +0000 (+0200) Subject: pppsetup.cgi: Use new system methods X-Git-Tag: v2.25-core158~33^2~10^2~12 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1366526c0b96a0004ad96888ec32744fc6fc286b;p=ipfire-2.x.git pppsetup.cgi: Use new system methods Signed-off-by: Stefan Schantl --- diff --git a/html/cgi-bin/pppsetup.cgi b/html/cgi-bin/pppsetup.cgi index c9c3d668a2..519a062bc5 100644 --- a/html/cgi-bin/pppsetup.cgi +++ b/html/cgi-bin/pppsetup.cgi @@ -39,6 +39,8 @@ my %checked=(); my @profilenames=(); my $errormessage = ''; my $maxprofiles = 5; + +# This call is safe, because no user input will be processed. my $kernel=`/bin/uname -r | /usr/bin/tr -d '\012'`; my %color = (); @@ -177,7 +179,12 @@ elsif ($pppsettings{'ACTION'} eq $Lang::tr{'save'}) $errormessage = $Lang::tr{'invalid input'}; goto ERROR; } - if( $pppsettings{'RECONNECTION'} eq 'dialondemand' && `/bin/cat ${General::swroot}/ddns/config` =~ /,on$/m ) { + # Read-in ddns config file, to check if at least one provider is enabled. + open(FILE, "${General::swroot}/ddns/config)"; + my @ddns_config = + close(FILE); + + if( $pppsettings{'RECONNECTION'} eq 'dialondemand' && grep(/on/, @ddns_config) ) { $errormessage = $Lang::tr{'dod not compatible with ddns'}; goto ERROR; } @@ -520,7 +527,12 @@ print </dev/null | grep 0`; +# Read-in atm devices from proc. +open(PROC, "/proc/net/atm/devices"); +my @patm_devices = ; +close(PROC); + +my $atmdev = grep(/0/, @atm_devices); chomp ($atmdev); if ($atmdev ne '') { print </${General::swroot}/ppp/updatesettings"); + close(FILE); } sub writesecrets