[tor-commits] [tor-browser-bundle/hardened-builds] Update port for ndnop3 obfs4 bridge and add new ndnop5 obfs4 brige.

2016-01-19 Thread gk
commit 4a27862b00cc8dce3ed9288dedb938b0fe0e8c05
Author: David Fifield 
Date:   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.

2016-01-19 Thread gk
commit 7699096ba7eacbd5e13bcf9abe2601a42da0b45d
Author: David Fifield 
Date:   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

2016-01-19 Thread translation
commit f10bac0f2c9d4ce9f7a5fb7a410881c222057d9e
Author: Translation commit bot 
Date:   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

2016-01-19 Thread translation
commit 3449c7233c62a673a11abc047d41e9a10d4711c2
Author: Translation commit bot 
Date:   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

2016-01-19 Thread arlo
commit dcb901e4086636b3ed3248096021f23bb4363cda
Author: Arlo Breault 
Date:   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

2016-01-19 Thread translation
commit 362802385b94bf6f4eab0712169634fb5bf1744d
Author: Translation commit bot 
Date:   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

2016-01-19 Thread translation
commit 3898d1e4fa3a7a8c08076c7c0e06a406a0f8b8ab
Author: Translation commit bot 
Date:   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

2016-01-19 Thread translation
commit 01950f634c52041b10c1cd22b7df20d17ca84161
Author: Translation commit bot 
Date:   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

2016-01-19 Thread translation
commit 675f0be7b7545df132f836a1de8ac87fcd44fc7a
Author: Translation commit bot 
Date:   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,

2016-01-19 Thread arlo
commit e4e068640f26bc070199bc9d7ba661bb14d2e25a
Author: Serene Han 
Date:   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

2016-01-19 Thread atagar
commit ef124821cb63d6b567a589de38a55c9b01ba6c68
Author: Damian Johnson 
Date:   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

2016-01-19 Thread atagar
commit 3d4825791fd4258eecbc290842d031df8a75fefa
Author: Damian Johnson 
Date:   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

2016-01-19 Thread nickm
commit 32946e2c9652d28c988466cfc7c3e6ca6007b114
Author: Ola Bini 
Date:   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'

2016-01-19 Thread nickm
commit ae3d2a93f0cbf05803d358b2e86de1f79f103669
Merge: f557a7f 32946e2
Author: Nick Mathewson 
Date:   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

2016-01-19 Thread arlo
commit 5e9b23de9e1878eee073ef63664f12e3949708ba
Author: Serene Han 
Date:   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

2016-01-19 Thread arlo
commit b4a07c4192841ded1906e3e74a5e4fec6b5c3f65
Author: Serene Han 
Date:   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

2016-01-19 Thread arlo
commit 62e6704d1f3cbafd843369da6a53d97a2b8eb615
Author: Serene Han 
Date:   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/

2016-01-19 Thread arlo
commit 5c166f50156d6ca05d896b9b04d45aac02147bf3
Author: Arlo Breault 
Date:   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

2016-01-19 Thread arlo
commit 0abb3bd8567aa4dd902030a896ec6edba5b68518
Author: Arlo Breault 
Date:   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.

2016-01-19 Thread nickm
commit e2efa9e321972709933b6b9a68da035e1a91aa08
Author: Nick Mathewson 
Date:   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

2016-01-19 Thread nickm
commit 534a0ba59b4d772b0e3e6a1dfc5050d534fdb9fc
Merge: 8335b1f e2efa9e
Author: Nick Mathewson 
Date:   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'

2016-01-19 Thread nickm
commit f557a7f327d6574018f836e6d7ba767a6082c491
Merge: 7b6d7aa 534a0ba
Author: Nick Mathewson 
Date:   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

2016-01-19 Thread dgoulet
commit a4053594a34b141c5f05af54a7d15f1bf22952d9
Author: David Goulet 
Date:   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

2016-01-19 Thread nickm
commit 534a0ba59b4d772b0e3e6a1dfc5050d534fdb9fc
Merge: 8335b1f e2efa9e
Author: Nick Mathewson 
Date:   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.

2016-01-19 Thread nickm
commit e2efa9e321972709933b6b9a68da035e1a91aa08
Author: Nick Mathewson 
Date:   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.

2016-01-19 Thread nickm
commit e2efa9e321972709933b6b9a68da035e1a91aa08
Author: Nick Mathewson 
Date:   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

2016-01-19 Thread gk
commit 00a735a2284fe0bf90018b2f93a3ee8c47036ecd
Author: Kathy Brade 
Date:   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

2016-01-19 Thread atagar
commit 8ed728cbba5c8622e0138cea19a9edd9e256f145
Author: Damian Johnson 
Date:   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