[tor-commits] [tor-browser-bundle/hardened-builds] Update port for ndnop3 obfs4 bridge and add new ndnop5 obfs4 brige.
commit 4a27862b00cc8dce3ed9288dedb938b0fe0e8c05 Author: David FifieldDate: Mon Jan 18 13:53:58 2016 -0800 Update port for ndnop3 obfs4 bridge and add new ndnop5 obfs4 brige. ndnop3 is listening on a new port. It will continue listening on its old port too. ndnop5 is a new bridge with a different fingerprint. --- Bundle-Data/PTConfigs/bridge_prefs.js |3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Bundle-Data/PTConfigs/bridge_prefs.js b/Bundle-Data/PTConfigs/bridge_prefs.js index f4a8448..685c651 100644 --- a/Bundle-Data/PTConfigs/bridge_prefs.js +++ b/Bundle-Data/PTConfigs/bridge_prefs.js @@ -21,9 +21,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 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.2", "obfs4 109.105.109.165:10527 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.obfs4.5", "obfs4 109.105.109.147:13764 BBB28DF0F201E706BE564EFE690FE9577DD8386D cert=KfMQN/tNMFdda61hMgpiMI7pbwU1T+wxjTulYnfw+4sgvG0zSH7N7fwT10BI8MUdAD7iJA 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/master] Update port for ndnop3 obfs4 bridge and add new ndnop5 obfs4 brige.
commit 7699096ba7eacbd5e13bcf9abe2601a42da0b45d Author: David FifieldDate: Mon Jan 18 13:53:58 2016 -0800 Update port for ndnop3 obfs4 bridge and add new ndnop5 obfs4 brige. ndnop3 is listening on a new port. It will continue listening on its old port too. ndnop5 is a new bridge with a different fingerprint. --- Bundle-Data/PTConfigs/bridge_prefs.js |3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Bundle-Data/PTConfigs/bridge_prefs.js b/Bundle-Data/PTConfigs/bridge_prefs.js index f4a8448..685c651 100644 --- a/Bundle-Data/PTConfigs/bridge_prefs.js +++ b/Bundle-Data/PTConfigs/bridge_prefs.js @@ -21,9 +21,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 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.2", "obfs4 109.105.109.165:10527 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.obfs4.5", "obfs4 109.105.109.147:13764 BBB28DF0F201E706BE564EFE690FE9577DD8386D cert=KfMQN/tNMFdda61hMgpiMI7pbwU1T+wxjTulYnfw+4sgvG0zSH7N7fwT10BI8MUdAD7iJA 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/tails-misc_completed] Update translations for tails-misc_completed
commit f10bac0f2c9d4ce9f7a5fb7a410881c222057d9e Author: Translation commit botDate: Tue Jan 19 20:45:52 2016 + Update translations for tails-misc_completed --- fr.po |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fr.po b/fr.po index 4494f0e..8bf3022 100644 --- a/fr.po +++ b/fr.po @@ -21,8 +21,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-08 15:05+\n" +"POT-Creation-Date: 2016-01-11 21:00+0100\n" +"PO-Revision-Date: 2016-01-19 20:39+\n" "Last-Translator: Towinet\n" "Language-Team: French (http://www.transifex.com/otf/torproject/language/fr/)\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-misc] Update translations for tails-misc
commit 3449c7233c62a673a11abc047d41e9a10d4711c2 Author: Translation commit botDate: Tue Jan 19 20:45:48 2016 + Update translations for tails-misc --- fr.po |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fr.po b/fr.po index 4494f0e..8bf3022 100644 --- a/fr.po +++ b/fr.po @@ -21,8 +21,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-08 15:05+\n" +"POT-Creation-Date: 2016-01-11 21:00+0100\n" +"PO-Revision-Date: 2016-01-19 20:39+\n" "Last-Translator: Towinet\n" "Language-Team: French (http://www.transifex.com/otf/torproject/language/fr/)\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] [snowflake/master] Use chan struct{} instead
commit dcb901e4086636b3ed3248096021f23bb4363cda Author: Arlo BreaultDate: Tue Jan 19 13:41:19 2016 -0800 Use chan struct{} instead * Similar to a77ae6b771e5550b3a5370f7b1f2c0e434f4e9eb. --- server/snowflake.go | 12 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/server/snowflake.go b/server/snowflake.go index 88eecca..1da419f 100644 --- a/server/snowflake.go +++ b/server/snowflake.go @@ -100,12 +100,12 @@ func datachannelHandler(conn *webRTCConn) { } // Create a PeerConnection from an SDP offer. Blocks until the gathering of ICE -// candidates is complete and and answer is available in LocalDescription. +// candidates is complete and the 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) + answerChan := make(chan struct{}) pc, err := webrtc.NewPeerConnection(config) if err != nil { @@ -115,7 +115,7 @@ func makePeerConnectionFromOffer(sdp *webrtc.SessionDescription, config *webrtc. panic("OnNegotiationNeeded") } pc.OnIceComplete = func() { - answerChan <- pc.LocalDescription() + answerChan <- struct{}{} } pc.OnDataChannel = func(dc *data.Channel) { log.Println("OnDataChannel") @@ -170,7 +170,11 @@ func makePeerConnectionFromOffer(sdp *webrtc.SessionDescription, config *webrtc. case err = <-errChan: pc.Close() return nil, err - case <-answerChan: + case _, ok := <-answerChan: + if !ok { + pc.Close() + return nil, fmt.Errorf("Failed gathering ICE candidates.") + } } return pc, nil ___ 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
commit 362802385b94bf6f4eab0712169634fb5bf1744d Author: Translation commit botDate: Tue Jan 19 20:45:22 2016 + Update translations for tails-persistence-setup --- fr/fr.po | 53 +++-- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/fr/fr.po b/fr/fr.po index 9752424..28c9f9c 100644 --- a/fr/fr.po +++ b/fr/fr.po @@ -20,8 +20,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-19 20:39+\n" "Last-Translator: carolyn \n" "Language-Team: French (http://www.transifex.com/otf/torproject/language/fr/)\n" "MIME-Version: 1.0\n" @@ -135,71 +135,71 @@ msgid "" "Symlink into $HOME every file or directory found in the `dotfiles' directory" msgstr "Créer un lien symbolique, dans $HOME, vers chaque fichier ou dossier se trouvant dans le dossier `dotfiles'" -#: ../lib/Tails/Persistence/Setup.pm:227 +#: ../lib/Tails/Persistence/Setup.pm:230 msgid "Setup Tails persistent volume" msgstr "Configurer le volume persistant de 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 "Erreur" -#: ../lib/Tails/Persistence/Setup.pm:338 +#: ../lib/Tails/Persistence/Setup.pm:343 #, perl-format msgid "Device %s already has a persistent volume." msgstr "Le périphérique %s contient déjà un espace de stockage persistant." -#: ../lib/Tails/Persistence/Setup.pm:346 +#: ../lib/Tails/Persistence/Setup.pm:351 #, perl-format msgid "Device %s has not enough unallocated space." msgstr "Le périphérique %s n'a pas assez d'espace libre." -#: ../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 "Le périphérique %s n'a pas d'espace de stockage persistant." -#: ../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 "Impossible de supprimer le volume persistant pendant quâil est utilisé. Vous devez redémarrer Tails en désactivant la persistance." -#: ../lib/Tails/Persistence/Setup.pm:379 +#: ../lib/Tails/Persistence/Setup.pm:384 msgid "Persistence volume is not unlocked." msgstr "Le volume persistant est verrouillé." -#: ../lib/Tails/Persistence/Setup.pm:384 +#: ../lib/Tails/Persistence/Setup.pm:389 msgid "Persistence volume is not mounted." msgstr "Le volume persistant n'est pas monté." -#: ../lib/Tails/Persistence/Setup.pm:389 +#: ../lib/Tails/Persistence/Setup.pm:394 msgid "Persistence volume is not readable. Permissions or ownership problems?" msgstr "Le volume persistant nâest pas accessible en lecture. Peut-être un problème de permissions ?" -#: ../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 "Le volume persistant nâest pas accessible en écriture. Peut-être a-t-il été monté en lecture seule ?" -#: ../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 est lancé depuis le périphérique non-USB / non-SDIO %s." -#: ../lib/Tails/Persistence/Setup.pm:409 +#: ../lib/Tails/Persistence/Setup.pm:414 #, perl-format msgid "Device %s is optical." msgstr "Le périphérique %s est un lecteur optique." -#: ../lib/Tails/Persistence/Setup.pm:416 +#: ../lib/Tails/Persistence/Setup.pm:421 #, perl-format msgid "Device %s was not created using Tails Installer." msgstr "Le périphérique %s n'a pas été créé par Tails Installer." -#: ../lib/Tails/Persistence/Setup.pm:676 +#: ../lib/Tails/Persistence/Setup.pm:667 msgid "Persistence wizard - Finished" msgstr "Assistant de persistance - Terminé" -#: ../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" @@ -251,32 +251,33 @@ msgstr "La phrase de passe ne peut pas être vide" msgid "Passphrases do not match" msgstr "Les phrases de passe ne concordent pas" -#: ../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 "Ãchec" -#: ../lib/Tails/Persistence/Step/Bootstrap.pm:271 +#:
[tor-commits] [translation/tails-persistence-setup_completed] Update translations for tails-persistence-setup_completed
commit 3898d1e4fa3a7a8c08076c7c0e06a406a0f8b8ab Author: Translation commit botDate: Tue Jan 19 20:45:27 2016 + Update translations for tails-persistence-setup_completed --- fr/fr.po | 53 +++-- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/fr/fr.po b/fr/fr.po index 9752424..28c9f9c 100644 --- a/fr/fr.po +++ b/fr/fr.po @@ -20,8 +20,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-19 20:39+\n" "Last-Translator: carolyn \n" "Language-Team: French (http://www.transifex.com/otf/torproject/language/fr/)\n" "MIME-Version: 1.0\n" @@ -135,71 +135,71 @@ msgid "" "Symlink into $HOME every file or directory found in the `dotfiles' directory" msgstr "Créer un lien symbolique, dans $HOME, vers chaque fichier ou dossier se trouvant dans le dossier `dotfiles'" -#: ../lib/Tails/Persistence/Setup.pm:227 +#: ../lib/Tails/Persistence/Setup.pm:230 msgid "Setup Tails persistent volume" msgstr "Configurer le volume persistant de 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 "Erreur" -#: ../lib/Tails/Persistence/Setup.pm:338 +#: ../lib/Tails/Persistence/Setup.pm:343 #, perl-format msgid "Device %s already has a persistent volume." msgstr "Le périphérique %s contient déjà un espace de stockage persistant." -#: ../lib/Tails/Persistence/Setup.pm:346 +#: ../lib/Tails/Persistence/Setup.pm:351 #, perl-format msgid "Device %s has not enough unallocated space." msgstr "Le périphérique %s n'a pas assez d'espace libre." -#: ../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 "Le périphérique %s n'a pas d'espace de stockage persistant." -#: ../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 "Impossible de supprimer le volume persistant pendant quâil est utilisé. Vous devez redémarrer Tails en désactivant la persistance." -#: ../lib/Tails/Persistence/Setup.pm:379 +#: ../lib/Tails/Persistence/Setup.pm:384 msgid "Persistence volume is not unlocked." msgstr "Le volume persistant est verrouillé." -#: ../lib/Tails/Persistence/Setup.pm:384 +#: ../lib/Tails/Persistence/Setup.pm:389 msgid "Persistence volume is not mounted." msgstr "Le volume persistant n'est pas monté." -#: ../lib/Tails/Persistence/Setup.pm:389 +#: ../lib/Tails/Persistence/Setup.pm:394 msgid "Persistence volume is not readable. Permissions or ownership problems?" msgstr "Le volume persistant nâest pas accessible en lecture. Peut-être un problème de permissions ?" -#: ../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 "Le volume persistant nâest pas accessible en écriture. Peut-être a-t-il été monté en lecture seule ?" -#: ../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 est lancé depuis le périphérique non-USB / non-SDIO %s." -#: ../lib/Tails/Persistence/Setup.pm:409 +#: ../lib/Tails/Persistence/Setup.pm:414 #, perl-format msgid "Device %s is optical." msgstr "Le périphérique %s est un lecteur optique." -#: ../lib/Tails/Persistence/Setup.pm:416 +#: ../lib/Tails/Persistence/Setup.pm:421 #, perl-format msgid "Device %s was not created using Tails Installer." msgstr "Le périphérique %s n'a pas été créé par Tails Installer." -#: ../lib/Tails/Persistence/Setup.pm:676 +#: ../lib/Tails/Persistence/Setup.pm:667 msgid "Persistence wizard - Finished" msgstr "Assistant de persistance - Terminé" -#: ../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" @@ -251,32 +251,33 @@ msgstr "La phrase de passe ne peut pas être vide" msgid "Passphrases do not match" msgstr "Les phrases de passe ne concordent pas" -#: ../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 "Ãchec" -#: ../lib/Tails/Persistence/Step/Bootstrap.pm:271 +#:
[tor-commits] [translation/tails-perl5lib_completed] Update translations for tails-perl5lib_completed
commit 01950f634c52041b10c1cd22b7df20d17ca84161 Author: Translation commit botDate: Tue Jan 19 20:46:14 2016 + Update translations for tails-perl5lib_completed --- fr.po | 23 +-- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/fr.po b/fr.po index 6fc7603..ebce126 100644 --- a/fr.po +++ b/fr.po @@ -3,22 +3,33 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Bronner Matthieu , 2016 msgid "" msgstr "" "Project-Id-Version: The Tor Project\n" "Report-Msgid-Bugs-To: Tails developers \n" -"POT-Creation-Date: 2013-11-28 11:56+0100\n" -"PO-Revision-Date: 2013-12-30 04:50+\n" -"Last-Translator: Phoul \n" -"Language-Team: French (http://www.transifex.com/projects/p/torproject/language/fr/)\n" +"POT-Creation-Date: 2016-01-11 15:40+0100\n" +"PO-Revision-Date: 2016-01-19 20:40+\n" +"Last-Translator: Bronner Matthieu \n" +"Language-Team: French (http://www.transifex.com/otf/torproject/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: ../lib/Tails/RunningSystem.pm:139 +#: ../lib/Tails/RunningSystem.pm:159 +msgid "Error" +msgstr "Erreur" + +#: ../lib/Tails/RunningSystem.pm:161 msgid "" "The device Tails is running from cannot be found. Maybe you used the `toram'" " option?" -msgstr "Le périphérique depuis lequel Tails fonctionne nâa pas été trouvé. Peut-être avez-vous utilisé lâoption âtoramâ ?" +msgstr "Le périphérique depuis lequel Tails est exécuté nâa pas été trouvé. Peut-être avez-vous utilisé lâoption âtoramâ ?" + +#: ../lib/Tails/RunningSystem.pm:192 +msgid "" +"The drive Tails is running from cannot be found. Maybe you used the `toram' " +"option?" +msgstr "Le périphérique depuis lequel Tails est exécuté nâa pas été trouvé. Peut-être avez-vous utilisé lâoption âtoramâ ?" ___ 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
commit 675f0be7b7545df132f836a1de8ac87fcd44fc7a Author: Translation commit botDate: Tue Jan 19 20:46:09 2016 + Update translations for tails-perl5lib --- fr.po | 11 ++- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/fr.po b/fr.po index 9dd25d4..ebce126 100644 --- a/fr.po +++ b/fr.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Bronner Matthieu , 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-19 20:40+\n" +"Last-Translator: Bronner Matthieu \n" "Language-Team: French (http://www.transifex.com/otf/torproject/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,16 +20,16 @@ msgstr "" #: ../lib/Tails/RunningSystem.pm:159 msgid "Error" -msgstr "" +msgstr "Erreur" #: ../lib/Tails/RunningSystem.pm:161 msgid "" "The device Tails is running from cannot be found. Maybe you used the `toram'" " option?" -msgstr "Le périphérique depuis lequel Tails fonctionne nâa pas été trouvé. Peut-être avez-vous utilisé lâoption âtoramâ ?" +msgstr "Le périphérique depuis lequel Tails est exécuté nâa pas été trouvé. Peut-être avez-vous utilisé lâoption âtoramâ ?" #: ../lib/Tails/RunningSystem.pm:192 msgid "" "The drive Tails is running from cannot be found. Maybe you used the `toram' " "option?" -msgstr "" +msgstr "Le périphérique depuis lequel Tails est exécuté nâa pas été trouvé. Peut-être avez-vous utilisé lâoption âtoramâ ?" ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [snowflake/master] begin appengine rendezvous component - domain fronting works,
commit e4e068640f26bc070199bc9d7ba661bb14d2e25a Author: Serene HanDate: Mon Jan 18 10:53:22 2016 -0800 begin appengine rendezvous component - domain fronting works, although it just reflects the offer. next step is to retrieve browser proxy answer (#1) --- client/meek-webrtc.go | 19 + client/snowflake.go | 13 ++--- rendezvous/app.yaml | 10 +++ rendezvous/config.go| 16 +++ rendezvous/snowflake-reg.go | 65 +++ 5 files changed, 113 insertions(+), 10 deletions(-) diff --git a/client/meek-webrtc.go b/client/meek-webrtc.go index d783781..927d4bf 100644 --- a/client/meek-webrtc.go +++ b/client/meek-webrtc.go @@ -5,6 +5,7 @@ package main import ( "bytes" "io/ioutil" + "log" "net/http" "net/url" @@ -31,8 +32,9 @@ func NewRequestInfo(meekUrl string, front string) *RequestInfo { return nil } info.URL = requestUrl - info.Host = info.URL.Host - info.URL.Host = front + info.Host = front + // info.URL.Host = front + // info.Host = info.URL.Host return info } @@ -57,13 +59,13 @@ func NewMeekChannel(info *RequestInfo) *MeekChannel { // Do an HTTP roundtrip using the payload data in buf. func (m *MeekChannel) roundTripHTTP(buf []byte) (*http.Response, error) { - req, err := http.NewRequest("POST", m.info.URL.String(), bytes.NewReader(buf)) + // Compose an innocent looking request. + req, err := http.NewRequest("POST", m.info.Host+"/reg/123", bytes.NewReader(buf)) if nil != err { return nil, err } - if "" != m.info.Host { - req.Host = m.info.Host - } + // Set actually desired target host. + req.Host = m.info.URL.String() // req.Header.Set("X-Session-Id", m.info.SessionID) return m.transport.RoundTrip(req) } @@ -78,7 +80,12 @@ func (m *MeekChannel) Negotiate(offer *webrtc.SessionDescription) ( return nil, err } defer resp.Body.Close() + log.Println("MeekChannel Response: ", resp) body, err := ioutil.ReadAll(resp.Body) + if nil != err { + return nil, err + } + log.Println("MeekChannel Body: ", string(body)) answer := webrtc.DeserializeSessionDescription(string(body)) return answer, nil } diff --git a/client/snowflake.go b/client/snowflake.go index b42b17d..7da1e15 100644 --- a/client/snowflake.go +++ b/client/snowflake.go @@ -25,8 +25,9 @@ import ( // Hard-coded meek signalling channel for now. // TODO: expose as param const ( - MEEK_URL = "not implemented yet" - FRONT_DOMAIN = "www.google.com" + MEEK_URL = "snowflake-reg.appspot.com" + FRONT_DOMAIN = "https://www.google.com; + // FRONT_DOMAIN = "https://www.google.com; ) var ptInfo pt.ClientInfo @@ -187,7 +188,11 @@ func dialWebRTC(config *webrtc.Configuration, meek *MeekChannel) ( // if nil == answer { // log.Printf("No answer received from meek channel.") // } else { - // signalChan <- answer + // // TODO: Once this is correct, uncomment and remove copy-paste + // // signalling. + // log.Println("Recieved answer from Meek channel: \n", + // answer.Serialize()) + // // signalChan <- answer // } if offerURL != "" { answer, err := sendOfferHTTP(offerURL, offer) @@ -207,7 +212,7 @@ func dialWebRTC(config *webrtc.Configuration, meek *MeekChannel) ( pc.Close() return nil, fmt.Errorf("no answer received") } - log.Printf("got answer %s", answer.Serialize()) + log.Printf("Received Answer: %s", answer.Serialize()) err = pc.SetRemoteDescription(answer) if err != nil { pc.Close() diff --git a/rendezvous/README.md b/rendezvous/README.md new file mode 100644 index 000..e69de29 diff --git a/rendezvous/app.yaml b/rendezvous/app.yaml new file mode 100644 index 000..14fcf0a --- /dev/null +++ b/rendezvous/app.yaml @@ -0,0 +1,10 @@ +# override this with appcfg.py -A $YOUR_APP_ID +application: snowflake-reg +version: 1 +runtime: go +api_version: go1 + +handlers: +- url: /.* + script: _go_app + secure: always diff --git a/rendezvous/config.go b/rendezvous/config.go new file mode 100644 index 000..eabbe65 --- /dev/null +++ b/rendezvous/config.go @@ -0,0 +1,16 @@ +/* +This is the server-side code that runs on Google App Engine for the +"appspot" registration method. + +See doc/appspot-howto.txt for more details about setting up an +application, and advice on
[tor-commits] [nyx/master] Update *.order nyxrc options
commit ef124821cb63d6b567a589de38a55c9b01ba6c68 Author: Damian JohnsonDate: Tue Jan 19 09:21:46 2016 -0800 Update *.order nyxrc options Good point from Derrick Oswald that trying to run nyx with our sample nyxrc errors... ValueError: The 'MAN PAGE ENTRY' entry of config entry 'features.config.order' wasn't in the enumeration (expected NAME, VALUE, VALUE_TYPE, CATEGORY, USAGE, SUMMARY, DESCRIPTION, MAN_PAGE_ENTRY, IS_SET) Options were no longer in sync with what nyx supported. Some were renamed, and a few removed. --- nyxrc.sample | 24 +++- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/nyxrc.sample b/nyxrc.sample index d6bc93c..03dd833 100644 --- a/nyxrc.sample +++ b/nyxrc.sample @@ -88,15 +88,15 @@ features.log.maxRefreshRate 300 # order # three comma separated configuration attributes, options including: # -# * Category -# * Option Name -# * Value -# * Arg Type -# * Arg Usage -# * Summary -# * Description -# * Man Page Entry -# * Is Default +# * NAME +# * VALUE +# * VALUE_TYPE +# * CATEGORY +# * USAGE +# * SUMMARY +# * DESCRIPTION +# * MAN_PAGE_ENTRY +# * IS_SET # # state.showPrivateOptions # tor provides config options of the form "__" that can be dangerous @@ -109,7 +109,7 @@ features.log.maxRefreshRate 300 # file.maxLinesPerEntry # max number of lines to display for a single entry in the torrc -features.config.order Man Page Entry, Option Name, Is Default +features.config.order MAN_PAGE_ENTRY, NAME, IS_SET features.config.state.showPrivateOptions false features.config.state.showVirtualOptions false features.config.file.showScrollbars true @@ -169,10 +169,8 @@ features.graph.bw.accounting.show true # # * CATEGORY # * UPTIME -# * LISTING # * IP_ADDRESS # * PORT -# * HOSTNAME # * FINGERPRINT # * NICKNAME # * COUNTRY @@ -184,7 +182,7 @@ features.graph.bw.accounting.show true # shows ip addresses for other tor relays, dropping this information if # false -features.connection.order CATEGORY, LISTING, UPTIME +features.connection.order CATEGORY, IP_ADDRESS, UPTIME features.connection.resolveApps true features.connection.showIps true ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [stem/master] Unexpected OSError from proc's connections() funciton
commit 3d4825791fd4258eecbc290842d031df8a75fefa Author: Damian JohnsonDate: Tue Jan 19 09:43:48 2016 -0800 Unexpected OSError from proc's connections() funciton We're documented as raising an IOError but our os.listdir() can potentially raise an exexpected OSError... Exception in thread Thread-5: Traceback (most recent call last): File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner self.run() File "/home/pi/nyx/nyx/util/tracker.py", line 382, in run is_successful = self._task(self._process_pid, self._process_name) File "/home/pi/nyx/nyx/util/tracker.py", line 503, in _task for conn in connection.get_connections(resolver, process_pid = process_pid, process_name = process_name): File "/usr/local/lib/python2.7/dist-packages/stem/util/connection.py", line 195, in get_connections return [Connection(*conn) for conn in stem.util.proc.connections(process_pid)] File "/usr/local/lib/python2.7/dist-packages/stem/util/proc.py", line 358, in connections for fd in os.listdir('/proc/%s/fd' % pid): OSError: [Errno 13] Permission denied: '/proc/32443/fd' Caught thanks to Derrick Oswald. --- stem/util/proc.py |7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/stem/util/proc.py b/stem/util/proc.py index 8093075..5d2219c 100644 --- a/stem/util/proc.py +++ b/stem/util/proc.py @@ -355,7 +355,12 @@ def connections(pid): start_time, parameter = time.time(), 'process connections' inodes = [] - for fd in os.listdir('/proc/%s/fd' % pid): + try: +fd_contents = os.listdir('/proc/%s/fd' % pid) + except OSError as exc: +raise IOError('Unable to read our file descriptors: %s' % exc) + + for fd in fd_contents: fd_path = '/proc/%s/fd/%s' % (pid, fd) try: ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/master] Make sure that tests for domain sockets only run on OSes with domain sockets
commit 32946e2c9652d28c988466cfc7c3e6ca6007b114 Author: Ola BiniDate: Tue Jan 19 11:14:41 2016 -0500 Make sure that tests for domain sockets only run on OSes with domain sockets --- src/test/test_options.c |2 ++ 1 file changed, 2 insertions(+) diff --git a/src/test/test_options.c b/src/test/test_options.c index ed05811..91aae68 100644 --- a/src/test/test_options.c +++ b/src/test/test_options.c @@ -3221,6 +3221,7 @@ test_options_validate__control(void *ignored) "controller as soon as possible.\n"); tor_free(msg); +#ifdef HAVE_SYS_UN_H free_options_test_data(tdata); tdata = get_options_test_data(TEST_OPTIONS_DEFAULT_VALUES "ControlSocket unix:/tmp WorldWritable\n" @@ -3282,6 +3283,7 @@ test_options_validate__control(void *ignored) "can reconfigure your Tor. That's bad! You should upgrade your " "Tor controller as soon as possible.\n"); tor_free(msg); +#endif free_options_test_data(tdata); tdata = get_options_test_data(TEST_OPTIONS_DEFAULT_VALUES ___ 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 'twstrike/options_test'
commit ae3d2a93f0cbf05803d358b2e86de1f79f103669 Merge: f557a7f 32946e2 Author: Nick MathewsonDate: Tue Jan 19 20:14:18 2016 -0500 Merge remote-tracking branch 'twstrike/options_test' src/test/test_options.c | 10 ++ 1 file changed, 6 insertions(+), 4 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [snowflake/master] consolidate RequestInfo into MeekChannel with a simplified Negotiate method
commit 5e9b23de9e1878eee073ef63664f12e3949708ba Author: Serene HanDate: Tue Jan 19 18:06:40 2016 -0800 consolidate RequestInfo into MeekChannel with a simplified Negotiate method --- client/meek-webrtc.go | 80 + client/snowflake.go |9 ++ 2 files changed, 37 insertions(+), 52 deletions(-) diff --git a/client/meek-webrtc.go b/client/meek-webrtc.go index 172c1b5..df59e98 100644 --- a/client/meek-webrtc.go +++ b/client/meek-webrtc.go @@ -1,5 +1,5 @@ // Exchange WebRTC SessionDescriptions over a domain-fronted HTTP -// signalling channel. +// signaling channel. package main import ( @@ -12,71 +12,60 @@ import ( "github.com/keroserene/go-webrtc" ) -// RequestInfo encapsulates all the configuration used for a requestâresponse -// roundtrip, including variables that may come from SOCKS args or from the -// command line. -type RequestInfo struct { - // What to put in the X-Session-ID header - SessionID string - // The desired potentially filtered URL to request. - URL *url.URL +// Meek Signalling Channel. +type MeekChannel struct { // The Host header to put in the HTTP request (optional and may be // different from the host name in URL). - Host string + Hoststring + Method string + trueURL *url.URL + externalUrl string + transport http.Transport // Used to make all requests. } -func NewRequestInfo(targetUrl string, front string) *RequestInfo { - info := new(RequestInfo) - requestUrl, err := url.Parse(targetUrl) +// Construct a new MeekChannel, where +// |broker| is the URL of the facilitating program which assigns proxies +// to clients, and +// |front| is URL of the front domain. +func NewMeekChannel(broker string, front string) *MeekChannel { + targetUrl, err := url.Parse(broker) if nil != err { return nil } - info.URL = requestUrl - info.Host = front - return info -} + mc := new(MeekChannel) + mc.Host = front + mc.Method = "POST" -// Meek Signalling Channel. -type MeekChannel struct { - info *RequestInfo - // Used to make all requests. - transport http.Transport -} + mc.trueURL = targetUrl + mc.externalUrl = front + "/reg/test" // TODO: Have a better suffix. -func NewMeekChannel(info *RequestInfo) *MeekChannel { - m := new(MeekChannel) // We make a copy of DefaultTransport because we want the default Dial // and TLSHandshakeTimeout settings. But we want to disable the default - // ProxyFromEnvironment setting. Proxy is overridden below if - // options.ProxyURL is set. - m.transport = *http.DefaultTransport.(*http.Transport) - m.transport.Proxy = nil - m.info = info - return m + // ProxyFromEnvironment setting. + mc.transport = *http.DefaultTransport.(*http.Transport) + mc.transport.Proxy = nil + return mc } -// Do an HTTP roundtrip using the payload data in buf. -func (mc *MeekChannel) roundTripHTTP(buf []byte) (*http.Response, error) { - // Compose an innocent looking request. - req, err := http.NewRequest("POST", mc.info.Host+"/reg/123", bytes.NewReader(buf)) +// Roundtrip HTTP POST using WebRTC SessionDescriptions. +// +// Sends an SDP offer to the meek broker, which assigns a proxy and responds +// with an SDP answer from a designated remote WebRTC peer. +func (mc *MeekChannel) Negotiate(offer *webrtc.SessionDescription) ( + *webrtc.SessionDescription, error) { + data := bytes.NewReader([]byte(offer.Serialize())) + request, err := http.NewRequest(mc.Method, mc.externalUrl, data) if nil != err { return nil, err } - // Set actually desired host in the request. - req.Host = mc.info.URL.String() - // req.Header.Set("X-Session-Id", m.info.SessionID) - return mc.transport.RoundTrip(req) -} - -// Send an SDP offer to the meek facilitator, and wait for an SDP answer from -// the assigned proxy in the response. -func (mc *MeekChannel) Negotiate(offer *webrtc.SessionDescription) ( - *webrtc.SessionDescription, error) { - resp, err := mc.roundTripHTTP([]byte(offer.Serialize())) + request.Host = mc.trueURL.String() + resp, err := mc.transport.RoundTrip(request) if nil != err { return nil, err } defer resp.Body.Close() log.Println("MeekChannel Response: ", resp) + body, err := ioutil.ReadAll(resp.Body) if nil != err { return nil, err @@ -85,7 +74,6 @@ func (mc *MeekChannel) Negotiate(offer *webrtc.SessionDescription) ( return answer, nil } - // Simple interim non-fronting HTTP POST negotiation, to be removed when more // general fronting is present. func sendOfferHTTP(url string, offer
[tor-commits] [snowflake/master] add --meek flag to client to toggle the domain fronted rendezvous
commit b4a07c4192841ded1906e3e74a5e4fec6b5c3f65 Author: Serene HanDate: Tue Jan 19 17:21:07 2016 -0800 add --meek flag to client to toggle the domain fronted rendezvous --- README.md |7 +++ client/meek-webrtc.go | 34 +++--- client/snowflake.go | 46 +++--- 3 files changed, 45 insertions(+), 42 deletions(-) diff --git a/README.md b/README.md index 7b6ca9f..f0b7678 100644 --- a/README.md +++ b/README.md @@ -88,4 +88,11 @@ snowflake to just use a default relay. ### More +To try using the Meek signaling channel (which will soon be fully ready), +add the `--meek` flag like so: + +``` +ClientTransportPlugin snowflake exec ./client --meek +``` + More documentation on the way. diff --git a/client/meek-webrtc.go b/client/meek-webrtc.go index 927d4bf..172c1b5 100644 --- a/client/meek-webrtc.go +++ b/client/meek-webrtc.go @@ -1,5 +1,5 @@ -// Exchange WebRTC SessionDescriptions over meek. -// Much of this source is extracted from meek-client.go. +// Exchange WebRTC SessionDescriptions over a domain-fronted HTTP +// signalling channel. package main import ( @@ -16,29 +16,26 @@ import ( // roundtrip, including variables that may come from SOCKS args or from the // command line. type RequestInfo struct { - // What to put in the X-Session-ID header. - // SessionID string - // The URL to request. + // What to put in the X-Session-ID header - SessionID string + // The desired potentially filtered URL to request. URL *url.URL // The Host header to put in the HTTP request (optional and may be // different from the host name in URL). Host string } -func NewRequestInfo(meekUrl string, front string) *RequestInfo { +func NewRequestInfo(targetUrl string, front string) *RequestInfo { info := new(RequestInfo) - requestUrl, err := url.Parse(meekUrl) + requestUrl, err := url.Parse(targetUrl) if nil != err { return nil } info.URL = requestUrl info.Host = front - // info.URL.Host = front - // info.Host = info.URL.Host return info } -// Meek Signalling Channel +// Meek Signalling Channel. type MeekChannel struct { info *RequestInfo // Used to make all requests. @@ -58,24 +55,23 @@ func NewMeekChannel(info *RequestInfo) *MeekChannel { } // Do an HTTP roundtrip using the payload data in buf. -func (m *MeekChannel) roundTripHTTP(buf []byte) (*http.Response, error) { +func (mc *MeekChannel) roundTripHTTP(buf []byte) (*http.Response, error) { // Compose an innocent looking request. - req, err := http.NewRequest("POST", m.info.Host+"/reg/123", bytes.NewReader(buf)) + req, err := http.NewRequest("POST", mc.info.Host+"/reg/123", bytes.NewReader(buf)) if nil != err { return nil, err } - // Set actually desired target host. - req.Host = m.info.URL.String() + // Set actually desired host in the request. + req.Host = mc.info.URL.String() // req.Header.Set("X-Session-Id", m.info.SessionID) - return m.transport.RoundTrip(req) + return mc.transport.RoundTrip(req) } // Send an SDP offer to the meek facilitator, and wait for an SDP answer from // the assigned proxy in the response. -func (m *MeekChannel) Negotiate(offer *webrtc.SessionDescription) ( +func (mc *MeekChannel) Negotiate(offer *webrtc.SessionDescription) ( *webrtc.SessionDescription, error) { - buf := []byte(offer.Serialize()) - resp, err := m.roundTripHTTP(buf) + resp, err := mc.roundTripHTTP([]byte(offer.Serialize())) if nil != err { return nil, err } @@ -85,11 +81,11 @@ func (m *MeekChannel) Negotiate(offer *webrtc.SessionDescription) ( if nil != err { return nil, err } - log.Println("MeekChannel Body: ", string(body)) 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) { diff --git a/client/snowflake.go b/client/snowflake.go index 7da1e15..cf08c9e 100644 --- a/client/snowflake.go +++ b/client/snowflake.go @@ -25,14 +25,15 @@ import ( // Hard-coded meek signalling channel for now. // TODO: expose as param const ( - MEEK_URL = "snowflake-reg.appspot.com" - FRONT_DOMAIN = "https://www.google.com; - // FRONT_DOMAIN = "https://www.google.com; + // Go fully requires the protocol to make url spec + FRONT_URL = "https://www.google.com; + BROKER_URL = "snowflake-reg.appspot.com" ) var ptInfo pt.ClientInfo var logFile *os.File var offerURL string +var meekEnabled bool
[tor-commits] [snowflake/master] rename rendezvous to broker
commit 62e6704d1f3cbafd843369da6a53d97a2b8eb615 Author: Serene HanDate: Tue Jan 19 18:07:59 2016 -0800 rename rendezvous to broker --- broker/app.yaml | 10 +++ broker/config.go| 16 +++ broker/snowflake-broker.go | 65 +++ rendezvous/app.yaml | 10 --- rendezvous/config.go| 16 --- rendezvous/snowflake-reg.go | 65 --- 6 files changed, 91 insertions(+), 91 deletions(-) diff --git a/broker/README.md b/broker/README.md new file mode 100644 index 000..e69de29 diff --git a/broker/app.yaml b/broker/app.yaml new file mode 100644 index 000..14fcf0a --- /dev/null +++ b/broker/app.yaml @@ -0,0 +1,10 @@ +# override this with appcfg.py -A $YOUR_APP_ID +application: snowflake-reg +version: 1 +runtime: go +api_version: go1 + +handlers: +- url: /.* + script: _go_app + secure: always diff --git a/broker/config.go b/broker/config.go new file mode 100644 index 000..55d1e69 --- /dev/null +++ b/broker/config.go @@ -0,0 +1,16 @@ +/* +This is the server-side code that runs on Google App Engine for the +"appspot" registration method. + +See doc/appspot-howto.txt for more details about setting up an +application, and advice on running one. + +To upload a new version: +$ torify ~/go_appengine/appcfg.py --no_cookies -A $YOUR_APP_ID update . +*/ +package snowflake_broker + +// host:port/basepath of the facilitator you want to register with +// for example, fp-facilitator.org or example.com:12345/facilitator +// https:// and /reg/ will be prepended and appended respectively. +const SNOWFLAKE_FACILITATOR = "" diff --git a/broker/snowflake-broker.go b/broker/snowflake-broker.go new file mode 100644 index 000..784f2da --- /dev/null +++ b/broker/snowflake-broker.go @@ -0,0 +1,65 @@ +package snowflake_broker + +import ( + // "io" + "io/ioutil" + "log" + "net" + "net/http" + "path" + + // "appengine" + // "appengine/urlfetch" +) + +// This is an intermediate step - a basic hardcoded appengine rendezvous +// to a single browser snowflake. + +var snowflakeProxy = "" + +func robotsTxtHandler(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Content-Type", "text/plain; charset=utf-8") + w.Write([]byte("User-agent: *\nDisallow:\n")) +} + +func ipHandler(w http.ResponseWriter, r *http.Request) { + remoteAddr := r.RemoteAddr + if net.ParseIP(remoteAddr).To4() == nil { + remoteAddr = "[" + remoteAddr + "]" + } + w.Header().Set("Content-Type", "text/plain; charset=utf-8") + w.Write([]byte(remoteAddr)) +} + +/* +Expects a WebRTC SDP offer in the Request to give to an assigned +snowflake proxy, which responds with the SDP answer to be sent in +the HTTP response back to the client. +*/ +func regHandler(w http.ResponseWriter, r *http.Request) { + // TODO: Maybe don't pass anything on path, since it will always be bidirectional + dir, _ := path.Split(path.Clean(r.URL.Path)) + if dir != "/reg/" { + http.NotFound(w, r) + return + } + body, err := ioutil.ReadAll(r.Body) + if nil != err { + return + log.Println("Invalid data.") + } + + // TODO: Get browser snowflake to talkto this appengine instance + // so it can reply with an answer, and not just the offer again :) + // TODO: Real facilitator which matches clients and snowflake proxies. + w.Write(body) +} + +func init() { + http.HandleFunc("/robots.txt", robotsTxtHandler) + http.HandleFunc("/ip", ipHandler) + http.HandleFunc("/reg/", regHandler) + // if SNOWFLAKE_FACILITATOR == "" { + // panic("SNOWFLAKE_FACILITATOR empty; did you forget to edit config.go?") + // } +} diff --git a/rendezvous/README.md b/rendezvous/README.md deleted file mode 100644 index e69de29..000 diff --git a/rendezvous/app.yaml b/rendezvous/app.yaml deleted file mode 100644 index 14fcf0a..000 --- a/rendezvous/app.yaml +++ /dev/null @@ -1,10 +0,0 @@ -# override this with appcfg.py -A $YOUR_APP_ID -application: snowflake-reg -version: 1 -runtime: go -api_version: go1 - -handlers: -- url: /.* - script: _go_app - secure: always diff --git a/rendezvous/config.go b/rendezvous/config.go deleted file mode 100644 index eabbe65..000 --- a/rendezvous/config.go +++ /dev/null @@ -1,16 +0,0 @@ -/* -This is the server-side code that runs on Google App Engine for the -"appspot" registration method. - -See doc/appspot-howto.txt for more details about setting up an -application, and advice on running one. - -To upload a new version: -$ torify ~/go_appengine/appcfg.py --no_cookies -A $YOUR_APP_ID update . -*/ -package snowflake_reg - -// host:port/basepath of the facilitator you want to register with -// for example, fp-facilitator.org or
[tor-commits] [snowflake/master] s/facilitator/broker/
commit 5c166f50156d6ca05d896b9b04d45aac02147bf3 Author: Arlo BreaultDate: Tue Jan 19 21:52:03 2016 -0800 s/facilitator/broker/ --- README.md |6 +++--- broker/config.go |6 +++--- broker/snowflake-broker.go |6 +++--- proxy/snowflake.coffee |8 server/http.go |2 +- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index f0b7678..4213ba7 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ A Pluggable Transport using WebRTC - Successfully bootstraps over WebRTC, both directly to a server plugin, as well as through the browser which proxies WebRTC to websocket. -- Needs work on signaling with the facilitator. +- Needs work on signaling with the broker. ### Usage @@ -15,10 +15,10 @@ There are currently two ways to try this: - Through a browser snowflake proxy. Using the server plugin uses an HTTP server that simulates the interaction -that a client would have with a facilitator. +that a client would have with a broker. 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 +Once a signaling broker is implemented ([issue #1](https://github.com/keroserene/snowflake/issues/1)) this will become much simpler to use. diff --git a/broker/config.go b/broker/config.go index 55d1e69..7e250aa 100644 --- a/broker/config.go +++ b/broker/config.go @@ -10,7 +10,7 @@ $ torify ~/go_appengine/appcfg.py --no_cookies -A $YOUR_APP_ID update . */ package snowflake_broker -// host:port/basepath of the facilitator you want to register with -// for example, fp-facilitator.org or example.com:12345/facilitator +// host:port/basepath of the broker you want to register with +// for example, fp-broker.org or example.com:12345/broker // https:// and /reg/ will be prepended and appended respectively. -const SNOWFLAKE_FACILITATOR = "" +const SNOWFLAKE_BROKER = "" diff --git a/broker/snowflake-broker.go b/broker/snowflake-broker.go index 784f2da..6bcff63 100644 --- a/broker/snowflake-broker.go +++ b/broker/snowflake-broker.go @@ -51,7 +51,7 @@ func regHandler(w http.ResponseWriter, r *http.Request) { // TODO: Get browser snowflake to talkto this appengine instance // so it can reply with an answer, and not just the offer again :) - // TODO: Real facilitator which matches clients and snowflake proxies. + // TODO: Real broker which matches clients and snowflake proxies. w.Write(body) } @@ -59,7 +59,7 @@ func init() { http.HandleFunc("/robots.txt", robotsTxtHandler) http.HandleFunc("/ip", ipHandler) http.HandleFunc("/reg/", regHandler) - // if SNOWFLAKE_FACILITATOR == "" { - // panic("SNOWFLAKE_FACILITATOR empty; did you forget to edit config.go?") + // if SNOWFLAKE_BROKER == "" { + // panic("SNOWFLAKE_BROKER empty; did you forget to edit config.go?") // } } diff --git a/proxy/snowflake.coffee b/proxy/snowflake.coffee index df7c163..a7f64a8 100644 --- a/proxy/snowflake.coffee +++ b/proxy/snowflake.coffee @@ -77,7 +77,7 @@ class Snowflake @rateLimit = new BucketRateLimit(rateLimitBytes * RATE_LIMIT_HISTORY, RATE_LIMIT_HISTORY) - # TODO: Should fetch from facilitator later. + # TODO: Should fetch from broker later. setRelayAddr: (relayAddr) -> addr = Parse.address relayAddr if !addr @@ -116,10 +116,10 @@ class Snowflake promise = @proxyPair.pc.createAnswer next promise.then next if promise - # Poll facilitator when this snowflake can support more clients. + # Poll broker when this snowflake can support more clients. proxyMain: -> if @proxyPairs.length >= MAX_NUM_CLIENTS * CONNECTIONS_PER_CLIENT - setTimeout(@proxyMain, @facilitator_poll_interval * 1000) + setTimeout(@proxyMain, @broker_poll_interval * 1000) return params = [['r', '1']] params.push ['transport', 'websocket'] @@ -185,7 +185,7 @@ Interface = $input.focus() # Signalling channel - just tells user to copy paste to the peer. -# Eventually this should go over the facilitator. +# Eventually this should go over the broker. Signalling = send: (msg) -> log ' Please copy the below to peer \n' diff --git a/server/http.go b/server/http.go index 99e03d0..f0ecb88 100644 --- a/server/http.go +++ b/server/http.go @@ -1,5 +1,5 @@ // 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 +// broker 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. ___ tor-commits mailing list tor-commits@lists.torproject.org
[tor-commits] [snowflake/master] Skip creating the named pipe on the client if we're using http signaling
commit 0abb3bd8567aa4dd902030a896ec6edba5b68518 Author: Arlo BreaultDate: Tue Jan 19 21:44:23 2016 -0800 Skip creating the named pipe on the client if we're using http signaling * Blocks waiting on the open for write (`cat > signal`), at least for me. --- client/snowflake.go | 22 -- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/client/snowflake.go b/client/snowflake.go index 61fd46c..076080d 100644 --- a/client/snowflake.go +++ b/client/snowflake.go @@ -331,19 +331,21 @@ func main() { log.Println("starting") - // This FIFO receives signaling messages. - err = syscall.Mkfifo("signal", 0600) - if err != nil { - if err.(syscall.Errno) != syscall.EEXIST { + if offerURL == "" { + // This FIFO receives signaling messages. + err = syscall.Mkfifo("signal", 0600) + if err != nil { + if err.(syscall.Errno) != syscall.EEXIST { + log.Fatal(err) + } + } + signalFile, err := os.OpenFile("signal", os.O_RDONLY, 0600) + if err != nil { log.Fatal(err) } + defer signalFile.Close() + go readSignalingMessages(signalFile) } - signalFile, err := os.OpenFile("signal", os.O_RDONLY, 0600) - if err != nil { - log.Fatal(err) - } - defer signalFile.Close() - go readSignalingMessages(signalFile) webrtc.SetLoggingVerbosity(1) ___ 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] Refine the memwipe() arguments check for 18089 a little more.
commit e2efa9e321972709933b6b9a68da035e1a91aa08 Author: Nick MathewsonDate: Tue Jan 19 08:28:58 2016 -0500 Refine the memwipe() arguments check for 18089 a little more. We still silently ignore memwipe(NULL, ch, 0); and memwipe(ptr, ch, 0); /* for ptr != NULL */ But we now assert on: memwipe(NULL, ch, 30); --- src/common/crypto.c |4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/common/crypto.c b/src/common/crypto.c index 4e0b383..8402ca0 100644 --- a/src/common/crypto.c +++ b/src/common/crypto.c @@ -3030,9 +3030,11 @@ 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) { + if (sz == 0) { return; } + /* If sz is nonzero, then mem must not be NULL. */ + tor_assert(mem != NULL); /* Data this large is likely to be an underflow. */ tor_assert(sz < SIZE_T_CEILING); ___ 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
commit 534a0ba59b4d772b0e3e6a1dfc5050d534fdb9fc Merge: 8335b1f e2efa9e Author: Nick MathewsonDate: Tue Jan 19 08:30:39 2016 -0500 Merge branch 'maint-0.2.6' into maint-0.2.7 src/common/crypto.c |4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) ___ 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'
commit f557a7f327d6574018f836e6d7ba767a6082c491 Merge: 7b6d7aa 534a0ba Author: Nick MathewsonDate: Tue Jan 19 08:30:48 2016 -0500 Merge branch 'maint-0.2.7' src/common/crypto.c |4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [torspec/master] prop246: Change status to needs-research
commit a4053594a34b141c5f05af54a7d15f1bf22952d9 Author: David GouletDate: Mon Jan 18 10:20:15 2016 +0100 prop246: Change status to needs-research Signed-off-by: David Goulet --- proposals/000-index.txt |5 +++-- proposals/246-merge-hsdir-and-intro.txt | 10 +- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/proposals/000-index.txt b/proposals/000-index.txt index 411093b..3199b7c 100644 --- a/proposals/000-index.txt +++ b/proposals/000-index.txt @@ -166,7 +166,7 @@ Proposals by number: 243 Give out HSDir flag only to relays with Stable flag [CLOSED] 244 Use RFC5705 Key Exporting in our AUTHENTICATE calls [ACCEPTED] 245 Deprecating and removing the TAP circuit extension protocol [DRAFT] -246 Merging Hidden Service Directories and Introduction Points [OPEN] +246 Merging Hidden Service Directories and Introduction Points [NEEDS-RESEARCH] 247 Defending Against Guard Discovery Attacks using Vanguards [DRAFT] 248 Remove all RSA identity keys [DRAFT] 249 Allow CREATE cells with >505 bytes of handshake data [DRAFT] @@ -217,6 +217,8 @@ Proposals by status: 266 Removing current obsolete clients from the Tor network NEEDS-REVISION: 190 Bridge Client Authorization Based on a Shared Secret + NEEDS-RESEARCH: + 246 Merging Hidden Service Directories and Introduction Points OPEN: 164 Reporting the status of server votes 165 Easy migration for voting authority sets @@ -239,7 +241,6 @@ Proposals by status: 236 The move to a single guard node 237 All relays are directory servers [for 0.2.7.x] 242 Better performance and usability for the MyFamily option - 246 Merging Hidden Service Directories and Introduction Points 256 Key revocation for relays and authorities 258 Denial-of-service resistance for directory authorities 261 AEZ for relay cryptography diff --git a/proposals/246-merge-hsdir-and-intro.txt b/proposals/246-merge-hsdir-and-intro.txt index 874714f..ece27d7 100644 --- a/proposals/246-merge-hsdir-and-intro.txt +++ b/proposals/246-merge-hsdir-and-intro.txt @@ -2,7 +2,12 @@ Filename: 246-merge-hsdir-and-intro.txt Title: Merging Hidden Service Directories and Introduction Points Author: John Brooks, George Kadianakis Created: 2015-07-12 -Status: Open +Status: Needs-Research + +Change history: + + 18-Jan-2016 Changed status to "Needs-Research" after discussion in email +thread [1]. 1. Overview and Motivation @@ -294,3 +299,6 @@ Status: Open [XXX: 224 makes them consensus parameters, which we can keep, but they can still only be changed on a network-wide basis. -special] +References: + +[1] : https://lists.torproject.org/pipermail/tor-dev/2016-January/010203.html ___ 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
commit 534a0ba59b4d772b0e3e6a1dfc5050d534fdb9fc Merge: 8335b1f e2efa9e Author: Nick MathewsonDate: Tue Jan 19 08:30:39 2016 -0500 Merge branch 'maint-0.2.6' into maint-0.2.7 src/common/crypto.c |4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/master] Refine the memwipe() arguments check for 18089 a little more.
commit e2efa9e321972709933b6b9a68da035e1a91aa08 Author: Nick MathewsonDate: Tue Jan 19 08:28:58 2016 -0500 Refine the memwipe() arguments check for 18089 a little more. We still silently ignore memwipe(NULL, ch, 0); and memwipe(ptr, ch, 0); /* for ptr != NULL */ But we now assert on: memwipe(NULL, ch, 30); --- src/common/crypto.c |4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/common/crypto.c b/src/common/crypto.c index 4e0b383..8402ca0 100644 --- a/src/common/crypto.c +++ b/src/common/crypto.c @@ -3030,9 +3030,11 @@ 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) { + if (sz == 0) { return; } + /* If sz is nonzero, then mem must not be NULL. */ + tor_assert(mem != NULL); /* Data this large is likely to be an underflow. */ tor_assert(sz < SIZE_T_CEILING); ___ 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.6] Refine the memwipe() arguments check for 18089 a little more.
commit e2efa9e321972709933b6b9a68da035e1a91aa08 Author: Nick MathewsonDate: Tue Jan 19 08:28:58 2016 -0500 Refine the memwipe() arguments check for 18089 a little more. We still silently ignore memwipe(NULL, ch, 0); and memwipe(ptr, ch, 0); /* for ptr != NULL */ But we now assert on: memwipe(NULL, ch, 30); --- src/common/crypto.c |4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/common/crypto.c b/src/common/crypto.c index 4e0b383..8402ca0 100644 --- a/src/common/crypto.c +++ b/src/common/crypto.c @@ -3030,9 +3030,11 @@ 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) { + if (sz == 0) { return; } + /* If sz is nonzero, then mem must not be NULL. */ + tor_assert(mem != NULL); /* Data this large is likely to be an underflow. */ tor_assert(sz < SIZE_T_CEILING); ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [torbutton/master] Bug 18019: Empty prompt shown after non-en-US update
commit 00a735a2284fe0bf90018b2f93a3ee8c47036ecd Author: Kathy BradeDate: Thu Jan 14 16:41:25 2016 -0500 Bug 18019: Empty prompt shown after non-en-US update Avoid displaying the "request English language web pages?" prompt on non-HTTP pages. Previously, the prompt was displayed when the about:tbupdate page was opened and, on Linux at least, the prompt dialog came up blank. To avoid a similar problem in the case where someone sets their homepage to an HTTP page, we delay showing the prompt for two seconds when the URL of the page that is being loaded matches one of the configured home page URLs. Remove references to the following obsolete Firefox preferences: intl.accept_charsets intl.charsetmenu.browser.cache Remove the following unused default preferences: extensions.torbutton.saved.accept_charsets extensions.torbutton.spoof_charset extensions.torbutton.spoof_language extensions.torbutton.spoof_locale Remove the following unused entity from all dtd files: torbutton.prefs.spoof_english --- src/chrome/content/torbutton.js | 153 --- src/chrome/locale/af/torbutton.dtd |1 - src/chrome/locale/ak/torbutton.dtd |1 - src/chrome/locale/am/torbutton.dtd |1 - src/chrome/locale/ar/torbutton.dtd |1 - src/chrome/locale/arn/torbutton.dtd |1 - src/chrome/locale/ast/torbutton.dtd |1 - src/chrome/locale/az/torbutton.dtd |1 - src/chrome/locale/be/torbutton.dtd |1 - src/chrome/locale/bg/torbutton.dtd |1 - src/chrome/locale/bms/torbutton.dtd |1 - src/chrome/locale/bn-IN/torbutton.dtd |1 - src/chrome/locale/bn/torbutton.dtd |1 - src/chrome/locale/bo/torbutton.dtd |1 - src/chrome/locale/br/torbutton.dtd |1 - src/chrome/locale/bs/torbutton.dtd |1 - src/chrome/locale/ca/torbutton.dtd |1 - src/chrome/locale/cs/torbutton.dtd |1 - src/chrome/locale/csb/torbutton.dtd |1 - src/chrome/locale/cy/torbutton.dtd |1 - src/chrome/locale/da/torbutton.dtd |1 - src/chrome/locale/de/torbutton.dtd |1 - src/chrome/locale/dz/torbutton.dtd |1 - src/chrome/locale/el/torbutton.dtd |1 - src/chrome/locale/en/torbutton.dtd |1 - src/chrome/locale/eo/torbutton.dtd |1 - src/chrome/locale/es/torbutton.dtd |1 - src/chrome/locale/et/torbutton.dtd |1 - src/chrome/locale/eu/torbutton.dtd |1 - src/chrome/locale/fa/torbutton.dtd |1 - src/chrome/locale/fi/torbutton.dtd |1 - src/chrome/locale/fil/torbutton.dtd |1 - src/chrome/locale/fo/torbutton.dtd |1 - src/chrome/locale/fr/torbutton.dtd |1 - src/chrome/locale/fur/torbutton.dtd |1 - src/chrome/locale/fy/torbutton.dtd |1 - src/chrome/locale/ga/torbutton.dtd |1 - src/chrome/locale/gl/torbutton.dtd |1 - src/chrome/locale/gu/torbutton.dtd |1 - src/chrome/locale/gun/torbutton.dtd |1 - src/chrome/locale/ha/torbutton.dtd |1 - src/chrome/locale/he/torbutton.dtd |1 - src/chrome/locale/hi/torbutton.dtd |1 - src/chrome/locale/hr/torbutton.dtd |1 - src/chrome/locale/ht/torbutton.dtd |1 - src/chrome/locale/hu/torbutton.dtd |1 - src/chrome/locale/hy/torbutton.dtd |1 - src/chrome/locale/id/torbutton.dtd |1 - src/chrome/locale/is/torbutton.dtd |1 - src/chrome/locale/it/torbutton.dtd |1 - src/chrome/locale/ja/torbutton.dtd |1 - src/chrome/locale/jv/torbutton.dtd |1 - src/chrome/locale/ka/torbutton.dtd |1 - src/chrome/locale/km/torbutton.dtd |1 - src/chrome/locale/kn/torbutton.dtd |1 - src/chrome/locale/ko/torbutton.dtd |1 - src/chrome/locale/ku/torbutton.dtd |1 - src/chrome/locale/kw/torbutton.dtd |1 - src/chrome/locale/ky/torbutton.dtd |1 - src/chrome/locale/lb/torbutton.dtd |1 - src/chrome/locale/lg/torbutton.dtd |1 - src/chrome/locale/ln/torbutton.dtd |1 - src/chrome/locale/lo/torbutton.dtd |1 - src/chrome/locale/lt/torbutton.dtd |1 - src/chrome/locale/lv/torbutton.dtd |1 - src/chrome/locale/mg/torbutton.dtd |1 - src/chrome/locale/mi/torbutton.dtd |1 - src/chrome/locale/mk/torbutton.dtd |1 - src/chrome/locale/ml/torbutton.dtd |1 - src/chrome/locale/mn/torbutton.dtd |1 - src/chrome/locale/mr/torbutton.dtd |1 - src/chrome/locale/ms/torbutton.dtd |1 - src/chrome/locale/mt/torbutton.dtd |1 - src/chrome/locale/my/torbutton.dtd |1 - src/chrome/locale/nah/torbutton.dtd |1 - src/chrome/locale/nap/torbutton.dtd |1 - src/chrome/locale/nb/torbutton.dtd
[tor-commits] [stem/master] Updating Stem's benchmarks
commit 8ed728cbba5c8622e0138cea19a9edd9e256f145 Author: Damian JohnsonDate: Tue Jan 19 08:58:55 2016 -0800 Updating Stem's benchmarks Changed our benchmark script by using parse_file() rather than the DescriptorReader. Didn't make a big difference, but did lower our runtime by about 5%. --- docs/tutorials/mirror_mirror_on_the_wall.rst | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/tutorials/mirror_mirror_on_the_wall.rst b/docs/tutorials/mirror_mirror_on_the_wall.rst index 656d228..e5b423e 100644 --- a/docs/tutorials/mirror_mirror_on_the_wall.rst +++ b/docs/tutorials/mirror_mirror_on_the_wall.rst @@ -290,10 +290,10 @@ Bridge Pool Assignments :red:`No` :green:`Yes`:red:`No` Torperf :red:`No` :green:`Yes`:red:`No` Tordnsel:green:`Yes` :green:`Yes`:red:`No` **Benchmarks** -Server Descriptors :green:`0.63 ms` :green:`0.29 ms` :green:`0.46 ms` -Extrainfo Descriptors :green:`0.42 ms` :green:`0.22 ms` :red:`unsupported` -Microdescriptors:green:`0.34 ms` :green:`0.07 ms` :red:`unsupported` -Consensus :green:`876.09 ms`:green:`246.71 ms` :green:`83.00 ms` +Server Descriptors :green:`0.60 ms` :green:`0.29 ms` :green:`0.46 ms` +Extrainfo Descriptors :green:`0.40 ms` :green:`0.22 ms` :red:`unsupported` +Microdescriptors:green:`0.33 ms` :green:`0.07 ms` :red:`unsupported` +Consensus :green:`865.72 ms`:green:`246.71 ms` :green:`83.00 ms` Benchmarked With Commit :green:`c01a9cd` :green:`8767f3e` :green:`2380e55` Language Interpreter:green:`Python 3.5.1` :green:`Java 1.7.0` :green:`Go 1.5.2` === = === == @@ -304,7 +304,7 @@ Few things to note about these benchmarks... reading from tarballs. * Your Python version makes a very large difference for Stem. For instance, - with Python 2.7 reading a consensus takes **1,393.10 ms** (almost twice as + with Python 2.7 reading a consensus takes **1,290.84 ms** (almost twice as long). * Metrics-lib and Stem can both read from compressed tarballs at a small ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits