[tor-commits] [translation/whisperback] Update translations for whisperback
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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'
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!
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'
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.
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
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
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.
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'
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.
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.
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.
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.
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.
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
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.
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'
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
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
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
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
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
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
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
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
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
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
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'
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
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
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
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
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
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'
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
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
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
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
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
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
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
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
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
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
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'
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
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
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
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
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
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
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'
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
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
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
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
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
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 ,