[tor-commits] [translation/tails-misc] Update translations for tails-misc
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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.
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
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
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.
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
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'
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.
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.
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.
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.
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
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.
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.
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.
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
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
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
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.
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
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
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
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
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
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
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'
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
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
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
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
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
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
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'
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
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.
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
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
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
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
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'
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
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
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
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
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
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
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
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
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
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
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
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'
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()
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
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
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
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
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
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
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
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
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
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
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()
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
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
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
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
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
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()
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
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
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
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()
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()
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
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
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()
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()
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