]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blobdiff - html/cgi-bin/tor.cgi
tor.cgi: Check for valid accounting limit.
[people/teissler/ipfire-2.x.git] / html / cgi-bin / tor.cgi
index 14eac4e728db21be3e70e493bd5d52a4f1618be6..28d8bf7ef15f71b92f8ba9d2ac21b311b56b35d4 100644 (file)
@@ -73,6 +73,7 @@ if (&Header::blue_used()) {
 
 $settings{'TOR_RELAY_ENABLED'} = 'off';
 $settings{'TOR_RELAY_MODE'} = 'exit';
+$settings{'TOR_RELAY_ADDRESS'} = '';
 $settings{'TOR_RELAY_PORT'} = 9001;
 $settings{'TOR_RELAY_NICKNAME'} = '';
 $settings{'TOR_RELAY_CONTACT_INFO'} = '';
@@ -101,6 +102,24 @@ if ($settings{'ACTION'} eq $Lang::tr{'save'}) {
                $errormessage = "$Lang::tr{'tor errmsg invalid relay name'}: $settings{'TOR_RELAY_NICKNAME'}";
        }
 
+       if (!&General::validport($settings{'TOR_SOCKS_PORT'})) {
+               $errormessage = "$Lang::tr{'tor errmsg invalid socks port'}: $settings{'TOR_SOCKS_PORT'}";
+       }
+
+       if (!&General::validport($settings{'TOR_RELAY_PORT'})) {
+               $errormessage = "$Lang::tr{'tor errmsg invalid relay port'}: $settings{'TOR_RELAY_PORT'}";
+       }
+
+       if ($settings{'TOR_RELAY_ADDRESS'} ne '') {
+               if ((!&General::validfqdn($settings{'TOR_RELAY_ADDRESS'})) && (!&General::validip($settings{'TOR_RELAY_ADDRESS'}))) {
+                       $errormessage = "$Lang::tr{'tor errmsg invalid relay address'}: $settings{'TOR_RELAY_ADDRESS'}";
+               }
+       }
+
+       if ($settings{'TOR_RELAY_ACCOUNTING_LIMIT'} !~ /^\d+$/) {
+               $errormessage = "$Lang::tr{'tor errmsg invalid accounting limit'}: $settings{'TOR_RELAY_ACCOUNTING_LIMIT'}";
+       }
+
        my @temp = split(/[\n,]/,$settings{'TOR_ALLOWED_SUBNETS'});
        $settings{'TOR_ALLOWED_SUBNETS'} = "";
        foreach (@temp) {