[tor-commits] [translation/tails-perl5lib] Update translations for tails-perl5lib

2016-01-18 Thread translation
commit 7bf05768dd77ee56084553c2d79fae60c310af40
Author: Translation commit bot 
Date:   Mon Jan 18 14:45:53 2016 +

Update translations for tails-perl5lib
---
 cs.po |7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/cs.po b/cs.po
index 745227f..fb778ee 100644
--- a/cs.po
+++ b/cs.po
@@ -3,13 +3,14 @@
 # This file is distributed under the same license as the PACKAGE package.
 # 
 # Translators:
+# Jiří Vírava , 2016
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: Tails developers \n"
 "POT-Creation-Date: 2016-01-11 15:40+0100\n"
-"PO-Revision-Date: 2016-01-12 08:13+\n"
-"Last-Translator: carolyn \n"
+"PO-Revision-Date: 2016-01-18 14:33+\n"
+"Last-Translator: Jiří Vírava \n"
 "Language-Team: Czech (http://www.transifex.com/otf/torproject/language/cs/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -19,7 +20,7 @@ msgstr ""
 
 #: ../lib/Tails/RunningSystem.pm:159
 msgid "Error"
-msgstr ""
+msgstr "Chyba"
 
 #: ../lib/Tails/RunningSystem.pm:161
 msgid ""

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-misc] Update translations for tails-misc

2016-01-18 Thread translation
commit 09532ce5ab21edf47799291f714cdad789f26678
Author: Translation commit bot 
Date:   Mon Jan 18 15:45:45 2016 +

Update translations for tails-misc
---
 cs.po |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/cs.po b/cs.po
index 66dc7b4..02f0fbd 100644
--- a/cs.po
+++ b/cs.po
@@ -15,8 +15,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-04 11:56+0100\n"
-"PO-Revision-Date: 2016-01-06 09:25+\n"
+"POT-Creation-Date: 2016-01-11 21:00+0100\n"
+"PO-Revision-Date: 2016-01-18 15:40+\n"
 "Last-Translator: carolyn \n"
 "Language-Team: Czech (http://www.transifex.com/otf/torproject/language/cs/)\n"
 "MIME-Version: 1.0\n"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-perl5lib] Update translations for tails-perl5lib

2016-01-18 Thread translation
commit a56c73ad6079b17a7a1feb3f2cc52f4ef1abea54
Author: Translation commit bot 
Date:   Mon Jan 18 15:46:02 2016 +

Update translations for tails-perl5lib
---
 cs.po |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/cs.po b/cs.po
index fb778ee..bb7c1aa 100644
--- a/cs.po
+++ b/cs.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: Tails developers \n"
 "POT-Creation-Date: 2016-01-11 15:40+0100\n"
-"PO-Revision-Date: 2016-01-18 14:33+\n"
+"PO-Revision-Date: 2016-01-18 15:40+\n"
 "Last-Translator: Jiří Vírava \n"
 "Language-Team: Czech (http://www.transifex.com/otf/torproject/language/cs/)\n"
 "MIME-Version: 1.0\n"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-persistence-setup] Update translations for tails-persistence-setup

2016-01-18 Thread translation
commit cd55bb40c9c5095bfba0a9b4b075341c9e3d3bd2
Author: Translation commit bot 
Date:   Mon Jan 18 15:45:22 2016 +

Update translations for tails-persistence-setup
---
 cs/cs.po |   53 +++--
 1 file changed, 27 insertions(+), 26 deletions(-)

diff --git a/cs/cs.po b/cs/cs.po
index a0d67a0..f493462 100644
--- a/cs/cs.po
+++ b/cs/cs.po
@@ -13,8 +13,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: Tails developers \n"
-"POT-Creation-Date: 2015-12-14 21:35+0100\n"
-"PO-Revision-Date: 2015-12-15 09:27+\n"
+"POT-Creation-Date: 2015-12-16 17:55+0100\n"
+"PO-Revision-Date: 2016-01-18 15:40+\n"
 "Last-Translator: carolyn \n"
 "Language-Team: Czech (http://www.transifex.com/otf/torproject/language/cs/)\n"
 "MIME-Version: 1.0\n"
@@ -128,71 +128,71 @@ msgid ""
 "Symlink into $HOME every file or directory found in the `dotfiles' directory"
 msgstr "Symbolický odkaz do $ HOME nalezne každý soubor nebo adresář v 
