[tor-commits] [translation/tails-openpgp-applet_completed] Update translations for tails-openpgp-applet_completed

2018-09-12 Thread translation
commit 44b650622472d37f61cf5a2476e766ab7e6c2f22
Author: Translation commit bot 
Date:   Wed Sep 12 23:16:28 2018 +

Update translations for tails-openpgp-applet_completed
---
 es_AR/openpgp-applet.pot | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/es_AR/openpgp-applet.pot b/es_AR/openpgp-applet.pot
index 2d14bcb97..c62357059 100644
--- a/es_AR/openpgp-applet.pot
+++ b/es_AR/openpgp-applet.pot
@@ -11,7 +11,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: ta...@boum.org\n"
 "POT-Creation-Date: 2017-08-05 15:07-0400\n"
-"PO-Revision-Date: 2018-09-12 22:46+\n"
+"PO-Revision-Date: 2018-09-12 22:47+\n"
 "Last-Translator: Zuhualime Akoochimoya\n"
 "Language-Team: Spanish (Argentina) 
(http://www.transifex.com/otf/torproject/language/es_AR/)\n"
 "MIME-Version: 1.0\n"
@@ -38,7 +38,7 @@ msgstr "Acerca de"
 
 #: bin/openpgp-applet:232
 msgid "Encrypt Clipboard with _Passphrase"
-msgstr "Cifrar el portapapeles con _Frase de contraseña"
+msgstr "Encriptar el portapapeles con _Frase de contraseña"
 
 #: bin/openpgp-applet:235
 msgid "Sign/Encrypt Clipboard with Public _Keys"

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


[tor-commits] [translation/tails-openpgp-applet] Update translations for tails-openpgp-applet

2018-09-12 Thread translation
commit 5400b0a003eae4f9c08a61acfe03864a7c8a24c2
Author: Translation commit bot 
Date:   Wed Sep 12 23:16:23 2018 +

Update translations for tails-openpgp-applet
---
 es_AR/openpgp-applet.pot | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/es_AR/openpgp-applet.pot b/es_AR/openpgp-applet.pot
index 2d14bcb97..c62357059 100644
--- a/es_AR/openpgp-applet.pot
+++ b/es_AR/openpgp-applet.pot
@@ -11,7 +11,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: ta...@boum.org\n"
 "POT-Creation-Date: 2017-08-05 15:07-0400\n"
-"PO-Revision-Date: 2018-09-12 22:46+\n"
+"PO-Revision-Date: 2018-09-12 22:47+\n"
 "Last-Translator: Zuhualime Akoochimoya\n"
 "Language-Team: Spanish (Argentina) 
(http://www.transifex.com/otf/torproject/language/es_AR/)\n"
 "MIME-Version: 1.0\n"
@@ -38,7 +38,7 @@ msgstr "Acerca de"
 
 #: bin/openpgp-applet:232
 msgid "Encrypt Clipboard with _Passphrase"
-msgstr "Cifrar el portapapeles con _Frase de contraseña"
+msgstr "Encriptar el portapapeles con _Frase de contraseña"
 
 #: bin/openpgp-applet:235
 msgid "Sign/Encrypt Clipboard with Public _Keys"

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


[tor-commits] [translation/tails-openpgp-applet_completed] Update translations for tails-openpgp-applet_completed

2018-09-12 Thread translation
commit 032075b4ac090d2a0e56849ce93fa3495e9a9518
Author: Translation commit bot 
Date:   Wed Sep 12 22:46:29 2018 +

Update translations for tails-openpgp-applet_completed
---
 es_AR/openpgp-applet.pot | 9 +
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/es_AR/openpgp-applet.pot b/es_AR/openpgp-applet.pot
index 28821866e..2d14bcb97 100644
--- a/es_AR/openpgp-applet.pot
+++ b/es_AR/openpgp-applet.pot
@@ -5,13 +5,14 @@
 # Translators:
 # Joaquín Serna, 2017
 # psss , 2016
+# Zuhualime Akoochimoya, 2018
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: ta...@boum.org\n"
 "POT-Creation-Date: 2017-08-05 15:07-0400\n"
-"PO-Revision-Date: 2018-04-12 19:13+\n"
-"Last-Translator: yamila gonzalez \n"
+"PO-Revision-Date: 2018-09-12 22:46+\n"
+"Last-Translator: Zuhualime Akoochimoya\n"
 "Language-Team: Spanish (Argentina) 
(http://www.transifex.com/otf/torproject/language/es_AR/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -21,11 +22,11 @@ msgstr ""
 
 #: bin/openpgp-applet:160
 msgid "You are about to exit OpenPGP Applet. Are you sure?"
-msgstr "Estas a punto de abandonar el Applet de OpenPGP, ¿estas seguro?"
+msgstr "Estás a punto de abandonar el Applet de OpenPGP, ¿estás seguro?"
 
 #: bin/openpgp-applet:172
 msgid "OpenPGP encryption applet"
-msgstr "Applet de cifrado OpenPGP"
+msgstr "Applet de encriptación OpenPGP"
 
 #: bin/openpgp-applet:175
 msgid "Exit"

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


[tor-commits] [translation/tor_animation] Update translations for tor_animation

2018-09-12 Thread translation
commit 2125adcaa9baa90d0c5337ded5a21f196927ef59
Author: Translation commit bot 
Date:   Wed Sep 12 22:47:04 2018 +

Update translations for tor_animation
---
 es_AR.srt | 53 +
 1 file changed, 33 insertions(+), 20 deletions(-)

diff --git a/es_AR.srt b/es_AR.srt
index 667c08d6d..1d25f5816 100644
--- a/es_AR.srt
+++ b/es_AR.srt
@@ -9,7 +9,7 @@ acerca de nosotros y de nuestra vida privada:
 
 3
 00:00:08,000 --> 00:00:09,960
-La comida que ingerimos, la gente que conocemos,
+la comida que ingerimos, la gente que conocemos,
 
 4
 00:00:10,180 --> 00:00:12,480
@@ -70,75 +70,88 @@ voluntariamente alrededor del mundo.
 
 16
 00:00:50,280 --> 00:00:53,520
-lo cual nos permite a nosotros comunicarnos anónimamente por Internet.
+lo cual nos permite comunicarnos
+anónimamente por Internet.
 
 17
 00:00:56,560 --> 00:00:58,280
-Tor también proteje tu información
+Tor también proteje nuestros datos
 
 18
 00:00:58,400 --> 00:01:01,900
-encontra de corporaciones o gobiernos
+en contra de vigilancia dirigida y masiva
+por parte de corporaciones o gobiernos.
 
 19
 00:01:02,880 --> 00:01:07,340
-Quizas vivis en un pais represivo el cual trata de controlar y monitorear la 
internet.
+Quizás vivís en un país represivo
+el cual trata de controlar y vigilar Internet.
 
 20
 00:01:07,900 --> 00:01:11,800
-O quizás no querés que grandes corporaciones manipulen tu información 
personal.
+O quizás no querés que grandes corporaciones
+saquen ventaja de tu información personal.
 
 21
 00:01:12,880 --> 00:01:15,640
-Tor logra que todos los usuarios que lo utilizan se vean igual
+Tor hace que todos sus usuarios
+parezcan iguales
 
 22
 00:01:15,920 --> 00:01:18,800
-lo cual confunde al observador y te convierte en anónimo.
+lo cual confunde al observador
+y te hace anónimo.
 
 23
 00:01:19,500 --> 00:01:22,980
-Por lo tanto, cuantas mas personas utilizan Tor, mas se fortalecerá. 
+Por lo tanto, cuantas más personas utilicen
+la red de Tor, más se fortalecerá
 
 24
 00:01:23,140 --> 00:01:27,800
-Como es sencillo esconderse en una multitud donde se ven todos iguales.
+al ser más sencillo esconderse en una
+multitud donde se ven todos iguales.
 
 25
 00:01:28,700 --> 00:01:31,240
-Podes saltear la censura sin preocupación
+Podés saltearte la censura
+sin estar preocupado que
 
 26
 00:01:31,400 --> 00:01:34,100
-de que la misma sepa que haces en Internet. 
+el censor sepa que hacés en Internet. 
 
 27
 00:01:36,540 --> 00:01:39,440
-Los anuncios no te seguirán a todas partes por meces,
+Las publicidades no te seguirán
+a todas partes por meses,
 
 28
 00:01:39,640 --> 00:01:41,300
-desde que haces tu primer click en un producto.
+desde que hacés tu primer click en un producto.
 
 29
 00:01:43,880 --> 00:01:47,380
-Utilizando Tor, los sitios que visites, ni sabrán quien eres,
+Utilizando Tor, los sitios que visites
+ni sabrán quien eres,
 
 30
 00:01:47,540 --> 00:01:49,760
-desde que parte del mundo los estas visitando,
+desde qué parte del mundo
+los estás visitando,
 
 31
 00:01:49,920 --> 00:01:51,920
-a menos que ingreses a tu cuenta y les digas.
+a menos que ingresés a tu cuenta y les digas.
 
 32
 00:01:54,200 --> 00:01:55,840
-Por descargar e utilizar Tor,
+Por descargar y utilizar Tor,
 
 33
 00:01:56,200 --> 00:01:58,560
-Podés protejer a las personas que necesitan anonimato,
+podés protejer a las personas
+que necesitan anonimato,
 
 34
 00:01:58,880 --> 00:02:01,640
@@ -146,5 +159,5 @@ como activistas, periodistas y bloggers.
 
 35
 00:02:02,000 --> 00:02:07,000
-Descarga y usa Tor! que estas esperando?
+¡Descargá y usá Tor! ¡O corré un relevo!
 

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


[tor-commits] [translation/tor_animation_completed] Update translations for tor_animation_completed

2018-09-12 Thread translation
commit f3833acf619a50114c9d868637f65c21d3fee82f
Author: Translation commit bot 
Date:   Wed Sep 12 22:47:08 2018 +

Update translations for tor_animation_completed
---
 es_AR.srt | 53 +
 1 file changed, 33 insertions(+), 20 deletions(-)

diff --git a/es_AR.srt b/es_AR.srt
index 667c08d6d..1d25f5816 100644
--- a/es_AR.srt
+++ b/es_AR.srt
@@ -9,7 +9,7 @@ acerca de nosotros y de nuestra vida privada:
 
 3
 00:00:08,000 --> 00:00:09,960
-La comida que ingerimos, la gente que conocemos,
+la comida que ingerimos, la gente que conocemos,
 
 4
 00:00:10,180 --> 00:00:12,480
@@ -70,75 +70,88 @@ voluntariamente alrededor del mundo.
 
 16
 00:00:50,280 --> 00:00:53,520
-lo cual nos permite a nosotros comunicarnos anónimamente por Internet.
+lo cual nos permite comunicarnos
+anónimamente por Internet.
 
 17
 00:00:56,560 --> 00:00:58,280
-Tor también proteje tu información
+Tor también proteje nuestros datos
 
 18
 00:00:58,400 --> 00:01:01,900
-encontra de corporaciones o gobiernos
+en contra de vigilancia dirigida y masiva
+por parte de corporaciones o gobiernos.
 
 19
 00:01:02,880 --> 00:01:07,340
-Quizas vivis en un pais represivo el cual trata de controlar y monitorear la 
internet.
+Quizás vivís en un país represivo
+el cual trata de controlar y vigilar Internet.
 
 20
 00:01:07,900 --> 00:01:11,800
-O quizás no querés que grandes corporaciones manipulen tu información 
personal.
+O quizás no querés que grandes corporaciones
+saquen ventaja de tu información personal.
 
 21
 00:01:12,880 --> 00:01:15,640
-Tor logra que todos los usuarios que lo utilizan se vean igual
+Tor hace que todos sus usuarios
+parezcan iguales
 
 22
 00:01:15,920 --> 00:01:18,800
-lo cual confunde al observador y te convierte en anónimo.
+lo cual confunde al observador
+y te hace anónimo.
 
 23
 00:01:19,500 --> 00:01:22,980
-Por lo tanto, cuantas mas personas utilizan Tor, mas se fortalecerá. 
+Por lo tanto, cuantas más personas utilicen
+la red de Tor, más se fortalecerá
 
 24
 00:01:23,140 --> 00:01:27,800
-Como es sencillo esconderse en una multitud donde se ven todos iguales.
+al ser más sencillo esconderse en una
+multitud donde se ven todos iguales.
 
 25
 00:01:28,700 --> 00:01:31,240
-Podes saltear la censura sin preocupación
+Podés saltearte la censura
+sin estar preocupado que
 
 26
 00:01:31,400 --> 00:01:34,100
-de que la misma sepa que haces en Internet. 
+el censor sepa que hacés en Internet. 
 
 27
 00:01:36,540 --> 00:01:39,440
-Los anuncios no te seguirán a todas partes por meces,
+Las publicidades no te seguirán
+a todas partes por meses,
 
 28
 00:01:39,640 --> 00:01:41,300
-desde que haces tu primer click en un producto.
+desde que hacés tu primer click en un producto.
 
 29
 00:01:43,880 --> 00:01:47,380
-Utilizando Tor, los sitios que visites, ni sabrán quien eres,
+Utilizando Tor, los sitios que visites
+ni sabrán quien eres,
 
 30
 00:01:47,540 --> 00:01:49,760
-desde que parte del mundo los estas visitando,
+desde qué parte del mundo
+los estás visitando,
 
 31
 00:01:49,920 --> 00:01:51,920
-a menos que ingreses a tu cuenta y les digas.
+a menos que ingresés a tu cuenta y les digas.
 
 32
 00:01:54,200 --> 00:01:55,840
-Por descargar e utilizar Tor,
+Por descargar y utilizar Tor,
 
 33
 00:01:56,200 --> 00:01:58,560
-Podés protejer a las personas que necesitan anonimato,
+podés protejer a las personas
+que necesitan anonimato,
 
 34
 00:01:58,880 --> 00:02:01,640
@@ -146,5 +159,5 @@ como activistas, periodistas y bloggers.
 
 35
 00:02:02,000 --> 00:02:07,000
-Descarga y usa Tor! que estas esperando?
+¡Descargá y usá Tor! ¡O corré un relevo!
 

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


[tor-commits] [translation/tails-openpgp-applet] Update translations for tails-openpgp-applet

2018-09-12 Thread translation
commit 546abaf78f9fdc2497f65183a0b9e6682f38951f
Author: Translation commit bot 
Date:   Wed Sep 12 22:46:23 2018 +

Update translations for tails-openpgp-applet
---
 es_AR/openpgp-applet.pot | 9 +
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/es_AR/openpgp-applet.pot b/es_AR/openpgp-applet.pot
index 28821866e..2d14bcb97 100644
--- a/es_AR/openpgp-applet.pot
+++ b/es_AR/openpgp-applet.pot
@@ -5,13 +5,14 @@
 # Translators:
 # Joaquín Serna, 2017
 # psss , 2016
+# Zuhualime Akoochimoya, 2018
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: ta...@boum.org\n"
 "POT-Creation-Date: 2017-08-05 15:07-0400\n"
-"PO-Revision-Date: 2018-04-12 19:13+\n"
-"Last-Translator: yamila gonzalez \n"
+"PO-Revision-Date: 2018-09-12 22:46+\n"
+"Last-Translator: Zuhualime Akoochimoya\n"
 "Language-Team: Spanish (Argentina) 
(http://www.transifex.com/otf/torproject/language/es_AR/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -21,11 +22,11 @@ msgstr ""
 
 #: bin/openpgp-applet:160
 msgid "You are about to exit OpenPGP Applet. Are you sure?"
-msgstr "Estas a punto de abandonar el Applet de OpenPGP, ¿estas seguro?"
+msgstr "Estás a punto de abandonar el Applet de OpenPGP, ¿estás seguro?"
 
 #: bin/openpgp-applet:172
 msgid "OpenPGP encryption applet"
-msgstr "Applet de cifrado OpenPGP"
+msgstr "Applet de encriptación OpenPGP"
 
 #: bin/openpgp-applet:175
 msgid "Exit"

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


[tor-commits] [translation/tor_animation_completed] Update translations for tor_animation_completed

2018-09-12 Thread translation
commit b6b4f8558b2b7acb6f71902e02ad8b0730536a8b
Author: Translation commit bot 
Date:   Wed Sep 12 22:17:08 2018 +

Update translations for tor_animation_completed
---
 es_AR.srt | 32 +---
 1 file changed, 21 insertions(+), 11 deletions(-)

diff --git a/es_AR.srt b/es_AR.srt
index 61630f4cb..667c08d6d 100644
--- a/es_AR.srt
+++ b/es_AR.srt
@@ -4,7 +4,8 @@ Nos hemos acostumbrado a Internet
 
 2
 00:00:03,120 --> 00:00:07,700
-Estamos constantemente compartiendo información acerca de nosotros y de 
nuestra vida privada:
+Estamos constantemente compartiendo información
+acerca de nosotros y de nuestra vida privada:
 
 3
 00:00:08,000 --> 00:00:09,960
@@ -20,43 +21,52 @@ Dejame explicarlo mejor.
 
 6
 00:00:14,920 --> 00:00:17,740
-En este preciso instante alguien intenta buscarte por internet.
+En este preciso instante,
+si alguien intenta buscarte,
 
 7
 00:00:18,060 --> 00:00:22,480
-verán tu verdadera identidad, tu localidad precisa, tu sistema operativo,
+verán tu verdadera identidad,
+tu localización precisa, tu sistema operativo,
 
 8
 00:00:22,800 --> 00:00:26,500
-todos los sitios que visitaste, el buscador que utilizas para navegar,
+todos los sitios que has visitado,
+el navegador que utilizás para recorrer la web,
 
 9
 00:00:26,700 --> 00:00:29,140
-y mucha mas información acerca de vos y tu vida
+y mucha más información
+acerca de vos y tu vida
 
 10
 00:00:29,200 --> 00:00:31,500
-lo cual, probablemente, no tenias la intención de compartir con desconocidos,
+lo cual, probablemente, no tenías la intención
+de compartir con desconocidos,
 
 11
 00:00:31,700 --> 00:00:34,000
-lo cual fácilmente podrían explotarte con tus datos a su disposición. 
+quienes podrían fácilmente usar estos datos
+para explotarte.
 
 12
 00:00:34,500 --> 00:00:37,000
-Pero no si usas Tor!
+¡Pero no si estás usando Tor!
 
 13
 00:00:37,140 --> 00:00:40,840
-El buscador de Tor protege tu privacidad  e identidad en internet.
+El navegador Tor protege nuestra privacidad
+e identidad en Internet.
 
 14
 00:00:41,560 --> 00:00:44,760
-Tor asegura tu conexión con 3 capas de codificación
+Tor asegura tu conexión
+con tres capas de encriptación
 
 15
 00:00:44,940 --> 00:00:49,760
-y se los pasa a 3 servidores operando a lo largo del mundo.
+y la pasa a través de tres servidores operados
+voluntariamente alrededor del mundo.
 
 16
 00:00:50,280 --> 00:00:53,520

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


[tor-commits] [translation/tor-and-https] Update translations for tor-and-https

2018-09-12 Thread translation
commit 9c0c272fa9dc6e9ee4ff2d3054f2263245244256
Author: Translation commit bot 
Date:   Wed Sep 12 22:16:54 2018 +

Update translations for tor-and-https
---
 es_AR.po | 14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/es_AR.po b/es_AR.po
index 84fdc41f8..645e9ce11 100644
--- a/es_AR.po
+++ b/es_AR.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "POT-Creation-Date: 2014-07-17 14:23+\n"
-"PO-Revision-Date: 2018-09-12 21:46+\n"
+"PO-Revision-Date: 2018-09-12 21:55+\n"
 "Last-Translator: Zuhualime Akoochimoya\n"
 "Language-Team: Spanish (Argentina) 
(http://www.transifex.com/otf/torproject/language/es_AR/)\n"
 "MIME-Version: 1.0\n"
@@ -99,7 +99,7 @@ msgstr "Administrador de sistemas"
 #: C/tor-and-https.svg:363
 #, no-wrap
 msgid "Police"
-msgstr "Policia "
+msgstr "Policía"
 
 #. (itstool) path: defs/text
 #: C/tor-and-https.svg:363
@@ -112,28 +112,28 @@ msgstr "NSA"
 #: C/tor-and-https.svg:363
 #, no-wrap
 msgid "Tor relay"
-msgstr "Relé de Tor"
+msgstr "Relevo Tor"
 
 #. (itstool) path: defs/text
 #: C/tor-and-https.svg:363
 #, no-wrap
 msgid "Key"
-msgstr "Llave"
+msgstr "Clave criptográfica"
 
 #. (itstool) path: defs/text
 #: C/tor-and-https.svg:363
 #, no-wrap
 msgid "Internet connection"
-msgstr "Conexion de internet"
+msgstr "Conexión a internet"
 
 #. (itstool) path: defs/text
 #: C/tor-and-https.svg:363
 #, no-wrap
 msgid "Eavesdropping"
-msgstr "Espionaje"
+msgstr "Observando en forma hostil"
 
 #. (itstool) path: defs/text
 #: C/tor-and-https.svg:363
 #, no-wrap
 msgid "Data sharing"
-msgstr "Intercambiar datos"
+msgstr "Compartiendo datos"

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


[tor-commits] [translation/tor_animation] Update translations for tor_animation

2018-09-12 Thread translation
commit 59a0611228c8f635700962087f9a6bbe2c88828b
Author: Translation commit bot 
Date:   Wed Sep 12 22:17:04 2018 +

Update translations for tor_animation
---
 es_AR.srt | 32 +---
 1 file changed, 21 insertions(+), 11 deletions(-)

diff --git a/es_AR.srt b/es_AR.srt
index 61630f4cb..667c08d6d 100644
--- a/es_AR.srt
+++ b/es_AR.srt
@@ -4,7 +4,8 @@ Nos hemos acostumbrado a Internet
 
 2
 00:00:03,120 --> 00:00:07,700
-Estamos constantemente compartiendo información acerca de nosotros y de 
nuestra vida privada:
+Estamos constantemente compartiendo información
+acerca de nosotros y de nuestra vida privada:
 
 3
 00:00:08,000 --> 00:00:09,960
@@ -20,43 +21,52 @@ Dejame explicarlo mejor.
 
 6
 00:00:14,920 --> 00:00:17,740
-En este preciso instante alguien intenta buscarte por internet.
+En este preciso instante,
+si alguien intenta buscarte,
 
 7
 00:00:18,060 --> 00:00:22,480
-verán tu verdadera identidad, tu localidad precisa, tu sistema operativo,
+verán tu verdadera identidad,
+tu localización precisa, tu sistema operativo,
 
 8
 00:00:22,800 --> 00:00:26,500
-todos los sitios que visitaste, el buscador que utilizas para navegar,
+todos los sitios que has visitado,
+el navegador que utilizás para recorrer la web,
 
 9
 00:00:26,700 --> 00:00:29,140
-y mucha mas información acerca de vos y tu vida
+y mucha más información
+acerca de vos y tu vida
 
 10
 00:00:29,200 --> 00:00:31,500
-lo cual, probablemente, no tenias la intención de compartir con desconocidos,
+lo cual, probablemente, no tenías la intención
+de compartir con desconocidos,
 
 11
 00:00:31,700 --> 00:00:34,000
-lo cual fácilmente podrían explotarte con tus datos a su disposición. 
+quienes podrían fácilmente usar estos datos
+para explotarte.
 
 12
 00:00:34,500 --> 00:00:37,000
-Pero no si usas Tor!
+¡Pero no si estás usando Tor!
 
 13
 00:00:37,140 --> 00:00:40,840
-El buscador de Tor protege tu privacidad  e identidad en internet.
+El navegador Tor protege nuestra privacidad
+e identidad en Internet.
 
 14
 00:00:41,560 --> 00:00:44,760
-Tor asegura tu conexión con 3 capas de codificación
+Tor asegura tu conexión
+con tres capas de encriptación
 
 15
 00:00:44,940 --> 00:00:49,760
-y se los pasa a 3 servidores operando a lo largo del mundo.
+y la pasa a través de tres servidores operados
+voluntariamente alrededor del mundo.
 
 16
 00:00:50,280 --> 00:00:53,520

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


[tor-commits] [translation/tor-and-https_completed] Update translations for tor-and-https_completed

2018-09-12 Thread translation
commit ead0240cda5d55ad061e01cc7c48fb5491159099
Author: Translation commit bot 
Date:   Wed Sep 12 22:16:59 2018 +

Update translations for tor-and-https_completed
---
 es_AR.po | 14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/es_AR.po b/es_AR.po
index 84fdc41f8..645e9ce11 100644
--- a/es_AR.po
+++ b/es_AR.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "POT-Creation-Date: 2014-07-17 14:23+\n"
-"PO-Revision-Date: 2018-09-12 21:46+\n"
+"PO-Revision-Date: 2018-09-12 21:55+\n"
 "Last-Translator: Zuhualime Akoochimoya\n"
 "Language-Team: Spanish (Argentina) 
(http://www.transifex.com/otf/torproject/language/es_AR/)\n"
 "MIME-Version: 1.0\n"
@@ -99,7 +99,7 @@ msgstr "Administrador de sistemas"
 #: C/tor-and-https.svg:363
 #, no-wrap
 msgid "Police"
-msgstr "Policia "
+msgstr "Policía"
 
 #. (itstool) path: defs/text
 #: C/tor-and-https.svg:363
@@ -112,28 +112,28 @@ msgstr "NSA"
 #: C/tor-and-https.svg:363
 #, no-wrap
 msgid "Tor relay"
-msgstr "Relé de Tor"
+msgstr "Relevo Tor"
 
 #. (itstool) path: defs/text
 #: C/tor-and-https.svg:363
 #, no-wrap
 msgid "Key"
-msgstr "Llave"
+msgstr "Clave criptográfica"
 
 #. (itstool) path: defs/text
 #: C/tor-and-https.svg:363
 #, no-wrap
 msgid "Internet connection"
-msgstr "Conexion de internet"
+msgstr "Conexión a internet"
 
 #. (itstool) path: defs/text
 #: C/tor-and-https.svg:363
 #, no-wrap
 msgid "Eavesdropping"
-msgstr "Espionaje"
+msgstr "Observando en forma hostil"
 
 #. (itstool) path: defs/text
 #: C/tor-and-https.svg:363
 #, no-wrap
 msgid "Data sharing"
-msgstr "Intercambiar datos"
+msgstr "Compartiendo datos"

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


[tor-commits] [tor-ramdisk/master] Restart this project

2018-09-12 Thread blueness
commit e529786939bd4de67ef3c516377d86e48c292e4b
Author: Anthony G. Basile 
Date:   Wed Sep 12 17:56:40 2018 -0400

Restart this project
---
 build.sh | 24 
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/build.sh b/build.sh
index 1079505..789e2ce 100755
--- a/build.sh
+++ b/build.sh
@@ -1,14 +1,14 @@
 #!/bin/bash
 
-TOR=tor-0.2.9.9
-BUSYBOX=busybox-1.26.2
-NTPD=openntpd-6.0p1
-OPENSSH=openssh-7.4p1
-HAVEGED=haveged-1.9.1
+TOR=tor-0.3.4.8
+BUSYBOX=busybox-1.29.3
+NTPD=openntpd-6.2p3
+OPENSSH=openssh-7.7p1
+HAVEGED=haveged-1.9.4
 
-KVERSION=4.8.17
+KVERSION=4.18.7
 LINUX=linux-${KVERSION}
-PATCHES=hardened-patches-${KVERSION}-3.extras
+#PATCHES=hardened-patches-${KVERSION}-3.extras
 
 

 
@@ -75,7 +75,7 @@ get_sources()
[[ ! -f $TOR.tar.gz ]] && wget 
http://www.torproject.org/dist/$TOR.tar.gz
[[ ! -f $NTPD.tar.gz ]] && wget 
http://ftp.openbsd.org/pub/OpenBSD/OpenNTPD/$NTPD.tar.gz
[[ ! -f $LINUX.tar.xz ]] && wget 
http://www.kernel.org/pub/linux/kernel/v4.x/$LINUX.tar.xz
-   [[ ! -f $PATCHES.tar.bz2 ]] && wget 
http://dev.gentoo.org/~blueness/hardened-sources/hardened-patches/$PATCHES.tar.bz2
 
+   #[[ ! -f $PATCHES.tar.bz2 ]] && wget 
http://dev.gentoo.org/~blueness/hardened-sources/hardened-patches/$PATCHES.tar.bz2
[[ ! -f $OPENSSH.tar.gz ]] && wget 
http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/$OPENSSH.tar.gz
[[ ! -f $HAVEGED.tar.gz ]] && wget 
http://www.issihosts.com/haveged/$HAVEGED.tar.gz
 }
@@ -365,10 +365,10 @@ compile_kernel()
cd $WORKING
[[ -f $LINUX/arch/$TARGET/boot/bzImage ]] && return 0
tar Jxvf $WORKING/../sources/$LINUX.tar.xz
-   tar jxvf $WORKING/../sources/$PATCHES.tar.bz2 
-   cd $LINUX
-   for i in ../$KVERSION/4* ; do patch -p 1 < $i ; done 
-   for i in $WORKING/../configs/kernel-*.patch; do patch -p 1 < $i ; done
+   #tar jxvf $WORKING/../sources/$PATCHES.tar.bz2
+   #cd $LINUX
+   #for i in ../$KVERSION/4* ; do patch -p 1 < $i ; done
+   #for i in $WORKING/../configs/kernel-*.patch; do patch -p 1 < $i ; done
 
cd $WORKING/$LINUX
cp $WORKING/../configs/kernel-$KVERSION.$TARGET.config .config

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


[tor-commits] [translation/tor-and-https_completed] Update translations for tor-and-https_completed

2018-09-12 Thread translation
commit 25f47b5a1f9f309888b08c215cba3a32212216f3
Author: Translation commit bot 
Date:   Wed Sep 12 21:47:02 2018 +

Update translations for tor-and-https_completed
---
 es_AR.po | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/es_AR.po b/es_AR.po
index e891a0503..84fdc41f8 100644
--- a/es_AR.po
+++ b/es_AR.po
@@ -3,12 +3,13 @@
 # ezemelano , 2014
 # Pablo Di Noto , 2016
 # psss , 2016
+# Zuhualime Akoochimoya, 2018
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "POT-Creation-Date: 2014-07-17 14:23+\n"
-"PO-Revision-Date: 2017-09-20 03:03+\n"
-"Last-Translator: psss \n"
+"PO-Revision-Date: 2018-09-12 21:46+\n"
+"Last-Translator: Zuhualime Akoochimoya\n"
 "Language-Team: Spanish (Argentina) 
(http://www.transifex.com/otf/torproject/language/es_AR/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -22,7 +23,7 @@ msgstr ""
 #. languages (e.g. Arabic or Hebrew).
 #: C/tor-and-https.svg:3
 msgid "ltr"
-msgstr "Derecha-a-izquierda"
+msgstr "ltr"
 
 #. (itstool) path: svg/title
 #: C/tor-and-https.svg:14

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


[tor-commits] [translation/tor-and-https] Update translations for tor-and-https

2018-09-12 Thread translation
commit 638cdbc2b464790e599eb6029b29f21103db019f
Author: Translation commit bot 
Date:   Wed Sep 12 21:46:57 2018 +

Update translations for tor-and-https
---
 es_AR.po | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/es_AR.po b/es_AR.po
index e891a0503..84fdc41f8 100644
--- a/es_AR.po
+++ b/es_AR.po
@@ -3,12 +3,13 @@
 # ezemelano , 2014
 # Pablo Di Noto , 2016
 # psss , 2016
+# Zuhualime Akoochimoya, 2018
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "POT-Creation-Date: 2014-07-17 14:23+\n"
-"PO-Revision-Date: 2017-09-20 03:03+\n"
-"Last-Translator: psss \n"
+"PO-Revision-Date: 2018-09-12 21:46+\n"
+"Last-Translator: Zuhualime Akoochimoya\n"
 "Language-Team: Spanish (Argentina) 
(http://www.transifex.com/otf/torproject/language/es_AR/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -22,7 +23,7 @@ msgstr ""
 #. languages (e.g. Arabic or Hebrew).
 #: C/tor-and-https.svg:3
 msgid "ltr"
-msgstr "Derecha-a-izquierda"
+msgstr "ltr"
 
 #. (itstool) path: svg/title
 #: C/tor-and-https.svg:14

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


[tor-commits] [translation/liveusb-creator_completed] Update translations for liveusb-creator_completed

2018-09-12 Thread translation
commit 99120738d3dcd1411bb31a82514f58ccbe920de5
Author: Translation commit bot 
Date:   Wed Sep 12 21:45:42 2018 +

Update translations for liveusb-creator_completed
---
 es_AR/es_AR.po | 32 
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/es_AR/es_AR.po b/es_AR/es_AR.po
index fa4cc95c3..15a1cfb29 100644
--- a/es_AR/es_AR.po
+++ b/es_AR/es_AR.po
@@ -19,7 +19,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2018-09-04 09:36+0200\n"
-"PO-Revision-Date: 2018-09-12 21:15+\n"
+"PO-Revision-Date: 2018-09-12 21:43+\n"
 "Last-Translator: Zuhualime Akoochimoya\n"
 "Language-Team: Spanish (Argentina) 
(http://www.transifex.com/otf/torproject/language/es_AR/)\n"
 "MIME-Version: 1.0\n"
@@ -239,7 +239,7 @@ msgstr "La unidad es virtual, omitiendo el restablecimiento 
del MBR"
 #: ../tails_installer/creator.py:1326 ../tails_installer/creator.py:1580
 #, python-format
 msgid "Calculating the SHA1 of %s"
-msgstr "Calculando el SHA1 de %s"
+msgstr "Calculando el checksum SHA1 de %s"
 
 #: ../tails_installer/creator.py:1351
 msgid "Synchronizing data on disk..."
@@ -256,14 +256,14 @@ msgstr "No se encontraron dispositivos soportados"
 #: ../tails_installer/creator.py:1405
 msgid ""
 "Make sure your USB key is plugged in and formatted with the FAT filesystem"
-msgstr "Asegúrese de que su dispositivo USB está conectado y formateado con 
un sistema de archivos FAT"
+msgstr "Asegúrese de que su dispositivo USB está conectado y formateado con 
el sistema de archivos FAT"
 
 #: ../tails_installer/creator.py:1408
 #, python-format
 msgid ""
 "Unsupported filesystem: %s\n"
 "Please backup and format your USB key with the FAT filesystem."
-msgstr "Sistema de archivos no soportado: %s\nHaga un respaldo de los datos y 
formatee su dispositivo USB con un sistema de archivos FAT."
+msgstr "Sistema de archivos no soportado: %s\nHaga un respaldo de los datos y 
formatee su dispositivo USB con el sistema de archivos FAT."
 
 #: ../tails_installer/creator.py:1475
 msgid ""
@@ -272,13 +272,13 @@ msgstr "No se pudo obtener Win32_LogicalDisk; la consulta 
a win32com no retornó
 
 #: ../tails_installer/creator.py:1528
 msgid "Cannot find"
-msgstr "No se encontró"
+msgstr "No se pudo encontrar"
 
 #: ../tails_installer/creator.py:1529
 msgid ""
 "Make sure to extract the entire tails-installer zip file before running this"
 " program."
-msgstr "Asegurate de extraer todo el archivo zip del instalador de Tails  
antes de ejecutar este programa."
+msgstr "Asegúrese de extraer todos los archivos del instalador de Tails antes 
de ejecutar este programa."
 
 #: ../tails_installer/gui.py:69
 #, python-format
@@ -322,7 +322,7 @@ msgstr "Clonar el Tails actual"
 
 #: ../tails_installer/gui.py:430 ../data/tails-installer.ui.h:3
 msgid "Use a downloaded Tails ISO image"
-msgstr "Usar una imagen ISO de Tails descargada"
+msgstr "Usar una imagen ISO de Tails ya descargada"
 
 #: ../tails_installer/gui.py:467
 msgid "Upgrade"
@@ -330,7 +330,7 @@ msgstr "Actualizar"
 
 #: ../tails_installer/gui.py:469
 msgid "Manual Upgrade Instructions"
-msgstr "Instrucciones para reemplazar manualmente por versión más nueva"
+msgstr "Instrucciones para actualización manual"
 
 #: ../tails_installer/gui.py:471
 msgid "https://tails.boum.org/upgrade/";
@@ -359,7 +359,7 @@ msgstr "No se seleccionó imagen ISO"
 
 #: ../tails_installer/gui.py:503
 msgid "Please select a Tails ISO image."
-msgstr "Por favor seleccioná una imagen ISO de Tails"
+msgstr "Por favor seleccione una imagen ISO de Tails"
 
 #: ../tails_installer/gui.py:545
 msgid "No device suitable to install Tails could be found"
@@ -368,7 +368,7 @@ msgstr "No pudo ser encontrado ningún dispositivo adecuado 
para instalar Tails"
 #: ../tails_installer/gui.py:547
 #, python-format
 msgid "Please plug a USB flash drive or SD card of at least %0.1f GB."
-msgstr "Por favor conecta una memoria USB o tarjeta SD de al menos %0.1f GB."
+msgstr "Por favor conecte una memoria USB o tarjeta SD de al menos %0.1f GB."
 
 #: ../tails_installer/gui.py:581
 #, python-format
@@ -376,21 +376,21 @@ msgid ""
 "The USB stick \"%(pretty_name)s\" is configured as non-removable by its "
 "manufacturer and Tails will fail to start on it. Please try installing on a "
 "different model."
-msgstr "La memoria USB \"%(pretty_name)s\" está configurada como no-removible 
por su fabricante y Tails fallará al iniciar desde ella. Por favor intenta 
instalando en un modelo distinto."
+msgstr "El pendrive \"%(pretty_name)s\" está configurado como no-removible 
por su fabricante y Tails fallará al iniciar desde él. Por favor intente 
instalando en un modelo distinto."
 
 #: ../tails_installer/gui.py:591
 #, python-format
 msgid ""
 "The device \"%(pretty_name)s\" is too small to install Tails (at least "
 "%(size)s GB is required)."
-msgstr "El dispositivo  \"%(pretty_name)s\" tiene poca capacidad para instalar 
Tails( se

[tor-commits] [translation/liveusb-creator] Update translations for liveusb-creator

2018-09-12 Thread translation
commit 69c995010104db093381459b551d6520ea9f53b7
Author: Translation commit bot 
Date:   Wed Sep 12 21:45:37 2018 +

Update translations for liveusb-creator
---
 es_AR/es_AR.po | 32 
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/es_AR/es_AR.po b/es_AR/es_AR.po
index fa4cc95c3..15a1cfb29 100644
--- a/es_AR/es_AR.po
+++ b/es_AR/es_AR.po
@@ -19,7 +19,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2018-09-04 09:36+0200\n"
-"PO-Revision-Date: 2018-09-12 21:15+\n"
+"PO-Revision-Date: 2018-09-12 21:43+\n"
 "Last-Translator: Zuhualime Akoochimoya\n"
 "Language-Team: Spanish (Argentina) 
(http://www.transifex.com/otf/torproject/language/es_AR/)\n"
 "MIME-Version: 1.0\n"
@@ -239,7 +239,7 @@ msgstr "La unidad es virtual, omitiendo el restablecimiento 
del MBR"
 #: ../tails_installer/creator.py:1326 ../tails_installer/creator.py:1580
 #, python-format
 msgid "Calculating the SHA1 of %s"
-msgstr "Calculando el SHA1 de %s"
+msgstr "Calculando el checksum SHA1 de %s"
 
 #: ../tails_installer/creator.py:1351
 msgid "Synchronizing data on disk..."
@@ -256,14 +256,14 @@ msgstr "No se encontraron dispositivos soportados"
 #: ../tails_installer/creator.py:1405
 msgid ""
 "Make sure your USB key is plugged in and formatted with the FAT filesystem"
-msgstr "Asegúrese de que su dispositivo USB está conectado y formateado con 
un sistema de archivos FAT"
+msgstr "Asegúrese de que su dispositivo USB está conectado y formateado con 
el sistema de archivos FAT"
 
 #: ../tails_installer/creator.py:1408
 #, python-format
 msgid ""
 "Unsupported filesystem: %s\n"
 "Please backup and format your USB key with the FAT filesystem."
-msgstr "Sistema de archivos no soportado: %s\nHaga un respaldo de los datos y 
formatee su dispositivo USB con un sistema de archivos FAT."
+msgstr "Sistema de archivos no soportado: %s\nHaga un respaldo de los datos y 
formatee su dispositivo USB con el sistema de archivos FAT."
 
 #: ../tails_installer/creator.py:1475
 msgid ""
@@ -272,13 +272,13 @@ msgstr "No se pudo obtener Win32_LogicalDisk; la consulta 
a win32com no retornó
 
 #: ../tails_installer/creator.py:1528
 msgid "Cannot find"
-msgstr "No se encontró"
+msgstr "No se pudo encontrar"
 
 #: ../tails_installer/creator.py:1529
 msgid ""
 "Make sure to extract the entire tails-installer zip file before running this"
 " program."
-msgstr "Asegurate de extraer todo el archivo zip del instalador de Tails  
antes de ejecutar este programa."
+msgstr "Asegúrese de extraer todos los archivos del instalador de Tails antes 
de ejecutar este programa."
 
 #: ../tails_installer/gui.py:69
 #, python-format
@@ -322,7 +322,7 @@ msgstr "Clonar el Tails actual"
 
 #: ../tails_installer/gui.py:430 ../data/tails-installer.ui.h:3
 msgid "Use a downloaded Tails ISO image"
-msgstr "Usar una imagen ISO de Tails descargada"
+msgstr "Usar una imagen ISO de Tails ya descargada"
 
 #: ../tails_installer/gui.py:467
 msgid "Upgrade"
@@ -330,7 +330,7 @@ msgstr "Actualizar"
 
 #: ../tails_installer/gui.py:469
 msgid "Manual Upgrade Instructions"
-msgstr "Instrucciones para reemplazar manualmente por versión más nueva"
+msgstr "Instrucciones para actualización manual"
 
 #: ../tails_installer/gui.py:471
 msgid "https://tails.boum.org/upgrade/";
@@ -359,7 +359,7 @@ msgstr "No se seleccionó imagen ISO"
 
 #: ../tails_installer/gui.py:503
 msgid "Please select a Tails ISO image."
-msgstr "Por favor seleccioná una imagen ISO de Tails"
+msgstr "Por favor seleccione una imagen ISO de Tails"
 
 #: ../tails_installer/gui.py:545
 msgid "No device suitable to install Tails could be found"
@@ -368,7 +368,7 @@ msgstr "No pudo ser encontrado ningún dispositivo adecuado 
para instalar Tails"
 #: ../tails_installer/gui.py:547
 #, python-format
 msgid "Please plug a USB flash drive or SD card of at least %0.1f GB."
-msgstr "Por favor conecta una memoria USB o tarjeta SD de al menos %0.1f GB."
+msgstr "Por favor conecte una memoria USB o tarjeta SD de al menos %0.1f GB."
 
 #: ../tails_installer/gui.py:581
 #, python-format
@@ -376,21 +376,21 @@ msgid ""
 "The USB stick \"%(pretty_name)s\" is configured as non-removable by its "
 "manufacturer and Tails will fail to start on it. Please try installing on a "
 "different model."
-msgstr "La memoria USB \"%(pretty_name)s\" está configurada como no-removible 
por su fabricante y Tails fallará al iniciar desde ella. Por favor intenta 
instalando en un modelo distinto."
+msgstr "El pendrive \"%(pretty_name)s\" está configurado como no-removible 
por su fabricante y Tails fallará al iniciar desde él. Por favor intente 
instalando en un modelo distinto."
 
 #: ../tails_installer/gui.py:591
 #, python-format
 msgid ""
 "The device \"%(pretty_name)s\" is too small to install Tails (at least "
 "%(size)s GB is required)."
-msgstr "El dispositivo  \"%(pretty_name)s\" tiene poca capacidad para instalar 
Tails( se necesita 

[tor-commits] [tor/release-0.3.4] test/protover: remove version zero from tests

2018-09-12 Thread nickm
commit e9ef7d5ab42a8f896be92b9ed2c1818044b38f04
Author: cypherpunks 
Date:   Sat Aug 18 16:54:09 2018 +

test/protover: remove version zero from tests

This isn't legal according to dir-spec.txt.

We can write separate tests for it if the spec
is changed to make it legal.
---
 src/test/test_protover.c | 22 +++---
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/src/test/test_protover.c b/src/test/test_protover.c
index 0948cd564..fb374c728 100644
--- a/src/test/test_protover.c
+++ b/src/test/test_protover.c
@@ -290,13 +290,13 @@ test_protover_all_supported(void *arg)
   tor_free(msg);
 
   /* We shouldn't be able to DoS ourselves parsing a large range. */
-  tt_assert(! protover_all_supported("Sleen=0-2147483648", &msg));
-  tt_str_op(msg, OP_EQ, "Sleen=0-2147483648");
+  tt_assert(! protover_all_supported("Sleen=1-2147483648", &msg));
+  tt_str_op(msg, OP_EQ, "Sleen=1-2147483648");
   tor_free(msg);
 
   /* This case is allowed. */
-  tt_assert(! protover_all_supported("Sleen=0-4294967294", &msg));
-  tt_str_op(msg, OP_EQ, "Sleen=0-4294967294");
+  tt_assert(! protover_all_supported("Sleen=1-4294967294", &msg));
+  tt_str_op(msg, OP_EQ, "Sleen=1-4294967294");
   tor_free(msg);
 
   /* If we get a (barely) valid (but unsupported list, we say "yes, that's
@@ -313,7 +313,7 @@ test_protover_all_supported(void *arg)
   /* If we get a completely unparseable list, protover_all_supported should
* hit a fatal assertion for BUG(entries == NULL). */
   tor_capture_bugs_(1);
-  tt_assert(protover_all_supported("Sleen=0-4294967295", &msg));
+  tt_assert(protover_all_supported("Sleen=1-4294967295", &msg));
   tor_end_capture_bugs_();
 
   /* Protocol name too long */
@@ -548,11 +548,11 @@ test_protover_vote_roundtrip(void *args)
 { "Zn=4294967295-1", NULL },
 { "Zn=4294967293-4294967295", NULL },
 /* Will fail because of 4294967295. */
-{ "Foo=1,3 Bar=3 Baz= Quux=9-12,14,15-16,900 Zn=0,4294967295",
+{ "Foo=1,3 Bar=3 Baz= Quux=9-12,14,15-16,900 Zn=1,4294967295",
NULL },
-{ "Foo=1,3 Bar=3 Baz= Quux=9-12,14,15-16,900 Zn=0,4294967294",
-  "Bar=3 Foo=1,3 Quux=9-12,14-16,900 Zn=0,4294967294" },
-{ "Zu16=0,65536", "Zu16=0,65536" },
+{ "Foo=1,3 Bar=3 Baz= Quux=9-12,14,15-16,900 Zn=1,4294967294",
+  "Bar=3 Foo=1,3 Quux=9-12,14-16,900 Zn=1,4294967294" },
+{ "Zu16=1,65536", "Zu16=1,65536" },
 { "N-1=1,2", "N-1=1-2" },
 { "-1=4294967295", NULL },
 { "-1=3", "-1=3" },
@@ -581,9 +581,9 @@ test_protover_vote_roundtrip(void *args)
 { "Sleen=1-501", "Sleen=1-501" },
 { "Sleen=1-65537", NULL },
 /* Both C/Rust implementations should be able to handle this mild DoS. */
-{ "Sleen=0-2147483648", NULL },
+{ "Sleen=1-2147483648", NULL },
 /* Rust tests are built in debug mode, so ints are bounds-checked. */
-{ "Sleen=0-4294967295", NULL },
+{ "Sleen=1-4294967295", NULL },
   };
   unsigned u;
   smartlist_t *votes = smartlist_new();



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


[tor-commits] [tor/release-0.3.4] Merge branch 'maint-0.3.3' into maint-0.3.4

2018-09-12 Thread nickm
commit f8d5fb42a392a764da9f46102583ea2dff960939
Merge: 73ba308d3 4fa46fca8
Author: Nick Mathewson 
Date:   Wed Sep 12 17:24:41 2018 -0400

Merge branch 'maint-0.3.3' into maint-0.3.4

 changes/bug27649|  4 
 src/rust/protover/protoset.rs   | 17 -
 src/rust/protover/protover.rs   |  4 ++--
 src/rust/protover/tests/protover.rs | 14 +++---
 src/test/test_protover.c| 22 +++---
 5 files changed, 32 insertions(+), 29 deletions(-)




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


[tor-commits] [tor/release-0.3.4] Merge branch 'maint-0.3.4' into release-0.3.4

2018-09-12 Thread nickm
commit 04f210811e1ea32abdd4d610c01db0ad084d6952
Merge: 204a90c93 f8d5fb42a
Author: Nick Mathewson 
Date:   Wed Sep 12 17:24:41 2018 -0400

Merge branch 'maint-0.3.4' into release-0.3.4

 changes/bug27649|  4 
 src/rust/protover/protoset.rs   | 17 -
 src/rust/protover/protover.rs   |  4 ++--
 src/rust/protover/tests/protover.rs | 14 +++---
 src/test/test_protover.c| 22 +++---
 5 files changed, 32 insertions(+), 29 deletions(-)

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


[tor-commits] [tor/release-0.3.4] fixup! changes file

2018-09-12 Thread nickm
commit 4fa46fca8e71e085883dab6183df498759bc439f
Author: cypherpunks 
Date:   Wed Sep 12 14:22:31 2018 +

fixup! changes file
---
 changes/bug27649 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/changes/bug27649 b/changes/bug27649
index 6498e961e..55bfc3a84 100644
--- a/changes/bug27649
+++ b/changes/bug27649
@@ -1,4 +1,4 @@
   o Minor bugfixes (rust):
-- The protover rewrite in #24031 allowed repeated votes from the same
+- The protover rewrite in 24031 allowed repeated votes from the same
   voter for the same protocol version to be counted multiple times in
-  protover_compute_vote(). Bugfix on 0.3.3.5-rc; fixes bug 27649.
+  protover_compute_vote(). Fixes bug 27649; bugfix on 0.3.3.5-rc.



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


[tor-commits] [tor/release-0.3.3] fixup! changes file

2018-09-12 Thread nickm
commit 4fa46fca8e71e085883dab6183df498759bc439f
Author: cypherpunks 
Date:   Wed Sep 12 14:22:31 2018 +

fixup! changes file
---
 changes/bug27649 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/changes/bug27649 b/changes/bug27649
index 6498e961e..55bfc3a84 100644
--- a/changes/bug27649
+++ b/changes/bug27649
@@ -1,4 +1,4 @@
   o Minor bugfixes (rust):
-- The protover rewrite in #24031 allowed repeated votes from the same
+- The protover rewrite in 24031 allowed repeated votes from the same
   voter for the same protocol version to be counted multiple times in
-  protover_compute_vote(). Bugfix on 0.3.3.5-rc; fixes bug 27649.
+  protover_compute_vote(). Fixes bug 27649; bugfix on 0.3.3.5-rc.



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


[tor-commits] [tor/release-0.3.3] rust/protover: fix check for overlapping ranges

2018-09-12 Thread nickm
commit 03c4d0ab9cfb60ba036bb8e5fe980a5bd2551f7d
Author: cypherpunks 
Date:   Wed Sep 12 02:14:29 2018 +

rust/protover: fix check for overlapping ranges

Closes ticket 27649. Bugfix on e6625113c98c281b0a649598d7daa347c28915e9.
---
 changes/bug27649  | 4 
 src/rust/protover/protoset.rs | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/changes/bug27649 b/changes/bug27649
new file mode 100644
index 0..6498e961e
--- /dev/null
+++ b/changes/bug27649
@@ -0,0 +1,4 @@
+  o Minor bugfixes (rust):
+- The protover rewrite in #24031 allowed repeated votes from the same
+  voter for the same protocol version to be counted multiple times in
+  protover_compute_vote(). Bugfix on 0.3.3.5-rc; fixes bug 27649.
diff --git a/src/rust/protover/protoset.rs b/src/rust/protover/protoset.rs
index 7e6f606a2..b99e1a99f 100644
--- a/src/rust/protover/protoset.rs
+++ b/src/rust/protover/protoset.rs
@@ -174,7 +174,7 @@ impl ProtoSet {
 if low == u32::MAX || high == u32::MAX {
 return Err(ProtoverError::ExceedsMax);
 }
-if low < last_high {
+if low <= last_high {
 return Err(ProtoverError::Overlap);
 } else if low > high {
 return Err(ProtoverError::LowGreaterThanHigh);



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


[tor-commits] [tor/maint-0.3.4] rust/protover: fix check for overlapping ranges

2018-09-12 Thread nickm
commit 03c4d0ab9cfb60ba036bb8e5fe980a5bd2551f7d
Author: cypherpunks 
Date:   Wed Sep 12 02:14:29 2018 +

rust/protover: fix check for overlapping ranges

Closes ticket 27649. Bugfix on e6625113c98c281b0a649598d7daa347c28915e9.
---
 changes/bug27649  | 4 
 src/rust/protover/protoset.rs | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/changes/bug27649 b/changes/bug27649
new file mode 100644
index 0..6498e961e
--- /dev/null
+++ b/changes/bug27649
@@ -0,0 +1,4 @@
+  o Minor bugfixes (rust):
+- The protover rewrite in #24031 allowed repeated votes from the same
+  voter for the same protocol version to be counted multiple times in
+  protover_compute_vote(). Bugfix on 0.3.3.5-rc; fixes bug 27649.
diff --git a/src/rust/protover/protoset.rs b/src/rust/protover/protoset.rs
index 7e6f606a2..b99e1a99f 100644
--- a/src/rust/protover/protoset.rs
+++ b/src/rust/protover/protoset.rs
@@ -174,7 +174,7 @@ impl ProtoSet {
 if low == u32::MAX || high == u32::MAX {
 return Err(ProtoverError::ExceedsMax);
 }
-if low < last_high {
+if low <= last_high {
 return Err(ProtoverError::Overlap);
 } else if low > high {
 return Err(ProtoverError::LowGreaterThanHigh);



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


[tor-commits] [tor/master] rust/protover: remove version zero from tests

2018-09-12 Thread nickm
commit b88a2f28ae3845927021edb7ba87063bedf9bfa5
Author: cypherpunks 
Date:   Sat Aug 18 20:05:19 2018 +

rust/protover: remove version zero from tests

This isn't legal according to dir-spec.txt.

We can write separate tests for it if the spec
is changed to make it legal.
---
 src/rust/protover/protoset.rs   | 15 +++
 src/rust/protover/protover.rs   |  4 ++--
 src/rust/protover/tests/protover.rs | 14 +++---
 3 files changed, 16 insertions(+), 17 deletions(-)

diff --git a/src/rust/protover/protoset.rs b/src/rust/protover/protoset.rs
index 027dfba20..7e6f606a2 100644
--- a/src/rust/protover/protoset.rs
+++ b/src/rust/protover/protoset.rs
@@ -520,7 +520,6 @@ mod test {
 test_protoset_contains_versions!(&[1], "1");
 test_protoset_contains_versions!(&[1, 2], "1,2");
 test_protoset_contains_versions!(&[1, 2, 3], "1-3");
-test_protoset_contains_versions!(&[0, 1], "0-1");
 test_protoset_contains_versions!(&[1, 2, 5], "1-2,5");
 test_protoset_contains_versions!(&[1, 3, 4, 5], "1,3-5");
 test_protoset_contains_versions!(&[42, 55, 56, 57, 58], "42,55-58");
@@ -587,9 +586,9 @@ mod test {
 
 #[test]
 fn test_protoset_contains() {
-let protoset: ProtoSet = ProtoSet::from_slice(&[(0, 5), (7, 9), (13, 
14)]).unwrap();
+let protoset: ProtoSet = ProtoSet::from_slice(&[(1, 5), (7, 9), (13, 
14)]).unwrap();
 
-for x in 0..6   { assert!(protoset.contains(&x), format!("should 
contain {}", x)); }
+for x in 1..6   { assert!(protoset.contains(&x), format!("should 
contain {}", x)); }
 for x in 7..10  { assert!(protoset.contains(&x), format!("should 
contain {}", x)); }
 for x in 13..15 { assert!(protoset.contains(&x), format!("should 
contain {}", x)); }
 
@@ -599,10 +598,10 @@ mod test {
 }
 
 #[test]
-fn test_protoset_contains_0_3() {
-let protoset: ProtoSet = ProtoSet::from_slice(&[(0, 3)]).unwrap();
+fn test_protoset_contains_1_3() {
+let protoset: ProtoSet = ProtoSet::from_slice(&[(1, 3)]).unwrap();
 
-for x in 0..4 { assert!(protoset.contains(&x), format!("should contain 
{}", x)); }
+for x in 1..4 { assert!(protoset.contains(&x), format!("should contain 
{}", x)); }
 }
 
 macro_rules! assert_protoset_from_vec_contains_all {
@@ -622,8 +621,8 @@ mod test {
 }
 
 #[test]
-fn test_protoset_from_vec_0_315() {
-assert_protoset_from_vec_contains_all!(0, 1, 2, 3, 15);
+fn test_protoset_from_vec_1_315() {
+assert_protoset_from_vec_contains_all!(1, 2, 3, 15);
 }
 
 #[test]
diff --git a/src/rust/protover/protover.rs b/src/rust/protover/protover.rs
index 17a8d60ec..12ede53e5 100644
--- a/src/rust/protover/protover.rs
+++ b/src/rust/protover/protover.rs
@@ -867,10 +867,10 @@ mod test {
 
 #[test]
 fn test_protoentry_all_supported_unsupported_low_version() {
-let protocols: UnvalidatedProtoEntry = "Cons=0-1".parse().unwrap();
+let protocols: UnvalidatedProtoEntry = "HSIntro=2-3".parse().unwrap();
 let unsupported: Option = 
protocols.all_supported();
 assert_eq!(true, unsupported.is_some());
-assert_eq!("Cons=0", &unsupported.unwrap().to_string());
+assert_eq!("HSIntro=2", &unsupported.unwrap().to_string());
 }
 
 #[test]
diff --git a/src/rust/protover/tests/protover.rs 
b/src/rust/protover/tests/protover.rs
index 2db01a163..59a4b5a8a 100644
--- a/src/rust/protover/tests/protover.rs
+++ b/src/rust/protover/tests/protover.rs
@@ -106,10 +106,10 @@ fn protocol_all_supported_with_unsupported_versions() {
 
 #[test]
 fn protocol_all_supported_with_unsupported_low_version() {
-let protocols: UnvalidatedProtoEntry = "Cons=0-1".parse().unwrap();
+let protocols: UnvalidatedProtoEntry = "HSIntro=2-3".parse().unwrap();
 let unsupported: Option = protocols.all_supported();
 assert_eq!(true, unsupported.is_some());
-assert_eq!("Cons=0", &unsupported.unwrap().to_string());
+assert_eq!("HSIntro=2", &unsupported.unwrap().to_string());
 }
 
 #[test]
@@ -354,18 +354,18 @@ fn 
protover_all_supported_should_exclude_some_versions_and_entire_protocols() {
 
 #[test]
 fn protover_all_supported_should_not_dos_anyones_computer() {
-let proto: UnvalidatedProtoEntry = "Sleen=0-2147483648".parse().unwrap();
+let proto: UnvalidatedProtoEntry = "Sleen=1-2147483648".parse().unwrap();
 let result: String = proto.all_supported().unwrap().to_string();
 
-assert_eq!(result, "Sleen=0-2147483648".to_string());
+assert_eq!(result, "Sleen=1-2147483648".to_string());
 }
 
 #[test]
 fn protover_all_supported_should_not_dos_anyones_computer_max_versions() {
-let proto: UnvalidatedProtoEntry = "Sleen=0-4294967294".parse().unwrap();
+let proto: UnvalidatedProtoEntry = "Sleen=1-4294967294".parse().unwrap();
 let result: String = proto.all_supported().unwrap().to_string();
 
-assert_eq!(result, "Slee

[tor-commits] [tor/release-0.3.4] rust/protover: fix check for overlapping ranges

2018-09-12 Thread nickm
commit 03c4d0ab9cfb60ba036bb8e5fe980a5bd2551f7d
Author: cypherpunks 
Date:   Wed Sep 12 02:14:29 2018 +

rust/protover: fix check for overlapping ranges

Closes ticket 27649. Bugfix on e6625113c98c281b0a649598d7daa347c28915e9.
---
 changes/bug27649  | 4 
 src/rust/protover/protoset.rs | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/changes/bug27649 b/changes/bug27649
new file mode 100644
index 0..6498e961e
--- /dev/null
+++ b/changes/bug27649
@@ -0,0 +1,4 @@
+  o Minor bugfixes (rust):
+- The protover rewrite in #24031 allowed repeated votes from the same
+  voter for the same protocol version to be counted multiple times in
+  protover_compute_vote(). Bugfix on 0.3.3.5-rc; fixes bug 27649.
diff --git a/src/rust/protover/protoset.rs b/src/rust/protover/protoset.rs
index 7e6f606a2..b99e1a99f 100644
--- a/src/rust/protover/protoset.rs
+++ b/src/rust/protover/protoset.rs
@@ -174,7 +174,7 @@ impl ProtoSet {
 if low == u32::MAX || high == u32::MAX {
 return Err(ProtoverError::ExceedsMax);
 }
-if low < last_high {
+if low <= last_high {
 return Err(ProtoverError::Overlap);
 } else if low > high {
 return Err(ProtoverError::LowGreaterThanHigh);



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


[tor-commits] [tor/release-0.3.3] test/protover: remove version zero from tests

2018-09-12 Thread nickm
commit e9ef7d5ab42a8f896be92b9ed2c1818044b38f04
Author: cypherpunks 
Date:   Sat Aug 18 16:54:09 2018 +

test/protover: remove version zero from tests

This isn't legal according to dir-spec.txt.

We can write separate tests for it if the spec
is changed to make it legal.
---
 src/test/test_protover.c | 22 +++---
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/src/test/test_protover.c b/src/test/test_protover.c
index 0948cd564..fb374c728 100644
--- a/src/test/test_protover.c
+++ b/src/test/test_protover.c
@@ -290,13 +290,13 @@ test_protover_all_supported(void *arg)
   tor_free(msg);
 
   /* We shouldn't be able to DoS ourselves parsing a large range. */
-  tt_assert(! protover_all_supported("Sleen=0-2147483648", &msg));
-  tt_str_op(msg, OP_EQ, "Sleen=0-2147483648");
+  tt_assert(! protover_all_supported("Sleen=1-2147483648", &msg));
+  tt_str_op(msg, OP_EQ, "Sleen=1-2147483648");
   tor_free(msg);
 
   /* This case is allowed. */
-  tt_assert(! protover_all_supported("Sleen=0-4294967294", &msg));
-  tt_str_op(msg, OP_EQ, "Sleen=0-4294967294");
+  tt_assert(! protover_all_supported("Sleen=1-4294967294", &msg));
+  tt_str_op(msg, OP_EQ, "Sleen=1-4294967294");
   tor_free(msg);
 
   /* If we get a (barely) valid (but unsupported list, we say "yes, that's
@@ -313,7 +313,7 @@ test_protover_all_supported(void *arg)
   /* If we get a completely unparseable list, protover_all_supported should
* hit a fatal assertion for BUG(entries == NULL). */
   tor_capture_bugs_(1);
-  tt_assert(protover_all_supported("Sleen=0-4294967295", &msg));
+  tt_assert(protover_all_supported("Sleen=1-4294967295", &msg));
   tor_end_capture_bugs_();
 
   /* Protocol name too long */
@@ -548,11 +548,11 @@ test_protover_vote_roundtrip(void *args)
 { "Zn=4294967295-1", NULL },
 { "Zn=4294967293-4294967295", NULL },
 /* Will fail because of 4294967295. */
-{ "Foo=1,3 Bar=3 Baz= Quux=9-12,14,15-16,900 Zn=0,4294967295",
+{ "Foo=1,3 Bar=3 Baz= Quux=9-12,14,15-16,900 Zn=1,4294967295",
NULL },
-{ "Foo=1,3 Bar=3 Baz= Quux=9-12,14,15-16,900 Zn=0,4294967294",
-  "Bar=3 Foo=1,3 Quux=9-12,14-16,900 Zn=0,4294967294" },
-{ "Zu16=0,65536", "Zu16=0,65536" },
+{ "Foo=1,3 Bar=3 Baz= Quux=9-12,14,15-16,900 Zn=1,4294967294",
+  "Bar=3 Foo=1,3 Quux=9-12,14-16,900 Zn=1,4294967294" },
+{ "Zu16=1,65536", "Zu16=1,65536" },
 { "N-1=1,2", "N-1=1-2" },
 { "-1=4294967295", NULL },
 { "-1=3", "-1=3" },
@@ -581,9 +581,9 @@ test_protover_vote_roundtrip(void *args)
 { "Sleen=1-501", "Sleen=1-501" },
 { "Sleen=1-65537", NULL },
 /* Both C/Rust implementations should be able to handle this mild DoS. */
-{ "Sleen=0-2147483648", NULL },
+{ "Sleen=1-2147483648", NULL },
 /* Rust tests are built in debug mode, so ints are bounds-checked. */
-{ "Sleen=0-4294967295", NULL },
+{ "Sleen=1-4294967295", NULL },
   };
   unsigned u;
   smartlist_t *votes = smartlist_new();



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


[tor-commits] [tor/maint-0.3.3] test/protover: remove version zero from tests

2018-09-12 Thread nickm
commit e9ef7d5ab42a8f896be92b9ed2c1818044b38f04
Author: cypherpunks 
Date:   Sat Aug 18 16:54:09 2018 +

test/protover: remove version zero from tests

This isn't legal according to dir-spec.txt.

We can write separate tests for it if the spec
is changed to make it legal.
---
 src/test/test_protover.c | 22 +++---
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/src/test/test_protover.c b/src/test/test_protover.c
index 0948cd564..fb374c728 100644
--- a/src/test/test_protover.c
+++ b/src/test/test_protover.c
@@ -290,13 +290,13 @@ test_protover_all_supported(void *arg)
   tor_free(msg);
 
   /* We shouldn't be able to DoS ourselves parsing a large range. */
-  tt_assert(! protover_all_supported("Sleen=0-2147483648", &msg));
-  tt_str_op(msg, OP_EQ, "Sleen=0-2147483648");
+  tt_assert(! protover_all_supported("Sleen=1-2147483648", &msg));
+  tt_str_op(msg, OP_EQ, "Sleen=1-2147483648");
   tor_free(msg);
 
   /* This case is allowed. */
-  tt_assert(! protover_all_supported("Sleen=0-4294967294", &msg));
-  tt_str_op(msg, OP_EQ, "Sleen=0-4294967294");
+  tt_assert(! protover_all_supported("Sleen=1-4294967294", &msg));
+  tt_str_op(msg, OP_EQ, "Sleen=1-4294967294");
   tor_free(msg);
 
   /* If we get a (barely) valid (but unsupported list, we say "yes, that's
@@ -313,7 +313,7 @@ test_protover_all_supported(void *arg)
   /* If we get a completely unparseable list, protover_all_supported should
* hit a fatal assertion for BUG(entries == NULL). */
   tor_capture_bugs_(1);
-  tt_assert(protover_all_supported("Sleen=0-4294967295", &msg));
+  tt_assert(protover_all_supported("Sleen=1-4294967295", &msg));
   tor_end_capture_bugs_();
 
   /* Protocol name too long */
@@ -548,11 +548,11 @@ test_protover_vote_roundtrip(void *args)
 { "Zn=4294967295-1", NULL },
 { "Zn=4294967293-4294967295", NULL },
 /* Will fail because of 4294967295. */
-{ "Foo=1,3 Bar=3 Baz= Quux=9-12,14,15-16,900 Zn=0,4294967295",
+{ "Foo=1,3 Bar=3 Baz= Quux=9-12,14,15-16,900 Zn=1,4294967295",
NULL },
-{ "Foo=1,3 Bar=3 Baz= Quux=9-12,14,15-16,900 Zn=0,4294967294",
-  "Bar=3 Foo=1,3 Quux=9-12,14-16,900 Zn=0,4294967294" },
-{ "Zu16=0,65536", "Zu16=0,65536" },
+{ "Foo=1,3 Bar=3 Baz= Quux=9-12,14,15-16,900 Zn=1,4294967294",
+  "Bar=3 Foo=1,3 Quux=9-12,14-16,900 Zn=1,4294967294" },
+{ "Zu16=1,65536", "Zu16=1,65536" },
 { "N-1=1,2", "N-1=1-2" },
 { "-1=4294967295", NULL },
 { "-1=3", "-1=3" },
@@ -581,9 +581,9 @@ test_protover_vote_roundtrip(void *args)
 { "Sleen=1-501", "Sleen=1-501" },
 { "Sleen=1-65537", NULL },
 /* Both C/Rust implementations should be able to handle this mild DoS. */
-{ "Sleen=0-2147483648", NULL },
+{ "Sleen=1-2147483648", NULL },
 /* Rust tests are built in debug mode, so ints are bounds-checked. */
-{ "Sleen=0-4294967295", NULL },
+{ "Sleen=1-4294967295", NULL },
   };
   unsigned u;
   smartlist_t *votes = smartlist_new();



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


[tor-commits] [tor/maint-0.3.3] fixup! changes file

2018-09-12 Thread nickm
commit 4fa46fca8e71e085883dab6183df498759bc439f
Author: cypherpunks 
Date:   Wed Sep 12 14:22:31 2018 +

fixup! changes file
---
 changes/bug27649 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/changes/bug27649 b/changes/bug27649
index 6498e961e..55bfc3a84 100644
--- a/changes/bug27649
+++ b/changes/bug27649
@@ -1,4 +1,4 @@
   o Minor bugfixes (rust):
-- The protover rewrite in #24031 allowed repeated votes from the same
+- The protover rewrite in 24031 allowed repeated votes from the same
   voter for the same protocol version to be counted multiple times in
-  protover_compute_vote(). Bugfix on 0.3.3.5-rc; fixes bug 27649.
+  protover_compute_vote(). Fixes bug 27649; bugfix on 0.3.3.5-rc.

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


[tor-commits] [tor/release-0.3.4] rust/protover: remove version zero from tests

2018-09-12 Thread nickm
commit b88a2f28ae3845927021edb7ba87063bedf9bfa5
Author: cypherpunks 
Date:   Sat Aug 18 20:05:19 2018 +

rust/protover: remove version zero from tests

This isn't legal according to dir-spec.txt.

We can write separate tests for it if the spec
is changed to make it legal.
---
 src/rust/protover/protoset.rs   | 15 +++
 src/rust/protover/protover.rs   |  4 ++--
 src/rust/protover/tests/protover.rs | 14 +++---
 3 files changed, 16 insertions(+), 17 deletions(-)

diff --git a/src/rust/protover/protoset.rs b/src/rust/protover/protoset.rs
index 027dfba20..7e6f606a2 100644
--- a/src/rust/protover/protoset.rs
+++ b/src/rust/protover/protoset.rs
@@ -520,7 +520,6 @@ mod test {
 test_protoset_contains_versions!(&[1], "1");
 test_protoset_contains_versions!(&[1, 2], "1,2");
 test_protoset_contains_versions!(&[1, 2, 3], "1-3");
-test_protoset_contains_versions!(&[0, 1], "0-1");
 test_protoset_contains_versions!(&[1, 2, 5], "1-2,5");
 test_protoset_contains_versions!(&[1, 3, 4, 5], "1,3-5");
 test_protoset_contains_versions!(&[42, 55, 56, 57, 58], "42,55-58");
@@ -587,9 +586,9 @@ mod test {
 
 #[test]
 fn test_protoset_contains() {
-let protoset: ProtoSet = ProtoSet::from_slice(&[(0, 5), (7, 9), (13, 
14)]).unwrap();
+let protoset: ProtoSet = ProtoSet::from_slice(&[(1, 5), (7, 9), (13, 
14)]).unwrap();
 
-for x in 0..6   { assert!(protoset.contains(&x), format!("should 
contain {}", x)); }
+for x in 1..6   { assert!(protoset.contains(&x), format!("should 
contain {}", x)); }
 for x in 7..10  { assert!(protoset.contains(&x), format!("should 
contain {}", x)); }
 for x in 13..15 { assert!(protoset.contains(&x), format!("should 
contain {}", x)); }
 
@@ -599,10 +598,10 @@ mod test {
 }
 
 #[test]
-fn test_protoset_contains_0_3() {
-let protoset: ProtoSet = ProtoSet::from_slice(&[(0, 3)]).unwrap();
+fn test_protoset_contains_1_3() {
+let protoset: ProtoSet = ProtoSet::from_slice(&[(1, 3)]).unwrap();
 
-for x in 0..4 { assert!(protoset.contains(&x), format!("should contain 
{}", x)); }
+for x in 1..4 { assert!(protoset.contains(&x), format!("should contain 
{}", x)); }
 }
 
 macro_rules! assert_protoset_from_vec_contains_all {
@@ -622,8 +621,8 @@ mod test {
 }
 
 #[test]
-fn test_protoset_from_vec_0_315() {
-assert_protoset_from_vec_contains_all!(0, 1, 2, 3, 15);
+fn test_protoset_from_vec_1_315() {
+assert_protoset_from_vec_contains_all!(1, 2, 3, 15);
 }
 
 #[test]
diff --git a/src/rust/protover/protover.rs b/src/rust/protover/protover.rs
index 17a8d60ec..12ede53e5 100644
--- a/src/rust/protover/protover.rs
+++ b/src/rust/protover/protover.rs
@@ -867,10 +867,10 @@ mod test {
 
 #[test]
 fn test_protoentry_all_supported_unsupported_low_version() {
-let protocols: UnvalidatedProtoEntry = "Cons=0-1".parse().unwrap();
+let protocols: UnvalidatedProtoEntry = "HSIntro=2-3".parse().unwrap();
 let unsupported: Option = 
protocols.all_supported();
 assert_eq!(true, unsupported.is_some());
-assert_eq!("Cons=0", &unsupported.unwrap().to_string());
+assert_eq!("HSIntro=2", &unsupported.unwrap().to_string());
 }
 
 #[test]
diff --git a/src/rust/protover/tests/protover.rs 
b/src/rust/protover/tests/protover.rs
index 2db01a163..59a4b5a8a 100644
--- a/src/rust/protover/tests/protover.rs
+++ b/src/rust/protover/tests/protover.rs
@@ -106,10 +106,10 @@ fn protocol_all_supported_with_unsupported_versions() {
 
 #[test]
 fn protocol_all_supported_with_unsupported_low_version() {
-let protocols: UnvalidatedProtoEntry = "Cons=0-1".parse().unwrap();
+let protocols: UnvalidatedProtoEntry = "HSIntro=2-3".parse().unwrap();
 let unsupported: Option = protocols.all_supported();
 assert_eq!(true, unsupported.is_some());
-assert_eq!("Cons=0", &unsupported.unwrap().to_string());
+assert_eq!("HSIntro=2", &unsupported.unwrap().to_string());
 }
 
 #[test]
@@ -354,18 +354,18 @@ fn 
protover_all_supported_should_exclude_some_versions_and_entire_protocols() {
 
 #[test]
 fn protover_all_supported_should_not_dos_anyones_computer() {
-let proto: UnvalidatedProtoEntry = "Sleen=0-2147483648".parse().unwrap();
+let proto: UnvalidatedProtoEntry = "Sleen=1-2147483648".parse().unwrap();
 let result: String = proto.all_supported().unwrap().to_string();
 
-assert_eq!(result, "Sleen=0-2147483648".to_string());
+assert_eq!(result, "Sleen=1-2147483648".to_string());
 }
 
 #[test]
 fn protover_all_supported_should_not_dos_anyones_computer_max_versions() {
-let proto: UnvalidatedProtoEntry = "Sleen=0-4294967294".parse().unwrap();
+let proto: UnvalidatedProtoEntry = "Sleen=1-4294967294".parse().unwrap();
 let result: String = proto.all_supported().unwrap().to_string();
 
-assert_eq!(result, "Slee

[tor-commits] [tor/release-0.3.3] rust/protover: remove version zero from tests

2018-09-12 Thread nickm
commit b88a2f28ae3845927021edb7ba87063bedf9bfa5
Author: cypherpunks 
Date:   Sat Aug 18 20:05:19 2018 +

rust/protover: remove version zero from tests

This isn't legal according to dir-spec.txt.

We can write separate tests for it if the spec
is changed to make it legal.
---
 src/rust/protover/protoset.rs   | 15 +++
 src/rust/protover/protover.rs   |  4 ++--
 src/rust/protover/tests/protover.rs | 14 +++---
 3 files changed, 16 insertions(+), 17 deletions(-)

diff --git a/src/rust/protover/protoset.rs b/src/rust/protover/protoset.rs
index 027dfba20..7e6f606a2 100644
--- a/src/rust/protover/protoset.rs
+++ b/src/rust/protover/protoset.rs
@@ -520,7 +520,6 @@ mod test {
 test_protoset_contains_versions!(&[1], "1");
 test_protoset_contains_versions!(&[1, 2], "1,2");
 test_protoset_contains_versions!(&[1, 2, 3], "1-3");
-test_protoset_contains_versions!(&[0, 1], "0-1");
 test_protoset_contains_versions!(&[1, 2, 5], "1-2,5");
 test_protoset_contains_versions!(&[1, 3, 4, 5], "1,3-5");
 test_protoset_contains_versions!(&[42, 55, 56, 57, 58], "42,55-58");
@@ -587,9 +586,9 @@ mod test {
 
 #[test]
 fn test_protoset_contains() {
-let protoset: ProtoSet = ProtoSet::from_slice(&[(0, 5), (7, 9), (13, 
14)]).unwrap();
+let protoset: ProtoSet = ProtoSet::from_slice(&[(1, 5), (7, 9), (13, 
14)]).unwrap();
 
-for x in 0..6   { assert!(protoset.contains(&x), format!("should 
contain {}", x)); }
+for x in 1..6   { assert!(protoset.contains(&x), format!("should 
contain {}", x)); }
 for x in 7..10  { assert!(protoset.contains(&x), format!("should 
contain {}", x)); }
 for x in 13..15 { assert!(protoset.contains(&x), format!("should 
contain {}", x)); }
 
@@ -599,10 +598,10 @@ mod test {
 }
 
 #[test]
-fn test_protoset_contains_0_3() {
-let protoset: ProtoSet = ProtoSet::from_slice(&[(0, 3)]).unwrap();
+fn test_protoset_contains_1_3() {
+let protoset: ProtoSet = ProtoSet::from_slice(&[(1, 3)]).unwrap();
 
-for x in 0..4 { assert!(protoset.contains(&x), format!("should contain 
{}", x)); }
+for x in 1..4 { assert!(protoset.contains(&x), format!("should contain 
{}", x)); }
 }
 
 macro_rules! assert_protoset_from_vec_contains_all {
@@ -622,8 +621,8 @@ mod test {
 }
 
 #[test]
-fn test_protoset_from_vec_0_315() {
-assert_protoset_from_vec_contains_all!(0, 1, 2, 3, 15);
+fn test_protoset_from_vec_1_315() {
+assert_protoset_from_vec_contains_all!(1, 2, 3, 15);
 }
 
 #[test]
diff --git a/src/rust/protover/protover.rs b/src/rust/protover/protover.rs
index 17a8d60ec..12ede53e5 100644
--- a/src/rust/protover/protover.rs
+++ b/src/rust/protover/protover.rs
@@ -867,10 +867,10 @@ mod test {
 
 #[test]
 fn test_protoentry_all_supported_unsupported_low_version() {
-let protocols: UnvalidatedProtoEntry = "Cons=0-1".parse().unwrap();
+let protocols: UnvalidatedProtoEntry = "HSIntro=2-3".parse().unwrap();
 let unsupported: Option = 
protocols.all_supported();
 assert_eq!(true, unsupported.is_some());
-assert_eq!("Cons=0", &unsupported.unwrap().to_string());
+assert_eq!("HSIntro=2", &unsupported.unwrap().to_string());
 }
 
 #[test]
diff --git a/src/rust/protover/tests/protover.rs 
b/src/rust/protover/tests/protover.rs
index 2db01a163..59a4b5a8a 100644
--- a/src/rust/protover/tests/protover.rs
+++ b/src/rust/protover/tests/protover.rs
@@ -106,10 +106,10 @@ fn protocol_all_supported_with_unsupported_versions() {
 
 #[test]
 fn protocol_all_supported_with_unsupported_low_version() {
-let protocols: UnvalidatedProtoEntry = "Cons=0-1".parse().unwrap();
+let protocols: UnvalidatedProtoEntry = "HSIntro=2-3".parse().unwrap();
 let unsupported: Option = protocols.all_supported();
 assert_eq!(true, unsupported.is_some());
-assert_eq!("Cons=0", &unsupported.unwrap().to_string());
+assert_eq!("HSIntro=2", &unsupported.unwrap().to_string());
 }
 
 #[test]
@@ -354,18 +354,18 @@ fn 
protover_all_supported_should_exclude_some_versions_and_entire_protocols() {
 
 #[test]
 fn protover_all_supported_should_not_dos_anyones_computer() {
-let proto: UnvalidatedProtoEntry = "Sleen=0-2147483648".parse().unwrap();
+let proto: UnvalidatedProtoEntry = "Sleen=1-2147483648".parse().unwrap();
 let result: String = proto.all_supported().unwrap().to_string();
 
-assert_eq!(result, "Sleen=0-2147483648".to_string());
+assert_eq!(result, "Sleen=1-2147483648".to_string());
 }
 
 #[test]
 fn protover_all_supported_should_not_dos_anyones_computer_max_versions() {
-let proto: UnvalidatedProtoEntry = "Sleen=0-4294967294".parse().unwrap();
+let proto: UnvalidatedProtoEntry = "Sleen=1-4294967294".parse().unwrap();
 let result: String = proto.all_supported().unwrap().to_string();
 
-assert_eq!(result, "Slee

[tor-commits] [tor/maint-0.3.4] rust/protover: remove version zero from tests

2018-09-12 Thread nickm
commit b88a2f28ae3845927021edb7ba87063bedf9bfa5
Author: cypherpunks 
Date:   Sat Aug 18 20:05:19 2018 +

rust/protover: remove version zero from tests

This isn't legal according to dir-spec.txt.

We can write separate tests for it if the spec
is changed to make it legal.
---
 src/rust/protover/protoset.rs   | 15 +++
 src/rust/protover/protover.rs   |  4 ++--
 src/rust/protover/tests/protover.rs | 14 +++---
 3 files changed, 16 insertions(+), 17 deletions(-)

diff --git a/src/rust/protover/protoset.rs b/src/rust/protover/protoset.rs
index 027dfba20..7e6f606a2 100644
--- a/src/rust/protover/protoset.rs
+++ b/src/rust/protover/protoset.rs
@@ -520,7 +520,6 @@ mod test {
 test_protoset_contains_versions!(&[1], "1");
 test_protoset_contains_versions!(&[1, 2], "1,2");
 test_protoset_contains_versions!(&[1, 2, 3], "1-3");
-test_protoset_contains_versions!(&[0, 1], "0-1");
 test_protoset_contains_versions!(&[1, 2, 5], "1-2,5");
 test_protoset_contains_versions!(&[1, 3, 4, 5], "1,3-5");
 test_protoset_contains_versions!(&[42, 55, 56, 57, 58], "42,55-58");
@@ -587,9 +586,9 @@ mod test {
 
 #[test]
 fn test_protoset_contains() {
-let protoset: ProtoSet = ProtoSet::from_slice(&[(0, 5), (7, 9), (13, 
14)]).unwrap();
+let protoset: ProtoSet = ProtoSet::from_slice(&[(1, 5), (7, 9), (13, 
14)]).unwrap();
 
-for x in 0..6   { assert!(protoset.contains(&x), format!("should 
contain {}", x)); }
+for x in 1..6   { assert!(protoset.contains(&x), format!("should 
contain {}", x)); }
 for x in 7..10  { assert!(protoset.contains(&x), format!("should 
contain {}", x)); }
 for x in 13..15 { assert!(protoset.contains(&x), format!("should 
contain {}", x)); }
 
@@ -599,10 +598,10 @@ mod test {
 }
 
 #[test]
-fn test_protoset_contains_0_3() {
-let protoset: ProtoSet = ProtoSet::from_slice(&[(0, 3)]).unwrap();
+fn test_protoset_contains_1_3() {
+let protoset: ProtoSet = ProtoSet::from_slice(&[(1, 3)]).unwrap();
 
-for x in 0..4 { assert!(protoset.contains(&x), format!("should contain 
{}", x)); }
+for x in 1..4 { assert!(protoset.contains(&x), format!("should contain 
{}", x)); }
 }
 
 macro_rules! assert_protoset_from_vec_contains_all {
@@ -622,8 +621,8 @@ mod test {
 }
 
 #[test]
-fn test_protoset_from_vec_0_315() {
-assert_protoset_from_vec_contains_all!(0, 1, 2, 3, 15);
+fn test_protoset_from_vec_1_315() {
+assert_protoset_from_vec_contains_all!(1, 2, 3, 15);
 }
 
 #[test]
diff --git a/src/rust/protover/protover.rs b/src/rust/protover/protover.rs
index 17a8d60ec..12ede53e5 100644
--- a/src/rust/protover/protover.rs
+++ b/src/rust/protover/protover.rs
@@ -867,10 +867,10 @@ mod test {
 
 #[test]
 fn test_protoentry_all_supported_unsupported_low_version() {
-let protocols: UnvalidatedProtoEntry = "Cons=0-1".parse().unwrap();
+let protocols: UnvalidatedProtoEntry = "HSIntro=2-3".parse().unwrap();
 let unsupported: Option = 
protocols.all_supported();
 assert_eq!(true, unsupported.is_some());
-assert_eq!("Cons=0", &unsupported.unwrap().to_string());
+assert_eq!("HSIntro=2", &unsupported.unwrap().to_string());
 }
 
 #[test]
diff --git a/src/rust/protover/tests/protover.rs 
b/src/rust/protover/tests/protover.rs
index 2db01a163..59a4b5a8a 100644
--- a/src/rust/protover/tests/protover.rs
+++ b/src/rust/protover/tests/protover.rs
@@ -106,10 +106,10 @@ fn protocol_all_supported_with_unsupported_versions() {
 
 #[test]
 fn protocol_all_supported_with_unsupported_low_version() {
-let protocols: UnvalidatedProtoEntry = "Cons=0-1".parse().unwrap();
+let protocols: UnvalidatedProtoEntry = "HSIntro=2-3".parse().unwrap();
 let unsupported: Option = protocols.all_supported();
 assert_eq!(true, unsupported.is_some());
-assert_eq!("Cons=0", &unsupported.unwrap().to_string());
+assert_eq!("HSIntro=2", &unsupported.unwrap().to_string());
 }
 
 #[test]
@@ -354,18 +354,18 @@ fn 
protover_all_supported_should_exclude_some_versions_and_entire_protocols() {
 
 #[test]
 fn protover_all_supported_should_not_dos_anyones_computer() {
-let proto: UnvalidatedProtoEntry = "Sleen=0-2147483648".parse().unwrap();
+let proto: UnvalidatedProtoEntry = "Sleen=1-2147483648".parse().unwrap();
 let result: String = proto.all_supported().unwrap().to_string();
 
-assert_eq!(result, "Sleen=0-2147483648".to_string());
+assert_eq!(result, "Sleen=1-2147483648".to_string());
 }
 
 #[test]
 fn protover_all_supported_should_not_dos_anyones_computer_max_versions() {
-let proto: UnvalidatedProtoEntry = "Sleen=0-4294967294".parse().unwrap();
+let proto: UnvalidatedProtoEntry = "Sleen=1-4294967294".parse().unwrap();
 let result: String = proto.all_supported().unwrap().to_string();
 
-assert_eq!(result, "Slee

[tor-commits] [tor/release-0.3.3] Merge branch 'maint-0.3.3' into release-0.3.3

2018-09-12 Thread nickm
commit dc087f3627d688134760606a8553319902827723
Merge: 1239fcfc3 4fa46fca8
Author: Nick Mathewson 
Date:   Wed Sep 12 17:24:41 2018 -0400

Merge branch 'maint-0.3.3' into release-0.3.3

 changes/bug27649|  4 
 src/rust/protover/protoset.rs   | 17 -
 src/rust/protover/protover.rs   |  4 ++--
 src/rust/protover/tests/protover.rs | 14 +++---
 src/test/test_protover.c| 22 +++---
 5 files changed, 32 insertions(+), 29 deletions(-)

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


[tor-commits] [tor/master] fixup! changes file

2018-09-12 Thread nickm
commit 4fa46fca8e71e085883dab6183df498759bc439f
Author: cypherpunks 
Date:   Wed Sep 12 14:22:31 2018 +

fixup! changes file
---
 changes/bug27649 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/changes/bug27649 b/changes/bug27649
index 6498e961e..55bfc3a84 100644
--- a/changes/bug27649
+++ b/changes/bug27649
@@ -1,4 +1,4 @@
   o Minor bugfixes (rust):
-- The protover rewrite in #24031 allowed repeated votes from the same
+- The protover rewrite in 24031 allowed repeated votes from the same
   voter for the same protocol version to be counted multiple times in
-  protover_compute_vote(). Bugfix on 0.3.3.5-rc; fixes bug 27649.
+  protover_compute_vote(). Fixes bug 27649; bugfix on 0.3.3.5-rc.



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


[tor-commits] [tor/master] test/protover: remove version zero from tests

2018-09-12 Thread nickm
commit e9ef7d5ab42a8f896be92b9ed2c1818044b38f04
Author: cypherpunks 
Date:   Sat Aug 18 16:54:09 2018 +

test/protover: remove version zero from tests

This isn't legal according to dir-spec.txt.

We can write separate tests for it if the spec
is changed to make it legal.
---
 src/test/test_protover.c | 22 +++---
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/src/test/test_protover.c b/src/test/test_protover.c
index 0948cd564..fb374c728 100644
--- a/src/test/test_protover.c
+++ b/src/test/test_protover.c
@@ -290,13 +290,13 @@ test_protover_all_supported(void *arg)
   tor_free(msg);
 
   /* We shouldn't be able to DoS ourselves parsing a large range. */
-  tt_assert(! protover_all_supported("Sleen=0-2147483648", &msg));
-  tt_str_op(msg, OP_EQ, "Sleen=0-2147483648");
+  tt_assert(! protover_all_supported("Sleen=1-2147483648", &msg));
+  tt_str_op(msg, OP_EQ, "Sleen=1-2147483648");
   tor_free(msg);
 
   /* This case is allowed. */
-  tt_assert(! protover_all_supported("Sleen=0-4294967294", &msg));
-  tt_str_op(msg, OP_EQ, "Sleen=0-4294967294");
+  tt_assert(! protover_all_supported("Sleen=1-4294967294", &msg));
+  tt_str_op(msg, OP_EQ, "Sleen=1-4294967294");
   tor_free(msg);
 
   /* If we get a (barely) valid (but unsupported list, we say "yes, that's
@@ -313,7 +313,7 @@ test_protover_all_supported(void *arg)
   /* If we get a completely unparseable list, protover_all_supported should
* hit a fatal assertion for BUG(entries == NULL). */
   tor_capture_bugs_(1);
-  tt_assert(protover_all_supported("Sleen=0-4294967295", &msg));
+  tt_assert(protover_all_supported("Sleen=1-4294967295", &msg));
   tor_end_capture_bugs_();
 
   /* Protocol name too long */
@@ -548,11 +548,11 @@ test_protover_vote_roundtrip(void *args)
 { "Zn=4294967295-1", NULL },
 { "Zn=4294967293-4294967295", NULL },
 /* Will fail because of 4294967295. */
-{ "Foo=1,3 Bar=3 Baz= Quux=9-12,14,15-16,900 Zn=0,4294967295",
+{ "Foo=1,3 Bar=3 Baz= Quux=9-12,14,15-16,900 Zn=1,4294967295",
NULL },
-{ "Foo=1,3 Bar=3 Baz= Quux=9-12,14,15-16,900 Zn=0,4294967294",
-  "Bar=3 Foo=1,3 Quux=9-12,14-16,900 Zn=0,4294967294" },
-{ "Zu16=0,65536", "Zu16=0,65536" },
+{ "Foo=1,3 Bar=3 Baz= Quux=9-12,14,15-16,900 Zn=1,4294967294",
+  "Bar=3 Foo=1,3 Quux=9-12,14-16,900 Zn=1,4294967294" },
+{ "Zu16=1,65536", "Zu16=1,65536" },
 { "N-1=1,2", "N-1=1-2" },
 { "-1=4294967295", NULL },
 { "-1=3", "-1=3" },
@@ -581,9 +581,9 @@ test_protover_vote_roundtrip(void *args)
 { "Sleen=1-501", "Sleen=1-501" },
 { "Sleen=1-65537", NULL },
 /* Both C/Rust implementations should be able to handle this mild DoS. */
-{ "Sleen=0-2147483648", NULL },
+{ "Sleen=1-2147483648", NULL },
 /* Rust tests are built in debug mode, so ints are bounds-checked. */
-{ "Sleen=0-4294967295", NULL },
+{ "Sleen=1-4294967295", NULL },
   };
   unsigned u;
   smartlist_t *votes = smartlist_new();



___
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.3.4'

2018-09-12 Thread nickm
commit f308e81fa755efd405919d66bd59c873de325276
Merge: b4f20ec8a f8d5fb42a
Author: Nick Mathewson 
Date:   Wed Sep 12 17:25:40 2018 -0400

Merge branch 'maint-0.3.4'

 changes/bug27649|  4 
 src/rust/protover/protoset.rs   | 17 -
 src/rust/protover/protover.rs   |  4 ++--
 src/rust/protover/tests/protover.rs | 14 +++---
 src/test/test_protover.c| 22 +++---
 5 files changed, 32 insertions(+), 29 deletions(-)

diff --cc src/rust/protover/protoset.rs
index db33592f9,b99e1a99f..d3eb8b649
--- a/src/rust/protover/protoset.rs
+++ b/src/rust/protover/protoset.rs
@@@ -597,17 -586,11 +596,17 @@@ mod test 
  
  #[test]
  fn test_protoset_contains() {
- let protoset: ProtoSet = ProtoSet::from_slice(&[(0, 5), (7, 9), (13, 
14)]).unwrap();
+ let protoset: ProtoSet = ProtoSet::from_slice(&[(1, 5), (7, 9), (13, 
14)]).unwrap();
  
- for x in 0..6 {
 -for x in 1..6   { assert!(protoset.contains(&x), format!("should 
contain {}", x)); }
 -for x in 7..10  { assert!(protoset.contains(&x), format!("should 
contain {}", x)); }
 -for x in 13..15 { assert!(protoset.contains(&x), format!("should 
contain {}", x)); }
++for x in 1..6 {
 +assert!(protoset.contains(&x), format!("should contain {}", x));
 +}
 +for x in 7..10 {
 +assert!(protoset.contains(&x), format!("should contain {}", x));
 +}
 +for x in 13..15 {
 +assert!(protoset.contains(&x), format!("should contain {}", x));
 +}
  
  for x in [6, 10, 11, 12, 15, 42, 43, 44, 45, 1234584].iter() {
  assert!(!protoset.contains(&x), format!("should not contain {}", 
x));
@@@ -615,12 -598,10 +614,12 @@@
  }
  
  #[test]
- fn test_protoset_contains_0_3() {
- let protoset: ProtoSet = ProtoSet::from_slice(&[(0, 3)]).unwrap();
+ fn test_protoset_contains_1_3() {
+ let protoset: ProtoSet = ProtoSet::from_slice(&[(1, 3)]).unwrap();
  
- for x in 0..4 {
 -for x in 1..4 { assert!(protoset.contains(&x), format!("should 
contain {}", x)); }
++for x in 1..4 {
 +assert!(protoset.contains(&x), format!("should contain {}", x));
 +}
  }
  
  macro_rules! assert_protoset_from_vec_contains_all {

___
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.3.3' into maint-0.3.4

2018-09-12 Thread nickm
commit f8d5fb42a392a764da9f46102583ea2dff960939
Merge: 73ba308d3 4fa46fca8
Author: Nick Mathewson 
Date:   Wed Sep 12 17:24:41 2018 -0400

Merge branch 'maint-0.3.3' into maint-0.3.4

 changes/bug27649|  4 
 src/rust/protover/protoset.rs   | 17 -
 src/rust/protover/protover.rs   |  4 ++--
 src/rust/protover/tests/protover.rs | 14 +++---
 src/test/test_protover.c| 22 +++---
 5 files changed, 32 insertions(+), 29 deletions(-)




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


[tor-commits] [tor/maint-0.3.4] fixup! changes file

2018-09-12 Thread nickm
commit 4fa46fca8e71e085883dab6183df498759bc439f
Author: cypherpunks 
Date:   Wed Sep 12 14:22:31 2018 +

fixup! changes file
---
 changes/bug27649 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/changes/bug27649 b/changes/bug27649
index 6498e961e..55bfc3a84 100644
--- a/changes/bug27649
+++ b/changes/bug27649
@@ -1,4 +1,4 @@
   o Minor bugfixes (rust):
-- The protover rewrite in #24031 allowed repeated votes from the same
+- The protover rewrite in 24031 allowed repeated votes from the same
   voter for the same protocol version to be counted multiple times in
-  protover_compute_vote(). Bugfix on 0.3.3.5-rc; fixes bug 27649.
+  protover_compute_vote(). Fixes bug 27649; bugfix on 0.3.3.5-rc.



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


[tor-commits] [tor/master] rust/protover: fix check for overlapping ranges

2018-09-12 Thread nickm
commit 03c4d0ab9cfb60ba036bb8e5fe980a5bd2551f7d
Author: cypherpunks 
Date:   Wed Sep 12 02:14:29 2018 +

rust/protover: fix check for overlapping ranges

Closes ticket 27649. Bugfix on e6625113c98c281b0a649598d7daa347c28915e9.
---
 changes/bug27649  | 4 
 src/rust/protover/protoset.rs | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/changes/bug27649 b/changes/bug27649
new file mode 100644
index 0..6498e961e
--- /dev/null
+++ b/changes/bug27649
@@ -0,0 +1,4 @@
+  o Minor bugfixes (rust):
+- The protover rewrite in #24031 allowed repeated votes from the same
+  voter for the same protocol version to be counted multiple times in
+  protover_compute_vote(). Bugfix on 0.3.3.5-rc; fixes bug 27649.
diff --git a/src/rust/protover/protoset.rs b/src/rust/protover/protoset.rs
index 7e6f606a2..b99e1a99f 100644
--- a/src/rust/protover/protoset.rs
+++ b/src/rust/protover/protoset.rs
@@ -174,7 +174,7 @@ impl ProtoSet {
 if low == u32::MAX || high == u32::MAX {
 return Err(ProtoverError::ExceedsMax);
 }
-if low < last_high {
+if low <= last_high {
 return Err(ProtoverError::Overlap);
 } else if low > high {
 return Err(ProtoverError::LowGreaterThanHigh);



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


[tor-commits] [tor/maint-0.3.4] Merge branch 'maint-0.3.3' into maint-0.3.4

2018-09-12 Thread nickm
commit f8d5fb42a392a764da9f46102583ea2dff960939
Merge: 73ba308d3 4fa46fca8
Author: Nick Mathewson 
Date:   Wed Sep 12 17:24:41 2018 -0400

Merge branch 'maint-0.3.3' into maint-0.3.4

 changes/bug27649|  4 
 src/rust/protover/protoset.rs   | 17 -
 src/rust/protover/protover.rs   |  4 ++--
 src/rust/protover/tests/protover.rs | 14 +++---
 src/test/test_protover.c| 22 +++---
 5 files changed, 32 insertions(+), 29 deletions(-)

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


[tor-commits] [tor/maint-0.3.4] test/protover: remove version zero from tests

2018-09-12 Thread nickm
commit e9ef7d5ab42a8f896be92b9ed2c1818044b38f04
Author: cypherpunks 
Date:   Sat Aug 18 16:54:09 2018 +

test/protover: remove version zero from tests

This isn't legal according to dir-spec.txt.

We can write separate tests for it if the spec
is changed to make it legal.
---
 src/test/test_protover.c | 22 +++---
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/src/test/test_protover.c b/src/test/test_protover.c
index 0948cd564..fb374c728 100644
--- a/src/test/test_protover.c
+++ b/src/test/test_protover.c
@@ -290,13 +290,13 @@ test_protover_all_supported(void *arg)
   tor_free(msg);
 
   /* We shouldn't be able to DoS ourselves parsing a large range. */
-  tt_assert(! protover_all_supported("Sleen=0-2147483648", &msg));
-  tt_str_op(msg, OP_EQ, "Sleen=0-2147483648");
+  tt_assert(! protover_all_supported("Sleen=1-2147483648", &msg));
+  tt_str_op(msg, OP_EQ, "Sleen=1-2147483648");
   tor_free(msg);
 
   /* This case is allowed. */
-  tt_assert(! protover_all_supported("Sleen=0-4294967294", &msg));
-  tt_str_op(msg, OP_EQ, "Sleen=0-4294967294");
+  tt_assert(! protover_all_supported("Sleen=1-4294967294", &msg));
+  tt_str_op(msg, OP_EQ, "Sleen=1-4294967294");
   tor_free(msg);
 
   /* If we get a (barely) valid (but unsupported list, we say "yes, that's
@@ -313,7 +313,7 @@ test_protover_all_supported(void *arg)
   /* If we get a completely unparseable list, protover_all_supported should
* hit a fatal assertion for BUG(entries == NULL). */
   tor_capture_bugs_(1);
-  tt_assert(protover_all_supported("Sleen=0-4294967295", &msg));
+  tt_assert(protover_all_supported("Sleen=1-4294967295", &msg));
   tor_end_capture_bugs_();
 
   /* Protocol name too long */
@@ -548,11 +548,11 @@ test_protover_vote_roundtrip(void *args)
 { "Zn=4294967295-1", NULL },
 { "Zn=4294967293-4294967295", NULL },
 /* Will fail because of 4294967295. */
-{ "Foo=1,3 Bar=3 Baz= Quux=9-12,14,15-16,900 Zn=0,4294967295",
+{ "Foo=1,3 Bar=3 Baz= Quux=9-12,14,15-16,900 Zn=1,4294967295",
NULL },
-{ "Foo=1,3 Bar=3 Baz= Quux=9-12,14,15-16,900 Zn=0,4294967294",
-  "Bar=3 Foo=1,3 Quux=9-12,14-16,900 Zn=0,4294967294" },
-{ "Zu16=0,65536", "Zu16=0,65536" },
+{ "Foo=1,3 Bar=3 Baz= Quux=9-12,14,15-16,900 Zn=1,4294967294",
+  "Bar=3 Foo=1,3 Quux=9-12,14-16,900 Zn=1,4294967294" },
+{ "Zu16=1,65536", "Zu16=1,65536" },
 { "N-1=1,2", "N-1=1-2" },
 { "-1=4294967295", NULL },
 { "-1=3", "-1=3" },
@@ -581,9 +581,9 @@ test_protover_vote_roundtrip(void *args)
 { "Sleen=1-501", "Sleen=1-501" },
 { "Sleen=1-65537", NULL },
 /* Both C/Rust implementations should be able to handle this mild DoS. */
-{ "Sleen=0-2147483648", NULL },
+{ "Sleen=1-2147483648", NULL },
 /* Rust tests are built in debug mode, so ints are bounds-checked. */
-{ "Sleen=0-4294967295", NULL },
+{ "Sleen=1-4294967295", NULL },
   };
   unsigned u;
   smartlist_t *votes = smartlist_new();



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


[tor-commits] [tor/maint-0.3.3] rust/protover: remove version zero from tests

2018-09-12 Thread nickm
commit b88a2f28ae3845927021edb7ba87063bedf9bfa5
Author: cypherpunks 
Date:   Sat Aug 18 20:05:19 2018 +

rust/protover: remove version zero from tests

This isn't legal according to dir-spec.txt.

We can write separate tests for it if the spec
is changed to make it legal.
---
 src/rust/protover/protoset.rs   | 15 +++
 src/rust/protover/protover.rs   |  4 ++--
 src/rust/protover/tests/protover.rs | 14 +++---
 3 files changed, 16 insertions(+), 17 deletions(-)

diff --git a/src/rust/protover/protoset.rs b/src/rust/protover/protoset.rs
index 027dfba20..7e6f606a2 100644
--- a/src/rust/protover/protoset.rs
+++ b/src/rust/protover/protoset.rs
@@ -520,7 +520,6 @@ mod test {
 test_protoset_contains_versions!(&[1], "1");
 test_protoset_contains_versions!(&[1, 2], "1,2");
 test_protoset_contains_versions!(&[1, 2, 3], "1-3");
-test_protoset_contains_versions!(&[0, 1], "0-1");
 test_protoset_contains_versions!(&[1, 2, 5], "1-2,5");
 test_protoset_contains_versions!(&[1, 3, 4, 5], "1,3-5");
 test_protoset_contains_versions!(&[42, 55, 56, 57, 58], "42,55-58");
@@ -587,9 +586,9 @@ mod test {
 
 #[test]
 fn test_protoset_contains() {
-let protoset: ProtoSet = ProtoSet::from_slice(&[(0, 5), (7, 9), (13, 
14)]).unwrap();
+let protoset: ProtoSet = ProtoSet::from_slice(&[(1, 5), (7, 9), (13, 
14)]).unwrap();
 
-for x in 0..6   { assert!(protoset.contains(&x), format!("should 
contain {}", x)); }
+for x in 1..6   { assert!(protoset.contains(&x), format!("should 
contain {}", x)); }
 for x in 7..10  { assert!(protoset.contains(&x), format!("should 
contain {}", x)); }
 for x in 13..15 { assert!(protoset.contains(&x), format!("should 
contain {}", x)); }
 
@@ -599,10 +598,10 @@ mod test {
 }
 
 #[test]
-fn test_protoset_contains_0_3() {
-let protoset: ProtoSet = ProtoSet::from_slice(&[(0, 3)]).unwrap();
+fn test_protoset_contains_1_3() {
+let protoset: ProtoSet = ProtoSet::from_slice(&[(1, 3)]).unwrap();
 
-for x in 0..4 { assert!(protoset.contains(&x), format!("should contain 
{}", x)); }
+for x in 1..4 { assert!(protoset.contains(&x), format!("should contain 
{}", x)); }
 }
 
 macro_rules! assert_protoset_from_vec_contains_all {
@@ -622,8 +621,8 @@ mod test {
 }
 
 #[test]
-fn test_protoset_from_vec_0_315() {
-assert_protoset_from_vec_contains_all!(0, 1, 2, 3, 15);
+fn test_protoset_from_vec_1_315() {
+assert_protoset_from_vec_contains_all!(1, 2, 3, 15);
 }
 
 #[test]
diff --git a/src/rust/protover/protover.rs b/src/rust/protover/protover.rs
index 17a8d60ec..12ede53e5 100644
--- a/src/rust/protover/protover.rs
+++ b/src/rust/protover/protover.rs
@@ -867,10 +867,10 @@ mod test {
 
 #[test]
 fn test_protoentry_all_supported_unsupported_low_version() {
-let protocols: UnvalidatedProtoEntry = "Cons=0-1".parse().unwrap();
+let protocols: UnvalidatedProtoEntry = "HSIntro=2-3".parse().unwrap();
 let unsupported: Option = 
protocols.all_supported();
 assert_eq!(true, unsupported.is_some());
-assert_eq!("Cons=0", &unsupported.unwrap().to_string());
+assert_eq!("HSIntro=2", &unsupported.unwrap().to_string());
 }
 
 #[test]
diff --git a/src/rust/protover/tests/protover.rs 
b/src/rust/protover/tests/protover.rs
index 2db01a163..59a4b5a8a 100644
--- a/src/rust/protover/tests/protover.rs
+++ b/src/rust/protover/tests/protover.rs
@@ -106,10 +106,10 @@ fn protocol_all_supported_with_unsupported_versions() {
 
 #[test]
 fn protocol_all_supported_with_unsupported_low_version() {
-let protocols: UnvalidatedProtoEntry = "Cons=0-1".parse().unwrap();
+let protocols: UnvalidatedProtoEntry = "HSIntro=2-3".parse().unwrap();
 let unsupported: Option = protocols.all_supported();
 assert_eq!(true, unsupported.is_some());
-assert_eq!("Cons=0", &unsupported.unwrap().to_string());
+assert_eq!("HSIntro=2", &unsupported.unwrap().to_string());
 }
 
 #[test]
@@ -354,18 +354,18 @@ fn 
protover_all_supported_should_exclude_some_versions_and_entire_protocols() {
 
 #[test]
 fn protover_all_supported_should_not_dos_anyones_computer() {
-let proto: UnvalidatedProtoEntry = "Sleen=0-2147483648".parse().unwrap();
+let proto: UnvalidatedProtoEntry = "Sleen=1-2147483648".parse().unwrap();
 let result: String = proto.all_supported().unwrap().to_string();
 
-assert_eq!(result, "Sleen=0-2147483648".to_string());
+assert_eq!(result, "Sleen=1-2147483648".to_string());
 }
 
 #[test]
 fn protover_all_supported_should_not_dos_anyones_computer_max_versions() {
-let proto: UnvalidatedProtoEntry = "Sleen=0-4294967294".parse().unwrap();
+let proto: UnvalidatedProtoEntry = "Sleen=1-4294967294".parse().unwrap();
 let result: String = proto.all_supported().unwrap().to_string();
 
-assert_eq!(result, "Slee

[tor-commits] [tor/maint-0.3.3] rust/protover: fix check for overlapping ranges

2018-09-12 Thread nickm
commit 03c4d0ab9cfb60ba036bb8e5fe980a5bd2551f7d
Author: cypherpunks 
Date:   Wed Sep 12 02:14:29 2018 +

rust/protover: fix check for overlapping ranges

Closes ticket 27649. Bugfix on e6625113c98c281b0a649598d7daa347c28915e9.
---
 changes/bug27649  | 4 
 src/rust/protover/protoset.rs | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/changes/bug27649 b/changes/bug27649
new file mode 100644
index 0..6498e961e
--- /dev/null
+++ b/changes/bug27649
@@ -0,0 +1,4 @@
+  o Minor bugfixes (rust):
+- The protover rewrite in #24031 allowed repeated votes from the same
+  voter for the same protocol version to be counted multiple times in
+  protover_compute_vote(). Bugfix on 0.3.3.5-rc; fixes bug 27649.
diff --git a/src/rust/protover/protoset.rs b/src/rust/protover/protoset.rs
index 7e6f606a2..b99e1a99f 100644
--- a/src/rust/protover/protoset.rs
+++ b/src/rust/protover/protoset.rs
@@ -174,7 +174,7 @@ impl ProtoSet {
 if low == u32::MAX || high == u32::MAX {
 return Err(ProtoverError::ExceedsMax);
 }
-if low < last_high {
+if low <= last_high {
 return Err(ProtoverError::Overlap);
 } else if low > high {
 return Err(ProtoverError::LowGreaterThanHigh);



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


[tor-commits] [translation/torcheck_completed] Update translations for torcheck_completed

2018-09-12 Thread translation
commit dfe3150e95623f3a1f758cb5f04d1d44354c4f19
Author: Translation commit bot 
Date:   Wed Sep 12 21:18:39 2018 +

Update translations for torcheck_completed
---
 hu/torcheck.po | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/hu/torcheck.po b/hu/torcheck.po
index 966ae4b00..9df040aeb 100644
--- a/hu/torcheck.po
+++ b/hu/torcheck.po
@@ -6,13 +6,13 @@
 # Blackywantscookies, 2014
 # Lajos Pasztor , 2014
 # benewfy , 2015
-# vargaviktor , 2015
+# vargaviktor , 2015,2018
 # vargaviktor , 2012
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "POT-Creation-Date: 2012-02-16 20:28+PDT\n"
-"PO-Revision-Date: 2018-09-12 20:48+\n"
+"PO-Revision-Date: 2018-09-12 20:49+\n"
 "Last-Translator: vargaviktor \n"
 "Language-Team: Hungarian 
(http://www.transifex.com/otf/torproject/language/hu/)\n"
 "MIME-Version: 1.0\n"
@@ -72,7 +72,7 @@ msgstr "Tovább információ erről a exit relay itt:"
 msgid ""
 "The Tor Project is a US 501(c)(3) non-profit dedicated to the research, "
 "development, and education of online anonymity and privacy."
-msgstr "A Tor Project egy a US 501(c)(3) szerinti non-profit, amely 
kutatással, fejéesztéssel és oktatással foglakozik az online anonimitás 
és személyes adatvédelem területén."
+msgstr "A Tor Project egy a US 501(c)(3) szerinti non-profit, amely 
kutatással, fejlesztéssel és oktatással foglakozik az online anonimitás 
és személyes adatvédelem területén."
 
 msgid "Learn More »"
 msgstr "Tanulj többet »"

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


[tor-commits] [translation/torcheck] Update translations for torcheck

2018-09-12 Thread translation
commit 170fcca4da8984949d1d90fe8ab9eb3c3ebad844
Author: Translation commit bot 
Date:   Wed Sep 12 21:18:34 2018 +

Update translations for torcheck
---
 hu/torcheck.po | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/hu/torcheck.po b/hu/torcheck.po
index 966ae4b00..9df040aeb 100644
--- a/hu/torcheck.po
+++ b/hu/torcheck.po
@@ -6,13 +6,13 @@
 # Blackywantscookies, 2014
 # Lajos Pasztor , 2014
 # benewfy , 2015
-# vargaviktor , 2015
+# vargaviktor , 2015,2018
 # vargaviktor , 2012
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "POT-Creation-Date: 2012-02-16 20:28+PDT\n"
-"PO-Revision-Date: 2018-09-12 20:48+\n"
+"PO-Revision-Date: 2018-09-12 20:49+\n"
 "Last-Translator: vargaviktor \n"
 "Language-Team: Hungarian 
(http://www.transifex.com/otf/torproject/language/hu/)\n"
 "MIME-Version: 1.0\n"
@@ -72,7 +72,7 @@ msgstr "Tovább információ erről a exit relay itt:"
 msgid ""
 "The Tor Project is a US 501(c)(3) non-profit dedicated to the research, "
 "development, and education of online anonymity and privacy."
-msgstr "A Tor Project egy a US 501(c)(3) szerinti non-profit, amely 
kutatással, fejéesztéssel és oktatással foglakozik az online anonimitás 
és személyes adatvédelem területén."
+msgstr "A Tor Project egy a US 501(c)(3) szerinti non-profit, amely 
kutatással, fejlesztéssel és oktatással foglakozik az online anonimitás 
és személyes adatvédelem területén."
 
 msgid "Learn More »"
 msgstr "Tanulj többet »"

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


[tor-commits] [translation/torbutton-browseronboardingproperties] Update translations for torbutton-browseronboardingproperties

2018-09-12 Thread translation
commit 89f871ccab02d1051667e2cb49b3630530a6e8b3
Author: Translation commit bot 
Date:   Wed Sep 12 21:18:26 2018 +

Update translations for torbutton-browseronboardingproperties
---
 hu/browserOnboarding.properties | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hu/browserOnboarding.properties b/hu/browserOnboarding.properties
index bcebc628e..ae88c3720 100644
--- a/hu/browserOnboarding.properties
+++ b/hu/browserOnboarding.properties
@@ -25,7 +25,7 @@ onboarding.tour-tor-circuit-display.button=Megtekintem az 
útvonalam
 onboarding.tour-tor-security=Biztonság
 onboarding.tour-tor-security.title=Válassza ki élményét
 onboarding.tour-tor-security.description=We also provide you with additional 
settings for bumping up your browser security. Our Security Settings allow you 
to block elements that could be used to attack your computer. Click below to 
see what the different options do.
-onboarding.tour-tor-security.button=Review Settings
+onboarding.tour-tor-security.button=Beállítások áttekintése
 
 onboarding.tour-tor-expect-differences=Experience Tips
 onboarding.tour-tor-expect-differences.title=Expect some differences.

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


[tor-commits] [translation/torbirdy] Update translations for torbirdy

2018-09-12 Thread translation
commit bd42fbbf6349de2d843c0af0528f41dd9c1968fe
Author: Translation commit bot 
Date:   Wed Sep 12 21:17:22 2018 +

Update translations for torbirdy
---
 hu/torbirdy.dtd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hu/torbirdy.dtd b/hu/torbirdy.dtd
index 8ec4ae90e..2b07613a2 100644
--- a/hu/torbirdy.dtd
+++ b/hu/torbirdy.dtd
@@ -29,7 +29,7 @@
 
 
 
-
+
 
 
 

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


[tor-commits] [translation/torbirdy_completed] Update translations for torbirdy_completed

2018-09-12 Thread translation
commit 54adf1d887cd581ca1274b5eec67b3329d7a2b8b
Author: Translation commit bot 
Date:   Wed Sep 12 21:17:29 2018 +

Update translations for torbirdy_completed
---
 hu/torbirdy.dtd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hu/torbirdy.dtd b/hu/torbirdy.dtd
index 8ec4ae90e..2b07613a2 100644
--- a/hu/torbirdy.dtd
+++ b/hu/torbirdy.dtd
@@ -29,7 +29,7 @@
 
 
 
-
+
 
 
 

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


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

2018-09-12 Thread translation
commit 540fc8104fe2305339cdf8b36ff387c684bfb9a5
Author: Translation commit bot 
Date:   Wed Sep 12 21:16:39 2018 +

Update translations for tails-onioncircuits
---
 hu/onioncircuits.pot | 9 +
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/hu/onioncircuits.pot b/hu/onioncircuits.pot
index 828a4af7c..1e5ae8022 100644
--- a/hu/onioncircuits.pot
+++ b/hu/onioncircuits.pot
@@ -6,13 +6,14 @@
 # benewfy , 2016
 # Falu , 2016
 # Falu , 2016
+# vargaviktor , 2018
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2017-08-03 13:00+\n"
-"PO-Revision-Date: 2018-04-12 19:13+\n"
-"Last-Translator: IDRASSI Mounir \n"
+"PO-Revision-Date: 2018-09-12 21:04+\n"
+"Last-Translator: vargaviktor \n"
 "Language-Team: Hungarian 
(http://www.transifex.com/otf/torproject/language/hu/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -22,7 +23,7 @@ msgstr ""
 
 #: ../onioncircuits:81
 msgid "You are not connected to Tor yet..."
-msgstr "Még nem vagy kapcsolódva a Tor-hoz..."
+msgstr "Még nem vagy kapcsolódott a Tor-hoz..."
 
 #: ../onioncircuits:95
 msgid "Onion Circuits"
@@ -38,7 +39,7 @@ msgstr "Állapot"
 
 #: ../onioncircuits:142
 msgid "Click on a circuit for more detail about its Tor relays."
-msgstr "Kattints egy hálózatra a Tor átjátszóinak további 
részleteiért."
+msgstr "Kattintson egy hálózatra a Tor átjátszóinak további 
részleteiért."
 
 #: ../onioncircuits:221
 msgid "The connection to Tor was lost..."

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


[tor-commits] [translation/tor-and-https] Update translations for tor-and-https

2018-09-12 Thread translation
commit ee57064a1e15349d5eb951ee599aefb8b4b85fe5
Author: Translation commit bot 
Date:   Wed Sep 12 21:17:04 2018 +

Update translations for tor-and-https
---
 hu.po | 11 ++-
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/hu.po b/hu.po
index 7a9f58697..b18b3d332 100644
--- a/hu.po
+++ b/hu.po
@@ -2,12 +2,13 @@
 # Translators:
 # Blackywantscookies, 2014
 # Blackywantscookies, 2014
+# vargaviktor , 2018
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "POT-Creation-Date: 2014-07-17 14:23+\n"
-"PO-Revision-Date: 2018-04-12 19:08+\n"
-"Last-Translator: benewfy \n"
+"PO-Revision-Date: 2018-09-12 20:52+\n"
+"Last-Translator: vargaviktor \n"
 "Language-Team: Hungarian 
(http://www.transifex.com/otf/torproject/language/hu/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -76,7 +77,7 @@ msgstr "ISP"
 #: C/tor-and-https.svg:363
 #, no-wrap
 msgid "Hacker"
-msgstr "Hekker"
+msgstr "Hacker"
 
 #. (itstool) path: defs/text
 #. Keep it short: 8em is ok, 9em is max.
@@ -90,14 +91,14 @@ msgstr "Ügyvéd"
 #: C/tor-and-https.svg:363
 #, no-wrap
 msgid "Sysadmin"
-msgstr "Sysadmin"
+msgstr "Rendszergazda"
 
 #. (itstool) path: defs/text
 #. Keep it short: 8em is ok, 9em is max.
 #: C/tor-and-https.svg:363
 #, no-wrap
 msgid "Police"
-msgstr "Police"
+msgstr "Rendőrség"
 
 #. (itstool) path: defs/text
 #: C/tor-and-https.svg:363

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


[tor-commits] [translation/tor-and-https_completed] Update translations for tor-and-https_completed

2018-09-12 Thread translation
commit 498e8f1215723285903547d93be395784e93ac76
Author: Translation commit bot 
Date:   Wed Sep 12 21:17:09 2018 +

Update translations for tor-and-https_completed
---
 hu.po | 11 ++-
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/hu.po b/hu.po
index 7a9f58697..b18b3d332 100644
--- a/hu.po
+++ b/hu.po
@@ -2,12 +2,13 @@
 # Translators:
 # Blackywantscookies, 2014
 # Blackywantscookies, 2014
+# vargaviktor , 2018
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "POT-Creation-Date: 2014-07-17 14:23+\n"
-"PO-Revision-Date: 2018-04-12 19:08+\n"
-"Last-Translator: benewfy \n"
+"PO-Revision-Date: 2018-09-12 20:52+\n"
+"Last-Translator: vargaviktor \n"
 "Language-Team: Hungarian 
(http://www.transifex.com/otf/torproject/language/hu/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -76,7 +77,7 @@ msgstr "ISP"
 #: C/tor-and-https.svg:363
 #, no-wrap
 msgid "Hacker"
-msgstr "Hekker"
+msgstr "Hacker"
 
 #. (itstool) path: defs/text
 #. Keep it short: 8em is ok, 9em is max.
@@ -90,14 +91,14 @@ msgstr "Ügyvéd"
 #: C/tor-and-https.svg:363
 #, no-wrap
 msgid "Sysadmin"
-msgstr "Sysadmin"
+msgstr "Rendszergazda"
 
 #. (itstool) path: defs/text
 #. Keep it short: 8em is ok, 9em is max.
 #: C/tor-and-https.svg:363
 #, no-wrap
 msgid "Police"
-msgstr "Police"
+msgstr "Rendőrség"
 
 #. (itstool) path: defs/text
 #: C/tor-and-https.svg:363

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


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

2018-09-12 Thread translation
commit f6f503160183fc84246c8353b51a5fad8d64b2d5
Author: Translation commit bot 
Date:   Wed Sep 12 21:16:44 2018 +

Update translations for tails-onioncircuits_completed
---
 hu/onioncircuits.pot | 9 +
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/hu/onioncircuits.pot b/hu/onioncircuits.pot
index 828a4af7c..1e5ae8022 100644
--- a/hu/onioncircuits.pot
+++ b/hu/onioncircuits.pot
@@ -6,13 +6,14 @@
 # benewfy , 2016
 # Falu , 2016
 # Falu , 2016
+# vargaviktor , 2018
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2017-08-03 13:00+\n"
-"PO-Revision-Date: 2018-04-12 19:13+\n"
-"Last-Translator: IDRASSI Mounir \n"
+"PO-Revision-Date: 2018-09-12 21:04+\n"
+"Last-Translator: vargaviktor \n"
 "Language-Team: Hungarian 
(http://www.transifex.com/otf/torproject/language/hu/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -22,7 +23,7 @@ msgstr ""
 
 #: ../onioncircuits:81
 msgid "You are not connected to Tor yet..."
-msgstr "Még nem vagy kapcsolódva a Tor-hoz..."
+msgstr "Még nem vagy kapcsolódott a Tor-hoz..."
 
 #: ../onioncircuits:95
 msgid "Onion Circuits"
@@ -38,7 +39,7 @@ msgstr "Állapot"
 
 #: ../onioncircuits:142
 msgid "Click on a circuit for more detail about its Tor relays."
-msgstr "Kattints egy hálózatra a Tor átjátszóinak további 
részleteiért."
+msgstr "Kattintson egy hálózatra a Tor átjátszóinak további 
részleteiért."
 
 #: ../onioncircuits:221
 msgid "The connection to Tor was lost..."

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


[tor-commits] [translation/liveusb-creator_completed] Update translations for liveusb-creator_completed

2018-09-12 Thread translation
commit 23dadafafa16af724f39e6049dcc17601fc7c8c6
Author: Translation commit bot 
Date:   Wed Sep 12 21:15:48 2018 +

Update translations for liveusb-creator_completed
---
 es_AR/es_AR.po | 32 
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/es_AR/es_AR.po b/es_AR/es_AR.po
index f70d1ffc2..fa4cc95c3 100644
--- a/es_AR/es_AR.po
+++ b/es_AR/es_AR.po
@@ -18,8 +18,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-08-16 11:40+0200\n"
-"PO-Revision-Date: 2018-08-18 01:03+\n"
+"POT-Creation-Date: 2018-09-04 09:36+0200\n"
+"PO-Revision-Date: 2018-09-12 21:15+\n"
 "Last-Translator: Zuhualime Akoochimoya\n"
 "Language-Team: Spanish (Argentina) 
(http://www.transifex.com/otf/torproject/language/es_AR/)\n"
 "MIME-Version: 1.0\n"
@@ -50,21 +50,21 @@ msgstr "Ocurrió un problema ejecutando la siguiente 
instrucción: `%(command)s`
 
 #: ../tails_installer/creator.py:315
 msgid "Verifying SHA1 checksum of LiveCD image..."
-msgstr "Verificando SHA1 checksum de la imagen del LiveCD..."
+msgstr "Verificando el checksum SHA1 de la imagen del LiveCD..."
 
 #: ../tails_installer/creator.py:319
 msgid "Verifying SHA256 checksum of LiveCD image..."
-msgstr "Verificando SHA256 checksum de la imagen del LiveCD..."
+msgstr "Verificando el checksum SHA256 de la imagen del LiveCD..."
 
 #: ../tails_installer/creator.py:335
 msgid ""
 "Error: The SHA1 of your Live CD is invalid.  You can run this program with "
 "the --noverify argument to bypass this verification check."
-msgstr "Error: El SHA1 de su Live CD es invalido. Puede ejecutar este programa 
con --noverify como argumento para omitir esta verificación."
+msgstr "Error: El checksum SHA1 de su LiveCD es inválido. Puede ejecutar este 
programa con --noverify como argumento para omitir esta verificación."
 
 #: ../tails_installer/creator.py:341
 msgid "Unknown ISO, skipping checksum verification"
-msgstr "ISO desconosida, omitiendo verificación de checksum..."
+msgstr "ISO desconocida, omitiendo verificación de checksum..."
 
 #: ../tails_installer/creator.py:353
 #, python-format
@@ -85,7 +85,7 @@ msgstr "No se pudo copiar %(infile)s a %(outfile)s: 
%(message)s"
 
 #: ../tails_installer/creator.py:435
 msgid "Removing existing Live OS"
-msgstr "Eliminando Live OS existente"
+msgstr "Eliminando LiveOS existente"
 
 #: ../tails_installer/creator.py:444 ../tails_installer/creator.py:456
 #, python-format
@@ -95,7 +95,7 @@ msgstr "No se pudo cambiar los permisos de acceso a %(file)s: 
%(message)s"
 #: ../tails_installer/creator.py:449
 #, python-format
 msgid "Unable to remove file from previous LiveOS: %(message)s"
-msgstr "No se pudiero borrar archivos del anterior LiveOS: %(message)s"
+msgstr "No se pudieron borrar archivos del anterior LiveOS: %(message)s"
 
 #: ../tails_installer/creator.py:462
 #, python-format
@@ -150,7 +150,7 @@ msgstr "Ejecutando unmount_device para '%(device)s'"
 #: ../tails_installer/creator.py:836
 #, python-format
 msgid "Unmounting mounted filesystems on '%(device)s'"
-msgstr "Desmontando sistema de archivos de '%(device)s'"
+msgstr "Desmontando sistemas de archivos montados en '%(device)s'"
 
 #: ../tails_installer/creator.py:840
 #, python-format
@@ -170,7 +170,7 @@ msgstr "Particionando dispositivo %(device)s"
 #: ../tails_installer/creator.py:993
 #, python-format
 msgid "Unsupported device '%(device)s', please report a bug."
-msgstr "El dispositivo '%(device)s' no está soportado, por favor envíe un 
informe de fallos"
+msgstr "El dispositivo '%(device)s' no está soportado, por favor envíe un 
informe de fallos."
 
 #: ../tails_installer/creator.py:996
 msgid "Trying to continue anyway."
@@ -192,7 +192,7 @@ msgstr "Instalando el gestor de arranque..."
 #: ../tails_installer/creator.py:1061
 #, python-format
 msgid "Could not find the '%s' COM32 module"
-msgstr "No se pudo encontrar el módulo '%s' COM32"
+msgstr "No se pudo encontrar el módulo COM32 '%s'"
 
 #: ../tails_installer/creator.py:1069 ../tails_installer/creator.py:1452
 #, python-format
@@ -215,7 +215,7 @@ msgstr "Formateando %(device)s como FAT32"
 
 #: ../tails_installer/creator.py:1286
 msgid "Could not find syslinux' gptmbr.bin"
-msgstr "No se pudo encontrar syslinux' gptmbr.bin"
+msgstr "No se pudo encontrar el archivo gptmbr.bin de SYSLINUX"
 
 #: ../tails_installer/creator.py:1299
 #, python-format
@@ -294,12 +294,12 @@ msgstr "Descargando %s..."
 msgid ""
 "Error: Cannot set the label or obtain the UUID of your device.  Unable to "
 "continue."
-msgstr "Error: No se pudo establecer u obtener el UUID de su dispositivo. No 
se puede continuar."
+msgstr "Error: No se pudo establecer la etiqueta u obtener el UUID de su 
dispositivo. No se puede continuar."
 
 #: ../tails_installer/gui.py:260
 #, python-format
 msgid "Installation complete! (%s)"
-msgstr "Instalación completa! (%s)"
+msgstr "¡Instalación completa! (%s)"
 
 #: ../tails_instal

[tor-commits] [translation/liveusb-creator] Update translations for liveusb-creator

2018-09-12 Thread translation
commit c505515c3a9241b158fd4746bd2e256d4c07a8eb
Author: Translation commit bot 
Date:   Wed Sep 12 21:15:43 2018 +

Update translations for liveusb-creator
---
 es_AR/es_AR.po | 32 
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/es_AR/es_AR.po b/es_AR/es_AR.po
index f70d1ffc2..fa4cc95c3 100644
--- a/es_AR/es_AR.po
+++ b/es_AR/es_AR.po
@@ -18,8 +18,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-08-16 11:40+0200\n"
-"PO-Revision-Date: 2018-08-18 01:03+\n"
+"POT-Creation-Date: 2018-09-04 09:36+0200\n"
+"PO-Revision-Date: 2018-09-12 21:15+\n"
 "Last-Translator: Zuhualime Akoochimoya\n"
 "Language-Team: Spanish (Argentina) 
(http://www.transifex.com/otf/torproject/language/es_AR/)\n"
 "MIME-Version: 1.0\n"
@@ -50,21 +50,21 @@ msgstr "Ocurrió un problema ejecutando la siguiente 
instrucción: `%(command)s`
 
 #: ../tails_installer/creator.py:315
 msgid "Verifying SHA1 checksum of LiveCD image..."
-msgstr "Verificando SHA1 checksum de la imagen del LiveCD..."
+msgstr "Verificando el checksum SHA1 de la imagen del LiveCD..."
 
 #: ../tails_installer/creator.py:319
 msgid "Verifying SHA256 checksum of LiveCD image..."
-msgstr "Verificando SHA256 checksum de la imagen del LiveCD..."
+msgstr "Verificando el checksum SHA256 de la imagen del LiveCD..."
 
 #: ../tails_installer/creator.py:335
 msgid ""
 "Error: The SHA1 of your Live CD is invalid.  You can run this program with "
 "the --noverify argument to bypass this verification check."
-msgstr "Error: El SHA1 de su Live CD es invalido. Puede ejecutar este programa 
con --noverify como argumento para omitir esta verificación."
+msgstr "Error: El checksum SHA1 de su LiveCD es inválido. Puede ejecutar este 
programa con --noverify como argumento para omitir esta verificación."
 
 #: ../tails_installer/creator.py:341
 msgid "Unknown ISO, skipping checksum verification"
-msgstr "ISO desconosida, omitiendo verificación de checksum..."
+msgstr "ISO desconocida, omitiendo verificación de checksum..."
 
 #: ../tails_installer/creator.py:353
 #, python-format
@@ -85,7 +85,7 @@ msgstr "No se pudo copiar %(infile)s a %(outfile)s: 
%(message)s"
 
 #: ../tails_installer/creator.py:435
 msgid "Removing existing Live OS"
-msgstr "Eliminando Live OS existente"
+msgstr "Eliminando LiveOS existente"
 
 #: ../tails_installer/creator.py:444 ../tails_installer/creator.py:456
 #, python-format
@@ -95,7 +95,7 @@ msgstr "No se pudo cambiar los permisos de acceso a %(file)s: 
%(message)s"
 #: ../tails_installer/creator.py:449
 #, python-format
 msgid "Unable to remove file from previous LiveOS: %(message)s"
-msgstr "No se pudiero borrar archivos del anterior LiveOS: %(message)s"
+msgstr "No se pudieron borrar archivos del anterior LiveOS: %(message)s"
 
 #: ../tails_installer/creator.py:462
 #, python-format
@@ -150,7 +150,7 @@ msgstr "Ejecutando unmount_device para '%(device)s'"
 #: ../tails_installer/creator.py:836
 #, python-format
 msgid "Unmounting mounted filesystems on '%(device)s'"
-msgstr "Desmontando sistema de archivos de '%(device)s'"
+msgstr "Desmontando sistemas de archivos montados en '%(device)s'"
 
 #: ../tails_installer/creator.py:840
 #, python-format
@@ -170,7 +170,7 @@ msgstr "Particionando dispositivo %(device)s"
 #: ../tails_installer/creator.py:993
 #, python-format
 msgid "Unsupported device '%(device)s', please report a bug."
-msgstr "El dispositivo '%(device)s' no está soportado, por favor envíe un 
informe de fallos"
+msgstr "El dispositivo '%(device)s' no está soportado, por favor envíe un 
informe de fallos."
 
 #: ../tails_installer/creator.py:996
 msgid "Trying to continue anyway."
@@ -192,7 +192,7 @@ msgstr "Instalando el gestor de arranque..."
 #: ../tails_installer/creator.py:1061
 #, python-format
 msgid "Could not find the '%s' COM32 module"
-msgstr "No se pudo encontrar el módulo '%s' COM32"
+msgstr "No se pudo encontrar el módulo COM32 '%s'"
 
 #: ../tails_installer/creator.py:1069 ../tails_installer/creator.py:1452
 #, python-format
@@ -215,7 +215,7 @@ msgstr "Formateando %(device)s como FAT32"
 
 #: ../tails_installer/creator.py:1286
 msgid "Could not find syslinux' gptmbr.bin"
-msgstr "No se pudo encontrar syslinux' gptmbr.bin"
+msgstr "No se pudo encontrar el archivo gptmbr.bin de SYSLINUX"
 
 #: ../tails_installer/creator.py:1299
 #, python-format
@@ -294,12 +294,12 @@ msgstr "Descargando %s..."
 msgid ""
 "Error: Cannot set the label or obtain the UUID of your device.  Unable to "
 "continue."
-msgstr "Error: No se pudo establecer u obtener el UUID de su dispositivo. No 
se puede continuar."
+msgstr "Error: No se pudo establecer la etiqueta u obtener el UUID de su 
dispositivo. No se puede continuar."
 
 #: ../tails_installer/gui.py:260
 #, python-format
 msgid "Installation complete! (%s)"
-msgstr "Instalación completa! (%s)"
+msgstr "¡Instalación completa! (%s)"
 
 #: ../tails_installer/gui.py

[tor-commits] [translation/exoneratorproperties_completed] Update translations for exoneratorproperties_completed

2018-09-12 Thread translation
commit 74cc6105b0311a1c3c6c94dad5f02cb2f301c0b3
Author: Translation commit bot 
Date:   Wed Sep 12 21:15:24 2018 +

Update translations for exoneratorproperties_completed
---
 hu/exonerator.properties | 24 
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/hu/exonerator.properties b/hu/exonerator.properties
index 1b7e92cf7..3b48abce2 100644
--- a/hu/exonerator.properties
+++ b/hu/exonerator.properties
@@ -1,29 +1,29 @@
-form.explanation=Adj meg egy IP címet és dátumot, hogy kiderítsd, hogy az 
a cím használva volt-e mint Tor relé:
+form.explanation=Adjon meg egy IP címet és dátumot, hogy kiderítse, hogy 
az a cím használva volt-e mint Tor relé:
 form.ip.label=IP cím
 form.timestamp.label=Dátum
 form.search.label=Keresés
 summary.heading=Összefoglalás
 summary.serverproblem.dbnoconnect.title=Kiszolgáló probléma
-summary.serverproblem.dbnoconnect.body.text=Nem lehet csatlakozni az 
adatbázishoz. Kérlek próbáld újra később. Ha ez a probléma fennáll, 
kérlek %s!
-summary.serverproblem.dbnoconnect.body.link=add a tudomásunkra
+summary.serverproblem.dbnoconnect.body.text=Nem lehet csatlakozni az 
adatbázishoz. Kérjük próbálja újra később. Ha ez a probléma fennáll, 
kérjük %s!
+summary.serverproblem.dbnoconnect.body.link=adja a tudomásunkra
 summary.serverproblem.dbempty.title=Kiszolgáló probléma
-summary.serverproblem.dbempty.body.text=Az adatbázis üresnek tűnik. Kérlek 
próbáld újra később. Ha ez a probléma fennáll, kérlek %s!
-summary.serverproblem.dbempty.body.link=add a tudomásunkra
+summary.serverproblem.dbempty.body.text=Az adatbázis üresnek tűnik. 
Kérjük próbálja újra később. Ha ez a probléma fennáll, kérjük %s!
+summary.serverproblem.dbempty.body.link=adja a tudomásunkra
 summary.invalidparams.notimestamp.title=Nincs megadva dátum paraméter
-summary.invalidparams.notimestamp.body=Sajnálom, meg kell adnod egy dátum 
paramétert is.
+summary.invalidparams.notimestamp.body=Sajnáljuk, meg kell adnia egy dátum 
paramétert is.
 summary.invalidparams.noip.title=Nincs megadva IP cím paraméter
-summary.invalidparams.noip.body=Sajnálom, meg kell adnod egy IP cím 
paramétert is.
+summary.invalidparams.noip.body=Sajnáljuk, meg kell adnia egy IP cím 
paramétert is.
 summary.invalidparams.timestamprange.title=A dátum paraméter tartományon 
kívül
-summary.invalidparams.timestamprange.body=Sajnálom, az adatbázis nem 
tartalmaz semmi adatot erről: %s. Kérlek válassz egy dátumot %s és %s 
között.
+summary.invalidparams.timestamprange.body=Sajnáljuk, az adatbázis nem 
tartalmaz semmi adatot erről: %s. Kérjük válasszon egy dátumot %s és %s 
között.
 summary.invalidparams.invalidip.title=Érvénytelen IP cím paraméter
-summary.invalidparams.invalidip.body=Sajnálom, a %s nem egy érvényes IP 
cím. Az elvárt IP cím formátuma %s vagy %s.
+summary.invalidparams.invalidip.body=Sajnáljuk, a %s nem egy érvényes IP 
cím. Az elvárt IP cím formátuma %s vagy %s.
 summary.invalidparams.invalidtimestamp.title=Érvénytelen dátum paraméter
-summary.invalidparams.invalidtimestamp.body=Sajnálom, a %s nem egy érvényes 
dátum. Az elvárt dátum formátuma %s.
+summary.invalidparams.invalidtimestamp.body=Sajnáljuk, a %s nem egy 
érvényes dátum. Az elvárt dátum formátuma %s.
 summary.invalidparams.timestamptoorecent.title=Az data paraméter túl friss
 summary.invalidparams.timestamptoorecent.body=Az adatbázis nem tartalma elég 
adatot ahhoz, hogy pontosan megválaszolhassuk ezt a kérést. A legutoljára 
elfogadott adat tegnapelőtti. Kérjük ismételje meg a keresést egy másik 
napon.
 summary.serverproblem.nodata.title=Kiszolgáló probléma
-summary.serverproblem.nodata.body.text=Az adatbázis nem tartalmaz semmi 
adatot a kért dátumhoz. Kérlek próbáld újra később. Ha ez a probléma 
fennáll, kérlek %s!
-summary.serverproblem.nodata.body.link=add a tudomásunkra
+summary.serverproblem.nodata.body.text=Az adatbázis nem tartalmaz semmi 
adatot a kért dátumhoz. Kérjük próbálja újra később. Ha ez a probléma 
fennáll, kérjük %s!
+summary.serverproblem.nodata.body.link=adja a tudomásunkra
 summary.negativesamenetwork.title=Az eredmény negatív
 summary.negativesamenetwork.body=Nem találtunk %s IP címet %s napon vagy 
azon belül. Azonban találtunk egyéb Tor relé IP címeket ugyanazon a /%d 
hálózaton e körüli időszakban:
 summary.positive.title=Az eredmény pozitív

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


[tor-commits] [translation/https_everywhere_completed] Update translations for https_everywhere_completed

2018-09-12 Thread translation
commit 3ce7f5d562d08eecd3edbeed26821d911745a372
Author: Translation commit bot 
Date:   Wed Sep 12 21:15:37 2018 +

Update translations for https_everywhere_completed
---
 hu/https-everywhere.dtd | 21 ++---
 1 file changed, 18 insertions(+), 3 deletions(-)

diff --git a/hu/https-everywhere.dtd b/hu/https-everywhere.dtd
index 30d84bd08..4e1187b09 100644
--- a/hu/https-everywhere.dtd
+++ b/hu/https-everywhere.dtd
@@ -2,6 +2,7 @@
 
 
 
+
 
 
 
@@ -12,12 +13,26 @@
 
 
 
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
 
+
+
+
+
 
 
 

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


[tor-commits] [translation/https_everywhere] Update translations for https_everywhere

2018-09-12 Thread translation
commit 058acab107cd2bf26f309f626d5432d66d7aa408
Author: Translation commit bot 
Date:   Wed Sep 12 21:15:30 2018 +

Update translations for https_everywhere
---
 hu/https-everywhere.dtd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hu/https-everywhere.dtd b/hu/https-everywhere.dtd
index 90e398508..4e1187b09 100644
--- a/hu/https-everywhere.dtd
+++ b/hu/https-everywhere.dtd
@@ -31,7 +31,7 @@
 
 
 
-
+
 
 
 

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


[tor-commits] [translation/exoneratorproperties] Update translations for exoneratorproperties

2018-09-12 Thread translation
commit ed88b740c32b5c5d06a4a30750cb05dbe3676e6c
Author: Translation commit bot 
Date:   Wed Sep 12 21:15:19 2018 +

Update translations for exoneratorproperties
---
 hu/exonerator.properties | 24 
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/hu/exonerator.properties b/hu/exonerator.properties
index 1b7e92cf7..3b48abce2 100644
--- a/hu/exonerator.properties
+++ b/hu/exonerator.properties
@@ -1,29 +1,29 @@
-form.explanation=Adj meg egy IP címet és dátumot, hogy kiderítsd, hogy az 
a cím használva volt-e mint Tor relé:
+form.explanation=Adjon meg egy IP címet és dátumot, hogy kiderítse, hogy 
az a cím használva volt-e mint Tor relé:
 form.ip.label=IP cím
 form.timestamp.label=Dátum
 form.search.label=Keresés
 summary.heading=Összefoglalás
 summary.serverproblem.dbnoconnect.title=Kiszolgáló probléma
-summary.serverproblem.dbnoconnect.body.text=Nem lehet csatlakozni az 
adatbázishoz. Kérlek próbáld újra később. Ha ez a probléma fennáll, 
kérlek %s!
-summary.serverproblem.dbnoconnect.body.link=add a tudomásunkra
+summary.serverproblem.dbnoconnect.body.text=Nem lehet csatlakozni az 
adatbázishoz. Kérjük próbálja újra később. Ha ez a probléma fennáll, 
kérjük %s!
+summary.serverproblem.dbnoconnect.body.link=adja a tudomásunkra
 summary.serverproblem.dbempty.title=Kiszolgáló probléma
-summary.serverproblem.dbempty.body.text=Az adatbázis üresnek tűnik. Kérlek 
próbáld újra később. Ha ez a probléma fennáll, kérlek %s!
-summary.serverproblem.dbempty.body.link=add a tudomásunkra
+summary.serverproblem.dbempty.body.text=Az adatbázis üresnek tűnik. 
Kérjük próbálja újra később. Ha ez a probléma fennáll, kérjük %s!
+summary.serverproblem.dbempty.body.link=adja a tudomásunkra
 summary.invalidparams.notimestamp.title=Nincs megadva dátum paraméter
-summary.invalidparams.notimestamp.body=Sajnálom, meg kell adnod egy dátum 
paramétert is.
+summary.invalidparams.notimestamp.body=Sajnáljuk, meg kell adnia egy dátum 
paramétert is.
 summary.invalidparams.noip.title=Nincs megadva IP cím paraméter
-summary.invalidparams.noip.body=Sajnálom, meg kell adnod egy IP cím 
paramétert is.
+summary.invalidparams.noip.body=Sajnáljuk, meg kell adnia egy IP cím 
paramétert is.
 summary.invalidparams.timestamprange.title=A dátum paraméter tartományon 
kívül
-summary.invalidparams.timestamprange.body=Sajnálom, az adatbázis nem 
tartalmaz semmi adatot erről: %s. Kérlek válassz egy dátumot %s és %s 
között.
+summary.invalidparams.timestamprange.body=Sajnáljuk, az adatbázis nem 
tartalmaz semmi adatot erről: %s. Kérjük válasszon egy dátumot %s és %s 
között.
 summary.invalidparams.invalidip.title=Érvénytelen IP cím paraméter
-summary.invalidparams.invalidip.body=Sajnálom, a %s nem egy érvényes IP 
cím. Az elvárt IP cím formátuma %s vagy %s.
+summary.invalidparams.invalidip.body=Sajnáljuk, a %s nem egy érvényes IP 
cím. Az elvárt IP cím formátuma %s vagy %s.
 summary.invalidparams.invalidtimestamp.title=Érvénytelen dátum paraméter
-summary.invalidparams.invalidtimestamp.body=Sajnálom, a %s nem egy érvényes 
dátum. Az elvárt dátum formátuma %s.
+summary.invalidparams.invalidtimestamp.body=Sajnáljuk, a %s nem egy 
érvényes dátum. Az elvárt dátum formátuma %s.
 summary.invalidparams.timestamptoorecent.title=Az data paraméter túl friss
 summary.invalidparams.timestamptoorecent.body=Az adatbázis nem tartalma elég 
adatot ahhoz, hogy pontosan megválaszolhassuk ezt a kérést. A legutoljára 
elfogadott adat tegnapelőtti. Kérjük ismételje meg a keresést egy másik 
napon.
 summary.serverproblem.nodata.title=Kiszolgáló probléma
-summary.serverproblem.nodata.body.text=Az adatbázis nem tartalmaz semmi 
adatot a kért dátumhoz. Kérlek próbáld újra később. Ha ez a probléma 
fennáll, kérlek %s!
-summary.serverproblem.nodata.body.link=add a tudomásunkra
+summary.serverproblem.nodata.body.text=Az adatbázis nem tartalmaz semmi 
adatot a kért dátumhoz. Kérjük próbálja újra később. Ha ez a probléma 
fennáll, kérjük %s!
+summary.serverproblem.nodata.body.link=adja a tudomásunkra
 summary.negativesamenetwork.title=Az eredmény negatív
 summary.negativesamenetwork.body=Nem találtunk %s IP címet %s napon vagy 
azon belül. Azonban találtunk egyéb Tor relé IP címeket ugyanazon a /%d 
hálózaton e körüli időszakban:
 summary.positive.title=Az eredmény pozitív

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


[tor-commits] [translation/torcheck] Update translations for torcheck

2018-09-12 Thread translation
commit 5ac040d5ba4f44f21b091b12f898d76f69e99ae3
Author: Translation commit bot 
Date:   Wed Sep 12 20:48:18 2018 +

Update translations for torcheck
---
 hu/torcheck.po | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/hu/torcheck.po b/hu/torcheck.po
index b959879ca..966ae4b00 100644
--- a/hu/torcheck.po
+++ b/hu/torcheck.po
@@ -12,8 +12,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "POT-Creation-Date: 2012-02-16 20:28+PDT\n"
-"PO-Revision-Date: 2017-09-19 10:32+\n"
-"Last-Translator: benewfy \n"
+"PO-Revision-Date: 2018-09-12 20:48+\n"
+"Last-Translator: vargaviktor \n"
 "Language-Team: Hungarian 
(http://www.transifex.com/otf/torproject/language/hu/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"

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


[tor-commits] [translation/torcheck_completed] Update translations for torcheck_completed

2018-09-12 Thread translation
commit 535ee69f333a4949803fd0361dc6cec40c55b2b4
Author: Translation commit bot 
Date:   Wed Sep 12 20:48:23 2018 +

Update translations for torcheck_completed
---
 hu/torcheck.po | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/hu/torcheck.po b/hu/torcheck.po
index b959879ca..966ae4b00 100644
--- a/hu/torcheck.po
+++ b/hu/torcheck.po
@@ -12,8 +12,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "POT-Creation-Date: 2012-02-16 20:28+PDT\n"
-"PO-Revision-Date: 2017-09-19 10:32+\n"
-"Last-Translator: benewfy \n"
+"PO-Revision-Date: 2018-09-12 20:48+\n"
+"Last-Translator: vargaviktor \n"
 "Language-Team: Hungarian 
(http://www.transifex.com/otf/torproject/language/hu/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"

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


[tor-commits] [translation/https_everywhere] Update translations for https_everywhere

2018-09-12 Thread translation
commit 626828aa8500850696c53a1dda8f59d672b73ebe
Author: Translation commit bot 
Date:   Wed Sep 12 20:45:27 2018 +

Update translations for https_everywhere
---
 hu/https-everywhere.dtd | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/hu/https-everywhere.dtd b/hu/https-everywhere.dtd
index 45f48e5f5..90e398508 100644
--- a/hu/https-everywhere.dtd
+++ b/hu/https-everywhere.dtd
@@ -18,7 +18,7 @@
 
 
 
-
+
 
 
 
@@ -32,7 +32,7 @@
 
 
 
-
+
 
 
 

___
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 'tor-github/pr/280'

2018-09-12 Thread nickm
commit b4f20ec8a634dc734b103b1773d6565c876e7a24
Merge: bfc847255 c6a154e7b
Author: Nick Mathewson 
Date:   Wed Sep 12 16:13:23 2018 -0400

Merge remote-tracking branch 'tor-github/pr/280'

 changes/bug27165 |  4 
 src/core/or/channelpadding.c |  2 ++
 src/feature/stats/rephist.c  | 30 --
 src/lib/time/tvdiff.c| 22 ++
 src/lib/time/tvdiff.h|  2 ++
 5 files changed, 46 insertions(+), 14 deletions(-)

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


[tor-commits] [tor/master] Rework predicted_ports_prediction_time_remaining() to fix CID 1438153

2018-09-12 Thread nickm
commit 5ab2110eb6b4ae9082430081cb2800018cf0dcd6
Author: rl1987 
Date:   Sun Aug 19 21:03:01 2018 +0300

Rework predicted_ports_prediction_time_remaining() to fix CID 1438153
---
 src/core/or/channelpadding.c |  2 ++
 src/feature/stats/rephist.c  | 30 --
 src/lib/time/tvdiff.c| 22 ++
 src/lib/time/tvdiff.h|  2 ++
 4 files changed, 42 insertions(+), 14 deletions(-)

diff --git a/src/core/or/channelpadding.c b/src/core/or/channelpadding.c
index b8cfd33d5..4e43b53f7 100644
--- a/src/core/or/channelpadding.c
+++ b/src/core/or/channelpadding.c
@@ -663,6 +663,8 @@ channelpadding_get_circuits_available_timeout(void)
   // 30..60min by default
   timeout = timeout + crypto_rand_int(timeout);
 
+  tor_assert(timeout >= 0);
+
   return timeout;
 }
 
diff --git a/src/feature/stats/rephist.c b/src/feature/stats/rephist.c
index 6bb680c5d..7248dedb2 100644
--- a/src/feature/stats/rephist.c
+++ b/src/feature/stats/rephist.c
@@ -97,6 +97,7 @@
 #include "lib/container/order.h"
 #include "lib/math/fp.h"
 #include "lib/math/laplace.h"
+#include "lib/time/tvdiff.h"
 
 #ifdef HAVE_FCNTL_H
 #include 
@@ -1548,7 +1549,7 @@ typedef struct predicted_port_t {
 /** A list of port numbers that have been used recently. */
 static smartlist_t *predicted_ports_list=NULL;
 /** How long do we keep predicting circuits? */
-static int prediction_timeout=0;
+static time_t prediction_timeout=0;
 /** When was the last time we added a prediction entry (HS or port) */
 static time_t last_prediction_add_time=0;
 
@@ -1558,30 +1559,30 @@ static time_t last_prediction_add_time=0;
 int
 predicted_ports_prediction_time_remaining(time_t now)
 {
-  time_t idle_delta;
+  time_t seconds_waited;
+  time_t seconds_left;
 
   /* Protect against overflow of return value. This can happen if the clock
* jumps backwards in time. Update the last prediction time (aka last
* active time) to prevent it. This update is preferable to using monotonic
* time because it prevents clock jumps into the past from simply causing
* very long idle timeouts while the monotonic time stands still. */
-  if (last_prediction_add_time > now) {
+  seconds_waited = time_diff(last_prediction_add_time, now);
+  if (seconds_waited == TIME_MAX) {
 last_prediction_add_time = now;
-idle_delta = 0;
-  } else {
-idle_delta = now - last_prediction_add_time;
+seconds_waited = 0;
   }
 
   /* Protect against underflow of the return value. This can happen for very
* large periods of inactivity/system sleep. */
-  if (idle_delta > prediction_timeout)
+  if (seconds_waited > prediction_timeout)
 return 0;
 
-  if (BUG((prediction_timeout - idle_delta) > INT_MAX)) {
+  seconds_left = time_diff(seconds_waited, prediction_timeout);
+  if (BUG(seconds_left == TIME_MAX))
 return INT_MAX;
-  }
 
-  return (int)(prediction_timeout - idle_delta);
+  return (int)(seconds_left);
 }
 
 /** We just got an application request for a connection with
@@ -1595,7 +1596,8 @@ add_predicted_port(time_t now, uint16_t port)
 
   //  If the list is empty, re-randomize predicted ports lifetime
   if (!any_predicted_circuits(now)) {
-prediction_timeout = channelpadding_get_circuits_available_timeout();
+prediction_timeout =
+ (time_t)channelpadding_get_circuits_available_timeout();
   }
 
   last_prediction_add_time = now;
@@ -1679,7 +1681,7 @@ rep_hist_get_predicted_ports(time_t now)
   smartlist_t *out = smartlist_new();
   tor_assert(predicted_ports_list);
 
-  predicted_circs_relevance_time = prediction_timeout;
+  predicted_circs_relevance_time = (int)prediction_timeout;
 
   /* clean out obsolete entries */
   SMARTLIST_FOREACH_BEGIN(predicted_ports_list, predicted_port_t *, pp) {
@@ -1765,7 +1767,7 @@ rep_hist_get_predicted_internal(time_t now, int 
*need_uptime,
 {
   int predicted_circs_relevance_time;
 
-  predicted_circs_relevance_time = prediction_timeout;
+  predicted_circs_relevance_time = (int)prediction_timeout;
 
   if (!predicted_internal_time) { /* initialize it */
 predicted_internal_time = now;
@@ -1787,7 +1789,7 @@ int
 any_predicted_circuits(time_t now)
 {
   int predicted_circs_relevance_time;
-  predicted_circs_relevance_time = prediction_timeout;
+  predicted_circs_relevance_time = (int)prediction_timeout;
 
   return smartlist_len(predicted_ports_list) ||
  predicted_internal_time + predicted_circs_relevance_time >= now;
diff --git a/src/lib/time/tvdiff.c b/src/lib/time/tvdiff.c
index 8617110e5..bc8a1166e 100644
--- a/src/lib/time/tvdiff.c
+++ b/src/lib/time/tvdiff.c
@@ -165,3 +165,25 @@ tv_to_msec(const struct timeval *tv)
   conv += ((int64_t)tv->tv_usec+500)/1000L;
   return conv;
 }
+
+/**
+ * Return duration in seconds between time_t values
+ * t1 and t2 iff t1 is numerically
+ * less or equal than t2. Otherwise, return TIME_MAX.
+ *
+ * This provides a safe way to compute difference between
+ * two UNIX timestamps (t2 can be assumed by calling
+ * code to be 

[tor-commits] [tor/master] Add changes file

2018-09-12 Thread nickm
commit c6a154e7b83377bffc130d757d3af3bcc124503e
Author: rl1987 
Date:   Sun Aug 19 21:05:17 2018 +0300

Add changes file
---
 changes/bug27165 | 4 
 1 file changed, 4 insertions(+)

diff --git a/changes/bug27165 b/changes/bug27165
new file mode 100644
index 0..9e78d17e9
--- /dev/null
+++ b/changes/bug27165
@@ -0,0 +1,4 @@
+  o Minor bugfixes (C correctness):
+- Use time_t for all values in predicted_ports_prediction_time_remaining().
+  Rework the code that computes difference between durations/timestamps.
+  Fixes bug 27165; bugfix on 0.3.1.1-alpha.



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


[tor-commits] [translation/torbutton-browseronboardingproperties] Update translations for torbutton-browseronboardingproperties

2018-09-12 Thread translation
commit c05d9c84310a4dfa70daca4588e1aee2df096313
Author: Translation commit bot 
Date:   Wed Sep 12 19:48:19 2018 +

Update translations for torbutton-browseronboardingproperties
---
 nb/browserOnboarding.properties | 34 +-
 1 file changed, 17 insertions(+), 17 deletions(-)

diff --git a/nb/browserOnboarding.properties b/nb/browserOnboarding.properties
index ec647aa92..09b36334a 100644
--- a/nb/browserOnboarding.properties
+++ b/nb/browserOnboarding.properties
@@ -4,15 +4,15 @@
 
 onboarding.tour-tor-welcome=Velkommen
 onboarding.tour-tor-welcome.title=Du er klar.
-onboarding.tour-tor-welcome.description=Tor Browser offers the highest 
standard of privacy and security while browsing the web. You’re now protected 
against tracking, surveillance, and censorship. This quick onboarding will show 
you how.
-onboarding.tour-tor-welcome.button=Start Now
+onboarding.tour-tor-welcome.description=Tor Nettleser tilbyr den høyeste 
standarden på personvern og sikkerhet mens du surfer på nettet. Du er nå 
beskyttet mot sporing, overvåkning og sensur. Denne raske onboarding vil vise 
deg hvordan.
+onboarding.tour-tor-welcome.button=Start nå
 
 onboarding.tour-tor-privacy=Personvern
 onboarding.tour-tor-privacy.title=Snub trackers and snoopers.
 onboarding.tour-tor-privacy.description=Tor Browser isolates cookies and 
deletes your browser history after your session. These modifications ensure 
your privacy and security are protected in the browser. Click ‘Tor Network’ 
to learn how we protect you on the network level.
-onboarding.tour-tor-privacy.button=Go to Tor Network
+onboarding.tour-tor-privacy.button=GÃ¥ til Tor Nettverk
 
-onboarding.tour-tor-network=Tor Network
+onboarding.tour-tor-network=Tor Nettverk
 onboarding.tour-tor-network.title=Travel a decentralized network.
 onboarding.tour-tor-network.description=Tor Browser connects you to the Tor 
network run by thousands of volunteers around the world. Unlike a VPN, 
there’s no one point of failure or centralized entity you need to trust in 
order to enjoy the internet privately.
 onboarding.tour-tor-network.button=Go to Circuit Display
@@ -20,35 +20,35 @@ onboarding.tour-tor-network.button=Go to Circuit Display
 onboarding.tour-tor-circuit-display=Circuit Display
 onboarding.tour-tor-circuit-display.title=See your path.
 onboarding.tour-tor-circuit-display.description=For each domain you visit, 
your traffic is relayed and encrypted in a circuit across three Tor relays 
around the world. No website knows where you are connecting from. You can 
request a new circuit by clicking ‘New Circuit for this Site’ on our 
Circuit Display.
-onboarding.tour-tor-circuit-display.button=See My Path
+onboarding.tour-tor-circuit-display.button=Se Min Vei
 
 onboarding.tour-tor-security=Sikkerhet
-onboarding.tour-tor-security.title=Choose your experience.
+onboarding.tour-tor-security.title=Velg din opplevelse.
 onboarding.tour-tor-security.description=We also provide you with additional 
settings for bumping up your browser security. Our Security Settings allow you 
to block elements that could be used to attack your computer. Click below to 
see what the different options do.
 onboarding.tour-tor-security.button=Review Settings
 
 onboarding.tour-tor-expect-differences=Experience Tips
-onboarding.tour-tor-expect-differences.title=Expect some differences.
-onboarding.tour-tor-expect-differences.description=With all the security and 
privacy features provided by Tor, your experience while browsing the internet 
may be a little different. Things may be a bit slower, and depending on your 
security level, some elements may not work or load. You may also be asked to 
prove you are a human and not a robot.
-onboarding.tour-tor-expect-differences.button=See FAQs
+onboarding.tour-tor-expect-differences.title=Forvent noen forskjeller.
+onboarding.tour-tor-expect-differences.description=Med alle de sikkerhets og 
personvernfunksjonene som Tor leverer, kan din erfaring mens du surfer på 
Internett, være litt annerledes. Det kan være litt tregere, og avhengig av 
sikkerhetsnivået, kan noen elementer ikke fungere eller lastes. Du kan også 
bli bedt om å bevise at du er et menneske og ikke en robot.
+onboarding.tour-tor-expect-differences.button=se FAQs
 
 onboarding.tour-tor-onion-services=Løk-tjenester
-onboarding.tour-tor-onion-services.title=Be extra protected.
-onboarding.tour-tor-onion-services.description=Onion services are sites that 
end with a .onion that provide extra protections to publishers and visitors, 
including added safeguards against censorship. Onion services allow anyone to 
provide content and services anonymously. Click below to visit the DuckDuckGo 
onion site.
-onboarding.tour-tor-onion-services.button=Visit an Onion
+onboarding.tour-tor-onion-services.title=Vær ekstra beskyttet.
+onboarding.tour-tor-onion-services.description=Onion tjenester er nettsteder 
som slutter med en .onion som gir ekstra beskyt

[tor-commits] [translation/tor-browser-manual] Update translations for tor-browser-manual

2018-09-12 Thread translation
commit 5a103743d61242b95e5f891f6e576539c59c7fb5
Author: Translation commit bot 
Date:   Wed Sep 12 19:47:26 2018 +

Update translations for tor-browser-manual
---
 nb/nb.po | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/nb/nb.po b/nb/nb.po
index 0d9cff9ba..55695dbfc 100644
--- a/nb/nb.po
+++ b/nb/nb.po
@@ -3,12 +3,13 @@
 # Allan Nordhøy , 2016
 # Trent Renshaw , 2016
 # Knut Ole <>, 2016
+# ty moss , 2018
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "POT-Creation-Date: 2018-09-07 16:48-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: Knut Ole <>, 2016\n"
+"Last-Translator: ty moss , 2018\n"
 "Language-Team: Norwegian Bokmål 
(https://www.transifex.com/otf/teams/1519/nb/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -1397,11 +1398,11 @@ msgstr ""
 
 #: translate.page:6
 msgid "Becoming a translator for the Tor Project"
-msgstr ""
+msgstr "Bli oversetter for Tor Project"
 
 #: translate.page:10
 msgid "Becoming a Tor Translator"
-msgstr ""
+msgstr "Bli en Tor Oversetter"
 
 #: translate.page:12
 msgid ""

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


[tor-commits] [translation/tba-android_stringsdtd] Update translations for tba-android_stringsdtd

2018-09-12 Thread translation
commit 238a7f00ee7ada4ca1c1b7fc501d9f39a57cdf49
Author: Translation commit bot 
Date:   Wed Sep 12 19:46:49 2018 +

Update translations for tba-android_stringsdtd
---
 nb/android_strings.dtd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/nb/android_strings.dtd b/nb/android_strings.dtd
index a757e1f07..02ee15828 100644
--- a/nb/android_strings.dtd
+++ b/nb/android_strings.dtd
@@ -2,7 +2,7 @@
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 
-
+
 
 
 

___
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

2018-09-12 Thread translation
commit d3a1945427434ae3457fc5e8b576572ede5ea4a6
Author: Translation commit bot 
Date:   Wed Sep 12 19:46:39 2018 +

Update translations for tails-persistence-setup
---
 nb/nb.po | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/nb/nb.po b/nb/nb.po
index 3a83ff8fe..3a1295cbc 100644
--- a/nb/nb.po
+++ b/nb/nb.po
@@ -14,7 +14,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: Tails developers \n"
 "POT-Creation-Date: 2018-08-16 11:14+0200\n"
-"PO-Revision-Date: 2018-08-23 21:25+\n"
+"PO-Revision-Date: 2018-09-12 19:17+\n"
 "Last-Translator: ty moss \n"
 "Language-Team: Norwegian Bokmål 
(http://www.transifex.com/otf/torproject/language/nb/)\n"
 "MIME-Version: 1.0\n"
@@ -134,7 +134,7 @@ msgstr "Tilleggsprogramvare"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:103
 msgid "Software installed when starting Tails"
-msgstr ""
+msgstr "Programvare installert ved start av Tails"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:121
 msgid "Printers"

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


[tor-commits] [translation/torbutton-browseronboardingproperties] Update translations for torbutton-browseronboardingproperties

2018-09-12 Thread translation
commit 783f18a7a26fa0097e854ce6d25b390c5940b814
Author: Translation commit bot 
Date:   Wed Sep 12 19:18:06 2018 +

Update translations for torbutton-browseronboardingproperties
---
 nb/browserOnboarding.properties | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/nb/browserOnboarding.properties b/nb/browserOnboarding.properties
index cf2a005a1..ec647aa92 100644
--- a/nb/browserOnboarding.properties
+++ b/nb/browserOnboarding.properties
@@ -2,8 +2,8 @@
 # See LICENSE for licensing information.
 # vim: set sw=2 sts=2 ts=8 et:
 
-onboarding.tour-tor-welcome=Welcome
-onboarding.tour-tor-welcome.title=You’re ready.
+onboarding.tour-tor-welcome=Velkommen
+onboarding.tour-tor-welcome.title=Du er klar.
 onboarding.tour-tor-welcome.description=Tor Browser offers the highest 
standard of privacy and security while browsing the web. You’re now protected 
against tracking, surveillance, and censorship. This quick onboarding will show 
you how.
 onboarding.tour-tor-welcome.button=Start Now
 

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


[tor-commits] [translation/https_everywhere] Update translations for https_everywhere

2018-09-12 Thread translation
commit b65c2be3e7d3af2eca1d016e33796659e1e90c05
Author: Translation commit bot 
Date:   Wed Sep 12 17:45:29 2018 +

Update translations for https_everywhere
---
 hu/https-everywhere.dtd | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/hu/https-everywhere.dtd b/hu/https-everywhere.dtd
index a57eb3fb4..45f48e5f5 100644
--- a/hu/https-everywhere.dtd
+++ b/hu/https-everywhere.dtd
@@ -2,7 +2,7 @@
 
 
 
-
+
 
 
 
@@ -14,17 +14,17 @@
 
 
 
-
+
 
 
 
 
-
-
+
+
 
 
-
-
+
+
 
 
 

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


[tor-commits] [translation/torbutton-abouttbupdatedtd_completed] Update translations for torbutton-abouttbupdatedtd_completed

2018-09-12 Thread translation
commit 0c464784afc9240e803ec5503c66d5877952f15d
Author: Translation commit bot 
Date:   Wed Sep 12 17:18:07 2018 +

Update translations for torbutton-abouttbupdatedtd_completed
---
 ko/abouttbupdate.dtd | 4 
 1 file changed, 4 insertions(+)

diff --git a/ko/abouttbupdate.dtd b/ko/abouttbupdate.dtd
index 5ad84ba5b..b8b08d7b6 100644
--- a/ko/abouttbupdate.dtd
+++ b/ko/abouttbupdate.dtd
@@ -4,3 +4,7 @@
 
 
 
+
+
+
+

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


[tor-commits] [translation/torbutton-abouttbupdatedtd] Update translations for torbutton-abouttbupdatedtd

2018-09-12 Thread translation
commit 0a980a5096526c37f5593cff53b7623a60d866f5
Author: Translation commit bot 
Date:   Wed Sep 12 17:18:02 2018 +

Update translations for torbutton-abouttbupdatedtd
---
 ko/abouttbupdate.dtd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ko/abouttbupdate.dtd b/ko/abouttbupdate.dtd
index 98633acb2..b8b08d7b6 100644
--- a/ko/abouttbupdate.dtd
+++ b/ko/abouttbupdate.dtd
@@ -6,5 +6,5 @@
 
 
 
-
+
 

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


[tor-commits] [translation/torbutton-abouttbupdatedtd] Update translations for torbutton-abouttbupdatedtd

2018-09-12 Thread translation
commit 222f26b1ab822d7046d8e3202e46db034b7079fc
Author: Translation commit bot 
Date:   Wed Sep 12 16:48:06 2018 +

Update translations for torbutton-abouttbupdatedtd
---
 ko/abouttbupdate.dtd | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ko/abouttbupdate.dtd b/ko/abouttbupdate.dtd
index 57e5d9af9..98633acb2 100644
--- a/ko/abouttbupdate.dtd
+++ b/ko/abouttbupdate.dtd
@@ -5,6 +5,6 @@
 
 
 
-
+
 
-
+

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


[tor-commits] [translation/torbutton-browseronboardingproperties] Update translations for torbutton-browseronboardingproperties

2018-09-12 Thread translation
commit 0bfa5008025f4bc39c79e6b38fd0ceeec6e0855f
Author: Translation commit bot 
Date:   Wed Sep 12 16:48:14 2018 +

Update translations for torbutton-browseronboardingproperties
---
 es/browserOnboarding.properties | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/es/browserOnboarding.properties b/es/browserOnboarding.properties
index 7a6e1275f..5a2447339 100644
--- a/es/browserOnboarding.properties
+++ b/es/browserOnboarding.properties
@@ -17,7 +17,7 @@ onboarding.tour-tor-network.title=Viaja por la red 
descentralizada.
 onboarding.tour-tor-network.description=El Navegador Tor, te conecta con la 
Red Tor digida por miles de voluntarios alrededor del mundo.\nA diferencia de 
una VPN no hay un punto de falla o entidad centralizada en la que necesite 
confiar para disfrutar de Internet de forma privada.
 onboarding.tour-tor-network.button=Go to Circuit Display
 
-onboarding.tour-tor-circuit-display=Circuit Display
+onboarding.tour-tor-circuit-display=Visualización del circuito
 onboarding.tour-tor-circuit-display.title=See your path.
 onboarding.tour-tor-circuit-display.description=For each domain you visit, 
your traffic is relayed and encrypted in a circuit across three Tor relays 
around the world. No website knows where you are connecting from. You can 
request a new circuit by clicking ‘New Circuit for this Site’ on our 
Circuit Display.
 onboarding.tour-tor-circuit-display.button=See My Path
@@ -47,8 +47,8 @@ onboarding.tor-circuit-display.three-of-three=3 of 3
 onboarding.tor-circuit-display.intro.title=How do circuits work?
 onboarding.tor-circuit-display.intro.msg=Circuits are made up of randomly 
assigned relays, which are computers around the world configured to forward Tor 
traffic. Circuits allow you to browse privately and to connect to onion 
services.
 
-onboarding.tor-circuit-display.diagram.title=Circuit Display
-onboarding.tor-circuit-display.diagram.msg=This diagram shows the relays that 
make up the circuit for this website. To prevent linking of activity across 
different sites, each website gets a different circuit.
+onboarding.tor-circuit-display.diagram.title=Visualización del circuito
+onboarding.tor-circuit-display.diagram.msg=Estos diagramas muestran los 
repetidores que crean el circuito para esta página web. Para prevenir la 
vinculación de la actividad através de diferentes sitios, cada página web 
tiene un circuito diferente.
 
-onboarding.tor-circuit-display.new-circuit.title=Do you need a new circuit?
+onboarding.tor-circuit-display.new-circuit.title=¿Necesitas un nuevo circuito?
 onboarding.tor-circuit-display.new-circuit.msg=If you are not able to connect 
to the website you’re trying to visit or it is not loading properly, then you 
can use this button to reload the site with a new circuit.

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


[tor-commits] [translation/tba-android_stringsdtd] Update translations for tba-android_stringsdtd

2018-09-12 Thread translation
commit e934733045cd0965c27166936eb339a229116c0a
Author: Translation commit bot 
Date:   Wed Sep 12 16:46:49 2018 +

Update translations for tba-android_stringsdtd
---
 ko/android_strings.dtd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ko/android_strings.dtd b/ko/android_strings.dtd
index a7ff92e1f..f4467a0bc 100644
--- a/ko/android_strings.dtd
+++ b/ko/android_strings.dtd
@@ -667,7 +667,7 @@ just addresses the organization to follow, e.g. "This site 
is run by " -->
 
 
 
-
+
 
 
 

___
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

2018-09-12 Thread translation
commit 51b3c5960c92f92963ed5f0b3d97b4d8cb4d4076
Author: Translation commit bot 
Date:   Wed Sep 12 16:46:06 2018 +

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

diff --git a/ko.po b/ko.po
index 5c5c68843..c30da90ee 100644
--- a/ko.po
+++ b/ko.po
@@ -11,7 +11,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: Tails developers \n"
 "POT-Creation-Date: 2018-08-16 11:11+0200\n"
-"PO-Revision-Date: 2018-09-10 13:01+\n"
+"PO-Revision-Date: 2018-09-12 16:34+\n"
 "Last-Translator: Philipp Sauter \n"
 "Language-Team: Korean 
(http://www.transifex.com/otf/torproject/language/ko/)\n"
 "MIME-Version: 1.0\n"
@@ -34,4 +34,4 @@ msgstr "Tails를 실행시키는 장치가 찾을 수 
없습니다. 어쩌면 't
 msgid ""
 "The drive Tails is running from cannot be found. Maybe you used the 'toram' "
 "option?"
-msgstr ""
+msgstr "Tails를 실행시키는 드라이브가 찾을 수 없습니다. 
어쩌면 '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_completed] Update translations for tails-perl5lib_completed

2018-09-12 Thread translation
commit 5050d440a379188d15e652742bcd96db46200a5f
Author: Translation commit bot 
Date:   Wed Sep 12 16:46:13 2018 +

Update translations for tails-perl5lib_completed
---
 ko.po | 21 +++--
 1 file changed, 11 insertions(+), 10 deletions(-)

diff --git a/ko.po b/ko.po
index 073f8bc72..c30da90ee 100644
--- a/ko.po
+++ b/ko.po
@@ -5,13 +5,14 @@
 # Translators:
 # Chris Park , 2016
 # Dr.what , 2014
+# Philipp Sauter , 2018
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: Tails developers \n"
-"POT-Creation-Date: 2017-05-20 10:59+0200\n"
-"PO-Revision-Date: 2018-02-20 19:04+\n"
-"Last-Translator: SangGu Lee \n"
+"POT-Creation-Date: 2018-08-16 11:11+0200\n"
+"PO-Revision-Date: 2018-09-12 16:34+\n"
+"Last-Translator: Philipp Sauter \n"
 "Language-Team: Korean 
(http://www.transifex.com/otf/torproject/language/ko/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -19,18 +20,18 @@ msgstr ""
 "Language: ko\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
-#: ../lib/Tails/RunningSystem.pm:159
+#: ../lib/Tails/RunningSystem.pm:190
 msgid "Error"
 msgstr "오류발생"
 
-#: ../lib/Tails/RunningSystem.pm:161
+#: ../lib/Tails/RunningSystem.pm:192
 msgid ""
-"The device Tails is running from cannot be found. Maybe you used the `toram'"
+"The device Tails is running from cannot be found. Maybe you used the 'toram'"
 " option?"
-msgstr "Tails에서 실행되는 장치를 찾을 수 없습니다. 혹시 
'toram'옵션을 사용하셨나요?"
+msgstr "Tails를 실행시키는 장치가 찾을 수 없습니다. 어쩌면 
'toram'-옵션을 선택했습니까?"
 
-#: ../lib/Tails/RunningSystem.pm:192
+#: ../lib/Tails/RunningSystem.pm:220
 msgid ""
-"The drive Tails is running from cannot be found. Maybe you used the `toram' "
+"The drive Tails is running from cannot be found. Maybe you used the 'toram' "
 "option?"
-msgstr "Tails가 쓰이고 있는 드라이브를 찾을 수 없습니다. 
toram 옵션을 쓰셨나요?"
+msgstr "Tails를 실행시키는 드라이브가 찾을 수 없습니다. 
어쩌면 'toram'-옵션을 선택했습니까?"

___
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 'dgoulet/ticket27545_035_01'

2018-09-12 Thread nickm
commit bfc847255afb093b89dd82687d796e3e3c7fcb89
Merge: 19dbc385d 57c82b74b
Author: Nick Mathewson 
Date:   Wed Sep 12 10:18:11 2018 -0400

Merge remote-tracking branch 'dgoulet/ticket27545_035_01'

 src/feature/hs/hs_service.c | 5 +
 1 file changed, 5 insertions(+)

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


[tor-commits] [tor/master] hs-v3: Shuffle the list of authorized clients

2018-09-12 Thread nickm
commit 57c82b74b43132d34fffd6c03932555bfbf503e1
Author: Suphanat Chunhapanya 
Date:   Fri Sep 7 21:29:44 2018 +0700

hs-v3: Shuffle the list of authorized clients

This commit makes it that the authorized clients in the descriptor are in
random order instead of ordered by how they were read on disk.

Fixes #27545

Signed-off-by: David Goulet 
---
 src/feature/hs/hs_service.c | 5 +
 1 file changed, 5 insertions(+)

diff --git a/src/feature/hs/hs_service.c b/src/feature/hs/hs_service.c
index 43e5626a5..15f347859 100644
--- a/src/feature/hs/hs_service.c
+++ b/src/feature/hs/hs_service.c
@@ -18,6 +18,7 @@
 #include "lib/crypt_ops/crypto_rand.h"
 #include "lib/crypt_ops/crypto_util.h"
 #include "lib/crypt_ops/crypto_ope.h"
+#include "lib/crypt_ops/crypto_rand.h"
 #include "feature/dircache/directory.h"
 #include "core/mainloop/main.h"
 #include "feature/nodelist/networkstatus.h"
@@ -1800,6 +1801,10 @@ build_service_desc_superencrypted(const hs_service_t 
*service,
 smartlist_add(superencrypted->clients, desc_client);
   }
 
+  /* Shuffle the list to prevent the client know the position in the
+   * config. */
+  smartlist_shuffle(superencrypted->clients);
+
   return 0;
 }
 



___
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 'tor-github/pr/298'

2018-09-12 Thread nickm
commit 19dbc385d540df70b5e9a6193248080a298577c3
Merge: 62743912b 7685c39f9
Author: Nick Mathewson 
Date:   Wed Sep 12 09:38:52 2018 -0400

Merge remote-tracking branch 'tor-github/pr/298'

 changes/ticket25573   |   5 +
 src/core/include.am   |   1 +
 src/core/or/circuitbuild.c|   3 +-
 src/core/or/circuitbuild.h|   3 +-
 src/core/or/circuitlist.c |   9 +
 src/core/or/connection_edge.c | 226 ++
 src/core/or/connection_edge.h |  11 +
 src/core/or/half_edge_st.h|  34 ++
 src/core/or/origin_circuit_st.h   |   4 +
 src/core/or/relay.c   |  75 -
 src/feature/client/circpathbias.c |  63 
 src/feature/client/circpathbias.h |   1 +
 src/lib/container/smartlist.c |   2 +-
 src/lib/container/smartlist.h |   2 +-
 src/test/test_relaycell.c | 641 +++---
 15 files changed, 1034 insertions(+), 46 deletions(-)

diff --cc src/test/test_relaycell.c
index a6c152f73,63820c996..eddba6591
--- a/src/test/test_relaycell.c
+++ b/src/test/test_relaycell.c
@@@ -9,7 -9,8 +9,8 @@@
  #include "core/mainloop/main.h"
  #include "app/config/config.h"
  #include "core/mainloop/connection.h"
 -#include "lib/crypt_ops/crypto.h"
 +#include "lib/crypt_ops/crypto_cipher.h"
+ #include "lib/crypt_ops/crypto_rand.h"
  #include "core/or/circuitbuild.h"
  #include "core/or/circuitlist.h"
  #include "core/or/connection_edge.h"
@@@ -511,6 -1075,8 +1075,7 @@@ test_relaycell_resolved(void *arg
  struct testcase_t relaycell_tests[] = {
{ "resolved", test_relaycell_resolved, TT_FORK, NULL, NULL },
{ "circbw", test_circbw_relay, TT_FORK, NULL, NULL },
+   { "halfstream", test_halfstream_insertremove, TT_FORK, NULL, NULL },
+   { "streamwrap", test_halfstream_wrap, TT_FORK, NULL, NULL },
END_OF_TESTCASES
  };
--

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


[tor-commits] [tor/master] Mark smartlist_bsearch as taking a const list.

2018-09-12 Thread nickm
commit dac7d929185e5f2643a29fc046ee439a826239eb
Author: Mike Perry 
Date:   Sat Aug 25 00:26:42 2018 +

Mark smartlist_bsearch as taking a const list.

It does not modify the actual list.
---
 src/common/container.c | 2 +-
 src/common/container.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/common/container.c b/src/common/container.c
index 5386e6458..72ad3a925 100644
--- a/src/common/container.c
+++ b/src/common/container.c
@@ -628,7 +628,7 @@ smartlist_uniq(smartlist_t *sl,
  * less than member, and greater than 0 if key is greater then member.
  */
 void *
-smartlist_bsearch(smartlist_t *sl, const void *key,
+smartlist_bsearch(const smartlist_t *sl, const void *key,
   int (*compare)(const void *key, const void **member))
 {
   int found, idx;
diff --git a/src/common/container.h b/src/common/container.h
index 5d2dce541..7457c1e91 100644
--- a/src/common/container.h
+++ b/src/common/container.h
@@ -120,7 +120,7 @@ const uint8_t 
*smartlist_get_most_frequent_digest256(smartlist_t *sl);
 void smartlist_uniq_strings(smartlist_t *sl);
 void smartlist_uniq_digests(smartlist_t *sl);
 void smartlist_uniq_digests256(smartlist_t *sl);
-void *smartlist_bsearch(smartlist_t *sl, const void *key,
+void *smartlist_bsearch(const smartlist_t *sl, const void *key,
 int (*compare)(const void *key, const void **member));
 int smartlist_bsearch_idx(const smartlist_t *sl, const void *key,
   int (*compare)(const void *key, const void **member),



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


[tor-commits] [tor/master] Ticket #25573: Track half-closed stream ids

2018-09-12 Thread nickm
commit c56f63eadbc5b83b48e57235b194bd8f76b534bb
Author: Mike Perry 
Date:   Sat Aug 4 19:38:38 2018 +

Ticket #25573: Track half-closed stream ids

We allow their CONNECTEDs, RESOLVEDs, ENDs, SENDMEs, and DATA cells to not
count as dropped until the windows are empty, or we get an END.

This commit does not change behavior. It only changes CIRC_BW event field
values.
---
 changes/ticket25573   |   5 +
 src/or/circpathbias.c |  53 +
 src/or/circpathbias.h |   1 +
 src/or/circuitlist.c  |   8 +
 src/or/connection_edge.c  | 220 ++
 src/or/connection_edge.h  |  11 +
 src/or/or.h   |  25 +++
 src/or/relay.c|  66 +-
 src/test/test_relaycell.c | 561 +++---
 9 files changed, 912 insertions(+), 38 deletions(-)

diff --git a/changes/ticket25573 b/changes/ticket25573
new file mode 100644
index 0..9939601b5
--- /dev/null
+++ b/changes/ticket25573
@@ -0,0 +1,5 @@
+  o Minor features (controller):
+- For purposes of CIRC_BW-based dropped cell detection, track half-closed
+  stream ids, and allow their ENDs, SENDMEs, DATA and path bias check
+  cells to arrive without counting it as dropped until either the END 
arrvies,
+  or the windows are empty. Closes ticket 25573.
diff --git a/src/or/circpathbias.c b/src/or/circpathbias.c
index ff42bf91e..923941e5b 100644
--- a/src/or/circpathbias.c
+++ b/src/or/circpathbias.c
@@ -893,6 +893,7 @@ pathbias_check_probe_response(circuit_t *circ, const cell_t 
*cell)
 /* Check nonce */
 if (ipv4_host == ocirc->pathbias_probe_nonce) {
   pathbias_mark_use_success(ocirc);
+  circuit_read_valid_data(ocirc, rh.length);
   circuit_mark_for_close(circ, END_CIRC_REASON_FINISHED);
   log_info(LD_CIRC,
"Got valid path bias probe back for circ %d, stream %d.",
@@ -914,6 +915,58 @@ pathbias_check_probe_response(circuit_t *circ, const 
cell_t *cell)
 }
 
 /**
+ * Check if a cell is counts as valid data for a circuit,
+ * and if so, count it as valid.
+ */
+void
+pathbias_count_valid_cells(circuit_t *circ, const cell_t *cell)
+{
+  origin_circuit_t *ocirc = TO_ORIGIN_CIRCUIT(circ);
+  relay_header_t rh;
+
+  relay_header_unpack(&rh, cell->payload);
+
+  /* Check to see if this is a cell from a previous connection,
+   * or is a request to close the circuit. */
+  switch (rh.command) {
+case RELAY_COMMAND_END:
+  if (connection_half_edge_is_valid_end(ocirc->half_streams,
+ rh.stream_id)) {
+circuit_read_valid_data(TO_ORIGIN_CIRCUIT(circ), rh.length);
+  }
+  break;
+
+case RELAY_COMMAND_DATA:
+  if (connection_half_edge_is_valid_data(ocirc->half_streams,
+ rh.stream_id)) {
+circuit_read_valid_data(TO_ORIGIN_CIRCUIT(circ), rh.length);
+  }
+  break;
+
+case RELAY_COMMAND_SENDME:
+  if (connection_half_edge_is_valid_sendme(ocirc->half_streams,
+ rh.stream_id)) {
+circuit_read_valid_data(TO_ORIGIN_CIRCUIT(circ), rh.length);
+  }
+  break;
+
+case RELAY_COMMAND_CONNECTED:
+  if (connection_half_edge_is_valid_connected(ocirc->half_streams,
+  rh.stream_id)) {
+circuit_read_valid_data(TO_ORIGIN_CIRCUIT(circ), rh.length);
+  }
+  break;
+
+case RELAY_COMMAND_RESOLVED:
+  if (connection_half_edge_is_valid_resolved(ocirc->half_streams,
+ rh.stream_id)) {
+circuit_read_valid_data(TO_ORIGIN_CIRCUIT(circ), rh.length);
+  }
+  break;
+  }
+}
+
+/**
  * Check if a circuit was used and/or closed successfully.
  *
  * If we attempted to use the circuit to carry a stream but failed
diff --git a/src/or/circpathbias.h b/src/or/circpathbias.h
index c9e572d2a..689b2a620 100644
--- a/src/or/circpathbias.h
+++ b/src/or/circpathbias.h
@@ -20,6 +20,7 @@ void pathbias_count_build_success(origin_circuit_t *circ);
 int pathbias_count_build_attempt(origin_circuit_t *circ);
 int pathbias_check_close(origin_circuit_t *circ, int reason);
 int pathbias_check_probe_response(circuit_t *circ, const cell_t *cell);
+void pathbias_count_valid_cells(circuit_t *circ, const cell_t *cell);
 void pathbias_count_use_attempt(origin_circuit_t *circ);
 void pathbias_mark_use_success(origin_circuit_t *circ);
 void pathbias_mark_use_rollback(origin_circuit_t *circ);
diff --git a/src/or/circuitlist.c b/src/or/circuitlist.c
index 45fff7cc1..a1efe9b74 100644
--- a/src/or/circuitlist.c
+++ b/src/or/circuitlist.c
@@ -1041,6 +1041,14 @@ circuit_free_(circuit_t *circ)
 
 circuit_remove_from_origin_circuit_list(ocirc);
 
+if (ocirc->half_streams) {
+  SMARTLIST_FOREACH_BEGIN(ocirc->half_streams, half_edge_t*,
+  half_conn) {
+  tor_free(half_conn);
+  } SMARTLIST_FORE

[tor-commits] [tor/master] Ticket #25573: Count TRUNCATED cells.

2018-09-12 Thread nickm
commit ce894e20b597d2d21b56ac8a8f13d1ea4063731d
Author: Mike Perry 
Date:   Tue Aug 7 04:23:33 2018 +

Ticket #25573: Count TRUNCATED cells.

TRUNCATED cells were ignored while in path bias. Now they are obeyed, and
cause us to tear down the circuit. The actual impact is minimal, since we
would just wait around for a probe that would never arrive before.

This commit changes client behavior.
---
 src/or/circpathbias.c | 10 ++
 src/or/circuitbuild.c |  3 +--
 src/or/circuitbuild.h |  3 +--
 src/or/relay.c|  9 -
 src/test/test_relaycell.c | 18 ++
 5 files changed, 38 insertions(+), 5 deletions(-)

diff --git a/src/or/circpathbias.c b/src/or/circpathbias.c
index 923941e5b..3cdd16261 100644
--- a/src/or/circpathbias.c
+++ b/src/or/circpathbias.c
@@ -929,6 +929,16 @@ pathbias_count_valid_cells(circuit_t *circ, const cell_t 
*cell)
   /* Check to see if this is a cell from a previous connection,
* or is a request to close the circuit. */
   switch (rh.command) {
+case RELAY_COMMAND_TRUNCATED:
+  /* Truncated cells can arrive on path bias circs. When they do,
+   * just process them. This closes the circ, but it was junk anyway.
+   * No reason to wait for the probe. */
+  circuit_read_valid_data(ocirc, rh.length);
+  circuit_truncated(TO_ORIGIN_CIRCUIT(circ),
+get_uint8(cell->payload + RELAY_HEADER_SIZE));
+
+  break;
+
 case RELAY_COMMAND_END:
   if (connection_half_edge_is_valid_end(ocirc->half_streams,
  rh.stream_id)) {
diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c
index 3d1c9c1ab..8f17f2786 100644
--- a/src/or/circuitbuild.c
+++ b/src/or/circuitbuild.c
@@ -1419,13 +1419,12 @@ circuit_finish_handshake(origin_circuit_t *circ,
  * just give up: force circ to close, and return 0.
  */
 int
-circuit_truncated(origin_circuit_t *circ, crypt_path_t *layer, int reason)
+circuit_truncated(origin_circuit_t *circ, int reason)
 {
 //  crypt_path_t *victim;
 //  connection_t *stream;
 
   tor_assert(circ);
-  tor_assert(layer);
 
   /* XXX Since we don't send truncates currently, getting a truncated
* means that a connection broke or an extend failed. For now,
diff --git a/src/or/circuitbuild.h b/src/or/circuitbuild.h
index 0184898e2..e3d30c110 100644
--- a/src/or/circuitbuild.h
+++ b/src/or/circuitbuild.h
@@ -37,8 +37,7 @@ int circuit_init_cpath_crypto(crypt_path_t *cpath,
 struct created_cell_t;
 int circuit_finish_handshake(origin_circuit_t *circ,
  const struct created_cell_t *created_cell);
-int circuit_truncated(origin_circuit_t *circ, crypt_path_t *layer,
-  int reason);
+int circuit_truncated(origin_circuit_t *circ, int reason);
 int onionskin_answer(or_circuit_t *circ,
  const struct created_cell_t *created_cell,
  const char *keys, size_t keys_len,
diff --git a/src/or/relay.c b/src/or/relay.c
index 13f2b56bc..81bb94d5a 100644
--- a/src/or/relay.c
+++ b/src/or/relay.c
@@ -1748,7 +1748,14 @@ connection_edge_process_relay_cell(cell_t *cell, 
circuit_t *circ,
"'truncated' unsupported at non-origin. Dropping.");
 return 0;
   }
-  circuit_truncated(TO_ORIGIN_CIRCUIT(circ), layer_hint,
+
+  /* Count the truncated as valid, for completeness. The
+   * circuit is being torn down anyway, though.  */
+  if (CIRCUIT_IS_ORIGIN(circ)) {
+circuit_read_valid_data(TO_ORIGIN_CIRCUIT(circ),
+rh.length);
+  }
+  circuit_truncated(TO_ORIGIN_CIRCUIT(circ),
 get_uint8(cell->payload + RELAY_HEADER_SIZE));
   return 0;
 case RELAY_COMMAND_CONNECTED:
diff --git a/src/test/test_relaycell.c b/src/test/test_relaycell.c
index 4c406a9b7..3f84ee830 100644
--- a/src/test/test_relaycell.c
+++ b/src/test/test_relaycell.c
@@ -116,6 +116,16 @@ mock_connection_mark_unattached_ap_(entry_connection_t 
*conn, int endreason,
 }
 
 static void
+mock_mark_circ_for_close(circuit_t *circ, int reason, int line,
+  const char *file)
+{
+  (void)reason; (void)line; (void)file;
+
+  circ->marked_for_close = 1;
+  return;
+}
+
+static void
 mock_mark_for_close(connection_t *conn,
 int line, const char *file)
 {
@@ -694,6 +704,7 @@ test_circbw_relay(void *arg)
   MOCK(connection_start_reading, mock_start_reading);
   MOCK(connection_mark_for_close_internal_, mock_mark_for_close);
   MOCK(relay_send_command_from_edge_, mock_send_command);
+  MOCK(circuit_mark_for_close_, mock_mark_circ_for_close);
 
   circ = helper_create_origin_circuit(CIRCUIT_PURPOSE_C_GENERAL, 0);
   circ->cpath->state = CPATH_STATE_AWAITING_KEYS;
@@ -856,11 +867,18 @@ test_circbw_relay(void *arg)
   if (!subtest_circbw_halfclosed(circ, 6))
 goto done;
 
+  /* Path bias: truncated */
+  tt_int_op(circ->base_.marked_for_

[tor-commits] [tor/master] Ticket #25573: Check half-opened stream ids when choosing a new one

2018-09-12 Thread nickm
commit 144647031aa9e7eacc6f7cdd8fed663c7229b2aa
Author: Mike Perry 
Date:   Wed Aug 29 00:06:38 2018 +

Ticket #25573: Check half-opened stream ids when choosing a new one

Avoid data corrupton by avoiding mixing up old stream ids with new ones.

This commit changes client behavior.
---
 src/or/connection_edge.c  |  5 
 src/test/test_relaycell.c | 60 +++
 2 files changed, 65 insertions(+)

diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c
index 91cefe9ff..1060e7461 100644
--- a/src/or/connection_edge.c
+++ b/src/or/connection_edge.c
@@ -2813,6 +2813,11 @@ get_unique_stream_id_by_circ(origin_circuit_t *circ)
   for (tmpconn = circ->p_streams; tmpconn; tmpconn=tmpconn->next_stream)
 if (tmpconn->stream_id == test_stream_id)
   goto again;
+
+  if (connection_half_edge_find_stream_id(circ->half_streams,
+   test_stream_id))
+goto again;
+
   return test_stream_id;
 }
 
diff --git a/src/test/test_relaycell.c b/src/test/test_relaycell.c
index 1570e1516..4c406a9b7 100644
--- a/src/test/test_relaycell.c
+++ b/src/test/test_relaycell.c
@@ -618,6 +618,65 @@ test_halfstream_insertremove(void *arg)
 }
 
 static void
+test_halfstream_wrap(void *arg)
+{
+  origin_circuit_t *circ =
+  helper_create_origin_circuit(CIRCUIT_PURPOSE_C_GENERAL, 0);
+  edge_connection_t *edgeconn;
+  entry_connection_t *entryconn;
+
+  circ->cpath->state = CPATH_STATE_AWAITING_KEYS;
+  circ->cpath->deliver_window = CIRCWINDOW_START;
+
+  entryconn = fake_entry_conn(circ, 23);
+  edgeconn = ENTRY_TO_EDGE_CONN(entryconn);
+
+  (void)arg;
+
+  /* Suppress the WARN message we generate in this test */
+  setup_full_capture_of_logs(LOG_WARN);
+  MOCK(connection_mark_for_close_internal_, mock_mark_for_close);
+
+  /* Verify that get_unique_stream_id_by_circ() can wrap uint16_t */
+  circ->next_stream_id = 65530;
+  halfstream_insert(circ, edgeconn, NULL, 7, 0);
+  tt_int_op(circ->next_stream_id, OP_EQ, 2);
+  tt_int_op(smartlist_len(circ->half_streams), OP_EQ, 7);
+
+  /* Insert full-1 */
+  halfstream_insert(circ, edgeconn, NULL,
+65534-smartlist_len(circ->half_streams), 0);
+  tt_int_op(smartlist_len(circ->half_streams), OP_EQ, 65534);
+
+  /* Verify that we can get_unique_stream_id_by_circ() successfully */
+  edgeconn->stream_id = get_unique_stream_id_by_circ(circ);
+  tt_int_op(edgeconn->stream_id, OP_NE, 0); /* 0 is failure */
+
+  /* Insert an opened stream on the circ with that id */
+  ENTRY_TO_CONN(entryconn)->marked_for_close = 0;
+  ENTRY_TO_CONN(entryconn)->outbuf_flushlen = 0;
+  edgeconn->base_.state = AP_CONN_STATE_CONNECT_WAIT;
+  circ->p_streams = edgeconn;
+
+  /* Verify that get_unique_stream_id_by_circ() fails */
+  tt_int_op(get_unique_stream_id_by_circ(circ), OP_EQ, 0); /* 0 is failure */
+
+  /* eof the one opened stream. Verify it is now in half-closed */
+  tt_int_op(smartlist_len(circ->half_streams), OP_EQ, 65534);
+  connection_edge_reached_eof(edgeconn);
+  tt_int_op(smartlist_len(circ->half_streams), OP_EQ, 65535);
+
+  /* Verify get_unique_stream_id_by_circ() fails due to full half-closed */
+  circ->p_streams = NULL;
+  tt_int_op(get_unique_stream_id_by_circ(circ), OP_EQ, 0); /* 0 is failure */
+
+ done:
+  circuit_free_(TO_CIRCUIT(circ));
+  connection_free_minimal(ENTRY_TO_CONN(entryconn));
+  UNMOCK(connection_mark_for_close_internal_);
+}
+
+static void
 test_circbw_relay(void *arg)
 {
   cell_t cell;
@@ -992,6 +1051,7 @@ struct testcase_t relaycell_tests[] = {
   { "resolved", test_relaycell_resolved, TT_FORK, NULL, NULL },
   { "circbw", test_circbw_relay, TT_FORK, NULL, NULL },
   { "halfstream", test_halfstream_insertremove, TT_FORK, NULL, NULL },
+  { "streamwrap", test_halfstream_wrap, TT_FORK, NULL, NULL },
   END_OF_TESTCASES
 };
 



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


[tor-commits] [tor/master] Add half_edge_t to noinst_HEADERS.

2018-09-12 Thread nickm
commit 7685c39f9d3aba9afb3972a02bf51b1ad46f8b69
Author: Mike Perry 
Date:   Wed Aug 29 18:46:01 2018 +

Add half_edge_t to noinst_HEADERS.
---
 src/core/include.am | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/core/include.am b/src/core/include.am
index cd9edc449..4ccabe438 100644
--- a/src/core/include.am
+++ b/src/core/include.am
@@ -182,6 +182,7 @@ noinst_HEADERS +=   \
src/core/or/destroy_cell_queue_st.h \
src/core/or/dos.h   \
src/core/or/edge_connection_st.h\
+   src/core/or/half_edge_st.h  \
src/core/or/entry_connection_st.h   \
src/core/or/entry_port_cfg_st.h \
src/core/or/extend_info_st.h\



___
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 'pr278_squashed'

2018-09-12 Thread nickm
commit 62743912bcbacc1bd918b60a80f3394647d2ef91
Merge: 0dbd4fe30 7b27d98ea
Author: Nick Mathewson 
Date:   Wed Sep 12 09:06:35 2018 -0400

Merge branch 'pr278_squashed'

 changes/bug17873   |   6 +
 src/app/config/config.c|  16 +--
 src/core/mainloop/connection.c | 247 ++---
 src/core/mainloop/connection.h |  14 ++-
 src/core/mainloop/main.c   |   2 +-
 src/test/include.am|   3 +
 src/test/test_rebind.py|  89 +++
 src/test/test_rebind.sh|  19 
 8 files changed, 314 insertions(+), 82 deletions(-)

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


[tor-commits] [tor/master] Tweak test_rebind.py for future-proofness

2018-09-12 Thread nickm
commit 3f34fc921c456a7f6bd7fc7401240aa4ae60d045
Author: rl1987 
Date:   Tue May 22 17:36:06 2018 +0200

Tweak test_rebind.py for future-proofness
---
 src/test/test_rebind.py | 8 +---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/test/test_rebind.py b/src/test/test_rebind.py
index 582e49601..4a132411b 100644
--- a/src/test/test_rebind.py
+++ b/src/test/test_rebind.py
@@ -1,3 +1,5 @@
+from __future__ import print_function
+
 import sys
 import subprocess
 import socket
@@ -8,7 +10,7 @@ def try_connecting_to_socksport():
 socks_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 if socks_socket.connect_ex(('127.0.0.1', 9052)):
 tor_process.terminate()
-print 'FAIL'
+print('FAIL')
 sys.exit('Cannot connect to SOCKSPort')
 socks_socket.close()
 
@@ -43,7 +45,7 @@ try_connecting_to_socksport()
 control_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 if control_socket.connect_ex(('127.0.0.1', 9053)):
 tor_process.terminate()
-print 'FAIL'
+print('FAIL')
 sys.exit('Cannot connect to ControlPort')
 
 control_socket.sendall('AUTHENTICATE \r\n')
@@ -60,5 +62,5 @@ try_connecting_to_socksport()
 control_socket.sendall('SIGNAL HALT\r\n')
 
 time.sleep(0.1)
-print 'OK'
+print('OK')
 tor_process.terminate()



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


[tor-commits] [tor/master] Disable test_rebind.sh on Windows

2018-09-12 Thread nickm
commit d30e47fd4e1ff01171319ef9b955a7495510a768
Author: rl1987 
Date:   Sat Aug 18 16:29:46 2018 +0300

Disable test_rebind.sh on Windows
---
 src/test/test_rebind.sh | 8 
 1 file changed, 8 insertions(+)

diff --git a/src/test/test_rebind.sh b/src/test/test_rebind.sh
index 2e18f9c97..a81f1b569 100755
--- a/src/test/test_rebind.sh
+++ b/src/test/test_rebind.sh
@@ -2,6 +2,14 @@
 
 set -x
 
+UNAME_OS=`uname -s | cut -d_ -f1`
+if test "$UNAME_OS" = 'CYGWIN' || \
+   test "$UNAME_OS" = 'MSYS' || \
+   test "$UNAME_OS" = 'MINGW'; then
+  echo "This test is disabled on Windows CI, as it requires firewall 
examptions. Skipping." >&2
+  exit 77
+fi
+
 exitcode=0
 
 "${PYTHON:-python}" "${abs_top_srcdir:-.}/src/test/test_rebind.py" 
"${TESTING_TOR_BINARY}" || exitcode=1



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


[tor-commits] [tor/master] Pick random ports in test_rebind.py

2018-09-12 Thread nickm
commit 4811869d7a603dfb6cc9881bb5aae9815ceab4e5
Author: rl1987 
Date:   Sat Jul 21 12:13:58 2018 +0300

Pick random ports in test_rebind.py
---
 src/test/test_rebind.py | 33 +++--
 1 file changed, 27 insertions(+), 6 deletions(-)

diff --git a/src/test/test_rebind.py b/src/test/test_rebind.py
index 4a132411b..9472d5cef 100644
--- a/src/test/test_rebind.py
+++ b/src/test/test_rebind.py
@@ -5,10 +5,11 @@ import subprocess
 import socket
 import os
 import time
+import random
 
 def try_connecting_to_socksport():
 socks_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-if socks_socket.connect_ex(('127.0.0.1', 9052)):
+if socks_socket.connect_ex(('127.0.0.1', socks_port)):
 tor_process.terminate()
 print('FAIL')
 sys.exit('Cannot connect to SOCKSPort')
@@ -20,14 +21,34 @@ def wait_for_log(s):
 if s in l:
 return
 
+def pick_random_port():
+port = 0
+random.seed()
+
+for i in xrange(8):
+port = random.randint(1, 6)
+s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+if s.connect_ex(('127.0.0.1', port)) == 0:
+s.close()
+else:
+break
+
+return port
+
+control_port = pick_random_port()
+socks_port = pick_random_port()
+
+assert control_port != 0
+assert socks_port != 0
+
 if not os.path.exists(sys.argv[1]):
 sys.exit('ERROR: cannot find tor at %s' % sys.argv[1])
 
 tor_path = sys.argv[1]
 
 tor_process = subprocess.Popen([tor_path,
-   '-ControlPort', '127.0.0.1:9053', 
-   '-SOCKSPort', '127.0.0.1:9052',
+   '-ControlPort', 
'127.0.0.1:{}'.format(control_port),
+   '-SOCKSPort', '127.0.0.1:{}'.format(socks_port),
'-FetchServerDescriptors', '0'],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
@@ -43,18 +64,18 @@ wait_for_log('Opened Control listener on')
 try_connecting_to_socksport()
 
 control_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-if control_socket.connect_ex(('127.0.0.1', 9053)):
+if control_socket.connect_ex(('127.0.0.1', control_port)):
 tor_process.terminate()
 print('FAIL')
 sys.exit('Cannot connect to ControlPort')
 
 control_socket.sendall('AUTHENTICATE \r\n')
-control_socket.sendall('SETCONF SOCKSPort=0.0.0.0:9052\r\n')
+control_socket.sendall('SETCONF SOCKSPort=0.0.0.0:{}\r\n'.format(socks_port))
 wait_for_log('Opened Socks listener')
 
 try_connecting_to_socksport()
 
-control_socket.sendall('SETCONF SOCKSPort=127.0.0.1:9052\r\n')
+control_socket.sendall('SETCONF SOCKSPort=127.0.0.1:{}\r\n'.format(socks_port))
 wait_for_log('Opened Socks listener')
 
 try_connecting_to_socksport()



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


[tor-commits] [tor/master] Avoid mentioning ticket number in comments

2018-09-12 Thread nickm
commit fbd50f599408ae5d5e7bd7d8d63b23b9039524c7
Author: rl1987 
Date:   Wed May 16 17:23:42 2018 +0200

Avoid mentioning ticket number in comments
---
 src/core/mainloop/connection.c | 5 +
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/src/core/mainloop/connection.c b/src/core/mainloop/connection.c
index f1716ed8f..aeaff3784 100644
--- a/src/core/mainloop/connection.c
+++ b/src/core/mainloop/connection.c
@@ -146,8 +146,6 @@
  * EADDRINUSE.
  * 2) If so, it will close the appropriate old listener connection and
  * 3) Attempts bind()'ing the new listener socket again.
- *
- * For further information, see ticket #17873.
  */
 #if defined(__linux__) || defined(_WIN32)
 #define ENABLE_LISTENER_REBIND
@@ -2705,8 +2703,7 @@ connection_read_proxy_handshake(connection_t *conn)
  * entry in ports.  Add to new_conns new every connection we
  * launch. If we may need to perform socket rebind when creating new
  * listener that replaces old one, create a listener_replacement_t
- * struct for affected pair  and add it to replacements. For more
- * information, see ticket #17873.
+ * struct for affected pair  and add it to replacements.
  *
  * If control_listeners_only is true, then we only open control
  * listeners, and we do not remove any noncontrol listeners from



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


[tor-commits] [tor/master] Integration test for socket rebinding

2018-09-12 Thread nickm
commit 762c27b907192d79fbef77caee8a8b457dc7ca4a
Author: rl1987 
Date:   Thu May 17 16:01:52 2018 +0200

Integration test for socket rebinding

squash! Integration test for socket rebinding
---
 src/test/include.am |  3 +++
 src/test/test_rebind.py | 64 +
 src/test/test_rebind.sh |  7 ++
 3 files changed, 74 insertions(+)

diff --git a/src/test/include.am b/src/test/include.am
index 81b089b8f..cb9449030 100644
--- a/src/test/include.am
+++ b/src/test/include.am
@@ -33,6 +33,7 @@ endif
 
 if USEPYTHON
 TESTSCRIPTS += src/test/test_ntor.sh src/test/test_hs_ntor.sh 
src/test/test_bt.sh
+TESTSCRIPTS += src/test/test_rebind.sh
 endif
 
 TESTS += src/test/test src/test/test-slow src/test/test-memwipe \
@@ -342,6 +343,8 @@ EXTRA_DIST += \
src/test/hs_indexes.py \
src/test/fuzz_static_testcases.sh \
src/test/slownacl_curve25519.py \
+   src/test/test_rebind.sh \
+   src/test/test_rebind.py \
src/test/zero_length_keys.sh \
src/test/rust_supp.txt \
src/test/test_keygen.sh \
diff --git a/src/test/test_rebind.py b/src/test/test_rebind.py
new file mode 100644
index 0..582e49601
--- /dev/null
+++ b/src/test/test_rebind.py
@@ -0,0 +1,64 @@
+import sys
+import subprocess
+import socket
+import os
+import time
+
+def try_connecting_to_socksport():
+socks_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+if socks_socket.connect_ex(('127.0.0.1', 9052)):
+tor_process.terminate()
+print 'FAIL'
+sys.exit('Cannot connect to SOCKSPort')
+socks_socket.close()
+
+def wait_for_log(s):
+while True:
+l = tor_process.stdout.readline()
+if s in l:
+return
+
+if not os.path.exists(sys.argv[1]):
+sys.exit('ERROR: cannot find tor at %s' % sys.argv[1])
+
+tor_path = sys.argv[1]
+
+tor_process = subprocess.Popen([tor_path,
+   '-ControlPort', '127.0.0.1:9053', 
+   '-SOCKSPort', '127.0.0.1:9052',
+   '-FetchServerDescriptors', '0'],
+   stdout=subprocess.PIPE,
+   stderr=subprocess.PIPE)
+
+if tor_process == None:
+sys.exit('ERROR: running tor failed')
+
+if len(sys.argv) < 2:
+ sys.exit('Usage: %s ' % sys.argv[0])
+
+wait_for_log('Opened Control listener on')
+
+try_connecting_to_socksport()
+
+control_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+if control_socket.connect_ex(('127.0.0.1', 9053)):
+tor_process.terminate()
+print 'FAIL'
+sys.exit('Cannot connect to ControlPort')
+
+control_socket.sendall('AUTHENTICATE \r\n')
+control_socket.sendall('SETCONF SOCKSPort=0.0.0.0:9052\r\n')
+wait_for_log('Opened Socks listener')
+
+try_connecting_to_socksport()
+
+control_socket.sendall('SETCONF SOCKSPort=127.0.0.1:9052\r\n')
+wait_for_log('Opened Socks listener')
+
+try_connecting_to_socksport()
+
+control_socket.sendall('SIGNAL HALT\r\n')
+
+time.sleep(0.1)
+print 'OK'
+tor_process.terminate()
diff --git a/src/test/test_rebind.sh b/src/test/test_rebind.sh
new file mode 100755
index 0..47f38afc4
--- /dev/null
+++ b/src/test/test_rebind.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+exitcode=0
+
+"${PYTHON:-python}" "${abs_top_srcdir:-.}/src/test/test_rebind.py" 
"${TESTING_TOR_BINARY}" || exitcode=1
+
+exit ${exitcode}



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


[tor-commits] [tor/master] Actually, just disable test_rebind.sh on Appveyor

2018-09-12 Thread nickm
commit 7b27d98eaea3bbbcf367fdf87b3dabbc28ca1f9c
Author: rl1987 
Date:   Sun Aug 19 21:33:18 2018 +0300

Actually, just disable test_rebind.sh on Appveyor
---
 src/test/test_rebind.sh | 8 +---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/test/test_rebind.sh b/src/test/test_rebind.sh
index a81f1b569..76eb9f2e4 100755
--- a/src/test/test_rebind.sh
+++ b/src/test/test_rebind.sh
@@ -2,12 +2,14 @@
 
 set -x
 
-UNAME_OS=`uname -s | cut -d_ -f1`
+UNAME_OS=$(uname -s | cut -d_ -f1)
 if test "$UNAME_OS" = 'CYGWIN' || \
test "$UNAME_OS" = 'MSYS' || \
test "$UNAME_OS" = 'MINGW'; then
-  echo "This test is disabled on Windows CI, as it requires firewall 
examptions. Skipping." >&2
-  exit 77
+  if test "$APPVEYOR" = 'True'; then
+echo "This test is disabled on Windows CI, as it requires firewall 
examptions. Skipping." >&2
+exit 77
+  fi
 fi
 
 exitcode=0



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


[tor-commits] [tor/master] Update/fix CI build

2018-09-12 Thread nickm
commit 5a11670fcaad0a58de48425ba80510effbe35628
Author: rl1987 
Date:   Sun Aug 5 16:27:49 2018 +0300

Update/fix CI build

Update integration test to Python 3
---
 src/test/test_rebind.py | 14 --
 src/test/test_rebind.sh |  2 ++
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/src/test/test_rebind.py b/src/test/test_rebind.py
index 9472d5cef..f02cb79b7 100644
--- a/src/test/test_rebind.py
+++ b/src/test/test_rebind.py
@@ -1,3 +1,5 @@
+#!/usr/bin/python3
+
 from __future__ import print_function
 
 import sys
@@ -18,14 +20,14 @@ def try_connecting_to_socksport():
 def wait_for_log(s):
 while True:
 l = tor_process.stdout.readline()
-if s in l:
+if s in l.decode('utf8'):
 return
 
 def pick_random_port():
 port = 0
 random.seed()
 
-for i in xrange(8):
+for i in range(8):
 port = random.randint(1, 6)
 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 if s.connect_ex(('127.0.0.1', port)) == 0:
@@ -69,18 +71,18 @@ if control_socket.connect_ex(('127.0.0.1', control_port)):
 print('FAIL')
 sys.exit('Cannot connect to ControlPort')
 
-control_socket.sendall('AUTHENTICATE \r\n')
-control_socket.sendall('SETCONF SOCKSPort=0.0.0.0:{}\r\n'.format(socks_port))
+control_socket.sendall('AUTHENTICATE \r\n'.encode('utf8'))
+control_socket.sendall('SETCONF 
SOCKSPort=0.0.0.0:{}\r\n'.format(socks_port).encode('utf8'))
 wait_for_log('Opened Socks listener')
 
 try_connecting_to_socksport()
 
-control_socket.sendall('SETCONF SOCKSPort=127.0.0.1:{}\r\n'.format(socks_port))
+control_socket.sendall('SETCONF 
SOCKSPort=127.0.0.1:{}\r\n'.format(socks_port).encode('utf8'))
 wait_for_log('Opened Socks listener')
 
 try_connecting_to_socksport()
 
-control_socket.sendall('SIGNAL HALT\r\n')
+control_socket.sendall('SIGNAL HALT\r\n'.encode('utf8'))
 
 time.sleep(0.1)
 print('OK')
diff --git a/src/test/test_rebind.sh b/src/test/test_rebind.sh
index 47f38afc4..2e18f9c97 100755
--- a/src/test/test_rebind.sh
+++ b/src/test/test_rebind.sh
@@ -1,5 +1,7 @@
 #!/bin/sh
 
+set -x
+
 exitcode=0
 
 "${PYTHON:-python}" "${abs_top_srcdir:-.}/src/test/test_rebind.py" 
"${TESTING_TOR_BINARY}" || exitcode=1



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


[tor-commits] [tor/master] Always include socket rebinding code

2018-09-12 Thread nickm
commit d8157097b42b6377d0cd83c758efce5825df83f2
Author: rl1987 
Date:   Tue Jul 17 13:04:06 2018 +

Always include socket rebinding code
---
 src/core/mainloop/connection.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/core/mainloop/connection.c b/src/core/mainloop/connection.c
index aeaff3784..47a93e43a 100644
--- a/src/core/mainloop/connection.c
+++ b/src/core/mainloop/connection.c
@@ -146,10 +146,11 @@
  * EADDRINUSE.
  * 2) If so, it will close the appropriate old listener connection and
  * 3) Attempts bind()'ing the new listener socket again.
+ *
+ * Just to be safe, we are enabling listener rebind code on all platforms,
+ * to account for unexpected cases where it may be needed.
  */
-#if defined(__linux__) || defined(_WIN32)
 #define ENABLE_LISTENER_REBIND
-#endif
 
 static connection_t *connection_listener_new(
const struct sockaddr *listensockaddr,



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


[tor-commits] [tor/master] Comments/explanation for #17873

2018-09-12 Thread nickm
commit 9f5431c79fbe51af9445f00bb1a4d67d80e5ada5
Author: rl1987 
Date:   Wed May 16 17:16:46 2018 +0200

Comments/explanation for #17873
---
 src/core/mainloop/connection.c | 19 +++
 1 file changed, 19 insertions(+)

diff --git a/src/core/mainloop/connection.c b/src/core/mainloop/connection.c
index 200ea4243..f1716ed8f 100644
--- a/src/core/mainloop/connection.c
+++ b/src/core/mainloop/connection.c
@@ -133,6 +133,22 @@
 #include "feature/nodelist/routerinfo_st.h"
 #include "core/or/socks_request_st.h"
 
+/**
+ * On Windows and Linux we cannot reliably bind() a socket to an
+ * address and port if: 1) There's already a socket bound to wildcard
+ * address (0.0.0.0 or ::) with the same port; 2) We try to bind()
+ * to wildcard address and there's another socket bound to a
+ * specific address and the same port.
+ *
+ * To address this problem on these two platforms we implement a
+ * routine that:
+ * 1) Checks if first attempt to bind() a new socket  failed with
+ * EADDRINUSE.
+ * 2) If so, it will close the appropriate old listener connection and
+ * 3) Attempts bind()'ing the new listener socket again.
+ *
+ * For further information, see ticket #17873.
+ */
 #if defined(__linux__) || defined(_WIN32)
 #define ENABLE_LISTENER_REBIND
 #endif
@@ -1191,6 +1207,9 @@ tor_listen(tor_socket_t fd)
  *
  * address is only used for logging purposes and to add the information
  * to the conn.
+ *
+ * Set addr_in_use to true in case socket binding fails with
+ * EADDRINUSE.
  */
 static connection_t *
 connection_listener_new(const struct sockaddr *listensockaddr,



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


[tor-commits] [tor/master] Refrain from compiling socket rebinding code on system that don't need it

2018-09-12 Thread nickm
commit f04e0bd5d630a2ef3b618f3fe6f05d46358dfb65
Author: rl1987 
Date:   Wed Apr 25 17:27:06 2018 +0200

Refrain from compiling socket rebinding code on system that don't need it
---
 src/core/mainloop/connection.c | 16 ++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/src/core/mainloop/connection.c b/src/core/mainloop/connection.c
index 22fa3fb79..9725c3030 100644
--- a/src/core/mainloop/connection.c
+++ b/src/core/mainloop/connection.c
@@ -133,6 +133,10 @@
 #include "feature/nodelist/routerinfo_st.h"
 #include "core/or/socks_request_st.h"
 
+#if defined(__linux__) || defined(_WIN32)
+#define ENABLE_LISTENER_REBIND
+#endif
+
 static connection_t *connection_listener_new(
const struct sockaddr *listensockaddr,
socklen_t listensocklen, int type,
@@ -1517,7 +1521,7 @@ connection_listener_new_for_port(const port_cfg_t *port,
 *defer = 0;
 
   if (port->server_cfg.no_listen) {
-*defer = 1;
+if (defer) *defer = 1;
 return NULL;
   }
 
@@ -1527,7 +1531,7 @@ connection_listener_new_for_port(const port_cfg_t *port,
   const or_options_t *options = get_options();
   if (port->is_unix_addr && !geteuid() && (options->User) &&
   strcmp(options->User, "root")) {
-*defer = 1;
+if (defer) *defer = 1;
 return NULL;
   }
 #endif /* !defined(_WIN32) */
@@ -2698,6 +2702,9 @@ retry_listener_ports(smartlist_t *old_conns,
  smartlist_t *replacements,
  int control_listeners_only)
 {
+#ifndef ENABLE_LISTENER_REBIND
+  (void)replacements;
+#endif
 
   smartlist_t *launch = smartlist_new();
   int r = 0;
@@ -2746,6 +2753,7 @@ retry_listener_ports(smartlist_t *old_conns,
   found_port = wanted;
   break;
 }
+#ifdef ENABLE_LISTENER_REBIND
 const int may_need_rebind =
   port_matches_exact && bool_neq(tor_addr_is_null(&wanted->addr),
  tor_addr_is_null(&conn->addr));
@@ -2758,7 +2766,9 @@ retry_listener_ports(smartlist_t *old_conns,
   smartlist_add(replacements, replacement);
 
   SMARTLIST_DEL_CURRENT(launch, wanted);
+  SMARTLIST_DEL_CURRENT(old_conns, conn);
 }
+#endif
   }
 } SMARTLIST_FOREACH_END(wanted);
 
@@ -2823,6 +2833,7 @@ retry_all_listeners(smartlist_t *replaced_conns,
close_all_noncontrol) < 0)
 retval = -1;
 
+#ifdef ENABLE_LISTENER_REBIND
   SMARTLIST_FOREACH_BEGIN(replacements, struct replacement_s *, r) {
 int addr_in_use = 0;
 int skip = 0;
@@ -2854,6 +2865,7 @@ retry_all_listeners(smartlist_t *replaced_conns,
 tor_free(r);
 SMARTLIST_DEL_CURRENT(replacements, r);
   } SMARTLIST_FOREACH_END(r);
+#endif
 
   /* Any members that were still in 'listeners' don't correspond to
* any configured port.  Kill 'em. */



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


[tor-commits] [tor/master] Log a notice when changing to/from wildcard IP address

2018-09-12 Thread nickm
commit d548453abdf6ed708b6cb7e0a58f11d40f0cf4d1
Author: rl1987 
Date:   Thu Apr 26 11:25:16 2018 +0200

Log a notice when changing to/from wildcard IP address
---
 src/core/mainloop/connection.c | 10 +++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/core/mainloop/connection.c b/src/core/mainloop/connection.c
index 1cc83016f..f435b2985 100644
--- a/src/core/mainloop/connection.c
+++ b/src/core/mainloop/connection.c
@@ -2843,12 +2843,11 @@ retry_all_listeners(smartlist_t *new_conns, int 
close_all_noncontrol)
   connection_listener_new_for_port(r->new_port, &skip, &addr_in_use);
 connection_t *old_conn = r->old_conn;
 
-
 if (skip)
   continue;
 
-connection_close_immediate(r->old_conn);
-connection_mark_for_close(r->old_conn);
+connection_close_immediate(old_conn);
+connection_mark_for_close(old_conn);
 
 if (addr_in_use) {
   new_conn = connection_listener_new_for_port(r->new_port,
@@ -2859,6 +2858,11 @@ retry_all_listeners(smartlist_t *new_conns, int 
close_all_noncontrol)
 
 smartlist_add(new_conns, new_conn);
 
+log_notice(LD_NET, "Closed no-longer-configured %s on %s:%d "
+   "(replaced by %s:%d)",
+   conn_type_to_string(old_conn->type), old_conn->address,
+   old_conn->port, new_conn->address, new_conn->port);
+
 tor_free(r);
 SMARTLIST_DEL_CURRENT(replacements, r);
   } SMARTLIST_FOREACH_END(r);



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


[tor-commits] [tor/master] Try rebinding new listener after closing old one if first bind failed with EADDRINUSE

2018-09-12 Thread nickm
commit c99bb8b6ea2b533e8ed99e6a41d74fc3bbeddb94
Author: rl1987 
Date:   Wed Apr 25 16:17:11 2018 +0200

Try rebinding new listener after closing old one if first bind failed with 
EADDRINUSE
---
 src/core/mainloop/connection.c | 106 +++--
 1 file changed, 92 insertions(+), 14 deletions(-)

diff --git a/src/core/mainloop/connection.c b/src/core/mainloop/connection.c
index bb4130640..22fa3fb79 100644
--- a/src/core/mainloop/connection.c
+++ b/src/core/mainloop/connection.c
@@ -137,7 +137,11 @@ static connection_t *connection_listener_new(
const struct sockaddr *listensockaddr,
socklen_t listensocklen, int type,
const char *address,
-   const port_cfg_t *portcfg);
+   const port_cfg_t *portcfg,
+   int *addr_in_use);
+static connection_t *connection_listener_new_for_port(
+   const port_cfg_t *port,
+   int *defer, int *addr_in_use);
 static void connection_init(time_t now, connection_t *conn, int type,
 int socket_family);
 static int connection_handle_listener_read(connection_t *conn, int new_type);
@@ -1188,7 +1192,8 @@ static connection_t *
 connection_listener_new(const struct sockaddr *listensockaddr,
 socklen_t socklen,
 int type, const char *address,
-const port_cfg_t *port_cfg)
+const port_cfg_t *port_cfg,
+int *addr_in_use)
 {
   listener_connection_t *lis_conn;
   connection_t *conn = NULL;
@@ -1204,6 +1209,8 @@ connection_listener_new(const struct sockaddr 
*listensockaddr,
   tor_addr_t addr;
   int exhaustion = 0;
 
+  if (addr_in_use) *addr_in_use = 0;
+
   if (listensockaddr->sa_family == AF_INET ||
   listensockaddr->sa_family == AF_INET6) {
 int is_stream = (type != CONN_TYPE_AP_DNS_LISTENER);
@@ -1282,8 +1289,10 @@ connection_listener_new(const struct sockaddr 
*listensockaddr,
 if (bind(s,listensockaddr,socklen) < 0) {
   const char *helpfulhint = "";
   int e = tor_socket_errno(s);
-  if (ERRNO_IS_EADDRINUSE(e))
+  if (ERRNO_IS_EADDRINUSE(e)) {
 helpfulhint = ". Is Tor already running?";
+if (addr_in_use) *addr_in_use = 1;
+  }
   log_warn(LD_NET, "Could not bind to %s:%u: %s%s", address, usePort,
tor_socket_strerror(e), helpfulhint);
   goto err;
@@ -1487,8 +1496,15 @@ connection_listener_new(const struct sockaddr 
*listensockaddr,
   return NULL;
 }
 
+/**
+ * Create a new listener connection for a given port. In case we
+ * for a reason that is not an error condition, set defer
+ * to true. If we cannot bind listening socket because address is already
+ * in use, set addr_in_use to true.
+ */
 static connection_t *
-connection_listener_new_for_port(const port_cfg_t *port, int *defer)
+connection_listener_new_for_port(const port_cfg_t *port,
+ int *defer, int *addr_in_use)
 {
   connection_t *conn;
   struct sockaddr *listensockaddr;
@@ -1531,7 +1547,8 @@ connection_listener_new_for_port(const port_cfg_t *port, 
int *defer)
 
   if (listensockaddr) {
 conn = connection_listener_new(listensockaddr, listensocklen,
-   port->type, address, port);
+   port->type, address, port,
+   addr_in_use);
 tor_free(listensockaddr);
 tor_free(address);
   } else {
@@ -2651,16 +2668,26 @@ connection_read_proxy_handshake(connection_t *conn)
   return ret;
 }
 
+struct replacement_s
+{
+  connection_t *old_conn;
+  port_cfg_t *new_port;
+};
+
 /** Given a list of listener connections in old_conns, and list of
  * port_cfg_t entries in ports, open a new listener for every port in
  * ports that does not already have a listener in old_conns.
  *
  * Remove from old_conns every connection that has a corresponding
  * entry in ports.  Add to new_conns new every connection we
- * launch.
+ * launch. If we may need to perform socket rebind when creating new
+ * listener that replaces old one, create a replacement_s struct
+ * for affected pair  and add it to replacements. For more
+ * information, see ticket #17873.
  *
  * If control_listeners_only is true, then we only open control
- * listeners, and we do not remove any noncontrol listeners from old_conns.
+ * listeners, and we do not remove any noncontrol listeners from
+ * old_conns.
  *
  * Return 0 on success, -1 on failure.
  **/
@@ -2668,8 +2695,10 @@ static int
 retry_listener_ports(smartlist_t *old_conns,
  const smartlist_t *ports,
  smartlist_t *new_conns,
+ smartlist_t *replacements,
  int control_listeners_only)
 {
+
   smartlist_t *launch = s

[tor-commits] [tor/master] Log a notice *after* creating connection

2018-09-12 Thread nickm
commit 27c868eff19dbcc208f6db66ec3e2de2104fa754
Author: rl1987 
Date:   Sun May 20 19:10:02 2018 +0200

Log a notice *after* creating connection
---
 src/core/mainloop/connection.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/core/mainloop/connection.c b/src/core/mainloop/connection.c
index f435b2985..a32e3b4f2 100644
--- a/src/core/mainloop/connection.c
+++ b/src/core/mainloop/connection.c
@@ -1486,6 +1486,8 @@ connection_listener_new(const struct sockaddr 
*listensockaddr,
*/
   connection_check_oos(get_n_open_sockets(), 0);
 
+  log_notice(LD_NET, "Opened %s on %s",
+ conn_type_to_string(type), fmt_addrport(&addr, usePort));
   return conn;
 
  err:



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


[tor-commits] [tor/master] Refactoring: Move code that creates listener for port into new function

2018-09-12 Thread nickm
commit ed0ee340d4a9033524d28edbcecc648432525052
Author: rl1987 
Date:   Wed Apr 25 14:32:27 2018 +0200

Refactoring: Move code that creates listener for port into new function
---
 src/core/mainloop/connection.c | 103 +++--
 1 file changed, 59 insertions(+), 44 deletions(-)

diff --git a/src/core/mainloop/connection.c b/src/core/mainloop/connection.c
index ed789d520..bb4130640 100644
--- a/src/core/mainloop/connection.c
+++ b/src/core/mainloop/connection.c
@@ -1487,6 +1487,60 @@ connection_listener_new(const struct sockaddr 
*listensockaddr,
   return NULL;
 }
 
+static connection_t *
+connection_listener_new_for_port(const port_cfg_t *port, int *defer)
+{
+  connection_t *conn;
+  struct sockaddr *listensockaddr;
+  socklen_t listensocklen = 0;
+  char *address=NULL;
+  int real_port = port->port == CFG_AUTO_PORT ? 0 : port->port;
+  tor_assert(real_port <= UINT16_MAX);
+
+  if (defer)
+*defer = 0;
+
+  if (port->server_cfg.no_listen) {
+*defer = 1;
+return NULL;
+  }
+
+#ifndef _WIN32
+  /* We don't need to be root to create a UNIX socket, so defer until after
+   * setuid. */
+  const or_options_t *options = get_options();
+  if (port->is_unix_addr && !geteuid() && (options->User) &&
+  strcmp(options->User, "root")) {
+*defer = 1;
+return NULL;
+  }
+#endif /* !defined(_WIN32) */
+
+  if (port->is_unix_addr) {
+listensockaddr = (struct sockaddr *)
+  create_unix_sockaddr(port->unix_addr,
+   &address, &listensocklen);
+  } else {
+listensockaddr = tor_malloc(sizeof(struct sockaddr_storage));
+listensocklen = tor_addr_to_sockaddr(&port->addr,
+ real_port,
+ listensockaddr,
+ sizeof(struct sockaddr_storage));
+address = tor_addr_to_str_dup(&port->addr);
+  }
+
+  if (listensockaddr) {
+conn = connection_listener_new(listensockaddr, listensocklen,
+   port->type, address, port);
+tor_free(listensockaddr);
+tor_free(address);
+  } else {
+conn = NULL;
+  }
+
+  return conn;
+}
+
 /** Do basic sanity checking on a newly received socket. Return 0
  * if it looks ok, else return -1.
  *
@@ -2676,52 +2730,13 @@ retry_listener_ports(smartlist_t *old_conns,
 
   /* Now open all the listeners that are configured but not opened. */
   SMARTLIST_FOREACH_BEGIN(launch, const port_cfg_t *, port) {
-struct sockaddr *listensockaddr;
-socklen_t listensocklen = 0;
-char *address=NULL;
-connection_t *conn;
-int real_port = port->port == CFG_AUTO_PORT ? 0 : port->port;
-tor_assert(real_port <= UINT16_MAX);
-if (port->server_cfg.no_listen)
-  continue;
-
-#ifndef _WIN32
-/* We don't need to be root to create a UNIX socket, so defer until after
- * setuid. */
-const or_options_t *options = get_options();
-if (port->is_unix_addr && !geteuid() && (options->User) &&
-strcmp(options->User, "root"))
-  continue;
-#endif /* !defined(_WIN32) */
+int skip = 0;
+connection_t *conn = connection_listener_new_for_port(port, &skip);
 
-if (port->is_unix_addr) {
-  listensockaddr = (struct sockaddr *)
-create_unix_sockaddr(port->unix_addr,
- &address, &listensocklen);
-} else {
-  listensockaddr = tor_malloc(sizeof(struct sockaddr_storage));
-  listensocklen = tor_addr_to_sockaddr(&port->addr,
-   real_port,
-   listensockaddr,
-   sizeof(struct sockaddr_storage));
-  address = tor_addr_to_str_dup(&port->addr);
-}
-
-if (listensockaddr) {
-  conn = connection_listener_new(listensockaddr, listensocklen,
- port->type, address, port);
-  tor_free(listensockaddr);
-  tor_free(address);
-} else {
-  conn = NULL;
-}
-
-if (!conn) {
+if (conn && new_conns)
+  smartlist_add(new_conns, conn);
+else if (!skip)
   r = -1;
-} else {
-  if (new_conns)
-smartlist_add(new_conns, conn);
-}
   } SMARTLIST_FOREACH_END(port);
 
   smartlist_free(launch);



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


[tor-commits] [tor/master] Add changes file

2018-09-12 Thread nickm
commit c9c16ee8a463a2ba4bb79a9ef550bb62c65bada8
Author: rl1987 
Date:   Thu Apr 26 12:21:43 2018 +0200

Add changes file
---
 changes/bug17873 | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/changes/bug17873 b/changes/bug17873
new file mode 100644
index 0..4922fedaf
--- /dev/null
+++ b/changes/bug17873
@@ -0,0 +1,6 @@
+  o Minor bugfixes (OS compatibility):
+- On Linux and Windows properly handle configuration change that
+  moves a listener to/from wildcard IP address. In case first
+  attempt to bind a socket fails, close the old listener and
+  try binding a socket again. Fixes bug 17873; bugfix on
+  0.0.8pre-1.



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


[tor-commits] [tor/master] Minor code cleanups

2018-09-12 Thread nickm
commit 74a474a2e78fdc977372cccfde37a2e92694f2df
Author: rl1987 
Date:   Mon May 7 14:26:27 2018 +0200

Minor code cleanups
---
 src/core/mainloop/connection.c | 30 ++
 src/core/mainloop/connection.h | 11 +++
 2 files changed, 25 insertions(+), 16 deletions(-)

diff --git a/src/core/mainloop/connection.c b/src/core/mainloop/connection.c
index a32e3b4f2..200ea4243 100644
--- a/src/core/mainloop/connection.c
+++ b/src/core/mainloop/connection.c
@@ -1213,7 +1213,8 @@ connection_listener_new(const struct sockaddr 
*listensockaddr,
   tor_addr_t addr;
   int exhaustion = 0;
 
-  if (addr_in_use) *addr_in_use = 0;
+  if (addr_in_use)
+*addr_in_use = 0;
 
   if (listensockaddr->sa_family == AF_INET ||
   listensockaddr->sa_family == AF_INET6) {
@@ -1295,7 +1296,8 @@ connection_listener_new(const struct sockaddr 
*listensockaddr,
   int e = tor_socket_errno(s);
   if (ERRNO_IS_EADDRINUSE(e)) {
 helpfulhint = ". Is Tor already running?";
-if (addr_in_use) *addr_in_use = 1;
+if (addr_in_use)
+  *addr_in_use = 1;
   }
   log_warn(LD_NET, "Could not bind to %s:%u: %s%s", address, usePort,
tor_socket_strerror(e), helpfulhint);
@@ -1523,7 +1525,8 @@ connection_listener_new_for_port(const port_cfg_t *port,
 *defer = 0;
 
   if (port->server_cfg.no_listen) {
-if (defer) *defer = 1;
+if (defer)
+  *defer = 1;
 return NULL;
   }
 
@@ -1533,7 +1536,8 @@ connection_listener_new_for_port(const port_cfg_t *port,
   const or_options_t *options = get_options();
   if (port->is_unix_addr && !geteuid() && (options->User) &&
   strcmp(options->User, "root")) {
-if (defer) *defer = 1;
+if (defer)
+  *defer = 1;
 return NULL;
   }
 #endif /* !defined(_WIN32) */
@@ -2674,12 +2678,6 @@ connection_read_proxy_handshake(connection_t *conn)
   return ret;
 }
 
-struct replacement_s
-{
-  connection_t *old_conn;
-  port_cfg_t *new_port;
-};
-
 /** Given a list of listener connections in old_conns, and list of
  * port_cfg_t entries in ports, open a new listener for every port in
  * ports that does not already have a listener in old_conns.
@@ -2687,8 +2685,8 @@ struct replacement_s
  * Remove from old_conns every connection that has a corresponding
  * entry in ports.  Add to new_conns new every connection we
  * launch. If we may need to perform socket rebind when creating new
- * listener that replaces old one, create a replacement_s struct
- * for affected pair  and add it to replacements. For more
+ * listener that replaces old one, create a listener_replacement_t
+ * struct for affected pair  and add it to replacements. For more
  * information, see ticket #17873.
  *
  * If control_listeners_only is true, then we only open control
@@ -2760,11 +2758,11 @@ retry_listener_ports(smartlist_t *old_conns,
   port_matches_exact && bool_neq(tor_addr_is_null(&wanted->addr),
  tor_addr_is_null(&conn->addr));
 if (replacements && may_need_rebind) {
-  struct replacement_s *replacement =
-tor_malloc(sizeof(struct replacement_s));
+  listener_replacement_t *replacement =
+tor_malloc(sizeof(listener_replacement_t));
 
   replacement->old_conn = conn;
-  replacement->new_port = (port_cfg_t *)wanted;
+  replacement->new_port = wanted;
   smartlist_add(replacements, replacement);
 
   SMARTLIST_DEL_CURRENT(launch, wanted);
@@ -2834,7 +2832,7 @@ retry_all_listeners(smartlist_t *new_conns, int 
close_all_noncontrol)
 retval = -1;
 
 #ifdef ENABLE_LISTENER_REBIND
-  SMARTLIST_FOREACH_BEGIN(replacements, struct replacement_s *, r) {
+  SMARTLIST_FOREACH_BEGIN(replacements, listener_replacement_t *, r) {
 int addr_in_use = 0;
 int skip = 0;
 
diff --git a/src/core/mainloop/connection.h b/src/core/mainloop/connection.h
index 2552808fd..b569bb038 100644
--- a/src/core/mainloop/connection.h
+++ b/src/core/mainloop/connection.h
@@ -81,6 +81,17 @@ struct buf_t;
 /** State for any listener connection. */
 #define LISTENER_STATE_READY 0
 
+/**
+ * This struct associates an old listener connection to be replaced
+ * by new connection described by port configuration. Only used when
+ * moving listeners to/from wildcard IP address.
+ */
+typedef struct
+{
+  connection_t *old_conn; /* Old listener connection to be replaced */
+  const port_cfg_t *new_port; /* New port configuration */
+} listener_replacement_t;
+
 const char *conn_type_to_string(int type);
 const char *conn_state_to_string(int type, int state);
 int conn_listener_type_supports_af_unix(int type);



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


  1   2   >