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

2017-08-31 Thread translation
commit 005d055b7476a06e61c2861784d03a10b8bed172
Author: Translation commit bot 
Date:   Fri Sep 1 05:16:25 2017 +

Update translations for tails-greeter
---
 es_AR/es_AR.po | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/es_AR/es_AR.po b/es_AR/es_AR.po
index 7c5e4958b..802081bb6 100644
--- a/es_AR/es_AR.po
+++ b/es_AR/es_AR.po
@@ -9,8 +9,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-06-10 08:28+0200\n"
-"PO-Revision-Date: 2017-06-10 10:19+\n"
+"POT-Creation-Date: 2017-06-10 12:27+0200\n"
+"PO-Revision-Date: 2017-08-17 03:47+\n"
 "Last-Translator: carolyn \n"
 "Language-Team: Spanish (Argentina) 
(http://www.transifex.com/otf/torproject/language/es_AR/)\n"
 "MIME-Version: 1.0\n"
@@ -65,7 +65,7 @@ msgstr ""
 
 #: ../data/greeter.ui.h:13
 msgid "MAC Address Spoofing"
-msgstr ""
+msgstr "Spoofing de Direcciones MAC"
 
 #: ../data/greeter.ui.h:14
 msgid ""
@@ -73,15 +73,15 @@ msgid ""
 "Fi or wired) to the local network. Spoofing MAC addresses is generally safer"
 " as it helps you hide your geographical location. But it might also create "
 "connectivity problems or look suspicious."
-msgstr ""
+msgstr "La suplantación de direcciones MAC esconde el número de serie de la 
interfaz de red (Wi-Fi o cableada) a la red local. La suplantación de 
direcciones MAC generalmente es más segura ya que te ayuda a esconder tu 
ubicación geográfica. Pero también puede crear problemas de conectividad o 
parecer sospechoso."
 
 #: ../data/greeter.ui.h:15
 msgid "Spoof all MAC addresses (default)"
-msgstr ""
+msgstr "Suplantar todas las direcciones MAC (por defecto)"
 
 #: ../data/greeter.ui.h:16
 msgid "Don't spoof MAC addresses"
-msgstr ""
+msgstr "No suplantar las direcciones MAC"
 
 #: ../data/greeter.ui.h:17 ../tailsgreeter/gui.py:532
 msgid "Cannot unlock encrypted storage with this passphrase."

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


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

2017-08-31 Thread translation
commit 02903d6379e3d773f2effe2725160c18f5ae1d18
Author: Translation commit bot 
Date:   Fri Sep 1 05:16:06 2017 +

Update translations for liveusb-creator
---
 fa/fa.po   | 19 
 hu/hu.po   |  9 
 ko/ko.po   | 69 +-
 pt_BR/pt_BR.po |  9 
 tr/tr.po   |  6 ++---
 zh_HK/zh_HK.po | 33 ++--
 6 files changed, 75 insertions(+), 70 deletions(-)

diff --git a/fa/fa.po b/fa/fa.po
index 9a75fe2ad..a18948fed 100644
--- a/fa/fa.po
+++ b/fa/fa.po
@@ -13,6 +13,7 @@
 # zendegi , 2013
 # Hamidreza Rajabzadeh , 2014,2017
 # Javad Ahangari , 2012
+# Moein Nemati , 2017
 # mohammad.s.n, 2013
 # Mohammad Hossein , 2014
 # Seyed Mohammad Hosseini , 2013
@@ -21,9 +22,9 @@ msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-06-10 07:50+0200\n"
-"PO-Revision-Date: 2017-06-25 10:18+\n"
-"Last-Translator: Hamidreza Rajabzadeh \n"
+"POT-Creation-Date: 2017-06-30 13:14+0200\n"
+"PO-Revision-Date: 2017-08-17 22:22+\n"
+"Last-Translator: Moein Nemati \n"
 "Language-Team: Persian 
(http://www.transifex.com/otf/torproject/language/fa/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -138,7 +139,7 @@ msgstr "فایل سیستم های غیرقابل 
پشتیبانی: %s"
 #: ../tails_installer/creator.py:760
 #, python-format
 msgid "Unknown GLib exception while trying to mount device: %(message)s"
-msgstr ""
+msgstr "خطای GLib ناشناخته در هنگام تلاش برای 
سوار کردن دستگاه: %(message)s"
 
 #: ../tails_installer/creator.py:764
 #, python-format
@@ -204,7 +205,7 @@ msgstr "نصب بوت لودر..."
 #: ../tails_installer/creator.py:1016
 #, python-format
 msgid "Could not find the '%s' COM32 module"
-msgstr ""
+msgstr "ماژول '%s' COM32 پیدا نشد"
 
 #: ../tails_installer/creator.py:1024 ../tails_installer/creator.py:1405
 #, python-format
@@ -452,7 +453,7 @@ msgstr "%(filename)s انتخاب شده"
 
 #: ../tails_installer/source.py:28
 msgid "Unable to find LiveOS on ISO"
-msgstr ""
+msgstr "ناتوان در پیداکردن سیستم عامل زنده در 
ISO"
 
 #: ../tails_installer/source.py:34
 #, python-format
@@ -491,11 +492,11 @@ msgstr ""
 
 #: ../tails_installer/utils.py:119
 msgid "Could not open device for writing."
-msgstr ""
+msgstr "دستگاه برای نوشتن باز نشد."
 
 #: ../data/tails-installer.ui.h:1
 msgid "Use existing Live system ISO:"
-msgstr ""
+msgstr "از ISO سیستم زنده موجود استفاده کنید:"
 
 #: ../data/tails-installer.ui.h:2
 msgid "Select a distribution to download:"
@@ -546,7 +547,7 @@ msgstr ""
 msgid ""
 "Need help? Read the https://tails.boum.org/doc/first_steps/installation/\;>documentation"
-msgstr ""
+msgstr "به کمک نیاز دارید؟ https://tails.boum.org/doc/first_steps/installation/\;>م
ستندات را بخوانید"
 
 #: ../data/tails-installer-launcher.ui.h:9
 msgid "Install by cloning"
diff --git a/hu/hu.po b/hu/hu.po
index a4f1a4558..ba0d7d397 100644
--- a/hu/hu.po
+++ b/hu/hu.po
@@ -5,6 +5,7 @@
 # Translators:
 # benewfy , 2015
 # blackc0de , 2015
+# Falu , 2017
 # Blackywantscookies, 2014
 # Blackywantscookies, 2016
 # Gábor Ginál dr. , 2014
@@ -19,8 +20,8 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2017-06-30 13:14+0200\n"
-"PO-Revision-Date: 2017-07-14 16:11+\n"
-"Last-Translator: PB \n"
+"PO-Revision-Date: 2017-08-16 19:27+\n"
+"Last-Translator: Falu \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"
@@ -515,7 +516,7 @@ msgstr ""
 
 #: ../data/tails-installer-launcher.ui.h:2
 msgid "Install"
-msgstr ""
+msgstr "Telepít"
 
 #: ../data/tails-installer-launcher.ui.h:3
 msgid "• Install Tails on a new USB stick."
@@ -527,7 +528,7 @@ msgstr ""
 
 #: ../data/tails-installer-launcher.ui.h:5
 msgid "Upgrade"
-msgstr ""
+msgstr "Frissítés"
 
 #: ../data/tails-installer-launcher.ui.h:6
 msgid "• Upgrade a Tails USB stick to the version of an ISO image."
diff --git a/ko/ko.po b/ko/ko.po
index 9fd4a3b12..63c111848 100644
--- a/ko/ko.po
+++ b/ko/ko.po
@@ -5,6 +5,7 @@
 # Translators:
 # ilbe123 , 2014
 # Chris Park , 2015-2016
+# snotree , 2017
 # testsubject67 , 2014
 # eukim , 2009
 # Dr.what , 2014
@@ -15,9 +16,9 @@ 

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

2017-08-31 Thread translation
commit a21023bbd724f260e039ad947f759303a829c043
Author: Translation commit bot 
Date:   Fri Sep 1 05:16:12 2017 +

Update translations for liveusb-creator_completed
---
 pt_BR/pt_BR.po | 845 +++--
 tr/tr.po   |   6 +-
 2 files changed, 410 insertions(+), 441 deletions(-)

diff --git a/pt_BR/pt_BR.po b/pt_BR/pt_BR.po
index dc768f164..1198f39d4 100644
--- a/pt_BR/pt_BR.po
+++ b/pt_BR/pt_BR.po
@@ -3,7 +3,7 @@
 # This file is distributed under the same license as the PACKAGE package.
 # 
 # Translators:
-# Communia , 2013-2016
+# Communia , 2013-2017
 # carlo giusepe tadei valente sasaki , 2014
 # carlo giusepe tadei valente sasaki , 2014
 # Carlos Villela, 2014
@@ -12,6 +12,7 @@
 # Daniel Messias dos Santos , 2013
 # Daniel S. Koda , 2008
 # Danton Medrado, 2015
+# Eduardo Addad de Oliveira , 2017
 # Eduardo Bonsi, 2013
 # Eduardo Luis Voltolini Tafner, 2013
 # Augustine , 2013
@@ -27,9 +28,9 @@ msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-11-02 21:23+0100\n"
-"PO-Revision-Date: 2016-12-04 23:53+\n"
-"Last-Translator: Communia \n"
+"POT-Creation-Date: 2017-06-30 13:14+0200\n"
+"PO-Revision-Date: 2017-08-10 17:18+\n"
+"Last-Translator: Eduardo Addad de Oliveira \n"
 "Language-Team: Portuguese (Brazil) 
(http://www.transifex.com/otf/torproject/language/pt_BR/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -37,591 +38,559 @@ msgstr ""
 "Language: pt_BR\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
-#: ../liveusb/gui.py:451
-msgid "\"Clone & Install\""
-msgstr "\"Clonar e Instalar\""
+#: ../tails_installer/creator.py:100
+msgid "You must run this application as root"
+msgstr "Você deve executar este aplicativo como Administrador"
 
-#: ../liveusb/gui.py:453
-msgid "\"Install from ISO\""
-msgstr "\"Instalar a partir de uma ISO\""
+#: ../tails_installer/creator.py:146
+msgid "Extracting live image to the target device..."
+msgstr "Extraindo imagem Live para o dispositivo indicado..."
 
-#: ../liveusb/dialog.py:157 ../liveusb/launcher_ui.py:153
+#: ../tails_installer/creator.py:153
 #, python-format
-msgid "%(distribution)s Installer"
-msgstr "Instalador do %(distribution)s"
+msgid "Wrote to device at %(speed)d MB/sec"
+msgstr "Gravou no dispositivo a uma velocidade de %(speed)d MB/s"
 
-#: ../liveusb/gui.py:804
-#, python-format
-msgid "%(filename)s selected"
-msgstr "%(filename)s selecionado"
+#: ../tails_installer/creator.py:183
+msgid "Setting up OLPC boot file..."
+msgstr "Configurando o arquivo de inicialização do OLPC ..."
 
-#: ../liveusb/gui.py:424
+#: ../tails_installer/creator.py:302
 #, python-format
-msgid "%(size)s %(label)s"
-msgstr "%(size)s %(label)s"
+msgid ""
+"There was a problem executing the following command: `%(command)s`.\n"
+"A more detailed error log has been written to '%(filename)s'."
+msgstr "Problema encontrado ao executar o seguinte comando: `%(command)s`.\nUm 
arquivo de registro mais detalhado foi criado em '%(filename)s'."
 
-#: ../liveusb/gui.py:430
-#, python-format
-msgid "%(vendor)s %(model)s (%(details)s) - %(device)s"
-msgstr "%(vendor)s %(model)s (%(details)s) - %(device)s"
+#: ../tails_installer/creator.py:321
+msgid "Verifying SHA1 checksum of LiveCD image..."
+msgstr "Verificando o SHA1 (Secure Hash Algorithm-1) da imagem do LiveCD..."
 
-#: ../liveusb/creator.py:1097
-#, python-format
-msgid "%s already bootable"
-msgstr "%s pronto para iniciar"
+#: ../tails_installer/creator.py:325
+msgid "Verifying SHA256 checksum of LiveCD image..."
+msgstr "Examinando a soma de verificação do SHA256 (Secure Hash 
Algorithm-256) da imagem do LiveCD..."
 
-#: ../liveusb/launcher_ui.py:160
-msgid ""
-"http://www.w3.org/TR/REC-html40/strict.dtd\;>\n"
-"\n"
-"p, li { white-space: pre-wrap; }\n"
-"\n"
-"Need 
help? Read the documentation."
-msgstr "http://www.w3.org/TR/REC-html40/strict.dtd\;>\n\np, li { 
white-space: pre-wrap; }\n\nVocê precisa de ajuda? Leia  documentação."
-
-#: ../liveusb/launcher_ui.py:155
+#: ../tails_installer/creator.py:341
 msgid ""
-"\n"
-"Install Tails on another USB stick by copying the Tails system that you 
are currently using..\n"
-"\n"
-"The USB stick that you install on is formatted and all data is 
lost.\n"
-"\n"
-"The encrypted persistent storage of the Tails USB stick that you are 
currently using is not copied.\n"
-"\n"
-""
-msgstr "\nInstalar o Tails em outro drive USB, copiando o sistema 
Tails que você está usando agora..\n\n O drive USB que você usar 
será formatado e todos os dados serão perdidos.\n\nO volume de 
armazenamento criptografado Persistent do drive USB do Tails que você está 
usando 

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

2017-08-31 Thread translation
commit 5154c9503e7c32e9c332fde845e73ad234daab65
Author: Translation commit bot 
Date:   Fri Sep 1 05:15:46 2017 +

Update translations for https_everywhere
---
 ar/https-everywhere.dtd|  6 +++---
 eo/https-everywhere.dtd| 24 
 es/https-everywhere.dtd|  8 
 es_AR/https-everywhere.dtd | 16 
 fa/https-everywhere.dtd| 18 +-
 hi/https-everywhere.dtd| 26 +-
 hu/https-everywhere.dtd| 10 +-
 ko/https-everywhere.dtd| 33 -
 lv/https-everywhere.dtd| 24 
 nb/https-everywhere.dtd| 24 
 nn/https-everywhere.dtd| 24 
 pt_BR/https-everywhere.dtd |  6 +++---
 ru/https-everywhere.dtd| 24 
 sv/https-everywhere.dtd| 26 +-
 14 files changed, 134 insertions(+), 135 deletions(-)

diff --git a/ar/https-everywhere.dtd b/ar/https-everywhere.dtd
index d3dd01a8f..63a155a5b 100644
--- a/ar/https-everywhere.dtd
+++ b/ar/https-everywhere.dtd
@@ -25,14 +25,14 @@
 
 
 
-
-
+
+
 
 
 
 
 
-
+
 
 
 
diff --git a/eo/https-everywhere.dtd b/eo/https-everywhere.dtd
index 420facc19..d5f200021 100644
--- a/eo/https-everywhere.dtd
+++ b/eo/https-everywhere.dtd
@@ -24,22 +24,22 @@
 
 
 
-
-
-
+
+
+
 
 
 
 
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
 
 
 
diff --git a/es/https-everywhere.dtd b/es/https-everywhere.dtd
index f4af619c6..d1a97eefc 100644
--- a/es/https-everywhere.dtd
+++ b/es/https-everywhere.dtd
@@ -32,14 +32,14 @@
 
 
 
-
+
 
 
 
-
+
 
-
-
+
+
 
 
 
diff --git a/es_AR/https-everywhere.dtd b/es_AR/https-everywhere.dtd
index 29fc3841a..6e29def27 100644
--- a/es_AR/https-everywhere.dtd
+++ b/es_AR/https-everywhere.dtd
@@ -24,21 +24,21 @@
 
 
 
-
-
-
+
+
+
 
 
 
 
-
-
-
+
+
+
 
-
+
 
 
-
+
 
 
 
diff --git a/fa/https-everywhere.dtd b/fa/https-everywhere.dtd
index 247147ad6..97462d7e3 100644
--- a/fa/https-everywhere.dtd
+++ b/fa/https-everywhere.dtd
@@ -24,21 +24,21 @@
 
 
 
-
-
-
+
+
+
 
 
 
 
-
-
-
+
+
+
 
-
+
 
-
-
+
+
 
 
 
diff --git a/hi/https-everywhere.dtd b/hi/https-everywhere.dtd
index 40e681af9..3cf6150d6 100644
--- a/hi/https-everywhere.dtd
+++ b/hi/https-everywhere.dtd
@@ -1,21 +1,21 @@
 
 
-
+
 
 
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
 
-
+
 
 
 
diff --git a/hu/https-everywhere.dtd b/hu/https-everywhere.dtd
index de0e19dd8..85da8ba0d 100644
--- a/hu/https-everywhere.dtd
+++ b/hu/https-everywhere.dtd
@@ -24,15 +24,15 @@
 
 
 
-
-
-
+
+
+
 
 
 
 
-
-
+
+
 
 
 
diff --git a/ko/https-everywhere.dtd b/ko/https-everywhere.dtd
index e7fcdec48..33879f293 100644
--- a/ko/https-everywhere.dtd
+++ b/ko/https-everywhere.dtd
@@ -1,8 +1,7 @@
-
+
 
-
-
+
+
 
 
 
@@ -25,22 +24,22 @@
 
 
 
-
-
-
+
+
+
 
-
+
 
 
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
 
 
 
diff --git a/lv/https-everywhere.dtd b/lv/https-everywhere.dtd
index a2f278dec..49aeb3686 100644
--- a/lv/https-everywhere.dtd
+++ b/lv/https-everywhere.dtd
@@ -24,22 +24,22 @@
 
 
 
-
-
-
+
+
+
 
 
 
 
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
 
 
 
diff --git a/nb/https-everywhere.dtd b/nb/https-everywhere.dtd
index a769cee4f..7ca0341c6 100644
--- a/nb/https-everywhere.dtd
+++ b/nb/https-everywhere.dtd
@@ -24,22 +24,22 @@
 
 
 
-
-
-
+
+
+
 
 
 
 
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
 
 
 
diff --git a/nn/https-everywhere.dtd b/nn/https-everywhere.dtd
index 44c4cd216..8351fd313 100644
--- a/nn/https-everywhere.dtd
+++ b/nn/https-everywhere.dtd
@@ -24,22 +24,22 @@
 
 
 
-
-
-
+
+
+
 
 
 
 
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
 
 
 
diff --git a/pt_BR/https-everywhere.dtd b/pt_BR/https-everywhere.dtd
index e4748fca6..39cba9a74 100644
--- a/pt_BR/https-everywhere.dtd
+++ b/pt_BR/https-everywhere.dtd
@@ -36,10 +36,10 @@
 
 
 
-
-
+
+
 
-
+
 
 
 
diff --git a/ru/https-everywhere.dtd b/ru/https-everywhere.dtd
index 325781eba..870945bda 100644
--- a/ru/https-everywhere.dtd
+++ b/ru/https-everywhere.dtd
@@ -24,22 +24,22 @@
 
 
 
-
-
-
+
+
+
 
 
 
 
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
 
 
 
diff --git a/sv/https-everywhere.dtd b/sv/https-everywhere.dtd
index 05b1f8eb1..cd2f9035c 100644
--- a/sv/https-everywhere.dtd
+++ b/sv/https-everywhere.dtd
@@ -24,22 +24,22 @@
 
 
 
-
-
-
+
+
+
 
 
 
 
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
 
 
 
@@ -62,7 +62,7 @@
 
 
 
-
+
 
 
 

___
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

2017-08-31 Thread translation
commit 607dfaaafc03646335fb4c69df6de1595a4f94f7
Author: Translation commit bot 
Date:   Fri Sep 1 05:15:57 2017 +

Update translations for https_everywhere_completed
---
 eo/https-everywhere.dtd| 13 +
 es/https-everywhere.dtd|  8 
 ko/https-everywhere.dtd| 22 +-
 lv/https-everywhere.dtd| 13 +
 nb/https-everywhere.dtd| 13 +
 nn/https-everywhere.dtd| 13 +
 pt_BR/https-everywhere.dtd | 13 +
 ru/https-everywhere.dtd| 13 +
 sv/https-everywhere.dtd| 15 ++-
 9 files changed, 113 insertions(+), 10 deletions(-)

diff --git a/eo/https-everywhere.dtd b/eo/https-everywhere.dtd
index 9188cbf87..d5f200021 100644
--- a/eo/https-everywhere.dtd
+++ b/eo/https-everywhere.dtd
@@ -24,9 +24,22 @@
 
 
 
+
+
+
+
 
 
 
+
+
+
+
+
+
+
+
+
 
 
 
diff --git a/es/https-everywhere.dtd b/es/https-everywhere.dtd
index f4af619c6..d1a97eefc 100644
--- a/es/https-everywhere.dtd
+++ b/es/https-everywhere.dtd
@@ -32,14 +32,14 @@
 
 
 
-
+
 
 
 
-
+
 
-
-
+
+
 
 
 
diff --git a/ko/https-everywhere.dtd b/ko/https-everywhere.dtd
index c8cea7081..33879f293 100644
--- a/ko/https-everywhere.dtd
+++ b/ko/https-everywhere.dtd
@@ -1,8 +1,7 @@
-
+
 
-
-
+
+
 
 
 
@@ -25,9 +24,22 @@
 
 
 
-
+
+
+
+
+
 
 
+
+
+
+
+
+
+
+
+
 
 
 
diff --git a/lv/https-everywhere.dtd b/lv/https-everywhere.dtd
index a5fc36bb1..49aeb3686 100644
--- a/lv/https-everywhere.dtd
+++ b/lv/https-everywhere.dtd
@@ -24,9 +24,22 @@
 
 
 
+
+
+
+
 
 
 
+
+
+
+
+
+
+
+
+
 
 
 
diff --git a/nb/https-everywhere.dtd b/nb/https-everywhere.dtd
index c7a7f20e4..7ca0341c6 100644
--- a/nb/https-everywhere.dtd
+++ b/nb/https-everywhere.dtd
@@ -24,9 +24,22 @@
 
 
 
+
+
+
+
 
 
 
+
+
+
+
+
+
+
+
+
 
 
 
diff --git a/nn/https-everywhere.dtd b/nn/https-everywhere.dtd
index acee18cc3..8351fd313 100644
--- a/nn/https-everywhere.dtd
+++ b/nn/https-everywhere.dtd
@@ -24,9 +24,22 @@
 
 
 
+
+
+
+
 
 
 
+
+
+
+
+
+
+
+
+
 
 
 
diff --git a/pt_BR/https-everywhere.dtd b/pt_BR/https-everywhere.dtd
index cb3531ca5..39cba9a74 100644
--- a/pt_BR/https-everywhere.dtd
+++ b/pt_BR/https-everywhere.dtd
@@ -24,9 +24,22 @@
 
 
 
+
+
+
+
 
 
 
+
+
+
+
+
+
+
+
+
 
 
 
diff --git a/ru/https-everywhere.dtd b/ru/https-everywhere.dtd
index a270cb368..870945bda 100644
--- a/ru/https-everywhere.dtd
+++ b/ru/https-everywhere.dtd
@@ -24,9 +24,22 @@
 
 
 
+
+
+
+
 
 
 
+
+
+
+
+
+
+
+
+
 
 
 
diff --git a/sv/https-everywhere.dtd b/sv/https-everywhere.dtd
index 5e07d68c6..cd2f9035c 100644
--- a/sv/https-everywhere.dtd
+++ b/sv/https-everywhere.dtd
@@ -24,9 +24,22 @@
 
 
 
+
+
+
+
 
 
 
+
+
+
+
+
+
+
+
+
 
 
 
@@ -49,7 +62,7 @@
 
 
 
-
+
 
 
 

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


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

2017-08-31 Thread translation
commit 8c1b22cfaba30ba13ed9603811cf43aa35328552
Author: Translation commit bot 
Date:   Fri Sep 1 05:15:07 2017 +

Update translations for bridgedb
---
 da/LC_MESSAGES/bridgedb.po | 12 +--
 hi/LC_MESSAGES/bridgedb.po | 50 +++---
 ko/LC_MESSAGES/bridgedb.po |  7 ---
 3 files changed, 35 insertions(+), 34 deletions(-)

diff --git a/da/LC_MESSAGES/bridgedb.po b/da/LC_MESSAGES/bridgedb.po
index 6fd48257a..cb05f8ce8 100644
--- a/da/LC_MESSAGES/bridgedb.po
+++ b/da/LC_MESSAGES/bridgedb.po
@@ -16,7 +16,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: 
'https://trac.torproject.org/projects/tor/newticket?component=BridgeDB=bridgedb-reported,msgid=isis,sysrqb=isis'\n"
 "POT-Creation-Date: 2015-07-25 03:40+\n"
-"PO-Revision-Date: 2017-06-20 10:03+\n"
+"PO-Revision-Date: 2017-08-12 21:47+\n"
 "Last-Translator: scootergrisen\n"
 "Language-Team: Danish 
(http://www.transifex.com/otf/torproject/language/da/)\n"
 "MIME-Version: 1.0\n"
@@ -231,7 +231,7 @@ msgid ""
 "difficult for anyone watching your internet traffic to determine that you 
are\n"
 "using Tor.\n"
 "\n"
-msgstr "BridgeDB kan formidle broer med adskillige typer %sPluggable 
Transports%s\nsom kan hjælpe med at sløre dine forbindelser til 
Tor-netværket, og dermed\ngøre det vanskeligere for nogen som kan se din 
internet trafik at bestemme\nat du bruger Tor.\n\n"
+msgstr "BridgeDB kan formidle broer med adskillige typer %sUdskiftelige 
transporter%s\nsom kan hjælpe med at sløre dine forbindelser til 
Tor-netværket, og dermed\ngøre det vanskeligere for nogen som kan se din 
internet trafik at bestemme\nat du bruger Tor.\n\n"
 
 #. TRANSLATORS: Please DO NOT translate "Pluggable Transports".
 #: bridgedb/strings.py:79
@@ -239,7 +239,7 @@ msgid ""
 "Some bridges with IPv6 addresses are also available, though some Pluggable\n"
 "Transports aren't IPv6 compatible.\n"
 "\n"
-msgstr "Nogle broer med IPv6 adresser er også tilgængelige, men ikke alle 
Pluggable\nTransports understøtter IPv6.\n\n"
+msgstr "Nogle broer med IPv6-adresser er også tilgængelige, men ikke alle 
udskiftelige\ntransporter understøtter IPv6.\n\n"
 
 #. TRANSLATORS: Please DO NOT translate "BridgeDB".
 #. TRANSLATORS: The phrase "plain-ol'-vanilla" means "plain, boring,
@@ -253,7 +253,7 @@ msgid ""
 "Pluggable Transports %s which maybe doesn't sound as cool, but they can 
still\n"
 "help to circumvent internet censorship in many cases.\n"
 "\n"
-msgstr "BridgeDB har ydermere masser af konventionelle broer %s uden 
nogen\nPluggable Transports %s hvilket måske ikke lyder så smart, men de 
kan\nstadigvæk hjælpe med at omgå internet censur i mange tilfælde.\n\n"
+msgstr "BridgeDB har ydermere masser af konventionelle broer %s uden 
nogen\nudskiftelige transporter %s hvilket måske ikke lyder så smart, men de 
kan\nstadigvæk hjælpe med at omgå internet censur i mange tilfælde.\n\n"
 
 #: bridgedb/strings.py:101
 msgid "What are bridges?"
@@ -294,7 +294,7 @@ msgid ""
 "Try including as much info about your case as you can, including the list 
of\n"
 "bridges and Pluggable Transports you tried to use, your Tor Browser 
version,\n"
 "and any messages which Tor gave out, etc."
-msgstr "Prøv at inkluderer så meget information om din sag som muligt, der i 
blandt:\nEn liste af broer og Pluggable Transports du har prøvet at bruge, 
din\nTor Browser version, hvilke beskeder Tor gav, osv."
+msgstr "Prøv at inkluderer så meget information om din sag som muligt, der i 
blandt:\nEn liste af broer og udskiftelige transporter du har prøvet at bruge, 
din\nTor Browser version, hvilke beskeder Tor gav, osv."
 
 #: bridgedb/strings.py:128
 msgid "Here are your bridge lines:"
@@ -379,7 +379,7 @@ msgstr "Anmod IPv6-broer."
 #. TRANSLATORS: Please DO NOT translate the word the word "TYPE".
 #: bridgedb/strings.py:174
 msgid "Request a Pluggable Transport by TYPE."
-msgstr "Anmod om Pluggable Transport efter TYPE."
+msgstr "Anmod om udskiftelig transport efter TYPE."
 
 #. TRANSLATORS: Please DO NOT translate "BridgeDB".
 #. TRANSLATORS: Please DO NOT translate "GnuPG".
diff --git a/hi/LC_MESSAGES/bridgedb.po b/hi/LC_MESSAGES/bridgedb.po
index f86bc76bf..c93cfc855 100644
--- a/hi/LC_MESSAGES/bridgedb.po
+++ b/hi/LC_MESSAGES/bridgedb.po
@@ -6,14 +6,14 @@
 # A. Saad Imran, 2016
 # Bineet kumar gaur , 2014
 # Minnie Kaur , 2016
-# Shubham Singh , 2016
+# Shubham Singh , 2016-2017
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: 
'https://trac.torproject.org/projects/tor/newticket?component=BridgeDB=bridgedb-reported,msgid=isis,sysrqb=isis'\n"
 "POT-Creation-Date: 2015-07-25 03:40+\n"
-"PO-Revision-Date: 2016-10-06 05:00+\n"
-"Last-Translator: Minnie Kaur \n"
+"PO-Revision-Date: 2017-08-12 07:21+\n"

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

2017-08-31 Thread translation
commit 3c772d8f8c349b64cde899f584be354d5dff45ff
Author: Translation commit bot 
Date:   Fri Sep 1 05:15:14 2017 +

Update translations for bridgedb_completed
---
 da/LC_MESSAGES/bridgedb.po |  12 +-
 hi/LC_MESSAGES/bridgedb.po | 384 +
 2 files changed, 390 insertions(+), 6 deletions(-)

diff --git a/da/LC_MESSAGES/bridgedb.po b/da/LC_MESSAGES/bridgedb.po
index 6fd48257a..cb05f8ce8 100644
--- a/da/LC_MESSAGES/bridgedb.po
+++ b/da/LC_MESSAGES/bridgedb.po
@@ -16,7 +16,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: 
'https://trac.torproject.org/projects/tor/newticket?component=BridgeDB=bridgedb-reported,msgid=isis,sysrqb=isis'\n"
 "POT-Creation-Date: 2015-07-25 03:40+\n"
-"PO-Revision-Date: 2017-06-20 10:03+\n"
+"PO-Revision-Date: 2017-08-12 21:47+\n"
 "Last-Translator: scootergrisen\n"
 "Language-Team: Danish 
(http://www.transifex.com/otf/torproject/language/da/)\n"
 "MIME-Version: 1.0\n"
@@ -231,7 +231,7 @@ msgid ""
 "difficult for anyone watching your internet traffic to determine that you 
are\n"
 "using Tor.\n"
 "\n"
-msgstr "BridgeDB kan formidle broer med adskillige typer %sPluggable 
Transports%s\nsom kan hjælpe med at sløre dine forbindelser til 
Tor-netværket, og dermed\ngøre det vanskeligere for nogen som kan se din 
internet trafik at bestemme\nat du bruger Tor.\n\n"
+msgstr "BridgeDB kan formidle broer med adskillige typer %sUdskiftelige 
transporter%s\nsom kan hjælpe med at sløre dine forbindelser til 
Tor-netværket, og dermed\ngøre det vanskeligere for nogen som kan se din 
internet trafik at bestemme\nat du bruger Tor.\n\n"
 
 #. TRANSLATORS: Please DO NOT translate "Pluggable Transports".
 #: bridgedb/strings.py:79
@@ -239,7 +239,7 @@ msgid ""
 "Some bridges with IPv6 addresses are also available, though some Pluggable\n"
 "Transports aren't IPv6 compatible.\n"
 "\n"
-msgstr "Nogle broer med IPv6 adresser er også tilgængelige, men ikke alle 
Pluggable\nTransports understøtter IPv6.\n\n"
+msgstr "Nogle broer med IPv6-adresser er også tilgængelige, men ikke alle 
udskiftelige\ntransporter understøtter IPv6.\n\n"
 
 #. TRANSLATORS: Please DO NOT translate "BridgeDB".
 #. TRANSLATORS: The phrase "plain-ol'-vanilla" means "plain, boring,
@@ -253,7 +253,7 @@ msgid ""
 "Pluggable Transports %s which maybe doesn't sound as cool, but they can 
still\n"
 "help to circumvent internet censorship in many cases.\n"
 "\n"
-msgstr "BridgeDB har ydermere masser af konventionelle broer %s uden 
nogen\nPluggable Transports %s hvilket måske ikke lyder så smart, men de 
kan\nstadigvæk hjælpe med at omgå internet censur i mange tilfælde.\n\n"
+msgstr "BridgeDB har ydermere masser af konventionelle broer %s uden 
nogen\nudskiftelige transporter %s hvilket måske ikke lyder så smart, men de 
kan\nstadigvæk hjælpe med at omgå internet censur i mange tilfælde.\n\n"
 
 #: bridgedb/strings.py:101
 msgid "What are bridges?"
@@ -294,7 +294,7 @@ msgid ""
 "Try including as much info about your case as you can, including the list 
of\n"
 "bridges and Pluggable Transports you tried to use, your Tor Browser 
version,\n"
 "and any messages which Tor gave out, etc."
-msgstr "Prøv at inkluderer så meget information om din sag som muligt, der i 
blandt:\nEn liste af broer og Pluggable Transports du har prøvet at bruge, 
din\nTor Browser version, hvilke beskeder Tor gav, osv."
+msgstr "Prøv at inkluderer så meget information om din sag som muligt, der i 
blandt:\nEn liste af broer og udskiftelige transporter du har prøvet at bruge, 
din\nTor Browser version, hvilke beskeder Tor gav, osv."
 
 #: bridgedb/strings.py:128
 msgid "Here are your bridge lines:"
@@ -379,7 +379,7 @@ msgstr "Anmod IPv6-broer."
 #. TRANSLATORS: Please DO NOT translate the word the word "TYPE".
 #: bridgedb/strings.py:174
 msgid "Request a Pluggable Transport by TYPE."
-msgstr "Anmod om Pluggable Transport efter TYPE."
+msgstr "Anmod om udskiftelig transport efter TYPE."
 
 #. TRANSLATORS: Please DO NOT translate "BridgeDB".
 #. TRANSLATORS: Please DO NOT translate "GnuPG".
diff --git a/hi/LC_MESSAGES/bridgedb.po b/hi/LC_MESSAGES/bridgedb.po
new file mode 100644
index 0..c93cfc855
--- /dev/null
+++ b/hi/LC_MESSAGES/bridgedb.po
@@ -0,0 +1,384 @@
+# Translations template for BridgeDB.
+# Copyright (C) 2015 'The Tor Project, Inc.'
+# This file is distributed under the same license as the BridgeDB project.
+# 
+# Translators:
+# A. Saad Imran, 2016
+# Bineet kumar gaur , 2014
+# Minnie Kaur , 2016
+# Shubham Singh , 2016-2017
+msgid ""
+msgstr ""
+"Project-Id-Version: The Tor Project\n"
+"Report-Msgid-Bugs-To: 
'https://trac.torproject.org/projects/tor/newticket?component=BridgeDB=bridgedb-reported,msgid=isis,sysrqb=isis'\n"
+"POT-Creation-Date: 2015-07-25 03:40+\n"
+"PO-Revision-Date: 2017-08-12 07:21+\n"
+"Last-Translator: 

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

2017-08-31 Thread translation
commit 63ae675bef45a230859f3397ca8defe5d7c43a48
Author: Translation commit bot 
Date:   Fri Sep 1 05:12:13 2017 +

Update translations for tor-browser-manual_completed
---
 zh_TW/zh_TW.po | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/zh_TW/zh_TW.po b/zh_TW/zh_TW.po
index a20385eb8..0c1bf1af7 100644
--- a/zh_TW/zh_TW.po
+++ b/zh_TW/zh_TW.po
@@ -1212,7 +1212,7 @@ msgid ""
 "disabled by default on all non-HTTPS sites."
 msgstr ""
-"在此安全性等級下,以 HTML 5 所建構的影音多媒體可透過 
NoScript 擴充元件來隨點即播;所有的 JavaScript "
+"在此安全性等級下,以 HTML5 所建構的影音多媒體可透過 
NoScript 擴充元件來隨點即播;所有的 JavaScript "
 
"效能最佳化功能皆會被關閉;某些數學函式可能無法正常顯示;某些字型渲染功能會被關閉;部分æ
 ¼å¼çš„圖形顯示功能會被關閉;針對不支援HTTPS加密連線的網站關閉 JavaScript 
功能。"
 

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


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

2017-08-31 Thread translation
commit 9232ba52bdf9ac99709466286ceb1a42c2c229af
Author: Translation commit bot 
Date:   Fri Sep 1 05:11:57 2017 +

Update translations for tor-browser-manual
---
 da/da.po   | 27 ---
 hu/hu.po   |  5 +++--
 zh_TW/zh_TW.po |  2 +-
 3 files changed, 28 insertions(+), 6 deletions(-)

diff --git a/da/da.po b/da/da.po
index 300b1b60f..fbba147ce 100644
--- a/da/da.po
+++ b/da/da.po
@@ -118,6 +118,10 @@ msgid ""
 "three keys represent the layers of encryption between the user and each "
 "relay."
 msgstr ""
+"Billedet ovenfor illustrerer en bruger som besøger forskellige websteder "
+"over Tor. De midterste grønne computere repræsenterer relæ i 
Tor-netværket, "
+"mens de tre nøgler repræsenterer lagene af kryptering mellem brugeren og "
+"hvert relæ."
 
 #: bridges.page:6
 msgid "Learn what bridges are and how to get them"
@@ -233,7 +237,7 @@ msgstr ""
 
 #: circumvention.page:22
 msgid "Using pluggable transports"
-msgstr ""
+msgstr "Brug af udskiftelige transporter"
 
 #. This is a reference to an external file such as an image or video. When
 #. the file changes, the md5 hash will change to let you know you need to
@@ -390,6 +394,8 @@ msgid ""
 "To get links for downloading Tor Browser in Chinese for Linux, send a "
 "message to get...@torproject.org with the words \"linux zh\" in it."
 msgstr ""
+"Få links til at downloade Tor Browser på kinesisk til Linux ved at sende en 
"
+"meddelelse til get...@torproject.org med ordene \"linux zh\"."
 
 #: downloading.page:84
 msgid "Satori"
@@ -427,6 +433,8 @@ msgid ""
 "Wait for your download to finish, then find the “Generate Hash” section 
in "
 "Satori’s menu and click “Select Files”."
 msgstr ""
+"Vent på at din download blive færdig og find så “Generer 
hash”-afsnittet i "
+"Satori’s menu og klik på “Vælg filer”."
 
 #: downloading.page:121
 msgid ""
@@ -908,6 +916,9 @@ msgid ""
 "methods that do not use Flash. These methods may be compatible with Tor "
 "Browser."
 msgstr ""
+"Nogle video-websteder (såsom YouTube) tilbyder alternative "
+"videoleveringsmetoder som ikke bruger Flash. Disse metoder kan være "
+"kompatible med Tor Browser."
 
 #: plugins.page:31
 msgid "JavaScript"
@@ -920,6 +931,10 @@ msgid ""
 "Unfortunately, JavaScript can also enable attacks on the security of the "
 "browser, which might lead to deanonymization."
 msgstr ""
+"JavaScript er et programmeringssprog som websteder bruger for at tilbyde "
+"interaktive elementer såsom video, animation, lyd og statustidslinjer. "
+"Desværre kan JavaScript også muliggøre angreb på browserens sikkerhed som 
"
+"kan føre til afanonymisering."
 
 #: plugins.page:39
 msgid ""
@@ -1052,6 +1067,8 @@ msgid ""
 "Network location of the computer used to visit the website (the public IP "
 "address)."
 msgstr ""
+"Computerens netværksplacering som bruges til at besøge webstedet (den "
+"offentlige IP-adresse)."
 
 #: secure-connections.page:115
 msgid "Whether or not Tor is being used."
@@ -1174,11 +1191,11 @@ msgstr ""
 
 #: transports.page:6 transports.page:20
 msgid "Types of pluggable transport"
-msgstr "Typer af plugbare transport"
+msgstr "Typer af udskiftelig transport"
 
 #: transports.page:10
 msgid "Pluggable Transports"
-msgstr "Plugbare transporter"
+msgstr "Udskiftelige transporter"
 
 #: transports.page:12
 msgid ""
@@ -1193,6 +1210,8 @@ msgid ""
 "Currently there are six pluggable transports available, but more are being "
 "developed."
 msgstr ""
+"Der er på nuværende tidspunkt seks udskiftelige transporter tilgængelige 
men"
+" flere er under udvikling."
 
 #: transports.page:28
 msgid "obfs3"
@@ -1449,6 +1468,8 @@ msgid ""
 "Wait for the update to download and install, then restart Tor Browser. You "
 "will now be running the latest version."
 msgstr ""
+"Vent på at opdateringen downloades og installeres, og genstart så Tor "
+"Browser. Du vil nu køre den seneste version."
 
 #: updating.page:58
 msgid "Updating Tor Browser manually"
diff --git a/hu/hu.po b/hu/hu.po
index d0c3a07da..39236fb8e 100644
--- a/hu/hu.po
+++ b/hu/hu.po
@@ -3,12 +3,13 @@
 # Petrovics Sándor , 2016
 # runasand , 2016
 # Márk Kökény , 2016
+# Falu , 2017
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "POT-Creation-Date: 2016-12-06 16:36-0600\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: Márk Kökény , 2016\n"
+"Last-Translator: Falu , 2017\n"
 "Language-Team: Hungarian (https://www.transifex.com/otf/teams/1519/hu/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -27,7 +28,7 @@ msgstr ""
 
 #: about-tor-browser.page:10
 msgid "About Tor Browser"
-msgstr ""
+msgstr "A Tor Browser névjegye"
 
 #: about-tor-browser.page:12
 msgid ""
diff --git a/zh_TW/zh_TW.po b/zh_TW/zh_TW.po
index a20385eb8..0c1bf1af7 

[tor-commits] [translation/tails-greeter-2] Update translations for tails-greeter-2

2017-08-31 Thread translation
commit be74fb5cc54296dae12b668658f4bf361816d269
Author: Translation commit bot 
Date:   Fri Sep 1 05:09:47 2017 +

Update translations for tails-greeter-2
---
 es_AR/es_AR.po | 11 ---
 nl/nl.po   |  2 +-
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/es_AR/es_AR.po b/es_AR/es_AR.po
index a98de1130..b7800f887 100644
--- a/es_AR/es_AR.po
+++ b/es_AR/es_AR.po
@@ -69,7 +69,7 @@ msgstr "Camuflaje de Microsoft Windows 10"
 
 #: ../data/greeter.ui.h:13
 msgid "MAC Address Spoofing"
-msgstr ""
+msgstr "Spoofing de Direcciones MAC"
 
 #: ../data/greeter.ui.h:14
 msgid ""
@@ -78,14 +78,19 @@ msgid ""
 " as it helps you hide your geographical location. But it might also create "
 "connectivity problems or look suspicious."
 msgstr ""
+"La suplantación de direcciones MAC esconde el número de serie de la 
interfaz"
+" de red (Wi-Fi o cableada) a la red local. La suplantación de direcciones "
+"MAC generalmente es más segura ya que te ayuda a esconder tu ubicación "
+"geográfica. Pero también puede crear problemas de conectividad o parecer "
+"sospechoso."
 
 #: ../data/greeter.ui.h:15
 msgid "Spoof all MAC addresses (default)"
-msgstr ""
+msgstr "Suplantar todas las direcciones MAC (por defecto)"
 
 #: ../data/greeter.ui.h:16
 msgid "Don't spoof MAC addresses"
-msgstr ""
+msgstr "No suplantar las direcciones MAC"
 
 #: ../data/greeter.ui.h:17 ../tailsgreeter/gui.py:532
 msgid "Cannot unlock encrypted storage with this passphrase."
diff --git a/nl/nl.po b/nl/nl.po
index 9a3d2f20a..4774483d1 100644
--- a/nl/nl.po
+++ b/nl/nl.po
@@ -10,7 +10,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2017-06-10 12:27+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: blacklight447 , 2017\n"
+"Last-Translator: blacklight , 2017\n"
 "Language-Team: Dutch (https://www.transifex.com/otf/teams/1519/nl/)\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/tor-messenger-authdtd_completed] Update translations for tor-messenger-authdtd_completed

2017-08-31 Thread translation
commit 5117ac11a3be929c8d18581121336a904084de4d
Author: Translation commit bot 
Date:   Fri Sep 1 05:07:34 2017 +

Update translations for tor-messenger-authdtd_completed
---
 hy/auth.dtd | 21 +
 1 file changed, 21 insertions(+)

diff --git a/hy/auth.dtd b/hy/auth.dtd
new file mode 100644
index 0..c9db92fdd
--- /dev/null
+++ b/hy/auth.dtd
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file

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


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

2017-08-31 Thread translation
commit 7ac581bb4af1a2c073a0389296dbde64c6e5b849
Author: Translation commit bot 
Date:   Fri Sep 1 05:07:29 2017 +

Update translations for tor-messenger-authdtd
---
 hy/auth.dtd | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/hy/auth.dtd b/hy/auth.dtd
index 7c6dd54ac..c9db92fdd 100644
--- a/hy/auth.dtd
+++ b/hy/auth.dtd
@@ -10,11 +10,11 @@
 
 
 
-
+
 
 
 
-
+
 
 
 

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


[tor-commits] [translation/tor-launcher-network-settings] Update translations for tor-launcher-network-settings

2017-08-31 Thread translation
commit 7664f0c0f35030b34e97a00e6dbb24423ea379cf
Author: Translation commit bot 
Date:   Fri Sep 1 05:05:25 2017 +

Update translations for tor-launcher-network-settings
---
 ko/network-settings.dtd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ko/network-settings.dtd b/ko/network-settings.dtd
index ab7f9053f..8599b0274 100644
--- a/ko/network-settings.dtd
+++ b/ko/network-settings.dtd
@@ -13,7 +13,7 @@
 
 
 
-
+
 
 
 

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


[tor-commits] [translation/tor-launcher-network-settings_completed] Update translations for tor-launcher-network-settings_completed

2017-08-31 Thread translation
commit 299f05f83c5f10c1d0ac4e65603e0b6b4c67e383
Author: Translation commit bot 
Date:   Fri Sep 1 05:05:31 2017 +

Update translations for tor-launcher-network-settings_completed
---
 ko/network-settings.dtd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ko/network-settings.dtd b/ko/network-settings.dtd
index ab7f9053f..8599b0274 100644
--- a/ko/network-settings.dtd
+++ b/ko/network-settings.dtd
@@ -13,7 +13,7 @@
 
 
 
-
+
 
 
 

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


[tor-commits] [translation/tor-launcher-progress] Update translations for tor-launcher-progress

2017-08-31 Thread translation
commit b2ecdc3d577171fd71ffc48bdaad57392245fcbe
Author: Translation commit bot 
Date:   Fri Sep 1 05:05:15 2017 +

Update translations for tor-launcher-progress
---
 ku_IQ/progress.dtd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ku_IQ/progress.dtd b/ku_IQ/progress.dtd
index 9ac9ad74f..c6ec769b0 100644
--- a/ku_IQ/progress.dtd
+++ b/ku_IQ/progress.dtd
@@ -1,4 +1,4 @@
 
-
+
 
 

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


[tor-commits] [tor-messenger-build/master] Improve Windows builds (update instantbird/build)

2017-08-31 Thread sukhbir
commit 67cf5ed57e2186a5baace53191450d0be2628ae6
Author: Sukhbir Singh 
Date:   Thu Aug 31 20:27:50 2017 -0400

Improve Windows builds (update instantbird/build)

Changes borrowed from tor-browser-buid.git/projects/firefox/build and
modified for TM builds. This fixes the Windows XP bug (#17469) as well
as other unreported issues which prevented Tor Messenger from starting
on Windows during our testing of the transition to Firefox 52.
---
 projects/instantbird/build  | 24 
 projects/instantbird/mozconfig-windows-i686 |  2 ++
 projects/tor-messenger/build|  5 +
 projects/tor-messenger/config   |  3 +++
 4 files changed, 34 insertions(+)

diff --git a/projects/instantbird/build b/projects/instantbird/build
index a963d19..7813fe2 100644
--- a/projects/instantbird/build
+++ b/projects/instantbird/build
@@ -61,6 +61,24 @@ then
 fi
 
 [% IF c("var/windows") %]
+  # FIXME
+  # Ideally, using LDFLAGS (and e.g. DLLFLAGS for NSS) would be enough to get
+  # all Firefox libraries linked against msvcr100. Alas, this does not hold for
+  # NSPR. Without patching it we get a "missing entry points for _strcmpi in
+  # msvcr100.dll". Now, this should be fixed in rev>=6179 as the def file there
+  # contains a proper patch according to the mingw-w64 developers.
+  # However, even with this patch the _strcmpi issue is still popping up,
+  # probably due to a bug in our current linking setup. The small patch below
+  # is therefore just a workaround which should get fixed but is at least
+  # justified as the signature of _strcmpi and _stricmp is the same, see:
+  # http://msdn.microsoft.com/en-us/library/k59z8dwe.aspx.
+  sed 's/strcmpi/stricmp/' -i mozilla/nsprpub/pr/src/linking/prlink.c
+  export HOST_LDFLAGS=" "
+  export LDFLAGS="-specs=/var/tmp/dist/mingw-w64/msvcr100.spec"
+  # Our flags don't get passed to NSS. We need to do that manually using an
+  # obscure one.
+  export DLLFLAGS="-specs=/var/tmp/dist/mingw-w64/msvcr100.spec"
+
   # Make sure widl is not inserting random timestamps, see #21837.
   export WIDL_TIME_OVERRIDE="0"
 [% END %]
@@ -78,8 +96,13 @@ echo ac_add_options --with-tor-browser-version='[% 
c("var/tormessenger_version")
 ./mozilla/mach package
 
 mkdir -p [% dest_dir _ '/' _ c('filename') %]
+
 mv obj-*/dist/instantbird-*.[% c('var/archive_suffix') %] [% dest_dir _ '/' _ 
c('filename') %]/instantbird.[% c('var/archive_suffix') %]
 
+[% IF c("var/windows") %]
+  cp -a $gcclibs/libssp-0.dll [% dest_dir _ '/' _ c('filename') %]/
+[% END %]
+
 MARTOOLS=/var/tmp/dist/mar-tools
 mkdir -p $MARTOOLS
 cp -p mozilla/config/createprecomplete.py $MARTOOLS/
@@ -97,6 +120,7 @@ cp -p obj-*/dist/host/bin/mbsdiff $MARTOOLS/
 [% END -%]
 
 cd /var/tmp/dist
+
 [% c('zip', {
 zip_src => [ 'mar-tools' ],
 zip_args => dest_dir _ '/' _ c('filename') _ '/' _ 
c('var/martools_filename'),
diff --git a/projects/instantbird/mozconfig-windows-i686 
b/projects/instantbird/mozconfig-windows-i686
index b6c46ad..f8e335d 100644
--- a/projects/instantbird/mozconfig-windows-i686
+++ b/projects/instantbird/mozconfig-windows-i686
@@ -1,5 +1,7 @@
 export CROSS_COMPILE=1
 
+mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-mingw
+
 ac_add_options --target=i686-w64-mingw32
 ac_add_options --with-toolchain-prefix=i686-w64-mingw32-
 
diff --git a/projects/tor-messenger/build b/projects/tor-messenger/build
index 338af34..1c11ce7 100755
--- a/projects/tor-messenger/build
+++ b/projects/tor-messenger/build
@@ -16,6 +16,10 @@ mkdir bundle
 [% IF c("var/windows") -%]
 7z x -y -obundle [% c('input_files_by_name/instantbird') %]/instantbird.zip
 mv bundle/instantbird bundle/Browser
+
+cp -a $rootdir/msvcr100.dll bundle/Browser
+cp -a [% c('input_files_by_name/instantbird') %]/libssp-0.dll bundle/Browser
+
 [% ELSE -%]
 mkdir bundle/Browser
 tar xf [% c('input_files_by_name/instantbird') %]/instantbird.tar.bz2 -C 
bundle/Browser --strip 1
@@ -122,6 +126,7 @@ python pe_checksum_fix.py
 mv tor-messenger-install-tmp2.exe tor-messenger-install.exe
 rm tor-messenger-install-tmp.exe
 mv tor-messenger-install.exe $OUTDIR/[% c('var/bundle_filename') %]
+
 [% ELSE -%]
 [% c('tar', {
 tar_src => [ 'tor-messenger' ],
diff --git a/projects/tor-messenger/config b/projects/tor-messenger/config
index d3f15e1..56f1854 100644
--- a/projects/tor-messenger/config
+++ b/projects/tor-messenger/config
@@ -39,6 +39,9 @@ input_files:
   - project: nsis
 name: nsis
 enable: '[% c("var/windows") %]'
+  - URL: https://people.torproject.org/~mikeperry/mirrors/sources/msvcr100.dll
+sha256sum: 1221a09484964a6f38af5e34ee292b9afefccb3dc6e55435fd3aaf7c235d9067
+enable: '[% c("var/windows") %]'
   - project: container-image
 
 var:

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


[tor-commits] [metrics-web/master] Update metrics-lib subproject.

2017-08-31 Thread karsten
commit 58d1c2bf2873de53d3bc39e8006200dfcb26a338
Author: Karsten Loesing 
Date:   Thu Aug 31 21:16:25 2017 +0200

Update metrics-lib subproject.
---
 submods/metrics-lib | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/submods/metrics-lib b/submods/metrics-lib
index 925b4a1..f533c3d 16
--- a/submods/metrics-lib
+++ b/submods/metrics-lib
@@ -1 +1 @@
-Subproject commit 925b4a1f80fbe028d6a5bf711d798c0b5ba8e636
+Subproject commit f533c3d91de39857a0fc0fd5b7cae6239dfeb411

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


[tor-commits] [webwml/master] Fix typo in url in press article

2017-08-31 Thread hiro
commit 72eb2dcfa4b5fa5df5e7591159f1e673d192e32a
Author: hiromipaw 
Date:   Thu Aug 31 18:46:56 2017 +0200

Fix typo in url in press article
---
 press/en/press.wml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/press/en/press.wml b/press/en/press.wml
index 6089c1d4..cb642cb1 100644
--- a/press/en/press.wml
+++ b/press/en/press.wml
@@ -65,7 +65,7 @@ some of the significant Tor-related stories that have popped 
up.
 
 2017 Aug 17
 CNET
-Tor
 Project 'disgusted' by Daily Stormer, defends software ethos
+https://www.cnet.com/g00/news/tor-project-disgusted-by-daily-stormer-defends-software-ethos-nazi-racist;>Tor
 Project 'disgusted' by Daily Stormer, defends software ethos
 
 
 

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


[tor-commits] [webwml/master] Fix typo in press release

2017-08-31 Thread hiro
commit 52aaa12090215e5468419fd04c72aa8c52413409
Author: hiromipaw 
Date:   Thu Aug 31 18:46:01 2017 +0200

Fix typo in press release
---
 press/en/press.wml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/press/en/press.wml b/press/en/press.wml
index 41b57609..6089c1d4 100644
--- a/press/en/press.wml
+++ b/press/en/press.wml
@@ -63,7 +63,8 @@ some of the significant Tor-related stories that have popped 
up.
 
 
 
-2017 Aug 17,CNET
+2017 Aug 17
+CNET
 Tor
 Project 'disgusted' by Daily Stormer, defends software ethos
 
 

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


[tor-commits] [webwml/master] Update press release

2017-08-31 Thread hiro
commit a74316fe9095a52ae9888324720305cdc9c5ac9d
Author: hiromipaw 
Date:   Thu Aug 31 18:26:45 2017 +0200

Update press release
---
 press/en/press.wml | 23 +++
 1 file changed, 23 insertions(+)

diff --git a/press/en/press.wml b/press/en/press.wml
index 7d0ac691..41b57609 100644
--- a/press/en/press.wml
+++ b/press/en/press.wml
@@ -51,6 +51,29 @@ some of the significant Tor-related stories that have popped 
up.
 
 
 
+2017 Aug 30
+Motherboard
+https://motherboard.vice.com/amp/en_us/article/vbbjxm/here-are-the-41-websites-you-cant-access-in-cuba;>Here
 Are the 41 Websites You Can't Access in Cuba
+
+
+
+2017 Aug 18
+Fast Company
+https://www.fastcompany.com/40455652/the-tor-project-wont-censor-the-daily-stormer-heres-why;>The
 Tor Project won't censor the Daily Stormer - here's why
+
+
+
+2017 Aug 17,CNET
+Tor
 Project 'disgusted' by Daily Stormer, defends software ethos
+
+
+
+2017 Jul 29
+The Register
+https://www.theregister.co.uk/2017/07/29/tor_dark_web/;>Dark web 
doesn't exist
+
+
+
 2017 Jul 20
 Venture Beat
 https://venturebeat.com/2017/07/20/the-tor-project-launches-its-first-public-bug-bounty-program-through-hackerone/;>Tor
 Project Opens Bug The Tor Project launches its first public bug bounty program 
through HackerOne

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


[tor-commits] [onionoo/release] Limit Onionoo's listening to localhost.

2017-08-31 Thread karsten
commit bd86130b0608ee9fb3cb17e8dd180af752a80465
Author: iwakeh 
Date:   Tue Aug 22 07:41:02 2017 +

Limit Onionoo's listening to localhost.

Implements task-23211.
---
 INSTALL.md   | 5 +
 src/main/resources/jetty.xml | 1 +
 2 files changed, 6 insertions(+)

diff --git a/INSTALL.md b/INSTALL.md
index 4c650bb..6980a06 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -117,6 +117,11 @@ By default, Onionoo is configured to run the updater 
hourly and provide the
 web pages on http://localhost:8080/.  The exact timing for the hourly update
 runs is logged at start-up.
 
+Onionoo's Jetty configuration is done in 'jetty.xml', which can be replaced
+in the war-file.
+All configuration options can be found at
+```http://www.eclipse.org/jetty/documentation/```
+The build.xml file contains Onionoo's current jetty version.
 
 ### Performing the initial run
 
diff --git a/src/main/resources/jetty.xml b/src/main/resources/jetty.xml
index f2dce3d..3e53131 100644
--- a/src/main/resources/jetty.xml
+++ b/src/main/resources/jetty.xml
@@ -27,6 +27,7 @@
   
 
 8080
+127.0.0.1
   
 
   



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


[tor-commits] [onionoo/master] Bump version to 4.1-1.4.1-dev.

2017-08-31 Thread karsten
commit 99723185a504562a55d5f192b8f264147af9ae6c
Author: Karsten Loesing 
Date:   Thu Aug 31 17:02:54 2017 +0200

Bump version to 4.1-1.4.1-dev.
---
 build.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build.xml b/build.xml
index 921768f..b807e18 100644
--- a/build.xml
+++ b/build.xml
@@ -10,7 +10,7 @@
   
   
   
+value="${onionoo.protocol.version}-1.4.1-dev"/>
   
   
   https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [onionoo/release] Add system property for all paths.

2017-08-31 Thread karsten
commit 14f6192ec88971dbd42ad1cc59e271c029a5646e
Author: iwakeh 
Date:   Tue Aug 22 07:41:02 2017 +

Add system property for all paths.

The system property is 'onionoo.basedir'.  If not set, backwards compatible
defaults apply.  Implements task-14201.
---
 CHANGELOG.md | 4 
 src/main/java/org/torproject/onionoo/cron/Main.java  | 3 +--
 src/main/java/org/torproject/onionoo/server/NodeIndexer.java | 7 +++
 src/main/resources/web.xml   | 5 -
 4 files changed, 8 insertions(+), 11 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index e028dd1..9538287 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,6 +9,10 @@
- Switch from our own CollecTor downloader to metrics-lib's
  DescriptorCollector.
 
+ * Minor changes
+   - Add a new Java property "onionoo.basedir" to re-configure the
+ base directory used by the web server component.
+
 
 # Changes in version 4.0-1.3.0 - 2017-08-04
 
diff --git a/src/main/java/org/torproject/onionoo/cron/Main.java 
b/src/main/java/org/torproject/onionoo/cron/Main.java
index 685da35..f6f7099 100644
--- a/src/main/java/org/torproject/onionoo/cron/Main.java
+++ b/src/main/java/org/torproject/onionoo/cron/Main.java
@@ -22,8 +22,7 @@ import java.util.concurrent.TimeUnit;
 /* Update search data and status data files. */
 public class Main implements Runnable {
 
-  private Main() {
-  }
+  private Main() {}
 
   private Logger log = LoggerFactory.getLogger(Main.class);
 
diff --git a/src/main/java/org/torproject/onionoo/server/NodeIndexer.java 
b/src/main/java/org/torproject/onionoo/server/NodeIndexer.java
index 7ed9ea6..db13ed9 100644
--- a/src/main/java/org/torproject/onionoo/server/NodeIndexer.java
+++ b/src/main/java/org/torproject/onionoo/server/NodeIndexer.java
@@ -20,7 +20,6 @@ import java.util.SortedMap;
 import java.util.SortedSet;
 import java.util.TreeMap;
 
-import javax.servlet.ServletContext;
 import javax.servlet.ServletContextEvent;
 import javax.servlet.ServletContextListener;
 
@@ -31,11 +30,11 @@ public class NodeIndexer implements ServletContextListener, 
Runnable {
 
   @Override
   public void contextInitialized(ServletContextEvent contextEvent) {
-ServletContext servletContext = contextEvent.getServletContext();
-File outDir = new File(servletContext.getInitParameter("outDir"));
+File outDir = new File(System.getProperty("onionoo.basedir",
+"/srv/onionoo.torproject.org/onionoo"), "out");
 if (!outDir.exists() || !outDir.isDirectory()) {
   log.error("\n\n\tOut-dir not found! Expected directory: " + outDir
-  + "\n\tVerify the configuration in ./etc/web.xml.template");
+  + "\n\tSet system property 'onionoo.basedir'.");
   System.exit(1);
 }
 DocumentStore documentStore = DocumentStoreFactory.getDocumentStore();
diff --git a/src/main/resources/web.xml b/src/main/resources/web.xml
index cefdfae..da1431b 100644
--- a/src/main/resources/web.xml
+++ b/src/main/resources/web.xml
@@ -41,11 +41,6 @@
 /uptime
   
 
-  
-outDir
-/srv/onionoo.torproject.org/onionoo/out/
-  
-
   
 
   org.torproject.onionoo.server.NodeIndexer



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


[tor-commits] [onionoo/release] Fix possible NPE and make tests pass again.

2017-08-31 Thread karsten
commit b2b1bf1d0b2bce7748386b3ecdafec7391890fe6
Author: iwakeh 
Date:   Wed Aug 30 20:37:37 2017 +

Fix possible NPE and make tests pass again.

Also, added error logging for indexing process.
---
 .../org/torproject/onionoo/server/NodeIndexer.java | 30 +-
 1 file changed, 18 insertions(+), 12 deletions(-)

diff --git a/src/main/java/org/torproject/onionoo/server/NodeIndexer.java 
b/src/main/java/org/torproject/onionoo/server/NodeIndexer.java
index db13ed9..5411d0e 100644
--- a/src/main/java/org/torproject/onionoo/server/NodeIndexer.java
+++ b/src/main/java/org/torproject/onionoo/server/NodeIndexer.java
@@ -91,7 +91,7 @@ public class NodeIndexer implements ServletContextListener, 
Runnable {
* background thread. */
   public synchronized void startIndexing() {
 if (this.nodeIndexerThread == null) {
-  this.nodeIndexerThread = new Thread(this);
+  this.nodeIndexerThread = new Thread(this, "Onionoo-Node-Indexer");
   this.nodeIndexerThread.setDaemon(true);
   this.nodeIndexerThread.start();
 }
@@ -103,14 +103,18 @@ public class NodeIndexer implements 
ServletContextListener, Runnable {
 
   @Override
   public void run() {
-while (this.nodeIndexerThread != null) {
-  this.indexNodeStatuses();
-  try {
-Thread.sleep(ONE_MINUTE);
-  } catch (InterruptedException e) {
-/* Nothing that we could handle, just check if there's new data
- * to index now. */
+try {
+  while (this.nodeIndexerThread != null) {
+this.indexNodeStatuses();
+try {
+  Thread.sleep(ONE_MINUTE);
+} catch (InterruptedException e) {
+  /* Nothing that we could handle, just check if there's new data
+   * to index now. */
+}
   }
+} catch (Throwable th) { // catch all and log
+  log.error("Indexing failed: {}", th.getMessage(), th);
 }
   }
 
@@ -247,11 +251,13 @@ public class NodeIndexer implements 
ServletContextListener, Runnable {
   newRelaysByContact.get(contact).add(fingerprint);
   newRelaysByContact.get(contact).add(hashedFingerprint);
   String version = entry.getVersion();
-  if (!newRelaysByVersion.containsKey(version)) {
-newRelaysByVersion.put(version, new HashSet());
+  if (null != version) {
+if (!newRelaysByVersion.containsKey(version)) {
+  newRelaysByVersion.put(version, new HashSet());
+}
+newRelaysByVersion.get(version).add(fingerprint);
+newRelaysByVersion.get(version).add(hashedFingerprint);
   }
-  newRelaysByVersion.get(version).add(fingerprint);
-  newRelaysByVersion.get(version).add(hashedFingerprint);
 }
 /* This loop can go away once all Onionoo services had their hourly
  * updater write effective families to summary documents at least



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


[tor-commits] [onionoo/release] Prepare for 4.1-1.4.0 release.

2017-08-31 Thread karsten
commit b3bb600f3495603ea4f13e94d9b99556c0be9dc0
Author: Karsten Loesing 
Date:   Wed Aug 30 22:35:48 2017 +0200

Prepare for 4.1-1.4.0 release.
---
 CERT   | 18 +-
 CHANGELOG.md   |  6 +++---
 build.xml  |  2 +-
 .../org/torproject/onionoo/server/ResponseBuilder.java |  2 +-
 4 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/CERT b/CERT
index 6cc5a93..d94c0c3 100644
--- a/CERT
+++ b/CERT
@@ -1,8 +1,8 @@
 -BEGIN CERTIFICATE-
-MIIDaTCCAlGgAwIBAgIEYQnM/zANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQGEwJV
+MIIDaTCCAlGgAwIBAgIEZTniETANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQGEwJV
 UzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxHTAbBgNVBAoTFFRoZSBU
 b3IgUHJvamVjdCwgSW5jMRgwFgYDVQQDEw9LYXJzdGVuIExvZXNpbmcwHhcNMTcw
-MTAyMTYzNTQ2WhcNMTcwNDAyMTYzNTQ2WjBlMQswCQYDVQQGEwJVUzELMAkGA1UE
+ODE3MTg1MDQ0WhcNMTcxMTE1MTg1MDQ0WjBlMQswCQYDVQQGEwJVUzELMAkGA1UE
 CBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxHTAbBgNVBAoTFFRoZSBUb3IgUHJvamVj
 dCwgSW5jMRgwFgYDVQQDEw9LYXJzdGVuIExvZXNpbmcwggEiMA0GCSqGSIb3DQEB
 AQUAA4IBDwAwggEKAoIBAQChXn+IUp+o6G+k4ffxk3TkxZb3iXfiG7byNsG63olU
@@ -11,11 +11,11 @@ 
Qw+VAhKTcEIv4yiR0BWapQyR07pgmKirYVjN6s6ef8NJzUptpxLlaYJ3ZfQfc4aE
 MXzScgaccwDFIWQ661lzLGCfeSxxa3Xy4wWsGwzNzLITYrrABcbg7yogLo2btNvD
 oEwGL3/baQdhl0dra6biVCZr9ydn3Hg57S55pUU0rBY25id78zUO8xrfNHw54wwX
 lOblGt75OOkahP/ZZSBxxoiknJ6y5VQV8y+noA4vigXFAgMBAAGjITAfMB0GA1Ud
-DgQWBBSeh60M+/wMYyYhlxtuff2Hk9n7bzANBgkqhkiG9w0BAQsFAAOCAQEAi2K5
-o3UnRBLdk9zkBEDbqPWxq8eiiIacbSoorspVlv4vqNO2UsTLc2sA4zZpY1L7Mkc6
-y7pcd1jFc6e9Wzt0agoIU9i3pyqkUx11ktE8a8CiVjDOns05GHe1DsLYcSLG8aJR
-2pNEFjZEndHTXGRKwxtTmHimsIIWiy8tYFkC7SkBQj+BnXBqzCbJPhRDpMdhyJmQ
-CLUhTTgU30G32x3vOhddWHAH8UDsXNlBASQOFs+A/1Mx5DI5AXLtwjp/rweTWoBk
-11SfkVS/mfMZNRGOA9DEfoRYHPT0Rn4URAQrBr73CKQaVVYyeuDOoEs69KRH2JSO
-IRcgAfpjtg8cry/eiw==
+DgQWBBSeh60M+/wMYyYhlxtuff2Hk9n7bzANBgkqhkiG9w0BAQsFAAOCAQEAbsAc
+gwl5KJH3pVKw4b+ACCOMgW+27MisCFbT1Izq2Wx+JcLMt3N//MoIpYOZWhsIeazW
+/NE0fNbkLi0IYA0F1nUC9pHl44Hd8Gjfqa/YQUi9ALtgsY7l6W0sceW8WnZ8bu8J
+DfrqnmB0bD2xc9ZjOn58al8dVjVWs95M87D9WCRU6LiaKFj5c45wciABQsTmC0qD
+pyHYOaSGtXxXKDw5pAntdtHkCbowV5tDi/QQ8Tg7i5O7xwSh71Q7TZiNFMpLomBL
+QllHfTZryFmoHyGn5MfngBUVCVHig5nXmk0dUMGuLiK4789dkgiPRz0vpB5Yf8Yy
+CCE2jB6VBi2g5fMx0w==
 -END CERTIFICATE-
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9538287..20ddb1c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,4 @@
-# Changes in version 4.1-1.?.? - 2017-0?-??
+# Changes in version 4.1-1.4.0 - 2017-08-30
 
  * Medium changes
- Reset IPv6 exit-policy summary in details status if a newer
@@ -6,10 +6,10 @@
- Remove optional fields "countries", "transports", and "versions"
  from clients objects which were still labeled as beta.
- Add new "version" parameter to filter for Tor version.
-   - Switch from our own CollecTor downloader to metrics-lib's
- DescriptorCollector.
 
  * Minor changes
+   - Switch from our own CollecTor downloader to metrics-lib's
+ DescriptorCollector.
- Add a new Java property "onionoo.basedir" to re-configure the
  base directory used by the web server component.
 
diff --git a/build.xml b/build.xml
index 24010dd..41f11c0 100644
--- a/build.xml
+++ b/build.xml
@@ -10,7 +10,7 @@
   
   
   
+value="${onionoo.protocol.version}-1.4.0"/>
   
   
   https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [onionoo/release] Switch to metrics-lib's DescriptorCollector.

2017-08-31 Thread karsten
commit 32992eea202770065b4cb61d4dc39bbee1b87628
Author: Karsten Loesing 
Date:   Wed May 17 15:58:22 2017 +0200

Switch to metrics-lib's DescriptorCollector.

Implements #22287.
---
 CHANGELOG.md   |   2 +
 .../onionoo/updater/DescriptorDownloader.java  | 184 -
 .../onionoo/updater/DescriptorSource.java  |  41 ++---
 3 files changed, 13 insertions(+), 214 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index bb38dd0..e028dd1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,8 @@
- Remove optional fields "countries", "transports", and "versions"
  from clients objects which were still labeled as beta.
- Add new "version" parameter to filter for Tor version.
+   - Switch from our own CollecTor downloader to metrics-lib's
+ DescriptorCollector.
 
 
 # Changes in version 4.0-1.3.0 - 2017-08-04
diff --git 
a/src/main/java/org/torproject/onionoo/updater/DescriptorDownloader.java 
b/src/main/java/org/torproject/onionoo/updater/DescriptorDownloader.java
deleted file mode 100644
index 1e41f25..000
--- a/src/main/java/org/torproject/onionoo/updater/DescriptorDownloader.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/* Copyright 2016--2017 The Tor Project
- * See LICENSE for licensing information */
-
-package org.torproject.onionoo.updater;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.util.SortedSet;
-import java.util.TreeSet;
-import java.util.zip.GZIPInputStream;
-
-class DescriptorDownloader {
-
-  private static Logger log = LoggerFactory.getLogger(
-  DescriptorDownloader.class);
-
-  private final String protocolHostNameResourcePrefix =
-  "https://collector.torproject.org/recent/;;
-
-  private String directory;
-
-  private final File inDir = new File("in/recent");
-
-  public DescriptorDownloader(DescriptorType descriptorType) {
-switch (descriptorType) {
-  case RELAY_CONSENSUSES:
-this.directory = "relay-descriptors/consensuses/";
-break;
-  case RELAY_SERVER_DESCRIPTORS:
-this.directory = "relay-descriptors/server-descriptors/";
-break;
-  case RELAY_EXTRA_INFOS:
-this.directory = "relay-descriptors/extra-infos/";
-break;
-  case EXIT_LISTS:
-this.directory = "exit-lists/";
-break;
-  case BRIDGE_STATUSES:
-this.directory = "bridge-descriptors/statuses/";
-break;
-  case BRIDGE_SERVER_DESCRIPTORS:
-this.directory = "bridge-descriptors/server-descriptors/";
-break;
-  case BRIDGE_EXTRA_INFOS:
-this.directory = "bridge-descriptors/extra-infos/";
-break;
-  default:
-log.error("Unknown descriptor type.");
-return;
-}
-  }
-
-  private SortedSet localFiles = new TreeSet<>();
-
-  public int statLocalFiles() {
-File localDirectory = new File(this.inDir, this.directory);
-if (localDirectory.exists()) {
-  for (File file : localDirectory.listFiles()) {
-this.localFiles.add(file.getName());
-  }
-}
-return this.localFiles.size();
-  }
-
-  private SortedSet remoteFiles = new TreeSet<>();
-
-  public int fetchRemoteDirectory() {
-String directoryUrl = this.protocolHostNameResourcePrefix
-+ this.directory;
-try {
-  URL url = new URL(directoryUrl);
-  HttpURLConnection huc = (HttpURLConnection) url.openConnection();
-  huc.setRequestMethod("GET");
-  huc.connect();
-  if (huc.getResponseCode() != 200) {
-log.error("Could not fetch " + directoryUrl
-+ ": " + huc.getResponseCode() + " "
-+ huc.getResponseMessage() + ".  Skipping.");
-return 0;
-  }
-  try (BufferedReader br = new BufferedReader(new InputStreamReader(
-  huc.getInputStream( {
-String line;
-while ((line = br.readLine()) != null) {
-  if (!line.trim().startsWith("")
-  || !line.contains("= 0) {
-bos.write(data, 0, len);
-  }
-}
-localTempFile.renameTo(localFile);
-long lastModified = huc.getHeaderFieldDate("Last-Modified", -1L);
-if (lastModified >= 0) {
-  localFile.setLastModified(lastModified);
-}
-fetchedFiles++;
-  } catch (IOException e) {
-log.error("Could not fetch or store \n\t" + fileUrl
-+ ".  Skipping.\n\tReason: " + e.getMessage());
-  }
-}
-return fetchedFiles;
-  }
-
-  public int deleteOldLocalFiles() {
-int deletedFiles = 0;
-for (String localFile : this.localFiles) {
-  if (!this.remoteFiles.contains(localFile)) 

[tor-commits] [onionoo/release] Bump version to 4.0-1.3.0-dev.

2017-08-31 Thread karsten
commit 9938b622ae833069b513f86a738e4436fc4d8833
Author: Karsten Loesing 
Date:   Tue Aug 8 10:50:42 2017 +0200

Bump version to 4.0-1.3.0-dev.
---
 build.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build.xml b/build.xml
index ef3ae50..a139d4e 100644
--- a/build.xml
+++ b/build.xml
@@ -10,7 +10,7 @@
   
   
   
+value="${onionoo.protocol.version}-1.3.0-dev"/>
   
   
   https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [onionoo/release] Prepare for 4.1-1.4.1 release.

2017-08-31 Thread karsten
commit bfc7e2e33dd9f371c8cd801bb7df099c3fca15dd
Author: Karsten Loesing 
Date:   Thu Aug 31 15:39:02 2017 +0200

Prepare for 4.1-1.4.1 release.
---
 CHANGELOG.md | 7 +++
 build.xml| 2 +-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 20ddb1c..cf75ee8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,10 @@
+# Changes in version 4.1-1.4.1 - 2017-08-31
+
+ * Medium changes
+   - Fix a NullPointerException in the recently added "version"
+ parameter.
+
+
 # Changes in version 4.1-1.4.0 - 2017-08-30
 
  * Medium changes
diff --git a/build.xml b/build.xml
index 41f11c0..921768f 100644
--- a/build.xml
+++ b/build.xml
@@ -10,7 +10,7 @@
   
   
   
+value="${onionoo.protocol.version}-1.4.1"/>
   
   
   https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [onionoo/release] Reset IPv6 exit-policy summary in details status.

2017-08-31 Thread karsten
commit 6d23a7ce43e5d88cff132cacd38206ebb5d7e62c
Author: Karsten Loesing 
Date:   Mon May 29 09:32:48 2017 +0200

Reset IPv6 exit-policy summary in details status.

Fixes #22030.
---
 CHANGELOG.md   | 7 +++
 .../org/torproject/onionoo/updater/NodeDetailsStatusUpdater.java   | 2 ++
 2 files changed, 9 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index b2922d9..8412f87 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,10 @@
+# Changes in version 4.0-1.?.? - 2017-0?-??
+
+ * Medium changes
+   - Reset IPv6 exit-policy summary in details status if a newer
+ server descriptor doesn't contain such a summary anymore.
+
+
 # Changes in version 4.0-1.3.0 - 2017-08-04
 
  * Medium changes
diff --git 
a/src/main/java/org/torproject/onionoo/updater/NodeDetailsStatusUpdater.java 
b/src/main/java/org/torproject/onionoo/updater/NodeDetailsStatusUpdater.java
index 8172cb7..cc50f4b 100644
--- a/src/main/java/org/torproject/onionoo/updater/NodeDetailsStatusUpdater.java
+++ b/src/main/java/org/torproject/onionoo/updater/NodeDetailsStatusUpdater.java
@@ -196,6 +196,8 @@ public class NodeDetailsStatusUpdater implements 
DescriptorListener,
   exitPolicyV6Summary.put(descriptor.getIpv6DefaultPolicy(),
   portsOrPortRanges);
   detailsStatus.setExitPolicyV6Summary(exitPolicyV6Summary);
+} else {
+  detailsStatus.setExitPolicyV6Summary(null);
 }
 detailsStatus.setHibernating(descriptor.isHibernating() ? true :
 null);



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


[tor-commits] [onionoo/release] Use StringBuilder consistently.

2017-08-31 Thread karsten
commit 5d9ee5033a423747ce816d6f791489b8548aaec9
Author: iwakeh 
Date:   Tue Aug 8 08:01:33 2017 +

Use StringBuilder consistently.
---
 .../org/torproject/onionoo/docs/NodeStatus.java| 46 +++---
 1 file changed, 24 insertions(+), 22 deletions(-)

diff --git a/src/main/java/org/torproject/onionoo/docs/NodeStatus.java 
b/src/main/java/org/torproject/onionoo/docs/NodeStatus.java
index 759d83e..2943601 100644
--- a/src/main/java/org/torproject/onionoo/docs/NodeStatus.java
+++ b/src/main/java/org/torproject/onionoo/docs/NodeStatus.java
@@ -580,9 +580,9 @@ public class NodeStatus extends Document {
   public String toString() {
 StringBuilder sb = new StringBuilder();
 sb.append(this.isRelay ? "r" : "b");
-sb.append("\t" + this.nickname);
-sb.append("\t" + this.fingerprint);
-sb.append("\t" + this.address + ";");
+sb.append("\t").append(this.nickname);
+sb.append("\t").append(this.fingerprint);
+sb.append("\t").append(this.address).append(";");
 if (this.orAddressesAndPorts != null) {
   sb.append(StringUtils.join(this.orAddressesAndPorts, "+"));
 }
@@ -590,40 +590,42 @@ public class NodeStatus extends Document {
 if (this.isRelay) {
   sb.append(StringUtils.join(this.exitAddresses, "+"));
 }
-sb.append("\t" + DateTimeHelper.format(this.lastSeenMillis,
+sb.append("\t").append(DateTimeHelper.format(this.lastSeenMillis,
 DateTimeHelper.ISO_DATETIME_TAB_FORMAT));
-sb.append("\t" + this.orPort);
-sb.append("\t" + this.dirPort + "\t");
+sb.append("\t").append(this.orPort);
+sb.append("\t").append(this.dirPort).append("\t");
 sb.append(StringUtils.join(this.getRelayFlags(), ","));
 if (this.isRelay) {
-  sb.append("\t" + String.valueOf(this.consensusWeight));
-  sb.append("\t"
-  + (this.countryCode != null ? this.countryCode : "??"));
+  sb.append("\t").append(String.valueOf(this.consensusWeight));
+  sb.append("\t")
+  .append((this.countryCode != null ? this.countryCode : "??"));
   sb.append("\t"); /* formerly used for storing host names */
-  sb.append("\t" + String.valueOf(this.lastRdnsLookup));
-  sb.append("\t" + (this.defaultPolicy != null ? this.defaultPolicy
-  : "null"));
-  sb.append("\t" + (this.portList != null ? this.portList : "null"));
+  sb.append("\t").append(String.valueOf(this.lastRdnsLookup));
+  sb.append("\t").append((this.defaultPolicy != null
+  ? this.defaultPolicy : "null"));
+  sb.append("\t").append((this.portList != null ? this.portList : "null"));
 } else {
   sb.append("\t-1\t??\t\t-1\tnull\tnull");
 }
-sb.append("\t" + DateTimeHelper.format(this.firstSeenMillis,
+sb.append("\t").append(DateTimeHelper.format(this.firstSeenMillis,
 DateTimeHelper.ISO_DATETIME_TAB_FORMAT));
 if (this.isRelay) {
-  sb.append("\t" + DateTimeHelper.format(
+  sb.append("\t").append(DateTimeHelper.format(
   this.getLastChangedOrAddressOrPort(),
   DateTimeHelper.ISO_DATETIME_TAB_FORMAT));
-  sb.append("\t" + (this.asNumber != null ? this.asNumber : "null"));
+  sb.append("\t").append((this.asNumber != null ? this.asNumber : "null"));
 } else {
   sb.append("\tnull\tnull\tnull");
 }
-sb.append("\t" + (this.contact != null ? this.contact : ""));
-sb.append("\t" + (this.recommendedVersion == null ? "null" :
+sb.append("\t").append((this.contact != null ? this.contact : ""));
+sb.append("\t").append((this.recommendedVersion == null ? "null" :
 this.recommendedVersion ? "true" : "false"));
-sb.append("\t" + StringUtils.join(this.getAllegedFamily(), ";") + ":"
-+ StringUtils.join(this.getEffectiveFamily(), ";") + ":"
-+ StringUtils.join(this.getIndirectFamily(), ";"));
-sb.append("\t" + (this.getVersion() != null ? this.getVersion() : ""));
+sb.append("\t").append(StringUtils.join(this.getAllegedFamily(), ";"))
+.append(":")
+.append(StringUtils.join(this.getEffectiveFamily(), ";")).append(":")
+.append(StringUtils.join(this.getIndirectFamily(), ";"));
+sb.append("\t")
+.append((this.getVersion() != null ? this.getVersion() : ""));
 return sb.toString();
   }
 }



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


[tor-commits] [onionoo/release] Add test that reproduces NPE.

2017-08-31 Thread karsten
commit 2eead2a12ff350d66e5713d105d50e8d8cd287b3
Author: iwakeh 
Date:   Wed Aug 30 20:37:35 2017 +

Add test that reproduces NPE.

The timeouts are ncessary, when something unforseen makes the
NodeIndexer.getLatestNodeIndex wait forever.
---
 .../onionoo/server/ResourceServletTest.java| 370 ++---
 1 file changed, 185 insertions(+), 185 deletions(-)

diff --git 
a/src/test/java/org/torproject/onionoo/server/ResourceServletTest.java 
b/src/test/java/org/torproject/onionoo/server/ResourceServletTest.java
index 4ebf0d2..303cf21 100644
--- a/src/test/java/org/torproject/onionoo/server/ResourceServletTest.java
+++ b/src/test/java/org/torproject/onionoo/server/ResourceServletTest.java
@@ -155,7 +155,7 @@ public class ResourceServletTest {
 new TreeSet(Arrays.asList(new String[] {
 "000C5F55BD4814B917CC474BD537F1A3B33CCE2A" })),
 new TreeSet<>(Arrays.asList(new String[] {
-"000C5F55BD4814B917CC474BD537F1A3B33CCE2A" })), "0.2.3.24-rc-dev");
+"000C5F55BD4814B917CC474BD537F1A3B33CCE2A" })), null);
 this.relays = new TreeMap<>();
 this.relays.put("000C5F55BD4814B917CC474BD537F1A3B33CCE2A",
 relayTorkaZ);
@@ -367,7 +367,7 @@ public class ResourceServletTest {
 private boolean r;
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testValidSummaryRelay() throws IOException {
 this.runTest("/summary");
 assertEquals("2013-04-24 12:00:00",
@@ -387,7 +387,7 @@ public class ResourceServletTest {
 assertFalse(relay.r);
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testValidSummaryBridge() {
 this.runTest("/summary");
 assertEquals("2013-04-24 01:07:04",
@@ -405,519 +405,519 @@ public class ResourceServletTest {
 assertFalse(bridge.r);
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testNonExistantDocumentType() {
 this.assertErrorStatusCode(
 "/doesnotexist", 400);
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testSummaryUpperCaseDocument() {
 this.assertErrorStatusCode(
 "/SUMMARY", 400);
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testTypeRelay() {
 this.assertSummaryDocument(
 "/summary?type=relay", 3, null, 0, null);
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testTypeBridge() {
 this.assertSummaryDocument(
 "/summary?type=bridge", 0, null, 3, null);
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testTypeBridgerelay() {
 this.assertErrorStatusCode(
 "/summary?type=bridgerelay", 400);
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testTypeRelayBridge() {
 this.assertSummaryDocument(
 "/summary?type=relay=bridge", 3, null, 0, null);
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testTypeBridgeRelay() {
 this.assertSummaryDocument(
 "/summary?type=bridge=relay", 0, null, 3, null);
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testTypeRelayRelay() {
 this.assertSummaryDocument(
 "/summary?type=relay=relay", 3, null, 0, null);
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testTypeUpperCaseRelay() {
 this.assertErrorStatusCode(
 "/summary?TYPE=relay", 400);
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testTypeRelayUpperCase() {
 this.assertSummaryDocument(
 "/summary?type=RELAY", 3, null, 0, null);
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testRunningTrue() {
 this.assertSummaryDocument(
 "/summary?running=true", 1, new String[] { "Ferrari458" }, 1,
 new String[] { "gummy" });
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testRunningFalse() {
 this.assertSummaryDocument(
 "/summary?running=false", 2, null, 2, null);
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testRunningTruefalse() {
 this.assertErrorStatusCode(
 "/summary?running=truefalse", 400);
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testRunningTrueFalse() {
 this.assertSummaryDocument(
 "/summary?running=true=false", 1,
 new String[] { "Ferrari458" }, 1,  new String[] { "gummy" });
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testRunningFalseTrue() {
 this.assertSummaryDocument(
 "/summary?running=false=true", 2, null, 2, null);
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testRunningTrueTrue() {
 this.assertSummaryDocument(
 "/summary?running=true=true", 1,
 new String[] { "Ferrari458" }, 1, new String[] { "gummy" });
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testRunningUpperCaseTrue() {
 this.assertErrorStatusCode(
 "/summary?RUNNING=true", 400);
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testRunningTrueUpperCase() {
 this.assertSummaryDocument(
 "/summary?running=TRUE", 1, null, 1, null);
   }
 
-  @Test()
+  @Test(timeout = 100)
   public 

[tor-commits] [onionoo/release] Add change log entry and bump protocol version.

2017-08-31 Thread karsten
commit cdf8fa8daced0ecf364eae4fcd8a600ebe91e475
Author: Karsten Loesing 
Date:   Tue Aug 29 11:59:50 2017 +0200

Add change log entry and bump protocol version.
---
 CHANGELOG.md | 1 +
 build.xml| 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index acfe8df..bb38dd0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,7 @@
  server descriptor doesn't contain such a summary anymore.
- Remove optional fields "countries", "transports", and "versions"
  from clients objects which were still labeled as beta.
+   - Add new "version" parameter to filter for Tor version.
 
 
 # Changes in version 4.0-1.3.0 - 2017-08-04
diff --git a/build.xml b/build.xml
index a139d4e..24010dd 100644
--- a/build.xml
+++ b/build.xml
@@ -8,7 +8,7 @@
 
   
   
-  
+  
   
   



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


[tor-commits] [onionoo/release] Remove extraneous (BETA) fields from clients objects.

2017-08-31 Thread karsten
commit 23bf1292718eac23c4c09daf0c2d10dcda333ca5
Author: Karsten Loesing 
Date:   Tue Aug 22 09:39:34 2017 +0200

Remove extraneous (BETA) fields from clients objects.

This change deserves a minor protocol version update to 4.1.

Implements #22033.
---
 CHANGELOG.md   |   4 +-
 .../torproject/onionoo/docs/ClientsDocument.java   |   4 +-
 .../onionoo/docs/ClientsGraphHistory.java  | 102 -
 .../onionoo/writer/ClientsDocumentWriter.java  |  74 +--
 4 files changed, 10 insertions(+), 174 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8412f87..acfe8df 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,8 +1,10 @@
-# Changes in version 4.0-1.?.? - 2017-0?-??
+# Changes in version 4.1-1.?.? - 2017-0?-??
 
  * Medium changes
- Reset IPv6 exit-policy summary in details status if a newer
  server descriptor doesn't contain such a summary anymore.
+   - Remove optional fields "countries", "transports", and "versions"
+ from clients objects which were still labeled as beta.
 
 
 # Changes in version 4.0-1.3.0 - 2017-08-04
diff --git a/src/main/java/org/torproject/onionoo/docs/ClientsDocument.java 
b/src/main/java/org/torproject/onionoo/docs/ClientsDocument.java
index 2cc69c0..0b625b0 100644
--- a/src/main/java/org/torproject/onionoo/docs/ClientsDocument.java
+++ b/src/main/java/org/torproject/onionoo/docs/ClientsDocument.java
@@ -16,10 +16,10 @@ public class ClientsDocument extends Document {
   }
 
   @SuppressWarnings("unused")
-  private Map average_clients;
+  private Map average_clients;
 
   public void setAverageClients(
-  Map averageClients) {
+  Map averageClients) {
 this.average_clients = averageClients;
   }
 }
diff --git a/src/main/java/org/torproject/onionoo/docs/ClientsGraphHistory.java 
b/src/main/java/org/torproject/onionoo/docs/ClientsGraphHistory.java
deleted file mode 100644
index 6b2bd3d..000
--- a/src/main/java/org/torproject/onionoo/docs/ClientsGraphHistory.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/* Copyright 2014--2017 The Tor Project
- * See LICENSE for licensing information */
-
-package org.torproject.onionoo.docs;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.SortedMap;
-
-public class ClientsGraphHistory {
-
-  private String first;
-
-  public void setFirst(long first) {
-this.first = DateTimeHelper.format(first);
-  }
-
-  public long getFirst() {
-return DateTimeHelper.parse(this.first);
-  }
-
-  private String last;
-
-  public void setLast(long last) {
-this.last = DateTimeHelper.format(last);
-  }
-
-  public long getLast() {
-return DateTimeHelper.parse(this.last);
-  }
-
-  private Integer interval;
-
-  public void setInterval(Integer interval) {
-this.interval = interval;
-  }
-
-  public Integer getInterval() {
-return this.interval;
-  }
-
-  private Double factor;
-
-  public void setFactor(Double factor) {
-this.factor = factor;
-  }
-
-  public Double getFactor() {
-return this.factor;
-  }
-
-  private Integer count;
-
-  public void setCount(Integer count) {
-this.count = count;
-  }
-
-  public Integer getCount() {
-return this.count;
-  }
-
-  private List values = new ArrayList<>();
-
-  public void setValues(List values) {
-this.values = values;
-  }
-
-  public List getValues() {
-return this.values;
-  }
-
-  private SortedMap countries;
-
-  public void setCountries(SortedMap countries) {
-this.countries = countries;
-  }
-
-  public SortedMap getCountries() {
-return this.countries;
-  }
-
-  private SortedMap transports;
-
-  public void setTransports(SortedMap transports) {
-this.transports = transports;
-  }
-
-  public SortedMap getTransports() {
-return this.transports;
-  }
-
-  private SortedMap versions;
-
-  public void setVersions(SortedMap versions) {
-this.versions = versions;
-  }
-
-  public SortedMap getVersions() {
-return this.versions;
-  }
-}
-
diff --git 
a/src/main/java/org/torproject/onionoo/writer/ClientsDocumentWriter.java 
b/src/main/java/org/torproject/onionoo/writer/ClientsDocumentWriter.java
index 599ecff..f65a53a 100644
--- a/src/main/java/org/torproject/onionoo/writer/ClientsDocumentWriter.java
+++ b/src/main/java/org/torproject/onionoo/writer/ClientsDocumentWriter.java
@@ -4,12 +4,12 @@
 package org.torproject.onionoo.writer;
 
 import org.torproject.onionoo.docs.ClientsDocument;
-import org.torproject.onionoo.docs.ClientsGraphHistory;
 import org.torproject.onionoo.docs.ClientsHistory;
 import org.torproject.onionoo.docs.ClientsStatus;
 import org.torproject.onionoo.docs.DateTimeHelper;
 import org.torproject.onionoo.docs.DocumentStore;
 

[tor-commits] [onionoo/release] Removed unused imports.

2017-08-31 Thread karsten
commit 19acb651a4b51746e068c5ba403a746b7706bf3e
Author: iwakeh 
Date:   Tue Aug 8 08:01:32 2017 +

Removed unused imports.
---
 src/main/java/org/torproject/onionoo/server/RequestHandler.java  | 3 ---
 src/main/java/org/torproject/onionoo/server/ResourceServlet.java | 2 --
 2 files changed, 5 deletions(-)

diff --git a/src/main/java/org/torproject/onionoo/server/RequestHandler.java 
b/src/main/java/org/torproject/onionoo/server/RequestHandler.java
index 1e08c24..46c2f54 100644
--- a/src/main/java/org/torproject/onionoo/server/RequestHandler.java
+++ b/src/main/java/org/torproject/onionoo/server/RequestHandler.java
@@ -7,9 +7,6 @@ import org.torproject.onionoo.docs.DocumentStore;
 import org.torproject.onionoo.docs.DocumentStoreFactory;
 import org.torproject.onionoo.docs.SummaryDocument;
 
-import java.io.BufferedWriter;
-import java.io.FileWriter;
-import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
diff --git a/src/main/java/org/torproject/onionoo/server/ResourceServlet.java 
b/src/main/java/org/torproject/onionoo/server/ResourceServlet.java
index 164b770..31244c2 100644
--- a/src/main/java/org/torproject/onionoo/server/ResourceServlet.java
+++ b/src/main/java/org/torproject/onionoo/server/ResourceServlet.java
@@ -3,8 +3,6 @@
 
 package org.torproject.onionoo.server;
 
-import java.io.BufferedWriter;
-import java.io.FileWriter;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.ArrayList;



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


[tor-commits] [onionoo/release] Add test for exit policy reset.

2017-08-31 Thread karsten
commit 6473fdc8dcee245370cc5efa411c177bd1d8cfb2
Author: iwakeh 
Date:   Tue Aug 8 08:50:44 2017 +

Add test for exit policy reset.

Test part of task-22030.
---
 .../onionoo/docs/DummyDocumentStore.java   |   2 +-
 .../updater/NodeDetailsStatusUpdaterTest.java  | 142 +
 2 files changed, 143 insertions(+), 1 deletion(-)

diff --git a/src/test/java/org/torproject/onionoo/docs/DummyDocumentStore.java 
b/src/test/java/org/torproject/onionoo/docs/DummyDocumentStore.java
index 4904044..2f8063e 100644
--- a/src/test/java/org/torproject/onionoo/docs/DummyDocumentStore.java
+++ b/src/test/java/org/torproject/onionoo/docs/DummyDocumentStore.java
@@ -12,7 +12,7 @@ import java.util.TreeSet;
 
 public class DummyDocumentStore extends DocumentStore {
 
-  private Map>
+  public Map>
   storedDocuments = new HashMap<>();
 
   private static final String FINGERPRINT_NULL = "";
diff --git 
a/src/test/java/org/torproject/onionoo/updater/NodeDetailsStatusUpdaterTest.java
 
b/src/test/java/org/torproject/onionoo/updater/NodeDetailsStatusUpdaterTest.java
new file mode 100644
index 000..84c1fa6
--- /dev/null
+++ 
b/src/test/java/org/torproject/onionoo/updater/NodeDetailsStatusUpdaterTest.java
@@ -0,0 +1,142 @@
+/* Copyright 2014--2017 The Tor Project
+ * See LICENSE for licensing information */
+
+package org.torproject.onionoo.updater;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import org.torproject.descriptor.Descriptor;
+import org.torproject.descriptor.DescriptorParser;
+import org.torproject.descriptor.DescriptorSourceFactory;
+import org.torproject.descriptor.ServerDescriptor;
+import org.torproject.onionoo.docs.DetailsStatus;
+import org.torproject.onionoo.docs.DocumentStoreFactory;
+import org.torproject.onionoo.docs.DummyDocumentStore;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import java.io.File;
+import java.util.List;
+
+public class NodeDetailsStatusUpdaterTest {
+
+  private DummyDocumentStore docStore;
+
+  @Before
+  public void createDummyDocumentStore() {
+this.docStore = new DummyDocumentStore();
+DocumentStoreFactory.setDocumentStore(this.docStore);
+  }
+
+  @Test
+  public void testExitReset() throws Exception {
+NodeDetailsStatusUpdater ndsu = new NodeDetailsStatusUpdater(null, null);
+DescriptorParser dp = DescriptorSourceFactory.createDescriptorParser();
+String descString = RELAY1 + PUB1 + RELAY2 + POLICY1 + RELAY3;
+for (Descriptor desc : dp.parseDescriptors(descString.getBytes(),
+new File("dummy"), "dummy")) {
+  assertTrue(desc.getClass().getName(), desc instanceof ServerDescriptor);
+  ndsu.processDescriptor(desc, true);
+}
+assertEquals(1, this.docStore.getPerformedStoreOperations());
+assertEquals(1, this.docStore.storedDocuments.size());
+DetailsStatus dd = this.docStore.getDocument(DetailsStatus.class, FP);
+assertNotNull("docs: " + this.docStore.storedDocuments, dd);
+assertEquals("Found: " + dd.getExitPolicy(), 1, dd.getExitPolicy().size());
+assertEquals("Found: " + dd.getExitPolicy().get(0),
+"reject *:25", dd.getExitPolicy().get(0));
+List acc = dd.getExitPolicyV6Summary().get("accept");
+List rej = dd.getExitPolicyV6Summary().get("reject");
+assertNull(rej);
+assertEquals("Found: " + dd.getExitPolicyV6Summary(), "23", acc.get(0));
+assertEquals("Found: " + dd.getExitPolicyV6Summary(), "42", acc.get(1));
+
+descString = RELAY1 + PUB2 + RELAY2 + POLICY2 + RELAY3;
+for (Descriptor desc : dp.parseDescriptors(descString.getBytes(),
+new File("dummy"), "dummy")) {
+  assertTrue(desc.getClass().getName(), desc instanceof ServerDescriptor);
+  ndsu.processDescriptor(desc, true);
+}
+assertEquals(2, this.docStore.getPerformedStoreOperations());
+assertEquals(1, this.docStore.storedDocuments.size());
+dd = this.docStore.getDocument(DetailsStatus.class, FP);
+assertNotNull("docs: " + this.docStore.storedDocuments, dd);
+assertEquals("Found: " + dd.getExitPolicy(), 1, dd.getExitPolicy().size());
+assertEquals("Found: " + dd.getExitPolicy().get(0),
+"reject *:*", dd.getExitPolicy().get(0));
+assertNull(dd.getExitPolicyV6Summary());
+  }
+
+  private static final String FP = "42CAF9C0588BBADDD338025E8F2D3CCF35CEEC25";
+
+  private static final String RELAY1 = "@type server-descriptor 1.0\n"
+  + "router impedance 84.201.150.89 443 0 0\n"
+  + "identity-ed25519\n"
+  + "-BEGIN ED25519 CERT-\n"
+  + "AQQABkIAAS889JQwk/Acb0kWwkX1lolsL72YAGUvNgrLjz8fxczJAQAgBACw4otT\n"
+  + "Ajr+/0iRTRaCbdHs7BHSZ5qA3c4DG6a71zMzM0ismH/bVLbTuIsRrOuBfpOux+Cs\n"
+  + "ONO0fGuk5uazrY0iGcKJtZckyW4W7RYLkeGdNnYJ6BpshTEP0Rd61roeBQs=\n"
+  

[tor-commits] [onionoo/release] Add version parameter to filter for Tor version.

2017-08-31 Thread karsten
commit 249c8549c0536e7c8e71b5f7f500f81b2f203e6d
Author: Karsten Loesing 
Date:   Mon Aug 7 23:06:36 2017 +0200

Add version parameter to filter for Tor version.

Implements #21427.

Requires minor protocol update.
---
 .../org/torproject/onionoo/docs/DocumentStore.java |  3 +-
 .../org/torproject/onionoo/docs/NodeStatus.java| 14 +
 .../torproject/onionoo/docs/SummaryDocument.java   | 13 +++-
 .../org/torproject/onionoo/server/NodeIndex.java   | 10 +++
 .../org/torproject/onionoo/server/NodeIndexer.java |  8 +++
 .../torproject/onionoo/server/RequestHandler.java  | 26 
 .../torproject/onionoo/server/ResourceServlet.java | 24 +++-
 .../onionoo/updater/NodeDetailsStatusUpdater.java  |  2 +
 .../onionoo/writer/SummaryDocumentWriter.java  |  3 +-
 .../onionoo/docs/SummaryDocumentTest.java  |  2 +-
 .../onionoo/server/ResourceServletTest.java| 72 +++---
 .../server/SummaryDocumentComparatorTest.java  |  2 +-
 12 files changed, 166 insertions(+), 13 deletions(-)

diff --git a/src/main/java/org/torproject/onionoo/docs/DocumentStore.java 
b/src/main/java/org/torproject/onionoo/docs/DocumentStore.java
index 56ca406..7819d0f 100644
--- a/src/main/java/org/torproject/onionoo/docs/DocumentStore.java
+++ b/src/main/java/org/torproject/onionoo/docs/DocumentStore.java
@@ -435,13 +435,14 @@ public class DocumentStore {
 }
 SortedSet relayFlags = new TreeSet<>();
 SortedSet family = null;
+String version = null;
 long lastSeenMillis = -1L;
 long consensusWeight = -1L;
 long firstSeenMillis = -1L;
 SummaryDocument summaryDocument = new SummaryDocument(isRelay,
 nickname, fingerprint, addresses, lastSeenMillis, running,
 relayFlags, consensusWeight, countryCode, firstSeenMillis,
-asNumber, contact, family, family);
+asNumber, contact, family, family, version);
 return summaryDocument;
   }
 
diff --git a/src/main/java/org/torproject/onionoo/docs/NodeStatus.java 
b/src/main/java/org/torproject/onionoo/docs/NodeStatus.java
index 6a71fb6..759d83e 100644
--- a/src/main/java/org/torproject/onionoo/docs/NodeStatus.java
+++ b/src/main/java/org/torproject/onionoo/docs/NodeStatus.java
@@ -321,6 +321,16 @@ public class NodeStatus extends Document {
 return this.recommendedVersion;
   }
 
+  private String version;
+
+  public void setVersion(String version) {
+this.version = version.substring(version.lastIndexOf(" ") + 1);
+  }
+
+  public String getVersion() {
+return this.version;
+  }
+
   /* From exit lists: */
 
   private SortedSet exitAddresses;
@@ -547,6 +557,9 @@ public class NodeStatus extends Document {
 extendedFamily.addAll(indirectFamily);
 nodeStatus.setExtendedFamily(extendedFamily);
   }
+  if (parts.length >= 24 && !parts[23].isEmpty()) {
+nodeStatus.setVersion(parts[23]);
+  }
   return nodeStatus;
 } catch (NumberFormatException e) {
   log.error("Number format exception while parsing node "
@@ -610,6 +623,7 @@ public class NodeStatus extends Document {
 sb.append("\t" + StringUtils.join(this.getAllegedFamily(), ";") + ":"
 + StringUtils.join(this.getEffectiveFamily(), ";") + ":"
 + StringUtils.join(this.getIndirectFamily(), ";"));
+sb.append("\t" + (this.getVersion() != null ? this.getVersion() : ""));
 return sb.toString();
   }
 }
diff --git a/src/main/java/org/torproject/onionoo/docs/SummaryDocument.java 
b/src/main/java/org/torproject/onionoo/docs/SummaryDocument.java
index 3ca4960..527f91d 100644
--- a/src/main/java/org/torproject/onionoo/docs/SummaryDocument.java
+++ b/src/main/java/org/torproject/onionoo/docs/SummaryDocument.java
@@ -269,6 +269,16 @@ public class SummaryDocument extends Document {
 return this.stringArrayToSortedSet(this.ef);
   }
 
+  private String v;
+
+  public void setVersion(String version) {
+this.v = version;
+  }
+
+  public String getVersion() {
+return this.v;
+  }
+
   /* The familyFingerprints parameter can go away after September 8, 2015.
* See above. */
   /** Instantiates a summary document with all given properties. */
@@ -277,7 +287,7 @@ public class SummaryDocument extends Document {
   boolean running, SortedSet relayFlags, long consensusWeight,
   String countryCode, long firstSeenMillis, String asNumber,
   String contact, SortedSet familyFingerprints,
-  SortedSet effectiveFamily) {
+  SortedSet effectiveFamily, String version) {
 this.setRelay(isRelay);
 this.setNickname(nickname);
 this.setFingerprint(fingerprint);
@@ -292,6 +302,7 @@ public class SummaryDocument extends Document {
 this.setContact(contact);
 this.setFamilyFingerprints(familyFingerprints);
 this.setEffectiveFamily(effectiveFamily);
+this.setVersion(version);
   }
 }
 
diff --git a/src/main/java/org/torproject/onionoo/server/NodeIndex.java 

[tor-commits] [onionoo/master] Prepare for 4.1-1.4.1 release.

2017-08-31 Thread karsten
commit bfc7e2e33dd9f371c8cd801bb7df099c3fca15dd
Author: Karsten Loesing 
Date:   Thu Aug 31 15:39:02 2017 +0200

Prepare for 4.1-1.4.1 release.
---
 CHANGELOG.md | 7 +++
 build.xml| 2 +-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 20ddb1c..cf75ee8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,10 @@
+# Changes in version 4.1-1.4.1 - 2017-08-31
+
+ * Medium changes
+   - Fix a NullPointerException in the recently added "version"
+ parameter.
+
+
 # Changes in version 4.1-1.4.0 - 2017-08-30
 
  * Medium changes
diff --git a/build.xml b/build.xml
index 41f11c0..921768f 100644
--- a/build.xml
+++ b/build.xml
@@ -10,7 +10,7 @@
   
   
   
+value="${onionoo.protocol.version}-1.4.1"/>
   
   
   https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [onionoo/master] Fix possible NPE and make tests pass again.

2017-08-31 Thread karsten
commit b2b1bf1d0b2bce7748386b3ecdafec7391890fe6
Author: iwakeh 
Date:   Wed Aug 30 20:37:37 2017 +

Fix possible NPE and make tests pass again.

Also, added error logging for indexing process.
---
 .../org/torproject/onionoo/server/NodeIndexer.java | 30 +-
 1 file changed, 18 insertions(+), 12 deletions(-)

diff --git a/src/main/java/org/torproject/onionoo/server/NodeIndexer.java 
b/src/main/java/org/torproject/onionoo/server/NodeIndexer.java
index db13ed9..5411d0e 100644
--- a/src/main/java/org/torproject/onionoo/server/NodeIndexer.java
+++ b/src/main/java/org/torproject/onionoo/server/NodeIndexer.java
@@ -91,7 +91,7 @@ public class NodeIndexer implements ServletContextListener, 
Runnable {
* background thread. */
   public synchronized void startIndexing() {
 if (this.nodeIndexerThread == null) {
-  this.nodeIndexerThread = new Thread(this);
+  this.nodeIndexerThread = new Thread(this, "Onionoo-Node-Indexer");
   this.nodeIndexerThread.setDaemon(true);
   this.nodeIndexerThread.start();
 }
@@ -103,14 +103,18 @@ public class NodeIndexer implements 
ServletContextListener, Runnable {
 
   @Override
   public void run() {
-while (this.nodeIndexerThread != null) {
-  this.indexNodeStatuses();
-  try {
-Thread.sleep(ONE_MINUTE);
-  } catch (InterruptedException e) {
-/* Nothing that we could handle, just check if there's new data
- * to index now. */
+try {
+  while (this.nodeIndexerThread != null) {
+this.indexNodeStatuses();
+try {
+  Thread.sleep(ONE_MINUTE);
+} catch (InterruptedException e) {
+  /* Nothing that we could handle, just check if there's new data
+   * to index now. */
+}
   }
+} catch (Throwable th) { // catch all and log
+  log.error("Indexing failed: {}", th.getMessage(), th);
 }
   }
 
@@ -247,11 +251,13 @@ public class NodeIndexer implements 
ServletContextListener, Runnable {
   newRelaysByContact.get(contact).add(fingerprint);
   newRelaysByContact.get(contact).add(hashedFingerprint);
   String version = entry.getVersion();
-  if (!newRelaysByVersion.containsKey(version)) {
-newRelaysByVersion.put(version, new HashSet());
+  if (null != version) {
+if (!newRelaysByVersion.containsKey(version)) {
+  newRelaysByVersion.put(version, new HashSet());
+}
+newRelaysByVersion.get(version).add(fingerprint);
+newRelaysByVersion.get(version).add(hashedFingerprint);
   }
-  newRelaysByVersion.get(version).add(fingerprint);
-  newRelaysByVersion.get(version).add(hashedFingerprint);
 }
 /* This loop can go away once all Onionoo services had their hourly
  * updater write effective families to summary documents at least



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


[tor-commits] [onionoo/master] Add test that reproduces NPE.

2017-08-31 Thread karsten
commit 2eead2a12ff350d66e5713d105d50e8d8cd287b3
Author: iwakeh 
Date:   Wed Aug 30 20:37:35 2017 +

Add test that reproduces NPE.

The timeouts are ncessary, when something unforseen makes the
NodeIndexer.getLatestNodeIndex wait forever.
---
 .../onionoo/server/ResourceServletTest.java| 370 ++---
 1 file changed, 185 insertions(+), 185 deletions(-)

diff --git 
a/src/test/java/org/torproject/onionoo/server/ResourceServletTest.java 
b/src/test/java/org/torproject/onionoo/server/ResourceServletTest.java
index 4ebf0d2..303cf21 100644
--- a/src/test/java/org/torproject/onionoo/server/ResourceServletTest.java
+++ b/src/test/java/org/torproject/onionoo/server/ResourceServletTest.java
@@ -155,7 +155,7 @@ public class ResourceServletTest {
 new TreeSet(Arrays.asList(new String[] {
 "000C5F55BD4814B917CC474BD537F1A3B33CCE2A" })),
 new TreeSet<>(Arrays.asList(new String[] {
-"000C5F55BD4814B917CC474BD537F1A3B33CCE2A" })), "0.2.3.24-rc-dev");
+"000C5F55BD4814B917CC474BD537F1A3B33CCE2A" })), null);
 this.relays = new TreeMap<>();
 this.relays.put("000C5F55BD4814B917CC474BD537F1A3B33CCE2A",
 relayTorkaZ);
@@ -367,7 +367,7 @@ public class ResourceServletTest {
 private boolean r;
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testValidSummaryRelay() throws IOException {
 this.runTest("/summary");
 assertEquals("2013-04-24 12:00:00",
@@ -387,7 +387,7 @@ public class ResourceServletTest {
 assertFalse(relay.r);
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testValidSummaryBridge() {
 this.runTest("/summary");
 assertEquals("2013-04-24 01:07:04",
@@ -405,519 +405,519 @@ public class ResourceServletTest {
 assertFalse(bridge.r);
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testNonExistantDocumentType() {
 this.assertErrorStatusCode(
 "/doesnotexist", 400);
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testSummaryUpperCaseDocument() {
 this.assertErrorStatusCode(
 "/SUMMARY", 400);
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testTypeRelay() {
 this.assertSummaryDocument(
 "/summary?type=relay", 3, null, 0, null);
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testTypeBridge() {
 this.assertSummaryDocument(
 "/summary?type=bridge", 0, null, 3, null);
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testTypeBridgerelay() {
 this.assertErrorStatusCode(
 "/summary?type=bridgerelay", 400);
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testTypeRelayBridge() {
 this.assertSummaryDocument(
 "/summary?type=relay=bridge", 3, null, 0, null);
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testTypeBridgeRelay() {
 this.assertSummaryDocument(
 "/summary?type=bridge=relay", 0, null, 3, null);
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testTypeRelayRelay() {
 this.assertSummaryDocument(
 "/summary?type=relay=relay", 3, null, 0, null);
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testTypeUpperCaseRelay() {
 this.assertErrorStatusCode(
 "/summary?TYPE=relay", 400);
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testTypeRelayUpperCase() {
 this.assertSummaryDocument(
 "/summary?type=RELAY", 3, null, 0, null);
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testRunningTrue() {
 this.assertSummaryDocument(
 "/summary?running=true", 1, new String[] { "Ferrari458" }, 1,
 new String[] { "gummy" });
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testRunningFalse() {
 this.assertSummaryDocument(
 "/summary?running=false", 2, null, 2, null);
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testRunningTruefalse() {
 this.assertErrorStatusCode(
 "/summary?running=truefalse", 400);
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testRunningTrueFalse() {
 this.assertSummaryDocument(
 "/summary?running=true=false", 1,
 new String[] { "Ferrari458" }, 1,  new String[] { "gummy" });
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testRunningFalseTrue() {
 this.assertSummaryDocument(
 "/summary?running=false=true", 2, null, 2, null);
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testRunningTrueTrue() {
 this.assertSummaryDocument(
 "/summary?running=true=true", 1,
 new String[] { "Ferrari458" }, 1, new String[] { "gummy" });
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testRunningUpperCaseTrue() {
 this.assertErrorStatusCode(
 "/summary?RUNNING=true", 400);
   }
 
-  @Test()
+  @Test(timeout = 100)
   public void testRunningTrueUpperCase() {
 this.assertSummaryDocument(
 "/summary?running=TRUE", 1, null, 1, null);
   }
 
-  @Test()
+  @Test(timeout = 100)
   public 

[tor-commits] [user-manual/master] Actually fix build issue

2017-08-31 Thread colin
commit 62c322ce4239526e540cf264e47cf4a2afbd9ca6
Author: Colin Childs 
Date:   Thu Aug 31 05:08:31 2017 -0500

Actually fix build issue
---
 configure.ac | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/configure.ac b/configure.ac
index b044202..d17cb67 100644
--- a/configure.ac
+++ b/configure.ac
@@ -8,12 +8,12 @@ AC_ARG_WITH(tor-browser-bundle,
 AC_HELP_STRING([--with-tor-browser-bundle=PROGRAM],
[location of the clone of tor-browser-bundle.git]),
 [tor_browser_bundle_dir=$withval])
-GET_TB_VERSION="${tor_browser_bundle_dir}/gitian/get-tb-version alpha"
+GET_TB_VERSION="${tor_browser_bundle_dir}/gitian/get-tb-version" 
 if ! test -x "$GET_TB_VERSION"; then
 AC_MSG_ERROR([Please clone tor-browser-bundle.git and specify its location 
using --with-tor-browser-bundle])
 fi
 
-TOR_BROWSER_VERSION=$(eval $(GIT_DIR=${tor_browser_bundle_dir}/.git 
$GET_TB_VERSION); echo "$TORBROWSER_VERSION")
+TOR_BROWSER_VERSION=$(eval $(GIT_DIR=${tor_browser_bundle_dir}/.git 
$GET_TB_VERSION alpha); echo "$TORBROWSER_VERSION")
 if test "x$TOR_BROWSER_VERSION" = "x"; then
 AC_MSG_ERROR([Couldn't determine Tor Browser version.])
 fi

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


[tor-commits] [sandboxed-tor-browser/master] Use the GCC constructor attribute for stub initialization.

2017-08-31 Thread yawning
commit d3e4fd26e46ab258e4a5daa0541c7253989ed35f
Author: Yawning Angel 
Date:   Thu Aug 31 10:03:30 2017 +

Use the GCC constructor attribute for stub initialization.

Non-portable but this is cleaner.
---
 ChangeLog   |  1 +
 src/tbb_stub/tbb_stub.c | 11 +--
 2 files changed, 2 insertions(+), 10 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 0bf64e8..09a23eb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,7 @@ Changes in version 0.0.13 - UNRELEASED:
  * Use lockPref for the IDN override done as part of #22984.
  * Unset the addon autoupdater URL prefs.
  * Disable the "Open with" dialog, which will never work.
+ * Use the GCC constructor attribute for stub initialization.
 
 Changes in version 0.0.12 - 2017-08-01:
  * Bug 22969: Disable the addon blocklist.
diff --git a/src/tbb_stub/tbb_stub.c b/src/tbb_stub/tbb_stub.c
index 84a14e8..819c8e0 100644
--- a/src/tbb_stub/tbb_stub.c
+++ b/src/tbb_stub/tbb_stub.c
@@ -52,7 +52,6 @@
 #include 
 #include 
 
-static pthread_once_t stub_init_once = PTHREAD_ONCE_INIT;
 static int (*real_connect)(int, const struct sockaddr *, socklen_t) = NULL;
 static int (*real_socket)(int, int, int) = NULL;
 static void *(*real_dlopen)(const char *, int) = NULL;
@@ -66,9 +65,6 @@ static struct sockaddr_un control_addr;
 #define TBB_SOCKS_PORT 9150
 #define TBB_CONTROL_PORT 9151
 
-
-static void stub_init(void);
-
 int
 connect(int fd, const struct sockaddr *address, socklen_t address_len)
 {
@@ -80,8 +76,6 @@ connect(int fd, const struct sockaddr *address, socklen_t 
address_len)
 return -1;
   }
 
-  pthread_once(_init_once, stub_init);
-
   /* Fast path for non-outgoing sockets. */
   if (address->sa_family == AF_LOCAL) {
 return real_connect(fd, address, address_len);
@@ -121,8 +115,6 @@ connect(int fd, const struct sockaddr *address, socklen_t 
address_len)
 int
 socket(int domain, int type, int protocol)
 {
-  pthread_once(_init_once, stub_init);
-
   /* Replace AF_INET with AF_LOCAL. */
   if (domain == AF_INET)
 domain = AF_LOCAL;
@@ -145,7 +137,6 @@ void *
 dlopen(const char *filename, int flags)
 {
   void *ret;
-  pthread_once(_init_once, stub_init);
 
   if (filename != NULL) {
 if (has_prefix(filename, "libgnomeui"))
@@ -301,7 +292,7 @@ pthread_attr_getstack(const pthread_attr_t *attr, void 
**stackaddr, size_t *stac
 }
 
 /*  Initialize the stub. */
-static void
+__attribute__((constructor)) static void
 stub_init(void)
 {
   char *socks_path = secure_getenv("TOR_STUB_SOCKS_SOCKET");

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


[tor-commits] [user-manual/master] Fix build issue with get-tb-version

2017-08-31 Thread colin
commit aad3e6e5f9fad517bae0343ee3508472c0cb265b
Author: Colin Childs 
Date:   Thu Aug 31 04:58:32 2017 -0500

Fix build issue with get-tb-version
---
 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index b0edfae..b044202 100644
--- a/configure.ac
+++ b/configure.ac
@@ -8,7 +8,7 @@ AC_ARG_WITH(tor-browser-bundle,
 AC_HELP_STRING([--with-tor-browser-bundle=PROGRAM],
[location of the clone of tor-browser-bundle.git]),
 [tor_browser_bundle_dir=$withval])
-GET_TB_VERSION="${tor_browser_bundle_dir}/gitian/get-tb-version"
+GET_TB_VERSION="${tor_browser_bundle_dir}/gitian/get-tb-version alpha"
 if ! test -x "$GET_TB_VERSION"; then
 AC_MSG_ERROR([Please clone tor-browser-bundle.git and specify its location 
using --with-tor-browser-bundle])
 fi

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


[tor-commits] [tor-browser/tor-browser-52.3.0esr-7.5-2] squash! Bug 19273: Avoid JavaScript patching of the external app helper dialog.

2017-08-31 Thread gk
commit 9ecbfca98dc5488527495e3bfde0fabf75a8529a
Author: Kathy Brade 
Date:   Wed Aug 30 16:58:52 2017 -0400

squash! Bug 19273: Avoid JavaScript patching of the external app helper 
dialog.

When handling an external URI or downloading a file, invoke Torbutton's
external app blocker component (which will present a download warning
dialog unless the user has checked the "Automatically download files
from now on" box).

For e10s compatibility, avoid using a modal dialog and instead use
a callback interface (nsIHelperAppWarningLauncher) to allow Torbutton
to indicate the user's desire to cancel or continue each request.

Other bugs fixed:
 Bug 21766: Crash with e10s enabled while trying to download a file
 Bug 21886: Download is stalled in non-e10s mode
 Bug 22471: Downloading files via the PDF viewer download button is broken
 Bug 22472: Fix FTP downloads when external helper app dialog is shown
 Bug 22610: Avoid crashes when canceling external helper app downloads
 Bug 22618: Downloading pdf file via file:/// is stalling
---
 uriloader/exthandler/nsExternalHelperAppService.cpp | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/uriloader/exthandler/nsExternalHelperAppService.cpp 
b/uriloader/exthandler/nsExternalHelperAppService.cpp
index df08905304fb..1c0dd8ee66f7 100644
--- a/uriloader/exthandler/nsExternalHelperAppService.cpp
+++ b/uriloader/exthandler/nsExternalHelperAppService.cpp
@@ -606,7 +606,7 @@ public:
   NS_DECL_THREADSAFE_ISUPPORTS
   NS_DECL_NSIHELPERAPPWARNINGLAUNCHER
 
-  nsExternalLoadURIHandler(nsIInterfaceRequestor * aWindowContext,
+  nsExternalLoadURIHandler(nsIInterfaceRequestor *aWindowContext,
nsIURI *aURI,
nsIHandlerInfo *aHandlerInfo);
 
@@ -669,7 +669,7 @@ NS_IMETHODIMP nsExternalLoadURIHandler::ContinueRequest()
   bool alwaysAsk = true;
   mHandlerInfo->GetAlwaysAskBeforeHandling();
 
-  // if we are not supposed to ask, and the preferred action is to use
+  // If we are not supposed to ask, and the preferred action is to use
   // a helper app or the system default, we just launch the URI.
   if (!alwaysAsk && (preferredAction == nsIHandlerInfo::useHelperApp ||
  preferredAction == nsIHandlerInfo::useSystemDefault))
@@ -1786,7 +1786,7 @@ NS_IMETHODIMP 
nsExternalAppHandler::OnStartRequest(nsIRequest *request, nsISuppo
 NS_IMETHODIMP nsExternalAppHandler::ContinueRequest()
 {
   // Break our reference cycle with the download warning dialog (set up in
-  // OnStartRequest)
+  // OnStartRequest).
   mWarningDialog = nullptr;
 
   // now that the temp file is set up, find out if we need to invoke a dialog
@@ -1908,7 +1908,7 @@ NS_IMETHODIMP nsExternalAppHandler::ContinueRequest()
 NS_IMETHODIMP nsExternalAppHandler::CancelRequest(nsresult aReason)
 {
   // Break our reference cycle with the download warning dialog (set up in
-  // OnStartRequest)
+  // OnStartRequest).
   mWarningDialog = nullptr;
 
   return Cancel(aReason);

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


[tor-commits] [torbutton/master] fixup! Bug 19273: Avoid JavaScript patching of the external app helper dialog.

2017-08-31 Thread gk
commit 8e5e391c71d6c5f3ae80c88e45d1e8522f981214
Author: Kathy Brade 
Date:   Wed Aug 30 12:06:24 2017 -0400

fixup! Bug 19273: Avoid JavaScript patching of the external app helper 
dialog.

Improve the overview/summary comment in external-app-blocker.js.
---
 src/components/external-app-blocker.js | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/components/external-app-blocker.js 
b/src/components/external-app-blocker.js
index ca86580..1f88fc7 100644
--- a/src/components/external-app-blocker.js
+++ b/src/components/external-app-blocker.js
@@ -8,9 +8,8 @@
  * due to Firefox Bug https://bugzilla.mozilla.org/show_bug.cgi?id=440892
  *
  * An instance of this module is created each time the browser starts to
- * download a file that may be opened by another or application and when
- * an external application may be invoked to handle an URL (e.g., when the
- * user clicks on a mailto: URL).
+ * download a file and when an external application may be invoked to
+ * handle an URL (e.g., when the user clicks on a mailto: URL).
  */
 
 const Cc = Components.classes;

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


[tor-commits] [metrics-web/master] Document Onionoo's new version parameter.

2017-08-31 Thread karsten
commit 629170c377eb3e4371a286af8441f0ceadfd40e1
Author: Karsten Loesing 
Date:   Thu Aug 31 10:43:19 2017 +0200

Document Onionoo's new version parameter.
---
 website/src/main/resources/web/WEB-INF/onionoo.jsp | 15 +--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/website/src/main/resources/web/WEB-INF/onionoo.jsp 
b/website/src/main/resources/web/WEB-INF/onionoo.jsp
index 21305f4..4f4c68f 100644
--- a/website/src/main/resources/web/WEB-INF/onionoo.jsp
+++ b/website/src/main/resources/web/WEB-INF/onionoo.jsp
@@ -227,8 +227,9 @@ added response meta data fields "relays_skipped", 
"relays_truncated",
 4.0: Extended search parameter to not require
 leading or enclosing square brackets around IPv6 addresses anymore on
 February 28, 2017.
-4.1: Removed bridge clients objects' beta fields
-"countries", "transports", and "versions" on August 30, 2017.
+4.1: Added "version" parameter and removed bridge
+clients objects' beta fields "countries", "transports", and "versions"
+on August 30, 2017.
 
 
 
@@ -476,6 +477,16 @@ a family.
 
 
 
+
+version new
+
+Return only relays running a Tor version that starts with the
+parameter value without leading "Tor".
+Searchers are case-insensitive.
+Added on August 30, 2017.
+
+
+
 
 
 

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


[tor-commits] [metrics-web/master] Remove beta fields of bridge clients objects.

2017-08-31 Thread karsten
commit 2f4bc5a653557663a550c0f4bb60e7b99454f8b9
Author: iwakeh 
Date:   Tue Aug 22 08:02:55 2017 +

Remove beta fields of bridge clients objects.
---
 website/src/main/resources/web/WEB-INF/onionoo.jsp | 64 +-
 1 file changed, 2 insertions(+), 62 deletions(-)

diff --git a/website/src/main/resources/web/WEB-INF/onionoo.jsp 
b/website/src/main/resources/web/WEB-INF/onionoo.jsp
index 1239198..21305f4 100644
--- a/website/src/main/resources/web/WEB-INF/onionoo.jsp
+++ b/website/src/main/resources/web/WEB-INF/onionoo.jsp
@@ -227,6 +227,8 @@ added response meta data fields "relays_skipped", 
"relays_truncated",
 4.0: Extended search parameter to not require
 leading or enclosing square brackets around IPv6 addresses anymore on
 February 28, 2017.
+4.1: Removed bridge clients objects' beta fields
+"countries", "transports", and "versions" on August 30, 2017.
 
 
 
@@ -1836,69 +1838,7 @@ time period and higher data resolution.
 The unit is number of clients.
 Contained graph history objects may contain null values if the bridge did
 not report client statistics for at least 50% of a given time period.
-Each graph history object contains the following additional key-value
-pairs:
 
-
-
-
-
-countries beta
-object
-optional
-
-Object containing fractions of clients by country in the considered time
-period.
-Keys are two-letter lower-case country codes as found in a GeoIP database.
-Values are numbers between 0 and 1 standing for the fraction of clients by
-country.
-A country is only included if at least 1% of clients came from this
-country.
-Omitted if the bridge did not report client statistics by country.
-BETA: This field breaks compatibility
-with the history objects contained in other documents pretty badly.
-It might be removed in the future without notice.
-
-
-
-
-transports beta
-object
-optional
-
-Object containing fractions of clients by transport in the considered time
-period.
-Keys are transport names, or "OR" for the default
-onion-routing transport protocol.
-Values are numbers between 0 and 1 standing for the fraction of clients by
-transport.
-Omitted if the bridge did not report client statistics by transport.
-BETA: This field breaks compatibility
-with the history objects contained in other documents pretty badly.
-It might be removed in the future without notice.
-
-
-
-
-versions beta
-object
-optional
-
-Object containing fractions of clients by IP version in the considered
-time period.
-Keys are either "v4" for IPv4 or "v6"
-for IPv6.
-Values are numbers between 0 and 1 standing for the fraction of clients by
-version.
-Omitted if the bridge did not report client statistics by IP version.
-BETA: This field breaks compatibility
-with the history objects contained in other documents pretty badly.
-It might be removed in the future without notice.
-
-
-
-
-
 
 
 

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


[tor-commits] [onionoo/master] Prepare for 4.1-1.4.0 release.

2017-08-31 Thread karsten
commit b3bb600f3495603ea4f13e94d9b99556c0be9dc0
Author: Karsten Loesing 
Date:   Wed Aug 30 22:35:48 2017 +0200

Prepare for 4.1-1.4.0 release.
---
 CERT   | 18 +-
 CHANGELOG.md   |  6 +++---
 build.xml  |  2 +-
 .../org/torproject/onionoo/server/ResponseBuilder.java |  2 +-
 4 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/CERT b/CERT
index 6cc5a93..d94c0c3 100644
--- a/CERT
+++ b/CERT
@@ -1,8 +1,8 @@
 -BEGIN CERTIFICATE-
-MIIDaTCCAlGgAwIBAgIEYQnM/zANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQGEwJV
+MIIDaTCCAlGgAwIBAgIEZTniETANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQGEwJV
 UzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxHTAbBgNVBAoTFFRoZSBU
 b3IgUHJvamVjdCwgSW5jMRgwFgYDVQQDEw9LYXJzdGVuIExvZXNpbmcwHhcNMTcw
-MTAyMTYzNTQ2WhcNMTcwNDAyMTYzNTQ2WjBlMQswCQYDVQQGEwJVUzELMAkGA1UE
+ODE3MTg1MDQ0WhcNMTcxMTE1MTg1MDQ0WjBlMQswCQYDVQQGEwJVUzELMAkGA1UE
 CBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxHTAbBgNVBAoTFFRoZSBUb3IgUHJvamVj
 dCwgSW5jMRgwFgYDVQQDEw9LYXJzdGVuIExvZXNpbmcwggEiMA0GCSqGSIb3DQEB
 AQUAA4IBDwAwggEKAoIBAQChXn+IUp+o6G+k4ffxk3TkxZb3iXfiG7byNsG63olU
@@ -11,11 +11,11 @@ 
Qw+VAhKTcEIv4yiR0BWapQyR07pgmKirYVjN6s6ef8NJzUptpxLlaYJ3ZfQfc4aE
 MXzScgaccwDFIWQ661lzLGCfeSxxa3Xy4wWsGwzNzLITYrrABcbg7yogLo2btNvD
 oEwGL3/baQdhl0dra6biVCZr9ydn3Hg57S55pUU0rBY25id78zUO8xrfNHw54wwX
 lOblGt75OOkahP/ZZSBxxoiknJ6y5VQV8y+noA4vigXFAgMBAAGjITAfMB0GA1Ud
-DgQWBBSeh60M+/wMYyYhlxtuff2Hk9n7bzANBgkqhkiG9w0BAQsFAAOCAQEAi2K5
-o3UnRBLdk9zkBEDbqPWxq8eiiIacbSoorspVlv4vqNO2UsTLc2sA4zZpY1L7Mkc6
-y7pcd1jFc6e9Wzt0agoIU9i3pyqkUx11ktE8a8CiVjDOns05GHe1DsLYcSLG8aJR
-2pNEFjZEndHTXGRKwxtTmHimsIIWiy8tYFkC7SkBQj+BnXBqzCbJPhRDpMdhyJmQ
-CLUhTTgU30G32x3vOhddWHAH8UDsXNlBASQOFs+A/1Mx5DI5AXLtwjp/rweTWoBk
-11SfkVS/mfMZNRGOA9DEfoRYHPT0Rn4URAQrBr73CKQaVVYyeuDOoEs69KRH2JSO
-IRcgAfpjtg8cry/eiw==
+DgQWBBSeh60M+/wMYyYhlxtuff2Hk9n7bzANBgkqhkiG9w0BAQsFAAOCAQEAbsAc
+gwl5KJH3pVKw4b+ACCOMgW+27MisCFbT1Izq2Wx+JcLMt3N//MoIpYOZWhsIeazW
+/NE0fNbkLi0IYA0F1nUC9pHl44Hd8Gjfqa/YQUi9ALtgsY7l6W0sceW8WnZ8bu8J
+DfrqnmB0bD2xc9ZjOn58al8dVjVWs95M87D9WCRU6LiaKFj5c45wciABQsTmC0qD
+pyHYOaSGtXxXKDw5pAntdtHkCbowV5tDi/QQ8Tg7i5O7xwSh71Q7TZiNFMpLomBL
+QllHfTZryFmoHyGn5MfngBUVCVHig5nXmk0dUMGuLiK4789dkgiPRz0vpB5Yf8Yy
+CCE2jB6VBi2g5fMx0w==
 -END CERTIFICATE-
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9538287..20ddb1c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,4 @@
-# Changes in version 4.1-1.?.? - 2017-0?-??
+# Changes in version 4.1-1.4.0 - 2017-08-30
 
  * Medium changes
- Reset IPv6 exit-policy summary in details status if a newer
@@ -6,10 +6,10 @@
- Remove optional fields "countries", "transports", and "versions"
  from clients objects which were still labeled as beta.
- Add new "version" parameter to filter for Tor version.
-   - Switch from our own CollecTor downloader to metrics-lib's
- DescriptorCollector.
 
  * Minor changes
+   - Switch from our own CollecTor downloader to metrics-lib's
+ DescriptorCollector.
- Add a new Java property "onionoo.basedir" to re-configure the
  base directory used by the web server component.
 
diff --git a/build.xml b/build.xml
index 24010dd..41f11c0 100644
--- a/build.xml
+++ b/build.xml
@@ -10,7 +10,7 @@
   
   
   
+value="${onionoo.protocol.version}-1.4.0"/>
   
   
   https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits