From a03547fe5e83a7118db21ad0ef782e5ef96478e7 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Fri, 2 Aug 2013 13:17:54 +0200 Subject: [PATCH 1/1] tor.cgi: Always show all configuration options. Otherwise, if tor was disable, all settings like nickname, etc. were reset to default. --- html/cgi-bin/tor.cgi | 353 +++++++++++++++++++++---------------------- 1 file changed, 176 insertions(+), 177 deletions(-) diff --git a/html/cgi-bin/tor.cgi b/html/cgi-bin/tor.cgi index 28d8bf7ef..2b578810d 100644 --- a/html/cgi-bin/tor.cgi +++ b/html/cgi-bin/tor.cgi @@ -98,8 +98,10 @@ our $torctrl = &TorConnect(); # Toggle enable/disable field. if ($settings{'ACTION'} eq $Lang::tr{'save'}) { - if ($settings{'TOR_RELAY_NICKNAME'} !~ /^[a-zA-Z0-9]+$/) { - $errormessage = "$Lang::tr{'tor errmsg invalid relay name'}: $settings{'TOR_RELAY_NICKNAME'}"; + if ($settings{'TOR_RELAY_NICKNAME'} ne '') { + if ($settings{'TOR_RELAY_NICKNAME'} !~ /^[a-zA-Z0-9]+$/) { + $errormessage = "$Lang::tr{'tor errmsg invalid relay name'}: $settings{'TOR_RELAY_NICKNAME'}"; + } } if (!&General::validport($settings{'TOR_SOCKS_PORT'})) { @@ -213,211 +215,208 @@ sub showMainBox() { END - if ($settings{'TOR_ENABLED'} eq 'on') { - my @temp = split(",", $settings{'TOR_ALLOWED_SUBNETS'}); - $settings{'TOR_ALLOWED_SUBNETS'} = join("\n", @temp); + my @temp = split(",", $settings{'TOR_ALLOWED_SUBNETS'}); + $settings{'TOR_ALLOWED_SUBNETS'} = join("\n", @temp); - @temp = split(",", $settings{'TOR_USE_EXIT_NODES'}); - $settings{'TOR_USE_EXIT_NODES'} = join("\n", @temp); + @temp = split(",", $settings{'TOR_USE_EXIT_NODES'}); + $settings{'TOR_USE_EXIT_NODES'} = join("\n", @temp); - print < -
-
+ print < +
+
- - - - - - - - - - - - -
$Lang::tr{'tor acls'}
- $Lang::tr{'tor allowed subnets'}: -
- -
+ + + + + + + + + + + + +
$Lang::tr{'tor acls'}
+ $Lang::tr{'tor allowed subnets'}: +
+ +
-
-
-
+
+
+
- - - - - - - - - - + + +
$Lang::tr{'tor exit nodes'}
$Lang::tr{'tor use exit nodes'}:
- + + + + + + + + + - - -
$Lang::tr{'tor exit nodes'}
$Lang::tr{'tor use exit nodes'}:
+ - -
-

+ print < +
+ +
+