`dotfiles\" adresáři"
 
-#: ../lib/Tails/Persistence/Setup.pm:227
+#: ../lib/Tails/Persistence/Setup.pm:230
 msgid "Setup Tails persistent volume"
 msgstr "Nastavení trvalého oddílu pro Tails"
 
-#: ../lib/Tails/Persistence/Setup.pm:307 ../lib/Tails/Persistence/Setup.pm:451
+#: ../lib/Tails/Persistence/Setup.pm:311 ../lib/Tails/Persistence/Setup.pm:458
 msgid "Error"
 msgstr "Chyba"
 
-#: ../lib/Tails/Persistence/Setup.pm:338
+#: ../lib/Tails/Persistence/Setup.pm:343
 #, perl-format
 msgid "Device %s already has a persistent volume."
 msgstr "Zařízení %s už má trvalý oddíl."
 
-#: ../lib/Tails/Persistence/Setup.pm:346
+#: ../lib/Tails/Persistence/Setup.pm:351
 #, perl-format
 msgid "Device %s has not enough unallocated space."
 msgstr "Zařízení %s nemá dostatek nealokovaného místa."
 
-#: ../lib/Tails/Persistence/Setup.pm:354 ../lib/Tails/Persistence/Setup.pm:368
+#: ../lib/Tails/Persistence/Setup.pm:359 ../lib/Tails/Persistence/Setup.pm:373
 #, perl-format
 msgid "Device %s has no persistent volume."
 msgstr "Zařízení %s nemá trvalý oddíl."
 
-#: ../lib/Tails/Persistence/Setup.pm:360
+#: ../lib/Tails/Persistence/Setup.pm:365
 msgid ""
 "Cannot delete the persistent volume while in use. You should restart Tails "
 "without persistence."
 msgstr "Nelze smazat trvalý oddíl, zatímco je používán. Musíte 
restartovat Tails bez používání trvalého oddílu."
 
-#: ../lib/Tails/Persistence/Setup.pm:379
+#: ../lib/Tails/Persistence/Setup.pm:384
 msgid "Persistence volume is not unlocked."
 msgstr "Trvalý oddíl není odemčen."
 
-#: ../lib/Tails/Persistence/Setup.pm:384
+#: ../lib/Tails/Persistence/Setup.pm:389
 msgid "Persistence volume is not mounted."
 msgstr "Trvalý oddíl není připojen."
 
-#: ../lib/Tails/Persistence/Setup.pm:389
+#: ../lib/Tails/Persistence/Setup.pm:394
 msgid "Persistence volume is not readable. Permissions or ownership problems?"
 msgstr "Trvalý oddíl není čitelný. Problém s povolením nebo s 
vlastnictvím?"
 
-#: ../lib/Tails/Persistence/Setup.pm:394
+#: ../lib/Tails/Persistence/Setup.pm:399
 msgid "Persistence volume is not writable. Maybe it was mounted read-only?"
 msgstr "Trvalý oddíl nejde přepsat. Nebyl připojen pouze pro čtení?"
 
-#: ../lib/Tails/Persistence/Setup.pm:403
+#: ../lib/Tails/Persistence/Setup.pm:408
 #, perl-format
 msgid "Tails is running from non-USB / non-SDIO device %s."
 msgstr "Tails běží ze zařízení %s, které není  USB / SDIO."
 
-#: ../lib/Tails/Persistence/Setup.pm:409
+#: ../lib/Tails/Persistence/Setup.pm:414
 #, perl-format
 msgid "Device %s is optical."
 msgstr "Zařízení %s je optické."
 
-#: ../lib/Tails/Persistence/Setup.pm:416
+#: ../lib/Tails/Persistence/Setup.pm:421
 #, perl-format
 msgid "Device %s was not created using Tails Installer."
 msgstr "Zařízení %s nebylo pomocí Tails instaleru vytvořeno."
 
-#: ../lib/Tails/Persistence/Setup.pm:676
+#: ../lib/Tails/Persistence/Setup.pm:667
 msgid "Persistence wizard - Finished"
 msgstr "Průvodce tvorby trvalého oddílu dokončil svou činnost."
 
-#: ../lib/Tails/Persistence/Setup.pm:679
+#: ../lib/Tails/Persistence/Setup.pm:670
 msgid ""
 "Any changes you have made will only take effect after restarting Tails.\n"
 "\n"
@@ -244,32 +244,33 @@ msgstr "Heslo nesmí být prázdné"
 msgid "Passphrases do not match"
 msgstr "Hesla se neshodují"
 
-#: ../lib/Tails/Persistence/Step/Bootstrap.pm:262
+#: ../lib/Tails/Persistence/Step/Bootstrap.pm:274
 #: ../lib/Tails/Persistence/Step/Configure.pm:129
+#: ../lib/Tails/Persistence/Step/Delete.pm:95
 msgid "Failed"
 msgstr "Selhani"
 
-#: ../lib/Tails/Persistence/Step/Bootstrap.pm:271
+#: ../lib/Tails/Persistence/Step/Bootstrap.pm:283
 msgid "Mounting Tails persistence partition."
 msgstr "Připojování trvalého oddílu Tails."
 
-#: ../lib/Tails/Persistence/Step/Bootstrap.pm:274
+#: 

[tor-commits] [tor-browser-bundle/master] Bug 18071: Add new default obfs4 bridge, riemann.

2016-01-18 Thread gk
commit 27ac6800b3171004f3bd9a9114ff72f1ee991a79
Author: Isis Lovecruft 
Date:   Sat Jan 16 12:08:29 2016 +

Bug 18071: Add new default obfs4 bridge, riemann.
---
 Bundle-Data/PTConfigs/bridge_prefs.js |7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/Bundle-Data/PTConfigs/bridge_prefs.js 
b/Bundle-Data/PTConfigs/bridge_prefs.js
index f27d389..11c7471 100644
--- a/Bundle-Data/PTConfigs/bridge_prefs.js
+++ b/Bundle-Data/PTConfigs/bridge_prefs.js
@@ -20,9 +20,10 @@ pref("extensions.torlauncher.default_bridge.fte-ipv6.2", 
"fte [2001:49f0:d00a:1:
 
 pref("extensions.torlauncher.default_bridge.scramblesuit.1", "scramblesuit 
83.212.101.3:443 A09D536DD1752D542E1FBB3C9CE4449D51298239 
password=XTCXLG2JAMJKZW2POLBAOWOQETQSMASH");
 
-pref("extensions.torlauncher.default_bridge.obfs4.1", "obfs4 
109.105.109.165:24215 8DFCD8FB3285E855F5A55EDDA35696C743ABFC4E 
cert=Bvg/itxeL4TWKLP6N1MaQzSOC6tcRIBv6q57DYAZc3b2AzuM+/TfB7mqTFEfXILCjEwzVA 
iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.2", "obfs4 
83.212.101.3:41213 A09D536DD1752D542E1FBB3C9CE4449D51298239 
cert=lPRQ/MXdD1t5SRZ9MquYQNT9m5DV757jtdXdlePmRCudUU9CFUOX1Tm7/meFSyPOsud7Cw 
iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.3", "obfs4 
104.131.108.182:56880 EF577C30B9F788B0E1801CF7E433B3B77792B77A 
cert=0SFhfDQrKjUJP8Qq6wrwSICEPf3Vl/nJRsYxWbg3QRoSqhl2EB78MPS2lQxbXY4EW1wwXA 
iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.1", "obfs4 198.245.60.50:443 
752CF7825B3B9EA6A98C83AC41F7099D67007EA5 
cert=xpmQtKUqQ/6v5X7ijgYE/f03+l2/EuQ1dexjyUhh16wQlu/cpXUGalmhDIlhuiQPNEKmKw 
iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.2", "obfs4 
109.105.109.165:24215 8DFCD8FB3285E855F5A55EDDA35696C743ABFC4E 
cert=Bvg/itxeL4TWKLP6N1MaQzSOC6tcRIBv6q57DYAZc3b2AzuM+/TfB7mqTFEfXILCjEwzVA 
iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.3", "obfs4 
83.212.101.3:41213 A09D536DD1752D542E1FBB3C9CE4449D51298239 
cert=lPRQ/MXdD1t5SRZ9MquYQNT9m5DV757jtdXdlePmRCudUU9CFUOX1Tm7/meFSyPOsud7Cw 
iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.4", "obfs4 
104.131.108.182:56880 EF577C30B9F788B0E1801CF7E433B3B77792B77A 
cert=0SFhfDQrKjUJP8Qq6wrwSICEPf3Vl/nJRsYxWbg3QRoSqhl2EB78MPS2lQxbXY4EW1wwXA 
iat-mode=0");
 
 pref("extensions.torlauncher.default_bridge.meek-google.1", "meek 0.0.2.0:1 
46D4A71197B8FA515A826C6B017C522FE264655B url=https://meek-reflect.appspot.com/ 
front=www.google.com");
 pref("extensions.torlauncher.default_bridge.meek-amazon.1", "meek 0.0.2.0:2 
B9E7141C594AF25699E0079C1F0146F409495296 
url=https://d2zfqthxsdq309.cloudfront.net/ front=a0.awsstatic.com");

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [tor-browser-bundle/hardened-builds] Bug 18071: Add new default obfs4 bridge, riemann.

2016-01-18 Thread gk
commit 5625f1787125f23810c72604b367769900299412
Author: Isis Lovecruft 
Date:   Sat Jan 16 12:08:29 2016 +

Bug 18071: Add new default obfs4 bridge, riemann.
---
 Bundle-Data/PTConfigs/bridge_prefs.js |7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/Bundle-Data/PTConfigs/bridge_prefs.js 
b/Bundle-Data/PTConfigs/bridge_prefs.js
index f27d389..11c7471 100644
--- a/Bundle-Data/PTConfigs/bridge_prefs.js
+++ b/Bundle-Data/PTConfigs/bridge_prefs.js
@@ -20,9 +20,10 @@ pref("extensions.torlauncher.default_bridge.fte-ipv6.2", 
"fte [2001:49f0:d00a:1:
 
 pref("extensions.torlauncher.default_bridge.scramblesuit.1", "scramblesuit 
83.212.101.3:443 A09D536DD1752D542E1FBB3C9CE4449D51298239 
password=XTCXLG2JAMJKZW2POLBAOWOQETQSMASH");
 
-pref("extensions.torlauncher.default_bridge.obfs4.1", "obfs4 
109.105.109.165:24215 8DFCD8FB3285E855F5A55EDDA35696C743ABFC4E 
cert=Bvg/itxeL4TWKLP6N1MaQzSOC6tcRIBv6q57DYAZc3b2AzuM+/TfB7mqTFEfXILCjEwzVA 
iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.2", "obfs4 
83.212.101.3:41213 A09D536DD1752D542E1FBB3C9CE4449D51298239 
cert=lPRQ/MXdD1t5SRZ9MquYQNT9m5DV757jtdXdlePmRCudUU9CFUOX1Tm7/meFSyPOsud7Cw 
iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.3", "obfs4 
104.131.108.182:56880 EF577C30B9F788B0E1801CF7E433B3B77792B77A 
cert=0SFhfDQrKjUJP8Qq6wrwSICEPf3Vl/nJRsYxWbg3QRoSqhl2EB78MPS2lQxbXY4EW1wwXA 
iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.1", "obfs4 198.245.60.50:443 
752CF7825B3B9EA6A98C83AC41F7099D67007EA5 
cert=xpmQtKUqQ/6v5X7ijgYE/f03+l2/EuQ1dexjyUhh16wQlu/cpXUGalmhDIlhuiQPNEKmKw 
iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.2", "obfs4 
109.105.109.165:24215 8DFCD8FB3285E855F5A55EDDA35696C743ABFC4E 
cert=Bvg/itxeL4TWKLP6N1MaQzSOC6tcRIBv6q57DYAZc3b2AzuM+/TfB7mqTFEfXILCjEwzVA 
iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.3", "obfs4 
83.212.101.3:41213 A09D536DD1752D542E1FBB3C9CE4449D51298239 
cert=lPRQ/MXdD1t5SRZ9MquYQNT9m5DV757jtdXdlePmRCudUU9CFUOX1Tm7/meFSyPOsud7Cw 
iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.4", "obfs4 
104.131.108.182:56880 EF577C30B9F788B0E1801CF7E433B3B77792B77A 
cert=0SFhfDQrKjUJP8Qq6wrwSICEPf3Vl/nJRsYxWbg3QRoSqhl2EB78MPS2lQxbXY4EW1wwXA 
iat-mode=0");
 
 pref("extensions.torlauncher.default_bridge.meek-google.1", "meek 0.0.2.0:1 
46D4A71197B8FA515A826C6B017C522FE264655B url=https://meek-reflect.appspot.com/ 
front=www.google.com");
 pref("extensions.torlauncher.default_bridge.meek-amazon.1", "meek 0.0.2.0:2 
B9E7141C594AF25699E0079C1F0146F409495296 
url=https://d2zfqthxsdq309.cloudfront.net/ front=a0.awsstatic.com");

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor-messenger-commandsproperties_completed] Update translations for tor-messenger-commandsproperties_completed

2016-01-18 Thread translation
commit 0ace5f4c5311d1ab5ba6f009d1ca5c81ada57582
Author: Translation commit bot 
Date:   Mon Jan 18 08:16:19 2016 +

Update translations for tor-messenger-commandsproperties_completed
---
 pt/commands.properties |   27 +++
 1 file changed, 27 insertions(+)

diff --git a/pt/commands.properties b/pt/commands.properties
new file mode 100644
index 000..1a0bd9f
--- /dev/null
+++ b/pt/commands.properties
@@ -0,0 +1,27 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (commands):
+#  %S is a comma separated list of command names.
+commands=Comandos: %S.\nUtilize  /help command para mais informação.
+# LOCALIZATION NOTE (noCommand, noHelp):
+#  %S is the command name the user typed.
+noCommand=Nenhum comando '%S'.
+noHelp=Desculpe, nenhuma mensagem de ajuda para o comando '%S'!
+
+sayHelpString=say message: envia uma mensagem sem processar os 
comandos.
+rawHelpString=raw message: envia uma mensagem sem fuga das entidades 
HTML.
+helpHelpString=help name: mostra a mensagem de ajuda para o comando 
name, ou a lista dos possíveis comandos quando utilizado sem o 
parâmetro.
+
+# LOCALIZATION NOTE (statusCommand):
+#  %1$S is replaced with a status command name
+#   (one of "back", "away", "busy", "dnd", or "offline").
+#  %2$S is replaced with the localized version of that status type
+#   (one of the 5 strings below).
+statusCommand=%1$S status message: define o estado para %2$S com a 
mensagem de estado opcional.
+back=disponível
+away=ausente
+busy=indisponível
+dnd=indisponível
+offline=desligado da rede

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor-messenger-authdtd] Update translations for tor-messenger-authdtd

2016-01-18 Thread translation
commit 7c286444526f3b4f7cc56d737602f2d788de3c9a
Author: Translation commit bot 
Date:   Mon Jan 18 08:16:07 2016 +

Update translations for tor-messenger-authdtd
---
 pt/auth.dtd |6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pt/auth.dtd b/pt/auth.dtd
index 6c949b8..651d632 100644
--- a/pt/auth.dtd
+++ b/pt/auth.dtd
@@ -4,13 +4,13 @@
 
 
 
-
+
 
 
-
+
 
 
-
+
 
 
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor-messenger-commandsproperties] Update translations for tor-messenger-commandsproperties

2016-01-18 Thread translation
commit a5894dd05e402886f0b5e52b3f1ec48c67b33659
Author: Translation commit bot 
Date:   Mon Jan 18 08:16:15 2016 +

Update translations for tor-messenger-commandsproperties
---
 pt/commands.properties |   10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/pt/commands.properties b/pt/commands.properties
index af19528..1a0bd9f 100644
--- a/pt/commands.properties
+++ b/pt/commands.properties
@@ -4,22 +4,22 @@
 
 # LOCALIZATION NOTE (commands):
 #  %S is a comma separated list of command names.
-commands=Comandos: %S.\nUtilize /comando de ajuda para mais 
informação.
+commands=Comandos: %S.\nUtilize  /help command para mais informação.
 # LOCALIZATION NOTE (noCommand, noHelp):
 #  %S is the command name the user typed.
 noCommand=Nenhum comando '%S'.
 noHelp=Desculpe, nenhuma mensagem de ajuda para o comando '%S'!
 
-sayHelpString=say message: send a message without processing commands.
-rawHelpString=raw message: send a message without escaping HTML 
entities.
-helpHelpString=help name: show the help message for the name 
command, or the list of possible commands when used without parameter.
+sayHelpString=say message: envia uma mensagem sem processar os 
comandos.
+rawHelpString=raw message: envia uma mensagem sem fuga das entidades 
HTML.
+helpHelpString=help name: mostra a mensagem de ajuda para o comando 
name, ou a lista dos possíveis comandos quando utilizado sem o 
parâmetro.
 
 # LOCALIZATION NOTE (statusCommand):
 #  %1$S is replaced with a status command name
 #   (one of "back", "away", "busy", "dnd", or "offline").
 #  %2$S is replaced with the localized version of that status type
 #   (one of the 5 strings below).
-statusCommand=%1$S status message: set the status to %2$S with an 
optional status message.
+statusCommand=%1$S status message: define o estado para %2$S com a 
mensagem de estado opcional.
 back=disponível
 away=ausente
 busy=indisponível

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [onionoo/master] Remove deprecated "family" field from details documents.

2016-01-18 Thread karsten
commit ac26b0e18fbd7cf22cb830da0a6b0c707b110d82
Author: Karsten Loesing 
Date:   Sat Jan 9 17:08:31 2016 +0100

Remove deprecated "family" field from details documents.

On August 25, 2015, we added the optional "alleged_family" and
"effective_family" fields and deprecated the likewise optional
"family" field in details documents.  As of yesterday, Atlas (#16961),
Globe (#16962), and Compass (#17720) stopped using the "family" field
and switched over to the new fields.  It's time to finally remove the
"family" field from details documents.

Implements #18026.
---
 build.xml  |2 +-
 src/main/java/org/torproject/onionoo/docs/DetailsDocument.java |8 
 src/main/java/org/torproject/onionoo/docs/DetailsStatus.java   |8 
 .../java/org/torproject/onionoo/server/ResponseBuilder.java|4 +---
 .../torproject/onionoo/updater/NodeDetailsStatusUpdater.java   |1 -
 .../org/torproject/onionoo/writer/DetailsDocumentWriter.java   |1 -
 web/protocol.html  |7 +--
 7 files changed, 7 insertions(+), 24 deletions(-)

diff --git a/build.xml b/build.xml
index de5d84a..8de738a 100644
--- a/build.xml
+++ b/build.xml
@@ -1,6 +1,6 @@
 
 
-  
+  
   
   
diff --git a/src/main/java/org/torproject/onionoo/docs/DetailsDocument.java 
b/src/main/java/org/torproject/onionoo/docs/DetailsDocument.java
index 69d8efe..38bbc3b 100644
--- a/src/main/java/org/torproject/onionoo/docs/DetailsDocument.java
+++ b/src/main/java/org/torproject/onionoo/docs/DetailsDocument.java
@@ -281,14 +281,6 @@ public class DetailsDocument extends Document {
 return unescapeJSON(this.platform);
   }
 
-  private List family;
-  public void setFamily(List family) {
-this.family = family;
-  }
-  public List getFamily() {
-return this.family;
-  }
-
   private SortedSet alleged_family;
   public void setAllegedFamily(SortedSet allegedFamily) {
 this.alleged_family = allegedFamily;
diff --git a/src/main/java/org/torproject/onionoo/docs/DetailsStatus.java 
b/src/main/java/org/torproject/onionoo/docs/DetailsStatus.java
index 62e621b..460fb97 100644
--- a/src/main/java/org/torproject/onionoo/docs/DetailsStatus.java
+++ b/src/main/java/org/torproject/onionoo/docs/DetailsStatus.java
@@ -102,14 +102,6 @@ public class DetailsStatus extends Document {
 return unescapeJSON(this.platform);
   }
 
-  private List family;
-  public void setFamily(List family) {
-this.family = family;
-  }
-  public List getFamily() {
-return this.family;
-  }
-
   private SortedSet alleged_family;
   public void setAllegedFamily(SortedSet allegedFamily) {
 this.alleged_family = allegedFamily;
diff --git a/src/main/java/org/torproject/onionoo/server/ResponseBuilder.java 
b/src/main/java/org/torproject/onionoo/server/ResponseBuilder.java
index 4afa782..76790d5 100644
--- a/src/main/java/org/torproject/onionoo/server/ResponseBuilder.java
+++ b/src/main/java/org/torproject/onionoo/server/ResponseBuilder.java
@@ -70,7 +70,7 @@ public class ResponseBuilder {
 return this.charsWritten;
   }
 
-  private static final String PROTOCOL_VERSION = "3.0";
+  private static final String PROTOCOL_VERSION = "3.1";
 
   private static final String NEXT_MAJOR_VERSION_SCHEDULED = null;
 
@@ -248,8 +248,6 @@ public class ResponseBuilder {
 dd.setContact(detailsDocument.getContact());
   } else if (field.equals("platform")) {
 dd.setPlatform(detailsDocument.getPlatform());
-  } else if (field.equals("family")) {
-dd.setFamily(detailsDocument.getFamily());
   } else if (field.equals("consensus_weight_fraction")) {
 dd.setConsensusWeightFraction(
 detailsDocument.getConsensusWeightFraction());
diff --git 
a/src/main/java/org/torproject/onionoo/updater/NodeDetailsStatusUpdater.java 
b/src/main/java/org/torproject/onionoo/updater/NodeDetailsStatusUpdater.java
index d28e249..b9552bf 100644
--- a/src/main/java/org/torproject/onionoo/updater/NodeDetailsStatusUpdater.java
+++ b/src/main/java/org/torproject/onionoo/updater/NodeDetailsStatusUpdater.java
@@ -172,7 +172,6 @@ public class NodeDetailsStatusUpdater implements 
DescriptorListener,
 detailsStatus.setExitPolicy(descriptor.getExitPolicyLines());
 detailsStatus.setContact(descriptor.getContact());
 detailsStatus.setPlatform(descriptor.getPlatform());
-detailsStatus.setFamily(descriptor.getFamilyEntries());
 if (descriptor.getFamilyEntries() != null) {
   SortedSet declaredFamily = new TreeSet();
   for (String familyMember : descriptor.getFamilyEntries()) {
diff --git 
a/src/main/java/org/torproject/onionoo/writer/DetailsDocumentWriter.java 
b/src/main/java/org/torproject/onionoo/writer/DetailsDocumentWriter.java
index 6747c2c..8360a05 100644
--- 

[tor-commits] [onionoo/master] Take out old news.

2016-01-18 Thread karsten
commit 736efae1f1639b705644d04757a7fafbfd2ad7c6
Author: Karsten Loesing 
Date:   Mon Jan 18 09:53:01 2016 +0100

Take out old news.
---
 web/protocol.html |   10 +++---
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/web/protocol.html b/web/protocol.html
index 98c3343..c6cc534 100644
--- a/web/protocol.html
+++ b/web/protocol.html
@@ -1198,7 +1198,7 @@ found.
 
 
 
-effective_family
+effective_family
 array of strings
 optional
 
@@ -1208,12 +1208,11 @@ These relays are part of this relay's family and they 
consider this relay
 to be part of their family.
 Omitted if empty or if descriptor containing this information cannot be
 found.
-Added on July 3, 2015.
 
 
 
 
-alleged_family
+alleged_family
 array of strings
 optional
 
@@ -1223,12 +1222,11 @@ These relays are part of this relay's family but they 
don't consider this
 relay to be part of their family.
 Omitted if empty or if descriptor containing this information cannot be
 found.
-Added on August 25, 2015.
 
 
 
 
-indirect_family
+indirect_family
 array of strings
 optional
 
@@ -1237,7 +1235,6 @@ mutual family relationship with this relay but that can 
be reached by
 following effective, mutual family relationships starting at this relay.
 Omitted if empty or if descriptor containing this information cannot be
 found.
-Added on August 25, 2015.
 
 
 
@@ -1308,7 +1305,6 @@ Boolean field saying whether the consensus weight of this 
relay is based
 on a threshold of 3 or more measurements by Tor bandwidth authorities.
 Omitted if the network status consensus containing this relay does not
 contain measurement information.
-Added on August 13, 2015.
 
 
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [onionoo/master] Stop returning code 500 when serving stale data.

2016-01-18 Thread karsten
commit 7c59c7c3ca336822aa424b31ae4d5eb6383c8026
Author: Karsten Loesing 
Date:   Sun Jan 10 09:48:50 2016 +0100

Stop returning code 500 when serving stale data.

Until now, when the hourly updater has not run for 6 hours or more,
the server responds to all queries with a 500 Internal Server Error.
This seemed to be a good idea, because users would tell us when the
hourly updater was broken and we could fix it.  But actually, these 6
hours were chosen arbitrarily, and each application should decide for
itself when it considers data as stale.  That's why we're taking out
the check and stopping to return a 500 status code because of
potentially stale data.

Implements #16907.
---
 .../java/org/torproject/onionoo/server/ResourceServlet.java |7 +--
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/src/main/java/org/torproject/onionoo/server/ResourceServlet.java 
b/src/main/java/org/torproject/onionoo/server/ResourceServlet.java
index 9b19d44..9aa460d 100644
--- a/src/main/java/org/torproject/onionoo/server/ResourceServlet.java
+++ b/src/main/java/org/torproject/onionoo/server/ResourceServlet.java
@@ -57,8 +57,7 @@ public class ResourceServlet extends HttpServlet {
 this.doGet(requestWrapper, responseWrapper);
   }
 
-  private static final long INDEX_MAX_AGE = 6L * 60L * 60L * 1000L,
-  CACHE_MIN_TIME = 5L * 60L * 1000L,
+  private static final long CACHE_MIN_TIME = 5L * 60L * 1000L,
   CACHE_MAX_TIME = 45L * 60L * 1000L,
   CACHE_INTERVAL = 5L * 60L * 1000L;
 
@@ -84,10 +83,6 @@ public class ResourceServlet extends HttpServlet {
 NodeIndexerFactory.getNodeIndexer().getLastIndexed(
 INDEX_WAITING_TIME);
 long indexAgeMillis = nowMillis - indexWrittenMillis;
-if (indexAgeMillis > INDEX_MAX_AGE) {
-  response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
-  return;
-}
 long cacheMaxAgeMillis = Math.max(CACHE_MIN_TIME,
 ((CACHE_MAX_TIME - indexAgeMillis)
 / CACHE_INTERVAL) * CACHE_INTERVAL);



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [tor-browser-bundle/master] Bug 18072: Change recommended PT type to obfs4.

2016-01-18 Thread gk
commit 27fe16afe9f45c1052b7b975eae47f0ec723425a
Author: Isis Lovecruft 
Date:   Sat Jan 16 12:17:19 2016 +

Bug 18072: Change recommended PT type to obfs4.
---
 Bundle-Data/PTConfigs/bridge_prefs.js |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Bundle-Data/PTConfigs/bridge_prefs.js 
b/Bundle-Data/PTConfigs/bridge_prefs.js
index 11c7471..f4a8448 100644
--- a/Bundle-Data/PTConfigs/bridge_prefs.js
+++ b/Bundle-Data/PTConfigs/bridge_prefs.js
@@ -1,5 +1,5 @@
 # Tor Launcher preferences (default bridges):
-pref("extensions.torlauncher.default_bridge_recommended_type", "obfs3");
+pref("extensions.torlauncher.default_bridge_recommended_type", "obfs4");
 
 // Default bridges.
 pref("extensions.torlauncher.default_bridge.obfs3.1", "obfs3 83.212.101.3:80 
A09D536DD1752D542E1FBB3C9CE4449D51298239");

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [snowflake/master] Use chan struct{} instead of chan bool in openChan.

2016-01-18 Thread dcf
commit a77ae6b771e5550b3a5370f7b1f2c0e434f4e9eb
Author: David Fifield 
Date:   Mon Jan 18 03:04:39 2016 -0800

Use chan struct{} instead of chan bool in openChan.

http://dave.cheney.net/2014/03/25/the-empty-struct
"...there is one important practical use of empty structs, and that is
the chan struct{} construct used for signaling between go routines"
---
 client/snowflake.go |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/client/snowflake.go b/client/snowflake.go
index ae87f89..da609b3 100644
--- a/client/snowflake.go
+++ b/client/snowflake.go
@@ -104,7 +104,7 @@ func dialWebRTC(config *webrtc.Configuration, meek 
*MeekChannel) (
 
offerChan := make(chan *webrtc.SessionDescription)
errChan := make(chan error)
-   openChan := make(chan bool)
+   openChan := make(chan struct{})
 
pc, err := webrtc.NewPeerConnection(config)
if err != nil {
@@ -151,7 +151,7 @@ func dialWebRTC(config *webrtc.Configuration, meek 
*MeekChannel) (
}
dc.OnOpen = func() {
log.Println("OnOpen channel")
-   openChan <- true
+   openChan <- struct{}{}
}
dc.OnClose = func() {
log.Println("OnClose channel")

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [tor-browser-bundle/hardened-builds] Bug 18072: Change recommended PT type to obfs4.

2016-01-18 Thread gk
commit 87ed0048caa1b5ff260ff061ee7351d20de593d0
Author: Isis Lovecruft 
Date:   Sat Jan 16 12:17:19 2016 +

Bug 18072: Change recommended PT type to obfs4.
---
 Bundle-Data/PTConfigs/bridge_prefs.js |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Bundle-Data/PTConfigs/bridge_prefs.js 
b/Bundle-Data/PTConfigs/bridge_prefs.js
index 11c7471..f4a8448 100644
--- a/Bundle-Data/PTConfigs/bridge_prefs.js
+++ b/Bundle-Data/PTConfigs/bridge_prefs.js
@@ -1,5 +1,5 @@
 # Tor Launcher preferences (default bridges):
-pref("extensions.torlauncher.default_bridge_recommended_type", "obfs3");
+pref("extensions.torlauncher.default_bridge_recommended_type", "obfs4");
 
 // Default bridges.
 pref("extensions.torlauncher.default_bridge.obfs3.1", "obfs3 83.212.101.3:80 
A09D536DD1752D542E1FBB3C9CE4449D51298239");

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [stem/master] Remove config values when Config.set() is provided with a None value

2016-01-18 Thread atagar
commit 1248546bcdd6c1d9e6aa0e79dd1c29d89c8d6060
Author: Damian Johnson 
Date:   Sun Jan 17 15:05:56 2016 -0800

Remove config values when Config.set() is provided with a None value

Ran into a situation where I wanted to unset a config value. Intuitive way 
of
doing this is to provide None to our set() method.
---
 docs/change_log.rst |1 +
 stem/util/conf.py   |   10 +-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/docs/change_log.rst b/docs/change_log.rst
index 0640aef..1420ddf 100644
--- a/docs/change_log.rst
+++ b/docs/change_log.rst
@@ -74,6 +74,7 @@ The following are only available within Stem's `git repository
   * Added :func:`~stem.util.__init__.datetime_to_unix`
   * Basic IPv6 support in :func:`~stem.util.connection.get_connections`
   * The 'ss' connection resolver didn't work on Gentoo (:trac:`18079`)
