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

2018-10-30 Thread translation
commit bd3d6c0ee3a28b4f53f0b0891dcaa8cae813d0b3
Author: Translation commit bot 
Date:   Wed Oct 31 05:45:58 2018 +

Update translations for tails-misc
---
 zh_CN.po | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/zh_CN.po b/zh_CN.po
index 4f20882a9..bb870f3c0 100644
--- a/zh_CN.po
+++ b/zh_CN.po
@@ -23,7 +23,7 @@ msgstr ""
 "Project-Id-Version: Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2018-10-15 14:47+0200\n"
-"PO-Revision-Date: 2018-10-31 05:14+\n"
+"PO-Revision-Date: 2018-10-31 05:31+\n"
 "Last-Translator: Herman Gu \n"
 "Language-Team: Chinese (China) 
(http://www.transifex.com/otf/torproject/language/zh_CN/)\n"
 "MIME-Version: 1.0\n"
@@ -361,7 +361,7 @@ msgstr "为实现以上操作,创建一个持久
存储并在安装某些软件
 msgid ""
 "To do so, install Tails on a USB stick using Tails Installer and create a persistent storage."
-msgstr ""
+msgstr "为实现以上操作,在USB存储器上安装Tails时请使用Tails安装程序并创建一个持久
存储。"
 
 #: 
config/chroot_local-includes/usr/local/bin/tails-additional-software-config:253
 msgid "[package not available]"
@@ -625,11 +625,11 @@ msgstr "{drive_name} - {volume_name}"
 
 #: 
config/chroot_local-includes/usr/local/lib/python3/dist-packages/unlock_veracrypt_volumes/volume.py:222
 msgid "Wrong passphrase or parameters"
-msgstr ""
+msgstr "口令或参数错误"
 
 #: 
config/chroot_local-includes/usr/local/lib/python3/dist-packages/unlock_veracrypt_volumes/volume.py:224
 msgid "Error unlocking volume"
-msgstr ""
+msgstr "解锁加密卷出错"
 
 #. Translators: Don't translate {volume_name} or {error_message},
 #. they are placeholder and will be replaced.
@@ -638,7 +638,7 @@ msgstr ""
 msgid ""
 "Couldn't unlock volume {volume_name}:\n"
 "{error_message}"
-msgstr ""
+msgstr "无法解锁加密卷{volume_name}:\n{error_message}"
 
 #: 
config/chroot_local-includes/usr/local/lib/python3/dist-packages/unlock_veracrypt_volumes/volume_list.py:83
 msgid "No file containers added"
@@ -655,7 +655,7 @@ msgstr "已添加容器"
 #: 
config/chroot_local-includes/usr/local/lib/python3/dist-packages/unlock_veracrypt_volumes/volume_manager.py:115
 #, python-format
 msgid "The file container %s should already be listed."
-msgstr ""
+msgstr "文件容器%s 应该已经被列出。"
 
 #: 
config/chroot_local-includes/usr/local/lib/python3/dist-packages/unlock_veracrypt_volumes/volume_manager.py:131
 msgid "Container opened read-only"

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


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

2018-10-30 Thread translation
commit 86db139550de448b9f17e7977c2f3e6c03d388a4
Author: Translation commit bot 
Date:   Wed Oct 31 05:16:00 2018 +

Update translations for tails-misc
---
 zh_CN.po | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/zh_CN.po b/zh_CN.po
index 9195f84a7..4f20882a9 100644
--- a/zh_CN.po
+++ b/zh_CN.po
@@ -23,7 +23,7 @@ msgstr ""
 "Project-Id-Version: Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2018-10-15 14:47+0200\n"
-"PO-Revision-Date: 2018-10-31 04:23+\n"
+"PO-Revision-Date: 2018-10-31 05:14+\n"
 "Last-Translator: Herman Gu \n"
 "Language-Team: Chinese (China) 
(http://www.transifex.com/otf/torproject/language/zh_CN/)\n"
 "MIME-Version: 1.0\n"
@@ -348,14 +348,14 @@ msgid ""
 "some software using Synaptic Package "
 "Manager or APT on the command "
 "line."
-msgstr ""
+msgstr "为实现以上操作,开始运行Tails时解锁您的持久
存储,并在安装某些软件时使用 新立得软件包管理器 或通过终端使用 APT。"
 
 #: 
config/chroot_local-includes/usr/local/bin/tails-additional-software-config:198
 msgid ""
 "To do so, create a persistent storage and install some software using Synaptic Package Manager or APT on the command line."
-msgstr ""
+msgstr "为实现以上操作,创建一个持久存储并在安装
某些软件时使用 新立得软件包
管理器 或通过终端使用 
APT。"
 
 #: 
config/chroot_local-includes/usr/local/bin/tails-additional-software-config:206
 msgid ""

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


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

2018-10-30 Thread translation
commit 4895d2bcc6fea071329dced100b4486c56a1fd12
Author: Translation commit bot 
Date:   Wed Oct 31 04:46:01 2018 +

Update translations for tails-misc
---
 zh_CN.po | 16 
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/zh_CN.po b/zh_CN.po
index b1713a12a..9195f84a7 100644
--- a/zh_CN.po
+++ b/zh_CN.po
@@ -23,7 +23,7 @@ msgstr ""
 "Project-Id-Version: Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2018-10-15 14:47+0200\n"
-"PO-Revision-Date: 2018-10-31 04:15+\n"
+"PO-Revision-Date: 2018-10-31 04:23+\n"
 "Last-Translator: Herman Gu \n"
 "Language-Team: Chinese (China) 
(http://www.transifex.com/otf/torproject/language/zh_CN/)\n"
 "MIME-Version: 1.0\n"
@@ -261,7 +261,7 @@ msgstr "从附加软件中移除{packages} ?"
 #: config/chroot_local-includes/usr/local/sbin/tails-additional-software:354
 #, python-brace-format
 msgid "This will stop installing {packages} automatically."
-msgstr "这将导致 {packages}的安装进程自动停止。"
+msgstr "这将导致 {packages}的安装进程自动中止。"
 
 #: config/chroot_local-includes/usr/local/sbin/tails-additional-software:356
 msgid "Remove"
@@ -302,7 +302,7 @@ msgstr "请检查您的网络连接,重启Tails或者阅
读系统日志以了
 
 #: config/chroot_local-includes/usr/local/sbin/tails-additional-software:589
 msgid "The upgrade of your additional software failed"
-msgstr "附加软件升级失败。"
+msgstr "附加软件更新失败。"
 
 #: 
config/chroot_local-includes/usr/local/lib/tails-additional-software-notify:37
 msgid "Documentation"
@@ -315,32 +315,32 @@ msgstr "文档"
 msgid ""
 "Remove {package} from your additional software? This will stop installing "
 "the package automatically."
-msgstr ""
+msgstr "从您的附加
软件中移除{package}?这将自动中止{package}的安装进程。"
 
 #. Translators: Don't translate {pkg}, it's a placeholder and will be
 #. replaced.
 #: 
config/chroot_local-includes/usr/local/bin/tails-additional-software-config:107
 #, python-brace-format
 msgid "Failed to remove {pkg}"
-msgstr ""
+msgstr "移除{pkg}失败。"
 
 #: 
config/chroot_local-includes/usr/local/bin/tails-additional-software-config:124
 msgid "Failed to read additional software configuration"
-msgstr ""
+msgstr "读取附加软件配置失败。"
 
 #. Translators: Don't translate {package}, it's a placeholder and will be
 #. replaced.
 #: 
config/chroot_local-includes/usr/local/bin/tails-additional-software-config:154
 #, python-brace-format
 msgid "Stop installing {package} automatically"
-msgstr ""
+msgstr " {package} 安装自动中止。"
 
 #: 
config/chroot_local-includes/usr/local/bin/tails-additional-software-config:179
 msgid ""
 "To do so, install some software using Synaptic "
 "Package Manager or APT on the "
 "command line."
-msgstr ""
+msgstr "为实现以上操作,可以使用 新立得软件包管理器 或通过终端使用 APT。"
 
 #: 
config/chroot_local-includes/usr/local/bin/tails-additional-software-config:188
 msgid ""

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


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

2018-10-30 Thread translation
commit ce2422807ec0b8d0cf66ffc10adf6ee746bec496
Author: Translation commit bot 
Date:   Wed Oct 31 04:16:04 2018 +

Update translations for tails-misc
---
 zh_CN.po | 22 +++---
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/zh_CN.po b/zh_CN.po
index 1433ee84c..b1713a12a 100644
--- a/zh_CN.po
+++ b/zh_CN.po
@@ -17,13 +17,13 @@
 # Xiaolan , 2014
 # YF , 2016
 # YF , 2013-2016
-# ヨイツの賢狼ホロ , 2018
+# ヨイツの賢狼ホロ, 2018
 msgid ""
 msgstr ""
 "Project-Id-Version: Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2018-10-15 14:47+0200\n"
-"PO-Revision-Date: 2018-10-30 05:21+\n"
+"PO-Revision-Date: 2018-10-31 04:15+\n"
 "Last-Translator: Herman Gu \n"
 "Language-Team: Chinese (China) 
(http://www.transifex.com/otf/torproject/language/zh_CN/)\n"
 "MIME-Version: 1.0\n"
@@ -254,14 +254,14 @@ msgstr "要实现以上操作,你
需要通过USB来运行Tails Installer___
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_completed] Update translations for tor-browser-manual_completed

2018-10-30 Thread translation
commit 53e93c5941bfbfd394e10c6a113ea5b940458a14
Author: Translation commit bot 
Date:   Tue Oct 30 21:17:34 2018 +

Update translations for tor-browser-manual_completed
---
 el/el.po | 75 
 1 file changed, 37 insertions(+), 38 deletions(-)

diff --git a/el/el.po b/el/el.po
index 217187788..56f81f914 100644
--- a/el/el.po
+++ b/el/el.po
@@ -12,13 +12,12 @@
 # Evgenios Kostis , 2017
 # Elektra M. , 2017
 # Sotiris Blad , 2017
-# Alex , 2018
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "POT-Creation-Date: 2018-09-07 16:48-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: Alex , 2018\n"
+"Last-Translator: Sotiris Blad , 2017\n"
 "Language-Team: Greek (https://www.transifex.com/otf/teams/1519/el/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -1179,7 +1178,7 @@ msgid ""
 msgstr ""
 "Ο Tor Browser περιλαμβάνει ένα πρόσθετο που 
ονομάζεται NoScript, πρόσβαση "
 "στο οποίο έχετε μέσω του εικονιδίου \"S\" 
στην πάνω αριστερή πλευρά του "
-"παραθύρου. Το NoScript σάς επιτρέπει να 
ελέγχετε τη JavaScript (και άλλα "
+"παραθύρου. Το NoScript σας επιτρέπει να 
ελέγχετε τη JavaScript (και άλλα "
 "scripts) που εκτελούνται σε μεμονωμένες 
ιστοσελίδες ή να τα αποκλείσετε "
 "εντελώς."
 
@@ -1210,8 +1209,8 @@ msgstr ""
 "Ασφαλείαςτου περιηγητή Tor στο 
\"Ασφαλέστερα\" (το οποίο εφαρμόζεται "
 "σε όλες τις ιστοσελίδες). Παρ' όλα αυτά, η 
απενεργοποίηση των JavaScript θα "
 "αποτρέψει πολλές ιστοσελίδες από την 
κανονική τους λειτουργία, γι' αυτό η "
-"αυτόματη ρύθμιση του περιηγητή Tor είναι να 
επιτρέπει σε όλες τις "
-"ιστοσελίδες να λειτουργούν θέτοντας αυ
τόματα το \"Κανονικό\" προφίλ."
+"αυτόματη ρύθμιση του Tor Browser είναι να 
επιτρέπει σε όλες τις ιστοσελίδες "
+"να λειτουργούν θέτοντας αυτόματα το 
\"Κανονικό\" προφίλ."
 
 #: plugins.page:59
 msgid "Browser Add-ons"
@@ -1238,8 +1237,8 @@ msgstr ""
 "είναι αυτά που περιλαμβάνονται από 
προεπιλογή. Η εγκατάσταση οποιουδήποτε "
 "άλλου πρόσθετου ενδέχεται να δημιου
ργήσει λειτουργικά προβλήματα στον Tor "
 "Browser ή να προκαλέσει σοβαρότερα 
προβλήματα που επηρεάζουν την "
-"ιδιωτικότητα και την ασφάλεια σας. 
Αποθαρρύνεται έντονα η εγκατάσταση "
-"επιπλέον πρόσθετων και το Tor Project δεν θα 
προσφέρει υποστήριξη για αυτα."
+"ιδιωτικότητα και την ασφάλειά σας. 
Αποθαρρύνεται έντονα η εγκατάσταση "
+"επιπλέον πρόσθετων και το Tor Project δεν θα 
προσφέρει υποστήριξη για αυτά."
 
 #: secure-connections.page:8
 msgid "Learn how to protect your data using Tor Browser and HTTPS"
@@ -1329,7 +1328,7 @@ msgstr "Πιθανώς ορατά δεδομένα"
 
 #: secure-connections.page:70
 msgid "The site being visited."
-msgstr "Η ιστοσελίδα που επισκέφτηκες."
+msgstr "Η ιστοσελίδα που επισκέπτεστε."
 
 #: secure-connections.page:81
 msgid "Username and password used for authentication."
@@ -1395,7 +1394,7 @@ msgstr ""
 msgid ""
 "The Security Slider is located in Torbutton’s “Security Settings” menu."
 msgstr ""
-"Ο Slider Ασφαλείας βρίσκεται στο σήμα του Tor, 
στο μενού \"Ρυθμίσεις "
+"Ο Slider Ασφαλείας βρίσκεται στο Torbutton, στο 
μενού \"Ρυθμίσεις "
 "Ασφάλειας\"."
 
 #: security-slider.page:32
@@ -1469,15 +1468,15 @@ msgstr ""
 
 #: security-slider.page:64
 msgid "Standard"
-msgstr "Γουιάνα"
+msgstr "Βασικό"
 
 #: security-slider.page:65
 msgid ""
 "At this level, all browser features are enabled. This is the most usable "
 "option."
 msgstr ""
-"Σε αυτό το επίπεδο, όλες οι λειτουργίες του
 περιηγητή είναι ενεργοποιημένες."
-" Αυτή είναι η πιο εύχρηστη επιλογή."
+"Σε αυτό το επίπεδο, όλες οι λειτουργίες του
 browser είναι ενεργοποιÎ

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

2018-10-30 Thread translation
commit c779d01918200db56bb07d4297a2baf22e2df9b8
Author: Translation commit bot 
Date:   Tue Oct 30 21:17:29 2018 +

Update translations for tor-browser-manual
---
 el/el.po | 75 
 1 file changed, 37 insertions(+), 38 deletions(-)

diff --git a/el/el.po b/el/el.po
index 217187788..56f81f914 100644
--- a/el/el.po
+++ b/el/el.po
@@ -12,13 +12,12 @@
 # Evgenios Kostis , 2017
 # Elektra M. , 2017
 # Sotiris Blad , 2017
-# Alex , 2018
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "POT-Creation-Date: 2018-09-07 16:48-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: Alex , 2018\n"
+"Last-Translator: Sotiris Blad , 2017\n"
 "Language-Team: Greek (https://www.transifex.com/otf/teams/1519/el/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -1179,7 +1178,7 @@ msgid ""
 msgstr ""
 "Ο Tor Browser περιλαμβάνει ένα πρόσθετο που 
ονομάζεται NoScript, πρόσβαση "
 "στο οποίο έχετε μέσω του εικονιδίου \"S\" 
στην πάνω αριστερή πλευρά του "
-"παραθύρου. Το NoScript σάς επιτρέπει να 
ελέγχετε τη JavaScript (και άλλα "
+"παραθύρου. Το NoScript σας επιτρέπει να 
ελέγχετε τη JavaScript (και άλλα "
 "scripts) που εκτελούνται σε μεμονωμένες 
ιστοσελίδες ή να τα αποκλείσετε "
 "εντελώς."
 
@@ -1210,8 +1209,8 @@ msgstr ""
 "Ασφαλείαςτου περιηγητή Tor στο 
\"Ασφαλέστερα\" (το οποίο εφαρμόζεται "
 "σε όλες τις ιστοσελίδες). Παρ' όλα αυτά, η 
απενεργοποίηση των JavaScript θα "
 "αποτρέψει πολλές ιστοσελίδες από την 
κανονική τους λειτουργία, γι' αυτό η "
-"αυτόματη ρύθμιση του περιηγητή Tor είναι να 
επιτρέπει σε όλες τις "
-"ιστοσελίδες να λειτουργούν θέτοντας αυ
τόματα το \"Κανονικό\" προφίλ."
+"αυτόματη ρύθμιση του Tor Browser είναι να 
επιτρέπει σε όλες τις ιστοσελίδες "
+"να λειτουργούν θέτοντας αυτόματα το 
\"Κανονικό\" προφίλ."
 
 #: plugins.page:59
 msgid "Browser Add-ons"
@@ -1238,8 +1237,8 @@ msgstr ""
 "είναι αυτά που περιλαμβάνονται από 
προεπιλογή. Η εγκατάσταση οποιουδήποτε "
 "άλλου πρόσθετου ενδέχεται να δημιου
ργήσει λειτουργικά προβλήματα στον Tor "
 "Browser ή να προκαλέσει σοβαρότερα 
προβλήματα που επηρεάζουν την "
-"ιδιωτικότητα και την ασφάλεια σας. 
Αποθαρρύνεται έντονα η εγκατάσταση "
-"επιπλέον πρόσθετων και το Tor Project δεν θα 
προσφέρει υποστήριξη για αυτα."
+"ιδιωτικότητα και την ασφάλειά σας. 
Αποθαρρύνεται έντονα η εγκατάσταση "
+"επιπλέον πρόσθετων και το Tor Project δεν θα 
προσφέρει υποστήριξη για αυτά."
 
 #: secure-connections.page:8
 msgid "Learn how to protect your data using Tor Browser and HTTPS"
@@ -1329,7 +1328,7 @@ msgstr "Πιθανώς ορατά δεδομένα"
 
 #: secure-connections.page:70
 msgid "The site being visited."
-msgstr "Η ιστοσελίδα που επισκέφτηκες."
+msgstr "Η ιστοσελίδα που επισκέπτεστε."
 
 #: secure-connections.page:81
 msgid "Username and password used for authentication."
@@ -1395,7 +1394,7 @@ msgstr ""
 msgid ""
 "The Security Slider is located in Torbutton’s “Security Settings” menu."
 msgstr ""
-"Ο Slider Ασφαλείας βρίσκεται στο σήμα του Tor, 
στο μενού \"Ρυθμίσεις "
+"Ο Slider Ασφαλείας βρίσκεται στο Torbutton, στο 
μενού \"Ρυθμίσεις "
 "Ασφάλειας\"."
 
 #: security-slider.page:32
@@ -1469,15 +1468,15 @@ msgstr ""
 
 #: security-slider.page:64
 msgid "Standard"
-msgstr "Γουιάνα"
+msgstr "Βασικό"
 
 #: security-slider.page:65
 msgid ""
 "At this level, all browser features are enabled. This is the most usable "
 "option."
 msgstr ""
-"Σε αυτό το επίπεδο, όλες οι λειτουργίες του
 περιηγητή είναι ενεργοποιημένες."
-" Αυτή είναι η πιο εύχρηστη επιλογή."
+"Σε αυτό το επίπεδο, όλες οι λειτουργίες του
 browser είναι ενεργοποιημένεÏ

[tor-commits] [webwml/master] Update Linus' photo and pronoun

2018-10-30 Thread atagar
commit 3b4f9216367929dfc3ffeb86cf48965db15b94b0
Author: Damian Johnson 
Date:   Tue Oct 30 14:07:20 2018 -0700

Update Linus' photo and pronoun
---
 about/en/corepeople.wml|   1 +
 images/people/ln5.png  | Bin 34926 -> 32291 bytes
 images/people/orig/ln5.jpg | Bin 18819 -> 54715 bytes
 3 files changed, 1 insertion(+)

diff --git a/about/en/corepeople.wml b/about/en/corepeople.wml
index 0b12f702..b35e614b 100644
--- a/about/en/corepeople.wml
+++ b/about/en/corepeople.wml
@@ -504,6 +504,7 @@
   https://db.torproject.org/fetchkey.cgi?fingerprint=8C4CD511095E982EB0EFBFA21E8BF34923291265";>
   Linus Nordberg
   IRC: ln5
+  Pronoun: http://pronoun.is/he";>he
   Software developer, sysadmin and co-founder of 
the Swedish Torservers.net partner :DFRI. Member of the sysadmin team. Runs one 
of the directory authorities.
 
 
diff --git a/images/people/ln5.png b/images/people/ln5.png
index 887cc90f..9ea59627 100644
Binary files a/images/people/ln5.png and b/images/people/ln5.png differ
diff --git a/images/people/orig/ln5.jpg b/images/people/orig/ln5.jpg
index 2db92cab..72541447 100644
Binary files a/images/people/orig/ln5.jpg and b/images/people/orig/ln5.jpg 
differ

___
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

2018-10-30 Thread translation
commit 83416313bc01e6b679ed152d502eae364b9f12e2
Author: Translation commit bot 
Date:   Tue Oct 30 20:47:39 2018 +

Update translations for tor-browser-manual
---
 el/el.po | 49 +
 1 file changed, 25 insertions(+), 24 deletions(-)

diff --git a/el/el.po b/el/el.po
index 7a3b27b21..217187788 100644
--- a/el/el.po
+++ b/el/el.po
@@ -985,14 +985,15 @@ msgid ""
 "or unlink your activity, nor does it affect your current connections to "
 "other websites."
 msgstr ""
-"Αυτή η επιλογή είναι χρήσιμη εάν ο κόμβος 
εξόδου που χρησιμοποιείτε δεν "
-"είναι σε θέση να συνδεθεί στην ιστοσελίδα 
που χρειάζεστε ή δεν την φορτώνει "
-"σωστά. Η επιλογή του θα προκαλέσει την 
επαναφόρτωση της τρέχουσας καρτέλας ή"
-" του παραθύρου μέσω ενός νέου κυκλώματος 
Tor. Άλλες ανοιχτές καρτέλες και "
-"παράθυρα από την ίδια ιστοσελίδα θα 
χρησιμοποιήσουν το νέο κύκλωμα μόλις "
-"φορτωθούν ξανά. Αυτή η επιλογή δεν 
εκκαθαρίζει καμία ιδιωτική πληροφορία "
-"ούτε αποσυνδέει τη δραστηριότητά σας, 
ούτε επηρεάζει τις τρέχουσες συνδέσεις"
-" σας με άλλες ιστοσελίδες."
+"Αυτή η επιλογή είναι χρήσιμη εάν ο κόμβος εξόδου που χρησιμοποιείτε 
δεν είναι σε θέση να "
+"συνδεθεί στην ιστοσελίδα που χρειάζεστε ή 
δεν την φορτώνει σωστά. Η επιλογή "
+"του θα προκαλέσει την επαναφόρτωση της 
τρέχουσας καρτέλας ή του παραθύρου "
+"μέσω ενός νέου κυκλώματος Tor. Άλλες 
ανοιχτές καρτέλες και παράθυρα από την "
+"ίδια ιστοσελίδα θα χρησιμοποιήσουν το νέο 
κύκλωμα μόλις φορτωθούν ξανά. Αυτή"
+" η επιλογή δεν εκκαθαρίζει καμία ιδιωτική 
πληροφορία ούτε αποσυνδέει τη "
+"δραστηριότητά σας, ούτε επηρεάζει τις 
τρέχουσες συνδέσεις σας με άλλες "
+"ιστοσελίδες."
 
 #: onionsites.page:6
 msgid "Services that are only accessible using Tor"
@@ -1047,7 +1048,7 @@ msgid ""
 msgstr ""
 "Η διεύθυνση μιας υπηρεσίας onion παράγεται 
αυτόματα, έτσι ώστε οι "
 "διαχειριστές δεν χρειάζεται να αγοράσουν 
ένα domain name. η .onion διεύθυνση"
-" URL βοηθά επίσης τον Tor να διασφαλίσει ότι 
συνδέεται στη σωστή τοποθεσία "
+" URL βοηθά επίσης το Tor να διασφαλίσει ότι συ
νδέεται στη σωστή τοποθεσία "
 "και ότι η σύνδεση δεν παραβιάζεται."
 
 #: onionsites.page:46
@@ -1294,7 +1295,7 @@ msgid ""
 "using Tor. The button will turn green to indicate that Tor is on."
 msgstr ""
 "Κάντε κλικ στο κουμπί \"Tor\" για να δείτε 
ποια δεδομένα είναι ορατά σε "
-"παρατηρητές όταν χρησιμοποιείτε τον Tor. Το 
κουμπί θα γίνει πράσινο ως "
+"παρατηρητές όταν χρησιμοποιείτε το Tor. Το 
κουμπί θα γίνει πράσινο ως "
 "ένδειξη ότι ο Tor είναι ενεργοποιημένος."
 
 #: secure-connections.page:42
@@ -1420,8 +1421,8 @@ msgid ""
 "disable certain browser features to protect against possible attacks."
 msgstr ""
 "Η αύξηση του επιπέδου του Slider Ασφαλείας θα 
απενεργοποιήσει πλήρως ή "
-"μερικώς κάποιες λειτουργίες του 
περιηγητή, για να σε προστατέψει από 
πιθανές"
-" επιθέσεις."
+"μερικώς κάποιες λειτουργίες του 
περιηγητή, για να σας προστατέψει από "
+"πιθανές επιθέσεις."
 
 #: security-slider.page:42
 msgid "Safest"
@@ -1658,7 +1659,7 @@ msgid ""
 msgstr ""
 "Τα Pluggable transports είναι εργαλεία τα οποία 
μπορεί να χρησιμοποιήσει ο "
 "Tor για να κρύψει την κίνηση που εκπέμπει. Αυ
τό μπορεί να χρησιμεύσει στην "
-"περίπτωση του ένας πάροχος ίντερνετ ή 
κάποια άλλη αρχή εμποÎ

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

2018-10-30 Thread translation
commit a55d18bc98489b985c7bb02c41d6fe8a6e3100f0
Author: Translation commit bot 
Date:   Tue Oct 30 20:47:45 2018 +

Update translations for tor-browser-manual_completed
---
 el/el.po | 49 +
 1 file changed, 25 insertions(+), 24 deletions(-)

diff --git a/el/el.po b/el/el.po
index 7a3b27b21..217187788 100644
--- a/el/el.po
+++ b/el/el.po
@@ -985,14 +985,15 @@ msgid ""
 "or unlink your activity, nor does it affect your current connections to "
 "other websites."
 msgstr ""
-"Αυτή η επιλογή είναι χρήσιμη εάν ο κόμβος 
εξόδου που χρησιμοποιείτε δεν "
-"είναι σε θέση να συνδεθεί στην ιστοσελίδα 
που χρειάζεστε ή δεν την φορτώνει "
-"σωστά. Η επιλογή του θα προκαλέσει την 
επαναφόρτωση της τρέχουσας καρτέλας ή"
-" του παραθύρου μέσω ενός νέου κυκλώματος 
Tor. Άλλες ανοιχτές καρτέλες και "
-"παράθυρα από την ίδια ιστοσελίδα θα 
χρησιμοποιήσουν το νέο κύκλωμα μόλις "
-"φορτωθούν ξανά. Αυτή η επιλογή δεν 
εκκαθαρίζει καμία ιδιωτική πληροφορία "
-"ούτε αποσυνδέει τη δραστηριότητά σας, 
ούτε επηρεάζει τις τρέχουσες συνδέσεις"
-" σας με άλλες ιστοσελίδες."
+"Αυτή η επιλογή είναι χρήσιμη εάν ο κόμβος εξόδου που χρησιμοποιείτε 
δεν είναι σε θέση να "
+"συνδεθεί στην ιστοσελίδα που χρειάζεστε ή 
δεν την φορτώνει σωστά. Η επιλογή "
+"του θα προκαλέσει την επαναφόρτωση της 
τρέχουσας καρτέλας ή του παραθύρου "
+"μέσω ενός νέου κυκλώματος Tor. Άλλες 
ανοιχτές καρτέλες και παράθυρα από την "
+"ίδια ιστοσελίδα θα χρησιμοποιήσουν το νέο 
κύκλωμα μόλις φορτωθούν ξανά. Αυτή"
+" η επιλογή δεν εκκαθαρίζει καμία ιδιωτική 
πληροφορία ούτε αποσυνδέει τη "
+"δραστηριότητά σας, ούτε επηρεάζει τις 
τρέχουσες συνδέσεις σας με άλλες "
+"ιστοσελίδες."
 
 #: onionsites.page:6
 msgid "Services that are only accessible using Tor"
@@ -1047,7 +1048,7 @@ msgid ""
 msgstr ""
 "Η διεύθυνση μιας υπηρεσίας onion παράγεται 
αυτόματα, έτσι ώστε οι "
 "διαχειριστές δεν χρειάζεται να αγοράσουν 
ένα domain name. η .onion διεύθυνση"
-" URL βοηθά επίσης τον Tor να διασφαλίσει ότι 
συνδέεται στη σωστή τοποθεσία "
+" URL βοηθά επίσης το Tor να διασφαλίσει ότι συ
νδέεται στη σωστή τοποθεσία "
 "και ότι η σύνδεση δεν παραβιάζεται."
 
 #: onionsites.page:46
@@ -1294,7 +1295,7 @@ msgid ""
 "using Tor. The button will turn green to indicate that Tor is on."
 msgstr ""
 "Κάντε κλικ στο κουμπί \"Tor\" για να δείτε 
ποια δεδομένα είναι ορατά σε "
-"παρατηρητές όταν χρησιμοποιείτε τον Tor. Το 
κουμπί θα γίνει πράσινο ως "
+"παρατηρητές όταν χρησιμοποιείτε το Tor. Το 
κουμπί θα γίνει πράσινο ως "
 "ένδειξη ότι ο Tor είναι ενεργοποιημένος."
 
 #: secure-connections.page:42
@@ -1420,8 +1421,8 @@ msgid ""
 "disable certain browser features to protect against possible attacks."
 msgstr ""
 "Η αύξηση του επιπέδου του Slider Ασφαλείας θα 
απενεργοποιήσει πλήρως ή "
-"μερικώς κάποιες λειτουργίες του 
περιηγητή, για να σε προστατέψει από 
πιθανές"
-" επιθέσεις."
+"μερικώς κάποιες λειτουργίες του 
περιηγητή, για να σας προστατέψει από "
+"πιθανές επιθέσεις."
 
 #: security-slider.page:42
 msgid "Safest"
@@ -1658,7 +1659,7 @@ msgid ""
 msgstr ""
 "Τα Pluggable transports είναι εργαλεία τα οποία 
μπορεί να χρησιμοποιήσει ο "
 "Tor για να κρύψει την κίνηση που εκπέμπει. Αυ
τό μπορεί να χρησιμεύσει στην "
-"περίπτωση του ένας πάροχος ίντερνετ ή 
κάποια άλλη αρχή

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

2018-10-30 Thread translation
commit f399ca6379f8f97cf56ad7cf2db194d53832c17a
Author: Translation commit bot 
Date:   Tue Oct 30 20:46:09 2018 +

Update translations for tails-misc
---
 el.po | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/el.po b/el.po
index cb154beea..cf8f6d60d 100644
--- a/el.po
+++ b/el.po
@@ -29,8 +29,8 @@ msgstr ""
 "Project-Id-Version: Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2018-10-15 14:47+0200\n"
-"PO-Revision-Date: 2018-10-15 14:43+\n"
-"Last-Translator: carolyn \n"
+"PO-Revision-Date: 2018-10-30 20:19+\n"
+"Last-Translator: A Papac \n"
 "Language-Team: Greek (http://www.transifex.com/otf/torproject/language/el/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -631,11 +631,11 @@ msgstr "{volume_name} - {drive_name}"
 
 #: 
config/chroot_local-includes/usr/local/lib/python3/dist-packages/unlock_veracrypt_volumes/volume.py:222
 msgid "Wrong passphrase or parameters"
-msgstr ""
+msgstr "Λάθος συνθηματικό ή παράμετροι"
 
 #: 
config/chroot_local-includes/usr/local/lib/python3/dist-packages/unlock_veracrypt_volumes/volume.py:224
 msgid "Error unlocking volume"
-msgstr ""
+msgstr "Σφάλμα ξεκλειδώματος όγκου δεδομένων"
 
 #. Translators: Don't translate {volume_name} or {error_message},
 #. they are placeholder and will be replaced.
@@ -644,7 +644,7 @@ msgstr ""
 msgid ""
 "Couldn't unlock volume {volume_name}:\n"
 "{error_message}"
-msgstr ""
+msgstr "Αδυναμία φεκλειδώματος όγκου 
δεδομένων {volume_name}:\n{error_message}"
 
 #: 
config/chroot_local-includes/usr/local/lib/python3/dist-packages/unlock_veracrypt_volumes/volume_list.py:83
 msgid "No file containers added"

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


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

2018-10-30 Thread translation
commit 959598c551e8d6aba7653c818deda50ab1d3d048
Author: Translation commit bot 
Date:   Tue Oct 30 20:45:56 2018 +

Update translations for liveusb-creator_completed
---
 el/el.po | 86 
 1 file changed, 43 insertions(+), 43 deletions(-)

diff --git a/el/el.po b/el/el.po
index 270f96105..742a404a7 100644
--- a/el/el.po
+++ b/el/el.po
@@ -26,9 +26,9 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-17 13:11+0200\n"
-"PO-Revision-Date: 2018-10-17 14:51+\n"
-"Last-Translator: erinm\n"
+"POT-Creation-Date: 2018-10-20 12:34+0200\n"
+"PO-Revision-Date: 2018-10-30 20:19+\n"
+"Last-Translator: A Papac \n"
 "Language-Team: Greek (http://www.transifex.com/otf/torproject/language/el/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -95,194 +95,194 @@ msgstr "Αδυναμία αντιγραφής %(infile)s 
στο %(outfile)s: %(m
 msgid "Removing existing Live OS"
 msgstr "Αφαίρεση υπάρχοντος Live Λειτουργικού"
 
-#: ../tails_installer/creator.py:444 ../tails_installer/creator.py:456
+#: ../tails_installer/creator.py:444 ../tails_installer/creator.py:457
 #, python-format
 msgid "Unable to chmod %(file)s: %(message)s"
 msgstr "Αδυναμία εφαρμογής chmod στο/στα 
αρχείο/α %(file)s: %(message)s"
 
-#: ../tails_installer/creator.py:449
+#: ../tails_installer/creator.py:450
 #, python-format
 msgid "Unable to remove file from previous LiveOS: %(message)s"
 msgstr "Αδυναμία απομάκρυνσης αρχείου από 
προηγούμενο LiveOS: %(message)s"
 
-#: ../tails_installer/creator.py:462
+#: ../tails_installer/creator.py:464
 #, python-format
 msgid "Unable to remove directory from previous LiveOS: %(message)s"
 msgstr "Αδυναμία απομάκρυνσης καταλόγου από 
προηγούμενο LiveOS: %(message)s"
 
-#: ../tails_installer/creator.py:510
+#: ../tails_installer/creator.py:512
 #, python-format
 msgid "Cannot find device %s"
 msgstr "Αδυναμία εύρεσης συσκευής %s"
 
-#: ../tails_installer/creator.py:711
+#: ../tails_installer/creator.py:713
 #, python-format
 msgid "Unable to write on %(device)s, skipping."
 msgstr "Αδυναμία εγγραφής στο %(device)s, 
παράκαμψη."
 
-#: ../tails_installer/creator.py:741
+#: ../tails_installer/creator.py:743
 #, python-format
 msgid ""
 "Some partitions of the target device %(device)s are mounted. They will be "
 "unmounted before starting the installation process."
 msgstr "Κάποιες κατατμήσεις του δίσκου %(device)s 
είναι προσαρτημένες. Θα αποσυνδεθούν πριν 
ξεκινήσει η διαδικασία εγκατάστασης."
 
-#: ../tails_installer/creator.py:784 ../tails_installer/creator.py:1008
+#: ../tails_installer/creator.py:786 ../tails_installer/creator.py:1010
 msgid "Unknown filesystem.  Your device may need to be reformatted."
 msgstr "Άγνωστο σύστημα αρχείων. Η συσκευή 
μπορεί να χρειάζεται διαμόρφωση."
 
-#: ../tails_installer/creator.py:787 ../tails_installer/creator.py:1011
+#: ../tails_installer/creator.py:789 ../tails_installer/creator.py:1013
 #, python-format
 msgid "Unsupported filesystem: %s"
 msgstr "Μη υποστηριζόμενο σύστημα αρχείων: %s"
 
-#: ../tails_installer/creator.py:805
+#: ../tails_installer/creator.py:807
 #, python-format
 msgid "Unknown GLib exception while trying to mount device: %(message)s"
 msgstr "Άγνωστη εξαίρεση GLib κατά την 
προσπάθεια προσάρτησης της συσκευής: 
%(message)s"
 
-#: ../tails_installer/creator.py:810
+#: ../tails_installer/creator.py:812
 #, python-format
 msgid "Unable to mount device: %(message)s"
 msgstr "Αδυναμία προσάρτησης συσκευής: %(message)s"
 
-#: ../tails_installer/creator.py:815
+#: ../tails_installer/creator.py:817
 msgid "No mount points found"
 msgstr "Δεν βρέθηκαν σημεία προσάρτησης"
 
-#: ../tails_installer/creator.py:826
+#: ../tails_installer/creator.py:828
 #, python-format
 msgid "Entering unmount_device for '%(device)s'"
 msgstr "Εισαγωγή  unmount_device για '%(device)s'"
 
-#: ../tails_installer/creator.py:836
+#: ../tails_installer/creator.py:838
 #, python-format
 msgid "Unmounting mounted filesystems on '%(device)s'"
 msgstr "Αποπροσάρτηση προσαρτημένων συ
στημάτων αρχείων σε '%(device)s'"
 
-#: ../tails_installer/creator.py:840
+#: ../tails_installer/creator.py:842
 #, python-format
 msgid "Unmounting '%(udi)s' on '%(device)s'"
 msgstr "Αποπροσάρτηση '%(udi)s' σε '%(device)s'"
 
-#: ../tails_installer/creator.py:851
+#: ../tails_installer/creator.py:85

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

2018-10-30 Thread translation
commit ad5df4bb4fdfc15305534ebec3178a2b9ae7602b
Author: Translation commit bot 
Date:   Tue Oct 30 20:46:14 2018 +

Update translations for tails-misc_completed
---
 el.po | 163 ++
 1 file changed, 103 insertions(+), 60 deletions(-)

diff --git a/el.po b/el.po
index 36921a592..cf8f6d60d 100644
--- a/el.po
+++ b/el.po
@@ -28,9 +28,9 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-09-04 11:37+0200\n"
-"PO-Revision-Date: 2018-10-07 00:45+\n"
-"Last-Translator: Emma Peel\n"
+"POT-Creation-Date: 2018-10-15 14:47+0200\n"
+"PO-Revision-Date: 2018-10-30 20:19+\n"
+"Last-Translator: A Papac \n"
 "Language-Team: Greek (http://www.transifex.com/otf/torproject/language/el/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -76,7 +76,7 @@ msgid ""
 msgstr "Το ακόλουθο λογισμικό εγκαθίσταται αυ
τόματα από το μόνιμο αποθηκευτικό σας χώρο 
ξεκινώντας τα Tails."
 
 #: 
config/chroot_local-includes/usr/share/tails/additional-software/configuration-window.ui:132
-#: 
config/chroot_local-includes/usr/local/bin/tails-additional-software-config:169
+#: 
config/chroot_local-includes/usr/local/bin/tails-additional-software-config:172
 msgid ""
 "To add more, install some software using Synaptic Package Manager or Additional Software feature."
 msgstr "Για να το εγκαταστήσετε αυτόματα κατά 
την εκκίνηση των Tails, μπορείτε να δημιου
ργήσετε ένα μόνιμο αποθηκευτικό χώρο και 
να ενεργοποιήσετε τη λειτουργία Πρόσθετο 
λογισμικό. "
 
-#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:314
+#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:318
 msgid "Create Persistent Storage"
 msgstr "Δημιουργία Μόνιμου Αποθηκευτικού 
Χώρου"
 
-#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:322
+#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:326
 msgid "Creating your persistent storage failed."
 msgstr "Η δημιουργία μόνιμου αποθηκευτικού 
χώρου απέτυχε."
 
-#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:329
+#. Translators: Don't translate {packages}, it's a placeholder and will be
+#. replaced.
+#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:334
 #, python-brace-format
 msgid "You could install {packages} automatically when starting Tails"
 msgstr "Θα μπορούσατε να εγκαταστήσετε {packages} 
αυτόματα ξεκινώντας τα Tails."
 
-#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:332
+#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:337
 msgid ""
 "To do so, you need to run Tails from a USB stick installed using Tails "
 "Installer."
 msgstr "Για να το κάνετε, χρειάζεται να 
τρέξετε τα Tails από USB στικ εγκατεστημένα, 
χρησιμοποιώντας τον  Εγκαταστάτη Tails ."
 
-#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:345
+#. Translators: Don't translate {packages}, it's a placeholder and will be
+#. replaced.
+#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:351
 #, python-brace-format
 msgid "Remove {packages} from your additional software?"
 msgstr "Να αφαιρεθούν τα {packages} από το 
επιπρόθετο λογισμικό σας;"
 
-#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:347
+#. Translators: Don't translate {packages}, it's a placeholder and will be
+#. replaced.
+#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:354
 #, python-brace-format
 msgid "This will stop installing {packages} automatically."
 msgstr "Αυτό θα σταματήσει την εγκατάσταση 
των {packages} αυτόματα."
 
-#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:349
+#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:356
 msgid "Remove"
 msgstr "Απομάκρυνση"
 
-#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:350
+#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:357
 #: config/chroot_local-includes/usr/local/bin/tails-screen-locker:118
 #: config/chroot_local-includes/usr/local/bin/tor-browser:46
 msgid "Cancel"
 msgstr "Άκυρο"
 
-#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:524
+#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:531
 msgid "Installing your additional software from persistent stor

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

2018-10-30 Thread translation
commit 79d29f605a60874291b944a7df79320fee5c3537
Author: Translation commit bot 
Date:   Tue Oct 30 20:45:50 2018 +

Update translations for liveusb-creator
---
 el/el.po | 86 
 1 file changed, 43 insertions(+), 43 deletions(-)

diff --git a/el/el.po b/el/el.po
index 270f96105..742a404a7 100644
--- a/el/el.po
+++ b/el/el.po
@@ -26,9 +26,9 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-10-17 13:11+0200\n"
-"PO-Revision-Date: 2018-10-17 14:51+\n"
-"Last-Translator: erinm\n"
+"POT-Creation-Date: 2018-10-20 12:34+0200\n"
+"PO-Revision-Date: 2018-10-30 20:19+\n"
+"Last-Translator: A Papac \n"
 "Language-Team: Greek (http://www.transifex.com/otf/torproject/language/el/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -95,194 +95,194 @@ msgstr "Αδυναμία αντιγραφής %(infile)s 
στο %(outfile)s: %(m
 msgid "Removing existing Live OS"
 msgstr "Αφαίρεση υπάρχοντος Live Λειτουργικού"
 
-#: ../tails_installer/creator.py:444 ../tails_installer/creator.py:456
+#: ../tails_installer/creator.py:444 ../tails_installer/creator.py:457
 #, python-format
 msgid "Unable to chmod %(file)s: %(message)s"
 msgstr "Αδυναμία εφαρμογής chmod στο/στα 
αρχείο/α %(file)s: %(message)s"
 
-#: ../tails_installer/creator.py:449
+#: ../tails_installer/creator.py:450
 #, python-format
 msgid "Unable to remove file from previous LiveOS: %(message)s"
 msgstr "Αδυναμία απομάκρυνσης αρχείου από 
προηγούμενο LiveOS: %(message)s"
 
-#: ../tails_installer/creator.py:462
+#: ../tails_installer/creator.py:464
 #, python-format
 msgid "Unable to remove directory from previous LiveOS: %(message)s"
 msgstr "Αδυναμία απομάκρυνσης καταλόγου από 
προηγούμενο LiveOS: %(message)s"
 
-#: ../tails_installer/creator.py:510
+#: ../tails_installer/creator.py:512
 #, python-format
 msgid "Cannot find device %s"
 msgstr "Αδυναμία εύρεσης συσκευής %s"
 
-#: ../tails_installer/creator.py:711
+#: ../tails_installer/creator.py:713
 #, python-format
 msgid "Unable to write on %(device)s, skipping."
 msgstr "Αδυναμία εγγραφής στο %(device)s, 
παράκαμψη."
 
-#: ../tails_installer/creator.py:741
+#: ../tails_installer/creator.py:743
 #, python-format
 msgid ""
 "Some partitions of the target device %(device)s are mounted. They will be "
 "unmounted before starting the installation process."
 msgstr "Κάποιες κατατμήσεις του δίσκου %(device)s 
είναι προσαρτημένες. Θα αποσυνδεθούν πριν 
ξεκινήσει η διαδικασία εγκατάστασης."
 
-#: ../tails_installer/creator.py:784 ../tails_installer/creator.py:1008
+#: ../tails_installer/creator.py:786 ../tails_installer/creator.py:1010
 msgid "Unknown filesystem.  Your device may need to be reformatted."
 msgstr "Άγνωστο σύστημα αρχείων. Η συσκευή 
μπορεί να χρειάζεται διαμόρφωση."
 
-#: ../tails_installer/creator.py:787 ../tails_installer/creator.py:1011
+#: ../tails_installer/creator.py:789 ../tails_installer/creator.py:1013
 #, python-format
 msgid "Unsupported filesystem: %s"
 msgstr "Μη υποστηριζόμενο σύστημα αρχείων: %s"
 
-#: ../tails_installer/creator.py:805
+#: ../tails_installer/creator.py:807
 #, python-format
 msgid "Unknown GLib exception while trying to mount device: %(message)s"
 msgstr "Άγνωστη εξαίρεση GLib κατά την 
προσπάθεια προσάρτησης της συσκευής: 
%(message)s"
 
-#: ../tails_installer/creator.py:810
+#: ../tails_installer/creator.py:812
 #, python-format
 msgid "Unable to mount device: %(message)s"
 msgstr "Αδυναμία προσάρτησης συσκευής: %(message)s"
 
-#: ../tails_installer/creator.py:815
+#: ../tails_installer/creator.py:817
 msgid "No mount points found"
 msgstr "Δεν βρέθηκαν σημεία προσάρτησης"
 
-#: ../tails_installer/creator.py:826
+#: ../tails_installer/creator.py:828
 #, python-format
 msgid "Entering unmount_device for '%(device)s'"
 msgstr "Εισαγωγή  unmount_device για '%(device)s'"
 
-#: ../tails_installer/creator.py:836
+#: ../tails_installer/creator.py:838
 #, python-format
 msgid "Unmounting mounted filesystems on '%(device)s'"
 msgstr "Αποπροσάρτηση προσαρτημένων συ
στημάτων αρχείων σε '%(device)s'"
 
-#: ../tails_installer/creator.py:840
+#: ../tails_installer/creator.py:842
 #, python-format
 msgid "Unmounting '%(udi)s' on '%(device)s'"
 msgstr "Αποπροσάρτηση '%(udi)s' σε '%(device)s'"
 
-#: ../tails_installer/creator.py:851
+#: ../tails_installer/creator.py:853
 #, pyth

[tor-commits] [webwml/master] Update Linus' description

2018-10-30 Thread atagar
commit 02b69e8b4f87be995937f8a73c67c0d1b0b91221
Author: Damian Johnson 
Date:   Tue Oct 30 13:44:44 2018 -0700

Update Linus' description

Changes per Linus' request.
---
 about/en/board.wml  | 26 ++
 about/en/corepeople.wml |  2 +-
 2 files changed, 7 insertions(+), 21 deletions(-)

diff --git a/about/en/board.wml b/about/en/board.wml
index 63a68fd5..5a981db6 100644
--- a/about/en/board.wml
+++ b/about/en/board.wml
@@ -24,22 +24,6 @@
 secure systems, and public policy.
   
 
-
-  Linus Nordberg
-  Director
-  
-Linus is a longtime internet and privacy activist who has been
-involved with Tor since 2009. Linus is a software developer who
-specializes in network security and operating internet services.
-Since his start at Tor he's developed code, run services, and
-advocated for the Tor Project. He's one of the founders of the
-Swedish digital rights organization DFRI (Digitala Fri- och
-Rättigheter) and through that involved in the European umbrella
-public policy organization EDRi (European Digital Rights).
-  
-
-  
-  
 
   Cindy Cohn
   Board Treasurer
@@ -60,6 +44,8 @@
 surveillance.
   
 
+  
+  
 
   Megan Price
   Director
@@ -79,8 +65,6 @@
 International Association for Official Statistics (IAOS).
   
 
-  
-  
 
   Gabriella Coleman
   Board Clerk
@@ -98,6 +82,8 @@
 Review, Huffington Post, and the Atlantic.
   
 
+  
+  
 
   Bruce Schneier
   Director
@@ -114,8 +100,6 @@
 and the Chief Technology Officer of Resilient.
   
 
-  
-  
 
   Ramy Raoof
   Director
@@ -123,6 +107,8 @@
 Ramy is a technologist and privacy and security researcher with a 
passion for free/open culture. He has provided and developed digital security 
plans and strategies for NGOs and members of the media, emergency response in 
cases of physical threats, support on publishing sensitive materials, secure 
systems for managing sensitive information, and operational plans for human 
rights emergency response teams, in Egypt and the MENA region. Most recently, 
Ramy has been volunteering with different NGOs and civil liberty groups in 
Central & South America, to enhance their privacy and security through means of 
behavioral change based on understanding surveillance and threat models in 
their own contexts and environments. Among different hats, Ramy is Senior 
Research Technologist at the Egyptian Initiative for Personal Rights (EIPR), 
Research Fellow with Citizen Lab, and currently a volunteer visitor with 
Fundación Acceso assisting collectives and networks in Central America around
  infosec and activism. He is also an Internet Freedom Festival Fellow on 
security and privacy best practices. Ramy has received multiple international 
awards for his important work. Most recently, Ramy received the 2017 Heroes of 
Human Rights and Communications Surveillance from Access Now. 
   
 
+  
+  
 
   Julius Mittenzwei
   Director
diff --git a/about/en/corepeople.wml b/about/en/corepeople.wml
index a9b415c8..0b12f702 100644
--- a/about/en/corepeople.wml
+++ b/about/en/corepeople.wml
@@ -504,7 +504,7 @@
   https://db.torproject.org/fetchkey.cgi?fingerprint=8C4CD511095E982EB0EFBFA21E8BF34923291265";>
   Linus Nordberg
   IRC: ln5
-  Swedish advocate and Tor Board member. He works 
on implementing IPv6 in Tor, build automation, and runs a directory 
authority.
+  Software developer, sysadmin and co-founder of 
the Swedish Torservers.net partner :DFRI. Member of the sysadmin team. Runs one 
of the directory authorities.
 
 
 

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


[tor-commits] [translation/abouttor-homepage_completed] Update translations for abouttor-homepage_completed

2018-10-30 Thread translation
commit cd75dcaaae51fc0f4673101da18e03d41e46ef6a
Author: Translation commit bot 
Date:   Tue Oct 30 20:45:09 2018 +

Update translations for abouttor-homepage_completed
---
 el/aboutTor.dtd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/el/aboutTor.dtd b/el/aboutTor.dtd
index 738b81ac7..c5991992c 100644
--- a/el/aboutTor.dtd
+++ b/el/aboutTor.dtd
@@ -27,7 +27,7 @@
 
 
 
-
+
 
 
 

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


[tor-commits] [translation/abouttor-homepage] Update translations for abouttor-homepage

2018-10-30 Thread translation
commit 18bf8622278805cf43c075885b55b9043ac0d3ff
Author: Translation commit bot 
Date:   Tue Oct 30 20:45:04 2018 +

Update translations for abouttor-homepage
---
 el/aboutTor.dtd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/el/aboutTor.dtd b/el/aboutTor.dtd
index 738b81ac7..c5991992c 100644
--- a/el/aboutTor.dtd
+++ b/el/aboutTor.dtd
@@ -27,7 +27,7 @@
 
 
 
-
+
 
 
 

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


[tor-commits] [translation/donatepages-messagespot] Update translations for donatepages-messagespot

2018-10-30 Thread translation
commit 611bbd6a3e189a1e0e45e98085fdb97c2f6df5ed
Author: Translation commit bot 
Date:   Tue Oct 30 19:15:19 2018 +

Update translations for donatepages-messagespot
---
 locale/tr/LC_MESSAGES/messages.po | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/locale/tr/LC_MESSAGES/messages.po 
b/locale/tr/LC_MESSAGES/messages.po
index 76b8f1149..060bed51f 100644
--- a/locale/tr/LC_MESSAGES/messages.po
+++ b/locale/tr/LC_MESSAGES/messages.po
@@ -92,17 +92,23 @@ msgid ""
 "The Tor Project will never have access to your financial data, such as your "
 "credit card information.We aim to be careful with your information."
 msgstr ""
+"Tor Projesi asla senin ekonomik bilgilerine ulaşamaz,örneğin senin kredi "
+"kartı bilgilerin.Kişisel bilgilerinizi özenle koruyoruz."
 
 #: 
tmp/cache_locale/fa/fadd8d2107638a3de94449a9eddfca4e8f010bb26f3f6a71e2d875cb910cc5f1.php:83
 msgid ""
 "If you have provided your email address, we will email you once to thank you"
 " and give you a receipt."
 msgstr ""
+"Eğer e-posta adresinizi verdiyseniz, size teşekkür etmek ve size bir 
makbuz "
+"vermek için size bir kez e-posta göndereceğiz."
 
 #: 
tmp/cache_locale/fa/fadd8d2107638a3de94449a9eddfca4e8f010bb26f3f6a71e2d875cb910cc5f1.php:85
 msgid ""
 "If you opt in during the donation process, we may email you again in future."
 msgstr ""
+"Bağış işlemi sırasında kaydolursanız, ileride size tekrar e-posta "
+"gönderebiliriz."
 
 #: 
tmp/cache_locale/fa/fadd8d2107638a3de94449a9eddfca4e8f010bb26f3f6a71e2d875cb910cc5f1.php:87
 msgid ""
@@ -159,7 +165,7 @@ msgstr ""
 
 #: 
tmp/cache_locale/ce/ce708c1cd991748e8c1c29f932e6ddbd1be5be1b4cc2c5b49b607cae1df80432.php:36
 msgid "Fit"
-msgstr ""
+msgstr "sığdır"
 
 #: 
tmp/cache_locale/ce/ce708c1cd991748e8c1c29f932e6ddbd1be5be1b4cc2c5b49b607cae1df80432.php:40
 msgid "Select Fit"

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


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

2018-10-30 Thread translation
commit 3e943e3ec0d2711c9eae792239af6c81b568f6d9
Author: Translation commit bot 
Date:   Tue Oct 30 18:46:55 2018 +

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

diff --git a/gl/android_strings.dtd b/gl/android_strings.dtd
index 09a03946d..0fde62cb5 100644
--- a/gl/android_strings.dtd
+++ b/gl/android_strings.dtd
@@ -788,7 +788,7 @@ just addresses the organization to follow, e.g. "This site 
is run by " -->
 
 
 
-
+
 
 
 

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


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

2018-10-30 Thread translation
commit 655667d8192995321904f362ee0aad8aeebc1bfe
Author: Translation commit bot 
Date:   Tue Oct 30 18:45:35 2018 +

Update translations for https_everywhere
---
 gl/https-everywhere.dtd | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/gl/https-everywhere.dtd b/gl/https-everywhere.dtd
index 5b123a910..f7d3a9014 100644
--- a/gl/https-everywhere.dtd
+++ b/gl/https-everywhere.dtd
@@ -12,8 +12,8 @@
 
 
 
-
-
+
+
 
 
 
@@ -24,10 +24,10 @@
 
 
 
-
+
 
 
-
+
 
 
 
@@ -50,5 +50,5 @@
 
 
 
-
+
 

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


[tor-commits] [translation/donatepages-messagespot] Update translations for donatepages-messagespot

2018-10-30 Thread translation
commit 231c819e0fca90c000649df5af13697a2adacd73
Author: Translation commit bot 
Date:   Tue Oct 30 17:15:21 2018 +

Update translations for donatepages-messagespot
---
 locale/el/LC_MESSAGES/messages.po | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/locale/el/LC_MESSAGES/messages.po 
b/locale/el/LC_MESSAGES/messages.po
index 63bafca55..095508a92 100644
--- a/locale/el/LC_MESSAGES/messages.po
+++ b/locale/el/LC_MESSAGES/messages.po
@@ -1738,17 +1738,19 @@ msgstr ""
 #: 
tmp/cache_locale/0e/0e65c68f2900f432bc062864e7bafc989d6286e272f5e98882a99f52ea4c5c89.php:543
 msgid ""
 "Does the Tor Project participate in the Combined Federal Campaign program?"
-msgstr ""
+msgstr "Το Tor Project συμμετέχει στο πρόγραμμα 
Combined Federal Campaign;"
 
 #: 
tmp/cache_locale/0e/0e65c68f2900f432bc062864e7bafc989d6286e272f5e98882a99f52ea4c5c89.php:547
 msgid "No, Tor doesn't currently participate in the CFC program."
-msgstr ""
+msgstr "Όχι, το Tor δεν συμμετέχει στο πρόγραμμα 
CFC."
 
 #: 
tmp/cache_locale/0e/0e65c68f2900f432bc062864e7bafc989d6286e272f5e98882a99f52ea4c5c89.php:549
 msgid ""
 "If you'd like to get Tor added to the CFC program in your location, that "
 "would be great: please let us know if you need any help."
 msgstr ""
+"Αν θέλετε να προσθέσετε το Tor στο 
πρόγραμμα CFC στην περιοχή σας, θα ήταν "
+"υπέροχο: παρακαλούμε ενημερώστε μας αν 
χρειάζεστε βοήθεια."
 
 #: 
tmp/cache_locale/0e/0e65c68f2900f432bc062864e7bafc989d6286e272f5e98882a99f52ea4c5c89.php:555
 msgid "Can I donate my airline miles, flight vouchers, or hotel points?"
@@ -1761,6 +1763,8 @@ msgid ""
 "We would like to accept your miles, vouchers and hotel points, and in the "
 "future we may be able to."
 msgstr ""
+"Θα θέλαμε να δεχτούμε τα μίλια, τα κου
πόνια και τους πόντους ξενοδοχείων "
+"σας, και στο μέλλον ίσως να μπορούμε."
 
 #: 
tmp/cache_locale/0e/0e65c68f2900f432bc062864e7bafc989d6286e272f5e98882a99f52ea4c5c89.php:567
 msgid "Can I donate hardware?"

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


[tor-commits] [translation/donatepages-messagespot] Update translations for donatepages-messagespot

2018-10-30 Thread translation
commit 74543e10f198a15b87a62c537625321785540a6c
Author: Translation commit bot 
Date:   Tue Oct 30 16:45:20 2018 +

Update translations for donatepages-messagespot
---
 locale/el/LC_MESSAGES/messages.po | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/locale/el/LC_MESSAGES/messages.po 
b/locale/el/LC_MESSAGES/messages.po
index 29cb79fe4..63bafca55 100644
--- a/locale/el/LC_MESSAGES/messages.po
+++ b/locale/el/LC_MESSAGES/messages.po
@@ -287,7 +287,7 @@ msgstr "μηνιαία"
 
 #: 
tmp/cache_locale/c7/c763c19bb6abb9330294c550c8241bb3874e3b4e17fb6e7b15db26c60df8d5fe.php:118
 msgid "Want to donate Bitcoin, Stock, or via snail mail?"
-msgstr ""
+msgstr "Θέλετε να δώσετε Bitcoin, Μετοχές, ή μέσω 
ταχυδρομείου;"
 
 #: 
tmp/cache_locale/c7/c763c19bb6abb9330294c550c8241bb3874e3b4e17fb6e7b15db26c60df8d5fe.php:133
 msgid "invalid amount"
@@ -323,6 +323,8 @@ msgid ""
 "A collection of our favorite logo stickers for decorating your stuff and "
 "covering your cams."
 msgstr ""
+"Μια συλλογή από τα αγαπημένα μας αυ
τοκόλλητα λογότυπων για τη διακόσμηση των"
+" αντικειμένων σας και την κάλυψη των 
καμερών σας."
 
 #: 
tmp/cache_locale/c7/c763c19bb6abb9330294c550c8241bb3874e3b4e17fb6e7b15db26c60df8d5fe.php:183
 msgid "t-shirt"
@@ -364,6 +366,8 @@ msgid ""
 "Your strong support of Tor gets you this high-quality American Apparel zip "
 "hoodie."
 msgstr ""
+"Η ισχυρή υποστήριξή σας στο Tor σας 
εξασφαλίζει αυτό το υψηλής ποιότητας "
+"hoodie με φερμουάρ από το American Apparel."
 
 #: 
tmp/cache_locale/c7/c763c19bb6abb9330294c550c8241bb3874e3b4e17fb6e7b15db26c60df8d5fe.php:262
 msgid "how do you want to DONATE?"
@@ -1149,6 +1153,8 @@ msgid ""
 "If you pay taxes in the United States, your donation to Tor is tax "
 "deductible to the full extent required by law."
 msgstr ""
+"Aν πληρώνετε φόρους στις Ηνωμένες Π
ολιτείες, η δωρεά σας στο Tor εκπίπτει "
+"από τη φορολογία στο μέγιστο απαιτούμενο 
από το νόμο."
 
 #: 
tmp/cache_locale/0e/0e65c68f2900f432bc062864e7bafc989d6286e272f5e98882a99f52ea4c5c89.php:245
 msgid "Following is information you may need for reporting purposes:"

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


[tor-commits] [metrics-web/master] Extend Tor Browser graphs to include update pings.

2018-10-30 Thread karsten
commit af06d70a389b4f5748dbdeb87c75855fbabbc220
Author: Karsten Loesing 
Date:   Thu Oct 11 12:26:47 2018 +0200

Extend Tor Browser graphs to include update pings.

Implements the second half of #27931 by making the actual code
changes.
---
 src/main/R/rserver/graphs.R| 42 ++
 src/main/resources/web/json/metrics.json   |  8 ++---
 .../resources/web/jsps/reproducible-metrics.jsp|  4 +--
 src/main/resources/web/jsps/stats.jsp  | 17 -
 4 files changed, 41 insertions(+), 30 deletions(-)

diff --git a/src/main/R/rserver/graphs.R b/src/main/R/rserver/graphs.R
index 60d905f..b021791 100644
--- a/src/main/R/rserver/graphs.R
+++ b/src/main/R/rserver/graphs.R
@@ -1331,14 +1331,17 @@ prepare_webstats_tb_platform <- function(start_p, 
end_p) {
 colClasses = c("log_date" = "Date")) %>%
 filter(if (!is.null(start_p)) log_date >= as.Date(start_p) else TRUE) %>%
 filter(if (!is.null(end_p)) log_date <= as.Date(end_p) else TRUE) %>%
-filter(request_type == "tbid") %>%
-group_by(log_date, platform) %>%
+filter(request_type %in% c("tbid", "tbup")) %>%
+group_by(log_date, platform, request_type) %>%
 summarize(count = sum(count))
 }
 
 plot_webstats_tb_platform <- function(start_p, end_p, path_p) {
-  prepare_webstats_tb_platform(start_p, end_p) %>%
-ggplot(aes(x = log_date, y = count, colour = platform)) +
+  d <- prepare_webstats_tb_platform(start_p, end_p)
+  levels(d$request_type) <- list(
+  "Initial downloads" = "tbid",
+  "Update pings" = "tbup")
+  ggplot(d, aes(x = log_date, y = count, colour = platform)) +
 geom_point() +
 geom_line() +
 scale_x_date(name = "", breaks = custom_breaks,
@@ -1347,9 +1350,11 @@ plot_webstats_tb_platform <- function(start_p, end_p, 
path_p) {
 scale_colour_hue(name = "Platform",
 breaks = c("w", "m", "l", "o", ""),
 labels = c("Windows", "macOS", "Linux", "Other", "Unknown")) +
+facet_grid(request_type ~ ., scales = "free_y") +
 theme(strip.text.y = element_text(angle = 0, hjust = 0, size = rel(1.5)),
-  strip.background = element_rect(fill = NA)) +
-ggtitle("Tor Browser downloads by platform") +
+  strip.background = element_rect(fill = NA),
+  legend.position = "top") +
+ggtitle("Tor Browser downloads and updates by platform") +
 labs(caption = copyright_notice)
   ggsave(filename = path_p, width = 8, height = 5, dpi = 150)
 }
@@ -1357,8 +1362,8 @@ plot_webstats_tb_platform <- function(start_p, end_p, 
path_p) {
 write_webstats_tb_platform <- function(start_p = NULL, end_p = NULL, path_p) {
   prepare_webstats_tb_platform(start_p, end_p) %>%
 rename(date = log_date) %>%
-spread(platform, count) %>%
-rename(linux = l, macos = m, windows = w) %>%
+spread(request_type, count, fill = 0) %>%
+rename(initial_downloads = tbid, update_pings = tbup) %>%
 write.csv(path_p, quote = FALSE, row.names = FALSE, na = "")
 }
 
@@ -1366,12 +1371,16 @@ plot_webstats_tb_locale <- function(start_p, end_p, 
path_p) {
   d <- read.csv(paste(stats_dir, "webstats.csv", sep = ""),
 colClasses = c("log_date" = "Date", "locale" = "character"))
   d <- d[d$log_date >= start_p & d$log_date <= end_p &
- d$request_type == "tbid", ]
+ d$request_type %in% c("tbid", "tbup"), ]
+  levels(d$request_type) <- list(
+  "Initial downloads" = "tbid",
+  "Update pings" = "tbup")
   e <- d
   e <- aggregate(list(count = e$count), by = list(locale = e$locale), FUN = 
sum)
   e <- e[order(e$count, decreasing = TRUE), ]
   e <- e[1:5, ]
   d <- aggregate(list(count = d$count), by = list(log_date = d$log_date,
+request_type = d$request_type,
 locale = ifelse(d$locale %in% e$locale, d$locale, "(other)")), FUN = sum)
   ggplot(d, aes(x = log_date, y = count, colour = locale)) +
 geom_point() +
@@ -1382,9 +1391,11 @@ plot_webstats_tb_locale <- function(start_p, end_p, 
path_p) {
 scale_colour_hue(name = "Locale",
 breaks = c(e$locale, "(other)"),
 labels = c(e$locale, "Other")) +
+facet_grid(request_type ~ ., scales = "free_y") +
 theme(strip.text.y = element_text(angle = 0, hjust = 0, size = rel(1.5)),
-  strip.background = element_rect(fill = NA)) +
-ggtitle("Tor Browser downloads by locale") +
+  strip.background = element_rect(fill = NA),
+  legend.position = "top") +
+ggtitle("Tor Browser downloads and updates by locale") +
 labs(caption = copyright_notice)
   ggsave(filename = path_p, width = 8, height = 5, dpi = 150)
 }
@@ -1399,10 +1410,13 @@ write_webstats_tb_locale <- function(start_p = NULL, 
end_p = NULL, path_p) {
 colClasses = c("log_date" = "Date", "locale" = "character")) %>%
 filter(if (!is.null(start_p)) log_date >= as.Date(start_p) else TRUE) %>%
 filter(if (!is.null(end_p)) log_date <= as.Date(end_p) else TRUE) %>%
-filter(request_type == "tbid") %>%
-group_by(lo

[tor-commits] [metrics-web/master] Handle days without any successful measurements, second attempt.

2018-10-30 Thread karsten
commit e7c0c84754a070c09ebef09b4b748dab899f8250
Author: Karsten Loesing 
Date:   Sat Oct 27 10:01:48 2018 +0200

Handle days without any successful measurements, second attempt.

The earlier fix in 0408b73 was correct and necessary, but not
sufficient. We'll also have to distinguish 0.0 and null on the Java
side. Who would have expected that?

Fixes #28136, but this time for real.
---
 .../org/torproject/metrics/stats/onionperf/Main.java | 20 +---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/src/main/java/org/torproject/metrics/stats/onionperf/Main.java 
b/src/main/java/org/torproject/metrics/stats/onionperf/Main.java
index 5bd55ab..c54ee6f 100644
--- a/src/main/java/org/torproject/metrics/stats/onionperf/Main.java
+++ b/src/main/java/org/torproject/metrics/stats/onionperf/Main.java
@@ -250,9 +250,9 @@ public class Main {
 rs.getInt("filesize"),
 emptyNull(rs.getString("source")),
 emptyNull(rs.getString("server")),
-rs.getDouble("q1"),
-rs.getDouble("md"),
-rs.getDouble("q3"),
+getDoubleFromResultSet(rs, "q1"),
+getDoubleFromResultSet(rs, "md"),
+getDoubleFromResultSet(rs, "q3"),
 rs.getInt("timeouts"),
 rs.getInt("failures"),
 rs.getInt("requests")));
@@ -315,6 +315,20 @@ public class Main {
 return null == text ? "" : text;
   }
 
+  /** Retrieves the double value of the designated column in the
+   * current row of the given ResultSet object as a
+   * Double object, or null if the retrieved value 
was
+   * NULL. */
+  private static Double getDoubleFromResultSet(ResultSet rs, String 
columnLabel)
+  throws SQLException {
+double result = rs.getDouble(columnLabel);
+if (rs.wasNull()) {
+  return null;
+} else {
+  return result;
+}
+  }
+
   static void writeStatistics(Path webstatsPath, List statistics)
   throws IOException {
 webstatsPath.toFile().getParentFile().mkdirs();

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


[tor-commits] [translation/donatepages-messagespot] Update translations for donatepages-messagespot

2018-10-30 Thread translation
commit 325daf2cee6a776e501d55592c9d3e8cde50113f
Author: Translation commit bot 
Date:   Tue Oct 30 16:15:21 2018 +

Update translations for donatepages-messagespot
---
 locale/el/LC_MESSAGES/messages.po | 27 ---
 1 file changed, 20 insertions(+), 7 deletions(-)

diff --git a/locale/el/LC_MESSAGES/messages.po 
b/locale/el/LC_MESSAGES/messages.po
index 1babd1cb3..29cb79fe4 100644
--- a/locale/el/LC_MESSAGES/messages.po
+++ b/locale/el/LC_MESSAGES/messages.po
@@ -153,7 +153,7 @@ msgid ""
 msgstr ""
 "Η πρόσβαση σε αυτές τις πληροφορίες 
περιορίζεται μέσα στο Tor Project σε "
 "άτομα που τη χρειάζονται για να κάνουν τη 
δουλειά τους, για παράδειγμα, "
-"ευχαριστώντας σας ή στέλνοντας σας μια 
κοντομάνικη μπλούζα."
+"ευχαριστώντας σας ή στέλνοντας σας ένα 
t-shirt."
 
 #: 
tmp/cache_locale/fa/fadd8d2107638a3de94449a9eddfca4e8f010bb26f3f6a71e2d875cb910cc5f1.php:105
 msgid ""
@@ -326,7 +326,7 @@ msgstr ""
 
 #: 
tmp/cache_locale/c7/c763c19bb6abb9330294c550c8241bb3874e3b4e17fb6e7b15db26c60df8d5fe.php:183
 msgid "t-shirt"
-msgstr "Κοντομάνικη μπλούζα"
+msgstr "t-shirt"
 
 #: 
tmp/cache_locale/c7/c763c19bb6abb9330294c550c8241bb3874e3b4e17fb6e7b15db26c60df8d5fe.php:192
 msgid ""
@@ -346,7 +346,7 @@ msgstr "Open Observatory of Network Interference"
 
 #: 
tmp/cache_locale/c7/c763c19bb6abb9330294c550c8241bb3874e3b4e17fb6e7b15db26c60df8d5fe.php:213
 msgid "t-shirt pack"
-msgstr "πακέτο κοντομάνικες μπλούζες"
+msgstr "πακέτο t-shirt"
 
 #: 
tmp/cache_locale/c7/c763c19bb6abb9330294c550c8241bb3874e3b4e17fb6e7b15db26c60df8d5fe.php:222
 msgid ""
@@ -446,7 +446,7 @@ msgstr "Επιλέξτε μέγεθος και κόψιμο"
 #: 
tmp/cache_locale/c7/c763c19bb6abb9330294c550c8241bb3874e3b4e17fb6e7b15db26c60df8d5fe.php:372
 #: 
tmp/cache_locale/c7/c763c19bb6abb9330294c550c8241bb3874e3b4e17fb6e7b15db26c60df8d5fe.php:380
 msgid "T-shirt:"
-msgstr "Κοντομάνικη μπλούζα:"
+msgstr "T-shirt:"
 
 #: 
tmp/cache_locale/c7/c763c19bb6abb9330294c550c8241bb3874e3b4e17fb6e7b15db26c60df8d5fe.php:390
 #: 
tmp/cache_locale/c7/c763c19bb6abb9330294c550c8241bb3874e3b4e17fb6e7b15db26c60df8d5fe.php:394
@@ -499,7 +499,7 @@ msgstr ""
 
 #: 
tmp/cache_locale/c7/c763c19bb6abb9330294c550c8241bb3874e3b4e17fb6e7b15db26c60df8d5fe.php:445
 msgid "T-Shirt"
-msgstr "Κοντομάνικη μπλούζα"
+msgstr "T-Shirt"
 
 #: 
tmp/cache_locale/c7/c763c19bb6abb9330294c550c8241bb3874e3b4e17fb6e7b15db26c60df8d5fe.php:449
 msgid "Choose your size and fit for each shirt."
@@ -510,10 +510,12 @@ msgid ""
 "Powering Digital Resistance or Open Observvatory of Network Interference "
 "(OONI) T-Shirt"
 msgstr ""
+"Powering Digital Resistance ή Open Observvatory of Network Interference "
+"(OONI) T-Shirt"
 
 #: 
tmp/cache_locale/c7/c763c19bb6abb9330294c550c8241bb3874e3b4e17fb6e7b15db26c60df8d5fe.php:457
 msgid "Heart of Internet Freedom T-Shirt"
-msgstr "Κοντομάνικη μπλούζα Heart of Internet Freedom"
+msgstr "T-Shirt Heart of Internet Freedom"
 
 #: 
tmp/cache_locale/c7/c763c19bb6abb9330294c550c8241bb3874e3b4e17fb6e7b15db26c60df8d5fe.php:461
 msgid "Choose your size."
@@ -1691,7 +1693,7 @@ msgstr ""
 
 #: 
tmp/cache_locale/0e/0e65c68f2900f432bc062864e7bafc989d6286e272f5e98882a99f52ea4c5c89.php:523
 msgid "How can I get a Tor t-shirt or stickers?"
-msgstr "Πώς μπορώ να πάρω μια κοντομάνικη 
μπλούζα ή αυτοκόλλητα;"
+msgstr "Πώς μπορώ να πάρω ένα t-shirt ή αυ
τοκόλλητα;"
 
 #: 
tmp/cache_locale/0e/0e65c68f2900f432bc062864e7bafc989d6286e272f5e98882a99f52ea4c5c89.php:527
 msgid ""
@@ -1699,6 +1701,9 @@ msgid ""
 "stickers, are presented on our main https://donate.torproject.org\";>donation page."
 msgstr ""
+"Μια ποικιλία από ευχαριστήρια δώρα για 
δωρητές, συμπεριλαμβανομένων "
+"t-shirts, hoodies και αυτοκόλλητων, παρου
σιάζονται στην κύρια https://donate.torproject.org\";>σελίδα δωρεών μας."
 
 #: 
tmp/cache_locale/0e/0e65c68f2900f432bc062864e7bafc989d6286e272f5e98882a99f52ea4c5c89.php:533
 msgid ""
@@ -1813,6 +1818,8 @@ msgid ""
 "If your company sells cloud services, perhaps it could donate these to Tor: "
 "We use them in some anti-censorship projects."
 msgstr ""
+"Αν η εταιρεία σας προσφέρει υπηρεσίες cloud, 
ίσως θα μπορούσε να τις δωρίσει"
+" στο Tor: Τις χρησιμοποιούμε σε ορισμένα 
project κατά της λογοκρισίας."
 
 #: 
tmp/cache_locale/0e/0e65c68f2900f432bc062864e7bafc989d6286e272f5e98882a99f52ea4c5c89.php:609
 msgid "You don't support my preferred way to donate."
@@ -1

[tor-commits] [tor/release-0.3.5] Merge branch 'tor-github/pr/438' into maint-0.3.5

2018-10-30 Thread dgoulet
commit 488969fe9c4279477b1ff6da34ccf44ed19da8c7
Merge: 95559279e a61473114
Author: David Goulet 
Date:   Tue Oct 30 11:43:54 2018 -0400

Merge branch 'tor-github/pr/438' into maint-0.3.5

 changes/ticket27838 |   4 ++
 src/feature/hs/hs_service.c | 134 
 src/feature/hs/hs_service.h |  72 +++-
 src/test/test_hs_service.c  |   4 +-
 4 files changed, 135 insertions(+), 79 deletions(-)

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


[tor-commits] [tor/release-0.3.5] Documentation: Document which descriptor elements are (im)mutable.

2018-10-30 Thread dgoulet
commit df78fb24511e890a1a2bf00127db604919bbdc0e
Author: George Kadianakis 
Date:   Tue Oct 23 16:34:43 2018 +0300

Documentation: Document which descriptor elements are (im)mutable.
---
 src/feature/hs/hs_service.h | 58 +
 1 file changed, 37 insertions(+), 21 deletions(-)

diff --git a/src/feature/hs/hs_service.h b/src/feature/hs/hs_service.h
index 863d96bb4..9804a4571 100644
--- a/src/feature/hs/hs_service.h
+++ b/src/feature/hs/hs_service.h
@@ -99,48 +99,64 @@ typedef struct hs_service_intropoints_t {
   digestmap_t *failed_id;
 } hs_service_intropoints_t;
 
-/* Representation of a service descriptor. */
+/* Representation of a service descriptor.
+ *
+ * Some elements of the descriptor are mutable whereas others are immutable:
+
+ * Immutable elements are initialized once when the descriptor is built (when
+ * service descriptors gets rotated). This means that these elements are
+ * initialized once and then they don't change for the lifetime of the
+ * descriptor. See build_service_descriptor().
+ *
+ * Mutable elements are initialized when we build the descriptor but they are
+ * also altered during the lifetime of the descriptor. They could be
+ * _refreshed_ everytime we upload the descriptor (which happens multiple times
+ * over the lifetime of the descriptor), or through periodic events. We do this
+ * for elements like the descriptor revision counter and various
+ * certificates. See refresh_service_descriptor() and
+ * update_service_descriptor_intro_points().
+ */
 typedef struct hs_service_descriptor_t {
-  /* Decoded descriptor. This object is used for encoding when the service
-   * publishes the descriptor. */
+  /* Mutable: Decoded descriptor. This object is used for encoding when the
+   * service publishes the descriptor. */
   hs_descriptor_t *desc;
 
-  /* Client authorization ephemeral keypair. */
+  /* Immutable: Client authorization ephemeral keypair. */
   curve25519_keypair_t auth_ephemeral_kp;
 
-  /* Descriptor cookie used to encrypt the descriptor, when the client
-   * authorization is enabled */
+  /* Immutable: Descriptor cookie used to encrypt the descriptor, when the
+   * client authorization is enabled */
   uint8_t descriptor_cookie[HS_DESC_DESCRIPTOR_COOKIE_LEN];
 
-  /* Descriptor signing keypair. */
+  /* Immutable: Descriptor signing keypair. */
   ed25519_keypair_t signing_kp;
 
-  /* Blinded keypair derived from the master identity public key. */
+  /* Immutable: Blinded keypair derived from the master identity public key. */
   ed25519_keypair_t blinded_kp;
 
-  /* When is the next time when we should upload the descriptor. */
+  /* Mutable: When is the next time when we should upload the descriptor. */
   time_t next_upload_time;
 
-  /* Introduction points assign to this descriptor which contains
-   * hs_service_intropoints_t object indexed by authentication key (the RSA
-   * key if the node is legacy). */
+  /* Mutable: Introduction points assign to this descriptor which contains
+   * hs_service_intropoints_t object indexed by authentication key (the RSA key
+   * if the node is legacy). */
   hs_service_intropoints_t intro_points;
 
-  /* The time period number this descriptor has been created for. */
+  /* Immutable: The time period number this descriptor has been created for. */
   uint64_t time_period_num;
 
-  /* True iff we have missing intro points for this descriptor because we
-   * couldn't pick any nodes. */
+  /* Mutable: True iff we have missing intro points for this descriptor because
+   * we couldn't pick any nodes. */
   unsigned int missing_intro_points : 1;
 
-  /** List of the responsible HSDirs (their b64ed identity digest) last time we
-   *  uploaded this descriptor. If the set of responsible HSDirs is different
-   *  from this list, this means we received new dirinfo and we need to
-   *  reupload our descriptor. */
+  /** Mutable: List of the responsible HSDirs (their b64ed identity digest)
+   *  last time we uploaded this descriptor. If the set of responsible HSDirs
+   *  is different from this list, this means we received new dirinfo and we
+   *  need to reupload our descriptor. */
   smartlist_t *previous_hsdirs;
 
-  /** The OPE cipher for encrypting revision counters for this descriptor.
-   *  Tied to the descriptor blinded key. */
+  /** Immutable: The OPE cipher for encrypting revision counters for this
+   *  descriptor.  Tied to the descriptor blinded key. */
   struct crypto_ope_t *ope_cipher;
 } hs_service_descriptor_t;
 



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


[tor-commits] [tor/release-0.3.5] hs-v3: Create desc signing key cert before uploading

2018-10-30 Thread dgoulet
commit 81c466c34abdcaae9ed78958da50148ccf9939f8
Author: David Goulet 
Date:   Mon Oct 22 16:18:44 2018 -0400

hs-v3: Create desc signing key cert before uploading

Before this commit, we would create the descriptor signing key certificate
when first building the descriptor.

In some extreme cases, it lead to the expiry of the certificate which 
triggers
a BUG() when encoding the descriptor before uploading.

Ticket #27838 details a possible scenario in which this can happen. It is an
edge case where tor losts internet connectivity, notices it and closes all
circuits. When it came back up, the HS subsystem noticed that it had no
introduction circuits, created them and tried to upload the descriptor.

However, in the meantime, if tor did lack a live consensus because it is
currently seeking to download one, we would consider that we don't need to
rotate the descriptors leading to using the expired signing key certificate.

That being said, this commit does a bit more to make this process cleaner.
There are a series of things that we need to "refresh" before uploading a
descriptor: signing key cert, intro points and revision counter.

A refresh function is added to deal with all mutable descriptor fields. It 
in
turn simplified a bit the code surrounding the creation of the plaintext 
data.

We keep creating the cert when building the descriptor in order to 
accomodate
the unit tests. However, it is replaced every single time the descriptor is
uploaded.

Fixes #27838

Signed-off-by: David Goulet 
---
 changes/ticket27838 |   4 ++
 src/feature/hs/hs_service.c | 111 +---
 2 files changed, 78 insertions(+), 37 deletions(-)

diff --git a/changes/ticket27838 b/changes/ticket27838
new file mode 100644
index 0..1699730d7
--- /dev/null
+++ b/changes/ticket27838
@@ -0,0 +1,4 @@
+  o Minor bugfixes (hidden service v3):
+- Build the service descriptor signing key certificate before uploading so
+  we always have a fresh one leaving no chances for it to expire service
+  side. Fixes bug 27838; bugfix on 0.3.2.1-alpha.
diff --git a/src/feature/hs/hs_service.c b/src/feature/hs/hs_service.c
index 78654bfb2..850eb5cc7 100644
--- a/src/feature/hs/hs_service.c
+++ b/src/feature/hs/hs_service.c
@@ -1696,6 +1696,32 @@ build_desc_intro_points(const hs_service_t *service,
   } DIGEST256MAP_FOREACH_END;
 }
 
+/* Build the descriptor signing key certificate. */
+static void
+build_desc_signing_key_cert(hs_service_descriptor_t *desc, time_t now)
+{
+  hs_desc_plaintext_data_t *plaintext;
+
+  tor_assert(desc);
+  tor_assert(desc->desc);
+
+  /* Ease our life a bit. */
+  plaintext = &desc->desc->plaintext_data;
+
+  /* Get rid of what we have right now. */
+  tor_cert_free(plaintext->signing_key_cert);
+
+  /* Fresh certificate for the signing key. */
+  plaintext->signing_key_cert =
+tor_cert_create(&desc->blinded_kp, CERT_TYPE_SIGNING_HS_DESC,
+&desc->signing_kp.pubkey, now, HS_DESC_CERT_LIFETIME,
+CERT_FLAG_INCLUDE_SIGNING_KEY);
+  /* If the cert creation fails, the descriptor encoding will fail and thus
+   * ultimately won't be uploaded. We'll get a stack trace to help us learn
+   * where the call came from and the tor_cert_create() will log the error. */
+  tor_assert_nonfatal(plaintext->signing_key_cert);
+}
+
 /* Populate the descriptor encrypted section from the given service object.
  * This will generate a valid list of introduction points that can be used
  * after for circuit creation. Return 0 on success else -1 on error. */
@@ -1811,17 +1837,15 @@ build_service_desc_superencrypted(const hs_service_t 
*service,
 
 /* Populate the descriptor plaintext section from the given service object.
  * The caller must make sure that the keys in the descriptors are valid that
- * is are non-zero. Return 0 on success else -1 on error. */
-static int
+ * is are non-zero. This can't fail. */
+static void
 build_service_desc_plaintext(const hs_service_t *service,
- hs_service_descriptor_t *desc, time_t now)
+ hs_service_descriptor_t *desc)
 {
-  int ret = -1;
   hs_desc_plaintext_data_t *plaintext;
 
   tor_assert(service);
   tor_assert(desc);
-  /* XXX: Use a "assert_desc_ok()" ? */
   tor_assert(!tor_mem_is_zero((char *) &desc->blinded_kp,
   sizeof(desc->blinded_kp)));
   tor_assert(!tor_mem_is_zero((char *) &desc->signing_kp,
@@ -1835,24 +1859,13 @@ build_service_desc_plaintext(const hs_service_t 
*service,
 
   plaintext->version = service->config.version;
   plaintext->lifetime_sec = HS_DESC_DEFAULT_LIFETIME;
-  plaintext->signing_key_cert =
-tor_cert_create(&desc->blinded_kp, CERT_TYPE_SIGNING_HS_DESC,
-&desc->signing_kp.pubkey, now, HS_DESC_CERT_LIFETIME,
-CERT_FLAG_I

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

2018-10-30 Thread dgoulet
commit aa1ae1343a2e57dc5a7bcd045566a10175acdd10
Merge: 124c43704 488969fe9
Author: David Goulet 
Date:   Tue Oct 30 11:44:14 2018 -0400

Merge branch 'maint-0.3.5'

 changes/ticket27838 |   4 ++
 src/feature/hs/hs_service.c | 134 
 src/feature/hs/hs_service.h |  72 +++-
 src/test/test_hs_service.c  |   4 +-
 4 files changed, 135 insertions(+), 79 deletions(-)

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


[tor-commits] [tor/release-0.3.5] Documentation: Move the hs_service_descriptor_t elements around.

2018-10-30 Thread dgoulet
commit a614731144be9478617411bb3268a4fccec506d9
Author: George Kadianakis 
Date:   Tue Oct 23 16:43:08 2018 +0300

Documentation: Move the hs_service_descriptor_t elements around.

Move the elements around to concentrate mutable and immutable elements
together. This commit changes no code, check with --color-moved.
---
 src/feature/hs/hs_service.h | 22 +++---
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/src/feature/hs/hs_service.h b/src/feature/hs/hs_service.h
index 9804a4571..3f0adecbf 100644
--- a/src/feature/hs/hs_service.h
+++ b/src/feature/hs/hs_service.h
@@ -117,10 +117,6 @@ typedef struct hs_service_intropoints_t {
  * update_service_descriptor_intro_points().
  */
 typedef struct hs_service_descriptor_t {
-  /* Mutable: Decoded descriptor. This object is used for encoding when the
-   * service publishes the descriptor. */
-  hs_descriptor_t *desc;
-
   /* Immutable: Client authorization ephemeral keypair. */
   curve25519_keypair_t auth_ephemeral_kp;
 
@@ -134,6 +130,17 @@ typedef struct hs_service_descriptor_t {
   /* Immutable: Blinded keypair derived from the master identity public key. */
   ed25519_keypair_t blinded_kp;
 
+  /* Immutable: The time period number this descriptor has been created for. */
+  uint64_t time_period_num;
+
+  /** Immutable: The OPE cipher for encrypting revision counters for this
+   *  descriptor.  Tied to the descriptor blinded key. */
+  struct crypto_ope_t *ope_cipher;
+
+  /* Mutable: Decoded descriptor. This object is used for encoding when the
+   * service publishes the descriptor. */
+  hs_descriptor_t *desc;
+
   /* Mutable: When is the next time when we should upload the descriptor. */
   time_t next_upload_time;
 
@@ -142,9 +149,6 @@ typedef struct hs_service_descriptor_t {
* if the node is legacy). */
   hs_service_intropoints_t intro_points;
 
-  /* Immutable: The time period number this descriptor has been created for. */
-  uint64_t time_period_num;
-
   /* Mutable: True iff we have missing intro points for this descriptor because
* we couldn't pick any nodes. */
   unsigned int missing_intro_points : 1;
@@ -154,10 +158,6 @@ typedef struct hs_service_descriptor_t {
*  is different from this list, this means we received new dirinfo and we
*  need to reupload our descriptor. */
   smartlist_t *previous_hsdirs;
-
-  /** Immutable: The OPE cipher for encrypting revision counters for this
-   *  descriptor.  Tied to the descriptor blinded key. */
-  struct crypto_ope_t *ope_cipher;
 } hs_service_descriptor_t;
 
 /* Service key material. */



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


[tor-commits] [tor/release-0.3.5] Func rename: Make it clear that update_all_descriptors() does intro points.

2018-10-30 Thread dgoulet
commit 29c194e0222a517a55a16fdc2a80a965f406cab8
Author: George Kadianakis 
Date:   Tue Oct 23 16:35:02 2018 +0300

Func rename: Make it clear that update_all_descriptors() does intro points.

With the new refresh_service_descriptor() function we had both
refresh_service_descriptor() and update_service_descriptor() which is 
basically
the same thing.

This commit renames update_service_descriptor() to
update_service_descriptor_intro_points() to make it clear it's not a generic
refresh and it's only about intro points.

Commit changes no code.
---
 src/feature/hs/hs_service.c | 23 +++
 src/feature/hs/hs_service.h |  2 +-
 src/test/test_hs_service.c  |  4 ++--
 3 files changed, 14 insertions(+), 15 deletions(-)

diff --git a/src/feature/hs/hs_service.c b/src/feature/hs/hs_service.c
index 850eb5cc7..58d28e984 100644
--- a/src/feature/hs/hs_service.c
+++ b/src/feature/hs/hs_service.c
@@ -2293,12 +2293,9 @@ service_desc_schedule_upload(hs_service_descriptor_t 
*desc,
   }
 }
 
-/* Update the given descriptor from the given service. The possible update
- * actions includes:
- *- Picking missing intro points if needed.
- */
+/* Pick missing intro points for this descriptor if needed. */
 static void
-update_service_descriptor(hs_service_t *service,
+update_service_descriptor_intro_points(hs_service_t *service,
   hs_service_descriptor_t *desc, time_t now)
 {
   unsigned int num_intro_points;
@@ -2337,15 +2334,17 @@ update_service_descriptor(hs_service_t *service,
   }
 }
 
-/* Update descriptors for each service if needed. */
+/* Update descriptor intro points for each service if needed. We do this as
+ * part of the periodic event because we need to establish intro point circuits
+ * before we publish descriptors. */
 STATIC void
-update_all_descriptors(time_t now)
+update_all_descriptors_intro_points(time_t now)
 {
   FOR_EACH_SERVICE_BEGIN(service) {
 /* We'll try to update each descriptor that is if certain conditions apply
  * in order for the descriptor to be updated. */
 FOR_EACH_DESCRIPTOR_BEGIN(service, desc) {
-  update_service_descriptor(service, desc, now);
+  update_service_descriptor_intro_points(service, desc, now);
 } FOR_EACH_DESCRIPTOR_END;
   } FOR_EACH_SERVICE_END;
 }
@@ -2630,10 +2629,10 @@ run_build_descriptor_event(time_t now)
* been rotated or we just started up. */
   build_all_descriptors(now);
 
-  /* Finally, we'll check if we should update the descriptors. Missing
-   * introduction points will be picked in this function which is useful for
-   * newly built descriptors. */
-  update_all_descriptors(now);
+  /* Finally, we'll check if we should update the descriptors' intro
+   * points. Missing introduction points will be picked in this function which
+   * is useful for newly built descriptors. */
+  update_all_descriptors_intro_points(now);
 }
 
 /* For the given service, launch any intro point circuits that could be
diff --git a/src/feature/hs/hs_service.h b/src/feature/hs/hs_service.h
index 6fb15b9d3..863d96bb4 100644
--- a/src/feature/hs/hs_service.h
+++ b/src/feature/hs/hs_service.h
@@ -387,7 +387,7 @@ STATIC int intro_point_should_expire(const 
hs_service_intro_point_t *ip,
 STATIC void run_housekeeping_event(time_t now);
 STATIC void rotate_all_descriptors(time_t now);
 STATIC void build_all_descriptors(time_t now);
-STATIC void update_all_descriptors(time_t now);
+STATIC void update_all_descriptors_intro_points(time_t now);
 STATIC void run_upload_descriptor_event(time_t now);
 
 STATIC void service_descriptor_free_(hs_service_descriptor_t *desc);
diff --git a/src/test/test_hs_service.c b/src/test/test_hs_service.c
index bfe50eb3c..ee2d71aa7 100644
--- a/src/test/test_hs_service.c
+++ b/src/test/test_hs_service.c
@@ -1457,7 +1457,7 @@ test_build_update_descriptors(void *arg)
   /* Time to test the update of those descriptors. At first, we have no node
* in the routerlist so this will find NO suitable node for the IPs. */
   setup_full_capture_of_logs(LOG_INFO);
-  update_all_descriptors(now);
+  update_all_descriptors_intro_points(now);
   expect_log_msg_containing("Unable to find a suitable node to be an "
 "introduction point for service");
   teardown_capture_of_logs();
@@ -1508,7 +1508,7 @@ test_build_update_descriptors(void *arg)
 
   /* We expect to pick only one intro point from the node above. */
   setup_full_capture_of_logs(LOG_INFO);
-  update_all_descriptors(now);
+  update_all_descriptors_intro_points(now);
   tor_free(node->ri->onion_curve25519_pkey); /* Avoid memleak. */
   tor_free(node->ri->cache_info.signing_key_cert);
   tor_free(node->ri->onion_pkey);



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


[tor-commits] [tor/maint-0.3.5] Documentation: Document which descriptor elements are (im)mutable.

2018-10-30 Thread dgoulet
commit df78fb24511e890a1a2bf00127db604919bbdc0e
Author: George Kadianakis 
Date:   Tue Oct 23 16:34:43 2018 +0300

Documentation: Document which descriptor elements are (im)mutable.
---
 src/feature/hs/hs_service.h | 58 +
 1 file changed, 37 insertions(+), 21 deletions(-)

diff --git a/src/feature/hs/hs_service.h b/src/feature/hs/hs_service.h
index 863d96bb4..9804a4571 100644
--- a/src/feature/hs/hs_service.h
+++ b/src/feature/hs/hs_service.h
@@ -99,48 +99,64 @@ typedef struct hs_service_intropoints_t {
   digestmap_t *failed_id;
 } hs_service_intropoints_t;
 
-/* Representation of a service descriptor. */
+/* Representation of a service descriptor.
+ *
+ * Some elements of the descriptor are mutable whereas others are immutable:
+
+ * Immutable elements are initialized once when the descriptor is built (when
+ * service descriptors gets rotated). This means that these elements are
+ * initialized once and then they don't change for the lifetime of the
+ * descriptor. See build_service_descriptor().
+ *
+ * Mutable elements are initialized when we build the descriptor but they are
+ * also altered during the lifetime of the descriptor. They could be
+ * _refreshed_ everytime we upload the descriptor (which happens multiple times
+ * over the lifetime of the descriptor), or through periodic events. We do this
+ * for elements like the descriptor revision counter and various
+ * certificates. See refresh_service_descriptor() and
+ * update_service_descriptor_intro_points().
+ */
 typedef struct hs_service_descriptor_t {
-  /* Decoded descriptor. This object is used for encoding when the service
-   * publishes the descriptor. */
+  /* Mutable: Decoded descriptor. This object is used for encoding when the
+   * service publishes the descriptor. */
   hs_descriptor_t *desc;
 
-  /* Client authorization ephemeral keypair. */
+  /* Immutable: Client authorization ephemeral keypair. */
   curve25519_keypair_t auth_ephemeral_kp;
 
-  /* Descriptor cookie used to encrypt the descriptor, when the client
-   * authorization is enabled */
+  /* Immutable: Descriptor cookie used to encrypt the descriptor, when the
+   * client authorization is enabled */
   uint8_t descriptor_cookie[HS_DESC_DESCRIPTOR_COOKIE_LEN];
 
-  /* Descriptor signing keypair. */
+  /* Immutable: Descriptor signing keypair. */
   ed25519_keypair_t signing_kp;
 
-  /* Blinded keypair derived from the master identity public key. */
+  /* Immutable: Blinded keypair derived from the master identity public key. */
   ed25519_keypair_t blinded_kp;
 
-  /* When is the next time when we should upload the descriptor. */
+  /* Mutable: When is the next time when we should upload the descriptor. */
   time_t next_upload_time;
 
-  /* Introduction points assign to this descriptor which contains
-   * hs_service_intropoints_t object indexed by authentication key (the RSA
-   * key if the node is legacy). */
+  /* Mutable: Introduction points assign to this descriptor which contains
+   * hs_service_intropoints_t object indexed by authentication key (the RSA key
+   * if the node is legacy). */
   hs_service_intropoints_t intro_points;
 
-  /* The time period number this descriptor has been created for. */
+  /* Immutable: The time period number this descriptor has been created for. */
   uint64_t time_period_num;
 
-  /* True iff we have missing intro points for this descriptor because we
-   * couldn't pick any nodes. */
+  /* Mutable: True iff we have missing intro points for this descriptor because
+   * we couldn't pick any nodes. */
   unsigned int missing_intro_points : 1;
 
-  /** List of the responsible HSDirs (their b64ed identity digest) last time we
-   *  uploaded this descriptor. If the set of responsible HSDirs is different
-   *  from this list, this means we received new dirinfo and we need to
-   *  reupload our descriptor. */
+  /** Mutable: List of the responsible HSDirs (their b64ed identity digest)
+   *  last time we uploaded this descriptor. If the set of responsible HSDirs
+   *  is different from this list, this means we received new dirinfo and we
+   *  need to reupload our descriptor. */
   smartlist_t *previous_hsdirs;
 
-  /** The OPE cipher for encrypting revision counters for this descriptor.
-   *  Tied to the descriptor blinded key. */
+  /** Immutable: The OPE cipher for encrypting revision counters for this
+   *  descriptor.  Tied to the descriptor blinded key. */
   struct crypto_ope_t *ope_cipher;
 } hs_service_descriptor_t;
 



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


[tor-commits] [tor/master] Documentation: Move the hs_service_descriptor_t elements around.

2018-10-30 Thread dgoulet
commit a614731144be9478617411bb3268a4fccec506d9
Author: George Kadianakis 
Date:   Tue Oct 23 16:43:08 2018 +0300

Documentation: Move the hs_service_descriptor_t elements around.

Move the elements around to concentrate mutable and immutable elements
together. This commit changes no code, check with --color-moved.
---
 src/feature/hs/hs_service.h | 22 +++---
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/src/feature/hs/hs_service.h b/src/feature/hs/hs_service.h
index 9804a4571..3f0adecbf 100644
--- a/src/feature/hs/hs_service.h
+++ b/src/feature/hs/hs_service.h
@@ -117,10 +117,6 @@ typedef struct hs_service_intropoints_t {
  * update_service_descriptor_intro_points().
  */
 typedef struct hs_service_descriptor_t {
-  /* Mutable: Decoded descriptor. This object is used for encoding when the
-   * service publishes the descriptor. */
-  hs_descriptor_t *desc;
-
   /* Immutable: Client authorization ephemeral keypair. */
   curve25519_keypair_t auth_ephemeral_kp;
 
@@ -134,6 +130,17 @@ typedef struct hs_service_descriptor_t {
   /* Immutable: Blinded keypair derived from the master identity public key. */
   ed25519_keypair_t blinded_kp;
 
+  /* Immutable: The time period number this descriptor has been created for. */
+  uint64_t time_period_num;
+
+  /** Immutable: The OPE cipher for encrypting revision counters for this
+   *  descriptor.  Tied to the descriptor blinded key. */
+  struct crypto_ope_t *ope_cipher;
+
+  /* Mutable: Decoded descriptor. This object is used for encoding when the
+   * service publishes the descriptor. */
+  hs_descriptor_t *desc;
+
   /* Mutable: When is the next time when we should upload the descriptor. */
   time_t next_upload_time;
 
@@ -142,9 +149,6 @@ typedef struct hs_service_descriptor_t {
* if the node is legacy). */
   hs_service_intropoints_t intro_points;
 
-  /* Immutable: The time period number this descriptor has been created for. */
-  uint64_t time_period_num;
-
   /* Mutable: True iff we have missing intro points for this descriptor because
* we couldn't pick any nodes. */
   unsigned int missing_intro_points : 1;
@@ -154,10 +158,6 @@ typedef struct hs_service_descriptor_t {
*  is different from this list, this means we received new dirinfo and we
*  need to reupload our descriptor. */
   smartlist_t *previous_hsdirs;
-
-  /** Immutable: The OPE cipher for encrypting revision counters for this
-   *  descriptor.  Tied to the descriptor blinded key. */
-  struct crypto_ope_t *ope_cipher;
 } hs_service_descriptor_t;
 
 /* Service key material. */



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


[tor-commits] [tor/maint-0.3.5] hs-v3: Create desc signing key cert before uploading

2018-10-30 Thread dgoulet
commit 81c466c34abdcaae9ed78958da50148ccf9939f8
Author: David Goulet 
Date:   Mon Oct 22 16:18:44 2018 -0400

hs-v3: Create desc signing key cert before uploading

Before this commit, we would create the descriptor signing key certificate
when first building the descriptor.

In some extreme cases, it lead to the expiry of the certificate which 
triggers
a BUG() when encoding the descriptor before uploading.

Ticket #27838 details a possible scenario in which this can happen. It is an
edge case where tor losts internet connectivity, notices it and closes all
circuits. When it came back up, the HS subsystem noticed that it had no
introduction circuits, created them and tried to upload the descriptor.

However, in the meantime, if tor did lack a live consensus because it is
currently seeking to download one, we would consider that we don't need to
rotate the descriptors leading to using the expired signing key certificate.

That being said, this commit does a bit more to make this process cleaner.
There are a series of things that we need to "refresh" before uploading a
descriptor: signing key cert, intro points and revision counter.

A refresh function is added to deal with all mutable descriptor fields. It 
in
turn simplified a bit the code surrounding the creation of the plaintext 
data.

We keep creating the cert when building the descriptor in order to 
accomodate
the unit tests. However, it is replaced every single time the descriptor is
uploaded.

Fixes #27838

Signed-off-by: David Goulet 
---
 changes/ticket27838 |   4 ++
 src/feature/hs/hs_service.c | 111 +---
 2 files changed, 78 insertions(+), 37 deletions(-)

diff --git a/changes/ticket27838 b/changes/ticket27838
new file mode 100644
index 0..1699730d7
--- /dev/null
+++ b/changes/ticket27838
@@ -0,0 +1,4 @@
+  o Minor bugfixes (hidden service v3):
+- Build the service descriptor signing key certificate before uploading so
+  we always have a fresh one leaving no chances for it to expire service
+  side. Fixes bug 27838; bugfix on 0.3.2.1-alpha.
diff --git a/src/feature/hs/hs_service.c b/src/feature/hs/hs_service.c
index 78654bfb2..850eb5cc7 100644
--- a/src/feature/hs/hs_service.c
+++ b/src/feature/hs/hs_service.c
@@ -1696,6 +1696,32 @@ build_desc_intro_points(const hs_service_t *service,
   } DIGEST256MAP_FOREACH_END;
 }
 
+/* Build the descriptor signing key certificate. */
+static void
+build_desc_signing_key_cert(hs_service_descriptor_t *desc, time_t now)
+{
+  hs_desc_plaintext_data_t *plaintext;
+
+  tor_assert(desc);
+  tor_assert(desc->desc);
+
+  /* Ease our life a bit. */
+  plaintext = &desc->desc->plaintext_data;
+
+  /* Get rid of what we have right now. */
+  tor_cert_free(plaintext->signing_key_cert);
+
+  /* Fresh certificate for the signing key. */
+  plaintext->signing_key_cert =
+tor_cert_create(&desc->blinded_kp, CERT_TYPE_SIGNING_HS_DESC,
+&desc->signing_kp.pubkey, now, HS_DESC_CERT_LIFETIME,
+CERT_FLAG_INCLUDE_SIGNING_KEY);
+  /* If the cert creation fails, the descriptor encoding will fail and thus
+   * ultimately won't be uploaded. We'll get a stack trace to help us learn
+   * where the call came from and the tor_cert_create() will log the error. */
+  tor_assert_nonfatal(plaintext->signing_key_cert);
+}
+
 /* Populate the descriptor encrypted section from the given service object.
  * This will generate a valid list of introduction points that can be used
  * after for circuit creation. Return 0 on success else -1 on error. */
@@ -1811,17 +1837,15 @@ build_service_desc_superencrypted(const hs_service_t 
*service,
 
 /* Populate the descriptor plaintext section from the given service object.
  * The caller must make sure that the keys in the descriptors are valid that
- * is are non-zero. Return 0 on success else -1 on error. */
-static int
+ * is are non-zero. This can't fail. */
+static void
 build_service_desc_plaintext(const hs_service_t *service,
- hs_service_descriptor_t *desc, time_t now)
+ hs_service_descriptor_t *desc)
 {
-  int ret = -1;
   hs_desc_plaintext_data_t *plaintext;
 
   tor_assert(service);
   tor_assert(desc);
-  /* XXX: Use a "assert_desc_ok()" ? */
   tor_assert(!tor_mem_is_zero((char *) &desc->blinded_kp,
   sizeof(desc->blinded_kp)));
   tor_assert(!tor_mem_is_zero((char *) &desc->signing_kp,
@@ -1835,24 +1859,13 @@ build_service_desc_plaintext(const hs_service_t 
*service,
 
   plaintext->version = service->config.version;
   plaintext->lifetime_sec = HS_DESC_DEFAULT_LIFETIME;
-  plaintext->signing_key_cert =
-tor_cert_create(&desc->blinded_kp, CERT_TYPE_SIGNING_HS_DESC,
-&desc->signing_kp.pubkey, now, HS_DESC_CERT_LIFETIME,
-CERT_FLAG_I

[tor-commits] [tor/master] Documentation: Document which descriptor elements are (im)mutable.

2018-10-30 Thread dgoulet
commit df78fb24511e890a1a2bf00127db604919bbdc0e
Author: George Kadianakis 
Date:   Tue Oct 23 16:34:43 2018 +0300

Documentation: Document which descriptor elements are (im)mutable.
---
 src/feature/hs/hs_service.h | 58 +
 1 file changed, 37 insertions(+), 21 deletions(-)

diff --git a/src/feature/hs/hs_service.h b/src/feature/hs/hs_service.h
index 863d96bb4..9804a4571 100644
--- a/src/feature/hs/hs_service.h
+++ b/src/feature/hs/hs_service.h
@@ -99,48 +99,64 @@ typedef struct hs_service_intropoints_t {
   digestmap_t *failed_id;
 } hs_service_intropoints_t;
 
-/* Representation of a service descriptor. */
+/* Representation of a service descriptor.
+ *
+ * Some elements of the descriptor are mutable whereas others are immutable:
+
+ * Immutable elements are initialized once when the descriptor is built (when
+ * service descriptors gets rotated). This means that these elements are
+ * initialized once and then they don't change for the lifetime of the
+ * descriptor. See build_service_descriptor().
+ *
+ * Mutable elements are initialized when we build the descriptor but they are
+ * also altered during the lifetime of the descriptor. They could be
+ * _refreshed_ everytime we upload the descriptor (which happens multiple times
+ * over the lifetime of the descriptor), or through periodic events. We do this
+ * for elements like the descriptor revision counter and various
+ * certificates. See refresh_service_descriptor() and
+ * update_service_descriptor_intro_points().
+ */
 typedef struct hs_service_descriptor_t {
-  /* Decoded descriptor. This object is used for encoding when the service
-   * publishes the descriptor. */
+  /* Mutable: Decoded descriptor. This object is used for encoding when the
+   * service publishes the descriptor. */
   hs_descriptor_t *desc;
 
-  /* Client authorization ephemeral keypair. */
+  /* Immutable: Client authorization ephemeral keypair. */
   curve25519_keypair_t auth_ephemeral_kp;
 
-  /* Descriptor cookie used to encrypt the descriptor, when the client
-   * authorization is enabled */
+  /* Immutable: Descriptor cookie used to encrypt the descriptor, when the
+   * client authorization is enabled */
   uint8_t descriptor_cookie[HS_DESC_DESCRIPTOR_COOKIE_LEN];
 
-  /* Descriptor signing keypair. */
+  /* Immutable: Descriptor signing keypair. */
   ed25519_keypair_t signing_kp;
 
-  /* Blinded keypair derived from the master identity public key. */
+  /* Immutable: Blinded keypair derived from the master identity public key. */
   ed25519_keypair_t blinded_kp;
 
-  /* When is the next time when we should upload the descriptor. */
+  /* Mutable: When is the next time when we should upload the descriptor. */
   time_t next_upload_time;
 
-  /* Introduction points assign to this descriptor which contains
-   * hs_service_intropoints_t object indexed by authentication key (the RSA
-   * key if the node is legacy). */
+  /* Mutable: Introduction points assign to this descriptor which contains
+   * hs_service_intropoints_t object indexed by authentication key (the RSA key
+   * if the node is legacy). */
   hs_service_intropoints_t intro_points;
 
-  /* The time period number this descriptor has been created for. */
+  /* Immutable: The time period number this descriptor has been created for. */
   uint64_t time_period_num;
 
-  /* True iff we have missing intro points for this descriptor because we
-   * couldn't pick any nodes. */
+  /* Mutable: True iff we have missing intro points for this descriptor because
+   * we couldn't pick any nodes. */
   unsigned int missing_intro_points : 1;
 
-  /** List of the responsible HSDirs (their b64ed identity digest) last time we
-   *  uploaded this descriptor. If the set of responsible HSDirs is different
-   *  from this list, this means we received new dirinfo and we need to
-   *  reupload our descriptor. */
+  /** Mutable: List of the responsible HSDirs (their b64ed identity digest)
+   *  last time we uploaded this descriptor. If the set of responsible HSDirs
+   *  is different from this list, this means we received new dirinfo and we
+   *  need to reupload our descriptor. */
   smartlist_t *previous_hsdirs;
 
-  /** The OPE cipher for encrypting revision counters for this descriptor.
-   *  Tied to the descriptor blinded key. */
+  /** Immutable: The OPE cipher for encrypting revision counters for this
+   *  descriptor.  Tied to the descriptor blinded key. */
   struct crypto_ope_t *ope_cipher;
 } hs_service_descriptor_t;
 



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


[tor-commits] [tor/master] Func rename: Make it clear that update_all_descriptors() does intro points.

2018-10-30 Thread dgoulet
commit 29c194e0222a517a55a16fdc2a80a965f406cab8
Author: George Kadianakis 
Date:   Tue Oct 23 16:35:02 2018 +0300

Func rename: Make it clear that update_all_descriptors() does intro points.

With the new refresh_service_descriptor() function we had both
refresh_service_descriptor() and update_service_descriptor() which is 
basically
the same thing.

This commit renames update_service_descriptor() to
update_service_descriptor_intro_points() to make it clear it's not a generic
refresh and it's only about intro points.

Commit changes no code.
---
 src/feature/hs/hs_service.c | 23 +++
 src/feature/hs/hs_service.h |  2 +-
 src/test/test_hs_service.c  |  4 ++--
 3 files changed, 14 insertions(+), 15 deletions(-)

diff --git a/src/feature/hs/hs_service.c b/src/feature/hs/hs_service.c
index 850eb5cc7..58d28e984 100644
--- a/src/feature/hs/hs_service.c
+++ b/src/feature/hs/hs_service.c
@@ -2293,12 +2293,9 @@ service_desc_schedule_upload(hs_service_descriptor_t 
*desc,
   }
 }
 
-/* Update the given descriptor from the given service. The possible update
- * actions includes:
- *- Picking missing intro points if needed.
- */
+/* Pick missing intro points for this descriptor if needed. */
 static void
-update_service_descriptor(hs_service_t *service,
+update_service_descriptor_intro_points(hs_service_t *service,
   hs_service_descriptor_t *desc, time_t now)
 {
   unsigned int num_intro_points;
@@ -2337,15 +2334,17 @@ update_service_descriptor(hs_service_t *service,
   }
 }
 
-/* Update descriptors for each service if needed. */
+/* Update descriptor intro points for each service if needed. We do this as
+ * part of the periodic event because we need to establish intro point circuits
+ * before we publish descriptors. */
 STATIC void
-update_all_descriptors(time_t now)
+update_all_descriptors_intro_points(time_t now)
 {
   FOR_EACH_SERVICE_BEGIN(service) {
 /* We'll try to update each descriptor that is if certain conditions apply
  * in order for the descriptor to be updated. */
 FOR_EACH_DESCRIPTOR_BEGIN(service, desc) {
-  update_service_descriptor(service, desc, now);
+  update_service_descriptor_intro_points(service, desc, now);
 } FOR_EACH_DESCRIPTOR_END;
   } FOR_EACH_SERVICE_END;
 }
@@ -2630,10 +2629,10 @@ run_build_descriptor_event(time_t now)
* been rotated or we just started up. */
   build_all_descriptors(now);
 
-  /* Finally, we'll check if we should update the descriptors. Missing
-   * introduction points will be picked in this function which is useful for
-   * newly built descriptors. */
-  update_all_descriptors(now);
+  /* Finally, we'll check if we should update the descriptors' intro
+   * points. Missing introduction points will be picked in this function which
+   * is useful for newly built descriptors. */
+  update_all_descriptors_intro_points(now);
 }
 
 /* For the given service, launch any intro point circuits that could be
diff --git a/src/feature/hs/hs_service.h b/src/feature/hs/hs_service.h
index 6fb15b9d3..863d96bb4 100644
--- a/src/feature/hs/hs_service.h
+++ b/src/feature/hs/hs_service.h
@@ -387,7 +387,7 @@ STATIC int intro_point_should_expire(const 
hs_service_intro_point_t *ip,
 STATIC void run_housekeeping_event(time_t now);
 STATIC void rotate_all_descriptors(time_t now);
 STATIC void build_all_descriptors(time_t now);
-STATIC void update_all_descriptors(time_t now);
+STATIC void update_all_descriptors_intro_points(time_t now);
 STATIC void run_upload_descriptor_event(time_t now);
 
 STATIC void service_descriptor_free_(hs_service_descriptor_t *desc);
diff --git a/src/test/test_hs_service.c b/src/test/test_hs_service.c
index bfe50eb3c..ee2d71aa7 100644
--- a/src/test/test_hs_service.c
+++ b/src/test/test_hs_service.c
@@ -1457,7 +1457,7 @@ test_build_update_descriptors(void *arg)
   /* Time to test the update of those descriptors. At first, we have no node
* in the routerlist so this will find NO suitable node for the IPs. */
   setup_full_capture_of_logs(LOG_INFO);
-  update_all_descriptors(now);
+  update_all_descriptors_intro_points(now);
   expect_log_msg_containing("Unable to find a suitable node to be an "
 "introduction point for service");
   teardown_capture_of_logs();
@@ -1508,7 +1508,7 @@ test_build_update_descriptors(void *arg)
 
   /* We expect to pick only one intro point from the node above. */
   setup_full_capture_of_logs(LOG_INFO);
-  update_all_descriptors(now);
+  update_all_descriptors_intro_points(now);
   tor_free(node->ri->onion_curve25519_pkey); /* Avoid memleak. */
   tor_free(node->ri->cache_info.signing_key_cert);
   tor_free(node->ri->onion_pkey);



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


[tor-commits] [tor/maint-0.3.5] Func rename: Make it clear that update_all_descriptors() does intro points.

2018-10-30 Thread dgoulet
commit 29c194e0222a517a55a16fdc2a80a965f406cab8
Author: George Kadianakis 
Date:   Tue Oct 23 16:35:02 2018 +0300

Func rename: Make it clear that update_all_descriptors() does intro points.

With the new refresh_service_descriptor() function we had both
refresh_service_descriptor() and update_service_descriptor() which is 
basically
the same thing.

This commit renames update_service_descriptor() to
update_service_descriptor_intro_points() to make it clear it's not a generic
refresh and it's only about intro points.

Commit changes no code.
---
 src/feature/hs/hs_service.c | 23 +++
 src/feature/hs/hs_service.h |  2 +-
 src/test/test_hs_service.c  |  4 ++--
 3 files changed, 14 insertions(+), 15 deletions(-)

diff --git a/src/feature/hs/hs_service.c b/src/feature/hs/hs_service.c
index 850eb5cc7..58d28e984 100644
--- a/src/feature/hs/hs_service.c
+++ b/src/feature/hs/hs_service.c
@@ -2293,12 +2293,9 @@ service_desc_schedule_upload(hs_service_descriptor_t 
*desc,
   }
 }
 
-/* Update the given descriptor from the given service. The possible update
- * actions includes:
- *- Picking missing intro points if needed.
- */
+/* Pick missing intro points for this descriptor if needed. */
 static void
-update_service_descriptor(hs_service_t *service,
+update_service_descriptor_intro_points(hs_service_t *service,
   hs_service_descriptor_t *desc, time_t now)
 {
   unsigned int num_intro_points;
@@ -2337,15 +2334,17 @@ update_service_descriptor(hs_service_t *service,
   }
 }
 
-/* Update descriptors for each service if needed. */
+/* Update descriptor intro points for each service if needed. We do this as
+ * part of the periodic event because we need to establish intro point circuits
+ * before we publish descriptors. */
 STATIC void
-update_all_descriptors(time_t now)
+update_all_descriptors_intro_points(time_t now)
 {
   FOR_EACH_SERVICE_BEGIN(service) {
 /* We'll try to update each descriptor that is if certain conditions apply
  * in order for the descriptor to be updated. */
 FOR_EACH_DESCRIPTOR_BEGIN(service, desc) {
-  update_service_descriptor(service, desc, now);
+  update_service_descriptor_intro_points(service, desc, now);
 } FOR_EACH_DESCRIPTOR_END;
   } FOR_EACH_SERVICE_END;
 }
@@ -2630,10 +2629,10 @@ run_build_descriptor_event(time_t now)
* been rotated or we just started up. */
   build_all_descriptors(now);
 
-  /* Finally, we'll check if we should update the descriptors. Missing
-   * introduction points will be picked in this function which is useful for
-   * newly built descriptors. */
-  update_all_descriptors(now);
+  /* Finally, we'll check if we should update the descriptors' intro
+   * points. Missing introduction points will be picked in this function which
+   * is useful for newly built descriptors. */
+  update_all_descriptors_intro_points(now);
 }
 
 /* For the given service, launch any intro point circuits that could be
diff --git a/src/feature/hs/hs_service.h b/src/feature/hs/hs_service.h
index 6fb15b9d3..863d96bb4 100644
--- a/src/feature/hs/hs_service.h
+++ b/src/feature/hs/hs_service.h
@@ -387,7 +387,7 @@ STATIC int intro_point_should_expire(const 
hs_service_intro_point_t *ip,
 STATIC void run_housekeeping_event(time_t now);
 STATIC void rotate_all_descriptors(time_t now);
 STATIC void build_all_descriptors(time_t now);
-STATIC void update_all_descriptors(time_t now);
+STATIC void update_all_descriptors_intro_points(time_t now);
 STATIC void run_upload_descriptor_event(time_t now);
 
 STATIC void service_descriptor_free_(hs_service_descriptor_t *desc);
diff --git a/src/test/test_hs_service.c b/src/test/test_hs_service.c
index bfe50eb3c..ee2d71aa7 100644
--- a/src/test/test_hs_service.c
+++ b/src/test/test_hs_service.c
@@ -1457,7 +1457,7 @@ test_build_update_descriptors(void *arg)
   /* Time to test the update of those descriptors. At first, we have no node
* in the routerlist so this will find NO suitable node for the IPs. */
   setup_full_capture_of_logs(LOG_INFO);
-  update_all_descriptors(now);
+  update_all_descriptors_intro_points(now);
   expect_log_msg_containing("Unable to find a suitable node to be an "
 "introduction point for service");
   teardown_capture_of_logs();
@@ -1508,7 +1508,7 @@ test_build_update_descriptors(void *arg)
 
   /* We expect to pick only one intro point from the node above. */
   setup_full_capture_of_logs(LOG_INFO);
-  update_all_descriptors(now);
+  update_all_descriptors_intro_points(now);
   tor_free(node->ri->onion_curve25519_pkey); /* Avoid memleak. */
   tor_free(node->ri->cache_info.signing_key_cert);
   tor_free(node->ri->onion_pkey);



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


[tor-commits] [tor/master] Merge branch 'tor-github/pr/438' into maint-0.3.5

2018-10-30 Thread dgoulet
commit 488969fe9c4279477b1ff6da34ccf44ed19da8c7
Merge: 95559279e a61473114
Author: David Goulet 
Date:   Tue Oct 30 11:43:54 2018 -0400

Merge branch 'tor-github/pr/438' into maint-0.3.5

 changes/ticket27838 |   4 ++
 src/feature/hs/hs_service.c | 134 
 src/feature/hs/hs_service.h |  72 +++-
 src/test/test_hs_service.c  |   4 +-
 4 files changed, 135 insertions(+), 79 deletions(-)




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


[tor-commits] [tor/master] hs-v3: Create desc signing key cert before uploading

2018-10-30 Thread dgoulet
commit 81c466c34abdcaae9ed78958da50148ccf9939f8
Author: David Goulet 
Date:   Mon Oct 22 16:18:44 2018 -0400

hs-v3: Create desc signing key cert before uploading

Before this commit, we would create the descriptor signing key certificate
when first building the descriptor.

In some extreme cases, it lead to the expiry of the certificate which 
triggers
a BUG() when encoding the descriptor before uploading.

Ticket #27838 details a possible scenario in which this can happen. It is an
edge case where tor losts internet connectivity, notices it and closes all
circuits. When it came back up, the HS subsystem noticed that it had no
introduction circuits, created them and tried to upload the descriptor.

However, in the meantime, if tor did lack a live consensus because it is
currently seeking to download one, we would consider that we don't need to
rotate the descriptors leading to using the expired signing key certificate.

That being said, this commit does a bit more to make this process cleaner.
There are a series of things that we need to "refresh" before uploading a
descriptor: signing key cert, intro points and revision counter.

A refresh function is added to deal with all mutable descriptor fields. It 
in
turn simplified a bit the code surrounding the creation of the plaintext 
data.

We keep creating the cert when building the descriptor in order to 
accomodate
the unit tests. However, it is replaced every single time the descriptor is
uploaded.

Fixes #27838

Signed-off-by: David Goulet 
---
 changes/ticket27838 |   4 ++
 src/feature/hs/hs_service.c | 111 +---
 2 files changed, 78 insertions(+), 37 deletions(-)

diff --git a/changes/ticket27838 b/changes/ticket27838
new file mode 100644
index 0..1699730d7
--- /dev/null
+++ b/changes/ticket27838
@@ -0,0 +1,4 @@
+  o Minor bugfixes (hidden service v3):
+- Build the service descriptor signing key certificate before uploading so
+  we always have a fresh one leaving no chances for it to expire service
+  side. Fixes bug 27838; bugfix on 0.3.2.1-alpha.
diff --git a/src/feature/hs/hs_service.c b/src/feature/hs/hs_service.c
index 78654bfb2..850eb5cc7 100644
--- a/src/feature/hs/hs_service.c
+++ b/src/feature/hs/hs_service.c
@@ -1696,6 +1696,32 @@ build_desc_intro_points(const hs_service_t *service,
   } DIGEST256MAP_FOREACH_END;
 }
 
+/* Build the descriptor signing key certificate. */
+static void
+build_desc_signing_key_cert(hs_service_descriptor_t *desc, time_t now)
+{
+  hs_desc_plaintext_data_t *plaintext;
+
+  tor_assert(desc);
+  tor_assert(desc->desc);
+
+  /* Ease our life a bit. */
+  plaintext = &desc->desc->plaintext_data;
+
+  /* Get rid of what we have right now. */
+  tor_cert_free(plaintext->signing_key_cert);
+
+  /* Fresh certificate for the signing key. */
+  plaintext->signing_key_cert =
+tor_cert_create(&desc->blinded_kp, CERT_TYPE_SIGNING_HS_DESC,
+&desc->signing_kp.pubkey, now, HS_DESC_CERT_LIFETIME,
+CERT_FLAG_INCLUDE_SIGNING_KEY);
+  /* If the cert creation fails, the descriptor encoding will fail and thus
+   * ultimately won't be uploaded. We'll get a stack trace to help us learn
+   * where the call came from and the tor_cert_create() will log the error. */
+  tor_assert_nonfatal(plaintext->signing_key_cert);
+}
+
 /* Populate the descriptor encrypted section from the given service object.
  * This will generate a valid list of introduction points that can be used
  * after for circuit creation. Return 0 on success else -1 on error. */
@@ -1811,17 +1837,15 @@ build_service_desc_superencrypted(const hs_service_t 
*service,
 
 /* Populate the descriptor plaintext section from the given service object.
  * The caller must make sure that the keys in the descriptors are valid that
- * is are non-zero. Return 0 on success else -1 on error. */
-static int
+ * is are non-zero. This can't fail. */
+static void
 build_service_desc_plaintext(const hs_service_t *service,
- hs_service_descriptor_t *desc, time_t now)
+ hs_service_descriptor_t *desc)
 {
-  int ret = -1;
   hs_desc_plaintext_data_t *plaintext;
 
   tor_assert(service);
   tor_assert(desc);
-  /* XXX: Use a "assert_desc_ok()" ? */
   tor_assert(!tor_mem_is_zero((char *) &desc->blinded_kp,
   sizeof(desc->blinded_kp)));
   tor_assert(!tor_mem_is_zero((char *) &desc->signing_kp,
@@ -1835,24 +1859,13 @@ build_service_desc_plaintext(const hs_service_t 
*service,
 
   plaintext->version = service->config.version;
   plaintext->lifetime_sec = HS_DESC_DEFAULT_LIFETIME;
-  plaintext->signing_key_cert =
-tor_cert_create(&desc->blinded_kp, CERT_TYPE_SIGNING_HS_DESC,
-&desc->signing_kp.pubkey, now, HS_DESC_CERT_LIFETIME,
-CERT_FLAG_I

[tor-commits] [tor/maint-0.3.5] Merge branch 'tor-github/pr/438' into maint-0.3.5

2018-10-30 Thread dgoulet
commit 488969fe9c4279477b1ff6da34ccf44ed19da8c7
Merge: 95559279e a61473114
Author: David Goulet 
Date:   Tue Oct 30 11:43:54 2018 -0400

Merge branch 'tor-github/pr/438' into maint-0.3.5

 changes/ticket27838 |   4 ++
 src/feature/hs/hs_service.c | 134 
 src/feature/hs/hs_service.h |  72 +++-
 src/test/test_hs_service.c  |   4 +-
 4 files changed, 135 insertions(+), 79 deletions(-)

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


[tor-commits] [tor/maint-0.3.5] Documentation: Move the hs_service_descriptor_t elements around.

2018-10-30 Thread dgoulet
commit a614731144be9478617411bb3268a4fccec506d9
Author: George Kadianakis 
Date:   Tue Oct 23 16:43:08 2018 +0300

Documentation: Move the hs_service_descriptor_t elements around.

Move the elements around to concentrate mutable and immutable elements
together. This commit changes no code, check with --color-moved.
---
 src/feature/hs/hs_service.h | 22 +++---
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/src/feature/hs/hs_service.h b/src/feature/hs/hs_service.h
index 9804a4571..3f0adecbf 100644
--- a/src/feature/hs/hs_service.h
+++ b/src/feature/hs/hs_service.h
@@ -117,10 +117,6 @@ typedef struct hs_service_intropoints_t {
  * update_service_descriptor_intro_points().
  */
 typedef struct hs_service_descriptor_t {
-  /* Mutable: Decoded descriptor. This object is used for encoding when the
-   * service publishes the descriptor. */
-  hs_descriptor_t *desc;
-
   /* Immutable: Client authorization ephemeral keypair. */
   curve25519_keypair_t auth_ephemeral_kp;
 
@@ -134,6 +130,17 @@ typedef struct hs_service_descriptor_t {
   /* Immutable: Blinded keypair derived from the master identity public key. */
   ed25519_keypair_t blinded_kp;
 
+  /* Immutable: The time period number this descriptor has been created for. */
+  uint64_t time_period_num;
+
+  /** Immutable: The OPE cipher for encrypting revision counters for this
+   *  descriptor.  Tied to the descriptor blinded key. */
+  struct crypto_ope_t *ope_cipher;
+
+  /* Mutable: Decoded descriptor. This object is used for encoding when the
+   * service publishes the descriptor. */
+  hs_descriptor_t *desc;
+
   /* Mutable: When is the next time when we should upload the descriptor. */
   time_t next_upload_time;
 
@@ -142,9 +149,6 @@ typedef struct hs_service_descriptor_t {
* if the node is legacy). */
   hs_service_intropoints_t intro_points;
 
-  /* Immutable: The time period number this descriptor has been created for. */
-  uint64_t time_period_num;
-
   /* Mutable: True iff we have missing intro points for this descriptor because
* we couldn't pick any nodes. */
   unsigned int missing_intro_points : 1;
@@ -154,10 +158,6 @@ typedef struct hs_service_descriptor_t {
*  is different from this list, this means we received new dirinfo and we
*  need to reupload our descriptor. */
   smartlist_t *previous_hsdirs;
-
-  /** Immutable: The OPE cipher for encrypting revision counters for this
-   *  descriptor.  Tied to the descriptor blinded key. */
-  struct crypto_ope_t *ope_cipher;
 } hs_service_descriptor_t;
 
 /* Service key material. */



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


[tor-commits] [translation/donatepages-messagespot] Update translations for donatepages-messagespot

2018-10-30 Thread translation
commit d4b407fc1f20fffa2137f86d0a5f6b7d3bf76f4f
Author: Translation commit bot 
Date:   Tue Oct 30 15:45:21 2018 +

Update translations for donatepages-messagespot
---
 locale/el/LC_MESSAGES/messages.po | 32 
 1 file changed, 32 insertions(+)

diff --git a/locale/el/LC_MESSAGES/messages.po 
b/locale/el/LC_MESSAGES/messages.po
index e241537a3..1babd1cb3 100644
--- a/locale/el/LC_MESSAGES/messages.po
+++ b/locale/el/LC_MESSAGES/messages.po
@@ -1350,6 +1350,11 @@ msgid ""
 "research, test, and implement ideas we have for making the Tor network even "
 "stronger."
 msgstr ""
+"Όχι, όχι, όχι! Μεγαλύτερη χρηματοδότηση 
από εσάς σημαίνει ότι μπορούμε να "
+"κάνουμε περισσότερα πράγματα που είμαστε 
ενθουσιασμένοι για να κάνουμε, όπως"
+" η μίσθωση ενός ατόμου πλήρους 
απασχόλησης για να παρακολουθεί το δίκτυο 
Tor"
+" ή να ερευνήσουμε, να δοκιμάσουμε και να 
εφαρμόσουμε ιδέες που έχουμε για να"
+" κάνουμε το δίκτυο Tor ακόμα πιο ισχυρό."
 
 #: 
tmp/cache_locale/0e/0e65c68f2900f432bc062864e7bafc989d6286e272f5e98882a99f52ea4c5c89.php:359
 msgid "Can I donate via bitcoin?"
@@ -1409,6 +1414,8 @@ msgid ""
 "Is the Tor Project required to identify me as a donor to the United States "
 "government, or to any other authority?"
 msgstr ""
+"Είναι απαραίτητο το Tor Project να με 
αναγνωρίσει ως δωρητή στην κυβέρνηση "
+"των Ηνωμένων Πολιτειών ή σε οποιαδήποτε 
άλλη αρχή;"
 
 #: 
tmp/cache_locale/0e/0e65c68f2900f432bc062864e7bafc989d6286e272f5e98882a99f52ea4c5c89.php:390
 msgid ""
@@ -1416,6 +1423,10 @@ msgid ""
 "required to report the donation amount and your name and address (if we have"
 " it) to the IRS, on Schedule B of the Form 990, which is filed annually."
 msgstr ""
+"Αν δωρίσετε 5.000 δολάρια ή περισσότερα στο 
Tor Project μέσα σε ένα έτος, "
+"οφείλουμε να αναφέρουμε το ποσό της 
δωρεάς και το όνομα και τη διεύθυνσή σας"
+" (αν τα έχουμε) στο IRS, στο Πρόγραμμα Β του 
Εντύπου 990, το οποίο "
+"κατατίθεται ετησίως ."
 
 #: 
tmp/cache_locale/0e/0e65c68f2900f432bc062864e7bafc989d6286e272f5e98882a99f52ea4c5c89.php:392
 msgid ""
@@ -1429,18 +1440,24 @@ msgid ""
 "We are not required to identify donors to any other organization or "
 "authority, and we do not."
 msgstr ""
+"Δεν είμαστε υποχρεωμένοι να δηλώσουμε την 
ταυτότητα των δωρητών μας σε "
+"οποιονδήποτε άλλο οργανισμό ή αρχή και 
δεν το κάνουμε."
 
 #: 
tmp/cache_locale/0e/0e65c68f2900f432bc062864e7bafc989d6286e272f5e98882a99f52ea4c5c89.php:396
 msgid ""
 "(Also, if you wanted, you could give us $4,999 in late 2016 and $4,999 in "
 "early 2017 ;)"
 msgstr ""
+"(Επίσης, αν θέλατε, θα μπορούσατε να μας 
δώσετε 4.999 δολάρια στα τέλη του "
+"2016 και 4.999 δολάρια στις αρχές του 2017)"
 
 #: 
tmp/cache_locale/0e/0e65c68f2900f432bc062864e7bafc989d6286e272f5e98882a99f52ea4c5c89.php:402
 msgid ""
 "In your privacy policy, you say you will never publicly identify me as a "
 "donor without my permission."
 msgstr ""
+"Στην πολιτική απορρήτου σας, λέτε ότι ποτέ 
δεν θα με αναφέρετε δημόσια ως "
+"δωρητή χωρίς την άδειά μου."
 
 #: 
tmp/cache_locale/0e/0e65c68f2900f432bc062864e7bafc989d6286e272f5e98882a99f52ea4c5c89.php:404
 msgid "What does that mean?"
@@ -1489,12 +1506,16 @@ msgid ""
 "It's important to me that my donation be tax-deductible, but I don't pay "
 "taxes in the United States."
 msgstr ""
+"Είναι σημαντικό για μένα η δωρεά μου να 
εκπίπτει από τη φορολογία, αλλά δεν "
+"πληρώνω φόρους στις Ηνωμένες Πολιτείες."
 
 #: 
tmp/cache_locale/0e/0e65c68f2900f432bc062864e7bafc989d6286e272f5e98882a99f52ea4c5c89.php:426
 msgid ""
 "Right now, we can only offer tax-deductibility to donors who pay taxes in "
 "the United States."
 msgstr ""
+"Αυτή τη στιγμή, μπορούμε να προσφέρουμε 
φορολογική έκπτωση μόνο σε δωρητές "
+"που πληρώνουν φόρους στις Ηνωμένες Π
ολιτείες."
 
 #: 
tmp/cache_locale/0e/0e65c68f2900f432bc062864e7bafc989d6286e272f5e98882a99f52ea4c5c89.php:428
 msgid ""
@@ -1502,6 +1523,9 @@ msgid ""
 "different country, let us know and we wi

[tor-commits] [tor/maint-0.3.5] hs-v3: Always generate the descriptor cookie

2018-10-30 Thread dgoulet
commit 56f713b8a477b4203f3bfd8f3ad0952706dc9599
Author: David Goulet 
Date:   Thu Oct 18 11:44:26 2018 -0400

hs-v3: Always generate the descriptor cookie

It won't be used if there are no authorized client configured. We do that so
we can easily support the addition of a client with a HUP signal which allow
us to avoid more complex code path to generate that cookie if we have at 
least
one client auth and we had none before.

Fixes #27995

Signed-off-by: David Goulet 
---
 changes/ticket27995 |  4 
 src/feature/hs/hs_service.c | 10 --
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/changes/ticket27995 b/changes/ticket27995
new file mode 100644
index 0..8c7542574
--- /dev/null
+++ b/changes/ticket27995
@@ -0,0 +1,4 @@
+  o Minor bugfixes (hidden service v3, client authorization):
+- Fix an assert() when adding a client authorization for the first time
+  and then sending a HUP signal to the service. Before that, tor would
+  stop abruptly. Fixes bug 27995; bugfix on 0.3.5.1-alpha.
diff --git a/src/feature/hs/hs_service.c b/src/feature/hs/hs_service.c
index 78654bfb2..aec2aa438 100644
--- a/src/feature/hs/hs_service.c
+++ b/src/feature/hs/hs_service.c
@@ -1924,12 +1924,10 @@ build_service_desc_keys(const hs_service_t *service,
 goto end;
   }
 
-  /* Random a descriptor cookie to be used as a part of a key to encrypt the
-   * descriptor, if the client auth is enabled. */
-  if (service->config.is_client_auth_enabled) {
-crypto_strongest_rand(desc->descriptor_cookie,
-  sizeof(desc->descriptor_cookie));
-  }
+  /* Random descriptor cookie to be used as a part of a key to encrypt the
+   * descriptor, only if the client auth is enabled will it be used. */
+  crypto_strongest_rand(desc->descriptor_cookie,
+sizeof(desc->descriptor_cookie));
 
   /* Success. */
   ret = 0;



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


[tor-commits] [tor/maint-0.3.5] Merge branch 'tor-github/pr/415' into maint-0.3.5

2018-10-30 Thread dgoulet
commit 95559279e15393347c606eaaa323e0b6490782c2
Merge: 6c9d678ff 56f713b8a
Author: David Goulet 
Date:   Tue Oct 30 11:36:36 2018 -0400

Merge branch 'tor-github/pr/415' into maint-0.3.5

 changes/ticket27995 |  4 
 src/feature/hs/hs_service.c | 10 --
 2 files changed, 8 insertions(+), 6 deletions(-)

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


[tor-commits] [tor/release-0.3.5] Merge branch 'tor-github/pr/415' into maint-0.3.5

2018-10-30 Thread dgoulet
commit 95559279e15393347c606eaaa323e0b6490782c2
Merge: 6c9d678ff 56f713b8a
Author: David Goulet 
Date:   Tue Oct 30 11:36:36 2018 -0400

Merge branch 'tor-github/pr/415' into maint-0.3.5

 changes/ticket27995 |  4 
 src/feature/hs/hs_service.c | 10 --
 2 files changed, 8 insertions(+), 6 deletions(-)

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


[tor-commits] [tor/master] hs-v3: Always generate the descriptor cookie

2018-10-30 Thread dgoulet
commit 56f713b8a477b4203f3bfd8f3ad0952706dc9599
Author: David Goulet 
Date:   Thu Oct 18 11:44:26 2018 -0400

hs-v3: Always generate the descriptor cookie

It won't be used if there are no authorized client configured. We do that so
we can easily support the addition of a client with a HUP signal which allow
us to avoid more complex code path to generate that cookie if we have at 
least
one client auth and we had none before.

Fixes #27995

Signed-off-by: David Goulet 
---
 changes/ticket27995 |  4 
 src/feature/hs/hs_service.c | 10 --
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/changes/ticket27995 b/changes/ticket27995
new file mode 100644
index 0..8c7542574
--- /dev/null
+++ b/changes/ticket27995
@@ -0,0 +1,4 @@
+  o Minor bugfixes (hidden service v3, client authorization):
+- Fix an assert() when adding a client authorization for the first time
+  and then sending a HUP signal to the service. Before that, tor would
+  stop abruptly. Fixes bug 27995; bugfix on 0.3.5.1-alpha.
diff --git a/src/feature/hs/hs_service.c b/src/feature/hs/hs_service.c
index 78654bfb2..aec2aa438 100644
--- a/src/feature/hs/hs_service.c
+++ b/src/feature/hs/hs_service.c
@@ -1924,12 +1924,10 @@ build_service_desc_keys(const hs_service_t *service,
 goto end;
   }
 
-  /* Random a descriptor cookie to be used as a part of a key to encrypt the
-   * descriptor, if the client auth is enabled. */
-  if (service->config.is_client_auth_enabled) {
-crypto_strongest_rand(desc->descriptor_cookie,
-  sizeof(desc->descriptor_cookie));
-  }
+  /* Random descriptor cookie to be used as a part of a key to encrypt the
+   * descriptor, only if the client auth is enabled will it be used. */
+  crypto_strongest_rand(desc->descriptor_cookie,
+sizeof(desc->descriptor_cookie));
 
   /* Success. */
   ret = 0;



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


[tor-commits] [tor/release-0.3.5] hs-v3: Always generate the descriptor cookie

2018-10-30 Thread dgoulet
commit 56f713b8a477b4203f3bfd8f3ad0952706dc9599
Author: David Goulet 
Date:   Thu Oct 18 11:44:26 2018 -0400

hs-v3: Always generate the descriptor cookie

It won't be used if there are no authorized client configured. We do that so
we can easily support the addition of a client with a HUP signal which allow
us to avoid more complex code path to generate that cookie if we have at 
least
one client auth and we had none before.

Fixes #27995

Signed-off-by: David Goulet 
---
 changes/ticket27995 |  4 
 src/feature/hs/hs_service.c | 10 --
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/changes/ticket27995 b/changes/ticket27995
new file mode 100644
index 0..8c7542574
--- /dev/null
+++ b/changes/ticket27995
@@ -0,0 +1,4 @@
+  o Minor bugfixes (hidden service v3, client authorization):
+- Fix an assert() when adding a client authorization for the first time
+  and then sending a HUP signal to the service. Before that, tor would
+  stop abruptly. Fixes bug 27995; bugfix on 0.3.5.1-alpha.
diff --git a/src/feature/hs/hs_service.c b/src/feature/hs/hs_service.c
index 78654bfb2..aec2aa438 100644
--- a/src/feature/hs/hs_service.c
+++ b/src/feature/hs/hs_service.c
@@ -1924,12 +1924,10 @@ build_service_desc_keys(const hs_service_t *service,
 goto end;
   }
 
-  /* Random a descriptor cookie to be used as a part of a key to encrypt the
-   * descriptor, if the client auth is enabled. */
-  if (service->config.is_client_auth_enabled) {
-crypto_strongest_rand(desc->descriptor_cookie,
-  sizeof(desc->descriptor_cookie));
-  }
+  /* Random descriptor cookie to be used as a part of a key to encrypt the
+   * descriptor, only if the client auth is enabled will it be used. */
+  crypto_strongest_rand(desc->descriptor_cookie,
+sizeof(desc->descriptor_cookie));
 
   /* Success. */
   ret = 0;



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


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

2018-10-30 Thread dgoulet
commit 124c43704c99a181001d471b8cb2071e66b42597
Merge: 1c5c3f353 95559279e
Author: David Goulet 
Date:   Tue Oct 30 11:37:44 2018 -0400

Merge branch 'maint-0.3.5'

 changes/ticket27995 |  4 
 src/feature/hs/hs_service.c | 10 --
 2 files changed, 8 insertions(+), 6 deletions(-)

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


[tor-commits] [tor/master] Merge branch 'tor-github/pr/415' into maint-0.3.5

2018-10-30 Thread dgoulet
commit 95559279e15393347c606eaaa323e0b6490782c2
Merge: 6c9d678ff 56f713b8a
Author: David Goulet 
Date:   Tue Oct 30 11:36:36 2018 -0400

Merge branch 'tor-github/pr/415' into maint-0.3.5

 changes/ticket27995 |  4 
 src/feature/hs/hs_service.c | 10 --
 2 files changed, 8 insertions(+), 6 deletions(-)



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


[tor-commits] [tor/release-0.3.5] hs-v3: Add changes file for 28026

2018-10-30 Thread dgoulet
commit 6c9d678ff66d012b4c8009c6ad44409c7368ed69
Author: David Goulet 
Date:   Tue Oct 30 11:28:53 2018 -0400

hs-v3: Add changes file for 28026

Signed-off-by: David Goulet 
---
 changes/ticket28026 | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/changes/ticket28026 b/changes/ticket28026
new file mode 100644
index 0..a6911c2ca
--- /dev/null
+++ b/changes/ticket28026
@@ -0,0 +1,3 @@
+  o Documentation (hidden service manpage):
+- Improve HSv3 client authorization by making some options more explicit
+  and detailed. Closes ticket 28026. Patch by "mtigas".

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


[tor-commits] [tor/release-0.3.5] tweak manpage bits about v3 onion svc client auth

2018-10-30 Thread dgoulet
commit d023de945a7037bb4ec66f81aa83588d53184099
Author: Mike Tigas 
Date:   Fri Oct 12 17:15:11 2018 -0400

tweak manpage bits about v3 onion svc client auth

make a couple things more explicit, like not needing to set 
"HiddenServiceAuthorizeClient" & etc
---
 doc/tor.1.txt | 34 ++
 1 file changed, 22 insertions(+), 12 deletions(-)

diff --git a/doc/tor.1.txt b/doc/tor.1.txt
index 406372433..2d5237c84 100644
--- a/doc/tor.1.txt
+++ b/doc/tor.1.txt
@@ -1090,14 +1090,16 @@ The following options are useful only for clients (that 
is, if
 **HiddenServiceAuthorizeClient** option.
 
 [[ClientOnionAuthDir]] **ClientOnionAuthDir** __path__::
-Path to the directory containing the hidden service authorization file. The
-files MUST have the suffix ".auth_private". Each file is for a single
-onion address and their format is:
+Path to the directory containing v3 hidden service authorization files.
+Each file is for a single onion address, and the files MUST have the suffix
+".auth_private" (i.e. "bob_onion.auth_private"). The content format MUST 
be:
  +
   :descriptor:x25519:
  +
-The  MUST NOT have the ".onion" suffix. See the
-rend-spec-v3.txt Appendix G for more information.
+The  MUST NOT have the ".onion" suffix. The
+ is the base32 representation of the raw key bytes
+only (32 bytes for x25519). See Appendix G in the rend-spec-v3.txt file of
+https://spec.torproject.org/[torspec] for more information.
 
 [[LongLivedPorts]] **LongLivedPorts** __PORTS__::
 A list of ports for services that tend to have long-running connections
@@ -2839,7 +2841,8 @@ The following options are used to configure a hidden 
service.
 clients without authorization any more. Generated authorization data can be
 found in the hostname file. Clients need to put this authorization data in
 their configuration file using **HidServAuth**. This option is only for v2
-services.
+services; v3 services configure client authentication in a subdirectory of
+HiddenServiceDir instead (see the **Client Authorization** section).
 
 [[HiddenServiceAllowUnknownPorts]] **HiddenServiceAllowUnknownPorts** 
**0**|**1**::
If set to 1, then connections to unrecognized ports do not cause the
@@ -2941,19 +2944,26 @@ Client Authorization
 (Version 3 only)
 
 To configure client authorization on the service side, the
-"/authorized_clients/" needs to exists. Each file in that
-directory should be suffixed with ".auth" (the file name is irrelevant) and
-its content format MUST be:
+"/authorized_clients/" directory needs to exist. Each file
+in that directory should be suffixed with ".auth" (i.e. "alice.auth"; the
+file name is irrelevant) and its content format MUST be:
 
 ::
 
 The supported  are: "descriptor". The supported  are:
-"x25519". Each file MUST contain one line only. Any malformed file will be
-ignored.
+"x25519". The  is the base32 representation of the raw
+key bytes only (32 bytes for x25519).
+
+Each file MUST contain one line only. Any malformed file will be
+ignored. Client authorization will only be enabled for the service if tor
+successfully loads at least one authorization file.
 
 Note that once you've configured client authorization, anyone else with the
 address won't be able to access it from this point on. If no authorization is
-configured, the service will be accessible to all.
+configured, the service will be accessible to anyone with the onion address.
+
+See the Appendix G in the rend-spec-v3.txt file of
+https://spec.torproject.org/[torspec] for more information.
 
 TESTING NETWORK OPTIONS
 ---



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


[tor-commits] [tor/maint-0.3.5] hs-v3: Add changes file for 28026

2018-10-30 Thread dgoulet
commit 6c9d678ff66d012b4c8009c6ad44409c7368ed69
Author: David Goulet 
Date:   Tue Oct 30 11:28:53 2018 -0400

hs-v3: Add changes file for 28026

Signed-off-by: David Goulet 
---
 changes/ticket28026 | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/changes/ticket28026 b/changes/ticket28026
new file mode 100644
index 0..a6911c2ca
--- /dev/null
+++ b/changes/ticket28026
@@ -0,0 +1,3 @@
+  o Documentation (hidden service manpage):
+- Improve HSv3 client authorization by making some options more explicit
+  and detailed. Closes ticket 28026. Patch by "mtigas".

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


[tor-commits] [tor/master] tweak manpage bits about v3 onion svc client auth

2018-10-30 Thread dgoulet
commit d023de945a7037bb4ec66f81aa83588d53184099
Author: Mike Tigas 
Date:   Fri Oct 12 17:15:11 2018 -0400

tweak manpage bits about v3 onion svc client auth

make a couple things more explicit, like not needing to set 
"HiddenServiceAuthorizeClient" & etc
---
 doc/tor.1.txt | 34 ++
 1 file changed, 22 insertions(+), 12 deletions(-)

diff --git a/doc/tor.1.txt b/doc/tor.1.txt
index 406372433..2d5237c84 100644
--- a/doc/tor.1.txt
+++ b/doc/tor.1.txt
@@ -1090,14 +1090,16 @@ The following options are useful only for clients (that 
is, if
 **HiddenServiceAuthorizeClient** option.
 
 [[ClientOnionAuthDir]] **ClientOnionAuthDir** __path__::
-Path to the directory containing the hidden service authorization file. The
-files MUST have the suffix ".auth_private". Each file is for a single
-onion address and their format is:
+Path to the directory containing v3 hidden service authorization files.
+Each file is for a single onion address, and the files MUST have the suffix
+".auth_private" (i.e. "bob_onion.auth_private"). The content format MUST 
be:
  +
   :descriptor:x25519:
  +
-The  MUST NOT have the ".onion" suffix. See the
-rend-spec-v3.txt Appendix G for more information.
+The  MUST NOT have the ".onion" suffix. The
+ is the base32 representation of the raw key bytes
+only (32 bytes for x25519). See Appendix G in the rend-spec-v3.txt file of
+https://spec.torproject.org/[torspec] for more information.
 
 [[LongLivedPorts]] **LongLivedPorts** __PORTS__::
 A list of ports for services that tend to have long-running connections
@@ -2839,7 +2841,8 @@ The following options are used to configure a hidden 
service.
 clients without authorization any more. Generated authorization data can be
 found in the hostname file. Clients need to put this authorization data in
 their configuration file using **HidServAuth**. This option is only for v2
-services.
+services; v3 services configure client authentication in a subdirectory of
+HiddenServiceDir instead (see the **Client Authorization** section).
 
 [[HiddenServiceAllowUnknownPorts]] **HiddenServiceAllowUnknownPorts** 
**0**|**1**::
If set to 1, then connections to unrecognized ports do not cause the
@@ -2941,19 +2944,26 @@ Client Authorization
 (Version 3 only)
 
 To configure client authorization on the service side, the
-"/authorized_clients/" needs to exists. Each file in that
-directory should be suffixed with ".auth" (the file name is irrelevant) and
-its content format MUST be:
+"/authorized_clients/" directory needs to exist. Each file
+in that directory should be suffixed with ".auth" (i.e. "alice.auth"; the
+file name is irrelevant) and its content format MUST be:
 
 ::
 
 The supported  are: "descriptor". The supported  are:
-"x25519". Each file MUST contain one line only. Any malformed file will be
-ignored.
+"x25519". The  is the base32 representation of the raw
+key bytes only (32 bytes for x25519).
+
+Each file MUST contain one line only. Any malformed file will be
+ignored. Client authorization will only be enabled for the service if tor
+successfully loads at least one authorization file.
 
 Note that once you've configured client authorization, anyone else with the
 address won't be able to access it from this point on. If no authorization is
-configured, the service will be accessible to all.
+configured, the service will be accessible to anyone with the onion address.
+
+See the Appendix G in the rend-spec-v3.txt file of
+https://spec.torproject.org/[torspec] for more information.
 
 TESTING NETWORK OPTIONS
 ---



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


[tor-commits] [tor/master] hs-v3: Add changes file for 28026

2018-10-30 Thread dgoulet
commit 6c9d678ff66d012b4c8009c6ad44409c7368ed69
Author: David Goulet 
Date:   Tue Oct 30 11:28:53 2018 -0400

hs-v3: Add changes file for 28026

Signed-off-by: David Goulet 
---
 changes/ticket28026 | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/changes/ticket28026 b/changes/ticket28026
new file mode 100644
index 0..a6911c2ca
--- /dev/null
+++ b/changes/ticket28026
@@ -0,0 +1,3 @@
+  o Documentation (hidden service manpage):
+- Improve HSv3 client authorization by making some options more explicit
+  and detailed. Closes ticket 28026. Patch by "mtigas".



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


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

2018-10-30 Thread dgoulet
commit 1c5c3f353a0324bbc8b5df235999e04d2478c650
Merge: cdb065d6b 6c9d678ff
Author: David Goulet 
Date:   Tue Oct 30 11:29:30 2018 -0400

Merge branch 'maint-0.3.5'

 changes/ticket28026 |  3 +++
 doc/tor.1.txt   | 34 ++
 2 files changed, 25 insertions(+), 12 deletions(-)

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


[tor-commits] [tor/maint-0.3.5] tweak manpage bits about v3 onion svc client auth

2018-10-30 Thread dgoulet
commit d023de945a7037bb4ec66f81aa83588d53184099
Author: Mike Tigas 
Date:   Fri Oct 12 17:15:11 2018 -0400

tweak manpage bits about v3 onion svc client auth

make a couple things more explicit, like not needing to set 
"HiddenServiceAuthorizeClient" & etc
---
 doc/tor.1.txt | 34 ++
 1 file changed, 22 insertions(+), 12 deletions(-)

diff --git a/doc/tor.1.txt b/doc/tor.1.txt
index 406372433..2d5237c84 100644
--- a/doc/tor.1.txt
+++ b/doc/tor.1.txt
@@ -1090,14 +1090,16 @@ The following options are useful only for clients (that 
is, if
 **HiddenServiceAuthorizeClient** option.
 
 [[ClientOnionAuthDir]] **ClientOnionAuthDir** __path__::
-Path to the directory containing the hidden service authorization file. The
-files MUST have the suffix ".auth_private". Each file is for a single
-onion address and their format is:
+Path to the directory containing v3 hidden service authorization files.
+Each file is for a single onion address, and the files MUST have the suffix
+".auth_private" (i.e. "bob_onion.auth_private"). The content format MUST 
be:
  +
   :descriptor:x25519:
  +
-The  MUST NOT have the ".onion" suffix. See the
-rend-spec-v3.txt Appendix G for more information.
+The  MUST NOT have the ".onion" suffix. The
+ is the base32 representation of the raw key bytes
+only (32 bytes for x25519). See Appendix G in the rend-spec-v3.txt file of
+https://spec.torproject.org/[torspec] for more information.
 
 [[LongLivedPorts]] **LongLivedPorts** __PORTS__::
 A list of ports for services that tend to have long-running connections
@@ -2839,7 +2841,8 @@ The following options are used to configure a hidden 
service.
 clients without authorization any more. Generated authorization data can be
 found in the hostname file. Clients need to put this authorization data in
 their configuration file using **HidServAuth**. This option is only for v2
-services.
+services; v3 services configure client authentication in a subdirectory of
+HiddenServiceDir instead (see the **Client Authorization** section).
 
 [[HiddenServiceAllowUnknownPorts]] **HiddenServiceAllowUnknownPorts** 
**0**|**1**::
If set to 1, then connections to unrecognized ports do not cause the
@@ -2941,19 +2944,26 @@ Client Authorization
 (Version 3 only)
 
 To configure client authorization on the service side, the
-"/authorized_clients/" needs to exists. Each file in that
-directory should be suffixed with ".auth" (the file name is irrelevant) and
-its content format MUST be:
+"/authorized_clients/" directory needs to exist. Each file
+in that directory should be suffixed with ".auth" (i.e. "alice.auth"; the
+file name is irrelevant) and its content format MUST be:
 
 ::
 
 The supported  are: "descriptor". The supported  are:
-"x25519". Each file MUST contain one line only. Any malformed file will be
-ignored.
+"x25519". The  is the base32 representation of the raw
+key bytes only (32 bytes for x25519).
+
+Each file MUST contain one line only. Any malformed file will be
+ignored. Client authorization will only be enabled for the service if tor
+successfully loads at least one authorization file.
 
 Note that once you've configured client authorization, anyone else with the
 address won't be able to access it from this point on. If no authorization is
-configured, the service will be accessible to all.
+configured, the service will be accessible to anyone with the onion address.
+
+See the Appendix G in the rend-spec-v3.txt file of
+https://spec.torproject.org/[torspec] for more information.
 
 TESTING NETWORK OPTIONS
 ---



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


[tor-commits] [torspec/master] Specify the ED25519-V3 private key format, and explain why it is so.

2018-10-30 Thread dgoulet
commit 3c34000c9c28b6a55e2c4333a5ad0ccf99bd4026
Author: Taylor R Campbell 
Date:   Fri Oct 19 17:43:17 2018 +

Specify the ED25519-V3 private key format, and explain why it is so.
---
 control-spec.txt | 14 --
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/control-spec.txt b/control-spec.txt
index 6f0a543..6a04b65 100644
--- a/control-spec.txt
+++ b/control-spec.txt
@@ -1671,8 +1671,18 @@
 
   (The KeyBlob format is left intentionally opaque, however for "RSA1024"
   keys it is currently the Base64 encoded DER representation of a PKCS#1
-  RSAPrivateKey, with all newlines removed. For a "ED25519-V3" key is a Base64
-  encoded ed25519 private key.)
+  RSAPrivateKey, with all newlines removed. For a "ED25519-V3" key is
+  the Base64 encoding of the concatenation of the 32-byte ed25519 secret
+  scalar in little-endian and the 32-byte ed25519 PRF secret.)
+
+  [Note: The ED25519-V3 format is not the same as, e.g., SUPERCOP
+  ed25519/ref, which stores the concatenation of the 32-byte ed25519
+  hash seed concatenated with the 32-byte public key, and which derives
+  the secret scalar and PRF secret by expanding the hash seed with
+  SHA-512.  Our key blinding scheme is incompatible with storing
+  private keys as seeds, so we store the secret scalar alongside the
+  PRF secret, and just pay the cost of recomputing the public key when
+  importing an ED25519-V3 key.]
 
   (The "NEW:BEST" option obeys the HiddenServiceVersion torrc option default
   value. Currently it is 2.)

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


[tor-commits] [translation/donatepages-messagespot_completed] Update translations for donatepages-messagespot_completed

2018-10-30 Thread translation
commit 509da29317440c20708fe2214d00d5c0f47a5d4b
Author: Translation commit bot 
Date:   Tue Oct 30 15:15:31 2018 +

Update translations for donatepages-messagespot_completed
---
 locale/es_AR/LC_MESSAGES/messages.po | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/locale/es_AR/LC_MESSAGES/messages.po 
b/locale/es_AR/LC_MESSAGES/messages.po
index 890f7e1a1..f5ead19f8 100644
--- a/locale/es_AR/LC_MESSAGES/messages.po
+++ b/locale/es_AR/LC_MESSAGES/messages.po
@@ -622,7 +622,7 @@ msgid ""
 "to integrate Tor into their applications."
 msgstr ""
 "Gracias por apoyar a Tor a Potenciar la Resistencia Digital. Debería "
-"llegarte un recibo por correo electrónico a corto plazo. Con tu soporte, "
+"llegarte un recibo por correo electrónico a prontamente. Con tu apoyo, "
 "seremos capaces de encarar proyectos ambiciosos, tal como desarrollar un "
 "navegador más seguro, con privacidad ampliada para dispositivos móviles, y "
 "hacer más fácil que desarrolladores de aplicaciones de terceros integren "

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


[tor-commits] [translation/donatepages-messagespot] Update translations for donatepages-messagespot

2018-10-30 Thread translation
commit adf0df1efc8d61a535bef9f71077e5f74b66ccc9
Author: Translation commit bot 
Date:   Tue Oct 30 15:15:25 2018 +

Update translations for donatepages-messagespot
---
 locale/el/LC_MESSAGES/messages.po| 23 +++
 locale/es_AR/LC_MESSAGES/messages.po |  2 +-
 2 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/locale/el/LC_MESSAGES/messages.po 
b/locale/el/LC_MESSAGES/messages.po
index 4b3102808..e241537a3 100644
--- a/locale/el/LC_MESSAGES/messages.po
+++ b/locale/el/LC_MESSAGES/messages.po
@@ -1162,6 +1162,13 @@ msgid ""
 "  Phone number: 206-420-3136\n"
 "  Contact person: Shari Steele, Executive Director"
 msgstr ""
+"Αριθμός Φορολογικού Μητρώου (ΑΦΜ) του Tor 
Project:20-8096820\n"
+"Διεύθυνση:\n"
+"Tor Project, Inc.\n"
+"217 First Avenue South #4903\n"
+"Seattle, WA 98194\n"
+"Αριθμός τηλεφώνου: 206-420-3136\n"
+"Υπεύθυνος επικοινωνίας:Shari Steele, Executive 
Director"
 
 #: 
tmp/cache_locale/0e/0e65c68f2900f432bc062864e7bafc989d6286e272f5e98882a99f52ea4c5c89.php:263
 msgid "If I am not in the United States, can I still donate?"
@@ -1176,6 +1183,8 @@ msgid ""
 "Your donation probably isn't tax-deductible (unless you pay taxes on U.S. "
 "income) but we would very much appreciate your support."
 msgstr ""
+"Η δωρεά σας πιθανότατα δεν εκπίπτει από το 
φόρο (εκτός αν πληρώνετε φόρο "
+"εισοδήματος των ΗΠΑ), αλλά θα εκτιμούσαμε 
πολύ την υποστήριξή σας."
 
 #: 
tmp/cache_locale/0e/0e65c68f2900f432bc062864e7bafc989d6286e272f5e98882a99f52ea4c5c89.php:275
 msgid ""
@@ -1196,12 +1205,17 @@ msgid ""
 "used, we're required by the IRS to track and report separately on that "
 "money."
 msgstr ""
+"Αν δεχτούμε δωρεά από κάποιον που έχει 
διευκρινίσει πώς θέλει να "
+"χρησιμοποιηθεί το ποσό, απαιτείται από το 
IRS να παρακολουθήσουμε και να "
+"αναφέρουμε χωριστά τα χρήματα αυτά."
 
 #: 
tmp/cache_locale/0e/0e65c68f2900f432bc062864e7bafc989d6286e272f5e98882a99f52ea4c5c89.php:283
 msgid ""
 "That would be a big administrative burden for a small organization, and we "
 "don't think it's a good idea for us."
 msgstr ""
+"Αυτό θα ήταν ένα μεγάλο διοικητικό βάρος 
για μια μικρή οργάνωση και δεν "
+"πιστεύουμε ότι είναι καλή ιδέα για εμάς."
 
 #: 
tmp/cache_locale/0e/0e65c68f2900f432bc062864e7bafc989d6286e272f5e98882a99f52ea4c5c89.php:285
 msgid ""
@@ -1215,6 +1229,8 @@ msgid ""
 "If you're donating using a mechanism that allows for comments, feel free to "
 "send your thoughts that way."
 msgstr ""
+"Αν κάνετε δωρεά χρησιμοποιώντας έναν 
μηχανισμό που επιτρέπει σχόλια, μη "
+"διστάσετε να στείλετε τις σκέψεις σας με 
αυτόν τον τρόπο."
 
 #: 
tmp/cache_locale/0e/0e65c68f2900f432bc062864e7bafc989d6286e272f5e98882a99f52ea4c5c89.php:293
 msgid "Can I donate while using Tor Browser?"
@@ -1266,6 +1282,10 @@ msgid ""
 "Discover or American Express) or via PayPal, please visit our https://donate.torproject.org\";>donate page."
 msgstr ""
+"Για να κάνετε δωρεά χρησιμοποιώντας μια 
πιστωτική κάρτα ή μια χρεωστική "
+"κάρτα (VISA, MasterCard, Discover ή American Express) ή μέσω 
PayPal, "
+"επισκεφθείτε τη https://donate.torproject.org\";>σελίδα δωρεών "
+"μας."
 
 #: 
tmp/cache_locale/0e/0e65c68f2900f432bc062864e7bafc989d6286e272f5e98882a99f52ea4c5c89.php:323
 msgid "Why do you ask for my address and similar information?"
@@ -1286,6 +1306,9 @@ msgid ""
 "This allows our payment processor to verify your identity, process your "
 "payment, and prevent fraudulent charges to your credit card."
 msgstr ""
+"Αυτό επιτρέπει στον επεξεργαστή πληρωμών 
μας να επαληθεύσει την ταυτότητά "
+"σας, να επεξεργαστεί την πληρωμή σας και 
να αποτρέψει παράνομες χρεώσεις "
+"στην πιστωτική σας κάρτα."
 
 #: 
tmp/cache_locale/0e/0e65c68f2900f432bc062864e7bafc989d6286e272f5e98882a99f52ea4c5c89.php:331
 msgid ""
diff --git a/locale/es_AR/LC_MESSAGES/messages.po 
b/locale/es_AR/LC_MESSAGES/messages.po
index 890f7e1a1..f5ead19f8 100644
--- a/locale/es_AR/LC_MESSAGES/messages.po
+++ b/locale/es_AR/LC_MESSAGES/messages.po
@@ -622,7 +622,7 @@ msgid ""
 "to integrate Tor into their applications."
 msgstr ""
 "Gracias por apoyar a Tor a Potenciar la Resistencia Digital. Debería "
-"llegarte un recibo por correo electrónico a corto pl

[tor-commits] [tor/release-0.3.5] Add changes file for Bug #28127

2018-10-30 Thread dgoulet
commit 9b72dca953d56636f0434bd67be2ca80422e7c1e
Author: Neel Chauhan 
Date:   Wed Oct 24 12:20:28 2018 -0400

Add changes file for Bug #28127
---
 changes/bug28127 | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/changes/bug28127 b/changes/bug28127
new file mode 100644
index 0..541128c88
--- /dev/null
+++ b/changes/bug28127
@@ -0,0 +1,7 @@
+  o Minor bugfixes (onion services):
+- Unless we have explicitly set HiddenServiceVersion, detect the onion
+  service version and then look for invalid options. Previously, we
+  did the reverse, but that broke existing configs which were pointed
+  to a v2 hidden service and had options like HiddenServiceAuthorizeClient
+  set Fixes bug 28127; bugfix on 0.3.5.1-alpha. Patch by Neel Chauhan.
+

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


[tor-commits] [tor/master] Add changes file for Bug #28127

2018-10-30 Thread dgoulet
commit 9b72dca953d56636f0434bd67be2ca80422e7c1e
Author: Neel Chauhan 
Date:   Wed Oct 24 12:20:28 2018 -0400

Add changes file for Bug #28127
---
 changes/bug28127 | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/changes/bug28127 b/changes/bug28127
new file mode 100644
index 0..541128c88
--- /dev/null
+++ b/changes/bug28127
@@ -0,0 +1,7 @@
+  o Minor bugfixes (onion services):
+- Unless we have explicitly set HiddenServiceVersion, detect the onion
+  service version and then look for invalid options. Previously, we
+  did the reverse, but that broke existing configs which were pointed
+  to a v2 hidden service and had options like HiddenServiceAuthorizeClient
+  set Fixes bug 28127; bugfix on 0.3.5.1-alpha. Patch by Neel Chauhan.
+



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


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

2018-10-30 Thread dgoulet
commit cdb065d6b211298efb0be9320fce32d307b79d2c
Merge: 6ba7f9f0a 9b72dca95
Author: David Goulet 
Date:   Tue Oct 30 10:55:10 2018 -0400

Merge branch 'maint-0.3.5'

 changes/bug28127|  7 +++
 src/feature/hs/hs_config.c  | 30 +++---
 src/feature/hs/hs_service.h |  3 +++
 src/test/test_hs_config.c   | 16 
 4 files changed, 45 insertions(+), 11 deletions(-)

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


[tor-commits] [tor/master] Add test for HiddenServiceAuthorizeClient and v3 onion services

2018-10-30 Thread dgoulet
commit cd9914d9f91a2fd1f56e1c0f89bee57b9a49bbc6
Author: Neel Chauhan 
Date:   Wed Oct 24 12:20:10 2018 -0400

Add test for HiddenServiceAuthorizeClient and v3 onion services
---
 src/test/test_hs_config.c | 16 
 1 file changed, 16 insertions(+)

diff --git a/src/test/test_hs_config.c b/src/test/test_hs_config.c
index 553b96758..b6ab0c21f 100644
--- a/src/test/test_hs_config.c
+++ b/src/test/test_hs_config.c
@@ -366,6 +366,22 @@ test_invalid_service_v3(void *arg)
 teardown_capture_of_logs();
   }
 
+  /* v2-specific HiddenServiceAuthorizeClient set. */
+  {
+const char *conf =
+  "HiddenServiceDir /tmp/tor-test-hs-RANDOM/hs1\n"
+  "HiddenServiceVersion 3\n"
+  "HiddenServiceAuthorizeClient stealth client1\n";
+setup_full_capture_of_logs(LOG_WARN);
+ret = helper_config_service(conf, validate_only);
+tt_int_op(ret, OP_EQ, -1);
+expect_log_msg_containing("Hidden service option "
+  "HiddenServiceAuthorizeClient is incompatible "
+  "with version 3 of service in "
+  "/tmp/tor-test-hs-RANDOM/hs1");
+teardown_capture_of_logs();
+  }
+
  done:
   ;
 }



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


[tor-commits] [tor/maint-0.3.5] Add test for HiddenServiceAuthorizeClient and v3 onion services

2018-10-30 Thread dgoulet
commit cd9914d9f91a2fd1f56e1c0f89bee57b9a49bbc6
Author: Neel Chauhan 
Date:   Wed Oct 24 12:20:10 2018 -0400

Add test for HiddenServiceAuthorizeClient and v3 onion services
---
 src/test/test_hs_config.c | 16 
 1 file changed, 16 insertions(+)

diff --git a/src/test/test_hs_config.c b/src/test/test_hs_config.c
index 553b96758..b6ab0c21f 100644
--- a/src/test/test_hs_config.c
+++ b/src/test/test_hs_config.c
@@ -366,6 +366,22 @@ test_invalid_service_v3(void *arg)
 teardown_capture_of_logs();
   }
 
+  /* v2-specific HiddenServiceAuthorizeClient set. */
+  {
+const char *conf =
+  "HiddenServiceDir /tmp/tor-test-hs-RANDOM/hs1\n"
+  "HiddenServiceVersion 3\n"
+  "HiddenServiceAuthorizeClient stealth client1\n";
+setup_full_capture_of_logs(LOG_WARN);
+ret = helper_config_service(conf, validate_only);
+tt_int_op(ret, OP_EQ, -1);
+expect_log_msg_containing("Hidden service option "
+  "HiddenServiceAuthorizeClient is incompatible "
+  "with version 3 of service in "
+  "/tmp/tor-test-hs-RANDOM/hs1");
+teardown_capture_of_logs();
+  }
+
  done:
   ;
 }



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


[tor-commits] [tor/release-0.3.5] Add test for HiddenServiceAuthorizeClient and v3 onion services

2018-10-30 Thread dgoulet
commit cd9914d9f91a2fd1f56e1c0f89bee57b9a49bbc6
Author: Neel Chauhan 
Date:   Wed Oct 24 12:20:10 2018 -0400

Add test for HiddenServiceAuthorizeClient and v3 onion services
---
 src/test/test_hs_config.c | 16 
 1 file changed, 16 insertions(+)

diff --git a/src/test/test_hs_config.c b/src/test/test_hs_config.c
index 553b96758..b6ab0c21f 100644
--- a/src/test/test_hs_config.c
+++ b/src/test/test_hs_config.c
@@ -366,6 +366,22 @@ test_invalid_service_v3(void *arg)
 teardown_capture_of_logs();
   }
 
+  /* v2-specific HiddenServiceAuthorizeClient set. */
+  {
+const char *conf =
+  "HiddenServiceDir /tmp/tor-test-hs-RANDOM/hs1\n"
+  "HiddenServiceVersion 3\n"
+  "HiddenServiceAuthorizeClient stealth client1\n";
+setup_full_capture_of_logs(LOG_WARN);
+ret = helper_config_service(conf, validate_only);
+tt_int_op(ret, OP_EQ, -1);
+expect_log_msg_containing("Hidden service option "
+  "HiddenServiceAuthorizeClient is incompatible "
+  "with version 3 of service in "
+  "/tmp/tor-test-hs-RANDOM/hs1");
+teardown_capture_of_logs();
+  }
+
  done:
   ;
 }



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


[tor-commits] [tor/release-0.3.5] Detect the onion service version and then check for invalid options unless we have set HiddenServiceVersion

2018-10-30 Thread dgoulet
commit 82b3a023024755971003f53950d9b6dfbe90f969
Author: Neel Chauhan 
Date:   Wed Oct 24 12:19:42 2018 -0400

Detect the onion service version and then check for invalid options unless 
we have set HiddenServiceVersion
---
 src/feature/hs/hs_config.c  | 30 +++---
 src/feature/hs/hs_service.h |  3 +++
 2 files changed, 22 insertions(+), 11 deletions(-)

diff --git a/src/feature/hs/hs_config.c b/src/feature/hs/hs_config.c
index 93d7403df..497e31fbb 100644
--- a/src/feature/hs/hs_config.c
+++ b/src/feature/hs/hs_config.c
@@ -419,7 +419,7 @@ config_generic_service(const config_line_t *line_,
   dup_opt_seen = line->key;
 goto err;
   }
-  have_version = 1;
+  have_version = service->config.hs_version_explicitly_set = 1;
   continue;
 }
 /* Virtual port. */
@@ -534,18 +534,15 @@ config_service(const config_line_t *line, const 
or_options_t *options,
 
   /* We have a new hidden service. */
   service = hs_service_new(options);
+
   /* We'll configure that service as a generic one and then pass it to a
* specific function according to the configured version number. */
   if (config_generic_service(line, options, service) < 0) {
 goto err;
   }
+
   tor_assert(service->config.version <= HS_VERSION_MAX);
-  /* Before we configure the service on a per-version basis, we'll make
-   * sure that this set of options for a service are valid that is for
-   * instance an option only for v2 is not used for v3. */
-  if (config_has_invalid_options(line->next, service)) {
-goto err;
-  }
+
   /* Check permission on service directory that was just parsed. And this must
* be done regardless of the service version. Do not ask for the directory
* to be created, this is done when the keys are loaded because we could be
@@ -556,11 +553,19 @@ config_service(const config_line_t *line, const 
or_options_t *options,
0) < 0) {
 goto err;
   }
+
   /* We'll try to learn the service version here by loading the key(s) if
-   * present. Depending on the key format, we can figure out the service
-   * version. If we can't find a key, the configuration version will be used
-   * which has been set previously. */
-  service->config.version = config_learn_service_version(service);
+   * present and we did not set HiddenServiceVersion. Depending on the key
+   * format, we can figure out the service version. */
+  if (!service->config.hs_version_explicitly_set) {
+service->config.version = config_learn_service_version(service);
+  }
+
+  /* We make sure that this set of options for a service are valid that is for
+   * instance an option only for v2 is not used for v3. */
+  if (config_has_invalid_options(line->next, service)) {
+goto err;
+  }
 
   /* Different functions are in charge of specific options for a version. We
* start just after the service directory line so once we hit another
@@ -580,13 +585,16 @@ config_service(const config_line_t *line, const 
or_options_t *options,
   if (ret < 0) {
 goto err;
   }
+
   /* We'll check if this service can be kept depending on the others
* configured previously. */
   if (service_is_duplicate_in_list(service_list, service)) {
 goto err;
   }
+
   /* Passes, add it to the given list. */
   smartlist_add(service_list, service);
+
   return 0;
 
  err:
diff --git a/src/feature/hs/hs_service.h b/src/feature/hs/hs_service.h
index 6fb15b9d3..cc0006f1d 100644
--- a/src/feature/hs/hs_service.h
+++ b/src/feature/hs/hs_service.h
@@ -178,6 +178,9 @@ typedef struct hs_service_config_t {
* option. */
   uint32_t version;
 
+  /* Have we explicitly set HiddenServiceVersion? */
+  unsigned int hs_version_explicitly_set : 1;
+
   /* List of rend_service_port_config_t */
   smartlist_t *ports;
 



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


[tor-commits] [tor/master] Detect the onion service version and then check for invalid options unless we have set HiddenServiceVersion

2018-10-30 Thread dgoulet
commit 82b3a023024755971003f53950d9b6dfbe90f969
Author: Neel Chauhan 
Date:   Wed Oct 24 12:19:42 2018 -0400

Detect the onion service version and then check for invalid options unless 
we have set HiddenServiceVersion
---
 src/feature/hs/hs_config.c  | 30 +++---
 src/feature/hs/hs_service.h |  3 +++
 2 files changed, 22 insertions(+), 11 deletions(-)

diff --git a/src/feature/hs/hs_config.c b/src/feature/hs/hs_config.c
index 93d7403df..497e31fbb 100644
--- a/src/feature/hs/hs_config.c
+++ b/src/feature/hs/hs_config.c
@@ -419,7 +419,7 @@ config_generic_service(const config_line_t *line_,
   dup_opt_seen = line->key;
 goto err;
   }
-  have_version = 1;
+  have_version = service->config.hs_version_explicitly_set = 1;
   continue;
 }
 /* Virtual port. */
@@ -534,18 +534,15 @@ config_service(const config_line_t *line, const 
or_options_t *options,
 
   /* We have a new hidden service. */
   service = hs_service_new(options);
+
   /* We'll configure that service as a generic one and then pass it to a
* specific function according to the configured version number. */
   if (config_generic_service(line, options, service) < 0) {
 goto err;
   }
+
   tor_assert(service->config.version <= HS_VERSION_MAX);
-  /* Before we configure the service on a per-version basis, we'll make
-   * sure that this set of options for a service are valid that is for
-   * instance an option only for v2 is not used for v3. */
-  if (config_has_invalid_options(line->next, service)) {
-goto err;
-  }
+
   /* Check permission on service directory that was just parsed. And this must
* be done regardless of the service version. Do not ask for the directory
* to be created, this is done when the keys are loaded because we could be
@@ -556,11 +553,19 @@ config_service(const config_line_t *line, const 
or_options_t *options,
0) < 0) {
 goto err;
   }
+
   /* We'll try to learn the service version here by loading the key(s) if
-   * present. Depending on the key format, we can figure out the service
-   * version. If we can't find a key, the configuration version will be used
-   * which has been set previously. */
-  service->config.version = config_learn_service_version(service);
+   * present and we did not set HiddenServiceVersion. Depending on the key
+   * format, we can figure out the service version. */
+  if (!service->config.hs_version_explicitly_set) {
+service->config.version = config_learn_service_version(service);
+  }
+
+  /* We make sure that this set of options for a service are valid that is for
+   * instance an option only for v2 is not used for v3. */
+  if (config_has_invalid_options(line->next, service)) {
+goto err;
+  }
 
   /* Different functions are in charge of specific options for a version. We
* start just after the service directory line so once we hit another
@@ -580,13 +585,16 @@ config_service(const config_line_t *line, const 
or_options_t *options,
   if (ret < 0) {
 goto err;
   }
+
   /* We'll check if this service can be kept depending on the others
* configured previously. */
   if (service_is_duplicate_in_list(service_list, service)) {
 goto err;
   }
+
   /* Passes, add it to the given list. */
   smartlist_add(service_list, service);
+
   return 0;
 
  err:
diff --git a/src/feature/hs/hs_service.h b/src/feature/hs/hs_service.h
index 6fb15b9d3..cc0006f1d 100644
--- a/src/feature/hs/hs_service.h
+++ b/src/feature/hs/hs_service.h
@@ -178,6 +178,9 @@ typedef struct hs_service_config_t {
* option. */
   uint32_t version;
 
+  /* Have we explicitly set HiddenServiceVersion? */
+  unsigned int hs_version_explicitly_set : 1;
+
   /* List of rend_service_port_config_t */
   smartlist_t *ports;
 



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


[tor-commits] [tor/maint-0.3.5] Detect the onion service version and then check for invalid options unless we have set HiddenServiceVersion

2018-10-30 Thread dgoulet
commit 82b3a023024755971003f53950d9b6dfbe90f969
Author: Neel Chauhan 
Date:   Wed Oct 24 12:19:42 2018 -0400

Detect the onion service version and then check for invalid options unless 
we have set HiddenServiceVersion
---
 src/feature/hs/hs_config.c  | 30 +++---
 src/feature/hs/hs_service.h |  3 +++
 2 files changed, 22 insertions(+), 11 deletions(-)

diff --git a/src/feature/hs/hs_config.c b/src/feature/hs/hs_config.c
index 93d7403df..497e31fbb 100644
--- a/src/feature/hs/hs_config.c
+++ b/src/feature/hs/hs_config.c
@@ -419,7 +419,7 @@ config_generic_service(const config_line_t *line_,
   dup_opt_seen = line->key;
 goto err;
   }
-  have_version = 1;
+  have_version = service->config.hs_version_explicitly_set = 1;
   continue;
 }
 /* Virtual port. */
@@ -534,18 +534,15 @@ config_service(const config_line_t *line, const 
or_options_t *options,
 
   /* We have a new hidden service. */
   service = hs_service_new(options);
+
   /* We'll configure that service as a generic one and then pass it to a
* specific function according to the configured version number. */
   if (config_generic_service(line, options, service) < 0) {
 goto err;
   }
+
   tor_assert(service->config.version <= HS_VERSION_MAX);
-  /* Before we configure the service on a per-version basis, we'll make
-   * sure that this set of options for a service are valid that is for
-   * instance an option only for v2 is not used for v3. */
-  if (config_has_invalid_options(line->next, service)) {
-goto err;
-  }
+
   /* Check permission on service directory that was just parsed. And this must
* be done regardless of the service version. Do not ask for the directory
* to be created, this is done when the keys are loaded because we could be
@@ -556,11 +553,19 @@ config_service(const config_line_t *line, const 
or_options_t *options,
0) < 0) {
 goto err;
   }
+
   /* We'll try to learn the service version here by loading the key(s) if
-   * present. Depending on the key format, we can figure out the service
-   * version. If we can't find a key, the configuration version will be used
-   * which has been set previously. */
-  service->config.version = config_learn_service_version(service);
+   * present and we did not set HiddenServiceVersion. Depending on the key
+   * format, we can figure out the service version. */
+  if (!service->config.hs_version_explicitly_set) {
+service->config.version = config_learn_service_version(service);
+  }
+
+  /* We make sure that this set of options for a service are valid that is for
+   * instance an option only for v2 is not used for v3. */
+  if (config_has_invalid_options(line->next, service)) {
+goto err;
+  }
 
   /* Different functions are in charge of specific options for a version. We
* start just after the service directory line so once we hit another
@@ -580,13 +585,16 @@ config_service(const config_line_t *line, const 
or_options_t *options,
   if (ret < 0) {
 goto err;
   }
+
   /* We'll check if this service can be kept depending on the others
* configured previously. */
   if (service_is_duplicate_in_list(service_list, service)) {
 goto err;
   }
+
   /* Passes, add it to the given list. */
   smartlist_add(service_list, service);
+
   return 0;
 
  err:
diff --git a/src/feature/hs/hs_service.h b/src/feature/hs/hs_service.h
index 6fb15b9d3..cc0006f1d 100644
--- a/src/feature/hs/hs_service.h
+++ b/src/feature/hs/hs_service.h
@@ -178,6 +178,9 @@ typedef struct hs_service_config_t {
* option. */
   uint32_t version;
 
+  /* Have we explicitly set HiddenServiceVersion? */
+  unsigned int hs_version_explicitly_set : 1;
+
   /* List of rend_service_port_config_t */
   smartlist_t *ports;
 



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


[tor-commits] [tor/maint-0.3.5] Add changes file for Bug #28127

2018-10-30 Thread dgoulet
commit 9b72dca953d56636f0434bd67be2ca80422e7c1e
Author: Neel Chauhan 
Date:   Wed Oct 24 12:20:28 2018 -0400

Add changes file for Bug #28127
---
 changes/bug28127 | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/changes/bug28127 b/changes/bug28127
new file mode 100644
index 0..541128c88
--- /dev/null
+++ b/changes/bug28127
@@ -0,0 +1,7 @@
+  o Minor bugfixes (onion services):
+- Unless we have explicitly set HiddenServiceVersion, detect the onion
+  service version and then look for invalid options. Previously, we
+  did the reverse, but that broke existing configs which were pointed
+  to a v2 hidden service and had options like HiddenServiceAuthorizeClient
+  set Fixes bug 28127; bugfix on 0.3.5.1-alpha. Patch by Neel Chauhan.
+

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


[tor-commits] [translation/donatepages-messagespot] Update translations for donatepages-messagespot

2018-10-30 Thread translation
commit 16efa1eddfeffac81a2a455cefadb0bbf237a519
Author: Translation commit bot 
Date:   Tue Oct 30 14:15:20 2018 +

Update translations for donatepages-messagespot
---
 locale/es_AR/LC_MESSAGES/messages.po | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/locale/es_AR/LC_MESSAGES/messages.po 
b/locale/es_AR/LC_MESSAGES/messages.po
index 50c08cbc2..890f7e1a1 100644
--- a/locale/es_AR/LC_MESSAGES/messages.po
+++ b/locale/es_AR/LC_MESSAGES/messages.po
@@ -513,7 +513,7 @@ msgstr "Remera"
 
 #: 
tmp/cache_locale/c7/c763c19bb6abb9330294c550c8241bb3874e3b4e17fb6e7b15db26c60df8d5fe.php:449
 msgid "Choose your size and fit for each shirt."
-msgstr "Elegí tu talle y estilo por cada remera."
+msgstr "Elegí tu talle y estilo para cada remera."
 
 #: 
tmp/cache_locale/c7/c763c19bb6abb9330294c550c8241bb3874e3b4e17fb6e7b15db26c60df8d5fe.php:453
 msgid ""
@@ -541,7 +541,7 @@ msgid ""
 "again."
 msgstr ""
 "Falta completar en el formulario un campo requerido. Por favor recargá la "
-"página y tratá de nuevo."
+"página e intenta de nuevo."
 
 #: 
tmp/cache_locale/c7/c763c19bb6abb9330294c550c8241bb3874e3b4e17fb6e7b15db26c60df8d5fe.php:473
 msgid "There was a problem submitting your request to the server:"

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


[tor-commits] [translation/donatepages-messagespot_completed] Update translations for donatepages-messagespot_completed

2018-10-30 Thread translation
commit 4c902e017c11253922418f3a2cf306c036449a88
Author: Translation commit bot 
Date:   Tue Oct 30 14:15:28 2018 +

Update translations for donatepages-messagespot_completed
---
 locale/es_AR/LC_MESSAGES/messages.po | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/locale/es_AR/LC_MESSAGES/messages.po 
b/locale/es_AR/LC_MESSAGES/messages.po
index 50c08cbc2..890f7e1a1 100644
--- a/locale/es_AR/LC_MESSAGES/messages.po
+++ b/locale/es_AR/LC_MESSAGES/messages.po
@@ -513,7 +513,7 @@ msgstr "Remera"
 
 #: 
tmp/cache_locale/c7/c763c19bb6abb9330294c550c8241bb3874e3b4e17fb6e7b15db26c60df8d5fe.php:449
 msgid "Choose your size and fit for each shirt."
-msgstr "Elegí tu talle y estilo por cada remera."
+msgstr "Elegí tu talle y estilo para cada remera."
 
 #: 
tmp/cache_locale/c7/c763c19bb6abb9330294c550c8241bb3874e3b4e17fb6e7b15db26c60df8d5fe.php:453
 msgid ""
@@ -541,7 +541,7 @@ msgid ""
 "again."
 msgstr ""
 "Falta completar en el formulario un campo requerido. Por favor recargá la "
-"página y tratá de nuevo."
+"página e intenta de nuevo."
 
 #: 
tmp/cache_locale/c7/c763c19bb6abb9330294c550c8241bb3874e3b4e17fb6e7b15db26c60df8d5fe.php:473
 msgid "There was a problem submitting your request to the server:"

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


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

2018-10-30 Thread nickm
commit cf2cb783b77bf9a84c6485b492ebb7e09914b74f
Merge: c4b6b5738 038bc21f8
Author: Nick Mathewson 
Date:   Tue Oct 30 09:34:04 2018 -0400

Merge branch 'maint-0.3.3' into maint-0.3.4

 changes/bug27741 |  5 +
 src/rust/protover/ffi.rs | 13 -
 2 files changed, 9 insertions(+), 9 deletions(-)




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


[tor-commits] [tor/release-0.3.5] Merge remote-tracking branch 'tor-github/pr/431' into maint-0.3.5

2018-10-30 Thread nickm
commit 97324a731f5cbdfd0a00b852f4388c3dd149c7fa
Merge: ee1cc0fea 7bf9c93ab
Author: Nick Mathewson 
Date:   Tue Oct 30 09:35:07 2018 -0400

Merge remote-tracking branch 'tor-github/pr/431' into maint-0.3.5

 changes/bug27741 |  5 +
 src/rust/protover/ffi.rs | 19 ---
 2 files changed, 9 insertions(+), 15 deletions(-)




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


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

2018-10-30 Thread nickm
commit 6ba7f9f0a42ff2a55b2e66998b4ebf55c90b2787
Merge: 30d853a90 3a05b5acd
Author: Nick Mathewson 
Date:   Tue Oct 30 09:35:11 2018 -0400

Merge branch 'maint-0.3.5'

 changes/bug27741 |  5 +
 src/rust/protover/ffi.rs | 19 ---
 2 files changed, 9 insertions(+), 15 deletions(-)

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


[tor-commits] [tor/release-0.3.3] Remove extraneous argument from Rust protover_compute_vote()

2018-10-30 Thread nickm
commit 80ad15921cef42ac12da356584f217d2ead5cb09
Author: Nick Mathewson 
Date:   Mon Sep 17 11:50:46 2018 -0400

Remove extraneous argument from Rust protover_compute_vote()

This argument was added to match an older idea for the C api, but we
decided not to do it that way in C.

Fixes bug 27741; bugfix on 0.3.3.6 / TROVE-2018-005 fix.
---
 changes/bug27741 |  5 +
 src/rust/protover/ffi.rs | 13 -
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/changes/bug27741 b/changes/bug27741
new file mode 100644
index 0..531e264b6
--- /dev/null
+++ b/changes/bug27741
@@ -0,0 +1,5 @@
+  o Minor bugfixes (rust, directory authority):
+- Fix an API mismatch in the rust implementation of
+  protover_compute_vote(). This bug could have caused crashes on any
+  directory authorities running Tor with Rust (which we do not yet
+  recommend). Fixes bug 27741; bugfix on 0.3.3.6.
diff --git a/src/rust/protover/ffi.rs b/src/rust/protover/ffi.rs
index 9656e8c31..f803bd015 100644
--- a/src/rust/protover/ffi.rs
+++ b/src/rust/protover/ffi.rs
@@ -207,8 +207,7 @@ pub extern "C" fn protover_get_supported_protocols() -> 
*const c_char {
 #[no_mangle]
 pub extern "C" fn protover_compute_vote(
 list: *const Stringlist,
-threshold: c_int,
-allow_long_proto_names: bool,
+threshold: c_int
 ) -> *mut c_char {
 
 if list.is_null() {
@@ -223,13 +222,9 @@ pub extern "C" fn protover_compute_vote(
 let mut proto_entries: Vec = Vec::new();
 
 for datum in data {
-let entry: UnvalidatedProtoEntry = match allow_long_proto_names {
-true => match 
UnvalidatedProtoEntry::from_str_any_len(datum.as_str()) {
-Ok(n)  => n,
-Err(_) => continue},
-false => match datum.parse() {
-Ok(n)  => n,
-Err(_) => continue},
+let entry: UnvalidatedProtoEntry = match datum.parse() {
+Ok(n)  => n,
+Err(_) => continue
 };
 proto_entries.push(entry);
 }



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


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

2018-10-30 Thread nickm
commit cf2cb783b77bf9a84c6485b492ebb7e09914b74f
Merge: c4b6b5738 038bc21f8
Author: Nick Mathewson 
Date:   Tue Oct 30 09:34:04 2018 -0400

Merge branch 'maint-0.3.3' into maint-0.3.4

 changes/bug27741 |  5 +
 src/rust/protover/ffi.rs | 13 -
 2 files changed, 9 insertions(+), 9 deletions(-)




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


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

2018-10-30 Thread nickm
commit 1cc8c1e8a579e4fad4304d9538bab8d90a8ad32a
Merge: f4d7a7527 038bc21f8
Author: Nick Mathewson 
Date:   Tue Oct 30 09:34:04 2018 -0400

Merge branch 'maint-0.3.3' into release-0.3.3

 changes/bug27741 |  5 +
 src/rust/protover/ffi.rs | 13 -
 2 files changed, 9 insertions(+), 9 deletions(-)

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


[tor-commits] [tor/release-0.3.5] Merge remote-tracking branch 'nickm/bug27741_033' into bug27741_035

2018-10-30 Thread nickm
commit 7bf9c93ab3af5be6f0881d4bc21fd8d72becff96
Merge: 1ae911660 80ad15921
Author: teor 
Date:   Tue Sep 18 23:32:57 2018 +1000

Merge remote-tracking branch 'nickm/bug27741_033' into bug27741_035

Resolve conflicts due to rustfmt, and run rustfmt on the merged code.

 changes/bug27741 |  5 +
 src/rust/protover/ffi.rs | 19 ---
 2 files changed, 9 insertions(+), 15 deletions(-)

diff --cc src/rust/protover/ffi.rs
index 0c28d032c,f803bd015..940f92332
--- a/src/rust/protover/ffi.rs
+++ b/src/rust/protover/ffi.rs
@@@ -184,13 -205,14 +184,9 @@@ pub extern "C" fn protover_get_supporte
  //
  // Why is the threshold a signed integer? —isis
  #[no_mangle]
--pub extern "C" fn protover_compute_vote(
--list: *const Stringlist,
- threshold: c_int,
- allow_long_proto_names: bool,
 -threshold: c_int
--) -> *mut c_char {
 -
++pub extern "C" fn protover_compute_vote(list: *const Stringlist, threshold: 
c_int) -> *mut c_char {
  if list.is_null() {
 -let empty = String::new();
 -return allocate_and_copy_string(&empty);
 +return allocate_and_copy_string("");
  }
  
  // Dereference of raw pointer requires an unsafe block. The pointer is
@@@ -200,16 -222,9 +196,9 @@@
  let mut proto_entries: Vec = Vec::new();
  
  for datum in data {
- let entry: UnvalidatedProtoEntry = if allow_long_proto_names {
- match UnvalidatedProtoEntry::from_str_any_len(datum.as_str()) {
- Ok(n) => n,
- Err(_) => continue,
- }
- } else {
- match datum.parse() {
- Ok(n) => n,
- Err(_) => continue,
- }
+ let entry: UnvalidatedProtoEntry = match datum.parse() {
 -Ok(n)  => n,
 -Err(_) => continue
++Ok(n) => n,
++Err(_) => continue,
  };
  proto_entries.push(entry);
  }



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


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

2018-10-30 Thread nickm
commit 3a05b5acdc4a40eae6016ab94067bf5dde92e5fe
Merge: 97324a731 cf2cb783b
Author: Nick Mathewson 
Date:   Tue Oct 30 09:35:11 2018 -0400

Merge branch 'maint-0.3.4' into maint-0.3.5




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


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

2018-10-30 Thread nickm
commit 9d9b8a5a06dd25a91f41c49398b18fc9f5064656
Merge: c0d1ba2e9 cf2cb783b
Author: Nick Mathewson 
Date:   Tue Oct 30 09:34:04 2018 -0400

Merge branch 'maint-0.3.4' into release-0.3.4

 changes/bug27741 |  5 +
 src/rust/protover/ffi.rs | 13 -
 2 files changed, 9 insertions(+), 9 deletions(-)

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


[tor-commits] [tor/release-0.3.3] Merge remote-tracking branch 'tor-github/pr/346' into maint-0.3.3

2018-10-30 Thread nickm
commit 038bc21f8894043fbdda0cc87adddfbad84f65c4
Merge: 8013e3e8b 80ad15921
Author: Nick Mathewson 
Date:   Tue Oct 30 09:33:36 2018 -0400

Merge remote-tracking branch 'tor-github/pr/346' into maint-0.3.3

 changes/bug27741 |  5 +
 src/rust/protover/ffi.rs | 13 -
 2 files changed, 9 insertions(+), 9 deletions(-)




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


[tor-commits] [tor/master] Merge remote-tracking branch 'tor-github/pr/431' into maint-0.3.5

2018-10-30 Thread nickm
commit 97324a731f5cbdfd0a00b852f4388c3dd149c7fa
Merge: ee1cc0fea 7bf9c93ab
Author: Nick Mathewson 
Date:   Tue Oct 30 09:35:07 2018 -0400

Merge remote-tracking branch 'tor-github/pr/431' into maint-0.3.5

 changes/bug27741 |  5 +
 src/rust/protover/ffi.rs | 19 ---
 2 files changed, 9 insertions(+), 15 deletions(-)




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


[tor-commits] [tor/release-0.3.5] Merge remote-tracking branch 'tor-github/pr/346' into maint-0.3.3

2018-10-30 Thread nickm
commit 038bc21f8894043fbdda0cc87adddfbad84f65c4
Merge: 8013e3e8b 80ad15921
Author: Nick Mathewson 
Date:   Tue Oct 30 09:33:36 2018 -0400

Merge remote-tracking branch 'tor-github/pr/346' into maint-0.3.3

 changes/bug27741 |  5 +
 src/rust/protover/ffi.rs | 13 -
 2 files changed, 9 insertions(+), 9 deletions(-)




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


[tor-commits] [tor/release-0.3.4] Merge remote-tracking branch 'tor-github/pr/346' into maint-0.3.3

2018-10-30 Thread nickm
commit 038bc21f8894043fbdda0cc87adddfbad84f65c4
Merge: 8013e3e8b 80ad15921
Author: Nick Mathewson 
Date:   Tue Oct 30 09:33:36 2018 -0400

Merge remote-tracking branch 'tor-github/pr/346' into maint-0.3.3

 changes/bug27741 |  5 +
 src/rust/protover/ffi.rs | 13 -
 2 files changed, 9 insertions(+), 9 deletions(-)




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


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

2018-10-30 Thread nickm
commit 3a05b5acdc4a40eae6016ab94067bf5dde92e5fe
Merge: 97324a731 cf2cb783b
Author: Nick Mathewson 
Date:   Tue Oct 30 09:35:11 2018 -0400

Merge branch 'maint-0.3.4' into maint-0.3.5

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


[tor-commits] [tor/release-0.3.5] Remove extraneous argument from Rust protover_compute_vote()

2018-10-30 Thread nickm
commit 80ad15921cef42ac12da356584f217d2ead5cb09
Author: Nick Mathewson 
Date:   Mon Sep 17 11:50:46 2018 -0400

Remove extraneous argument from Rust protover_compute_vote()

This argument was added to match an older idea for the C api, but we
decided not to do it that way in C.

Fixes bug 27741; bugfix on 0.3.3.6 / TROVE-2018-005 fix.
---
 changes/bug27741 |  5 +
 src/rust/protover/ffi.rs | 13 -
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/changes/bug27741 b/changes/bug27741
new file mode 100644
index 0..531e264b6
--- /dev/null
+++ b/changes/bug27741
@@ -0,0 +1,5 @@
+  o Minor bugfixes (rust, directory authority):
+- Fix an API mismatch in the rust implementation of
+  protover_compute_vote(). This bug could have caused crashes on any
+  directory authorities running Tor with Rust (which we do not yet
+  recommend). Fixes bug 27741; bugfix on 0.3.3.6.
diff --git a/src/rust/protover/ffi.rs b/src/rust/protover/ffi.rs
index 9656e8c31..f803bd015 100644
--- a/src/rust/protover/ffi.rs
+++ b/src/rust/protover/ffi.rs
@@ -207,8 +207,7 @@ pub extern "C" fn protover_get_supported_protocols() -> 
*const c_char {
 #[no_mangle]
 pub extern "C" fn protover_compute_vote(
 list: *const Stringlist,
-threshold: c_int,
-allow_long_proto_names: bool,
+threshold: c_int
 ) -> *mut c_char {
 
 if list.is_null() {
@@ -223,13 +222,9 @@ pub extern "C" fn protover_compute_vote(
 let mut proto_entries: Vec = Vec::new();
 
 for datum in data {
-let entry: UnvalidatedProtoEntry = match allow_long_proto_names {
-true => match 
UnvalidatedProtoEntry::from_str_any_len(datum.as_str()) {
-Ok(n)  => n,
-Err(_) => continue},
-false => match datum.parse() {
-Ok(n)  => n,
-Err(_) => continue},
+let entry: UnvalidatedProtoEntry = match datum.parse() {
+Ok(n)  => n,
+Err(_) => continue
 };
 proto_entries.push(entry);
 }



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


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

2018-10-30 Thread nickm
commit cf2cb783b77bf9a84c6485b492ebb7e09914b74f
Merge: c4b6b5738 038bc21f8
Author: Nick Mathewson 
Date:   Tue Oct 30 09:34:04 2018 -0400

Merge branch 'maint-0.3.3' into maint-0.3.4

 changes/bug27741 |  5 +
 src/rust/protover/ffi.rs | 13 -
 2 files changed, 9 insertions(+), 9 deletions(-)




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


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

2018-10-30 Thread nickm
commit cf2cb783b77bf9a84c6485b492ebb7e09914b74f
Merge: c4b6b5738 038bc21f8
Author: Nick Mathewson 
Date:   Tue Oct 30 09:34:04 2018 -0400

Merge branch 'maint-0.3.3' into maint-0.3.4

 changes/bug27741 |  5 +
 src/rust/protover/ffi.rs | 13 -
 2 files changed, 9 insertions(+), 9 deletions(-)

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


[tor-commits] [tor/maint-0.3.5] Merge remote-tracking branch 'nickm/bug27741_033' into bug27741_035

2018-10-30 Thread nickm
commit 7bf9c93ab3af5be6f0881d4bc21fd8d72becff96
Merge: 1ae911660 80ad15921
Author: teor 
Date:   Tue Sep 18 23:32:57 2018 +1000

Merge remote-tracking branch 'nickm/bug27741_033' into bug27741_035

Resolve conflicts due to rustfmt, and run rustfmt on the merged code.

 changes/bug27741 |  5 +
 src/rust/protover/ffi.rs | 19 ---
 2 files changed, 9 insertions(+), 15 deletions(-)

diff --cc src/rust/protover/ffi.rs
index 0c28d032c,f803bd015..940f92332
--- a/src/rust/protover/ffi.rs
+++ b/src/rust/protover/ffi.rs
@@@ -184,13 -205,14 +184,9 @@@ pub extern "C" fn protover_get_supporte
  //
  // Why is the threshold a signed integer? —isis
  #[no_mangle]
--pub extern "C" fn protover_compute_vote(
--list: *const Stringlist,
- threshold: c_int,
- allow_long_proto_names: bool,
 -threshold: c_int
--) -> *mut c_char {
 -
++pub extern "C" fn protover_compute_vote(list: *const Stringlist, threshold: 
c_int) -> *mut c_char {
  if list.is_null() {
 -let empty = String::new();
 -return allocate_and_copy_string(&empty);
 +return allocate_and_copy_string("");
  }
  
  // Dereference of raw pointer requires an unsafe block. The pointer is
@@@ -200,16 -222,9 +196,9 @@@
  let mut proto_entries: Vec = Vec::new();
  
  for datum in data {
- let entry: UnvalidatedProtoEntry = if allow_long_proto_names {
- match UnvalidatedProtoEntry::from_str_any_len(datum.as_str()) {
- Ok(n) => n,
- Err(_) => continue,
- }
- } else {
- match datum.parse() {
- Ok(n) => n,
- Err(_) => continue,
- }
+ let entry: UnvalidatedProtoEntry = match datum.parse() {
 -Ok(n)  => n,
 -Err(_) => continue
++Ok(n) => n,
++Err(_) => continue,
  };
  proto_entries.push(entry);
  }



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


[tor-commits] [tor/master] Merge remote-tracking branch 'nickm/bug27741_033' into bug27741_035

2018-10-30 Thread nickm
commit 7bf9c93ab3af5be6f0881d4bc21fd8d72becff96
Merge: 1ae911660 80ad15921
Author: teor 
Date:   Tue Sep 18 23:32:57 2018 +1000

Merge remote-tracking branch 'nickm/bug27741_033' into bug27741_035

Resolve conflicts due to rustfmt, and run rustfmt on the merged code.

 changes/bug27741 |  5 +
 src/rust/protover/ffi.rs | 19 ---
 2 files changed, 9 insertions(+), 15 deletions(-)

diff --cc src/rust/protover/ffi.rs
index 0c28d032c,f803bd015..940f92332
--- a/src/rust/protover/ffi.rs
+++ b/src/rust/protover/ffi.rs
@@@ -184,13 -205,14 +184,9 @@@ pub extern "C" fn protover_get_supporte
  //
  // Why is the threshold a signed integer? —isis
  #[no_mangle]
--pub extern "C" fn protover_compute_vote(
--list: *const Stringlist,
- threshold: c_int,
- allow_long_proto_names: bool,
 -threshold: c_int
--) -> *mut c_char {
 -
++pub extern "C" fn protover_compute_vote(list: *const Stringlist, threshold: 
c_int) -> *mut c_char {
  if list.is_null() {
 -let empty = String::new();
 -return allocate_and_copy_string(&empty);
 +return allocate_and_copy_string("");
  }
  
  // Dereference of raw pointer requires an unsafe block. The pointer is
@@@ -200,16 -222,9 +196,9 @@@
  let mut proto_entries: Vec = Vec::new();
  
  for datum in data {
- let entry: UnvalidatedProtoEntry = if allow_long_proto_names {
- match UnvalidatedProtoEntry::from_str_any_len(datum.as_str()) {
- Ok(n) => n,
- Err(_) => continue,
- }
- } else {
- match datum.parse() {
- Ok(n) => n,
- Err(_) => continue,
- }
+ let entry: UnvalidatedProtoEntry = match datum.parse() {
 -Ok(n)  => n,
 -Err(_) => continue
++Ok(n) => n,
++Err(_) => continue,
  };
  proto_entries.push(entry);
  }



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


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

2018-10-30 Thread nickm
commit cf2cb783b77bf9a84c6485b492ebb7e09914b74f
Merge: c4b6b5738 038bc21f8
Author: Nick Mathewson 
Date:   Tue Oct 30 09:34:04 2018 -0400

Merge branch 'maint-0.3.3' into maint-0.3.4

 changes/bug27741 |  5 +
 src/rust/protover/ffi.rs | 13 -
 2 files changed, 9 insertions(+), 9 deletions(-)




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


[tor-commits] [tor/master] Remove extraneous argument from Rust protover_compute_vote()

2018-10-30 Thread nickm
commit 80ad15921cef42ac12da356584f217d2ead5cb09
Author: Nick Mathewson 
Date:   Mon Sep 17 11:50:46 2018 -0400

Remove extraneous argument from Rust protover_compute_vote()

This argument was added to match an older idea for the C api, but we
decided not to do it that way in C.

Fixes bug 27741; bugfix on 0.3.3.6 / TROVE-2018-005 fix.
---
 changes/bug27741 |  5 +
 src/rust/protover/ffi.rs | 13 -
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/changes/bug27741 b/changes/bug27741
new file mode 100644
index 0..531e264b6
--- /dev/null
+++ b/changes/bug27741
@@ -0,0 +1,5 @@
+  o Minor bugfixes (rust, directory authority):
+- Fix an API mismatch in the rust implementation of
+  protover_compute_vote(). This bug could have caused crashes on any
+  directory authorities running Tor with Rust (which we do not yet
+  recommend). Fixes bug 27741; bugfix on 0.3.3.6.
diff --git a/src/rust/protover/ffi.rs b/src/rust/protover/ffi.rs
index 9656e8c31..f803bd015 100644
--- a/src/rust/protover/ffi.rs
+++ b/src/rust/protover/ffi.rs
@@ -207,8 +207,7 @@ pub extern "C" fn protover_get_supported_protocols() -> 
*const c_char {
 #[no_mangle]
 pub extern "C" fn protover_compute_vote(
 list: *const Stringlist,
-threshold: c_int,
-allow_long_proto_names: bool,
+threshold: c_int
 ) -> *mut c_char {
 
 if list.is_null() {
@@ -223,13 +222,9 @@ pub extern "C" fn protover_compute_vote(
 let mut proto_entries: Vec = Vec::new();
 
 for datum in data {
-let entry: UnvalidatedProtoEntry = match allow_long_proto_names {
-true => match 
UnvalidatedProtoEntry::from_str_any_len(datum.as_str()) {
-Ok(n)  => n,
-Err(_) => continue},
-false => match datum.parse() {
-Ok(n)  => n,
-Err(_) => continue},
+let entry: UnvalidatedProtoEntry = match datum.parse() {
+Ok(n)  => n,
+Err(_) => continue
 };
 proto_entries.push(entry);
 }



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


[tor-commits] [tor/maint-0.3.5] Merge remote-tracking branch 'tor-github/pr/346' into maint-0.3.3

2018-10-30 Thread nickm
commit 038bc21f8894043fbdda0cc87adddfbad84f65c4
Merge: 8013e3e8b 80ad15921
Author: Nick Mathewson 
Date:   Tue Oct 30 09:33:36 2018 -0400

Merge remote-tracking branch 'tor-github/pr/346' into maint-0.3.3

 changes/bug27741 |  5 +
 src/rust/protover/ffi.rs | 13 -
 2 files changed, 9 insertions(+), 9 deletions(-)




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


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

2018-10-30 Thread nickm
commit 3a05b5acdc4a40eae6016ab94067bf5dde92e5fe
Merge: 97324a731 cf2cb783b
Author: Nick Mathewson 
Date:   Tue Oct 30 09:35:11 2018 -0400

Merge branch 'maint-0.3.4' into maint-0.3.5

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


[tor-commits] [tor/master] Merge remote-tracking branch 'tor-github/pr/346' into maint-0.3.3

2018-10-30 Thread nickm
commit 038bc21f8894043fbdda0cc87adddfbad84f65c4
Merge: 8013e3e8b 80ad15921
Author: Nick Mathewson 
Date:   Tue Oct 30 09:33:36 2018 -0400

Merge remote-tracking branch 'tor-github/pr/346' into maint-0.3.3

 changes/bug27741 |  5 +
 src/rust/protover/ffi.rs | 13 -
 2 files changed, 9 insertions(+), 9 deletions(-)




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


[tor-commits] [tor/release-0.3.4] Remove extraneous argument from Rust protover_compute_vote()

2018-10-30 Thread nickm
commit 80ad15921cef42ac12da356584f217d2ead5cb09
Author: Nick Mathewson 
Date:   Mon Sep 17 11:50:46 2018 -0400

Remove extraneous argument from Rust protover_compute_vote()

This argument was added to match an older idea for the C api, but we
decided not to do it that way in C.

Fixes bug 27741; bugfix on 0.3.3.6 / TROVE-2018-005 fix.
---
 changes/bug27741 |  5 +
 src/rust/protover/ffi.rs | 13 -
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/changes/bug27741 b/changes/bug27741
new file mode 100644
index 0..531e264b6
--- /dev/null
+++ b/changes/bug27741
@@ -0,0 +1,5 @@
+  o Minor bugfixes (rust, directory authority):
+- Fix an API mismatch in the rust implementation of
+  protover_compute_vote(). This bug could have caused crashes on any
+  directory authorities running Tor with Rust (which we do not yet
+  recommend). Fixes bug 27741; bugfix on 0.3.3.6.
diff --git a/src/rust/protover/ffi.rs b/src/rust/protover/ffi.rs
index 9656e8c31..f803bd015 100644
--- a/src/rust/protover/ffi.rs
+++ b/src/rust/protover/ffi.rs
@@ -207,8 +207,7 @@ pub extern "C" fn protover_get_supported_protocols() -> 
*const c_char {
 #[no_mangle]
 pub extern "C" fn protover_compute_vote(
 list: *const Stringlist,
-threshold: c_int,
-allow_long_proto_names: bool,
+threshold: c_int
 ) -> *mut c_char {
 
 if list.is_null() {
@@ -223,13 +222,9 @@ pub extern "C" fn protover_compute_vote(
 let mut proto_entries: Vec = Vec::new();
 
 for datum in data {
-let entry: UnvalidatedProtoEntry = match allow_long_proto_names {
-true => match 
UnvalidatedProtoEntry::from_str_any_len(datum.as_str()) {
-Ok(n)  => n,
-Err(_) => continue},
-false => match datum.parse() {
-Ok(n)  => n,
-Err(_) => continue},
+let entry: UnvalidatedProtoEntry = match datum.parse() {
+Ok(n)  => n,
+Err(_) => continue
 };
 proto_entries.push(entry);
 }



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


[tor-commits] [tor/maint-0.3.5] Remove extraneous argument from Rust protover_compute_vote()

2018-10-30 Thread nickm
commit 80ad15921cef42ac12da356584f217d2ead5cb09
Author: Nick Mathewson 
Date:   Mon Sep 17 11:50:46 2018 -0400

Remove extraneous argument from Rust protover_compute_vote()

This argument was added to match an older idea for the C api, but we
decided not to do it that way in C.

Fixes bug 27741; bugfix on 0.3.3.6 / TROVE-2018-005 fix.
---
 changes/bug27741 |  5 +
 src/rust/protover/ffi.rs | 13 -
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/changes/bug27741 b/changes/bug27741
new file mode 100644
index 0..531e264b6
--- /dev/null
+++ b/changes/bug27741
@@ -0,0 +1,5 @@
+  o Minor bugfixes (rust, directory authority):
+- Fix an API mismatch in the rust implementation of
+  protover_compute_vote(). This bug could have caused crashes on any
+  directory authorities running Tor with Rust (which we do not yet
+  recommend). Fixes bug 27741; bugfix on 0.3.3.6.
diff --git a/src/rust/protover/ffi.rs b/src/rust/protover/ffi.rs
index 9656e8c31..f803bd015 100644
--- a/src/rust/protover/ffi.rs
+++ b/src/rust/protover/ffi.rs
@@ -207,8 +207,7 @@ pub extern "C" fn protover_get_supported_protocols() -> 
*const c_char {
 #[no_mangle]
 pub extern "C" fn protover_compute_vote(
 list: *const Stringlist,
-threshold: c_int,
-allow_long_proto_names: bool,
+threshold: c_int
 ) -> *mut c_char {
 
 if list.is_null() {
@@ -223,13 +222,9 @@ pub extern "C" fn protover_compute_vote(
 let mut proto_entries: Vec = Vec::new();
 
 for datum in data {
-let entry: UnvalidatedProtoEntry = match allow_long_proto_names {
-true => match 
UnvalidatedProtoEntry::from_str_any_len(datum.as_str()) {
-Ok(n)  => n,
-Err(_) => continue},
-false => match datum.parse() {
-Ok(n)  => n,
-Err(_) => continue},
+let entry: UnvalidatedProtoEntry = match datum.parse() {
+Ok(n)  => n,
+Err(_) => continue
 };
 proto_entries.push(entry);
 }



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


[tor-commits] [tor/maint-0.3.5] Merge remote-tracking branch 'tor-github/pr/431' into maint-0.3.5

2018-10-30 Thread nickm
commit 97324a731f5cbdfd0a00b852f4388c3dd149c7fa
Merge: ee1cc0fea 7bf9c93ab
Author: Nick Mathewson 
Date:   Tue Oct 30 09:35:07 2018 -0400

Merge remote-tracking branch 'tor-github/pr/431' into maint-0.3.5

 changes/bug27741 |  5 +
 src/rust/protover/ffi.rs | 19 ---
 2 files changed, 9 insertions(+), 15 deletions(-)




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


[tor-commits] [tor/maint-0.3.3] Merge remote-tracking branch 'tor-github/pr/346' into maint-0.3.3

2018-10-30 Thread nickm
commit 038bc21f8894043fbdda0cc87adddfbad84f65c4
Merge: 8013e3e8b 80ad15921
Author: Nick Mathewson 
Date:   Tue Oct 30 09:33:36 2018 -0400

Merge remote-tracking branch 'tor-github/pr/346' into maint-0.3.3

 changes/bug27741 |  5 +
 src/rust/protover/ffi.rs | 13 -
 2 files changed, 9 insertions(+), 9 deletions(-)

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


[tor-commits] [tor/maint-0.3.4] Remove extraneous argument from Rust protover_compute_vote()

2018-10-30 Thread nickm
commit 80ad15921cef42ac12da356584f217d2ead5cb09
Author: Nick Mathewson 
Date:   Mon Sep 17 11:50:46 2018 -0400

Remove extraneous argument from Rust protover_compute_vote()

This argument was added to match an older idea for the C api, but we
decided not to do it that way in C.

Fixes bug 27741; bugfix on 0.3.3.6 / TROVE-2018-005 fix.
---
 changes/bug27741 |  5 +
 src/rust/protover/ffi.rs | 13 -
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/changes/bug27741 b/changes/bug27741
new file mode 100644
index 0..531e264b6
--- /dev/null
+++ b/changes/bug27741
@@ -0,0 +1,5 @@
+  o Minor bugfixes (rust, directory authority):
+- Fix an API mismatch in the rust implementation of
+  protover_compute_vote(). This bug could have caused crashes on any
+  directory authorities running Tor with Rust (which we do not yet
+  recommend). Fixes bug 27741; bugfix on 0.3.3.6.
diff --git a/src/rust/protover/ffi.rs b/src/rust/protover/ffi.rs
index 9656e8c31..f803bd015 100644
--- a/src/rust/protover/ffi.rs
+++ b/src/rust/protover/ffi.rs
@@ -207,8 +207,7 @@ pub extern "C" fn protover_get_supported_protocols() -> 
*const c_char {
 #[no_mangle]
 pub extern "C" fn protover_compute_vote(
 list: *const Stringlist,
-threshold: c_int,
-allow_long_proto_names: bool,
+threshold: c_int
 ) -> *mut c_char {
 
 if list.is_null() {
@@ -223,13 +222,9 @@ pub extern "C" fn protover_compute_vote(
 let mut proto_entries: Vec = Vec::new();
 
 for datum in data {
-let entry: UnvalidatedProtoEntry = match allow_long_proto_names {
-true => match 
UnvalidatedProtoEntry::from_str_any_len(datum.as_str()) {
-Ok(n)  => n,
-Err(_) => continue},
-false => match datum.parse() {
-Ok(n)  => n,
-Err(_) => continue},
+let entry: UnvalidatedProtoEntry = match datum.parse() {
+Ok(n)  => n,
+Err(_) => continue
 };
 proto_entries.push(entry);
 }



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


[tor-commits] [tor/maint-0.3.3] Remove extraneous argument from Rust protover_compute_vote()

2018-10-30 Thread nickm
commit 80ad15921cef42ac12da356584f217d2ead5cb09
Author: Nick Mathewson 
Date:   Mon Sep 17 11:50:46 2018 -0400

Remove extraneous argument from Rust protover_compute_vote()

This argument was added to match an older idea for the C api, but we
decided not to do it that way in C.

Fixes bug 27741; bugfix on 0.3.3.6 / TROVE-2018-005 fix.
---
 changes/bug27741 |  5 +
 src/rust/protover/ffi.rs | 13 -
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/changes/bug27741 b/changes/bug27741
new file mode 100644
index 0..531e264b6
--- /dev/null
+++ b/changes/bug27741
@@ -0,0 +1,5 @@
+  o Minor bugfixes (rust, directory authority):
+- Fix an API mismatch in the rust implementation of
+  protover_compute_vote(). This bug could have caused crashes on any
+  directory authorities running Tor with Rust (which we do not yet
+  recommend). Fixes bug 27741; bugfix on 0.3.3.6.
diff --git a/src/rust/protover/ffi.rs b/src/rust/protover/ffi.rs
index 9656e8c31..f803bd015 100644
--- a/src/rust/protover/ffi.rs
+++ b/src/rust/protover/ffi.rs
@@ -207,8 +207,7 @@ pub extern "C" fn protover_get_supported_protocols() -> 
*const c_char {
 #[no_mangle]
 pub extern "C" fn protover_compute_vote(
 list: *const Stringlist,
-threshold: c_int,
-allow_long_proto_names: bool,
+threshold: c_int
 ) -> *mut c_char {
 
 if list.is_null() {
@@ -223,13 +222,9 @@ pub extern "C" fn protover_compute_vote(
 let mut proto_entries: Vec = Vec::new();
 
 for datum in data {
-let entry: UnvalidatedProtoEntry = match allow_long_proto_names {
-true => match 
UnvalidatedProtoEntry::from_str_any_len(datum.as_str()) {
-Ok(n)  => n,
-Err(_) => continue},
-false => match datum.parse() {
-Ok(n)  => n,
-Err(_) => continue},
+let entry: UnvalidatedProtoEntry = match datum.parse() {
+Ok(n)  => n,
+Err(_) => continue
 };
 proto_entries.push(entry);
 }



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


  1   2   >