END - } &Header::closebox(); - if ($settings{'TOR_RELAY_ENABLED'} eq 'on') { - $checked{'TOR_RELAY_NOADVERTISE'}{'on'} = ''; - $checked{'TOR_RELAY_NOADVERTISE'}{'off'} = ''; - $checked{'TOR_RELAY_NOADVERTISE'}{$settings{'TOR_RELAY_NOADVERTISE'}} = 'checked'; - - $selected{'TOR_RELAY_MODE'}{'bridge'} = ''; - $selected{'TOR_RELAY_MODE'}{'exit'} = ''; - $selected{'TOR_RELAY_MODE'}{'private-bridge'} = ''; - $selected{'TOR_RELAY_MODE'}{'relay'} = ''; - $selected{'TOR_RELAY_MODE'}{$settings{'TOR_RELAY_MODE'}} = 'selected'; - - $selected{'TOR_RELAY_BANDWIDTH_RATE'}{'0'} = ''; - foreach (@bandwidth_limits) { - $selected{'TOR_RELAY_BANDWIDTH_RATE'}{$_} = ''; - } - $selected{'TOR_RELAY_BANDWIDTH_RATE'}{$settings{'TOR_RELAY_BANDWIDTH_RATE'}} = 'selected'; + # Tor relay box + $checked{'TOR_RELAY_NOADVERTISE'}{'on'} = ''; + $checked{'TOR_RELAY_NOADVERTISE'}{'off'} = ''; + $checked{'TOR_RELAY_NOADVERTISE'}{$settings{'TOR_RELAY_NOADVERTISE'}} = 'checked'; - $selected{'TOR_RELAY_BANDWIDTH_BURST'}{'0'} = ''; - foreach (@bandwidth_limits) { - $selected{'TOR_RELAY_BANDWIDTH_BURST'}{$_} = ''; - } - $selected{'TOR_RELAY_BANDWIDTH_BURST'}{$settings{'TOR_RELAY_BANDWIDTH_BURST'}} = 'selected'; + $selected{'TOR_RELAY_MODE'}{'bridge'} = ''; + $selected{'TOR_RELAY_MODE'}{'exit'} = ''; + $selected{'TOR_RELAY_MODE'}{'private-bridge'} = ''; + $selected{'TOR_RELAY_MODE'}{'relay'} = ''; + $selected{'TOR_RELAY_MODE'}{$settings{'TOR_RELAY_MODE'}} = 'selected'; - foreach (@accounting_periods) { - $selected{'TOR_RELAY_ACCOUNTING_PERIOD'}{$_} = ''; - } - $selected{'TOR_RELAY_ACCOUNTING_PERIOD'}{$settings{'TOR_RELAY_ACCOUNTING_PERIOD'}} = 'selected'; + $selected{'TOR_RELAY_BANDWIDTH_RATE'}{'0'} = ''; + foreach (@bandwidth_limits) { + $selected{'TOR_RELAY_BANDWIDTH_RATE'}{$_} = ''; + } + $selected{'TOR_RELAY_BANDWIDTH_RATE'}{$settings{'TOR_RELAY_BANDWIDTH_RATE'}} = 'selected'; - &Header::openbox('100%', 'left', $Lang::tr{'tor relay configuration'}); + $selected{'TOR_RELAY_BANDWIDTH_BURST'}{'0'} = ''; + foreach (@bandwidth_limits) { + $selected{'TOR_RELAY_BANDWIDTH_BURST'}{$_} = ''; + } + $selected{'TOR_RELAY_BANDWIDTH_BURST'}{$settings{'TOR_RELAY_BANDWIDTH_BURST'}} = 'selected'; - print < - - $Lang::tr{'tor relay mode'}: - - - - $Lang::tr{'tor relay port'}: - - - - - - $Lang::tr{'tor relay address'}: * - - - - $Lang::tr{'tor do not advertise relay'}: - - - - - - $Lang::tr{'tor relay nickname'}: * - - - - - - - $Lang::tr{'tor contact info'}: * - - - - - + foreach (@accounting_periods) { + $selected{'TOR_RELAY_ACCOUNTING_PERIOD'}{$_} = ''; + } + $selected{'TOR_RELAY_ACCOUNTING_PERIOD'}{$settings{'TOR_RELAY_ACCOUNTING_PERIOD'}} = 'selected'; -
+ &Header::openbox('100%', 'left', $Lang::tr{'tor relay configuration'}); - - - - - - - + + + + + + + + + + + + + + + + + + + + +
$Lang::tr{'tor bandwidth settings'}
$Lang::tr{'tor bandwidth rate'}: -
$Lang::tr{'tor relay mode'}: + + $Lang::tr{'tor relay port'}: + +
$Lang::tr{'tor relay address'}: * + + $Lang::tr{'tor do not advertise relay'}: + +
$Lang::tr{'tor relay nickname'}: * + +
$Lang::tr{'tor contact info'}: * + +
+ +
+ + + + + + + + - - - - - - + + + + + + - - + + - -
$Lang::tr{'tor bandwidth settings'}
$Lang::tr{'tor bandwidth rate'}: + - $Lang::tr{'tor accounting limit'}: - -
$Lang::tr{'tor bandwidth burst'}: - + $Lang::tr{'tor accounting limit'}: + +
$Lang::tr{'tor bandwidth burst'}: + - $Lang::tr{'tor accounting period'}: - + $Lang::tr{'tor accounting period'}: +
+ print < + + + END - &Header::closebox(); - } + &Header::closebox(); print < -- 2.39.2