+  * Allow :func:`stem.util.conf.Config.set` to remove values when provided 
with a **None** value
 
  * **Interpreter**
 
diff --git a/stem/util/conf.py b/stem/util/conf.py
index 8e6597f..18226d8 100644
--- a/stem/util/conf.py
+++ b/stem/util/conf.py
@@ -620,6 +620,9 @@ class Config(object):
 Appends the given key/value configuration mapping, behaving the same as if
 we'd loaded this from a configuration file.
 
+.. versionchanged:: 1.5.0
+   Allow removal of values by overwriting with a **None** value.
+
 :param str key: key for the configuration mapping
 :param str,list value: value we're setting the mapping to
 :param bool overwrite: replaces the previous value if **True**, otherwise
@@ -629,7 +632,12 @@ class Config(object):
 with self._contents_lock:
   unicode_type = str if stem.prereq.is_python_3() else unicode
 
-  if isinstance(value, bytes) or isinstance(value, unicode_type):
+  if value is None:
+if overwrite and key in self._contents:
+  del self._contents[key]
+else:
+  pass  # no value so this is a no-op
+  elif isinstance(value, (bytes, unicode_type)):
 if not overwrite and key in self._contents:
   self._contents[key].append(value)
 else:



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [stem/master] Use size attribute on TarInfo rather than ExFileObject

