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

2018-11-06 Thread translation
commit 5e8db8fe0c23839f2209edbe3da84cc7c914e69d
Author: Translation commit bot 
Date:   Wed Nov 7 07:49:00 2018 +

Update translations for whisperback
---
 sv/sv.po | 19 ++-
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/sv/sv.po b/sv/sv.po
index 8eadf2303..aa0bcd192 100644
--- a/sv/sv.po
+++ b/sv/sv.po
@@ -6,15 +6,16 @@
 # cryptohead , 2013
 # Jacob Andersson , 2017
 # Jonatan Nyberg, 2017
+# Jonatan Nyberg, 2018
 # leveebreaks, 2014
 # WinterFairy , 2013
 msgid ""
 msgstr ""
-"Project-Id-Version: The Tor Project\n"
+"Project-Id-Version: Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2018-06-11 17:17+0200\n"
-"PO-Revision-Date: 2018-08-07 08:48+\n"
-"Last-Translator: carolyn \n"
+"PO-Revision-Date: 2018-11-07 07:29+\n"
+"Last-Translator: Jonatan Nyberg\n"
 "Language-Team: Swedish 
(http://www.transifex.com/otf/torproject/language/sv/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -42,7 +43,7 @@ msgstr "Ogiltig OpenPGP publikt nyckel block"
 msgid ""
 "The %s variable was not found in any of the configuration files "
 "/etc/whisperback/config.py, ~/.whisperback/config.py, or ./config.py"
-msgstr ""
+msgstr "%s variabeln hittades inte i någon av konfigurationsfilerna 
/etc/whisperback/config.py, ~/.whisperback/config.py, eller ./config.py"
 
 #: ../whisperBack/gui.py:111
 msgid "Name of the affected software"
@@ -79,7 +80,7 @@ msgstr "Det här kan ta en stund..."
 
 #: ../whisperBack/gui.py:185
 msgid "The contact email address doesn't seem valid."
-msgstr ""
+msgstr "Kontaktens e-postadress verkar inte giltig."
 
 #: ../whisperBack/gui.py:202
 msgid "Unable to send the mail: SMTP error."
@@ -151,7 +152,7 @@ msgstr "Detta verkar inte vara en korrekt URL eller 
OpenPGP-nyckel."
 
 #: ../data/whisperback.ui.h:1
 msgid "Copyright © 2009-2018 ta...@boum.org"
-msgstr ""
+msgstr "Copyright © 2009-2018 ta...@boum.org"
 
 #: ../data/whisperback.ui.h:3
 msgid "https://tails.boum.org/;
@@ -192,15 +193,15 @@ msgstr "Buggbeskrivning"
 
 #: ../data/whisperback.ui.h:24
 msgid "Help:"
-msgstr ""
+msgstr "Hjälp:"
 
 #: ../data/whisperback.ui.h:25
 msgid "Read our bug reporting guidelines."
-msgstr ""
+msgstr "Läs våra felrapporteringsriktlinjer."
 
 #: ../data/whisperback.ui.h:26
 msgid "Email address (if you want an answer from us)"
-msgstr ""
+msgstr "E-postadress (om du vill ha ett svar från oss)"
 
 #: ../data/whisperback.ui.h:27
 msgid "optional PGP key"

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


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

2018-11-06 Thread translation
commit 2c40849c67a1e8002c8ea4783f7582adfa3d8251
Author: Translation commit bot 
Date:   Wed Nov 7 07:48:27 2018 +

Update translations for torbutton-browseronboardingproperties
---
 sv/browserOnboarding.properties | 58 -
 1 file changed, 29 insertions(+), 29 deletions(-)

diff --git a/sv/browserOnboarding.properties b/sv/browserOnboarding.properties
index 539338ff9..dc07443c9 100644
--- a/sv/browserOnboarding.properties
+++ b/sv/browserOnboarding.properties
@@ -9,46 +9,46 @@ onboarding.tour-tor-welcome.button=Börja nu
 
 onboarding.tour-tor-privacy=Sekretess
 onboarding.tour-tor-privacy.title=Snub trackers and snoopers.
-onboarding.tour-tor-privacy.description=Tor Browser isolates cookies and 
deletes your browser history after your session. These modifications ensure 
your privacy and security are protected in the browser. Click ‘Tor Network’ 
to learn how we protect you on the network level.
-onboarding.tour-tor-privacy.button=Go to Tor Network
+onboarding.tour-tor-privacy.description=Tor Browser isolerar kakor och tar 
bort din webbläsarhistorik efter din session. Dessa ändringar säkerställa 
din integritet och säkerhet skyddas i webbläsaren. Klicka på "Tor-nätverk" 
för att lära dig hur vi skyddar dig på nätverksnivå.
+onboarding.tour-tor-privacy.button=Go to Tor-nätverk
 
-onboarding.tour-tor-network=Tor Network
-onboarding.tour-tor-network.title=Travel a decentralized network.
-onboarding.tour-tor-network.description=Tor Browser connects you to the Tor 
network run by thousands of volunteers around the world. Unlike a VPN, 
there’s no one point of failure or centralized entity you need to trust in 
order to enjoy the internet privately.
-onboarding.tour-tor-network.button=Go to Circuit Display
+onboarding.tour-tor-network=Tor-nätverk
+onboarding.tour-tor-network.title=Res ett decentraliserat nätverk.
+onboarding.tour-tor-network.description=Tor Browser ansluter dig till 
Tor-nätverket som drivs av tusentals volontärer runt om i världen. Till 
skillnad från en VPN, det finns ingen punkt av misslyckande eller 
centraliserad enhet du behöver lita på för att njuta av internet privat.
+onboarding.tour-tor-network.button=Gå till kretsskärmen
 
-onboarding.tour-tor-circuit-display=Circuit Display
-onboarding.tour-tor-circuit-display.title=See your path.
-onboarding.tour-tor-circuit-display.description=For each domain you visit, 
your traffic is relayed and encrypted in a circuit across three Tor relays 
around the world. No website knows where you are connecting from. You can 
request a new circuit by clicking ‘New Circuit for this Site’ on our 
Circuit Display.
-onboarding.tour-tor-circuit-display.button=See My Path
+onboarding.tour-tor-circuit-display=Kretsskärm
+onboarding.tour-tor-circuit-display.title=Se din väg.
+onboarding.tour-tor-circuit-display.description=För varje domän du besöker 
förmedlas din trafik och krypteras i en krets över tre tor-reläer runt om i 
världen. Ingen webbplats vet var du ansluter från. Du kan begära en ny krets 
genom att klicka på "ny krets för denna webbplats" på vår kretsskärm.
+onboarding.tour-tor-circuit-display.button=Se Min väg
 
 onboarding.tour-tor-security=Säkerhet
-onboarding.tour-tor-security.title=Choose your experience.
-onboarding.tour-tor-security.description=We also provide you with additional 
settings for bumping up your browser security. Our Security Settings allow you 
to block elements that could be used to attack your computer. Click below to 
see what the different options do.
-onboarding.tour-tor-security.button=Review Settings
+onboarding.tour-tor-security.title=Välj din upplevelse.
+onboarding.tour-tor-security.description=Vi ger dig också ytterligare 
inställningar för att stöta upp din webbläsares säkerhet. Våra 
säkerhetsinställningar kan du blockera element som kan användas för att 
attackera din dator. Klicka nedan för att se vad de olika alternativen gör.
+onboarding.tour-tor-security.button=Granska Inställningar
 
-onboarding.tour-tor-expect-differences=Experience Tips
-onboarding.tour-tor-expect-differences.title=Expect some differences.
-onboarding.tour-tor-expect-differences.description=With all the security and 
privacy features provided by Tor, your experience while browsing the internet 
may be a little different. Things may be a bit slower, and depending on your 
security level, some elements may not work or load. You may also be asked to 
prove you are a human and not a robot.
-onboarding.tour-tor-expect-differences.button=See FAQs
+onboarding.tour-tor-expect-differences=Erfarenhets tips
+onboarding.tour-tor-expect-differences.title=Förvänta dig vissa skillnader.
+onboarding.tour-tor-expect-differences.description=Med alla säkerhets- och 
sekretessfunktioner som Tor tillhandahåller kan din upplevelse när du surfar 
på internet vara lite annorlunda. Saker kan vara lite långsammare, och 
beroende på din 

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

2018-11-06 Thread translation
commit bb2ddda1b44e045bb1f54dc54961544be52b82b6
Author: Translation commit bot 
Date:   Wed Nov 7 07:46:05 2018 +

Update translations for tails-misc
---
 sv.po | 98 +--
 1 file changed, 49 insertions(+), 49 deletions(-)

diff --git a/sv.po b/sv.po
index 315bc382f..9f4c62d86 100644
--- a/sv.po
+++ b/sv.po
@@ -24,9 +24,9 @@ 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-15 14:43+\n"
-"Last-Translator: carolyn \n"
+"POT-Creation-Date: 2018-10-31 16:04+0100\n"
+"PO-Revision-Date: 2018-11-07 07:31+\n"
+"Last-Translator: Jonatan Nyberg\n"
 "Language-Team: Swedish 
(http://www.transifex.com/otf/torproject/language/sv/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -112,11 +112,11 @@ msgstr "_Avsluta"
 
 #: config/chroot_local-includes/usr/local/bin/liferea:18
 msgid "Liferea is deprecated"
-msgstr ""
+msgstr "Liferea är inaktuell"
 
 #: config/chroot_local-includes/usr/local/bin/liferea:19
 msgid "Do you wish to start Liferea anyway?"
-msgstr ""
+msgstr "Vill du starta Liferea ändå?"
 
 #: config/chroot_local-includes/usr/local/bin/liferea:21
 msgid ""
@@ -161,91 +161,91 @@ msgstr "Build information:\n%s"
 msgid "not available"
 msgstr "ej tillgängligt"
 
-#. Translators: Don't translate {details}, it's a placeholder and will be
-#. replaced.
-#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:144
+#. Translators: Don't translate {details}, it's a placeholder and will
+#. be replaced.
+#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:147
 #, python-brace-format
 msgid ""
 "{details} Please check your list of additional software or read the system "
 "log to understand the problem."
 msgstr ""
 
-#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:149
+#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:152
 msgid ""
 "Please check your list of additional software or read the system log to "
 "understand the problem."
 msgstr ""
 
-#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:153
+#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:156
 msgid "Show Log"
 msgstr "Visa loggen"
 
-#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:153
+#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:156
 msgid "Configure"
 msgstr "Konfigurera"
 
-#. Translators: Don't translate {beginning} or {last}, they are placeholders
-#. and will be replaced.
-#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:218
+#. Translators: Don't translate {beginning} or {last}, they are
+#. placeholders and will be replaced.
+#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:222
 #, python-brace-format
 msgid "{beginning} and {last}"
-msgstr ""
+msgstr "{beginning} och {last}"
 
-#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:219
+#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:223
 msgid ", "
-msgstr ""
+msgstr ", "
 
-#. Translators: Don't translate {packages}, it's a placeholder and will be
-#. replaced.
-#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:284
-#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:313
+#. Translators: Don't translate {packages}, it's a placeholder and will
+#. be replaced.
+#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:289
+#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:319
 #, python-brace-format
 msgid "Add {packages} to your additional software?"
 msgstr ""
 
-#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:286
+#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:291
 msgid ""
 "To install it automatically from your persistent storage when starting "
 "Tails."
 msgstr ""
 
-#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:288
+#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:293
 msgid "Install Every Time"
 msgstr ""
 
-#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:289
-#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:319
+#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:294
+#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:325
 msgid "Install Only Once"
 msgstr ""
 
-#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:295
-#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:324
-#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:362
+#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:300
+#: 

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

2018-11-06 Thread translation
commit b138adf7c4967189b7a0038f256aec7f603ebf63
Author: Translation commit bot 
Date:   Wed Nov 7 07:45:09 2018 +

Update translations for abouttor-homepage_completed
---
 sv/aboutTor.dtd | 61 +++--
 1 file changed, 29 insertions(+), 32 deletions(-)

diff --git a/sv/aboutTor.dtd b/sv/aboutTor.dtd
index 1e4b30fc2..4d91c86bf 100644
--- a/sv/aboutTor.dtd
+++ b/sv/aboutTor.dtd
@@ -1,45 +1,42 @@
 
 
 
 
-
-
-
-
-
-
-
-
-
+
+
 
 
 
-
+
 https://duckduckgo.com;>
 
-
-
-
-
-
-
-
-https://www.torproject.org/download/download.html.en#warning;>
+
+
+
 
-
-
-
-
-https://www.torproject.org/docs/tor-doc-relay.html.en;>
-
-https://www.torproject.org/getinvolved/volunteer.html.en;>
-
-https://www.torproject.org/donate/donate.html.en;>
-
-
-
-https://www.torproject.org/about/overview.html.en;>
+
+
+
+
+https://www.torproject.org/getinvolved/volunteer.html.en;>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

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


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

2018-11-06 Thread translation
commit ba0c7ba9b641d13ec39d488132ea2a003d82cf50
Author: Translation commit bot 
Date:   Wed Nov 7 07:45:04 2018 +

Update translations for abouttor-homepage
---
 sv/aboutTor.dtd | 20 ++--
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/sv/aboutTor.dtd b/sv/aboutTor.dtd
index 4e781a0d8..4d91c86bf 100644
--- a/sv/aboutTor.dtd
+++ b/sv/aboutTor.dtd
@@ -27,16 +27,16 @@
 
 
 
-
+
 
-
-
-
-
-
-
+
+
+
+
+
+
 
-
+
 
-
-
+
+

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


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

2018-11-06 Thread translation
commit 307d6c749790a26f4817dabf293a46a6a2961637
Author: Translation commit bot 
Date:   Wed Nov 7 07:18:42 2018 +

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

diff --git a/sv/browserOnboarding.properties b/sv/browserOnboarding.properties
index 847225d6c..539338ff9 100644
--- a/sv/browserOnboarding.properties
+++ b/sv/browserOnboarding.properties
@@ -2,10 +2,10 @@
 # See LICENSE for licensing information.
 # vim: set sw=2 sts=2 ts=8 et:
 
-onboarding.tour-tor-welcome=Welcome
-onboarding.tour-tor-welcome.title=You’re ready.
-onboarding.tour-tor-welcome.description=Tor Browser offers the highest 
standard of privacy and security while browsing the web. You’re now protected 
against tracking, surveillance, and censorship. This quick onboarding will show 
you how.
-onboarding.tour-tor-welcome.button=Start Now
+onboarding.tour-tor-welcome=Välkommen
+onboarding.tour-tor-welcome.title=Du är redo.
+onboarding.tour-tor-welcome.description=Tor Browser erbjuder högsta standard 
för integritet och säkerhet när du surfar på webben. Du är nu skyddad mot 
spårning, övervakning och censur. Denna snabba introduktion kommer att visa 
dig hur.
+onboarding.tour-tor-welcome.button=Börja nu
 
 onboarding.tour-tor-privacy=Sekretess
 onboarding.tour-tor-privacy.title=Snub trackers and snoopers.

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


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

2018-11-06 Thread translation
commit 07ad11e9445898fd1fa973269956d220f163c64d
Author: Translation commit bot 
Date:   Wed Nov 7 07:18:33 2018 +

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

diff --git a/sv/abouttbupdate.dtd b/sv/abouttbupdate.dtd
index 02a583037..fda623e1a 100644
--- a/sv/abouttbupdate.dtd
+++ b/sv/abouttbupdate.dtd
@@ -7,4 +7,4 @@
 
 
 
-
+

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


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

2018-11-06 Thread translation
commit c4558079cd108461dc2e48cca0187da70c6a4458
Author: Translation commit bot 
Date:   Wed Nov 7 07:17:41 2018 +

Update translations for tor-browser-manual
---
 sv/sv.po | 67 +---
 1 file changed, 56 insertions(+), 11 deletions(-)

diff --git a/sv/sv.po b/sv/sv.po
index 22e25e056..6f4954e1b 100644
--- a/sv/sv.po
+++ b/sv/sv.po
@@ -6,16 +6,16 @@
 # Yoga Andersson , 2017
 # Bo Serrander , 2017
 # Jacob Andersson , 2018
-# Jonatan Nyberg, 2018
 # Henrik Mattsson-MÃ¥rn , 2018
 # Filip Bengtsson, 2018
+# Jonatan Nyberg, 2018
 # 
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "POT-Creation-Date: 2018-09-07 16:48-0500\n"
 "PO-Revision-Date: 2016-12-07 01:01+\n"
-"Last-Translator: Filip Bengtsson, 2018\n"
+"Last-Translator: Jonatan Nyberg, 2018\n"
 "Language-Team: Swedish (https://www.transifex.com/otf/teams/1519/sv/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -405,6 +405,9 @@ msgid ""
 "the latest version of Tor Browser, hosted at a variety of locations, such as"
 " Dropbox, Google Drive and GitHub."
 msgstr ""
+"GetTor är en tjänst som automatiskt svarar på meddelanden med länkar till 
"
+"den senaste versionen av Tor Browser, som finns på en mängd olika platser, "
+"som Dropbox, Google Drive och GitHub."
 
 #: downloading.page:33
 msgid "To use GetTor via email:"
@@ -1040,6 +1043,10 @@ msgid ""
 "service in order to connect to it. An onion address is a string of 16 (and "
 "in V3 format, 56) mostly random letters and numbers, followed by 
“.onion”."
 msgstr ""
+"Precis som alla andra webbplatser måste du veta adressen till en onion-"
+"tjänst för att kunna ansluta till den. En onion-adress är en sträng av 16 
"
+"(och i V3-format, 56) mestadels slumpmässiga bokstäver och siffror, följt 
av"
+" \".onion.”"
 
 #: onionsites.page:58 troubleshooting.page:10
 msgid "Troubleshooting"
@@ -1051,6 +1058,9 @@ msgid ""
 "entered the onion address correctly: even a small mistake will stop Tor "
 "Browser from being able to reach the site."
 msgstr ""
+"Om du inte kan nå den onion-tjänst du behöver, se till att du har angett "
+"onion-adressen korrekt: även ett litet misstag hindrar Tor-webbläsaren 
från "
+"att kunna nå webbplatsen."
 
 #: onionsites.page:64
 msgid ""
@@ -1134,6 +1144,10 @@ msgid ""
 "JavaScript (and other scripts) that runs on individual web pages, or block "
 "it entirely."
 msgstr ""
+"Tor Browser innehåller ett tillägg kallat NoScript, tillgängligt via "
+"\"S\"-ikonen längst upp till vänster i fönstret. NoScript låter dig styra 
"
+"JavaScript (och andra skript) som körs på enskilda webbplatser, eller "
+"blockera det helt."
 
 #. This is a reference to an external file such as an image or video. When
 #. the file changes, the md5 hash will change to let you know you need to
@@ -1157,6 +1171,13 @@ msgid ""
 " many websites from displaying correctly, so Tor Browser’s default setting "
 "is to allow all websites to run scripts in \"Standard\" mode."
 msgstr ""
+"Användare som kräver en hög grad av säkerhet i sin surfning bör ställa 
Tor "
+"webbläsarens Säkerhetsreglage till "
+"\"Säkrare\" (som inaktiverar JavaScript för icke-HTTPS-webbplatser) eller "
+"\"säkraste\" (vilket gör det för alla webbplatser). Att inaktivera "
+"JavaScript förhindrar dock att många webbplatser visas korrekt, så Tor "
+"Browser-standardinställning är att alla webbplatser ska kunna köra skript 
i "
+"\"Standard\"-läge."
 
 #: plugins.page:59
 msgid "Browser Add-ons"
@@ -1334,7 +1355,7 @@ msgstr ""
 #: security-slider.page:25
 msgid ""
 "The Security Slider is located in Torbutton’s “Security Settings” menu."
-msgstr ""
+msgstr "Säkerhetsreglaget finns i Torbuttons 
\"säkerhetsinställningar\"-meny."
 
 #: security-slider.page:32
 msgid "Security Levels"
@@ -1418,11 +1439,11 @@ msgstr ""
 
 #: translate.page:6
 msgid "Becoming a translator for the Tor Project"
-msgstr ""
+msgstr "Bli en översättare för Tor Project"
 
 #: translate.page:10
 msgid "Becoming a Tor Translator"
-msgstr ""
+msgstr "Bli en Tor-översättare"
 
 #: translate.page:12
 msgid ""
@@ -1432,20 +1453,27 @@ msgid ""
 " third-party that faciliates our translations. Below is an outline of how to"
 " sign up and begin."
 msgstr ""
+"Om du är intresserad av att hjälpa till med projektet genom att översätta 
"
+"bruksanvisningen eller Tor Browser till ditt språk, skulle din hjälp vara "
+"mycket uppskattad! För att kunna börja bidra måste du registrera dig hos "
+"Transifex, den tredjepart som underlättar våra översättningar. Nedan 
följer "
+"en översikt över hur man registrerar sig och börjar."
 
 #: translate.page:21
 msgid "Signing up on Transifex"
-msgstr ""
+msgstr "Registrera dig på Transifex"
 
 #: translate.page:24
 msgid ""
 "Head over to the https://transifex.com/signup/\;>Transifex "
 "signup page."
 msgstr ""
+"Gå över till 

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

2018-11-06 Thread translation
commit 158ffb1953017a2b0437f5535986bf491c6320f3
Author: Translation commit bot 
Date:   Wed Nov 7 07:17:47 2018 +

Update translations for tor-browser-manual_completed
---
 sv/sv.po | 408 ---
 1 file changed, 283 insertions(+), 125 deletions(-)

diff --git a/sv/sv.po b/sv/sv.po
index a469561cc..6f4954e1b 100644
--- a/sv/sv.po
+++ b/sv/sv.po
@@ -1,19 +1,21 @@
 # Translators:
 # cryptohead , 2016
-# Alexandra , 2016
-# WinterFairy , 2016
-# Jonatan Nyberg, 2016
 # Daniel Sjöberg , 2016
-# Yoga Andersson , 2016
+# WinterFairy , 2016
 # Nikolai Stenfors , 2016
-# Jacob Andersson , 2016
+# Yoga Andersson , 2017
 # Bo Serrander , 2017
+# Jacob Andersson , 2018
+# Henrik Mattsson-MÃ¥rn , 2018
+# Filip Bengtsson, 2018
+# Jonatan Nyberg, 2018
+# 
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2016-12-06 16:36-0600\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: Bo Serrander , 2017\n"
+"POT-Creation-Date: 2018-09-07 16:48-0500\n"
+"PO-Revision-Date: 2016-12-07 01:01+\n"
+"Last-Translator: Jonatan Nyberg, 2018\n"
 "Language-Team: Swedish (https://www.transifex.com/otf/teams/1519/sv/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -218,11 +220,11 @@ msgstr ""
 #: bridges.page:63
 msgctxt "_"
 msgid ""
-"external ref='media/tor-launcher-custom-bridges_en-US.png' "
-"md5='93365c2aa3fb4d627497e83f28a39b7e'"
+"external ref='media/tor-launcher-custom-bridges.png' "
+"md5='34b5e99516d297fcbb467209d8479f40'"
 msgstr ""
-"extern ref='media/tor-launcher-custom-bridges_en-US.png' "
-"md5='93365c2aa3fb4d627497e83f28a39b7e'"
+"external ref='media/tor-launcher-custom-bridges.png' "
+"md5='34b5e99516d297fcbb467209d8479f40'"
 
 #: bridges.page:65
 msgid ""
@@ -272,10 +274,10 @@ msgstr "Använder pluggbara transporter"
 msgctxt "_"
 msgid ""
 "external ref='media/circumvention/configure.png' "
-"md5='519d888303eadfe4cb03f178aedd90f5'"
+"md5='1107595d21fe90f2aab1263d7fb0abd3'"
 msgstr ""
-"extern ref='media/circumvention/configure.png' "
-"md5='519d888303eadfe4cb03f178aedd90f5'"
+"external ref='media/circumvention/configure.png' "
+"md5='1107595d21fe90f2aab1263d7fb0abd3'"
 
 #: circumvention.page:28
 msgid ""
@@ -311,10 +313,10 @@ msgstr ""
 msgctxt "_"
 msgid ""
 "external ref='media/circumvention/bridges.png' "
-"md5='910cdd5e45860b81a1ad4739c589a195'"
+"md5='f5acc05bd9bacf6c69a31163d25a8778'"
 msgstr ""
-"extern ref='media/circumvention/bridges.png' "
-"md5='910cdd5e45860b81a1ad4739c589a195'"
+"external ref='media/circumvention/bridges.png' "
+"md5='f5acc05bd9bacf6c69a31163d25a8778'"
 
 #: circumvention.page:51
 msgid ""
@@ -344,11 +346,11 @@ msgstr ""
 msgid ""
 "If you are trying to circumvent a blocked connection for the first time, you"
 " should try the different transports: obfs3, obfs4, ScrambleSuit, fte, meek-"
-"azure, meek-amazon."
+"azure and Snowflake."
 msgstr ""
-"Om du försöker att kringgå en blockerad anslutning för första gången, 
bör du"
-" prova olika transporter: obfs3, obfs4, ScrambleSuit, fte, meed-azure, meek-"
-"amazon."
+"Om du försöker kringgå en spärrad anslutning för första gången, kan du 
testa"
+" med de olika transportprotokollen: obfs3, obfs4, ScrambleSuit, fte, meek-"
+"azure and Snowflake."
 
 #: circumvention.page:72
 msgid ""
@@ -401,17 +403,17 @@ msgstr "GetTor"
 msgid ""
 "GetTor is a service that automatically responds to messages with links to "
 "the latest version of Tor Browser, hosted at a variety of locations, such as"
-" Dropbox, Google Drive and Github.."
+" Dropbox, Google Drive and GitHub."
 msgstr ""
 "GetTor är en tjänst som automatiskt svarar på meddelanden med länkar till 
"
-"den senaste versionen av Tor Browser, som finns på flera olika platser, till"
-" exempel Dropbox, Google Drive och Github."
+"den senaste versionen av Tor Browser, som finns på en mängd olika platser, "
+"som Dropbox, Google Drive och GitHub."
 
-#: downloading.page:34
+#: downloading.page:33
 msgid "To use GetTor via email:"
 msgstr "För att använda GetTor via e-post:"
 
-#: downloading.page:39
+#: downloading.page:38
 msgid ""
 "Send an email to get...@torproject.org, and in the body of the message "
 "simply write “windows”, “osx”, or “linux”, (without quotation 
marks) "
@@ -421,7 +423,7 @@ msgstr ""
 "meddelandetexten \"winows\", \"osx\" eller \"linux\" (ta inte med "
 "citattecken) beroende på ditt val av operativsystem."
 
-#: downloading.page:46
+#: downloading.page:45
 msgid ""
 "GetTor will respond with an email containing links from which you can "
 "download the Tor Browser package, the cryptographic signature (needed for "
@@ -437,11 +439,11 @@ msgstr ""
 "\"64-bitars\" programvara: detta beror på vilken modell av datorn du "
 "använder."
 
-#: downloading.page:57
+#: downloading.page:56
 msgid "To use GetTor via Twitter:"
 msgstr "För att använda GetTor via Twitter:"
 
-#: downloading.page:62
+#: 

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

2018-11-06 Thread translation
commit febd1cad589af6ba18013c5330e392af0b68a6c7
Author: Translation commit bot 
Date:   Wed Nov 7 07:17:05 2018 +

Update translations for tba-android_stringsdtd
---
 sv/android_strings.dtd | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sv/android_strings.dtd b/sv/android_strings.dtd
index c1dfe2c73..b5ead2547 100644
--- a/sv/android_strings.dtd
+++ b/sv/android_strings.dtd
@@ -2,7 +2,7 @@
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 
-
+
 
 
 
@@ -667,7 +667,7 @@ just addresses the organization to follow, e.g. "This site 
is run by " -->
 
 
 
-
+
 
 
 

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


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

2018-11-06 Thread translation
commit 11cccb66a5d8b3c8f21cf9fde8c1febb3d83bb40
Author: Translation commit bot 
Date:   Wed Nov 7 07:15:57 2018 +

Update translations for liveusb-creator_completed
---
 sv/sv.po | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sv/sv.po b/sv/sv.po
index 8c04d3e9b..4b39e07ed 100644
--- a/sv/sv.po
+++ b/sv/sv.po
@@ -21,7 +21,7 @@ msgstr ""
 "Project-Id-Version: Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2018-10-20 12:34+0200\n"
-"PO-Revision-Date: 2018-11-07 06:38+\n"
+"PO-Revision-Date: 2018-11-07 06:48+\n"
 "Last-Translator: Jonatan Nyberg\n"
 "Language-Team: Swedish 
(http://www.transifex.com/otf/torproject/language/sv/)\n"
 "MIME-Version: 1.0\n"
@@ -332,7 +332,7 @@ msgstr "Uppgradera"
 
 #: ../tails_installer/gui.py:469
 msgid "Manual Upgrade Instructions"
-msgstr "Manuella uppgraderingsinstruktioner"
+msgstr "Manuell uppgraderingsinstruktioner"
 
 #: ../tails_installer/gui.py:471
 msgid "https://tails.boum.org/upgrade/;

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


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

2018-11-06 Thread translation
commit 0543d4f0951c7b0e0120c56b39f038759c296e8e
Author: Translation commit bot 
Date:   Wed Nov 7 07:15:51 2018 +

Update translations for liveusb-creator
---
 sv/sv.po | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sv/sv.po b/sv/sv.po
index 8c04d3e9b..4b39e07ed 100644
--- a/sv/sv.po
+++ b/sv/sv.po
@@ -21,7 +21,7 @@ msgstr ""
 "Project-Id-Version: Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2018-10-20 12:34+0200\n"
-"PO-Revision-Date: 2018-11-07 06:38+\n"
+"PO-Revision-Date: 2018-11-07 06:48+\n"
 "Last-Translator: Jonatan Nyberg\n"
 "Language-Team: Swedish 
(http://www.transifex.com/otf/torproject/language/sv/)\n"
 "MIME-Version: 1.0\n"
@@ -332,7 +332,7 @@ msgstr "Uppgradera"
 
 #: ../tails_installer/gui.py:469
 msgid "Manual Upgrade Instructions"
-msgstr "Manuella uppgraderingsinstruktioner"
+msgstr "Manuell uppgraderingsinstruktioner"
 
 #: ../tails_installer/gui.py:471
 msgid "https://tails.boum.org/upgrade/;

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


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

2018-11-06 Thread translation
commit 0da54ba06d9e93b2a0391902bfe916a33ca697ee
Author: Translation commit bot 
Date:   Wed Nov 7 07:15:24 2018 +

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

diff --git a/locale/sv/LC_MESSAGES/messages.po 
b/locale/sv/LC_MESSAGES/messages.po
index a216513a7..0141c97a9 100644
--- a/locale/sv/LC_MESSAGES/messages.po
+++ b/locale/sv/LC_MESSAGES/messages.po
@@ -1,11 +1,13 @@
 # Translators:
-# Henrik Mattsson-MÃ¥rn , 2018
 # erinm, 2018
 # ph AA, 2018
 # martinedstrom , 2018
+# Henrik Mattsson-MÃ¥rn , 2018
+# Jonatan Nyberg, 2018
+# 
 msgid ""
 msgstr ""
-"Last-Translator: martinedstrom , 2018\n"
+"Last-Translator: Jonatan Nyberg, 2018\n"
 "Language-Team: Swedish (https://www.transifex.com/otf/teams/1519/sv/)\n"
 "Language: sv\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -581,6 +583,11 @@ msgid ""
 " and privacy technologies, supporting their unrestricted availability and "
 "use, and furthering their scientific and popular understanding."
 msgstr ""
+"The Tor Project är en amerikansk 501(c)(3) ideell organisation som främjar "
+"mänskliga rättigheter och friheter genom att skapa och distribuera "
+"anonymitets- och sekretessteknik med fri och öppen källkod, stödja deras "
+"obegränsade tillgänglighet och användning och främja deras vetenskapliga 
och"
+" populära förståelse."
 
 #: 
tmp/cache_locale/2d/2d5f07aeb16acd7bb0a8dd355b13f59678a1f0ba6ea2b3d9dec8d2b5dcfbfde5.php:31
 msgid "privacy policy"

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


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

2018-11-06 Thread translation
commit 3fcde28273a486b8082bf1ec9c521a547b252db4
Author: Translation commit bot 
Date:   Wed Nov 7 07:15:05 2018 +

Update translations for abouttor-homepage
---
 sv/aboutTor.dtd | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/sv/aboutTor.dtd b/sv/aboutTor.dtd
index 899ec0e89..4e781a0d8 100644
--- a/sv/aboutTor.dtd
+++ b/sv/aboutTor.dtd
@@ -15,17 +15,17 @@
 https://duckduckgo.com;>
 
 
-
+
 
 
-
+
 
-
-
+
+
 https://www.torproject.org/getinvolved/volunteer.html.en;>
 
-
-
+
+
 
 
 

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


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

2018-11-06 Thread translation
commit 2aef87c97e6e09f27b1a3f1fb9bf6027d6b07271
Author: Translation commit bot 
Date:   Wed Nov 7 06:49:29 2018 +

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

diff --git a/sv/network-settings.dtd b/sv/network-settings.dtd
index b7adc24b5..415a03f00 100644
--- a/sv/network-settings.dtd
+++ b/sv/network-settings.dtd
@@ -52,7 +52,7 @@
 
 
 
-
+
 
 
 

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


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

2018-11-06 Thread translation
commit e98466e700aabae2eae323a3709655a952ae8448
Author: Translation commit bot 
Date:   Wed Nov 7 06:49:24 2018 +

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

diff --git a/sv/network-settings.dtd b/sv/network-settings.dtd
index 8e67127f3..415a03f00 100644
--- a/sv/network-settings.dtd
+++ b/sv/network-settings.dtd
@@ -52,7 +52,7 @@
 
 
 
-
+
 
 
 

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


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

2018-11-06 Thread translation
commit 15c6d720d1aa75ce92d24bcdaf81894015f30ed1
Author: Translation commit bot 
Date:   Wed Nov 7 06:48:29 2018 +

Update translations for torbutton-torbuttonproperties_completed
---
 sv/torbutton.properties | 55 +
 1 file changed, 55 insertions(+)

diff --git a/sv/torbutton.properties b/sv/torbutton.properties
new file mode 100644
index 0..83f5eee71
--- /dev/null
+++ b/sv/torbutton.properties
@@ -0,0 +1,55 @@
+torbutton.circuit_display.internet = Internet
+torbutton.circuit_display.ip_unknown = Okänd IP-adress.
+torbutton.circuit_display.onion_site = Onion webbplats
+torbutton.circuit_display.this_browser = Denna webbläsare
+torbutton.circuit_display.relay = Router
+torbutton.circuit_display.tor_bridge = Brygga
+torbutton.circuit_display.unknown_country = Okänt land
+torbutton.circuit_display.guard = Vakt
+torbutton.circuit_display.guard_note = Din [Guard] nod kanske inte ändras.
+torbutton.circuit_display.learn_more = Läs mer
+torbutton.content_sizer.margin_tooltip = Tor Browser lägger till denna 
marginal för att göra bredden och höjden på ditt fönster mindre tydlig. 
Därmed minskas möjligheten att spåra dig.
+torbutton.panel.tooltip.disabled = Klicka för att aktivera Tor
+torbutton.panel.tooltip.enabled = Klicka för att inaktivera Tor
+torbutton.panel.label.disabled = Tor inaktiv
+torbutton.panel.label.enabled = Tor aktiv
+extensions.torbut...@torproject.org.description = Torbutton ger en knapp för 
att konfigurera Tor inställningar och snabbt och enkelt rensa privat surfdata.
+torbutton.popup.external.title = Ladda ned en extern filtyp?
+torbutton.popup.external.app = Tor Browser kan inte visa filen. Du behöver 
öppna den i ett annat program.\n\n
+torbutton.popup.external.note = Vissa typer av filer kan få program att 
ansluta till internet utan att använda Tor.\n\n
+torbutton.popup.external.suggest = Det är säkrast att öppna filer du har 
hämtat hem bara när du är offline, eller så kan du använda en Tor Live CD 
som till exempel Tails.\n
+torbutton.popup.launch = Hämta hem filen
+torbutton.popup.cancel = Avbryt
+torbutton.popup.dontask = Hämta hem filer automatiskt i fortsättningen
+torbutton.popup.no_newnym = Torbutton kan inte säkert ge dig en ny identitet. 
Det har inte tillgång till Tor Control Port.\n\nKör du Tor Browser Bundle?
+torbutton.security_settings.menu.title = Säkerhetsinställningar
+torbutton.title.prompt_torbrowser = Viktig information om Torbutton 
+torbutton.popup.prompt_torbrowser = Torbutton fungerar annorlunda nu: Du kan 
inte slå av den längre.\n\nVi gjorde denna förändring eftersom det inte är 
säkert att använda Torbutton i en webbläsare som också används för 
icke-Tor surfning. Det var för många buggar som vi inte kunde fixa på något 
annat sätt.\n\nOm du vill fortsätta använda Firefox normalt så bör du 
avinstallera Tor Browser och ladda ner Tor Browser Bundle. Tor Browser skyddar 
din integritet bättre än vanliga Firefox, även när Firefox används med Tor 
Button.\n\nFör att ta bort Torbutton, gå till Verktyg->Tillägg->Tillägg och 
klicka på Ta bort-knappen bredvid Torbutton.
+torbutton.popup.short_torbrowser = Viktig information om 
Torbutton!\n\nTorbutton är nu alltid aktiverad.\n\nKlicka på Torbutton för 
mer information.
+
+torbutton.popup.confirm_plugins = Insticksmoduler så som Flash kan äventyra 
din anonymitet och personliga integritet.\n\nDe kan också kringgå Tor för 
att avslöja var du befinner dig och vad din IP-adress är.\n\nÄr du säker 
på att du vill aktivera plugins?\n\n
+torbutton.popup.never_ask_again = Fråga aldrig igen
+torbutton.popup.confirm_newnym = Tor Browser kommer att stänga alla fönster 
och flikar. Alla webbplatssessioner kommer att gå förlorade.\n\nStarta om Tor 
Browser nu för att återställa din identitet?\n\n
+
+torbutton.maximize_warning = Att maximera Tor Browser kan ge webbplatser 
möjlighet att upptäcka din skärmstorlek, vilket kan användas för att 
spåra dig. Vi rekommenderar att du lämnar Tor Browser fönstret i dess 
ursprungliga storlek.
+
+# Canvas permission prompt. Strings are kept here for ease of translation.
+canvas.siteprompt=Denna webbplats (%S) försökte komma åt HTML5-bilddata på 
ett kanvas, som skulle kunna användas för att identifiera just din 
dator.\n\nSka Tor Browser tillåta den här webbplatsen att använda 
HTML5-bilddata på kanvas?
+canvas.notNow=Inte just nu
+canvas.notNowAccessKey=N
+canvas.allow=Tillåt i framtiden
+canvas.allowAccessKey=A
+canvas.never=Aldrig för denna sida (rekommenderas)
+canvas.neverAccessKey=e
+
+# Profile/startup error messages. Strings are kept here for ease of 
translation.
+# LOCALIZATION NOTE: %S is the application name.
+profileProblemTitle=%S Profilproblem
+profileReadOnly=Du kan inte köra %S från ett read-only filsystem. Kopiera 
först %S till ett annat ställe innan användning.
+profileReadOnlyMac=Du kan inte 

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

2018-11-06 Thread translation
commit 50b67bc1c5b36363780a6f2c7fa0542055f64ea1
Author: Translation commit bot 
Date:   Wed Nov 7 06:48:24 2018 +

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

diff --git a/sv/torbutton.properties b/sv/torbutton.properties
index 5069c79e1..83f5eee71 100644
--- a/sv/torbutton.properties
+++ b/sv/torbutton.properties
@@ -51,5 +51,5 @@ profileAccessDenied=%S har inte rättighet att använda 
profilen. Vänligen änd
 profileMigrationFailed=Migrering av din befintliga %S profil 
misslyckades.\nNya inställningar kommer att användas.
 
 # .Onion Page Info prompt.  Strings are kept here for ease of translation.
-pageInfo_OnionEncryptionWithBitsAndProtocol=Connection Encrypted (Onion 
Service, %1$S, %2$S bit keys, %3$S)
-pageInfo_OnionEncryption=Connection Encrypted (Onion Service)
+pageInfo_OnionEncryptionWithBitsAndProtocol=Anslutning krypterad 
(Onion-tjänst, %1$S, %2$S bit nycklar, %3$S)
+pageInfo_OnionEncryption=Anslutning krypterad (Onion-tjänst)

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


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

2018-11-06 Thread translation
commit 1fa02585cf038f355132b3c750ddca8a542ba4a3
Author: Translation commit bot 
Date:   Wed Nov 7 06:45:54 2018 +

Update translations for https_everywhere_completed
---
 sv/https-everywhere.dtd | 4 
 1 file changed, 4 insertions(+)

diff --git a/sv/https-everywhere.dtd b/sv/https-everywhere.dtd
index 79a323123..cdaf92f0d 100644
--- a/sv/https-everywhere.dtd
+++ b/sv/https-everywhere.dtd
@@ -18,6 +18,8 @@
 
 
 
+
+
 
 
 
@@ -38,6 +40,8 @@
 
 
 
+
+
 
 
 

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


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

2018-11-06 Thread translation
commit 1a389bb3be76ba185ff07a518213b5ca28e7fcb8
Author: Translation commit bot 
Date:   Wed Nov 7 06:45:48 2018 +

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

diff --git a/sv/https-everywhere.dtd b/sv/https-everywhere.dtd
index ba2901754..cdaf92f0d 100644
--- a/sv/https-everywhere.dtd
+++ b/sv/https-everywhere.dtd
@@ -18,8 +18,8 @@
 
 
 
-
-
+
+
 
 
 
@@ -40,8 +40,8 @@
 
 
 
-
-
+
+
 
 
 

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


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

2018-11-06 Thread translation
commit 8612acb8d7aad82b539b35d26d453aa47dd48e54
Author: Translation commit bot 
Date:   Wed Nov 7 06:46:01 2018 +

Update translations for liveusb-creator
---
 sv/sv.po | 95 
 1 file changed, 48 insertions(+), 47 deletions(-)

diff --git a/sv/sv.po b/sv/sv.po
index 3e44ca455..8c04d3e9b 100644
--- a/sv/sv.po
+++ b/sv/sv.po
@@ -11,6 +11,7 @@
 # Göran Uddeborg , 2010
 # Jacob Andersson , 2018
 # Jonatan Nyberg, 2017
+# Jonatan Nyberg, 2018
 # Jonatan Nyberg, 2017
 # Mikael Hiort af Ornäs , 2013
 # leveebreaks, 2014
@@ -19,9 +20,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-11-07 06:38+\n"
+"Last-Translator: Jonatan Nyberg\n"
 "Language-Team: Swedish 
(http://www.transifex.com/otf/torproject/language/sv/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -88,194 +89,194 @@ msgstr "Kunde inte kopiera %(infile)s till %(outfile)s: 
%(message)s"
 msgid "Removing existing Live OS"
 msgstr "Tar bort existerande Live OS"
 
-#: ../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 "Kunde inte 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 "Kunde inte ta bort fil från tidigare 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 "Kunde inte ta bort mapp från tidigare LiveOS: %(message)s"
 
-#: ../tails_installer/creator.py:510
+#: ../tails_installer/creator.py:512
 #, python-format
 msgid "Cannot find device %s"
 msgstr "Hittar inte enheten %s"
 
-#: ../tails_installer/creator.py:711
+#: ../tails_installer/creator.py:713
 #, python-format
 msgid "Unable to write on %(device)s, skipping."
 msgstr "Kunde inte skriva till %(device)s, hoppar över"
 
-#: ../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 "Några partitioner på målenheten %(device)s är monterade. De kommer 
att avmonteras innan installationen påbörjas."
 
-#: ../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 "Okänt filsystem.  Din enhet kan behöva omformateras."
 
-#: ../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 "Stöder inte filsystemet: %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 "Okänt GLib-undantag vid försök att montera enhet: %(message)s"
 
-#: ../tails_installer/creator.py:810
+#: ../tails_installer/creator.py:812
 #, python-format
 msgid "Unable to mount device: %(message)s"
 msgstr "Kunde inte montera enheten: %(message)s"
 
-#: ../tails_installer/creator.py:815
+#: ../tails_installer/creator.py:817
 msgid "No mount points found"
 msgstr "Hittade inga monteringspunkter"
 
-#: ../tails_installer/creator.py:826
+#: ../tails_installer/creator.py:828
 #, python-format
 msgid "Entering unmount_device for '%(device)s'"
 msgstr "Anger unmount_device för \"%(device)s\""
 
-#: ../tails_installer/creator.py:836
+#: ../tails_installer/creator.py:838
 #, python-format
 msgid "Unmounting mounted filesystems on '%(device)s'"
 msgstr "Avmonterar monterade filsystem på \"%(device)s\""
 
-#: ../tails_installer/creator.py:840
+#: ../tails_installer/creator.py:842
 #, python-format
 msgid "Unmounting '%(udi)s' on '%(device)s'"
 msgstr "Avmonterar \"%(udi)s\" på \"%(device)s\""
 
-#: ../tails_installer/creator.py:851
+#: ../tails_installer/creator.py:853
 #, python-format
 msgid "Mount %s exists after unmounting"
 msgstr "Montering %s existerar efter avmontering"
 
-#: ../tails_installer/creator.py:864
+#: ../tails_installer/creator.py:866
 #, python-format
 msgid "Partitioning device %(device)s"
 msgstr "Partitionerar enheten %(device)s"
 
-#: ../tails_installer/creator.py:993
+#: ../tails_installer/creator.py:995
 #, python-format
 msgid "Unsupported device '%(device)s', please report a bug."
 msgstr "Enheten '%(device)s' stöds 

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

2018-11-06 Thread translation
commit cf02e57203ac7cc9a8e0648caa9fb82120550641
Author: Translation commit bot 
Date:   Wed Nov 7 06:46:07 2018 +

Update translations for liveusb-creator_completed
---
 sv/sv.po | 229 ++-
 1 file changed, 123 insertions(+), 106 deletions(-)

diff --git a/sv/sv.po b/sv/sv.po
index 4d7f60437..8c04d3e9b 100644
--- a/sv/sv.po
+++ b/sv/sv.po
@@ -6,22 +6,23 @@
 # Anders Nilsson , 2017
 # Anders Nilsson , 2015
 # cryptohead , 2013
-# Foorack, 2015
+# Max / Foorack, 2015
 # Gabor Sebastiani, 2014
 # Göran Uddeborg , 2010
 # Jacob Andersson , 2018
 # Jonatan Nyberg, 2017
+# Jonatan Nyberg, 2018
 # Jonatan Nyberg, 2017
 # Mikael Hiort af Ornäs , 2013
 # leveebreaks, 2014
 # WinterFairy , 2013-2014
 msgid ""
 msgstr ""
-"Project-Id-Version: The Tor Project\n"
+"Project-Id-Version: Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-11-10 15:57+0100\n"
-"PO-Revision-Date: 2018-03-30 09:16+\n"
-"Last-Translator: Jacob Andersson \n"
+"POT-Creation-Date: 2018-10-20 12:34+0200\n"
+"PO-Revision-Date: 2018-11-07 06:38+\n"
+"Last-Translator: Jonatan Nyberg\n"
 "Language-Team: Swedish 
(http://www.transifex.com/otf/torproject/language/sv/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -29,257 +30,253 @@ msgstr ""
 "Language: sv\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../tails_installer/creator.py:101
+#: ../tails_installer/creator.py:100
 msgid "You must run this application as root"
 msgstr "Du måste köra det här programmet som root"
 
-#: ../tails_installer/creator.py:147
+#: ../tails_installer/creator.py:146
 msgid "Extracting live image to the target device..."
 msgstr "Packar upp live-avbild till målenheten..."
 
-#: ../tails_installer/creator.py:154
+#: ../tails_installer/creator.py:153
 #, python-format
 msgid "Wrote to device at %(speed)d MB/sec"
 msgstr "Skrev till enheten med %(speed)d MB/sek"
 
-#: ../tails_installer/creator.py:184
-msgid "Setting up OLPC boot file..."
-msgstr "Installerar OLPC startfil..."
-
-#: ../tails_installer/creator.py:315
+#: ../tails_installer/creator.py:296
 #, python-format
 msgid ""
 "There was a problem executing the following command: `%(command)s`.\n"
 "A more detailed error log has been written to '%(filename)s'."
 msgstr "Ett problem inträffade när följande kommando kördes: 
`%(command)s`.\nEn mer detaljerad feljournal har skrivits till '%(filename)s'."
 
-#: ../tails_installer/creator.py:334
+#: ../tails_installer/creator.py:315
 msgid "Verifying SHA1 checksum of LiveCD image..."
 msgstr "Verifierar SHA1 kontrollsumma av LiveCD avbild..."
 
-#: ../tails_installer/creator.py:338
+#: ../tails_installer/creator.py:319
 msgid "Verifying SHA256 checksum of LiveCD image..."
 msgstr "Verifierar SHA256 kontrollsumma av LiveCD avbild..."
 
-#: ../tails_installer/creator.py:354
+#: ../tails_installer/creator.py:335
 msgid ""
 "Error: The SHA1 of your Live CD is invalid.  You can run this program with "
 "the --noverify argument to bypass this verification check."
 msgstr "Fel: SHA1-summan för din Live CD är ogiltig.  Du kan köra detta 
program med argumentet --noverify för att hoppa över denna 
verifieringskontroll."
 
-#: ../tails_installer/creator.py:360
+#: ../tails_installer/creator.py:341
 msgid "Unknown ISO, skipping checksum verification"
 msgstr "Okänd ISO, hoppar över verifiering av kontrollsumma"
 
-#: ../tails_installer/creator.py:371
+#: ../tails_installer/creator.py:353
 #, python-format
 msgid ""
 "Not enough free space on device.\n"
 "%dMB ISO + %dMB overlay > %dMB free space"
 msgstr "Inte tillräckligt med ledigt utrymme på enheten.\n%d MB ISO + %d MB 
överlägg > %d MB ledigt utrymme"
 
-#: ../tails_installer/creator.py:378
+#: ../tails_installer/creator.py:360
 #, python-format
 msgid "Creating %sMB persistent overlay"
 msgstr "Skapar %sMB beständig överlagring"
 
-#: ../tails_installer/creator.py:439
+#: ../tails_installer/creator.py:421
 #, python-format
 msgid "Unable to copy %(infile)s to %(outfile)s: %(message)s"
 msgstr "Kunde inte kopiera %(infile)s till %(outfile)s: %(message)s"
 
-#: ../tails_installer/creator.py:453
+#: ../tails_installer/creator.py:435
 msgid "Removing existing Live OS"
 msgstr "Tar bort existerande Live OS"
 
-#: ../tails_installer/creator.py:462 ../tails_installer/creator.py:473
+#: ../tails_installer/creator.py:444 ../tails_installer/creator.py:457
 #, python-format
 msgid "Unable to chmod %(file)s: %(message)s"
 msgstr "Kunde inte chmod %(file)s: %(message)s"
 
-#: ../tails_installer/creator.py:466
+#: ../tails_installer/creator.py:450
 #, python-format
 msgid "Unable to remove file from previous LiveOS: %(message)s"
 msgstr "Kunde inte ta bort fil från tidigare LiveOS: %(message)s"
 
-#: ../tails_installer/creator.py:478
+#: ../tails_installer/creator.py:464
 #, python-format
 msgid "Unable to remove directory from previous LiveOS: %(message)s"
 msgstr "Kunde inte ta bort mapp 

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

2018-11-06 Thread translation
commit 7542fe593d032e7d9405f42a463b4b3b81137126
Author: Translation commit bot 
Date:   Wed Nov 7 06:45:06 2018 +

Update translations for abouttor-homepage
---
 sv/aboutTor.dtd | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/sv/aboutTor.dtd b/sv/aboutTor.dtd
index 94cea14a8..899ec0e89 100644
--- a/sv/aboutTor.dtd
+++ b/sv/aboutTor.dtd
@@ -6,19 +6,19 @@
 
 
 
-
-
+
+
 
 
 
-
+
 https://duckduckgo.com;>
 
 
-
+
 
 
-
+
 
 
 

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


[tor-commits] [translation/support-portal] Update translations for support-portal

2018-11-06 Thread translation
commit 219a43d3e93a7924afbba3b7462747a84c7dd8c5
Author: Translation commit bot 
Date:   Wed Nov 7 00:49:51 2018 +

Update translations for support-portal
---
 contents+es.po | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/contents+es.po b/contents+es.po
index f62edd61c..d2b352ce7 100644
--- a/contents+es.po
+++ b/contents+es.po
@@ -1,12 +1,13 @@
 # Translators:
 # erinm, 2018
 # Emma Peel, 2018
+# 
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2018-10-27 19:20+CET\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: 2018-10-02 22:41+\n"
 "Last-Translator: Emma Peel, 2018\n"
 "Language-Team: Spanish (https://www.transifex.com/otf/teams/1519/es/)\n"
 "MIME-Version: 1.0\n"

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


[tor-commits] [translation/support-portal_completed] Update translations for support-portal_completed

2018-11-06 Thread translation
commit 210ffa6c85b87092d077efca3ece7d560285180a
Author: Translation commit bot 
Date:   Wed Nov 7 00:49:57 2018 +

Update translations for support-portal_completed
---
 contents+es.po | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/contents+es.po b/contents+es.po
index f62edd61c..d2b352ce7 100644
--- a/contents+es.po
+++ b/contents+es.po
@@ -1,12 +1,13 @@
 # Translators:
 # erinm, 2018
 # Emma Peel, 2018
+# 
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2018-10-27 19:20+CET\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: 2018-10-02 22:41+\n"
 "Last-Translator: Emma Peel, 2018\n"
 "Language-Team: Spanish (https://www.transifex.com/otf/teams/1519/es/)\n"
 "MIME-Version: 1.0\n"

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


[tor-commits] [tor/master] Merge remote-tracking branch 'tor-github/pr/466'

2018-11-06 Thread nickm
commit c8892b53ecaba5c14be6cf238baf4527098a8f1f
Merge: 8020d6fb0 2f0744b3e
Author: Nick Mathewson 
Date:   Tue Nov 6 15:35:45 2018 -0500

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

 changes/ticket28077  | 3 +++
 src/rust/tor_util/strings.rs | 6 +-
 2 files changed, 4 insertions(+), 5 deletions(-)

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


[tor-commits] [tor/master] rust/tor_util: drop unsafe block in cstr!

2018-11-06 Thread nickm
commit 2f0744b3e6f579f25db1ed6e048d0418ac2ab570
Author: cypherpunks 
Date:   Wed Oct 17 00:16:21 2018 +

rust/tor_util: drop unsafe block in cstr!

This is unnecessary just to get an empty string, there's Default::default().

Fix on 8fff331bb095dc6f5e2fe2ecfc9ab08ea9e2fe97.
---
 changes/ticket28077  | 3 +++
 src/rust/tor_util/strings.rs | 6 +-
 2 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/changes/ticket28077 b/changes/ticket28077
new file mode 100644
index 0..2b5afb167
--- /dev/null
+++ b/changes/ticket28077
@@ -0,0 +1,3 @@
+  o Code simplification and refactoring:
+- Remove unnecessarily unsafe code from the rust macro cstr!. Closes
+  ticket 28077.
diff --git a/src/rust/tor_util/strings.rs b/src/rust/tor_util/strings.rs
index d64275e06..71a908a58 100644
--- a/src/rust/tor_util/strings.rs
+++ b/src/rust/tor_util/strings.rs
@@ -105,11 +105,7 @@ macro_rules! cstr {
 ($($bytes:expr),*) => (
 ::std::ffi::CStr::from_bytes_with_nul(
 concat!($($bytes),*, "\0").as_bytes()
-).unwrap_or(
-unsafe{
-::std::ffi::CStr::from_bytes_with_nul_unchecked(b"\0")
-}
-)
+).unwrap_or_default()
 )
 }
 



___
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/464'

2018-11-06 Thread nickm
commit 8020d6fb05d9477e77c6ca554dc1288873f6115c
Merge: ba28704b2 da716fdfb
Author: Nick Mathewson 
Date:   Tue Nov 6 15:33:25 2018 -0500

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

 changes/feature27367|  4 
 src/feature/dirauth/process_descs.c | 12 +---
 src/feature/dirauth/process_descs.h |  3 ++-
 src/feature/dircache/dircache.c |  4 ++--
 src/lib/string/util_string.c| 13 +
 src/lib/string/util_string.h|  1 +
 src/test/test_util.c|  7 +++
 7 files changed, 38 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] Add tests for the string_is_utf8_no_bom() function.

2018-11-06 Thread nickm
commit da716fdfbb08952b971882eba1dabca2fef9c7f3
Author: George Kadianakis 
Date:   Thu Nov 1 12:55:04 2018 +0200

Add tests for the string_is_utf8_no_bom() function.
---
 src/test/test_util.c | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/src/test/test_util.c b/src/test/test_util.c
index 7bc1b7921..067825113 100644
--- a/src/test/test_util.c
+++ b/src/test/test_util.c
@@ -4024,6 +4024,13 @@ test_util_string_is_utf8(void *ptr)
   tt_int_op(1, OP_EQ, string_is_utf8("ascii\x7f\n", 7));
   tt_int_op(1, OP_EQ, string_is_utf8("Risqu\u00e9=1", 9));
 
+  /* Test the utf8_no_bom function */
+  tt_int_op(0, OP_EQ, string_is_utf8_no_bom("\uFEFF", 3));
+  tt_int_op(0, OP_EQ, string_is_utf8_no_bom("\uFFFE", 3));
+  tt_int_op(0, OP_EQ, string_is_utf8_no_bom("\uFEFFlove", 7));
+  tt_int_op(1, OP_EQ, string_is_utf8_no_bom("loveandrespect",
+strlen("loveandrespect")));
+
   // Validate exactly 'len' bytes.
   tt_int_op(0, OP_EQ, string_is_utf8("\0\x80", 2));
   tt_int_op(0, OP_EQ, string_is_utf8("Risqu\u00e9=1", 6));



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


[tor-commits] [tor/master] dircache: make dirauths reject non UTF-8 descriptors and extrainfo

2018-11-06 Thread nickm
commit f874ab26401ca269074963697ddcad879b3b4e3a
Author: cypherpunks 
Date:   Wed Aug 29 08:49:10 2018 +

dircache: make dirauths reject non UTF-8 descriptors and extrainfo

Ticket #27367.
---
 changes/feature27367|  4 
 src/feature/dirauth/process_descs.c | 12 +---
 src/feature/dirauth/process_descs.h |  3 ++-
 src/feature/dircache/dircache.c |  4 ++--
 4 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/changes/feature27367 b/changes/feature27367
new file mode 100644
index 0..99c083962
--- /dev/null
+++ b/changes/feature27367
@@ -0,0 +1,4 @@
+  o Minor features (parsing):
+- Directory authorities now validate that router descriptors and ExtraInfo
+  documents are in a valid subset of UTF-8, and reject them if not.
+  Closes ticket 27367.
diff --git a/src/feature/dirauth/process_descs.c 
b/src/feature/dirauth/process_descs.c
index c379f25bd..dca87b3ea 100644
--- a/src/feature/dirauth/process_descs.c
+++ b/src/feature/dirauth/process_descs.c
@@ -519,7 +519,8 @@ WRA_MORE_SEVERE(was_router_added_t a, was_router_added_t b)
 /** As for dirserv_add_descriptor(), but accepts multiple documents, and
  * returns the most severe error that occurred for any one of them. */
 was_router_added_t
-dirserv_add_multiple_descriptors(const char *desc, uint8_t purpose,
+dirserv_add_multiple_descriptors(const char *desc, size_t desclen,
+ uint8_t purpose,
  const char *source,
  const char **msg)
 {
@@ -536,6 +537,11 @@ dirserv_add_multiple_descriptors(const char *desc, uint8_t 
purpose,
 
   r=ROUTER_ADDED_SUCCESSFULLY; /*Least severe return value. */
 
+  if (!string_is_utf8_no_bom(desc, desclen)) {
+*msg = "descriptor(s) or extrainfo(s) not valid UTF-8 or had BOM.";
+return ROUTER_AUTHDIR_REJECTS;
+  }
+
   format_iso_time(time_buf, now);
   if (tor_snprintf(annotation_buf, sizeof(annotation_buf),
"@uploaded-at %s\n"
@@ -552,7 +558,7 @@ dirserv_add_multiple_descriptors(const char *desc, uint8_t 
purpose,
 
   s = desc;
   list = smartlist_new();
-  if (!router_parse_list_from_string(, NULL, list, SAVED_NOWHERE, 0, 0,
+  if (!router_parse_list_from_string(, s+desclen, list, SAVED_NOWHERE, 0, 0,
  annotation_buf, NULL)) {
 SMARTLIST_FOREACH(list, routerinfo_t *, ri, {
 msg_out = NULL;
@@ -568,7 +574,7 @@ dirserv_add_multiple_descriptors(const char *desc, uint8_t 
purpose,
   smartlist_clear(list);
 
   s = desc;
-  if (!router_parse_list_from_string(, NULL, list, SAVED_NOWHERE, 1, 0,
+  if (!router_parse_list_from_string(, s+desclen, list, SAVED_NOWHERE, 1, 0,
  NULL, NULL)) {
 SMARTLIST_FOREACH(list, extrainfo_t *, ei, {
 msg_out = NULL;
diff --git a/src/feature/dirauth/process_descs.h 
b/src/feature/dirauth/process_descs.h
index ad9d5c3d4..5a0914acd 100644
--- a/src/feature/dirauth/process_descs.h
+++ b/src/feature/dirauth/process_descs.h
@@ -17,7 +17,8 @@ void dirserv_free_fingerprint_list(void);
 int dirserv_add_own_fingerprint(crypto_pk_t *pk);
 
 enum was_router_added_t dirserv_add_multiple_descriptors(
- const char *desc, uint8_t purpose,
+ const char *desc, size_t desclen,
+ uint8_t purpose,
  const char *source,
  const char **msg);
 enum was_router_added_t dirserv_add_descriptor(routerinfo_t *ri,
diff --git a/src/feature/dircache/dircache.c b/src/feature/dircache/dircache.c
index 872a88018..930a8b87e 100644
--- a/src/feature/dircache/dircache.c
+++ b/src/feature/dircache/dircache.c
@@ -1608,8 +1608,8 @@ directory_handle_command_post,(dir_connection_t *conn, 
const char *headers,
 const char *msg = "[None]";
 uint8_t purpose = authdir_mode_bridge(options) ?
   ROUTER_PURPOSE_BRIDGE : ROUTER_PURPOSE_GENERAL;
-was_router_added_t r = dirserv_add_multiple_descriptors(body, purpose,
- conn->base_.address, );
+was_router_added_t r = dirserv_add_multiple_descriptors(body, body_len,
+   purpose, conn->base_.address, );
 tor_assert(msg);
 
 if (r == ROUTER_ADDED_SUCCESSFULLY) {



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


[tor-commits] [tor/master] string: add BOM helper

2018-11-06 Thread nickm
commit 3704c4a01219cca7273fa5fa0bc6751d98ad05ac
Author: cypherpunks 
Date:   Wed Aug 29 13:32:52 2018 +

string: add BOM helper
---
 src/lib/string/util_string.c | 13 +
 src/lib/string/util_string.h |  1 +
 2 files changed, 14 insertions(+)

diff --git a/src/lib/string/util_string.c b/src/lib/string/util_string.c
index b2b85d151..e76e73046 100644
--- a/src/lib/string/util_string.c
+++ b/src/lib/string/util_string.c
@@ -541,3 +541,16 @@ string_is_utf8(const char *str, size_t len)
   }
   return true;
 }
+
+/** As string_is_utf8(), but returns false if the string begins with a UTF-8
+ * byte order mark (BOM).
+ */
+int
+string_is_utf8_no_bom(const char *str, size_t len)
+{
+  if (len >= 3 && (!strcmpstart(str, "\uFEFF") ||
+   !strcmpstart(str, "\uFFFE"))) {
+return false;
+  }
+  return string_is_utf8(str, len);
+}
diff --git a/src/lib/string/util_string.h b/src/lib/string/util_string.h
index 746ece0d3..99467a27c 100644
--- a/src/lib/string/util_string.h
+++ b/src/lib/string/util_string.h
@@ -53,5 +53,6 @@ const char *find_str_at_start_of_line(const char *haystack,
 int string_is_C_identifier(const char *string);
 
 int string_is_utf8(const char *str, size_t len);
+int string_is_utf8_no_bom(const char *str, size_t len);
 
 #endif /* !defined(TOR_UTIL_STRING_H) */



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


[tor-commits] [torspec/master] Prop #254: Clarify special cases for bin 0 and inf bin-1.

2018-11-06 Thread nickm
commit 470bde64e6d1161b0bcf0b266aa67ecbdd016774
Author: Mike Perry 
Date:   Tue Nov 6 01:23:10 2018 +

Prop #254: Clarify special cases for bin 0 and inf bin-1.
---
 proposals/254-padding-negotiation.txt | 9 -
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/proposals/254-padding-negotiation.txt 
b/proposals/254-padding-negotiation.txt
index e569dcc..8cad35d 100644
--- a/proposals/254-padding-negotiation.txt
+++ b/proposals/254-padding-negotiation.txt
@@ -161,7 +161,8 @@ covering the range of the histogram, which is range_usec.
 The intermediate bins thus divide the timespan range_usec with offset
 start_usec+rtt_estimate, so that smaller bin indexes represent narrower time
 ranges, doubling up until the last bin. The last bin before the "infinity bin"
-thus covers [start_usec+rtt_estimate+range_usec/2, CIRCPAD_DELAY_INFINITE).
+thus covers [start_usec+rtt_estimate+range_usec/2,
+start_usec+rtt_estimate+range_usec).
 
 This exponentially increasing bin width allows the histograms to most
 accurately represent small interpacket delay (where accuracy is needed), and
@@ -203,6 +204,12 @@ are defined:
 When all bins are empty in a histogram, the padding machine emits the internal
 "bins empty" event to itself.
 
+Bin 0 and the bin before the infinity bin both have special rules for purposes
+of token removal. While removing tokens, all values less than bin 0 are
+treated as part of bin 0, and all values greater than
+start_usec+rtt_estimate+range_sec are treated as part of the bin before the
+infinity bin.
+
 3.2. State Machine Selection
 
 Clients will select which of the defined available padding machines to use



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


[tor-commits] [torspec/master] Merge remote-tracking branch 'tor-github/pr/41'

2018-11-06 Thread nickm
commit 9d8c044057807abfd9407d2b23acf6b95b142c1d
Merge: 14881dc 98e6c66
Author: Nick Mathewson 
Date:   Tue Nov 6 15:25:52 2018 -0500

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

 proposals/254-padding-negotiation.txt | 717 --
 1 file changed, 242 insertions(+), 475 deletions(-)

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


[tor-commits] [torspec/master] Prop #254: The infinity bin is also special.

2018-11-06 Thread nickm
commit 98e6c6637424fd1a887550a7336f193f6b84d50a
Author: Mike Perry 
Date:   Tue Nov 6 01:25:45 2018 +

Prop #254: The infinity bin is also special.
---
 proposals/254-padding-negotiation.txt | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/proposals/254-padding-negotiation.txt 
b/proposals/254-padding-negotiation.txt
index 8cad35d..19ab6ce 100644
--- a/proposals/254-padding-negotiation.txt
+++ b/proposals/254-padding-negotiation.txt
@@ -201,14 +201,15 @@ are defined:
   * Closest -- Remove from the closest non-empty bin by index
   * Closest_time -- Remove from the closest non-empty bin by index, by time
 
-When all bins are empty in a histogram, the padding machine emits the internal
-"bins empty" event to itself.
+When all bins exept the infinity bin are empty in a histogram, the padding
+machine emits the internal "bins empty" event to itself.
 
 Bin 0 and the bin before the infinity bin both have special rules for purposes
 of token removal. While removing tokens, all values less than bin 0 are
 treated as part of bin 0, and all values greater than
 start_usec+rtt_estimate+range_sec are treated as part of the bin before the
-infinity bin.
+infinity bin. Tokens are not removed from the infinity bin when non-padding is
+sent. (They are only removed when an "infinite" delay is chosen).
 
 3.2. State Machine Selection
 



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


[tor-commits] [torspec/master] Prop #254: Use range_usec instead of range_sec.

2018-11-06 Thread nickm
commit a66d8a650f6ab540fb6b63d09dc737e59eefb67a
Author: Mike Perry 
Date:   Tue Nov 6 01:20:32 2018 +

Prop #254: Use range_usec instead of range_sec.
---
 proposals/254-padding-negotiation.txt | 11 +--
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/proposals/254-padding-negotiation.txt 
b/proposals/254-padding-negotiation.txt
index f166d5f..e569dcc 100644
--- a/proposals/254-padding-negotiation.txt
+++ b/proposals/254-padding-negotiation.txt
@@ -156,13 +156,12 @@ The first bin of the histogram (bin 0) has 0 width, with 
a delay value of
 start_usec+rtt_estimate (from the machine definition, and rtt estimate above).
 
 The remaining bins are exponentially spaced, starting at this offset and
-covering the range of the histogram, which is range_sec*USEC_PER_SEC.
+covering the range of the histogram, which is range_usec.
 
-The intermediate bins thus divide the timespan range_sec*USEC_PER_SEC with
-offset start_usec+rtt_estimate, so that smaller bin indexes represent narrower
-time ranges, doubling up until the last bin. The last bin before the "infinity
-bin" thus covers [start_usec+rtt_estimate+range_sec*USEC_PER_SEC/2,
-CIRCPAD_DELAY_INFINITE).
+The intermediate bins thus divide the timespan range_usec with offset
+start_usec+rtt_estimate, so that smaller bin indexes represent narrower time
+ranges, doubling up until the last bin. The last bin before the "infinity bin"
+thus covers [start_usec+rtt_estimate+range_usec/2, CIRCPAD_DELAY_INFINITE).
 
 This exponentially increasing bin width allows the histograms to most
 accurately represent small interpacket delay (where accuracy is needed), and



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


[tor-commits] [torspec/master] Clarify prop#254 in some parts.

2018-11-06 Thread nickm
commit ab37543cfb16219f6632ce13691bc7c395300645
Author: George Kadianakis 
Date:   Tue Oct 30 18:00:03 2018 +0200

Clarify prop#254 in some parts.

Also kill some trailing whitespace.
---
 proposals/254-padding-negotiation.txt | 34 +++---
 1 file changed, 27 insertions(+), 7 deletions(-)

diff --git a/proposals/254-padding-negotiation.txt 
b/proposals/254-padding-negotiation.txt
index 94d8287..b9ecc05 100644
--- a/proposals/254-padding-negotiation.txt
+++ b/proposals/254-padding-negotiation.txt
@@ -63,6 +63,12 @@ parameters:
 u16 ito_high_ms;
   };
 
+After the above cell is received, the guard should use the 'ito_low_ms' and
+'ito_high_ms' values as the minimum and maximum values (respectively) for
+inactivity before it decides to pad the channel. The actual timeout value is
+randomly chosen between those two values through an appropriate probability
+distribution (see proposal251 for the netflow padding protocol).
+
 More complicated forms of link-level padding can still be specified
 using the primitives in Section 3, by using "leaky pipe" topology to
 send the RELAY commands to the Guard node instead of to later nodes in
@@ -89,10 +95,11 @@ Each state machine can contain up to three states ("Start", 
"Burst" and
 
 Each state of a padding machine specifies either:
   * A histogram describing inter-arrival cell delays; OR
-  * A parameterized distribution for inter-arrival cell delays
+  * A parameterized delay probability distribution for inter-arrival cell 
delays
 
-In either case, the lower bound of the delay distribution can be specified as
-a parameter, or it can be learned by measuring the RTT of the circuit.
+In either case, the lower bound of the delay probability distribution can be
+specified as a parameter, or it can be learned by measuring the RTT of the
+circuit.
 
 If the histogram is used, it has an additional special "infinity" bin that
 means "infinite delay".
@@ -196,7 +203,7 @@ are defined:
 When all bins are empty in a histogram, the padding machine emits the internal
 "bins empty" event to itself.
 
-3.2. Machine Selection
+3.2. State Machine Selection
 
 Clients will select which of the defined available padding machines to use
 based on the conditions that these machines specify. These conditions include:
@@ -209,7 +216,16 @@ based on the conditions that these machines specify. These 
conditions include:
 
 Clients will only select machines whose conditions fully match given circuits.
 
-3.3. Machine Neogitation
+A machine is represented by a positive number that can be thought of as a "menu
+option" through the list of padding machines. The currently supported padding
+state machines are:
+
+[1]: CIRCPAD_MACHINE_CIRC_SETUP
+
+ A padding machine that obscures the initial circuit setup in an
+ attempt to hide onion services.
+
+3.3. Machine Negotiation
 
 When a machine is selected, the client uses leaky-pipe delivery to send a
 RELAY_COMMAND_PADDING_NEGOTIATE to the target hop of the machine, using the
@@ -222,7 +238,7 @@ following trunnel relay cell payload format:
   struct circpad_negotiate {
 u8 version IN [0];
 u8 command IN [CIRCPAD_COMMAND_START, CIRCPAD_COMMAND_STOP];
-  
+
 /** Machine type is left unbounded because we can specify
  * new machines in the consensus */
 u8 machine_type;
@@ -230,6 +246,7 @@ following trunnel relay cell payload format:
 
 Upon receipt of a RELAY_COMMAND_PADDING_NEGOTIATE cell, the middle node sends
 a RELAY_COMMAND_PADDING_NEGOTIATED with the following format:
+
   /**
* This command tells the relay to alter its min and max netflow
* timeout range values, and send padding at that rate (resuming
@@ -238,12 +255,15 @@ a RELAY_COMMAND_PADDING_NEGOTIATED with the following 
format:
 u8 version IN [0];
 u8 command IN [CIRCPAD_COMMAND_START, CIRCPAD_COMMAND_STOP];
 u8 response IN [CIRCPAD_RESPONSE_OK, CIRCPAD_RESPONSE_ERR];
-  
+
 /** Machine type is left unbounded because we can specify
  * new machines in the consensus */
 u8 machine_type;
   };
 
+The 'machine_type' field should be the same as the one from the
+PADDING_NEGOTIATE cell.
+
 If the response field is CIRCPAD_RESPONSE_OK, padding was successfully
 negotiated. If it is CIRCPAD_RESPONSE_ERR, the machine is torn down and we do
 not pad.



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


[tor-commits] [torspec/master] Proposal 254 updates from asn's review.

2018-11-06 Thread nickm
commit 1dd7f1ff78fcb69121130cbd802b0b8b527ffc63
Author: Mike Perry 
Date:   Mon Nov 5 19:45:05 2018 +

Proposal 254 updates from asn's review.
---
 proposals/254-padding-negotiation.txt | 85 ++-
 1 file changed, 44 insertions(+), 41 deletions(-)

diff --git a/proposals/254-padding-negotiation.txt 
b/proposals/254-padding-negotiation.txt
index b9ecc05..d950446 100644
--- a/proposals/254-padding-negotiation.txt
+++ b/proposals/254-padding-negotiation.txt
@@ -74,6 +74,10 @@ using the primitives in Section 3, by using "leaky pipe" 
topology to
 send the RELAY commands to the Guard node instead of to later nodes in
 the circuit.
 
+Because the above link-level padding only sends padding cells if the link is
+idle, it can be used in combination with the more complicated circuit-level
+padding below, without compounding overhead effects.
+
 
 3. End-to-end circuit padding
 
@@ -90,16 +94,27 @@ consensus, and custom research machines can be listed in 
Torrc.
 Circuits can have either one or two state machines at both the origin and at a
 specified middle hop.
 
-Each state machine can contain up to three states ("Start", "Burst" and
-"Gap") governing their behavior. Not all states need to be used.
+Each state machine can contain up to three states ("Start", "Burst" and "Gap")
+governing their behavior, as well as an "END" state. Not all states need to be
+used.
 
 Each state of a padding machine specifies either:
   * A histogram describing inter-arrival cell delays; OR
   * A parameterized delay probability distribution for inter-arrival cell 
delays
 
 In either case, the lower bound of the delay probability distribution can be
-specified as a parameter, or it can be learned by measuring the RTT of the
-circuit.
+specified as the start_usec parameter, and/or it can be learned by measuring
+the RTT of the circuit at the middle node. For client-side machines, RTT
+measurement is always set to 0. RTT measurement at the middle node is
+calculated by measuring the difference between the time of arrival of an
+received cell (ie: away from origin) and the time of arrival of a sent cell
+(ie: towards origin). The RTT is continually updated so long as two cells do
+not arrive back-to-back in either direction. If the most recent measured RTT
+value is larger than our measured value so far, this larger value is used. If
+the most recent measured RTT value is lower than our measured value so far, it
+is averaged with our current measured value. (We favor longer RTTs slightly in
+this way, because circuits are growing away from the middle node and becoming
+longer).
 
 If the histogram is used, it has an additional special "infinity" bin that
 means "infinite delay".
@@ -128,54 +143,39 @@ When an event causes a transition to a state (or back to 
the same state), a
 delay is sampled from the histogram or delay distribution, and padding cell is
 scheduled to be sent after that delay.
 
-If a non-padding cell is sent before the timer, the timer is cancelled and a
+If a non-padding cell is sent before the timer, the timer is canceled and a
 new padding delay is chosen.
 
 3.1.1. Histogram Specification
 
 If a histogram is used by a state (as opposed to a fixed parameterized
 distribution), then each of the histograms' fields represent a probability
-distribution that is expanded into bins representing time periods a[i]..b[i]
-as follows:
+distribution that is encoded into bins of exponentially increasing width.
+
+The first bin of the histogram (bin 0) has 0 width, with a delay value of
+start_usec+rtt_estimate (from the machine definition, and rtt estimate above).
 
-start_usec,max_sec,histogram_len initialized from appropriate histogram
-body.
+The bin before the "infinity bin" has a time value of
+start_usec+rtt_estimate+range_sec*USEC_PER_SEC.
 
-n = histogram_len-1
-INFINITY_BIN = n
+The bins between these two points are exponentially spaced, so that smaller
+bin indexes represent narrower time ranges, doubling up until the last bin
+range of [(start_usec+rtt_estimate+range_sec*USEC_PER_SEC)/2,
+start_usec+rtt_estimate+range_sec*USEC_PER_SEC).
 
-a[0] = start_usec;
-b[0] = start_usec + max_sec*USEC_PER_SEC/2^(n-1);
-for(i=1; i < n; i++) {
-  a[i] = start_usec + max_sec*USEC_PER_SEC/2^(n-i)
-  b[i] = start_usec + max_sec*USEC_PER_SEC/2^(n-i-1)
-}
+This exponentially increasing bin width allows the histograms to most
+accurately represent small interpacket delay (where accuracy is needed), and
+devote less accuracy to larger timescales (where accuracy is not as
+important).
 
 To sample the delay time to send a padding packet, perform the
 following:
-
-  i = 0;
-  curr_weight = histogram[0];
-
-  tot_weight = sum(histogram);
-  bin_choice = crypto_rand_int(tot_weight);
-
-  while (curr_weight < bin_choice) {
-curr_weight += histogram[i];
-i++;
-  }
-
-  if (i == INFINITY_BIN)
-return; // Don't send a padding packet
-
-  // Sample uniformly between a[i] and b[i]
-  

[tor-commits] [torspec/master] Update Proposal #254 with latest circuit padding plans.

2018-11-06 Thread nickm
commit 3fed83a38d9d85cab6d0437184f3b8909ca0266b
Author: Mike Perry 
Date:   Mon Oct 29 19:45:58 2018 +

Update Proposal #254 with latest circuit padding plans.
---
 proposals/254-padding-negotiation.txt | 620 ++
 1 file changed, 181 insertions(+), 439 deletions(-)

diff --git a/proposals/254-padding-negotiation.txt 
b/proposals/254-padding-negotiation.txt
index ca5ad14..3b2c883 100644
--- a/proposals/254-padding-negotiation.txt
+++ b/proposals/254-padding-negotiation.txt
@@ -71,331 +71,65 @@ the circuit.
 
 3. End-to-end circuit padding
 
-For circuit-level padding, we need two types of additional features: the
-ability to schedule additional incoming cells at one or more fixed
-points in the future, and the ability to schedule a statistical
+For circuit-level padding, we need the ability to schedule a statistical
 distribution of arbitrary padding to overlay on top of non-padding
 traffic (aka "Adaptive Padding").
 
-In both cases, these messages will be sent from clients to middle nodes
-using the "leaky pipe" property of the 'recognized' field of RELAY
-cells, allowing padding to originate from middle nodes on a circuit in a
-way that is not detectable from the Guard node.
+The statistical mechanisms that define padding are known as padding
+machines. Padding machines can be hardcoded in Tor, specified in the
+consensus, and custom research machines can be listed in Torrc.
 
-This same mechanism can also be used to request padding from the Guard
-node itself, to achieve link-level padding without the additional
-overhead requirements on middle nodes.
+3.1. Padding Machines
 
-3.1. Fixed-schedule padding message (RELAY_COMMAND_PADDING_SCHEDULE)
+Circuits can have either one or two state machines at both the origin and at a
+specified middle hop.
 
-The fixed schedule padding will be encoded in a
-RELAY_COMMAND_PADDING_SCHEDULE cell. It specifies a set of up to 80
-fixed time points in the future to send cells.
+Each state machine can contain up to three states ("Start", "Burst" and
+"Gap") governing their behavior. Not all states need to be used.
 
-XXX: 80 timers is a lot to allow every client to create. We may want to
-have something that checks this structure to ensure it actually
-schedules no more than N in practice, until we figure out how to
-optimize either libevent or timer scheduling/packet delivery. See also
-Section 4.3.
+Each state of a padding machine specifies either:
+  * A histogram describing inter-arrival cell delays; OR
+  * A parameterized distribution for inter-arrival cell delays
 
-The RELAY_COMMAND_PADDING_SCHEDULE body is specified in Trunnel as
-follows:
+In either case, the lower bound of the delay distribution can be specified as
+a parameter, or it can be learned by measuring the RTT of the circuit.
 
-struct relay_padding_schedule {
-   u8 schedule_length IN [1..80];
+If the histogram is used, it has an additional special "infinity" bin that
+means "infinite delay".
 
-   /* Number of microseconds before sending cells (cumulative) */
-   u32 when_send[schedule_length];
-
-   /* Number of cells to send at time point sum(when_send[0..i]) */
-   u16 num_cells[schedule_length];
-
-   /* Adaptivity: If 1, and server-originating cells arrive before the
-  next when_send time, then decrement the next non-zero when_send
-  index, so we don't send a padding cell then, too */
-   u8 adaptive IN [0,1];
-};
-
-To allow both high-resolution time values, and the ability to specify
-timeout values far in the future, the time values are cumulative. In
-other words, sending a cell with when_send = [MAX_INT, MAX_INT, MAX_INT,
-0...] and num_cells = [0, 0, 100, 0...] would cause the relay to reply
-with 100 cells in 3*MAX_INT microseconds from the receipt of this cell.
-
-This scheduled padding is non-periodic. For any forms of periodic
-padding, implementations should use the RELAY_COMMAND_PADDING_ADAPTIVE
-cell from Section 3.2 instead.
-
-3.2. Adaptive Padding message (RELAY_COMMAND_PADDING_ADAPTIVE)
-
-The following message is a generalization of the Adaptive Padding
-defense specified in "Timing Attacks and Defenses"[2].
-
-The message encodes either one or two state machines, each of which can
-contain one or two histograms ("Burst" and "Gap") governing their
-behavior.
-
-The "Burst" histogram specifies the delay probabilities for sending a
-padding packet after the arrival of a non-padding data packet.
-
-The "Gap" histogram specifies the delay probabilities for sending
-another padding packet after a padding packet was just sent from this
-node. This self-triggering property of the "Gap" histogram allows the
-construction of multi-packet padding trains using a simple statistical
-distribution.
-
-Both "Gap" and "Burst" histograms each have a special "Infinity" bin,
-which means "We have decided not to send a packet".
-
-Each histogram is combined with state transition information, which

[tor-commits] [torspec/master] Prop 254: Describe token generation more clearly

2018-11-06 Thread nickm
commit acd4a89c1c81d0de37c57313e31ffca7413ae511
Author: Mike Perry 
Date:   Mon Nov 5 23:17:14 2018 +

Prop 254: Describe token generation more clearly

I hope...
---
 proposals/254-padding-negotiation.txt | 15 ---
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/proposals/254-padding-negotiation.txt 
b/proposals/254-padding-negotiation.txt
index d950446..f166d5f 100644
--- a/proposals/254-padding-negotiation.txt
+++ b/proposals/254-padding-negotiation.txt
@@ -155,13 +155,14 @@ distribution that is encoded into bins of exponentially 
increasing width.
 The first bin of the histogram (bin 0) has 0 width, with a delay value of
 start_usec+rtt_estimate (from the machine definition, and rtt estimate above).
 
-The bin before the "infinity bin" has a time value of
-start_usec+rtt_estimate+range_sec*USEC_PER_SEC.
-
-The bins between these two points are exponentially spaced, so that smaller
-bin indexes represent narrower time ranges, doubling up until the last bin
-range of [(start_usec+rtt_estimate+range_sec*USEC_PER_SEC)/2,
-start_usec+rtt_estimate+range_sec*USEC_PER_SEC).
+The remaining bins are exponentially spaced, starting at this offset and
+covering the range of the histogram, which is range_sec*USEC_PER_SEC.
+
+The intermediate bins thus divide the timespan range_sec*USEC_PER_SEC with
+offset start_usec+rtt_estimate, so that smaller bin indexes represent narrower
+time ranges, doubling up until the last bin. The last bin before the "infinity
+bin" thus covers [start_usec+rtt_estimate+range_sec*USEC_PER_SEC/2,
+CIRCPAD_DELAY_INFINITE).
 
 This exponentially increasing bin width allows the histograms to most
 accurately represent small interpacket delay (where accuracy is needed), and



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


[tor-commits] [torspec/master] fixup! Update Proposal #254 with latest circuit padding plans.

2018-11-06 Thread nickm
commit a697137e91ed319eae0ef8155c919249b1b75e86
Author: Mike Perry 
Date:   Mon Oct 29 21:20:16 2018 +

fixup! Update Proposal #254 with latest circuit padding plans.

Update padding consensus param limits.
---
 proposals/254-padding-negotiation.txt | 22 --
 1 file changed, 8 insertions(+), 14 deletions(-)

diff --git a/proposals/254-padding-negotiation.txt 
b/proposals/254-padding-negotiation.txt
index 3b2c883..94d8287 100644
--- a/proposals/254-padding-negotiation.txt
+++ b/proposals/254-padding-negotiation.txt
@@ -305,21 +305,15 @@ We recommend that three consensus parameters be used in 
the event that
 the network is being overloaded from padding to such a degree that
 padding requests should be ignored:
 
-  * circpad_max_machine_padding_pct
-- The maximum ratio of sent padding traffic to sent non-padding traffic
-  (expressed as a percent) to allow on a padding machine before ceasing
-  to pad. Ex: 75 means 75 padding packets for every 100
-  non-padding+padding packets. This definition is consistent with the
-  overhead values in Proposal #265.
-  * circpad_machine_allowed_cells
+  * circpad_global_max_padding_pct
+- The maximum percent of sent padding traffic out of total traffic
+  to allow in a tor process before ceasing to pad. Ex: 75 means
+  75 padding packets for every 100 non-padding+padding packets.
+  This definition is consistent with the overhead values in Proposal
+  #265, though it does not take node position into account.
+  * circpad_global_allowed_cells
 - The number of padding cells that must be transmitted before the
-  per-machine ratio limit is applied.
-  * circpad_max_global_padding_pct
-- The maximum ratio of sent padding traffic to sent non-padding traffic
-  (expressed as a percent) to allow globally at a client or relay
-  before ceasing to pad. Ex: 75 means 75 padding packets for every 100
-  non-padding+padding packets. This definition is consistent with the
-  overhead values in Proposal #265.
+  global ratio limit is applied.
 
 Additionally, each machine can specify its own per-machine limits for
 the allowed cell counters and padding overhead percentages.



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


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

2018-11-06 Thread nickm
commit ba28704b296b1036151e4bfa97e7091d7639a573
Merge: bb9044381 c60f3ea60
Author: Nick Mathewson 
Date:   Tue Nov 6 15:22:11 2018 -0500

Merge branch 'maint-0.3.5'

 changes/ticket28113   |  5 +
 contrib/dist/tor.service.in   |  2 +-
 src/feature/hibernate/hibernate.c | 20 
 3 files changed, 26 insertions(+), 1 deletion(-)

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


[tor-commits] [tor/release-0.3.5] Notify systemd of ShutdownWaitLength

2018-11-06 Thread nickm
commit 0d6d3e1f265609e8e74bf970a5d578300c465617
Author: Alex Xu (Hello71) 
Date:   Thu Oct 18 19:54:49 2018 -0400

Notify systemd of ShutdownWaitLength
---
 changes/ticket28113 |  3 +++
 src/or/hibernate.c  | 20 
 2 files changed, 23 insertions(+)

diff --git a/changes/ticket28113 b/changes/ticket28113
new file mode 100644
index 0..2585514b8
--- /dev/null
+++ b/changes/ticket28113
@@ -0,0 +1,3 @@
+  o Minor bugfixes (relay shutdown, systemd):
+- Notify systemd of ShutdownWaitLength so it can be set to longer than
+  systemd's TimeoutStopSec. Fixes bug 28113; bugfix on 0.2.6.2-alpha.
diff --git a/src/or/hibernate.c b/src/or/hibernate.c
index e3c80b5f1..a59d52f3d 100644
--- a/src/or/hibernate.c
+++ b/src/or/hibernate.c
@@ -837,6 +837,26 @@ hibernate_begin(hibernate_state_t new_state, time_t now)
"connections, and will shut down in %d seconds. Interrupt "
"again to exit now.", options->ShutdownWaitLength);
 shutdown_time = time(NULL) + options->ShutdownWaitLength;
+#ifdef HAVE_SYSTEMD
+/* tell systemd that we may need more than the default 90 seconds to shut
+ * down so they don't kill us. add some extra time to actually finish
+ * shutting down, otherwise systemd will kill us immediately after the
+ * EXTEND_TIMEOUT_USEC expires. this is an *upper* limit; tor will probably
+ * only take one or two more seconds, but assume that maybe we got swapped
+ * out and it takes a little while longer.
+ *
+ * as of writing, this is a no-op with all-defaults: ShutdownWaitLength is
+ * 30 seconds, so this will extend the timeout to 60 seconds.
+ * default systemd DefaultTimeoutStopSec is 90 seconds, so systemd will
+ * wait (up to) 90 seconds anyways.
+ *
+ * 2^31 usec = ~2147 sec = ~35 min. probably nobody will actually set
+ * ShutdownWaitLength to more than that, but use a longer type so we don't
+ * need to think about UB on overflow
+ */
+sd_notifyf(0, "EXTEND_TIMEOUT_USEC=%" PRIu64,
+((uint64_t)(options->ShutdownWaitLength) + 30) * TOR_USEC_PER_SEC);
+#endif
   } else { /* soft limit reached */
 hibernate_end_time = interval_end_time;
   }



___
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/474' into maint-0.3.5

2018-11-06 Thread nickm
commit c60f3ea6077451facf2335b7a7c4bc9eaf13c038
Merge: 8a5590eba bd0e38dcf
Author: Nick Mathewson 
Date:   Tue Nov 6 15:21:45 2018 -0500

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

 changes/ticket28113   |  5 +
 contrib/dist/tor.service.in   |  2 +-
 src/feature/hibernate/hibernate.c | 20 
 3 files changed, 26 insertions(+), 1 deletion(-)

diff --cc src/feature/hibernate/hibernate.c
index 02b05ca3a,0..4c46c4fe2
mode 100644,00..100644
--- a/src/feature/hibernate/hibernate.c
+++ b/src/feature/hibernate/hibernate.c
@@@ -1,1235 -1,0 +1,1255 @@@
 +/* Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
 + * Copyright (c) 2007-2018, The Tor Project, Inc. */
 +/* See LICENSE for licensing information */
 +
 +/**
 + * \file hibernate.c
 + * \brief Functions to close listeners, stop allowing new circuits,
 + * etc in preparation for closing down or going dormant; and to track
 + * bandwidth and time intervals to know when to hibernate and when to
 + * stop hibernating.
 + *
 + * Ordinarily a Tor relay is "Live".
 + *
 + * A live relay can stop accepting connections for one of two reasons: either
 + * it is trying to conserve bandwidth because of bandwidth accounting rules
 + * ("soft hibernation"), or it is about to shut down ("exiting").
 + **/
 +
 +/*
 +hibernating, phase 1:
 +  - send destroy in response to create cells
 +  - send end (policy failed) in response to begin cells
 +  - close an OR conn when it has no circuits
 +
 +hibernating, phase 2:
 +  (entered when bandwidth hard limit reached)
 +  - close all OR/AP/exit conns)
 +*/
 +
 +#define HIBERNATE_PRIVATE
 +#include "core/or/or.h"
 +#include "core/or/channel.h"
 +#include "core/or/channeltls.h"
 +#include "app/config/config.h"
 +#include "core/mainloop/connection.h"
 +#include "core/or/connection_edge.h"
 +#include "core/or/connection_or.h"
 +#include "feature/control/control.h"
 +#include "lib/crypt_ops/crypto_rand.h"
 +#include "feature/hibernate/hibernate.h"
 +#include "core/mainloop/mainloop.h"
 +#include "feature/relay/router.h"
 +#include "app/config/statefile.h"
 +#include "lib/evloop/compat_libevent.h"
 +
 +#include "core/or/or_connection_st.h"
 +#include "app/config/or_state_st.h"
 +
 +#ifdef HAVE_UNISTD_H
 +#include 
 +#endif
 +
 +/** Are we currently awake, asleep, running out of bandwidth, or shutting
 + * down? */
 +static hibernate_state_t hibernate_state = HIBERNATE_STATE_INITIAL;
 +/** If are hibernating, when do we plan to wake up? Set to 0 if we
 + * aren't hibernating. */
 +static time_t hibernate_end_time = 0;
 +/** If we are shutting down, when do we plan finally exit? Set to 0 if
 + * we aren't shutting down. */
 +static time_t shutdown_time = 0;
 +
 +/** A timed event that we'll use when it's time to wake up from
 + * hibernation. */
 +static mainloop_event_t *wakeup_event = NULL;
 +
 +/** Possible accounting periods. */
 +typedef enum {
 +  UNIT_MONTH=1, UNIT_WEEK=2, UNIT_DAY=3,
 +} time_unit_t;
 +
 +/*
 + * @file hibernate.c
 + *
 + * Accounting
 + * Accounting is designed to ensure that no more than N bytes are sent in
 + * either direction over a given interval (currently, one month, one week, or
 + * one day) We could
 + * try to do this by choking our bandwidth to a trickle, but that
 + * would make our streams useless.  Instead, we estimate what our
 + * bandwidth usage will be, and guess how long we'll be able to
 + * provide that much bandwidth before hitting our limit.  We then
 + * choose a random time within the accounting interval to come up (so
 + * that we don't get 50 Tors running on the 1st of the month and none
 + * on the 30th).
 + *
 + * Each interval runs as follows:
 + *
 + * 
 + * We guess our bandwidth usage, based on how much we used
 + * last time.  We choose a "wakeup time" within the interval to come up.
 + * Until the chosen wakeup time, we hibernate.
 + *  We come up at the wakeup time, and provide bandwidth until we are
 + *"very close" to running out.
 + *  Then we go into low-bandwidth mode, and stop accepting new
 + *connections, but provide bandwidth until we run out.
 + *  Then we hibernate until the end of the interval.
 + *
 + * If the interval ends before we run out of bandwidth, we go back to
 + * step one.
 + *
 + * Accounting is controlled by the AccountingMax, AccountingRule, and
 + * AccountingStart options.
 + */
 +
 +/** How many bytes have we read in this accounting interval? */
 +static uint64_t n_bytes_read_in_interval = 0;
 +/** How many bytes have we written in this accounting interval? */
 +static uint64_t n_bytes_written_in_interval = 0;
 +/** How many seconds have we been running this interval? */
 +static uint32_t n_seconds_active_in_interval = 0;
 +/** How many seconds were we active in this interval before we hit our soft
 + * limit? */
 +static int n_seconds_to_hit_soft_limit = 0;
 +/** When in this interval was the soft limit hit. */
 +static time_t soft_limit_hit_at = 0;
 

[tor-commits] [tor/master] systemd: allow tor some time to shut down after ShutdownWaitLength expires

2018-11-06 Thread nickm
commit bd0e38dcfeb63303af83069e4e1e4c70982c56d7
Author: teor 
Date:   Mon Nov 5 11:23:55 2018 +1000

systemd: allow tor some time to shut down after ShutdownWaitLength expires

This commit upstreams the Debian package setting of 60 seconds for
TimeoutStopSec, but applies it to startup and shutdown.

Part of 28113.
---
 changes/ticket28113 | 4 +++-
 contrib/dist/tor.service.in | 2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/changes/ticket28113 b/changes/ticket28113
index 2585514b8..30dd825a9 100644
--- a/changes/ticket28113
+++ b/changes/ticket28113
@@ -1,3 +1,5 @@
   o Minor bugfixes (relay shutdown, systemd):
 - Notify systemd of ShutdownWaitLength so it can be set to longer than
-  systemd's TimeoutStopSec. Fixes bug 28113; bugfix on 0.2.6.2-alpha.
+  systemd's TimeoutStopSec. In tor's systemd service file, set
+  TimeoutSec to 60 seconds, to allow tor some time to shut down.
+  Fixes bug 28113; bugfix on 0.2.6.2-alpha.
diff --git a/contrib/dist/tor.service.in b/contrib/dist/tor.service.in
index 9c1a255b2..e857a8664 100644
--- a/contrib/dist/tor.service.in
+++ b/contrib/dist/tor.service.in
@@ -15,7 +15,7 @@ ExecStartPre=@BINDIR@/tor -f @CONFDIR@/torrc --verify-config
 ExecStart=@BINDIR@/tor -f @CONFDIR@/torrc
 ExecReload=/bin/kill -HUP ${MAINPID}
 KillSignal=SIGINT
-TimeoutSec=30
+TimeoutSec=60
 Restart=on-failure
 WatchdogSec=1m
 LimitNOFILE=32768



___
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] systemd: allow tor some time to shut down after ShutdownWaitLength expires

2018-11-06 Thread nickm
commit bd0e38dcfeb63303af83069e4e1e4c70982c56d7
Author: teor 
Date:   Mon Nov 5 11:23:55 2018 +1000

systemd: allow tor some time to shut down after ShutdownWaitLength expires

This commit upstreams the Debian package setting of 60 seconds for
TimeoutStopSec, but applies it to startup and shutdown.

Part of 28113.
---
 changes/ticket28113 | 4 +++-
 contrib/dist/tor.service.in | 2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/changes/ticket28113 b/changes/ticket28113
index 2585514b8..30dd825a9 100644
--- a/changes/ticket28113
+++ b/changes/ticket28113
@@ -1,3 +1,5 @@
   o Minor bugfixes (relay shutdown, systemd):
 - Notify systemd of ShutdownWaitLength so it can be set to longer than
-  systemd's TimeoutStopSec. Fixes bug 28113; bugfix on 0.2.6.2-alpha.
+  systemd's TimeoutStopSec. In tor's systemd service file, set
+  TimeoutSec to 60 seconds, to allow tor some time to shut down.
+  Fixes bug 28113; bugfix on 0.2.6.2-alpha.
diff --git a/contrib/dist/tor.service.in b/contrib/dist/tor.service.in
index 9c1a255b2..e857a8664 100644
--- a/contrib/dist/tor.service.in
+++ b/contrib/dist/tor.service.in
@@ -15,7 +15,7 @@ ExecStartPre=@BINDIR@/tor -f @CONFDIR@/torrc --verify-config
 ExecStart=@BINDIR@/tor -f @CONFDIR@/torrc
 ExecReload=/bin/kill -HUP ${MAINPID}
 KillSignal=SIGINT
-TimeoutSec=30
+TimeoutSec=60
 Restart=on-failure
 WatchdogSec=1m
 LimitNOFILE=32768



___
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/474' into maint-0.3.5

2018-11-06 Thread nickm
commit c60f3ea6077451facf2335b7a7c4bc9eaf13c038
Merge: 8a5590eba bd0e38dcf
Author: Nick Mathewson 
Date:   Tue Nov 6 15:21:45 2018 -0500

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

 changes/ticket28113   |  5 +
 contrib/dist/tor.service.in   |  2 +-
 src/feature/hibernate/hibernate.c | 20 
 3 files changed, 26 insertions(+), 1 deletion(-)

diff --cc src/feature/hibernate/hibernate.c
index 02b05ca3a,0..4c46c4fe2
mode 100644,00..100644
--- a/src/feature/hibernate/hibernate.c
+++ b/src/feature/hibernate/hibernate.c
@@@ -1,1235 -1,0 +1,1255 @@@
 +/* Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
 + * Copyright (c) 2007-2018, The Tor Project, Inc. */
 +/* See LICENSE for licensing information */
 +
 +/**
 + * \file hibernate.c
 + * \brief Functions to close listeners, stop allowing new circuits,
 + * etc in preparation for closing down or going dormant; and to track
 + * bandwidth and time intervals to know when to hibernate and when to
 + * stop hibernating.
 + *
 + * Ordinarily a Tor relay is "Live".
 + *
 + * A live relay can stop accepting connections for one of two reasons: either
 + * it is trying to conserve bandwidth because of bandwidth accounting rules
 + * ("soft hibernation"), or it is about to shut down ("exiting").
 + **/
 +
 +/*
 +hibernating, phase 1:
 +  - send destroy in response to create cells
 +  - send end (policy failed) in response to begin cells
 +  - close an OR conn when it has no circuits
 +
 +hibernating, phase 2:
 +  (entered when bandwidth hard limit reached)
 +  - close all OR/AP/exit conns)
 +*/
 +
 +#define HIBERNATE_PRIVATE
 +#include "core/or/or.h"
 +#include "core/or/channel.h"
 +#include "core/or/channeltls.h"
 +#include "app/config/config.h"
 +#include "core/mainloop/connection.h"
 +#include "core/or/connection_edge.h"
 +#include "core/or/connection_or.h"
 +#include "feature/control/control.h"
 +#include "lib/crypt_ops/crypto_rand.h"
 +#include "feature/hibernate/hibernate.h"
 +#include "core/mainloop/mainloop.h"
 +#include "feature/relay/router.h"
 +#include "app/config/statefile.h"
 +#include "lib/evloop/compat_libevent.h"
 +
 +#include "core/or/or_connection_st.h"
 +#include "app/config/or_state_st.h"
 +
 +#ifdef HAVE_UNISTD_H
 +#include 
 +#endif
 +
 +/** Are we currently awake, asleep, running out of bandwidth, or shutting
 + * down? */
 +static hibernate_state_t hibernate_state = HIBERNATE_STATE_INITIAL;
 +/** If are hibernating, when do we plan to wake up? Set to 0 if we
 + * aren't hibernating. */
 +static time_t hibernate_end_time = 0;
 +/** If we are shutting down, when do we plan finally exit? Set to 0 if
 + * we aren't shutting down. */
 +static time_t shutdown_time = 0;
 +
 +/** A timed event that we'll use when it's time to wake up from
 + * hibernation. */
 +static mainloop_event_t *wakeup_event = NULL;
 +
 +/** Possible accounting periods. */
 +typedef enum {
 +  UNIT_MONTH=1, UNIT_WEEK=2, UNIT_DAY=3,
 +} time_unit_t;
 +
 +/*
 + * @file hibernate.c
 + *
 + * Accounting
 + * Accounting is designed to ensure that no more than N bytes are sent in
 + * either direction over a given interval (currently, one month, one week, or
 + * one day) We could
 + * try to do this by choking our bandwidth to a trickle, but that
 + * would make our streams useless.  Instead, we estimate what our
 + * bandwidth usage will be, and guess how long we'll be able to
 + * provide that much bandwidth before hitting our limit.  We then
 + * choose a random time within the accounting interval to come up (so
 + * that we don't get 50 Tors running on the 1st of the month and none
 + * on the 30th).
 + *
 + * Each interval runs as follows:
 + *
 + * 
 + * We guess our bandwidth usage, based on how much we used
 + * last time.  We choose a "wakeup time" within the interval to come up.
 + * Until the chosen wakeup time, we hibernate.
 + *  We come up at the wakeup time, and provide bandwidth until we are
 + *"very close" to running out.
 + *  Then we go into low-bandwidth mode, and stop accepting new
 + *connections, but provide bandwidth until we run out.
 + *  Then we hibernate until the end of the interval.
 + *
 + * If the interval ends before we run out of bandwidth, we go back to
 + * step one.
 + *
 + * Accounting is controlled by the AccountingMax, AccountingRule, and
 + * AccountingStart options.
 + */
 +
 +/** How many bytes have we read in this accounting interval? */
 +static uint64_t n_bytes_read_in_interval = 0;
 +/** How many bytes have we written in this accounting interval? */
 +static uint64_t n_bytes_written_in_interval = 0;
 +/** How many seconds have we been running this interval? */
 +static uint32_t n_seconds_active_in_interval = 0;
 +/** How many seconds were we active in this interval before we hit our soft
 + * limit? */
 +static int n_seconds_to_hit_soft_limit = 0;
 +/** When in this interval was the soft limit hit. */
 +static time_t soft_limit_hit_at = 0;
 

[tor-commits] [tor/master] Notify systemd of ShutdownWaitLength

2018-11-06 Thread nickm
commit 0d6d3e1f265609e8e74bf970a5d578300c465617
Author: Alex Xu (Hello71) 
Date:   Thu Oct 18 19:54:49 2018 -0400

Notify systemd of ShutdownWaitLength
---
 changes/ticket28113 |  3 +++
 src/or/hibernate.c  | 20 
 2 files changed, 23 insertions(+)

diff --git a/changes/ticket28113 b/changes/ticket28113
new file mode 100644
index 0..2585514b8
--- /dev/null
+++ b/changes/ticket28113
@@ -0,0 +1,3 @@
+  o Minor bugfixes (relay shutdown, systemd):
+- Notify systemd of ShutdownWaitLength so it can be set to longer than
+  systemd's TimeoutStopSec. Fixes bug 28113; bugfix on 0.2.6.2-alpha.
diff --git a/src/or/hibernate.c b/src/or/hibernate.c
index e3c80b5f1..a59d52f3d 100644
--- a/src/or/hibernate.c
+++ b/src/or/hibernate.c
@@ -837,6 +837,26 @@ hibernate_begin(hibernate_state_t new_state, time_t now)
"connections, and will shut down in %d seconds. Interrupt "
"again to exit now.", options->ShutdownWaitLength);
 shutdown_time = time(NULL) + options->ShutdownWaitLength;
+#ifdef HAVE_SYSTEMD
+/* tell systemd that we may need more than the default 90 seconds to shut
+ * down so they don't kill us. add some extra time to actually finish
+ * shutting down, otherwise systemd will kill us immediately after the
+ * EXTEND_TIMEOUT_USEC expires. this is an *upper* limit; tor will probably
+ * only take one or two more seconds, but assume that maybe we got swapped
+ * out and it takes a little while longer.
+ *
+ * as of writing, this is a no-op with all-defaults: ShutdownWaitLength is
+ * 30 seconds, so this will extend the timeout to 60 seconds.
+ * default systemd DefaultTimeoutStopSec is 90 seconds, so systemd will
+ * wait (up to) 90 seconds anyways.
+ *
+ * 2^31 usec = ~2147 sec = ~35 min. probably nobody will actually set
+ * ShutdownWaitLength to more than that, but use a longer type so we don't
+ * need to think about UB on overflow
+ */
+sd_notifyf(0, "EXTEND_TIMEOUT_USEC=%" PRIu64,
+((uint64_t)(options->ShutdownWaitLength) + 30) * TOR_USEC_PER_SEC);
+#endif
   } else { /* soft limit reached */
 hibernate_end_time = interval_end_time;
   }



___
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] Notify systemd of ShutdownWaitLength

2018-11-06 Thread nickm
commit 0d6d3e1f265609e8e74bf970a5d578300c465617
Author: Alex Xu (Hello71) 
Date:   Thu Oct 18 19:54:49 2018 -0400

Notify systemd of ShutdownWaitLength
---
 changes/ticket28113 |  3 +++
 src/or/hibernate.c  | 20 
 2 files changed, 23 insertions(+)

diff --git a/changes/ticket28113 b/changes/ticket28113
new file mode 100644
index 0..2585514b8
--- /dev/null
+++ b/changes/ticket28113
@@ -0,0 +1,3 @@
+  o Minor bugfixes (relay shutdown, systemd):
+- Notify systemd of ShutdownWaitLength so it can be set to longer than
+  systemd's TimeoutStopSec. Fixes bug 28113; bugfix on 0.2.6.2-alpha.
diff --git a/src/or/hibernate.c b/src/or/hibernate.c
index e3c80b5f1..a59d52f3d 100644
--- a/src/or/hibernate.c
+++ b/src/or/hibernate.c
@@ -837,6 +837,26 @@ hibernate_begin(hibernate_state_t new_state, time_t now)
"connections, and will shut down in %d seconds. Interrupt "
"again to exit now.", options->ShutdownWaitLength);
 shutdown_time = time(NULL) + options->ShutdownWaitLength;
+#ifdef HAVE_SYSTEMD
+/* tell systemd that we may need more than the default 90 seconds to shut
+ * down so they don't kill us. add some extra time to actually finish
+ * shutting down, otherwise systemd will kill us immediately after the
+ * EXTEND_TIMEOUT_USEC expires. this is an *upper* limit; tor will probably
+ * only take one or two more seconds, but assume that maybe we got swapped
+ * out and it takes a little while longer.
+ *
+ * as of writing, this is a no-op with all-defaults: ShutdownWaitLength is
+ * 30 seconds, so this will extend the timeout to 60 seconds.
+ * default systemd DefaultTimeoutStopSec is 90 seconds, so systemd will
+ * wait (up to) 90 seconds anyways.
+ *
+ * 2^31 usec = ~2147 sec = ~35 min. probably nobody will actually set
+ * ShutdownWaitLength to more than that, but use a longer type so we don't
+ * need to think about UB on overflow
+ */
+sd_notifyf(0, "EXTEND_TIMEOUT_USEC=%" PRIu64,
+((uint64_t)(options->ShutdownWaitLength) + 30) * TOR_USEC_PER_SEC);
+#endif
   } else { /* soft limit reached */
 hibernate_end_time = interval_end_time;
   }



___
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] systemd: allow tor some time to shut down after ShutdownWaitLength expires

2018-11-06 Thread nickm
commit bd0e38dcfeb63303af83069e4e1e4c70982c56d7
Author: teor 
Date:   Mon Nov 5 11:23:55 2018 +1000

systemd: allow tor some time to shut down after ShutdownWaitLength expires

This commit upstreams the Debian package setting of 60 seconds for
TimeoutStopSec, but applies it to startup and shutdown.

Part of 28113.
---
 changes/ticket28113 | 4 +++-
 contrib/dist/tor.service.in | 2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/changes/ticket28113 b/changes/ticket28113
index 2585514b8..30dd825a9 100644
--- a/changes/ticket28113
+++ b/changes/ticket28113
@@ -1,3 +1,5 @@
   o Minor bugfixes (relay shutdown, systemd):
 - Notify systemd of ShutdownWaitLength so it can be set to longer than
-  systemd's TimeoutStopSec. Fixes bug 28113; bugfix on 0.2.6.2-alpha.
+  systemd's TimeoutStopSec. In tor's systemd service file, set
+  TimeoutSec to 60 seconds, to allow tor some time to shut down.
+  Fixes bug 28113; bugfix on 0.2.6.2-alpha.
diff --git a/contrib/dist/tor.service.in b/contrib/dist/tor.service.in
index 9c1a255b2..e857a8664 100644
--- a/contrib/dist/tor.service.in
+++ b/contrib/dist/tor.service.in
@@ -15,7 +15,7 @@ ExecStartPre=@BINDIR@/tor -f @CONFDIR@/torrc --verify-config
 ExecStart=@BINDIR@/tor -f @CONFDIR@/torrc
 ExecReload=/bin/kill -HUP ${MAINPID}
 KillSignal=SIGINT
-TimeoutSec=30
+TimeoutSec=60
 Restart=on-failure
 WatchdogSec=1m
 LimitNOFILE=32768



___
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/474' into maint-0.3.5

2018-11-06 Thread nickm
commit c60f3ea6077451facf2335b7a7c4bc9eaf13c038
Merge: 8a5590eba bd0e38dcf
Author: Nick Mathewson 
Date:   Tue Nov 6 15:21:45 2018 -0500

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

 changes/ticket28113   |  5 +
 contrib/dist/tor.service.in   |  2 +-
 src/feature/hibernate/hibernate.c | 20 
 3 files changed, 26 insertions(+), 1 deletion(-)

diff --cc src/feature/hibernate/hibernate.c
index 02b05ca3a,0..4c46c4fe2
mode 100644,00..100644
--- a/src/feature/hibernate/hibernate.c
+++ b/src/feature/hibernate/hibernate.c
@@@ -1,1235 -1,0 +1,1255 @@@
 +/* Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
 + * Copyright (c) 2007-2018, The Tor Project, Inc. */
 +/* See LICENSE for licensing information */
 +
 +/**
 + * \file hibernate.c
 + * \brief Functions to close listeners, stop allowing new circuits,
 + * etc in preparation for closing down or going dormant; and to track
 + * bandwidth and time intervals to know when to hibernate and when to
 + * stop hibernating.
 + *
 + * Ordinarily a Tor relay is "Live".
 + *
 + * A live relay can stop accepting connections for one of two reasons: either
 + * it is trying to conserve bandwidth because of bandwidth accounting rules
 + * ("soft hibernation"), or it is about to shut down ("exiting").
 + **/
 +
 +/*
 +hibernating, phase 1:
 +  - send destroy in response to create cells
 +  - send end (policy failed) in response to begin cells
 +  - close an OR conn when it has no circuits
 +
 +hibernating, phase 2:
 +  (entered when bandwidth hard limit reached)
 +  - close all OR/AP/exit conns)
 +*/
 +
 +#define HIBERNATE_PRIVATE
 +#include "core/or/or.h"
 +#include "core/or/channel.h"
 +#include "core/or/channeltls.h"
 +#include "app/config/config.h"
 +#include "core/mainloop/connection.h"
 +#include "core/or/connection_edge.h"
 +#include "core/or/connection_or.h"
 +#include "feature/control/control.h"
 +#include "lib/crypt_ops/crypto_rand.h"
 +#include "feature/hibernate/hibernate.h"
 +#include "core/mainloop/mainloop.h"
 +#include "feature/relay/router.h"
 +#include "app/config/statefile.h"
 +#include "lib/evloop/compat_libevent.h"
 +
 +#include "core/or/or_connection_st.h"
 +#include "app/config/or_state_st.h"
 +
 +#ifdef HAVE_UNISTD_H
 +#include 
 +#endif
 +
 +/** Are we currently awake, asleep, running out of bandwidth, or shutting
 + * down? */
 +static hibernate_state_t hibernate_state = HIBERNATE_STATE_INITIAL;
 +/** If are hibernating, when do we plan to wake up? Set to 0 if we
 + * aren't hibernating. */
 +static time_t hibernate_end_time = 0;
 +/** If we are shutting down, when do we plan finally exit? Set to 0 if
 + * we aren't shutting down. */
 +static time_t shutdown_time = 0;
 +
 +/** A timed event that we'll use when it's time to wake up from
 + * hibernation. */
 +static mainloop_event_t *wakeup_event = NULL;
 +
 +/** Possible accounting periods. */
 +typedef enum {
 +  UNIT_MONTH=1, UNIT_WEEK=2, UNIT_DAY=3,
 +} time_unit_t;
 +
 +/*
 + * @file hibernate.c
 + *
 + * Accounting
 + * Accounting is designed to ensure that no more than N bytes are sent in
 + * either direction over a given interval (currently, one month, one week, or
 + * one day) We could
 + * try to do this by choking our bandwidth to a trickle, but that
 + * would make our streams useless.  Instead, we estimate what our
 + * bandwidth usage will be, and guess how long we'll be able to
 + * provide that much bandwidth before hitting our limit.  We then
 + * choose a random time within the accounting interval to come up (so
 + * that we don't get 50 Tors running on the 1st of the month and none
 + * on the 30th).
 + *
 + * Each interval runs as follows:
 + *
 + * 
 + * We guess our bandwidth usage, based on how much we used
 + * last time.  We choose a "wakeup time" within the interval to come up.
 + * Until the chosen wakeup time, we hibernate.
 + *  We come up at the wakeup time, and provide bandwidth until we are
 + *"very close" to running out.
 + *  Then we go into low-bandwidth mode, and stop accepting new
 + *connections, but provide bandwidth until we run out.
 + *  Then we hibernate until the end of the interval.
 + *
 + * If the interval ends before we run out of bandwidth, we go back to
 + * step one.
 + *
 + * Accounting is controlled by the AccountingMax, AccountingRule, and
 + * AccountingStart options.
 + */
 +
 +/** How many bytes have we read in this accounting interval? */
 +static uint64_t n_bytes_read_in_interval = 0;
 +/** How many bytes have we written in this accounting interval? */
 +static uint64_t n_bytes_written_in_interval = 0;
 +/** How many seconds have we been running this interval? */
 +static uint32_t n_seconds_active_in_interval = 0;
 +/** How many seconds were we active in this interval before we hit our soft
 + * limit? */
 +static int n_seconds_to_hit_soft_limit = 0;
 +/** When in this interval was the soft limit hit. */
 +static time_t soft_limit_hit_at = 0;
 

[tor-commits] [tor/release-0.3.5] refuse to start with relative paths + RunAsDaemon

2018-11-06 Thread nickm
commit 3a2cb83685e03b861abc1ebd54779c1244a26217
Author: Roger Dingledine 
Date:   Sun Nov 4 07:30:46 2018 -0500

refuse to start with relative paths + RunAsDaemon

Resume refusing to start with relative file paths and RunAsDaemon
set (regression from the fix for bug 22731).

Fixes bug 28298; bugfix on 0.3.3.1-alpha.
---
 changes/bug28298 |  4 
 src/or/config.c  | 14 --
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/changes/bug28298 b/changes/bug28298
new file mode 100644
index 0..8db340f3d
--- /dev/null
+++ b/changes/bug28298
@@ -0,0 +1,4 @@
+  o Minor bugfixes (configuration):
+- Resume refusing to start with relative file paths and RunAsDaemon
+  set (regression from the fix for bug 22731). Fixes bug 28298;
+  bugfix on 0.3.3.1-alpha.
diff --git a/src/or/config.c b/src/or/config.c
index 58080c65e..783412acc 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -3307,12 +3307,6 @@ options_validate(or_options_t *old_options, or_options_t 
*options,
* Always use the value of UseEntryGuards, not UseEntryGuards_option. */
   options->UseEntryGuards = options->UseEntryGuards_option;
 
-  if (warn_about_relative_paths(options) && options->RunAsDaemon) {
-REJECT("You have specified at least one relative path (see above) "
-   "with the RunAsDaemon option. RunAsDaemon is not compatible "
-   "with relative paths.");
-  }
-
   if (server_mode(options) &&
   (!strcmpstart(uname, "Windows 95") ||
!strcmpstart(uname, "Windows 98") ||
@@ -3329,6 +3323,14 @@ options_validate(or_options_t *old_options, or_options_t 
*options,
   if (validate_data_directories(options)<0)
 REJECT("Invalid DataDirectory");
 
+  /* need to check for relative paths after we populate
+   * options->DataDirectory (just above). */
+  if (warn_about_relative_paths(options) && options->RunAsDaemon) {
+REJECT("You have specified at least one relative path (see above) "
+   "with the RunAsDaemon option. RunAsDaemon is not compatible "
+   "with relative paths.");
+  }
+
   if (options->Nickname == NULL) {
 if (server_mode(options)) {
   options->Nickname = tor_strdup(UNNAMED_ROUTER_NICKNAME);



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


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

2018-11-06 Thread nickm
commit bb9044381e6e32fab1708c3e9420a4090b2509de
Merge: bcba6a491 8a5590eba
Author: Nick Mathewson 
Date:   Tue Nov 6 15:20:01 2018 -0500

Merge branch 'maint-0.3.5'

 changes/bug28298|  4 
 src/app/config/config.c | 14 --
 2 files changed, 12 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/maint-0.3.5] refuse to start with relative paths + RunAsDaemon

2018-11-06 Thread nickm
commit 3a2cb83685e03b861abc1ebd54779c1244a26217
Author: Roger Dingledine 
Date:   Sun Nov 4 07:30:46 2018 -0500

refuse to start with relative paths + RunAsDaemon

Resume refusing to start with relative file paths and RunAsDaemon
set (regression from the fix for bug 22731).

Fixes bug 28298; bugfix on 0.3.3.1-alpha.
---
 changes/bug28298 |  4 
 src/or/config.c  | 14 --
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/changes/bug28298 b/changes/bug28298
new file mode 100644
index 0..8db340f3d
--- /dev/null
+++ b/changes/bug28298
@@ -0,0 +1,4 @@
+  o Minor bugfixes (configuration):
+- Resume refusing to start with relative file paths and RunAsDaemon
+  set (regression from the fix for bug 22731). Fixes bug 28298;
+  bugfix on 0.3.3.1-alpha.
diff --git a/src/or/config.c b/src/or/config.c
index 58080c65e..783412acc 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -3307,12 +3307,6 @@ options_validate(or_options_t *old_options, or_options_t 
*options,
* Always use the value of UseEntryGuards, not UseEntryGuards_option. */
   options->UseEntryGuards = options->UseEntryGuards_option;
 
-  if (warn_about_relative_paths(options) && options->RunAsDaemon) {
-REJECT("You have specified at least one relative path (see above) "
-   "with the RunAsDaemon option. RunAsDaemon is not compatible "
-   "with relative paths.");
-  }
-
   if (server_mode(options) &&
   (!strcmpstart(uname, "Windows 95") ||
!strcmpstart(uname, "Windows 98") ||
@@ -3329,6 +3323,14 @@ options_validate(or_options_t *old_options, or_options_t 
*options,
   if (validate_data_directories(options)<0)
 REJECT("Invalid DataDirectory");
 
+  /* need to check for relative paths after we populate
+   * options->DataDirectory (just above). */
+  if (warn_about_relative_paths(options) && options->RunAsDaemon) {
+REJECT("You have specified at least one relative path (see above) "
+   "with the RunAsDaemon option. RunAsDaemon is not compatible "
+   "with relative paths.");
+  }
+
   if (options->Nickname == NULL) {
 if (server_mode(options)) {
   options->Nickname = tor_strdup(UNNAMED_ROUTER_NICKNAME);



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


[tor-commits] [tor/master] refuse to start with relative paths + RunAsDaemon

2018-11-06 Thread nickm
commit 3a2cb83685e03b861abc1ebd54779c1244a26217
Author: Roger Dingledine 
Date:   Sun Nov 4 07:30:46 2018 -0500

refuse to start with relative paths + RunAsDaemon

Resume refusing to start with relative file paths and RunAsDaemon
set (regression from the fix for bug 22731).

Fixes bug 28298; bugfix on 0.3.3.1-alpha.
---
 changes/bug28298 |  4 
 src/or/config.c  | 14 --
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/changes/bug28298 b/changes/bug28298
new file mode 100644
index 0..8db340f3d
--- /dev/null
+++ b/changes/bug28298
@@ -0,0 +1,4 @@
+  o Minor bugfixes (configuration):
+- Resume refusing to start with relative file paths and RunAsDaemon
+  set (regression from the fix for bug 22731). Fixes bug 28298;
+  bugfix on 0.3.3.1-alpha.
diff --git a/src/or/config.c b/src/or/config.c
index 58080c65e..783412acc 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -3307,12 +3307,6 @@ options_validate(or_options_t *old_options, or_options_t 
*options,
* Always use the value of UseEntryGuards, not UseEntryGuards_option. */
   options->UseEntryGuards = options->UseEntryGuards_option;
 
-  if (warn_about_relative_paths(options) && options->RunAsDaemon) {
-REJECT("You have specified at least one relative path (see above) "
-   "with the RunAsDaemon option. RunAsDaemon is not compatible "
-   "with relative paths.");
-  }
-
   if (server_mode(options) &&
   (!strcmpstart(uname, "Windows 95") ||
!strcmpstart(uname, "Windows 98") ||
@@ -3329,6 +3323,14 @@ options_validate(or_options_t *old_options, or_options_t 
*options,
   if (validate_data_directories(options)<0)
 REJECT("Invalid DataDirectory");
 
+  /* need to check for relative paths after we populate
+   * options->DataDirectory (just above). */
+  if (warn_about_relative_paths(options) && options->RunAsDaemon) {
+REJECT("You have specified at least one relative path (see above) "
+   "with the RunAsDaemon option. RunAsDaemon is not compatible "
+   "with relative paths.");
+  }
+
   if (options->Nickname == NULL) {
 if (server_mode(options)) {
   options->Nickname = tor_strdup(UNNAMED_ROUTER_NICKNAME);



___
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 a changes file for bug 28303

2018-11-06 Thread nickm
commit 67abf55d6b2d2c10a1e666e0295d40890935f304
Author: Nick Mathewson 
Date:   Tue Nov 6 15:17:19 2018 -0500

Add a changes file for bug 28303
---
 changes/bug28303 | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/changes/bug28303 b/changes/bug28303
new file mode 100644
index 0..80f1302e5
--- /dev/null
+++ b/changes/bug28303
@@ -0,0 +1,3 @@
+  o Minor bugfixes (compilation):
+- Fix a pair of missing headers on OpenBSD. Fixes bug 28303;
+  bugfix on 0.3.5.1-alpha. Patch from  Kris Katterjohn.

___
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] Include sys/time.h in timers.c and time_fmt.c

2018-11-06 Thread nickm
commit daaa2751ed6ea8fe6941b63ea819804d8f0a9fac
Author: Kris Katterjohn 
Date:   Sat Nov 3 14:28:27 2018 -0500

Include sys/time.h in timers.c and time_fmt.c

This fixes compilation on OpenBSD.

Signed-off-by: Kris Katterjohn 
---
 src/lib/encoding/time_fmt.c | 4 
 src/lib/evloop/timers.c | 4 
 2 files changed, 8 insertions(+)

diff --git a/src/lib/encoding/time_fmt.c b/src/lib/encoding/time_fmt.c
index a921fc681..233d0dddf 100644
--- a/src/lib/encoding/time_fmt.c
+++ b/src/lib/encoding/time_fmt.c
@@ -26,6 +26,10 @@
 #include 
 #include 
 
+#ifdef HAVE_SYS_TIME_H
+#include 
+#endif
+
 #ifdef _WIN32
 /* For struct timeval */
 #include 
diff --git a/src/lib/evloop/timers.c b/src/lib/evloop/timers.c
index c4e85c7c9..3603bf1a7 100644
--- a/src/lib/evloop/timers.c
+++ b/src/lib/evloop/timers.c
@@ -39,6 +39,10 @@
 #include "lib/malloc/malloc.h"
 #include "lib/time/compat_time.h"
 
+#ifdef HAVE_SYS_TIME_H
+#include 
+#endif
+
 #ifdef _WIN32
 // For struct timeval.
 #include 



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


[tor-commits] [tor/master] Include sys/time.h in timers.c and time_fmt.c

2018-11-06 Thread nickm
commit daaa2751ed6ea8fe6941b63ea819804d8f0a9fac
Author: Kris Katterjohn 
Date:   Sat Nov 3 14:28:27 2018 -0500

Include sys/time.h in timers.c and time_fmt.c

This fixes compilation on OpenBSD.

Signed-off-by: Kris Katterjohn 
---
 src/lib/encoding/time_fmt.c | 4 
 src/lib/evloop/timers.c | 4 
 2 files changed, 8 insertions(+)

diff --git a/src/lib/encoding/time_fmt.c b/src/lib/encoding/time_fmt.c
index a921fc681..233d0dddf 100644
--- a/src/lib/encoding/time_fmt.c
+++ b/src/lib/encoding/time_fmt.c
@@ -26,6 +26,10 @@
 #include 
 #include 
 
+#ifdef HAVE_SYS_TIME_H
+#include 
+#endif
+
 #ifdef _WIN32
 /* For struct timeval */
 #include 
diff --git a/src/lib/evloop/timers.c b/src/lib/evloop/timers.c
index c4e85c7c9..3603bf1a7 100644
--- a/src/lib/evloop/timers.c
+++ b/src/lib/evloop/timers.c
@@ -39,6 +39,10 @@
 #include "lib/malloc/malloc.h"
 #include "lib/time/compat_time.h"
 
+#ifdef HAVE_SYS_TIME_H
+#include 
+#endif
+
 #ifdef _WIN32
 // For struct timeval.
 #include 



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


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

2018-11-06 Thread nickm
commit bcba6a4918b43863d2ac70833aff6128231d5f22
Merge: 17d8ccefc 67abf55d6
Author: Nick Mathewson 
Date:   Tue Nov 6 15:17:52 2018 -0500

Merge branch 'maint-0.3.5'

 changes/bug28303| 3 +++
 src/lib/encoding/time_fmt.c | 4 
 src/lib/evloop/timers.c | 4 
 3 files changed, 11 insertions(+)

___
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 a changes file for bug 28303

2018-11-06 Thread nickm
commit 67abf55d6b2d2c10a1e666e0295d40890935f304
Author: Nick Mathewson 
Date:   Tue Nov 6 15:17:19 2018 -0500

Add a changes file for bug 28303
---
 changes/bug28303 | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/changes/bug28303 b/changes/bug28303
new file mode 100644
index 0..80f1302e5
--- /dev/null
+++ b/changes/bug28303
@@ -0,0 +1,3 @@
+  o Minor bugfixes (compilation):
+- Fix a pair of missing headers on OpenBSD. Fixes bug 28303;
+  bugfix on 0.3.5.1-alpha. Patch from  Kris Katterjohn.

___
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] Include sys/time.h in timers.c and time_fmt.c

2018-11-06 Thread nickm
commit daaa2751ed6ea8fe6941b63ea819804d8f0a9fac
Author: Kris Katterjohn 
Date:   Sat Nov 3 14:28:27 2018 -0500

Include sys/time.h in timers.c and time_fmt.c

This fixes compilation on OpenBSD.

Signed-off-by: Kris Katterjohn 
---
 src/lib/encoding/time_fmt.c | 4 
 src/lib/evloop/timers.c | 4 
 2 files changed, 8 insertions(+)

diff --git a/src/lib/encoding/time_fmt.c b/src/lib/encoding/time_fmt.c
index a921fc681..233d0dddf 100644
--- a/src/lib/encoding/time_fmt.c
+++ b/src/lib/encoding/time_fmt.c
@@ -26,6 +26,10 @@
 #include 
 #include 
 
+#ifdef HAVE_SYS_TIME_H
+#include 
+#endif
+
 #ifdef _WIN32
 /* For struct timeval */
 #include 
diff --git a/src/lib/evloop/timers.c b/src/lib/evloop/timers.c
index c4e85c7c9..3603bf1a7 100644
--- a/src/lib/evloop/timers.c
+++ b/src/lib/evloop/timers.c
@@ -39,6 +39,10 @@
 #include "lib/malloc/malloc.h"
 #include "lib/time/compat_time.h"
 
+#ifdef HAVE_SYS_TIME_H
+#include 
+#endif
+
 #ifdef _WIN32
 // For struct timeval.
 #include 



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


[tor-commits] [tor/master] Add a changes file for bug 28303

2018-11-06 Thread nickm
commit 67abf55d6b2d2c10a1e666e0295d40890935f304
Author: Nick Mathewson 
Date:   Tue Nov 6 15:17:19 2018 -0500

Add a changes file for bug 28303
---
 changes/bug28303 | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/changes/bug28303 b/changes/bug28303
new file mode 100644
index 0..80f1302e5
--- /dev/null
+++ b/changes/bug28303
@@ -0,0 +1,3 @@
+  o Minor bugfixes (compilation):
+- Fix a pair of missing headers on OpenBSD. Fixes bug 28303;
+  bugfix on 0.3.5.1-alpha. Patch from  Kris Katterjohn.



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


[tor-commits] [webwml/master] Fix spanish index banner

2018-11-06 Thread hiro
commit 468cdb6aee815303a1d726a04f8fb425b8a7d00d
Author: hiro 
Date:   Tue Nov 6 19:54:08 2018 +0100

Fix spanish index banner
---
 es/banner2.wmi |  4 +++-
 es/index.wml   | 42 +-
 2 files changed, 44 insertions(+), 2 deletions(-)

diff --git a/es/banner2.wmi b/es/banner2.wmi
index 3504994b..d21cc17d 100644
--- a/es/banner2.wmi
+++ b/es/banner2.wmi
@@ -1,4 +1,6 @@
-
+x
+
+
   
 
   
diff --git a/es/index.wml b/es/index.wml
index a720b87c..af65d7f0 100644
--- a/es/index.wml
+++ b/es/index.wml
@@ -1,8 +1,48 @@
 ## translation metadata
 # Revision: $Revision$
 # Translation-Priority: 1-high
+
+
+
+
+ 
+ 
+
+   
+   
+   
+   
+   mailto:get...@torproject.org] for 
help downloading Tor Browser.">
+   
+   https://www.torproject.org/images/tor-logo.jpg;>
+{#meta#}
+
+   $(TITLE)
+
+   
+   ">
+   ">
+
+   # begin WML to generate css/js paths
+   ">
+   ">
+
+   #
+   
+   
+   
+   #  
+   # end WML to generate css/js paths
+
+
 #include "banner2.wmi"
-#include "head.wmi" TITLE="Tor Project | Privacy Online" CHARSET="UTF-8"
+#include "head-index.wmi" TITLE="Tor Project | Privacy Online" CHARSET="UTF-8"
 es-ES
 
 

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


[tor-commits] [webwml/master] Add possibility to close banner

2018-11-06 Thread hiro
commit ad3fb42d35538762b7bef40a57a259b1dd175095
Author: hiro 
Date:   Tue Nov 6 19:49:13 2018 +0100

Add possibility to close banner
---
 css/layout.css |  30 +
 css/layout.min.css |  30 +
 en/banner2.wmi |   4 +-
 en/index.wml   |  42 +-
 include/head-index.wmi | 116 +
 5 files changed, 220 insertions(+), 2 deletions(-)

diff --git a/css/layout.css b/css/layout.css
index 3d6453c2..4b18d223 100644
--- a/css/layout.css
+++ b/css/layout.css
@@ -1533,3 +1533,33 @@ mark {
   font-size-adjust: 0.7;
   line-height: 1.5em;
 }
+
+/* Checkbox Hack */
+
+input[type=checkbox] {
+   position: absolute;
+   top: -px;
+   left: -px;
+}
+
+label {
+  -webkit-appearance: push-button;
+  -moz-appearance: button;
+  display: inline-block;
+  cursor: pointer;
+  color: white;
+  float: right;
+  font-weight: bold;
+  padding-right: 5px;
+  padding-top: 5px;
+}
+
+#eoy-banner {
+  visibility: visible;
+}
+
+/* Toggled State */
+input[type=checkbox]:checked ~ div#eoy-banner {
+   visibility: hidden;
+   display: none;
+}
diff --git a/css/layout.min.css b/css/layout.min.css
index 17969bb5..130283a0 100644
--- a/css/layout.min.css
+++ b/css/layout.min.css
@@ -132,3 +132,33 @@ mark {
   font-size-adjust: 0.7;
   line-height: 1.5em;
 }
+
+/* Checkbox Hack */
+
+input[type=checkbox] {
+   position: absolute;
+   top: -px;
+   left: -px;
+}
+
+label {
+  -webkit-appearance: push-button;
+  -moz-appearance: button;
+  display: inline-block;
+  cursor: pointer;
+  color: white;
+  float: right;
+  font-weight: bold;
+  padding-right: 5px;
+  padding-top: 5px;
+}
+
+#eoy-banner {
+  visibility: visible;
+}
+
+/* Toggled State */
+input[type=checkbox]:checked ~ div#eoy-banner {
+   visibility: hidden;
+   display: none;
+}
diff --git a/en/banner2.wmi b/en/banner2.wmi
index 3504994b..d21cc17d 100644
--- a/en/banner2.wmi
+++ b/en/banner2.wmi
@@ -1,4 +1,6 @@
-
+x
+
+
   
 
   
diff --git a/en/index.wml b/en/index.wml
index f99eeed5..73d1e6e0 100644
--- a/en/index.wml
+++ b/en/index.wml
@@ -1,8 +1,48 @@
 ## translation metadata
 # Revision: $Revision$
 # Translation-Priority: 1-high
+
+
+
+
+ 
+ 
+
+   
+   
+   
+   
+   mailto:get...@torproject.org] for 
help downloading Tor Browser.">
+   
+   https://www.torproject.org/images/tor-logo.jpg;>
+{#meta#}
+
+   $(TITLE)
+
+   
+   ">
+   ">
+
+   # begin WML to generate css/js paths
+   ">
+   ">
+
+   #
+   
+   
+   
+   #  
+   # end WML to generate css/js paths
+
+
 #include "banner2.wmi"
-#include "head.wmi" TITLE="Tor Project | Privacy Online" CHARSET="UTF-8"
+#include "head-index.wmi" TITLE="Tor Project | Privacy Online" CHARSET="UTF-8"
 
 

diff --git a/include/head-index.wmi b/include/head-index.wmi
new file mode 100644
index ..e491a844
--- /dev/null
+++ b/include/head-index.wmi
@@ -0,0 +1,116 @@
+#! /usr/bin/wml
+<: use strict; :>
+<: use warnings; :>
+#use "perl-globals.wmi"
+#use "links.wmi"
+#use "versions.wmi"
+#use "navigation.wmi"
+
+
+
+  
+Tor
+  # navigation menu generation
+  
+
+<:{
+# create a hash and maintain order of keys
+my %navigation;
+my @keys;
+while (@navigation) {
+  my $key = shift @navigation;
+  my $val = shift @navigation;
+  push @keys, $key;
+  $navigation{$key} = $val;
+}
+
+my $page = $WML_SRC_BASENAME;
+my $lang = "$(LANG)";
+
+for my $key (@keys) {
+  my ($dir, $base) = $key =~ m,^(?:(.*)/)?(.*?)$,;
+
+  # in directory of active link, set class active. This rule 
should be improved with proper structuring of the links.
+  my $class;
+  if ((index($page, 'contact') ne -1) and (index($base, 
'overview') ne -1)) {
+$class = '';
+  } elsif ((defined $dir) and ($WML_SRC_DIRNAME =~/$dir/) and 
(index($key, 'contact') eq -1) or ($WML_SRC_BASENAME eq $base)) {
+$class = 'class="active '.$base.' '.$page.'"';
+  } else {
+$class = '';
+  }
+
+   $dir = '.' unless defined $dir;
+
+  # translated version
+  if (-e "$(DOCROOT)/$dir/$lang/$base.wml") {
+  printf '%s'."\n",
+ 
stripDotSlashs("$(DOCROOT)/$dir/$base.html.$(LANG)"),$navigation{$key};
+  }
+  # english version
+  elsif (-e "$(DOCROOT)/$dir/en/$base.wml") {
+   printf '%s'."\n",
+  stripDotSlashs("$(DOCROOT)/$dir/$base.html"), 
$navigation{$key};
+  }
+  # full url
+  elsif ($key =~/^http/) {
+printf '%s'."\n", $key, 
$navigation{$key};
+  } else {
+warn "$WML_SRC_FILENAME has a [page $key] (parses to
+docdir: $(DOCROOT)/; 

[tor-commits] [translation/support-portal] Update translations for support-portal

2018-11-06 Thread translation
commit a7fe8dba8823ec180c19804848f3d5001f78bf38
Author: Translation commit bot 
Date:   Tue Nov 6 16:49:40 2018 +

Update translations for support-portal
---
 contents+fr.po | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/contents+fr.po b/contents+fr.po
index c43c41bc9..b80a23864 100644
--- a/contents+fr.po
+++ b/contents+fr.po
@@ -2373,8 +2373,8 @@ msgid ""
 msgstr ""
 "GetTor est un service qui répond automatiquement aux messages en incluant "
 "des liens vers la dernière version du Navigateur Tor, hébergée en divers "
-"endroits qui risquent moins d’être censurée, tels que Dropbox, Google 
Drive "
-"ou GitHub."
+"endroits qui risquent moins d’être censurée, tels que Dropbox, le disque "
+"Google Drive ou GitHub."
 
 #: http//localhost/tbb/tbb-10/
 #: (content/tbb/tbb-10/contents+en.lrquestion.description)

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


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

2018-11-06 Thread translation
commit 2ec5621f7bcf09cf63f1a33cbade5ee9146a1dd9
Author: Translation commit bot 
Date:   Tue Nov 6 16:47:53 2018 +

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

diff --git a/fr/fr.po b/fr/fr.po
index 252403b2f..56c58dede 100644
--- a/fr/fr.po
+++ b/fr/fr.po
@@ -413,9 +413,10 @@ msgid ""
 "the latest version of Tor Browser, hosted at a variety of locations, such as"
 " Dropbox, Google Drive and GitHub."
 msgstr ""
-"GetTor est un service qui repond automatiquement aux messages avec des liens"
-" pour la derniėre version de Tor Navigateur, hebergé a une variété de "
-"locations comme Dropbox, Google Drive et GitHub "
+"GetTor est un service qui répond automatiquement aux messages en incluant "
+"des liens vers la dernière version du Navigateur Tor, hébergée en divers "
+"endroits qui risquent moins d’être censurée, tels que Dropbox, le disque "
+"Google Drive ou GitHub."
 
 #: downloading.page:33
 msgid "To use GetTor via email:"

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


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

2018-11-06 Thread translation
commit 6b09ce7b1374ed87e990bbf529a298ede640b1fb
Author: Translation commit bot 
Date:   Tue Nov 6 16:47:46 2018 +

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

diff --git a/fr/fr.po b/fr/fr.po
index 252403b2f..56c58dede 100644
--- a/fr/fr.po
+++ b/fr/fr.po
@@ -413,9 +413,10 @@ msgid ""
 "the latest version of Tor Browser, hosted at a variety of locations, such as"
 " Dropbox, Google Drive and GitHub."
 msgstr ""
-"GetTor est un service qui repond automatiquement aux messages avec des liens"
-" pour la derniėre version de Tor Navigateur, hebergé a une variété de "
-"locations comme Dropbox, Google Drive et GitHub "
+"GetTor est un service qui répond automatiquement aux messages en incluant "
+"des liens vers la dernière version du Navigateur Tor, hébergée en divers "
+"endroits qui risquent moins d’être censurée, tels que Dropbox, le disque "
+"Google Drive ou GitHub."
 
 #: downloading.page:33
 msgid "To use GetTor via email:"

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


[tor-commits] [fuzzing-corpora/master] Add a make dist target

2018-11-06 Thread nickm
commit 06047c54583aec33df4443cff273261555e8b4a2
Author: Nick Mathewson 
Date:   Tue Nov 6 09:32:00 2018 -0500

Add a make dist target
---
 .gitignore |  2 ++
 Makefile   | 11 +++
 2 files changed, 13 insertions(+)

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000..3bffe8d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+*~
+tor-fuzzing-corpora-*.tar.xz
\ No newline at end of file
diff --git a/Makefile b/Makefile
new file mode 100644
index 000..075c236
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,11 @@
+
+all:
+   @echo "Nothing to do"
+
+dist:
+   git archive \
+   --format=tar \
+   --prefix=tor-fuzzing-corpora/ \
+   HEAD . \
+   | xz -9 -c \
+   > "tor-fuzzing-corpora-`git rev-parse HEAD`-`date -u +%Y%m%d`.tar.xz"

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


[tor-commits] [fuzzing-corpora/master] License our fuzzing corpus under cc0

2018-11-06 Thread nickm
commit 6ef0a5d774e883802146437a5a380f0cdc692fc2
Author: Nick Mathewson 
Date:   Tue Nov 6 09:24:48 2018 -0500

License our fuzzing corpus under cc0
---
 doc/COPYING | 129 
 1 file changed, 129 insertions(+)

diff --git a/doc/COPYING b/doc/COPYING
new file mode 100644
index 000..02cd1c9
--- /dev/null
+++ b/doc/COPYING
@@ -0,0 +1,129 @@
+We believe that the Tor fuzzing corpus is probably not creative work
+subject to copyright. Nonetheless, just in case it _is_ subject to
+copyright, we license/release it under the CC0 1.0 Universal Public
+Domain Dedication, reproduced below:
+
+--
+
+Creative Commons Legal Code
+
+CC0 1.0 Universal
+
+CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
+LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
+ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
+INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
+REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
+PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
+THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
+HEREUNDER.
+
+Statement of Purpose
+
+The laws of most jurisdictions throughout the world automatically confer
+exclusive Copyright and Related Rights (defined below) upon the creator
+and subsequent owner(s) (each and all, an "owner") of an original work of
+authorship and/or a database (each, a "Work").
+
+Certain owners wish to permanently relinquish those rights to a Work for
+the purpose of contributing to a commons of creative, cultural and
+scientific works ("Commons") that the public can reliably and without fear
+of later claims of infringement build upon, modify, incorporate in other
+works, reuse and redistribute as freely as possible in any form whatsoever
+and for any purposes, including without limitation commercial purposes.
+These owners may contribute to the Commons to promote the ideal of a free
+culture and the further production of creative, cultural and scientific
+works, or to gain reputation or greater distribution for their Work in
+part through the use and efforts of others.
+
+For these and/or other purposes and motivations, and without any
+expectation of additional consideration or compensation, the person
+associating CC0 with a Work (the "Affirmer"), to the extent that he or she
+is an owner of Copyright and Related Rights in the Work, voluntarily
+elects to apply CC0 to the Work and publicly distribute the Work under its
+terms, with knowledge of his or her Copyright and Related Rights in the
+Work and the meaning and intended legal effect of CC0 on those rights.
+
+1. Copyright and Related Rights. A Work made available under CC0 may be
+protected by copyright and related or neighboring rights ("Copyright and
+Related Rights"). Copyright and Related Rights include, but are not
+limited to, the following:
+
+  i. the right to reproduce, adapt, distribute, perform, display,
+ communicate, and translate a Work;
+ ii. moral rights retained by the original author(s) and/or performer(s);
+iii. publicity and privacy rights pertaining to a person's image or
+ likeness depicted in a Work;
+ iv. rights protecting against unfair competition in regards to a Work,
+ subject to the limitations in paragraph 4(a), below;
+  v. rights protecting the extraction, dissemination, use and reuse of data
+ in a Work;
+ vi. database rights (such as those arising under Directive 96/9/EC of the
+ European Parliament and of the Council of 11 March 1996 on the legal
+ protection of databases, and under any national implementation
+ thereof, including any amended or successor version of such
+ directive); and
+vii. other similar, equivalent or corresponding rights throughout the
+ world based on applicable law or treaty, and any national
+ implementations thereof.
+
+2. Waiver. To the greatest extent permitted by, but not in contravention
+of, applicable law, Affirmer hereby overtly, fully, permanently,
+irrevocably and unconditionally waives, abandons, and surrenders all of
+Affirmer's Copyright and Related Rights and associated claims and causes
+of action, whether now known or unknown (including existing as well as
+future claims and causes of action), in the Work (i) in all territories
+worldwide, (ii) for the maximum duration provided by applicable law or
+treaty (including future time extensions), (iii) in any current or future
+medium and for any number of copies, and (iv) for any purpose whatsoever,
+including without limitation commercial, advertising or promotional
+purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
+member of the public at large and to the detriment of Affirmer's heirs and
+successors, fully intending that such Waiver shall not be subject to
+revocation, rescission, cancellation, termination, or any 

[tor-commits] [tor/master] Merge branch 'bug28348_036'

2018-11-06 Thread nickm
commit 17d8ccefc0f27b0c57e501acb4f4a1a379139953
Merge: 313b5b956 c32dab9e4
Author: Nick Mathewson 
Date:   Tue Nov 6 09:18:01 2018 -0500

Merge branch 'bug28348_036'

___
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 'bug28348_035' into bug28348_036

2018-11-06 Thread nickm
commit c32dab9e4829391541b621a6b3a8700bf32a89a0
Merge: 674ef53a7 9431d3507
Author: Nick Mathewson 
Date:   Tue Nov 6 07:43:27 2018 -0500

Merge branch 'bug28348_035' into bug28348_036

 changes/bug28348_034 | 5 +
 src/core/mainloop/mainloop.c | 6 --
 2 files changed, 9 insertions(+), 2 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 'bug28348_034' into bug28348_035

2018-11-06 Thread nickm
commit 9431d3507490cc85a32969f7eb81808b08966677
Merge: 996f24fcd 2aff02eb3
Author: Nick Mathewson 
Date:   Tue Nov 6 07:42:55 2018 -0500

Merge branch 'bug28348_034' into bug28348_035

 changes/bug28348_034 | 5 +
 src/core/mainloop/mainloop.c | 6 --
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --cc src/core/mainloop/mainloop.c
index a24b34375,0..a9f142978
mode 100644,00..100644
--- a/src/core/mainloop/mainloop.c
+++ b/src/core/mainloop/mainloop.c
@@@ -1,2934 -1,0 +1,2936 @@@
 +/* Copyright (c) 2001 Matej Pfajfar.
 + * Copyright (c) 2001-2004, Roger Dingledine.
 + * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
 + * Copyright (c) 2007-2018, The Tor Project, Inc. */
 +/* See LICENSE for licensing information */
 +
 +/**
 + * \file mainloop.c
 + * \brief Toplevel module. Handles signals, multiplexes between
 + * connections, implements main loop, and drives scheduled events.
 + *
 + * For the main loop itself; see run_main_loop_once().  It invokes the rest of
 + * Tor mostly through Libevent callbacks.  Libevent callbacks can happen when
 + * a timer elapses, a signal is received, a socket is ready to read or write,
 + * or an event is manually activated.
 + *
 + * Most events in Tor are driven from these callbacks:
 + *  
 + *   conn_read_callback() and conn_write_callback() here, which are
 + * invoked when a socket is ready to read or write respectively.
 + *   signal_callback(), which handles incoming signals.
 + *  
 + * Other events are used for specific purposes, or for building more complex
 + * control structures.  If you search for usage of tor_libevent_new(), you
 + * will find all the events that we construct in Tor.
 + *
 + * Tor has numerous housekeeping operations that need to happen
 + * regularly. They are handled in different ways:
 + * 
 + *   The most frequent operations are handled after every read or write
 + *event, at the end of connection_handle_read() and
 + *connection_handle_write().
 + *
 + *   The next most frequent operations happen after each invocation of the
 + * main loop, in run_main_loop_once().
 + *
 + *   Once per second, we run all of the operations listed in
 + * second_elapsed_callback(), and in its child, run_scheduled_events().
 + *
 + *   Once-a-second operations are handled in second_elapsed_callback().
 + *
 + *   More infrequent operations take place based on the periodic event
 + * driver in periodic.c .  These are stored in the periodic_events[]
 + * table.
 + * 
 + *
 + **/
 +
 +#define MAINLOOP_PRIVATE
 +#include "core/or/or.h"
 +
 +#include "app/config/config.h"
 +#include "app/config/statefile.h"
 +#include "app/main/ntmain.h"
 +#include "core/mainloop/connection.h"
 +#include "core/mainloop/cpuworker.h"
 +#include "core/mainloop/mainloop.h"
 +#include "core/mainloop/netstatus.h"
 +#include "core/mainloop/periodic.h"
 +#include "core/or/channel.h"
 +#include "core/or/channelpadding.h"
 +#include "core/or/channeltls.h"
 +#include "core/or/circuitbuild.h"
 +#include "core/or/circuitlist.h"
 +#include "core/or/circuituse.h"
 +#include "core/or/connection_edge.h"
 +#include "core/or/connection_or.h"
 +#include "core/or/dos.h"
 +#include "core/or/status.h"
 +#include "feature/client/addressmap.h"
 +#include "feature/client/bridges.h"
 +#include "feature/client/dnsserv.h"
 +#include "feature/client/entrynodes.h"
 +#include "feature/client/transports.h"
 +#include "feature/control/control.h"
 +#include "feature/dirauth/authmode.h"
 +#include "feature/dirauth/reachability.h"
 +#include "feature/dircache/consdiffmgr.h"
 +#include "feature/dircache/dirserv.h"
 +#include "feature/dircommon/directory.h"
 +#include "feature/hibernate/hibernate.h"
 +#include "feature/hs/hs_cache.h"
 +#include "feature/hs/hs_client.h"
 +#include "feature/hs/hs_service.h"
 +#include "feature/nodelist/microdesc.h"
 +#include "feature/nodelist/networkstatus.h"
 +#include "feature/nodelist/nodelist.h"
 +#include "feature/nodelist/routerlist.h"
 +#include "feature/relay/dns.h"
 +#include "feature/relay/routerkeys.h"
 +#include "feature/relay/routermode.h"
 +#include "feature/relay/selftest.h"
 +#include "feature/rend/rendcache.h"
 +#include "feature/rend/rendservice.h"
 +#include "feature/stats/geoip_stats.h"
 +#include "feature/stats/predict_ports.h"
 +#include "feature/stats/rephist.h"
 +#include "lib/container/buffers.h"
 +#include "lib/crypt_ops/crypto_rand.h"
 +#include "lib/err/backtrace.h"
 +#include "lib/tls/buffers_tls.h"
 +
 +#include "lib/net/buffers_net.h"
 +#include "lib/evloop/compat_libevent.h"
 +
 +#include 
 +
 +#include "feature/dirauth/dirvote.h"
 +#include "feature/dirauth/authmode.h"
 +
 +#include "core/or/cell_st.h"
 +#include "core/or/entry_connection_st.h"
 +#include "feature/nodelist/networkstatus_st.h"
 +#include "core/or/or_connection_st.h"
 +#include "app/config/or_state_st.h"
 +#include "feature/nodelist/routerinfo_st.h"
 +#include "core/or/socks_request_st.h"
 +
 +#ifdef 

[tor-commits] [tor/release-0.3.5] Actually disable NEED_NET periodic events when DisableNetwork is set

2018-11-06 Thread nickm
commit 2aff02eb3dee506424874bd6d9c1ded3860abc22
Author: Nick Mathewson 
Date:   Tue Nov 6 07:40:02 2018 -0500

Actually disable NEED_NET periodic events when DisableNetwork is set

Fixes bug 28348; bugfix on 0.3.4.1-alpha
---
 changes/bug28348_034 | 5 +
 src/or/main.c| 7 ---
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/changes/bug28348_034 b/changes/bug28348_034
new file mode 100644
index 0..3913c03a4
--- /dev/null
+++ b/changes/bug28348_034
@@ -0,0 +1,5 @@
+  o Major bugfixes (embedding, main loop):
+- When DisableNetwork becomes set, actually disable periodic events that
+  are already enabled. (Previously, we would refrain from enabling new
+  ones, but we would leave the old ones turned on.)
+  Fixes bug 28348; bugfix on 0.3.4.1-alpha.
diff --git a/src/or/main.c b/src/or/main.c
index bc01e07c3..184bf9e4e 100644
--- a/src/or/main.c
+++ b/src/or/main.c
@@ -1597,15 +1597,17 @@ rescan_periodic_events(const or_options_t *options)
   for (int i = 0; periodic_events[i].name; ++i) {
 periodic_event_item_t *item = _events[i];
 
+int enable = !!(item->roles & roles);
+
 /* Handle the event flags. */
 if (net_is_disabled() &&
 (item->flags & PERIODIC_EVENT_FLAG_NEED_NET)) {
-  continue;
+  enable = 0;
 }
 
 /* Enable the event if needed. It is safe to enable an event that was
  * already enabled. Same goes for disabling it. */
-if (item->roles & roles) {
+if (enable) {
   log_debug(LD_GENERAL, "Launching periodic event %s", item->name);
   periodic_event_enable(item);
 } else {
@@ -4319,4 +4321,3 @@ tor_run_main(const tor_main_configuration_t *tor_cfg)
   tor_cleanup();
   return result;
 }
-



___
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] Actually disable NEED_NET periodic events when DisableNetwork is set

2018-11-06 Thread nickm
commit 2aff02eb3dee506424874bd6d9c1ded3860abc22
Author: Nick Mathewson 
Date:   Tue Nov 6 07:40:02 2018 -0500

Actually disable NEED_NET periodic events when DisableNetwork is set

Fixes bug 28348; bugfix on 0.3.4.1-alpha
---
 changes/bug28348_034 | 5 +
 src/or/main.c| 7 ---
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/changes/bug28348_034 b/changes/bug28348_034
new file mode 100644
index 0..3913c03a4
--- /dev/null
+++ b/changes/bug28348_034
@@ -0,0 +1,5 @@
+  o Major bugfixes (embedding, main loop):
+- When DisableNetwork becomes set, actually disable periodic events that
+  are already enabled. (Previously, we would refrain from enabling new
+  ones, but we would leave the old ones turned on.)
+  Fixes bug 28348; bugfix on 0.3.4.1-alpha.
diff --git a/src/or/main.c b/src/or/main.c
index bc01e07c3..184bf9e4e 100644
--- a/src/or/main.c
+++ b/src/or/main.c
@@ -1597,15 +1597,17 @@ rescan_periodic_events(const or_options_t *options)
   for (int i = 0; periodic_events[i].name; ++i) {
 periodic_event_item_t *item = _events[i];
 
+int enable = !!(item->roles & roles);
+
 /* Handle the event flags. */
 if (net_is_disabled() &&
 (item->flags & PERIODIC_EVENT_FLAG_NEED_NET)) {
-  continue;
+  enable = 0;
 }
 
 /* Enable the event if needed. It is safe to enable an event that was
  * already enabled. Same goes for disabling it. */
-if (item->roles & roles) {
+if (enable) {
   log_debug(LD_GENERAL, "Launching periodic event %s", item->name);
   periodic_event_enable(item);
 } else {
@@ -4319,4 +4321,3 @@ tor_run_main(const tor_main_configuration_t *tor_cfg)
   tor_cleanup();
   return result;
 }
-



___
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 'bug28348_034' into bug28348_035

2018-11-06 Thread nickm
commit 9431d3507490cc85a32969f7eb81808b08966677
Merge: 996f24fcd 2aff02eb3
Author: Nick Mathewson 
Date:   Tue Nov 6 07:42:55 2018 -0500

Merge branch 'bug28348_034' into bug28348_035

 changes/bug28348_034 | 5 +
 src/core/mainloop/mainloop.c | 6 --
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --cc src/core/mainloop/mainloop.c
index a24b34375,0..a9f142978
mode 100644,00..100644
--- a/src/core/mainloop/mainloop.c
+++ b/src/core/mainloop/mainloop.c
@@@ -1,2934 -1,0 +1,2936 @@@
 +/* Copyright (c) 2001 Matej Pfajfar.
 + * Copyright (c) 2001-2004, Roger Dingledine.
 + * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
 + * Copyright (c) 2007-2018, The Tor Project, Inc. */
 +/* See LICENSE for licensing information */
 +
 +/**
 + * \file mainloop.c
 + * \brief Toplevel module. Handles signals, multiplexes between
 + * connections, implements main loop, and drives scheduled events.
 + *
 + * For the main loop itself; see run_main_loop_once().  It invokes the rest of
 + * Tor mostly through Libevent callbacks.  Libevent callbacks can happen when
 + * a timer elapses, a signal is received, a socket is ready to read or write,
 + * or an event is manually activated.
 + *
 + * Most events in Tor are driven from these callbacks:
 + *  
 + *   conn_read_callback() and conn_write_callback() here, which are
 + * invoked when a socket is ready to read or write respectively.
 + *   signal_callback(), which handles incoming signals.
 + *  
 + * Other events are used for specific purposes, or for building more complex
 + * control structures.  If you search for usage of tor_libevent_new(), you
 + * will find all the events that we construct in Tor.
 + *
 + * Tor has numerous housekeeping operations that need to happen
 + * regularly. They are handled in different ways:
 + * 
 + *   The most frequent operations are handled after every read or write
 + *event, at the end of connection_handle_read() and
 + *connection_handle_write().
 + *
 + *   The next most frequent operations happen after each invocation of the
 + * main loop, in run_main_loop_once().
 + *
 + *   Once per second, we run all of the operations listed in
 + * second_elapsed_callback(), and in its child, run_scheduled_events().
 + *
 + *   Once-a-second operations are handled in second_elapsed_callback().
 + *
 + *   More infrequent operations take place based on the periodic event
 + * driver in periodic.c .  These are stored in the periodic_events[]
 + * table.
 + * 
 + *
 + **/
 +
 +#define MAINLOOP_PRIVATE
 +#include "core/or/or.h"
 +
 +#include "app/config/config.h"
 +#include "app/config/statefile.h"
 +#include "app/main/ntmain.h"
 +#include "core/mainloop/connection.h"
 +#include "core/mainloop/cpuworker.h"
 +#include "core/mainloop/mainloop.h"
 +#include "core/mainloop/netstatus.h"
 +#include "core/mainloop/periodic.h"
 +#include "core/or/channel.h"
 +#include "core/or/channelpadding.h"
 +#include "core/or/channeltls.h"
 +#include "core/or/circuitbuild.h"
 +#include "core/or/circuitlist.h"
 +#include "core/or/circuituse.h"
 +#include "core/or/connection_edge.h"
 +#include "core/or/connection_or.h"
 +#include "core/or/dos.h"
 +#include "core/or/status.h"
 +#include "feature/client/addressmap.h"
 +#include "feature/client/bridges.h"
 +#include "feature/client/dnsserv.h"
 +#include "feature/client/entrynodes.h"
 +#include "feature/client/transports.h"
 +#include "feature/control/control.h"
 +#include "feature/dirauth/authmode.h"
 +#include "feature/dirauth/reachability.h"
 +#include "feature/dircache/consdiffmgr.h"
 +#include "feature/dircache/dirserv.h"
 +#include "feature/dircommon/directory.h"
 +#include "feature/hibernate/hibernate.h"
 +#include "feature/hs/hs_cache.h"
 +#include "feature/hs/hs_client.h"
 +#include "feature/hs/hs_service.h"
 +#include "feature/nodelist/microdesc.h"
 +#include "feature/nodelist/networkstatus.h"
 +#include "feature/nodelist/nodelist.h"
 +#include "feature/nodelist/routerlist.h"
 +#include "feature/relay/dns.h"
 +#include "feature/relay/routerkeys.h"
 +#include "feature/relay/routermode.h"
 +#include "feature/relay/selftest.h"
 +#include "feature/rend/rendcache.h"
 +#include "feature/rend/rendservice.h"
 +#include "feature/stats/geoip_stats.h"
 +#include "feature/stats/predict_ports.h"
 +#include "feature/stats/rephist.h"
 +#include "lib/container/buffers.h"
 +#include "lib/crypt_ops/crypto_rand.h"
 +#include "lib/err/backtrace.h"
 +#include "lib/tls/buffers_tls.h"
 +
 +#include "lib/net/buffers_net.h"
 +#include "lib/evloop/compat_libevent.h"
 +
 +#include 
 +
 +#include "feature/dirauth/dirvote.h"
 +#include "feature/dirauth/authmode.h"
 +
 +#include "core/or/cell_st.h"
 +#include "core/or/entry_connection_st.h"
 +#include "feature/nodelist/networkstatus_st.h"
 +#include "core/or/or_connection_st.h"
 +#include "app/config/or_state_st.h"
 +#include "feature/nodelist/routerinfo_st.h"
 +#include "core/or/socks_request_st.h"
 +
 +#ifdef 

[tor-commits] [tor/master] Actually disable NEED_NET periodic events when DisableNetwork is set

2018-11-06 Thread nickm
commit 2aff02eb3dee506424874bd6d9c1ded3860abc22
Author: Nick Mathewson 
Date:   Tue Nov 6 07:40:02 2018 -0500

Actually disable NEED_NET periodic events when DisableNetwork is set

Fixes bug 28348; bugfix on 0.3.4.1-alpha
---
 changes/bug28348_034 | 5 +
 src/or/main.c| 7 ---
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/changes/bug28348_034 b/changes/bug28348_034
new file mode 100644
index 0..3913c03a4
--- /dev/null
+++ b/changes/bug28348_034
@@ -0,0 +1,5 @@
+  o Major bugfixes (embedding, main loop):
+- When DisableNetwork becomes set, actually disable periodic events that
+  are already enabled. (Previously, we would refrain from enabling new
+  ones, but we would leave the old ones turned on.)
+  Fixes bug 28348; bugfix on 0.3.4.1-alpha.
diff --git a/src/or/main.c b/src/or/main.c
index bc01e07c3..184bf9e4e 100644
--- a/src/or/main.c
+++ b/src/or/main.c
@@ -1597,15 +1597,17 @@ rescan_periodic_events(const or_options_t *options)
   for (int i = 0; periodic_events[i].name; ++i) {
 periodic_event_item_t *item = _events[i];
 
+int enable = !!(item->roles & roles);
+
 /* Handle the event flags. */
 if (net_is_disabled() &&
 (item->flags & PERIODIC_EVENT_FLAG_NEED_NET)) {
-  continue;
+  enable = 0;
 }
 
 /* Enable the event if needed. It is safe to enable an event that was
  * already enabled. Same goes for disabling it. */
-if (item->roles & roles) {
+if (enable) {
   log_debug(LD_GENERAL, "Launching periodic event %s", item->name);
   periodic_event_enable(item);
 } else {
@@ -4319,4 +4321,3 @@ tor_run_main(const tor_main_configuration_t *tor_cfg)
   tor_cleanup();
   return result;
 }
-



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


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

2018-11-06 Thread nickm
commit 313b5b956c487dcdee21206c34c608835f699a73
Merge: 674ef53a7 9431d3507
Author: Nick Mathewson 
Date:   Tue Nov 6 09:16:25 2018 -0500

Merge branch 'maint-0.3.5'

 changes/bug28348_034 | 5 +
 src/core/mainloop/mainloop.c | 6 --
 2 files changed, 9 insertions(+), 2 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 'bug28348_034' into bug28348_035

2018-11-06 Thread nickm
commit 9431d3507490cc85a32969f7eb81808b08966677
Merge: 996f24fcd 2aff02eb3
Author: Nick Mathewson 
Date:   Tue Nov 6 07:42:55 2018 -0500

Merge branch 'bug28348_034' into bug28348_035

 changes/bug28348_034 | 5 +
 src/core/mainloop/mainloop.c | 6 --
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --cc src/core/mainloop/mainloop.c
index a24b34375,0..a9f142978
mode 100644,00..100644
--- a/src/core/mainloop/mainloop.c
+++ b/src/core/mainloop/mainloop.c
@@@ -1,2934 -1,0 +1,2936 @@@
 +/* Copyright (c) 2001 Matej Pfajfar.
 + * Copyright (c) 2001-2004, Roger Dingledine.
 + * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
 + * Copyright (c) 2007-2018, The Tor Project, Inc. */
 +/* See LICENSE for licensing information */
 +
 +/**
 + * \file mainloop.c
 + * \brief Toplevel module. Handles signals, multiplexes between
 + * connections, implements main loop, and drives scheduled events.
 + *
 + * For the main loop itself; see run_main_loop_once().  It invokes the rest of
 + * Tor mostly through Libevent callbacks.  Libevent callbacks can happen when
 + * a timer elapses, a signal is received, a socket is ready to read or write,
 + * or an event is manually activated.
 + *
 + * Most events in Tor are driven from these callbacks:
 + *  
 + *   conn_read_callback() and conn_write_callback() here, which are
 + * invoked when a socket is ready to read or write respectively.
 + *   signal_callback(), which handles incoming signals.
 + *  
 + * Other events are used for specific purposes, or for building more complex
 + * control structures.  If you search for usage of tor_libevent_new(), you
 + * will find all the events that we construct in Tor.
 + *
 + * Tor has numerous housekeeping operations that need to happen
 + * regularly. They are handled in different ways:
 + * 
 + *   The most frequent operations are handled after every read or write
 + *event, at the end of connection_handle_read() and
 + *connection_handle_write().
 + *
 + *   The next most frequent operations happen after each invocation of the
 + * main loop, in run_main_loop_once().
 + *
 + *   Once per second, we run all of the operations listed in
 + * second_elapsed_callback(), and in its child, run_scheduled_events().
 + *
 + *   Once-a-second operations are handled in second_elapsed_callback().
 + *
 + *   More infrequent operations take place based on the periodic event
 + * driver in periodic.c .  These are stored in the periodic_events[]
 + * table.
 + * 
 + *
 + **/
 +
 +#define MAINLOOP_PRIVATE
 +#include "core/or/or.h"
 +
 +#include "app/config/config.h"
 +#include "app/config/statefile.h"
 +#include "app/main/ntmain.h"
 +#include "core/mainloop/connection.h"
 +#include "core/mainloop/cpuworker.h"
 +#include "core/mainloop/mainloop.h"
 +#include "core/mainloop/netstatus.h"
 +#include "core/mainloop/periodic.h"
 +#include "core/or/channel.h"
 +#include "core/or/channelpadding.h"
 +#include "core/or/channeltls.h"
 +#include "core/or/circuitbuild.h"
 +#include "core/or/circuitlist.h"
 +#include "core/or/circuituse.h"
 +#include "core/or/connection_edge.h"
 +#include "core/or/connection_or.h"
 +#include "core/or/dos.h"
 +#include "core/or/status.h"
 +#include "feature/client/addressmap.h"
 +#include "feature/client/bridges.h"
 +#include "feature/client/dnsserv.h"
 +#include "feature/client/entrynodes.h"
 +#include "feature/client/transports.h"
 +#include "feature/control/control.h"
 +#include "feature/dirauth/authmode.h"
 +#include "feature/dirauth/reachability.h"
 +#include "feature/dircache/consdiffmgr.h"
 +#include "feature/dircache/dirserv.h"
 +#include "feature/dircommon/directory.h"
 +#include "feature/hibernate/hibernate.h"
 +#include "feature/hs/hs_cache.h"
 +#include "feature/hs/hs_client.h"
 +#include "feature/hs/hs_service.h"
 +#include "feature/nodelist/microdesc.h"
 +#include "feature/nodelist/networkstatus.h"
 +#include "feature/nodelist/nodelist.h"
 +#include "feature/nodelist/routerlist.h"
 +#include "feature/relay/dns.h"
 +#include "feature/relay/routerkeys.h"
 +#include "feature/relay/routermode.h"
 +#include "feature/relay/selftest.h"
 +#include "feature/rend/rendcache.h"
 +#include "feature/rend/rendservice.h"
 +#include "feature/stats/geoip_stats.h"
 +#include "feature/stats/predict_ports.h"
 +#include "feature/stats/rephist.h"
 +#include "lib/container/buffers.h"
 +#include "lib/crypt_ops/crypto_rand.h"
 +#include "lib/err/backtrace.h"
 +#include "lib/tls/buffers_tls.h"
 +
 +#include "lib/net/buffers_net.h"
 +#include "lib/evloop/compat_libevent.h"
 +
 +#include 
 +
 +#include "feature/dirauth/dirvote.h"
 +#include "feature/dirauth/authmode.h"
 +
 +#include "core/or/cell_st.h"
 +#include "core/or/entry_connection_st.h"
 +#include "feature/nodelist/networkstatus_st.h"
 +#include "core/or/or_connection_st.h"
 +#include "app/config/or_state_st.h"
 +#include "feature/nodelist/routerinfo_st.h"
 +#include "core/or/socks_request_st.h"
 +
 +#ifdef 

[tor-commits] [tor-browser-build/master] Fold in stable changelog

2018-11-06 Thread gk
commit 78574ef55b33501a61fa3fbb9fc266ceb6de86fe
Author: Georg Koppen 
Date:   Tue Nov 6 13:03:28 2018 +

Fold in stable changelog
---
 projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt | 14 ++
 1 file changed, 14 insertions(+)

diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt 
b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index 38b0b9a..3bd05ed 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -35,6 +35,20 @@ Tor Browser 8.5a4 -- October 23 2018
* OS X
  * Bug 27320: Build certutil for macOS
 
+Tor Browser 8.0.3 -- October 23 2018
+ * All platforms
+   * Update Firefox to 60.3.0esr
+   * Update Torbutton to 2.0.8
+ * Bug 23925+27959: Donation banner for year end 2018 campaign
+ * Bug 24172: Donation banner clobbers Tor Browser version string
+ * Bug 27760: Use new NoScript API for IPC and fix about:blank issue
+ * Translations update
+   * Update HTTPS Everywhere to 2018.9.19
+   * Update NoScript to 10.1.9.9
+ * Linux
+   * Bug 27546: Fix vertical scrollbar behavior in Tor Browser 8 with Gtk3
+   * Bug 27552: Use bundled dir on CentOS/RHEL 6
+
 Tor Browser 8.5a3 -- October 4 2018
  * All platforms
* Update Firefox to 60.2.1esr

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


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

2018-11-06 Thread translation
commit be27c97b09df00c5153bd439ebfd6586b51d64dc
Author: Translation commit bot 
Date:   Tue Nov 6 11:45:20 2018 +

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

diff --git a/locale/it/LC_MESSAGES/messages.po 
b/locale/it/LC_MESSAGES/messages.po
index 8b7860096..b5adc17b7 100644
--- a/locale/it/LC_MESSAGES/messages.po
+++ b/locale/it/LC_MESSAGES/messages.po
@@ -1,14 +1,15 @@
 # Translators:
+# Yvette Agostini , 2018
+# Matteo Sechi , 2018
 # erinm, 2018
 # Thomas Di Cristofaro , 2018
+# Sebastiano Pistore , 2018
 # Giuseppe Pignataro (Fastbyte01) , 2018
-# Yvette Agostini , 2018
-# Matteo Sechi , 2018
 # Random_R, 2018
-# Sebastiano Pistore , 2018
+# 
 msgid ""
 msgstr ""
-"Last-Translator: Sebastiano Pistore , 
2018\n"
+"Last-Translator: Random_R, 2018\n"
 "Language-Team: Italian (https://www.transifex.com/otf/teams/1519/it/)\n"
 "Language: it\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -1572,6 +1573,9 @@ msgid ""
 "href=\"https://www.torproject.org/getinvolved/volunteer.html.en\;>list of "
 "areas where we would love your help."
 msgstr ""
+"Ecco un https://www.torproject.org/getinvolved/volunteer.html.en\;>elenco di "
+"ambiti dove gradiremmo il tuo aiuto."
 
 #: 
tmp/cache_locale/0e/0e65c68f2900f432bc062864e7bafc989d6286e272f5e98882a99f52ea4c5c89.php:591
 msgid "I would like my company to support Tor."

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


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

2018-11-06 Thread translation
commit 38c59b8235282cee9669f1e51c3068dd97e4d99a
Author: Translation commit bot 
Date:   Tue Nov 6 08:49:14 2018 +

Update translations for tor-browser-manual
---
 ach/ach.po |  2 +-
 af/af.po   |  3 ++-
 am/am.po   |  3 ++-
 ar/ar.po   |  5 +++--
 arn/arn.po |  3 ++-
 ast/ast.po |  3 ++-
 az/az.po   |  7 ---
 be/be.po   |  5 +++--
 bg/bg.po   |  7 ---
 bn/bn.po   |  3 ++-
 bn_BD/bn_BD.po |  7 ---
 bo/bo.po   |  3 ++-
 br/br.po   |  3 ++-
 bs/bs.po   |  3 ++-
 ca/ca.po   |  9 +
 cs/cs.po   |  9 +
 cy/cy.po   |  7 ---
 da/da.po   |  9 +
 de/de.po   | 21 +++--
 dz/dz.po   |  3 ++-
 en_GB/en_GB.po |  7 ---
 eo/eo.po   |  3 ++-
 es/es.po   | 11 ++-
 es_AR/es_AR.po | 11 ++-
 es_CL/es_CL.po |  2 +-
 es_CO/es_CO.po |  3 ++-
 es_MX/es_MX.po |  3 ++-
 et/et.po   |  9 +
 eu/eu.po   |  5 +++--
 fa/fa.po   | 13 +++--
 fi/fi.po   |  9 +
 fil/fil.po |  3 ++-
 fo/fo.po   |  3 ++-
 fr/fr.po   |  5 +++--
 fur/fur.po |  3 ++-
 fy/fy.po   |  3 ++-
 ga/ga.po   |  7 ---
 gd/gd.po   |  2 +-
 gl/gl.po   |  9 +
 gu/gu.po   |  3 ++-
 gu_IN/gu_IN.po |  2 +-
 he/he.po   |  7 ---
 hi/hi.po   |  3 ++-
 hr/hr.po   |  5 +++--
 hr_HR/hr_HR.po |  7 ---
 ht/ht.po   |  3 ++-
 hu/hu.po   |  9 +
 hy/hy.po   |  3 ++-
 ia/ia.po   |  3 ++-
 id/id.po   | 13 +++--
 is/is.po   |  7 ---
 it/it.po   | 11 ++-
 ja/ja.po   |  9 +
 jv/jv.po   |  3 ++-
 ka/ka.po   |  7 ---
 kk/kk.po   |  3 ++-
 km/km.po   |  3 ++-
 kn/kn.po   |  3 ++-
 ko/ko.po   |  7 ---
 ko_KR/ko_KR.po |  7 ---
 ku/ku.po   |  3 ++-
 ku_IQ/ku_IQ.po |  3 ++-
 ky/ky.po   |  7 ---
 la/la.po   |  3 ++-
 lb/lb.po   |  7 ---
 lg/lg.po   |  3 ++-
 ln/ln.po   |  3 ++-
 lo/lo.po   |  7 ---
 lt/lt.po   |  7 ---
 lv/lv.po   |  7 ---
 mg/mg.po   |  3 ++-
 mi/mi.po   |  3 ++-
 ml/ml.po   |  3 ++-
 mn/mn.po   |  3 ++-
 mr/mr.po   |  3 ++-
 ms_MY/ms_MY.po |  9 +
 mt/mt.po   |  3 ++-
 my/my.po   |  3 ++-
 nah/nah.po |  3 ++-
 nap/nap.po |  3 ++-
 nb/nb.po   | 11 ++-
 ne/ne.po   |  3 ++-
 nl/nl.po   |  9 +
 nl_BE/nl_BE.po |  3 ++-
 nn/nn.po   |  5 +++--
 nso/nso.po |  3 ++-
 oc/oc.po   |  3 ++-
 om/om.po   |  3 ++-
 or/or.po   |  3 ++-
 pa/pa.po   |  3 ++-
 pap/pap.po |  3 ++-
 pl/pl.po   |  5 +++--
 pms/pms.po |  3 ++-
 ps/ps.po   |  3 ++-
 pt/pt.po   |  9 +
 pt_BR/pt_BR.po |  5 +++--
 pt_PT/pt_PT.po |  7 ---
 ro/ro.po   |  5 +++--
 ru/ru.po   | 17 +
 ru@petr1708/r...@petr1708.po |  7 ---
 sco/sco.po |  3 ++-
 si_LK/si_LK.po |  7 ---
 sk/sk.po   |  7 ---
 sk_SK/sk_SK.po |  3 ++-
 sl/sl.po   |  3 ++-
 sl_SI/sl_SI.po |  5 +++--
 sn/sn.po   |  3 ++-
 so/so.po   |  3 ++-
 son/son.po |  3 ++-
 sq/sq.po   |  5 +++--
 sr/sr.po   |  7 ---
 sr@latin/s...@latin.po   |  3 ++-
 st/st.po   |  3 ++-
 sv/sv.po   | 11 ++-
 ta/ta.po   |  9 +
 te/te.po   |  3 ++-
 tg/tg.po   |  3 ++-
 th/th.po   |  7 ---
 ti/ti.po   |  3 ++-
 tk/tk.po   |  3 ++-
 tr/tr.po   | 11 ++-
 ug@Arab/u...@arab.po |  3 ++-
 uk/uk.po  

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

2018-11-06 Thread translation
commit 3b6805cd79aaff76aa744877028ba03f9228bce6
Author: Translation commit bot 
Date:   Tue Nov 6 08:49:34 2018 +

Update translations for tor-browser-manual_completed
---
 ca/ca.po   |  9 +
 de/de.po   | 21 +++--
 es/es.po   | 11 ++-
 es_AR/es_AR.po | 11 ++-
 fr/fr.po   |  5 +++--
 ga/ga.po   |  7 ---
 he/he.po   |  7 ---
 it/it.po   | 11 ++-
 ka/ka.po   |  7 ---
 pt/pt.po   |  9 +
 pt_BR/pt_BR.po |  5 +++--
 ru/ru.po   | 17 +
 tr/tr.po   | 11 ++-
 zh_CN/zh_CN.po | 11 ++-
 14 files changed, 78 insertions(+), 64 deletions(-)

diff --git a/ca/ca.po b/ca/ca.po
index f3357f542..45be691d2 100644
--- a/ca/ca.po
+++ b/ca/ca.po
@@ -1,18 +1,19 @@
 # Translators:
-# laia_, 2016
 # Albert , 2016
 # F Xavier Castane , 2016
 # Gerard Farràs Ballabriga <>, 2016
+# laia_, 2016
 # joanj94 , 2016
 # icc , 2016
-# escufi , 2018
 # Vte A.F , 2018
+# escufi , 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: Vte A.F , 2018\n"
+"PO-Revision-Date: 2016-12-07 01:01+\n"
+"Last-Translator: escufi , 2018\n"
 "Language-Team: Catalan (https://www.transifex.com/otf/teams/1519/ca/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
diff --git a/de/de.po b/de/de.po
index 5df371eac..f0a3fda75 100644
--- a/de/de.po
+++ b/de/de.po
@@ -1,30 +1,31 @@
 # Translators:
-# Tobias Bannert , 2016
-# try once, 2016
 # Christian Kaindl , 2016
-# Jim John , 2016
 # Sacro , 2016
-# Ettore Atalan , 2016
 # D P, 2016
 # gregweb , 2016
 # runasand , 2016
-# Curtis Baltimore , 2016
-# Inter Webs , 2016
-# Axel Laemmert, 2016
-# Christian Humm , 2017
+# Tobias Bannert , 2016
+# try once, 2016
 # kan torkel, 2017
 # max weber, 2017
+# Christian Humm , 2017
+# Axel Laemmert, 2017
 # nautilusx, 2017
 # A Mankel , 2017
 # Wolf , 2017
+# Ettore Atalan , 2018
 # qbi , 2018
+# Inter Webs , 2018
+# Jim John , 2018
 # Mario Angermann, 2018
+# Curtis Baltimore , 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: Mario Angermann, 2018\n"
+"PO-Revision-Date: 2016-12-07 01:01+\n"
+"Last-Translator: Curtis Baltimore , 2018\n"
 "Language-Team: German (https://www.transifex.com/otf/teams/1519/de/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
diff --git a/es/es.po b/es/es.po
index 5e4ea958b..7aabad1e1 100644
--- a/es/es.po
+++ b/es/es.po
@@ -1,14 +1,15 @@
 # Translators:
-# strel, 2016
 # Lena , 2016
-# Emma Peel, 2016
-# eulalio barbero espinosa , 2016
+# strel, 2018
+# Emma Peel, 2018
+# eulalio barbero espinosa , 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: eulalio barbero espinosa , 2016\n"
+"PO-Revision-Date: 2016-12-07 01:01+\n"
+"Last-Translator: eulalio barbero espinosa , 2018\n"
 "Language-Team: Spanish (https://www.transifex.com/otf/teams/1519/es/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
diff --git a/es_AR/es_AR.po b/es_AR/es_AR.po
index ca83323bb..5efb832ef 100644
--- a/es_AR/es_AR.po
+++ b/es_AR/es_AR.po
@@ -1,16 +1,17 @@
 # Translators:
 # Nico Edu , 2016
-# ezemelano , 2016
 # psss , 2016
-# Zuhualime Akoochimoya, 2017
-# Joaquín Serna, 2017
+# ezemelano , 2016
 # orienta cionscj , 2017
+# Joaquín Serna, 2018
+# Zuhualime Akoochimoya, 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: orienta cionscj , 2017\n"
+"PO-Revision-Date: 2016-12-07 01:01+\n"
+"Last-Translator: Zuhualime Akoochimoya, 2018\n"
 "Language-Team: Spanish (Argentina) 
(https://www.transifex.com/otf/teams/1519/es_AR/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
diff --git a/fr/fr.po b/fr/fr.po
index 7d8fcdd78..252403b2f 100644
--- a/fr/fr.po
+++ b/fr/fr.po
@@ -1,18 +1,19 @@
 # Translators:
 # Lunar , 2016
-# AO , 2016
 # bassmax, 2016
 # Tor Project , 2016
 # Towinet, 2016
 # runasand , 2016
 # Paul-Marie Tetedoie <134...@supinfo.com>, 2016
 # Domiho Zannou , 2018
+# AO , 2018
 # Simon-Olivier Morneau , 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"
+"PO-Revision-Date: 2016-12-07 01:01+\n"
 "Last-Translator: Simon-Olivier Morneau , 2018\n"
 "Language-Team: French (https://www.transifex.com/otf/teams/1519/fr/)\n"
 "MIME-Version: 1.0\n"
diff --git a/ga/ga.po b/ga/ga.po
index 1783f03f0..d92c7e340 100644
--- a/ga/ga.po
+++ b/ga/ga.po
@@ -1,12 +1,13 @@
 # Translators:
 # Robbi McMillen ,