diff --git a/config/rootfiles/packages/tor b/config/rootfiles/packages/tor
index 58de7da86..f9c657c88 100644
--- a/config/rootfiles/packages/tor
+++ b/config/rootfiles/packages/tor
@@ -5,7 +5,7 @@ etc/rc.d/rc0.d/K40tor
etc/rc.d/rc3.d/S60tor
etc/rc.d/rc6.d/K40tor
#etc/tor
-etc/tor/tor-tsocks.conf
+#etc/tor/tor-tsocks.conf
etc/tor/torrc
srv/web/ipfire/cgi-bin/tor.cgi
usr/bin/tor
@@ -25,6 +25,7 @@ usr/local/bin/torctrl
usr/share/tor
usr/share/tor/defaults-torrc
usr/share/tor/geoip
+usr/share/tor/geoip6
var/ipfire/backup/addons/includes/tor
var/ipfire/menu.d/EX-tor.menu
var/ipfire/tor
diff --git a/html/cgi-bin/tor.cgi b/html/cgi-bin/tor.cgi
index b920724de..befd50834 100755
--- a/html/cgi-bin/tor.cgi
+++ b/html/cgi-bin/tor.cgi
@@ -108,6 +108,7 @@ $settings{'TOR_RELAY_ENABLED'} = 'off';
$settings{'TOR_RELAY_MODE'} = 'exit';
$settings{'TOR_RELAY_ADDRESS'} = '';
$settings{'TOR_RELAY_PORT'} = 9001;
+$settings{'TOR_RELAY_DIRPORT'} = 0;
$settings{'TOR_RELAY_NICKNAME'} = '';
$settings{'TOR_RELAY_CONTACT_INFO'} = '';
$settings{'TOR_RELAY_BANDWIDTH_RATE'} = 0;
@@ -143,6 +144,11 @@ if ($settings{'ACTION'} eq $Lang::tr{'save'}) {
if (!&General::validport($settings{'TOR_RELAY_PORT'})) {
$errormessage = "$Lang::tr{'tor errmsg invalid relay port'}: $settings{'TOR_RELAY_PORT'}";
}
+ if ($settings{'TOR_RELAY_DIRPORT'} ne '0') {
+ if (!&General::validport($settings{'TOR_RELAY_DIRPORT'})) {
+ $errormessage = "$Lang::tr{'tor errmsg invalid directory port'}: $settings{'TOR_RELAY_DIRPORT'}";
+ }
+ }
if ($settings{'TOR_RELAY_ADDRESS'} ne '') {
if ((!&General::validfqdn($settings{'TOR_RELAY_ADDRESS'})) && (!&General::validip($settings{'TOR_RELAY_ADDRESS'}))) {
@@ -382,7 +388,7 @@ END
$Lang::tr{'tor contact info'}:  |
@@ -607,7 +621,7 @@ END
END
if (exists($node->{'country_code'})) {
- if ($node->{'country_code'} eq '??') {
+ if (!$node->{'country_code'} or $node->{'country_code'} eq '??') {
print " ";
} else {
print " ";
@@ -683,6 +697,10 @@ sub BuildConfiguration() {
print FILE "ORPort $settings{'TOR_RELAY_PORT'}\n";
+ if ($settings{'TOR_RELAY_DIRPORT'} ne '0') {
+ print FILE "DirPort $settings{'TOR_RELAY_DIRPORT'}\n";
+ }
+
if ($settings{'TOR_RELAY_ADDRESS'} ne '') {
print FILE "Address $settings{'TOR_RELAY_ADDRESS'}\n";
}
diff --git a/langs/de/cgi-bin/de.pl b/langs/de/cgi-bin/de.pl
index 4e005e1a8..f9814d579 100644
--- a/langs/de/cgi-bin/de.pl
+++ b/langs/de/cgi-bin/de.pl
@@ -1798,6 +1798,7 @@
'tone dial' => 'Tonwahl:',
'too long 80 char max' => ' ist zu lang, es sind maximal 80 Zeichen erlaubt',
'tor' => 'Tor',
+'tor 0 = disabled' => '0 = deaktiviert',
'tor accounting' => 'Accounting',
'tor accounting bytes' => 'Traffic (empfangen/gesendet)',
'tor accounting bytes left' => 'übrig',
@@ -1818,11 +1819,13 @@
'tor connected relays' => 'Verbundene Relays',
'tor contact info' => 'Kontaktinformationen',
'tor daemon' => 'Daemon',
+'tor directory port' => 'Directory-Port',
'tor enabled' => 'Tor einschalten',
'tor errmsg invalid accounting limit' => 'Ungültiges Accounting-Limit',
+'tor errmsg invalid directory port' => 'Ungültiger Directory-Port',
'tor errmsg invalid ip or mask' => 'Ungültiges IP-Subnetz',
'tor errmsg invalid relay address' => 'Ungültige Relay-Adresse',
-'tor errmsg invalid relay name' => 'Ungültiger Relay-Nickname.',
+'tor errmsg invalid relay name' => 'Ungültiger Relay-Nickname',
'tor errmsg invalid relay port' => 'Ungültiger Relay-Port',
'tor errmsg invalid socks port' => 'Ungültiger SOCKS-Port',
'tor exit country' => 'Exit-Land',
diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl
index ba80985a8..1c5029672 100644
--- a/langs/en/cgi-bin/en.pl
+++ b/langs/en/cgi-bin/en.pl
@@ -1832,6 +1832,7 @@
'tone dial' => 'Tone dial:',
'too long 80 char max' => ' is too long, maximum allowed is 80 characters',
'tor' => 'Tor',
+'tor 0 = disabled' => '0 = disabled',
'tor accounting' => 'Accounting',
'tor accounting bytes' => 'Traffic (read/written)',
'tor accounting bytes left' => 'left',
@@ -1853,8 +1854,10 @@
'tor connected relays' => 'Connected relays',
'tor contact info' => 'Contact Info',
'tor daemon' => 'Daemon',
+'tor directory port' => 'Directory port',
'tor enabled' => 'Enable Tor',
'tor errmsg invalid accounting limit' => 'Invalid accounting limit',
+'tor errmsg invalid directory port' => 'Invalid directory port',
'tor errmsg invalid ip or mask' => 'Invalid IP subnet',
'tor errmsg invalid node id' => 'Invalid node ID',
'tor errmsg invalid relay address' => 'Invalid relay address',
diff --git a/lfs/tor b/lfs/tor
index 6161a5648..795f7c3eb 100644
--- a/lfs/tor
+++ b/lfs/tor
@@ -24,7 +24,7 @@
include Config
-VER = 0.2.3.25
+VER = 0.2.4.17-rc
THISAPP = tor-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = tor
-PAK_VER = 3
+PAK_VER = 4
DEPS = "libevent2"
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = a1c364189a9a66ed9daa8e6436489daf
+$(DL_FILE)_MD5 = 2cdfb8dcc3306a43cf465a858bf97b2d
install : $(TARGET)
diff --git a/src/initscripts/init.d/tor b/src/initscripts/init.d/tor
index d631e867f..9c1dfc769 100644
--- a/src/initscripts/init.d/tor
+++ b/src/initscripts/init.d/tor
@@ -22,6 +22,10 @@ function setup_firewall() {
if [ "${TOR_RELAY_ENABLED}" = "on" -a -n "${TOR_RELAY_PORT}" ]; then
iptables -A TOR_INPUT -p tcp --dport "${TOR_RELAY_PORT}" -j ACCEPT
fi
+
+ if [ "${TOR_RELAY_ENABLED}" = "on" -a -n "${TOR_RELAY_DIRPORT}" ] && [ "${TOR_RELAY_DIRPORT}" -ne 0 ]; then
+ iptables -A TOR_INPUT -p tcp --dport "${TOR_RELAY_DIRPORT}" -j ACCEPT
+ fi
}
function flush_firewall() {
|