2016-01-18 Thread atagar
commit 29e98ac500e810f20696ed569553741d8ccd0c25
Author: Damian Johnson 
Date:   Mon Jan 18 08:17:51 2016 -0800

Use size attribute on TarInfo rather than ExFileObject

Bah. With python 2.7 and 3.2 this worked but Karsten points out that with
python 3.5 it chokes with...

  
measure_average_advertised_bandwidth('../res/server-descriptors-2015-11.tar')
File "metrics.py", line 9, in measure_average_advertised_bandwidth
  for desc in parse_file(path):
File 
"/Users/karsten/Desktop/performance-comparison/stem/stem/descriptor/__init__.py",
 line 171, in parse_file
  for desc in handler(descriptor_file, descriptor_type, validate, 
document_handler, **kwargs):
File 
"/Users/karsten/Desktop/performance-comparison/stem/stem/descriptor/__init__.py",
 line 246, in _parse_file_for_tar_path
  for desc in parse_file(tar_file, *args, **kwargs):
File 
"/Users/karsten/Desktop/performance-comparison/stem/stem/descriptor/__init__.py",
 line 171, in parse_file
  for desc in handler(descriptor_file, descriptor_type, validate, 
document_handler, **kwargs):
File 
"/Users/karsten/Desktop/performance-comparison/stem/stem/descriptor/__init__.py",
 line 259, in _parse_file_for_tarfile
  if entry.size == 0:
  AttributeError: 'ExFileObject' object has no attribute 'size'

Docs definitely say the TarInfo has a size attribute so using that 
instead...

  https://docs.python.org/3.5/library/tarfile.html#tarinfo-objects
---
 stem/descriptor/__init__.py |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/stem/descriptor/__init__.py b/stem/descriptor/__init__.py
index 6b18d65..dc7c1df 100644
--- a/stem/descriptor/__init__.py
+++ b/stem/descriptor/__init__.py
@@ -256,7 +256,7 @@ def _parse_file_for_tarfile(descriptor_file, *args, 
**kwargs):
 if tar_entry.isfile():
   entry = descriptor_file.extractfile(tar_entry)
 
-  if entry.size == 0:
+  if tar_entry.size == 0:
 continue
 
   try:

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [tor/master] Merge remote-tracking branch 'teor/bug18050' into maint-0.2.7

2016-01-18 Thread nickm
commit 83dfcfbc4a295ca52325f47291d109cd0a16ac8f
Merge: b34c5c6 6094a88
Author: Nick Mathewson 
Date:   Mon Jan 18 19:51:57 2016 -0500

Merge remote-tracking branch 'teor/bug18050' into maint-0.2.7

 changes/bug18050 |7 +++
 src/or/main.c|   10 ++
 src/or/router.c  |   13 +
 3 files changed, 22 insertions(+), 8 deletions(-)




___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [tor/maint-0.2.7] Merge remote-tracking branch 'teor/bug18050' into maint-0.2.7

2016-01-18 Thread nickm
commit 83dfcfbc4a295ca52325f47291d109cd0a16ac8f
Merge: b34c5c6 6094a88
Author: Nick Mathewson 
Date:   Mon Jan 18 19:51:57 2016 -0500

Merge remote-tracking branch 'teor/bug18050' into maint-0.2.7

 changes/bug18050 |7 +++
 src/or/main.c|   10 ++
 src/or/router.c  |   13 +
 3 files changed, 22 insertions(+), 8 deletions(-)

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [tor/maint-0.2.7] Check ORPort and DirPort reachability before publishing a relay descriptor

2016-01-18 Thread nickm
commit 6094a886cf9be92d29077b428554a75c9971a2ca
Author: teor (Tim Wilson-Brown) 
Date:   Mon Jan 18 14:00:29 2016 +1100

Check ORPort and DirPort reachability before publishing a relay descriptor

Otherwise, relays publish a descriptor with DirPort 0 when the DirPort
reachability test takes longer than the ORPort reachability test.

Closes bug #18050. Reported by "starlight", patch by "teor".
Bugfix on 0.1.0.1-rc, commit a1f1fa6ab on 27 Feb 2005.
---
 changes/bug18050 |7 +++
 src/or/main.c|   10 ++
 src/or/router.c  |   13 +
 3 files changed, 22 insertions(+), 8 deletions(-)

diff --git a/changes/bug18050 b/changes/bug18050
new file mode 100644
index 000..ce24a77
--- /dev/null
+++ b/changes/bug18050
@@ -0,0 +1,7 @@
+  o Minor fixes (relays):
+- Check that both the ORPort and DirPort (if present) are reachable
+  before publishing a relay descriptor. Otherwise, relays publish a
+  descriptor with DirPort 0 when the DirPort reachability test takes
+  longer than the ORPort reachability test.
+  Closes bug #18050. Reported by "starlight", patch by "teor".
+  Bugfix on 0.1.0.1-rc, commit a1f1fa6ab on 27 Feb 2005.
diff --git a/src/or/main.c b/src/or/main.c
index df0cd1b..5198b51 100644
--- a/src/or/main.c
+++ b/src/or/main.c
@@ -1718,8 +1718,9 @@ second_elapsed_callback(periodic_timer_t *timer, void 
*arg)
 if (me && !check_whether_orport_reachable()) {
   char *address = tor_dup_ip(me->addr);
   log_warn(LD_CONFIG,"Your server (%s:%d) has not managed to confirm that "
-   "its ORPort is reachable. Please check your firewalls, ports, "
-   "address, /etc/hosts file, etc.",
+   "its ORPort is reachable. Relays do not publish descriptors "
+   "until their ORPort and DirPort are reachable. Please check "
+   "your firewalls, ports, address, /etc/hosts file, etc.",
address, me->or_port);
   control_event_server_status(LOG_WARN,
   "REACHABILITY_FAILED ORADDRESS=%s:%d",
@@ -1731,8 +1732,9 @@ second_elapsed_callback(periodic_timer_t *timer, void 
*arg)
   char *address = tor_dup_ip(me->addr);
   log_warn(LD_CONFIG,
"Your server (%s:%d) has not managed to confirm that its "
-   "DirPort is reachable. Please check your firewalls, ports, "
-   "address, /etc/hosts file, etc.",
+   "DirPort is reachable. Relays do not publish descriptors "
+   "until their ORPort and DirPort are reachable. Please check "
+   "your firewalls, ports, address, /etc/hosts file, etc.",
address, me->dir_port);
   control_event_server_status(LOG_WARN,
   "REACHABILITY_FAILED DIRADDRESS=%s:%d",
diff --git a/src/or/router.c b/src/or/router.c
index 2ddaa89..53e0522 100644
--- a/src/or/router.c
+++ b/src/or/router.c
@@ -1232,7 +1232,8 @@ router_orport_found_reachable(void)
 char *address = tor_dup_ip(me->addr);
 log_notice(LD_OR,"Self-testing indicates your ORPort is reachable from "
"the outside. Excellent.%s",
-   get_options()->PublishServerDescriptor_ != NO_DIRINFO ?
+   get_options()->PublishServerDescriptor_ != NO_DIRINFO
+   && check_whether_dirport_reachable() ?
  " Publishing server descriptor." : "");
 can_reach_or_port = 1;
 mark_my_descriptor_dirty("ORPort found reachable");
@@ -1256,7 +1257,10 @@ router_dirport_found_reachable(void)
   if (!can_reach_dir_port && me) {
 char *address = tor_dup_ip(me->addr);
 log_notice(LD_DIRSERV,"Self-testing indicates your DirPort is reachable "
-   "from the outside. Excellent.");
+   "from the outside. Excellent.%s",
+   get_options()->PublishServerDescriptor_ != NO_DIRINFO
+   && check_whether_orport_reachable() ?
+   " Publishing server descriptor." : "");
 can_reach_dir_port = 1;
 if (decide_to_advertise_dirport(get_options(), me->dir_port)) {
   mark_my_descriptor_dirty("DirPort found reachable");
@@ -1459,7 +1463,8 @@ proxy_mode(const or_options_t *options)
  * and
  * - We have ORPort set
  * and
- * - We believe we are reachable from the outside; or
+ * - We believe both our ORPort and DirPort (if present) are reachable from
+ *   the outside; or
  * - We are an authoritative directory server.
  */
 static int
@@ -1478,7 +1483,7 @@ decide_if_publishable_server(void)
   if (!router_get_advertised_or_port(options))
 return 0;
 
-  return check_whether_orport_reachable();
+  return check_whether_orport_reachable() && check_whether_dirport_reachable();
 }
 
 /** Initiate server descriptor upload as reasonable (if server is publishable,



___
tor-commits mailing list
tor-commits@lists.torproject.org

[tor-commits] [tor/maint-0.2.6] Make memwipe() do nothing when passed a NULL pointer or zero size

2016-01-18 Thread nickm
commit db8156533133836b19bca51f7fabba4d161b6ba2
Author: teor (Tim Wilson-Brown) 
Date:   Tue Jan 19 11:22:58 2016 +1100

Make memwipe() do nothing when passed a NULL pointer or zero size

Check size argument to memwipe() for underflow.

Closes bug #18089. Reported by "gk", patch by "teor".
Bugfix on 0.2.3.25 and 0.2.4.6-alpha (#7352),
commit 49dd5ef3 on 7 Nov 2012.
---
 changes/bug18089|6 ++
 src/common/crypto.c |8 
 2 files changed, 14 insertions(+)

diff --git a/changes/bug18089 b/changes/bug18089
new file mode 100644
index 000..c1fb342
--- /dev/null
+++ b/changes/bug18089
@@ -0,0 +1,6 @@
+  o Minor fixes (security):
+- Make memwipe() do nothing when passed a NULL pointer
+  or zero size. Check size argument to memwipe() for underflow.
+  Closes bug #18089. Reported by "gk", patch by "teor".
+  Bugfix on 0.2.3.25 and 0.2.4.6-alpha (#7352),
+  commit 49dd5ef3 on 7 Nov 2012.
diff --git a/src/common/crypto.c b/src/common/crypto.c
index 218c7be..4e0b383 100644
--- a/src/common/crypto.c
+++ b/src/common/crypto.c
@@ -3012,6 +3012,7 @@ base32_decode(char *dest, size_t destlen, const char 
*src, size_t srclen)
 /**
  * Destroy the sz bytes of data stored at mem, setting them to
  * the value byte.
+ * If mem is NULL or sz is zero, nothing happens.
  *
  * This function is preferable to memset, since many compilers will happily
  * optimize out memset() when they can convince themselves that the data being
@@ -3029,6 +3030,13 @@ base32_decode(char *dest, size_t destlen, const char 
*src, size_t srclen)
 void
 memwipe(void *mem, uint8_t byte, size_t sz)
 {
+  if (mem == NULL || sz == 0) {
+return;
+  }
+
+  /* Data this large is likely to be an underflow. */
+  tor_assert(sz < SIZE_T_CEILING);
+
   /* Because whole-program-optimization exists, we may not be able to just
* have this function call "memset".  A smart compiler could inline it, then
* eliminate dead memsets, and declare itself to be clever. */

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [tor/maint-0.2.7] Make memwipe() do nothing when passed a NULL pointer or zero size

2016-01-18 Thread nickm
commit db8156533133836b19bca51f7fabba4d161b6ba2
Author: teor (Tim Wilson-Brown) 
Date:   Tue Jan 19 11:22:58 2016 +1100

Make memwipe() do nothing when passed a NULL pointer or zero size

Check size argument to memwipe() for underflow.

Closes bug #18089. Reported by "gk", patch by "teor".
Bugfix on 0.2.3.25 and 0.2.4.6-alpha (#7352),
commit 49dd5ef3 on 7 Nov 2012.
---
 changes/bug18089|6 ++
 src/common/crypto.c |8 
 2 files changed, 14 insertions(+)

diff --git a/changes/bug18089 b/changes/bug18089
new file mode 100644
index 000..c1fb342
--- /dev/null
+++ b/changes/bug18089
@@ -0,0 +1,6 @@
+  o Minor fixes (security):
+- Make memwipe() do nothing when passed a NULL pointer
+  or zero size. Check size argument to memwipe() for underflow.
+  Closes bug #18089. Reported by "gk", patch by "teor".
+  Bugfix on 0.2.3.25 and 0.2.4.6-alpha (#7352),
+  commit 49dd5ef3 on 7 Nov 2012.
diff --git a/src/common/crypto.c b/src/common/crypto.c
index 218c7be..4e0b383 100644
--- a/src/common/crypto.c
+++ b/src/common/crypto.c
@@ -3012,6 +3012,7 @@ base32_decode(char *dest, size_t destlen, const char 
*src, size_t srclen)
 /**
  * Destroy the sz bytes of data stored at mem, setting them to
  * the value byte.
+ * If mem is NULL or sz is zero, nothing happens.
  *
  * This function is preferable to memset, since many compilers will happily
  * optimize out memset() when they can convince themselves that the data being
@@ -3029,6 +3030,13 @@ base32_decode(char *dest, size_t destlen, const char 
*src, size_t srclen)
 void
 memwipe(void *mem, uint8_t byte, size_t sz)
 {
+  if (mem == NULL || sz == 0) {
+return;
+  }
+
+  /* Data this large is likely to be an underflow. */
+  tor_assert(sz < SIZE_T_CEILING);
+
   /* Because whole-program-optimization exists, we may not be able to just
* have this function call "memset".  A smart compiler could inline it, then
* eliminate dead memsets, and declare itself to be clever. */



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [tor/maint-0.2.7] Merge branch 'maint-0.2.6' into maint-0.2.7

2016-01-18 Thread nickm
commit 8335b1f9a91076f100e7d3ba6b45f3ed9fc2986a
Merge: 83dfcfb db81565
Author: Nick Mathewson 
Date:   Mon Jan 18 20:00:16 2016 -0500

Merge branch 'maint-0.2.6' into maint-0.2.7

 changes/bug18089|6 ++
 src/common/crypto.c |8 
 2 files changed, 14 insertions(+)

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [tor/master] Make memwipe() do nothing when passed a NULL pointer or zero size

2016-01-18 Thread nickm
commit db8156533133836b19bca51f7fabba4d161b6ba2
Author: teor (Tim Wilson-Brown) 
Date:   Tue Jan 19 11:22:58 2016 +1100

Make memwipe() do nothing when passed a NULL pointer or zero size

Check size argument to memwipe() for underflow.

Closes bug #18089. Reported by "gk", patch by "teor".
Bugfix on 0.2.3.25 and 0.2.4.6-alpha (#7352),
commit 49dd5ef3 on 7 Nov 2012.
---
 changes/bug18089|6 ++
 src/common/crypto.c |8 
 2 files changed, 14 insertions(+)

diff --git a/changes/bug18089 b/changes/bug18089
new file mode 100644
index 000..c1fb342
--- /dev/null
+++ b/changes/bug18089
@@ -0,0 +1,6 @@
+  o Minor fixes (security):
+- Make memwipe() do nothing when passed a NULL pointer
+  or zero size. Check size argument to memwipe() for underflow.
+  Closes bug #18089. Reported by "gk", patch by "teor".
+  Bugfix on 0.2.3.25 and 0.2.4.6-alpha (#7352),
+  commit 49dd5ef3 on 7 Nov 2012.
diff --git a/src/common/crypto.c b/src/common/crypto.c
index 218c7be..4e0b383 100644
--- a/src/common/crypto.c
+++ b/src/common/crypto.c
@@ -3012,6 +3012,7 @@ base32_decode(char *dest, size_t destlen, const char 
*src, size_t srclen)
 /**
  * Destroy the sz bytes of data stored at mem, setting them to
  * the value byte.
+ * If mem is NULL or sz is zero, nothing happens.
  *
  * This function is preferable to memset, since many compilers will happily
  * optimize out memset() when they can convince themselves that the data being
@@ -3029,6 +3030,13 @@ base32_decode(char *dest, size_t destlen, const char 
*src, size_t srclen)
 void
 memwipe(void *mem, uint8_t byte, size_t sz)
 {
+  if (mem == NULL || sz == 0) {
+return;
+  }
+
+  /* Data this large is likely to be an underflow. */
+  tor_assert(sz < SIZE_T_CEILING);
+
   /* Because whole-program-optimization exists, we may not be able to just
* have this function call "memset".  A smart compiler could inline it, then
* eliminate dead memsets, and declare itself to be clever. */



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [tor/master] Merge branch 'maint-0.2.7'

2016-01-18 Thread nickm
commit ab58f60321ba6689fc89efb374e3a8ad8cc9808c
Merge: 0ace22e 8335b1f
Author: Nick Mathewson 
Date:   Mon Jan 18 20:03:28 2016 -0500

Merge branch 'maint-0.2.7'

 changes/bug18089|6 ++
 src/common/crypto.c |8 
 2 files changed, 14 insertions(+)

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [tor/master] Merge branch 'maint-0.2.6' into maint-0.2.7

2016-01-18 Thread nickm
commit 8335b1f9a91076f100e7d3ba6b45f3ed9fc2986a
Merge: 83dfcfb db81565
Author: Nick Mathewson 
Date:   Mon Jan 18 20:00:16 2016 -0500

Merge branch 'maint-0.2.6' into maint-0.2.7

 changes/bug18089|6 ++
 src/common/crypto.c |8 
 2 files changed, 14 insertions(+)




___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [tor-messenger-build/master] Remove TorButton about:config options

2016-01-18 Thread arlo
commit b443cc69554c8be7f743e210dcb187a3ec7db671
Author: Arlo Breault 
Date:   Mon Jan 18 18:25:56 2016 -0800

Remove TorButton about:config options

 * Trac 18094
---
 projects/tor-messenger/start-tor-messenger |   15 ++-
 1 file changed, 2 insertions(+), 13 deletions(-)

diff --git a/projects/tor-messenger/start-tor-messenger 
b/projects/tor-messenger/start-tor-messenger
index 6c85733..94624ca 100755
--- a/projects/tor-messenger/start-tor-messenger
+++ b/projects/tor-messenger/start-tor-messenger
@@ -310,25 +310,14 @@ EOF
 # TOR_CONTROL_PASSWD='"secret"'
 #
 # Yes, the variable MUST be double-quoted, then single-quoted, exactly as
-# shown. This is used by TorButton and Tor Launcher to authenticate to Tor's
-# ControlPort, and is necessary for using TB with a system-installed Tor.
+# shown. This is used by Tor Launcher to authenticate to Tor's ControlPort,
+# and is necessary for using TM with a system-installed Tor.
 #
 # Additionally, if using a system-installed Tor, the following about:config
 # options should be set (values in <> mean they are the value taken from your
 # torrc):
 #
 # SETTING NAMEVALUE
-# extensions.torbutton.banned_ports   [...],,
-# extensions.torbutton.block_disk false
-# extensions.torbutton.custom.socks_host  127.0.0.1
-# extensions.torbutton.custom.socks_port  
-# extensions.torbutton.inserted_buttontrue
-# extensions.torbutton.launch_warning false
-# extensions.torbutton.loglevel   2
-# extensions.torbutton.logmethod  0
-# extensions.torbutton.settings_methodcustom
-# extensions.torbutton.socks_port 
-# extensions.torbutton.use_privoxyfalse
 # extensions.torlauncher.control_port  
 # extensions.torlauncher.loglevel  2
 # extensions.torlauncher.logmethod 0

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [tor/master] Check ORPort and DirPort reachability before publishing a relay descriptor

2016-01-18 Thread nickm
commit 6094a886cf9be92d29077b428554a75c9971a2ca
Author: teor (Tim Wilson-Brown) 
Date:   Mon Jan 18 14:00:29 2016 +1100

Check ORPort and DirPort reachability before publishing a relay descriptor

Otherwise, relays publish a descriptor with DirPort 0 when the DirPort
reachability test takes longer than the ORPort reachability test.

Closes bug #18050. Reported by "starlight", patch by "teor".
Bugfix on 0.1.0.1-rc, commit a1f1fa6ab on 27 Feb 2005.
---
 changes/bug18050 |7 +++
 src/or/main.c|   10 ++
 src/or/router.c  |   13 +
 3 files changed, 22 insertions(+), 8 deletions(-)

diff --git a/changes/bug18050 b/changes/bug18050
new file mode 100644
index 000..ce24a77
--- /dev/null
+++ b/changes/bug18050
@@ -0,0 +1,7 @@
+  o Minor fixes (relays):
+- Check that both the ORPort and DirPort (if present) are reachable
+  before publishing a relay descriptor. Otherwise, relays publish a
+  descriptor with DirPort 0 when the DirPort reachability test takes
+  longer than the ORPort reachability test.
+  Closes bug #18050. Reported by "starlight", patch by "teor".
+  Bugfix on 0.1.0.1-rc, commit a1f1fa6ab on 27 Feb 2005.
diff --git a/src/or/main.c b/src/or/main.c
index df0cd1b..5198b51 100644
--- a/src/or/main.c
+++ b/src/or/main.c
@@ -1718,8 +1718,9 @@ second_elapsed_callback(periodic_timer_t *timer, void 
*arg)
 if (me && !check_whether_orport_reachable()) {
   char *address = tor_dup_ip(me->addr);
   log_warn(LD_CONFIG,"Your server (%s:%d) has not managed to confirm that "
-   "its ORPort is reachable. Please check your firewalls, ports, "
-   "address, /etc/hosts file, etc.",
+   "its ORPort is reachable. Relays do not publish descriptors "
+   "until their ORPort and DirPort are reachable. Please check "
+   "your firewalls, ports, address, /etc/hosts file, etc.",
address, me->or_port);
   control_event_server_status(LOG_WARN,
   "REACHABILITY_FAILED ORADDRESS=%s:%d",
@@ -1731,8 +1732,9 @@ second_elapsed_callback(periodic_timer_t *timer, void 
*arg)
   char *address = tor_dup_ip(me->addr);
   log_warn(LD_CONFIG,
"Your server (%s:%d) has not managed to confirm that its "
-   "DirPort is reachable. Please check your firewalls, ports, "
-   "address, /etc/hosts file, etc.",
+   "DirPort is reachable. Relays do not publish descriptors "
+   "until their ORPort and DirPort are reachable. Please check "
+   "your firewalls, ports, address, /etc/hosts file, etc.",
address, me->dir_port);
   control_event_server_status(LOG_WARN,
   "REACHABILITY_FAILED DIRADDRESS=%s:%d",
diff --git a/src/or/router.c b/src/or/router.c
index 2ddaa89..53e0522 100644
--- a/src/or/router.c
+++ b/src/or/router.c
@@ -1232,7 +1232,8 @@ router_orport_found_reachable(void)
 char *address = tor_dup_ip(me->addr);
 log_notice(LD_OR,"Self-testing indicates your ORPort is reachable from "
"the outside. Excellent.%s",
-   get_options()->PublishServerDescriptor_ != NO_DIRINFO ?
+   get_options()->PublishServerDescriptor_ != NO_DIRINFO
+   && check_whether_dirport_reachable() ?
  " Publishing server descriptor." : "");
 can_reach_or_port = 1;
 mark_my_descriptor_dirty("ORPort found reachable");
@@ -1256,7 +1257,10 @@ router_dirport_found_reachable(void)
   if (!can_reach_dir_port && me) {
 char *address = tor_dup_ip(me->addr);
 log_notice(LD_DIRSERV,"Self-testing indicates your DirPort is reachable "
-   "from the outside. Excellent.");
+   "from the outside. Excellent.%s",
+   get_options()->PublishServerDescriptor_ != NO_DIRINFO
+   && check_whether_orport_reachable() ?
+   " Publishing server descriptor." : "");
 can_reach_dir_port = 1;
 if (decide_to_advertise_dirport(get_options(), me->dir_port)) {
   mark_my_descriptor_dirty("DirPort found reachable");
@@ -1459,7 +1463,8 @@ proxy_mode(const or_options_t *options)
  * and
  * - We have ORPort set
  * and
- * - We believe we are reachable from the outside; or
+ * - We believe both our ORPort and DirPort (if present) are reachable from
+ *   the outside; or
  * - We are an authoritative directory server.
  */
 static int
@@ -1478,7 +1483,7 @@ decide_if_publishable_server(void)
   if (!router_get_advertised_or_port(options))
 return 0;
 
-  return check_whether_orport_reachable();
+  return check_whether_orport_reachable() && check_whether_dirport_reachable();
 }
 
 /** Initiate server descriptor upload as reasonable (if server is publishable,



___
tor-commits mailing list
tor-commits@lists.torproject.org

[tor-commits] [tor/master] Merge remote-tracking branch 'origin/maint-0.2.7'

2016-01-18 Thread nickm
commit 0ace22ef6dcb918c74cdfadd90a21afe622f2921
Merge: da4dbb2 83dfcfb
Author: Nick Mathewson 
Date:   Mon Jan 18 19:52:34 2016 -0500

Merge remote-tracking branch 'origin/maint-0.2.7'

 changes/bug18050 |7 +++
 src/or/main.c|   10 ++
 src/or/router.c  |   13 +
 3 files changed, 22 insertions(+), 8 deletions(-)

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [tor/master] Add default fallback directories for the 0.2.8 alpha releases

2016-01-18 Thread nickm
commit ab3c86479a516073e0b445846a22b0e24ce8078e
Author: teor (Tim Wilson-Brown) 
Date:   Mon Jan 18 12:34:34 2016 +1100

Add default fallback directories for the 0.2.8 alpha releases

Allow fallback directories which have been stable for 30 days
to work around #18050, which causes relays to submit descriptors
with 0 DirPorts when restarted. (Particularly during Tor version
upgrades.)

Ignore low fallback directory count in alpha builds.
---
 changes/ticket17158  |7 ++
 scripts/maint/fallback.blacklist |   22 
 scripts/maint/fallback.whitelist |   87 
 src/or/fallback_dirs.inc |  207 +-
 4 files changed, 322 insertions(+), 1 deletion(-)

diff --git a/changes/ticket17158 b/changes/ticket17158
new file mode 100644
index 000..f65053d
--- /dev/null
+++ b/changes/ticket17158
@@ -0,0 +1,7 @@
+  o Minor fixes (fallback directories):
+- Fix a display issue in updateFallbackDirs.py output.
+  Patch by "teor". Not in any released version of tor.
+
+  o Minor features (fallback directories):
+- Add default fallback directories for the 0.2.8 alpha releases.
+  Patch by "teor".
diff --git a/scripts/maint/fallback.blacklist b/scripts/maint/fallback.blacklist
index 919ae33..3c0f8fc 100644
--- a/scripts/maint/fallback.blacklist
+++ b/scripts/maint/fallback.blacklist
@@ -17,3 +17,25 @@
 # If a relay operator doesn't want their relay to be a FallbackDir,
 # enter the following information here:
 # : orport= id= ipv6=:
+
+# https://lists.torproject.org/pipermail/tor-relays/2015-December/008364.html
+87.181.248.227:9030 orport=443 id=8827944C4BDCBDAC9079803F47823403C11A9B7A
+
+# https://lists.torproject.org/pipermail/tor-relays/2015-December/008368.html
+149.18.2.82:9030 orport=9001 id=953DB709F2A2DECC8D7560661F934E64411444F7
+
+# https://lists.torproject.org/pipermail/tor-relays/2015-December/008384.html
+80.82.215.199:80 orport=443 id=3BEFAB76461B6B99DCF34C285E933562F5712AE4 
ipv6=[2001:4ba0:cafe:a18::1]:443
+
+# https://lists.torproject.org/pipermail/tor-relays/2016-January/008515.html
+# later opt-out in
+# https://lists.torproject.org/pipermail/tor-relays/2016-January/008521.html
+5.9.158.75:80 orport=443 id=F1BE15429B3CE696D6807F4D4A58B1BFEC45C822 
ipv6=[2a01:4f8:190:514a::2]:443
+
+# Email sent directly to teor, verified using relay contact info
+5.34.183.168:80 orport=443 id=601C92108A568742A7A6D9473FE3A414F7149070
+217.12.199.208:8080 orport=22 id=BCFB0933367D626715DA32A147F417194A5D48D6
+
+# https://lists.torproject.org/pipermail/tor-relays/2016-January/008555.html
+62.210.207.124:9030 orport=9001 id=58938B1A5C4029B4415D38A4F36B7724273F4755 
ipv6=[2001:bc8:31eb:100::1]:9001
+62.210.207.124:9130 orport=9101 id=338D0AB6DBAB7B529B9C91B2FD770658000693C4 
ipv6=[2001:bc8:31eb:100::1]:9101
diff --git a/scripts/maint/fallback.whitelist b/scripts/maint/fallback.whitelist
index a88dfaa..d5ddcd2 100644
--- a/scripts/maint/fallback.whitelist
+++ b/scripts/maint/fallback.whitelist
@@ -11,3 +11,90 @@
 # If a relay operator wants their relay to be a FallbackDir,
 # enter the following information here:
 # : orport= id= [ ipv6=: ]
+
+# https://lists.torproject.org/pipermail/tor-relays/2015-December/008362.html
+78.47.18.110:443 orport=80 id=F8D27B163B9247B232A2EEE68DD8B698695C28DE
+131.188.40.188:443 orport=80 id=EBE718E1A49EE229071702964F8DB1F318075FF8
+
+# https://lists.torproject.org/pipermail/tor-relays/2015-December/008363.html
+84.219.173.60:9030 orport=443 id=855BC2DABE24C861CD887DB9B2E950424B49FC34
+
+# https://lists.torproject.org/pipermail/tor-relays/2015-December/008365.html
+81.7.17.171:80 orport=443 id=00C4B4731658D3B4987132A3F77100CFCB190D97 
ipv6=[2a02:180:1:1::517:11ab]:443
+
+# https://lists.torproject.org/pipermail/tor-relays/2015-December/008366.html
+5.39.88.19:9030 orport=9001 id=7CB8C31432A796731EA7B6BF4025548DFEB25E0C 
ipv6=[2001:41d0:8:9a13::1]:9050
+
+# https://lists.torproject.org/pipermail/tor-relays/2015-December/008367.html
+# Email sent directly to teor with intended DirPort settings
+88.198.38.226:22 orport=443 id=4B9E2C56FB42B891794FE2CD2FCAD08A320CC3BB 
ipv6=[2a01:4f8:a0:1351::2]:80
+213.239.210.204:22 orport=443 id=5BFDECCE9B4A23AE14EC767C5A2C1E10558B00B9 
ipv6=[2a01:4f8:a0:9474::2]:80
+213.239.220.25:22 orport=443 id=BEE2317AE127EB681C5AE1551C1EA0630580638A 
ipv6=[2a01:4f8:a0:710c::2]:80
+85.10.201.38:22 orport=443 id=F6279A203C1950ACF592322A235647A05BFBCF91 
ipv6=[2a01:4f8:a0:43cc::2]:80
+
+# https://lists.torproject.org/pipermail/tor-relays/2015-December/008370.html
+# https://lists.torproject.org/pipermail/tor-relays/2016-January/008517.html
+# https://lists.torproject.org/pipermail/tor-relays/2016-January/008555.html
+62.210.124.124:9030 orport=9001 id=86E78DD3720C78DA8673182EF96C54B162CD660C 
ipv6=[2001:bc8:3f23:100::1]:9001
+62.210.124.124:9130 orport=9101 id=2EBD117806EE43C3CC885A8F1E4DC60F207E7D3E 
ipv6=[2001:bc8:3f23:100::1]:9101
+# 

[tor-commits] [tor/master] Fix a display issue in updateFallbackDirs.py output

2016-01-18 Thread nickm
commit efd2c9d05b3ef0f2b6b29a89056560bb80454d6f
Author: teor (Tim Wilson-Brown) 
Date:   Mon Jan 18 12:35:58 2016 +1100

Fix a display issue in updateFallbackDirs.py output
---
 scripts/maint/updateFallbackDirs.py |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/maint/updateFallbackDirs.py 
b/scripts/maint/updateFallbackDirs.py
index 5c9b320..fd7d350 100755
--- a/scripts/maint/updateFallbackDirs.py
+++ b/scripts/maint/updateFallbackDirs.py
@@ -1230,8 +1230,8 @@ def list_fallbacks():
 max_weight = max_weight_fb.fallback_weight_fraction(total_weight)
 if  max_weight > TARGET_MAX_WEIGHT_FRACTION:
   error_str  = 'Maximum fallback weight: %.3f%% exceeds target %.3f%%. '%(
-max_weight,
-TARGET_MAX_WEIGHT_FRACTION)
+  max_weight*100.0,
+  TARGET_MAX_WEIGHT_FRACTION*100.0)
   error_str += 'Try decreasing REWEIGHTING_FUDGE_FACTOR.'
   if STRICT_FALLBACK_WEIGHTS:
 print '#error ' + error_str



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [tor/master] Merge branch 'fallbacks-0281-squashed'

2016-01-18 Thread nickm
commit 7b6d7aae09ae2fe1b809c57d228c4de0bf72aa67
Merge: ab58f60 ab3c864
Author: Nick Mathewson 
Date:   Mon Jan 18 20:16:05 2016 -0500

Merge branch 'fallbacks-0281-squashed'

 changes/ticket17158 |7 ++
 scripts/maint/fallback.blacklist|   22 
 scripts/maint/fallback.whitelist|   87 +++
 scripts/maint/updateFallbackDirs.py |4 +-
 src/or/fallback_dirs.inc|  207 ++-
 5 files changed, 324 insertions(+), 3 deletions(-)

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [snowflake/master] Do simple HTTP POST signaling in the client.

2016-01-18 Thread dcf
commit e0b36d2f33ba39ec70a3014c0d49c0fc29751f92
Author: David Fifield 
Date:   Mon Jan 18 22:53:22 2016 -0800

Do simple HTTP POST signaling in the client.

This is just enough to be compatible with the HTTP signaling in the
server, and doesn't do domain fronting or anything like that. It's just
an interim replacement for the copy-paste FIFO signaling while we
continue to develop the other pieces that'll be dropped in the middle.
---
 client/meek-webrtc.go |   16 
 client/snowflake.go   |   31 ++-
 2 files changed, 38 insertions(+), 9 deletions(-)

diff --git a/client/meek-webrtc.go b/client/meek-webrtc.go
index 6a50bd1..d783781 100644
--- a/client/meek-webrtc.go
+++ b/client/meek-webrtc.go
@@ -82,3 +82,19 @@ func (m *MeekChannel) Negotiate(offer 
*webrtc.SessionDescription) (
answer := webrtc.DeserializeSessionDescription(string(body))
return answer, nil
 }
+
+// Simple interim non-fronting HTTP POST negotiation, to be removed when more
+// general fronting is present.
+func sendOfferHTTP(url string, offer *webrtc.SessionDescription) 
(*webrtc.SessionDescription, error) {
+   resp, err := http.Post(url, "", 
bytes.NewBuffer([]byte(offer.Serialize(
+   if err != nil {
+   return nil, err
+   }
+   defer resp.Body.Close()
+   body, err := ioutil.ReadAll(resp.Body)
+   if err != nil {
+   return nil, err
+   }
+   answer := webrtc.DeserializeSessionDescription(string(body))
+   return answer, nil
+}
diff --git a/client/snowflake.go b/client/snowflake.go
index 6bf6fe5..b42b17d 100644
--- a/client/snowflake.go
+++ b/client/snowflake.go
@@ -5,6 +5,7 @@ package main
 
 import (
"bufio"
+   "flag"
"fmt"
"io"
"log"
@@ -30,6 +31,7 @@ const (
 
 var ptInfo pt.ClientInfo
 var logFile *os.File
+var offerURL string
 
 // When a connection handler starts, +1 is written to this channel; when it
 // ends, -1 is written.
@@ -177,15 +179,23 @@ func dialWebRTC(config *webrtc.Configuration, meek 
*MeekChannel) (
fmt.Fprintln(logFile, "\n"+offer.Serialize()+"\n")
log.Printf("")
go func() {
-   log.Printf("Sending offer via meek...")
-   answer, err := meek.Negotiate(pc.LocalDescription())
-   if nil != err {
-   log.Printf("Signalling error: %s", err)
-   }
-   if nil == answer {
-   log.Printf("No answer received from meek 
channel.")
-   } else {
-   signalChan <- answer
+   // log.Printf("Sending offer via meek...")
+   // answer, err := meek.Negotiate(pc.LocalDescription())
+   // if nil != err {
+   //  log.Printf("Signalling error: %s", err)
+   // }
+   // if nil == answer {
+   //  log.Printf("No answer received from meek 
channel.")
+   // } else {
+   //  signalChan <- answer
+   // }
+   if offerURL != "" {
+   answer, err := sendOfferHTTP(offerURL, offer)
+   if err != nil {
+   log.Println(err)
+   } else {
+   signalChan <- answer
+   }
}
}()
}
@@ -307,6 +317,9 @@ func readSignalingMessages(f *os.File) {
 func main() {
var err error
 
+   flag.StringVar(, "url", "", "do signaling through URL")
+   flag.Parse()
+
logFile, err = os.OpenFile("snowflake.log", 
os.O_CREATE|os.O_APPEND|os.O_WRONLY, 0600)
if err != nil {
log.Fatal(err)

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [snowflake/master] Add an HTTP signaling receiver in the server.

2016-01-18 Thread dcf
commit ff7cc926f76913cdf1e061b78282499b0553bd25
Author: David Fifield 
Date:   Mon Jan 18 21:24:18 2016 -0800

Add an HTTP signaling receiver in the server.

This is a stand-in for some kind of faciliator that is separate from the
server transport plugin.
---
 server/http.go  |   67 +++
 server/snowflake.go |   15 
 server/torrc|2 +-
 3 files changed, 83 insertions(+), 1 deletion(-)

diff --git a/server/http.go b/server/http.go
new file mode 100644
index 000..99e03d0
--- /dev/null
+++ b/server/http.go
@@ -0,0 +1,67 @@
+// An HTTP-based signaling channel for the WebRTC server. It imitates the
+// facilitator as seen by clients, but it doesn't connect them to an
+// intermediate WebRTC proxy, rather connects them directly to this WebRTC
+// server. This code should be deleted when we have proxies in place.
+
+package main
+
+import (
+   "fmt"
+   "io/ioutil"
+   "log"
+   "net/http"
+
+   "github.com/keroserene/go-webrtc"
+)
+
+type httpHandler struct {
+   config *webrtc.Configuration
+}
+
+func (h *httpHandler) ServeHTTP(w http.ResponseWriter, req *http.Request) {
+   switch req.Method {
+   case "GET":
+   w.Header().Set("Content-Type", "text/plain; charset=utf-8")
+   w.WriteHeader(http.StatusOK)
+   w.Write([]byte(`HTTP signaling channel
+
+Send a POST request containing an SDP offer. The response will
+contain an SDP answer.
+`))
+   return
+   case "POST":
+   break
+   default:
+   http.Error(w, "Bad request.", http.StatusBadRequest)
+   return
+   }
+
+   // POST handling begins here.
+   body, err := ioutil.ReadAll(http.MaxBytesReader(w, req.Body, 10))
+   if err != nil {
+   http.Error(w, "Bad request.", http.StatusBadRequest)
+   return
+   }
+   offer := webrtc.DeserializeSessionDescription(string(body))
+   if offer == nil {
+   http.Error(w, "Bad request.", http.StatusBadRequest)
+   return
+   }
+
+   pc, err := makePeerConnectionFromOffer(offer, h.config)
+   if err != nil {
+   http.Error(w, fmt.Sprintf("Cannot create offer: %s", err), 
http.StatusInternalServerError)
+   return
+   }
+
+   log.Println("answering HTTP POST")
+
+   w.WriteHeader(http.StatusOK)
+   w.Write([]byte(pc.LocalDescription().Serialize()))
+}
+
+func receiveSignalsHTTP(addr string, config *webrtc.Configuration) error {
+   http.Handle("/", {config})
+   log.Printf("listening HTTP on %s", addr)
+   return http.ListenAndServe(addr, nil)
+}
diff --git a/server/snowflake.go b/server/snowflake.go
index 88a07d8..88eecca 100644
--- a/server/snowflake.go
+++ b/server/snowflake.go
@@ -2,6 +2,7 @@ package main
 
 import (
"bufio"
+   "flag"
"fmt"
"io"
"log"
@@ -214,6 +215,10 @@ func receiveSignalsFIFO(filename string, config 
*webrtc.Configuration) error {
 
 func main() {
var err error
+   var httpAddr string
+
+   flag.StringVar(, "http", "", "listen for HTTP signaling")
+   flag.Parse()
 
logFile, err = os.OpenFile("snowflake.log", 
os.O_CREATE|os.O_APPEND|os.O_WRONLY, 0600)
if err != nil {
@@ -240,6 +245,16 @@ func main() {
}
}()
 
+   // Start HTTP-based signaling receiver.
+   if httpAddr != "" {
+   go func() {
+   err := receiveSignalsHTTP(httpAddr, webRTCConfig)
+   if err != nil {
+   log.Printf("receiveSignalsHTTP: %s", err)
+   }
+   }()
+   }
+
for _, bindaddr := range ptInfo.Bindaddrs {
switch bindaddr.MethodName {
case ptMethodName:
diff --git a/server/torrc b/server/torrc
index 44b5964..db54242 100644
--- a/server/torrc
+++ b/server/torrc
@@ -5,4 +5,4 @@ SocksPort 0
 ExitPolicy reject *:*
 DataDirectory datadir
 
-ServerTransportPlugin snowflake exec ./server
+ServerTransportPlugin snowflake exec ./server -http 127.0.0.1:8080

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [snowflake/master] Refactor signal receiving in server.

2016-01-18 Thread dcf
commit ac8669b38f8b2a363b5f46036ea8e5de5a69c121
Author: David Fifield 
Date:   Mon Jan 18 21:13:08 2016 -0800

Refactor signal receiving in server.

There's one FIFO reader goroutine instead of one per bindaddr.
makePeerConnectionFromOffer gives you a PeerConnection with an answer
and also sets up callbacks to pass a webRTCConn to datachannelHandler
when ready.
---
 server/snowflake.go |  196 ++-
 1 file changed, 99 insertions(+), 97 deletions(-)

diff --git a/server/snowflake.go b/server/snowflake.go
index d046998..88a07d8 100644
--- a/server/snowflake.go
+++ b/server/snowflake.go
@@ -81,6 +81,8 @@ func (c *webRTCConn) SetWriteDeadline(t time.Time) error {
 }
 
 func datachannelHandler(conn *webRTCConn) {
+   defer conn.Close()
+
handlerChan <- 1
defer func() {
handlerChan <- -1
@@ -91,121 +93,123 @@ func datachannelHandler(conn *webRTCConn) {
log.Printf("Failed to connect to ORPort: " + err.Error())
return
}
-   //defer or.Close()
-
-   pr, pw := io.Pipe()
-   conn.pr = pr
-
-   dc := conn.dc
-   dc.OnOpen = func() {
-   log.Println("OnOpen channel")
-   }
-   dc.OnClose = func() {
-   log.Println("OnClose channel")
-   pw.Close()
-   }
-   dc.OnMessage = func(msg []byte) {
-   // log.Printf("OnMessage channel %d %+q", len(msg), msg)
-   log.Printf("OnMessage <--- %d bytes", len(msg))
-   n, err := pw.Write(msg)
-   if err != nil {
-   pw.CloseWithError(err)
-   }
-   if n != len(msg) {
-   panic("short write")
-   }
-   }
+   defer or.Close()
 
-   go copyLoop(conn, or)
+   copyLoop(conn, or)
 }
 
-func makePeerConnection(config *webrtc.Configuration) (*webrtc.PeerConnection, 
error) {
-   pc, err := webrtc.NewPeerConnection(config)
+// Create a PeerConnection from an SDP offer. Blocks until the gathering of ICE
+// candidates is complete and and answer is available in LocalDescription.
+// Installs an OnDataChannel callback that creates a webRTCConn and passes it 
to
+// datachannelHandler.
+func makePeerConnectionFromOffer(sdp *webrtc.SessionDescription, config 
*webrtc.Configuration) (*webrtc.PeerConnection, error) {
+   errChan := make(chan error)
+   answerChan := make(chan *webrtc.SessionDescription)
 
+   pc, err := webrtc.NewPeerConnection(config)
if err != nil {
-   log.Printf("NewPeerConnection: %s", err)
-   return nil, err
+   return nil, fmt.Errorf("accept: NewPeerConnection: %s", err)
}
pc.OnNegotiationNeeded = func() {
panic("OnNegotiationNeeded")
}
-   pc.OnDataChannel = func(dc *data.Channel) {
-   log.Println("OnDataChannel")
-   datachannelHandler({pc: pc, dc: dc})
-   }
pc.OnIceComplete = func() {
-   log.Printf("")
-   fmt.Fprintln(logFile, pc.LocalDescription().Serialize())
-   log.Printf("")
+   answerChan <- pc.LocalDescription()
}
-   return pc, nil
-}
+   pc.OnDataChannel = func(dc *data.Channel) {
+   log.Println("OnDataChannel")
 
-func readSignalingMessages(signalChan chan *webrtc.SessionDescription, f 
*os.File) {
-   s := bufio.NewScanner(f)
-   for s.Scan() {
-   msg := s.Text()
-   sdp := webrtc.DeserializeSessionDescription(msg)
-   if sdp == nil {
-   log.Printf("ignoring invalid signal message %+q", msg)
-   continue
+   pr, pw := io.Pipe()
+
+   dc.OnOpen = func() {
+   log.Println("OnOpen channel")
}
-   signalChan <- sdp
-   continue
-   }
-   if err := s.Err(); err != nil {
-   log.Printf("signal FIFO: %s", err)
+   dc.OnClose = func() {
+   log.Println("OnClose channel")
+   pw.Close()
+   }
+   dc.OnMessage = func(msg []byte) {
+   log.Printf("OnMessage <--- %d bytes", len(msg))
+   n, err := pw.Write(msg)
+   if err != nil {
+   pw.CloseWithError(err)
+   }
+   if n != len(msg) {
+   panic("short write")
+   }
+   }
+
+   conn := {pc: pc, dc: dc, pr: pr}
+   go datachannelHandler(conn)
}
-}
 
-func generateAnswer(pc *webrtc.PeerConnection) {
-   fmt.Println("Generating answer...")
-   answer, err := pc.CreateAnswer() // blocking
+   err = 

[tor-commits] [snowflake/master] Remove unused notImplemented error.

2016-01-18 Thread dcf
commit c9eeff6fc2517e2f3f4fca064194f0458531d355
Author: David Fifield 
Date:   Mon Jan 18 22:39:18 2016 -0800

Remove unused notImplemented error.
---
 client/snowflake.go |2 --
 1 file changed, 2 deletions(-)

diff --git a/client/snowflake.go b/client/snowflake.go
index da609b3..6bf6fe5 100644
--- a/client/snowflake.go
+++ b/client/snowflake.go
@@ -31,8 +31,6 @@ const (
 var ptInfo pt.ClientInfo
 var logFile *os.File
 
-var notImplemented = fmt.Errorf("not implemented")
-
 // When a connection handler starts, +1 is written to this channel; when it
 // ends, -1 is written.
 var handlerChan = make(chan int)

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [snowflake/master] Simpler instructions now for connecting directly to WebRTC server.

2016-01-18 Thread dcf
commit ff5d23b08c7d6301f06c478052cb7f8fea3f2f5b
Author: David Fifield 
Date:   Mon Jan 18 23:07:22 2016 -0800

Simpler instructions now for connecting directly to WebRTC server.
---
 README.md |   48 ++--
 1 file changed, 26 insertions(+), 22 deletions(-)

diff --git a/README.md b/README.md
index b1b35b4..7b6ca9f 100644
--- a/README.md
+++ b/README.md
@@ -14,48 +14,52 @@ There are currently two ways to try this:
 - Directly to the go-webrtc server plugin.
 - Through a browser snowflake proxy.
 
-Using the server plugin requires copy and pasting between 6 terminals.
+Using the server plugin uses an HTTP server that simulates the interaction
+that a client would have with a facilitator.
 Using the browser proxy (which will soon be the only way) requires copy and
 pasting between 3 terminals and a browser tab.
 Once a signalling facilitator is implemented 
 ([issue #1](https://github.com/keroserene/snowflake/issues/1))
 this will become much simpler to use.
 
-Setting up the client is the same in both cases.
-Open up three terminals for the **client:**
+# -- Via WebRTC Server --
 
+Edit server/torrc and add "-http 127.0.0.1:8080" to the end of the
+ServerTransportPlugin line:
 ```
-cd client/
-go build
+ServerTransportPlugin snowflake exec ./server -http 127.0.0.1:8080
 ```
 
-A: `tor -f torrc SOCKSPort auto`
-
-B: `cat > signal`
-
-C: `tail -F snowflake.log`
-
-# -- Via WebRTC Server --
+```
+cd server/
+go build
+tor -f torrc
+```
 
-To connect directly to a server plugin,
-open up another three terminals for the **server:**
+Edit client/torrc and add "-url http://127.0.0.1:8080; to the end of the
+ClientTransportPlugin line:
+```
+ClientTransportPlugin snowflake exec ./client -url http://127.0.0.1:8080/
+```
 
 ```
-cd server/
+cd client/
 go build
+tor -f torrc
 ```
 
-D: `tor -f torrc`
+At this point the tor client should bootstrap to 100%.
 
-E: `cat > signal`
+# -- Via Browser Proxy --
 
-F: `tail -F snowflake.log`
+Open up three terminals for the **client:**
 
-- Look for the offer in terminal C; copy and paste it into terminal E.
-- Copy and paste the answer in terminal F to terminal B.
-- At this point the tor client should bootstrap to 100%.
+A: `tor -f torrc SOCKSPort auto`
+
+B: `cat > signal`
+
+C: `tail -F snowflake.log`
 
-# -- Via Browser Proxy --
 
 To connect through the WebRTC browser proxy, first make sure
 coffeescript is installed. Then, build with:

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [snowflake/master] Remove the default -http option from server/torrc.

2016-01-18 Thread dcf
commit 5279e32e3e72771978fecf151498c4b1bd05dc7b
Author: David Fifield 
Date:   Mon Jan 18 23:03:42 2016 -0800

Remove the default -http option from server/torrc.

We'll ask people to insert it manually if they want to test that way.
---
 server/torrc |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/server/torrc b/server/torrc
index db54242..44b5964 100644
--- a/server/torrc
+++ b/server/torrc
@@ -5,4 +5,4 @@ SocksPort 0
 ExitPolicy reject *:*
 DataDirectory datadir
 
-ServerTransportPlugin snowflake exec ./server -http 127.0.0.1:8080
+ServerTransportPlugin snowflake exec ./server



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [check/master] Link to Atlas' search page for the connecting IP address

2016-01-18 Thread arlo
commit 62cb4cbf5924a2ca4c6ed842a9d4f8b477b1ef4d
Author: Arlo Breault 
Date:   Mon Jan 18 13:07:54 2016 -0800

Link to Atlas' search page for the connecting IP address

 * Instead of the details page of the fingerprint check thinks it knows,
   for the case where multiple nodes are being hosted at the same IP.

 * Trac 10499
---
 public/index.html |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/public/index.html b/public/index.html
index eb1195e..056884d 100644
--- a/public/index.html
+++ b/public/index.html
@@ -102,7 +102,7 @@
   {{ end }}
   
 {{ if .IsTor }}
-  {{ GetText .Lang "Please refer to the https://www.torproject.org/\;>Tor website for further information 
about using Tor safely.  You are now free to browse the Internet anonymously." 
| UnEscaped }} {{ GetText .Lang "For more information about this exit relay, 
see:" }} https://atlas.torproject.org/#details/{{ .Fingerprint 
}}">Atlas.
+  {{ GetText .Lang "Please refer to the https://www.torproject.org/\;>Tor website for further information 
about using Tor safely.  You are now free to browse the Internet anonymously." 
| UnEscaped }} {{ GetText .Lang "For more information about this exit relay, 
see:" }} https://atlas.torproject.org/#search/{{ .IP }}">Atlas.
 {{ else }}
   {{ GetText .Lang "If you are attempting to use a Tor client, please 
refer to the https://www.torproject.org/\;>Tor website and 
specifically the https://www.torproject.org/docs/faq#DoesntWork\;>instructions for 
configuring your Tor client." | UnEscaped }}
 {{ end }}

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits