[tor-commits] [tor-browser/tor-browser-60.6.1esr-9.0-1] Bug 1447592 Do not reset the Spoof English pref after disabling Resist Fingerprinting r=johannh
commit 69e7b6d159f3d7ec4d8e0987afe1925ade94c0f6 Author: Tom Ritter Date: Wed Apr 24 09:22:04 2019 -0500 Bug 1447592 Do not reset the Spoof English pref after disabling Resist Fingerprinting r=johannh Backports this patch to esr60 just to keep RFPHelper in sync --- toolkit/components/resistfingerprinting/RFPHelper.jsm | 1 - 1 file changed, 1 deletion(-) diff --git a/toolkit/components/resistfingerprinting/RFPHelper.jsm b/toolkit/components/resistfingerprinting/RFPHelper.jsm index 5aef203ad38b..91630d7c169e 100755 --- a/toolkit/components/resistfingerprinting/RFPHelper.jsm +++ b/toolkit/components/resistfingerprinting/RFPHelper.jsm @@ -99,7 +99,6 @@ class _RFPHelper { this._addRFPObservers(); } else { this._removeRFPObservers(); - Services.prefs.setIntPref(kPrefSpoofEnglish, 0); } } ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor-browser/tor-browser-60.6.1esr-9.0-1] Bug 1407366 - Part 2: Rearrange RFPHelper for expansion r=johannh
commit 7f3ce3ef4cf86690864a4abd7ca58a9e5dbb087f Author: Tom Ritter Date: Wed Apr 24 09:17:53 2019 -0500 Bug 1407366 - Part 2: Rearrange RFPHelper for expansion r=johannh This patch rearranges RFPHelper.jsm to make it more clear what parts of the file are responsible for what feature. --- .../components/resistfingerprinting/RFPHelper.jsm | 62 +- 1 file changed, 38 insertions(+), 24 deletions(-) diff --git a/toolkit/components/resistfingerprinting/RFPHelper.jsm b/toolkit/components/resistfingerprinting/RFPHelper.jsm index 2e8e85072364..5aef203ad38b 100755 --- a/toolkit/components/resistfingerprinting/RFPHelper.jsm +++ b/toolkit/components/resistfingerprinting/RFPHelper.jsm @@ -14,6 +14,9 @@ const kPrefSpoofEnglish = "privacy.spoof_english"; const kTopicHttpOnModifyRequest = "http-on-modify-request"; class _RFPHelper { + // + // Setup + // constructor() { this._initialized = false; } @@ -24,7 +27,9 @@ class _RFPHelper { } this._initialized = true; +// Add unconditional observers Services.prefs.addObserver(kPrefResistFingerprinting, this); +// Add RFP observers if the pref is enabled this._handleResistFingerprintingChanged(); } @@ -34,8 +39,10 @@ class _RFPHelper { } this._initialized = false; +// Remove unconditional observers Services.prefs.removeObserver(kPrefResistFingerprinting, this); -this._removeObservers(); +// Remove the RFP observers, swallowing exceptions if they weren't present +this._removeRFPObservers(); } observe(subject, topic, data) { @@ -51,24 +58,6 @@ class _RFPHelper { } } - _removeObservers() { -try { - Services.pref.removeObserver(kPrefSpoofEnglish, this); -} catch (e) { - // do nothing -} -try { - Services.obs.removeObserver(this, kTopicHttpOnModifyRequest); -} catch (e) { - // do nothing -} - } - - _shouldPromptForLanguagePref() { -return (Services.locale.getAppLocaleAsLangTag().substr(0, 2) !== "en") - && (Services.prefs.getIntPref(kPrefSpoofEnglish) === 0); - } - _handlePrefChanged(data) { switch (data) { case kPrefResistFingerprinting: @@ -82,14 +71,34 @@ class _RFPHelper { } } + // + // Language Prompt + // + _addRFPObservers() { +Services.prefs.addObserver(kPrefSpoofEnglish, this); +if (this._shouldPromptForLanguagePref()) { + Services.obs.addObserver(this, kTopicHttpOnModifyRequest); +} + } + + _removeRFPObservers() { +try { + Services.pref.removeObserver(kPrefSpoofEnglish, this); +} catch (e) { + // do nothing +} +try { + Services.obs.removeObserver(this, kTopicHttpOnModifyRequest); +} catch (e) { + // do nothing +} + } + _handleResistFingerprintingChanged() { if (Services.prefs.getBoolPref(kPrefResistFingerprinting)) { - Services.prefs.addObserver(kPrefSpoofEnglish, this); - if (this._shouldPromptForLanguagePref()) { -Services.obs.addObserver(this, kTopicHttpOnModifyRequest); - } + this._addRFPObservers(); } else { - this._removeObservers(); + this._removeRFPObservers(); Services.prefs.setIntPref(kPrefSpoofEnglish, 0); } } @@ -116,6 +125,11 @@ class _RFPHelper { } } + _shouldPromptForLanguagePref() { +return (Services.locale.getAppLocaleAsLangTag().substr(0, 2) !== "en") + && (Services.prefs.getIntPref(kPrefSpoofEnglish) === 0); + } + _handleHttpOnModifyRequest(subject, data) { // If we are loading an HTTP page from content, show the // "request English language web pages?" prompt. ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor-browser/tor-browser-60.6.1esr-9.0-1] Bug 1407366 - Part 1: Rename the LanguagePrompt.jsm to RFPHelper.jsm and changing the place of doing uninitialization. r=johannh
commit 0958b375400c51ddd1c61cda14acae686697729b Author: Tom Ritter Date: Wed Apr 24 09:13:27 2019 -0500 Bug 1407366 - Part 1: Rename the LanguagePrompt.jsm to RFPHelper.jsm and changing the place of doing uninitialization. r=johannh This patch changes the name of LanguagePrompt.jsm to RFPHelper.jsm. The RFPHelper is going to not only be responsible for the language --- browser/base/content/browser.js | 4 +--- browser/components/nsBrowserGlue.js | 5 +++-- .../resistfingerprinting/{LanguagePrompt.jsm => RFPHelper.jsm} | 6 +++--- toolkit/components/resistfingerprinting/moz.build | 2 +- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js index 16e712be0ba3..3e3b1b203219 100644 --- a/browser/base/content/browser.js +++ b/browser/base/content/browser.js @@ -29,7 +29,6 @@ XPCOMUtils.defineLazyModuleGetters(this, { E10SUtils: "resource://gre/modules/E10SUtils.jsm", ExtensionsUI: "resource:///modules/ExtensionsUI.jsm", FormValidationHandler: "resource:///modules/FormValidationHandler.jsm", - LanguagePrompt: "resource://gre/modules/LanguagePrompt.jsm", LightweightThemeConsumer: "resource://gre/modules/LightweightThemeConsumer.jsm", LightweightThemeManager: "resource://gre/modules/LightweightThemeManager.jsm", Log: "resource://gre/modules/Log.jsm", @@ -47,6 +46,7 @@ XPCOMUtils.defineLazyModuleGetters(this, { PromiseUtils: "resource://gre/modules/PromiseUtils.jsm", ReaderMode: "resource://gre/modules/ReaderMode.jsm", ReaderParent: "resource:///modules/ReaderParent.jsm", + RFPHelper: "resource://gre/modules/RFPHelper.jsm", RecentWindow: "resource:///modules/RecentWindow.jsm", SafeBrowsing: "resource://gre/modules/SafeBrowsing.jsm", Sanitizer: "resource:///modules/Sanitizer.jsm", @@ -1908,8 +1908,6 @@ var gBrowserInit = { gAccessibilityServiceIndicator.uninit(); -LanguagePrompt.uninit(); - BrowserSearch.uninit(); // Now either cancel delayedStartup, or clean up the services initialized from diff --git a/browser/components/nsBrowserGlue.js b/browser/components/nsBrowserGlue.js index 861a62e442df..564035bfd3a2 100644 --- a/browser/components/nsBrowserGlue.js +++ b/browser/components/nsBrowserGlue.js @@ -104,7 +104,6 @@ XPCOMUtils.defineLazyModuleGetters(this, { HybridContentTelemetry: "resource://gre/modules/HybridContentTelemetry.jsm", Integration: "resource://gre/modules/Integration.jsm", L10nRegistry: "resource://gre/modules/L10nRegistry.jsm", - LanguagePrompt: "resource://gre/modules/LanguagePrompt.jsm", LightweightThemeManager: "resource://gre/modules/LightweightThemeManager.jsm", LoginHelper: "resource://gre/modules/LoginHelper.jsm", LoginManagerParent: "resource://gre/modules/LoginManagerParent.jsm", @@ -126,6 +125,7 @@ XPCOMUtils.defineLazyModuleGetters(this, { ReaderParent: "resource:///modules/ReaderParent.jsm", RecentWindow: "resource:///modules/RecentWindow.jsm", RemotePrompt: "resource:///modules/RemotePrompt.jsm", + RFPHelper: "resource://gre/modules/RFPHelper.jsm", SafeBrowsing: "resource://gre/modules/SafeBrowsing.jsm", Sanitizer: "resource:///modules/Sanitizer.jsm", SessionStore: "resource:///modules/sessionstore/SessionStore.jsm", @@ -1058,6 +1058,7 @@ BrowserGlue.prototype = { } Normandy.uninit(); +RFPHelper.uninit(); }, // All initial windows have opened. @@ -1220,7 +1221,7 @@ BrowserGlue.prototype = { } Services.tm.idleDispatchToMainThread(() => { - LanguagePrompt.init(); + RFPHelper.init(); }); Services.tm.idleDispatchToMainThread(() => { diff --git a/toolkit/components/resistfingerprinting/LanguagePrompt.jsm b/toolkit/components/resistfingerprinting/RFPHelper.jsm old mode 100644 new mode 100755 similarity index 98% rename from toolkit/components/resistfingerprinting/LanguagePrompt.jsm rename to toolkit/components/resistfingerprinting/RFPHelper.jsm index d27402ccacf1..2e8e85072364 --- a/toolkit/components/resistfingerprinting/LanguagePrompt.jsm +++ b/toolkit/components/resistfingerprinting/RFPHelper.jsm @@ -4,7 +4,7 @@ * You can obtain one at http://mozilla.org/MPL/2.0/. */ "use strict"; -var EXPORTED_SYMBOLS = ["LanguagePrompt"]; +var EXPORTED_SYMBOLS = ["RFPHelper"]; ChromeUtils.import("resource://gre/modules/Services.jsm"); ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm"); @@ -13,7 +13,7 @@ const kPrefResistFingerprinting = "privacy.resistFingerprinting"; const kPrefSpoofEnglish = "privacy.spoof_english"; const kTopicHttpOnModifyRequest = "http-on-modify-request"; -class _LanguagePrompt { +class _RFPHelper { constructor() { this._initialized = false; } @@ -200,4 +200,4 @@ class _LanguagePrompt { } } -let LanguagePrompt = new _LanguagePrompt(); +let RFPHelper = new _RFPHelper(); diff --git a/toolkit/comp
[tor-commits] [tor-browser/tor-browser-60.6.1esr-9.0-1] Bug 1407366 - Part 3: Implementing the window letterboxing. r=johannh
commit 06bed4d6845f681755c1e51db9497aeeaa5cd259 Author: Tom Ritter Date: Wed Apr 24 09:35:23 2019 -0500 Bug 1407366 - Part 3: Implementing the window letterboxing. r=johannh This patch implements the window letterboxing. The implementation is based on adding margins around the browser element to round the content viewport size. Whenever the browser content is resized, the RFPHelper will adjust margins around it. But it won't add any margins for an empty browser or a browser loads a content with the system principal. The letterboxing is hidden behind a hidden pref "privacy.resistFingerprinting.letterboxing." By default, it will use stepping size 200x100 to round content window. And we can customize the set of dimensions used for deciding the size of the rounded content viewport by the pref "privacy.resistFingerprinting.letterboxing.dimensions". This pref should be formated as 'width1xheight1, width2xheight2, ...'. We will find the dimensions which can fit into the real content size and have the smallest margins to be the rounded content viewport size. For example , given the set "400x200, 500x300, 800x500" and the real content size "600x300", we would round the content size into 500x300. --- browser/base/content/content.js| 4 + .../components/resistfingerprinting/RFPHelper.jsm | 288 - toolkit/components/resistfingerprinting/moz.build | 2 +- 3 files changed, 291 insertions(+), 3 deletions(-) diff --git a/browser/base/content/content.js b/browser/base/content/content.js index d04adab3095a..9d5aa51dbfc9 100644 --- a/browser/base/content/content.js +++ b/browser/base/content/content.js @@ -40,6 +40,10 @@ var contextMenu = this.contextMenu = new ContextMenu(global); // Load the form validation popup handler var formSubmitObserver = new FormSubmitObserver(content, this); +addEventListener("resize", function() { + sendAsyncMessage("Letterboxing:ContentSizeUpdated"); +}); + addMessageListener("RemoteLogins:fillForm", function(message) { // intercept if ContextMenu.jsm had sent a plain object for remote targets message.objects.inputElement = contextMenu.getTarget(message, "inputElement"); diff --git a/toolkit/components/resistfingerprinting/RFPHelper.jsm b/toolkit/components/resistfingerprinting/RFPHelper.jsm index 91630d7c169e..4fb889ab16fe 100755 --- a/toolkit/components/resistfingerprinting/RFPHelper.jsm +++ b/toolkit/components/resistfingerprinting/RFPHelper.jsm @@ -13,9 +13,18 @@ const kPrefResistFingerprinting = "privacy.resistFingerprinting"; const kPrefSpoofEnglish = "privacy.spoof_english"; const kTopicHttpOnModifyRequest = "http-on-modify-request"; +const kPrefLetterboxing = "privacy.resistFingerprinting.letterboxing"; +const kPrefLetterboxingDimensions = + "privacy.resistFingerprinting.letterboxing.dimensions"; +const kTopicDOMWindowOpened = "domwindowopened"; +const kEventLetterboxingSizeUpdate = "Letterboxing:ContentSizeUpdated"; + +const kDefaultWidthStepping = 200; +const kDefaultHeightStepping = 100; + class _RFPHelper { // - // Setup + // Shared Setup // constructor() { this._initialized = false; @@ -29,8 +38,13 @@ class _RFPHelper { // Add unconditional observers Services.prefs.addObserver(kPrefResistFingerprinting, this); -// Add RFP observers if the pref is enabled +Services.prefs.addObserver(kPrefLetterboxing, this); +XPCOMUtils.defineLazyPreferenceGetter(this, "_letterboxingDimensions", + kPrefLetterboxingDimensions, "", null, this._parseLetterboxingDimensions); + +// Add RFP and Letterboxing observers if prefs are enabled this._handleResistFingerprintingChanged(); +this._handleLetterboxingPrefChanged(); } uninit() { @@ -41,6 +55,7 @@ class _RFPHelper { // Remove unconditional observers Services.prefs.removeObserver(kPrefResistFingerprinting, this); +Services.prefs.removeObserver(kPrefLetterboxing, this); // Remove the RFP observers, swallowing exceptions if they weren't present this._removeRFPObservers(); } @@ -53,6 +68,36 @@ class _RFPHelper { case kTopicHttpOnModifyRequest: this._handleHttpOnModifyRequest(subject, data); break; + case kTopicDOMWindowOpened: +// We attach to the newly created window by adding tabsProgressListener +// and event listener on it. We listen for new tabs being added or +// the change of the content principal and apply margins accordingly. +this._handleDOMWindowOpened(subject); +break; + default: +break; +} + } + + handleEvent(aMessage) { +switch (aMessage.type) { + case "TabOpen": + { +let tab = aMessage.target; +this._addOrClearContentMargin(tab
[tor-commits] [tor-browser/tor-browser-60.6.1esr-9.0-1] Bug 1407366 - Part 4: Adding a test case for testing letterboxing. r=johannh
commit 610ad333716499f5f9cf704a1dd97e07d276f572 Author: Tom Ritter Date: Wed Apr 24 09:36:29 2019 -0500 Bug 1407366 - Part 4: Adding a test case for testing letterboxing. r=johannh This patch adds a test for ensuring the letterboxing works as we expect. It will open a tab and resize its window into several different sizes and to see if the margins are correctly apply. And it will also check that no margin should apply to a tab with chrome privilege. --- .../resistfingerprinting/test/browser/browser.ini | 1 + .../browser/browser_dynamical_window_rounding.js | 277 + modules/libpref/init/all.js| 3 + .../components/resistfingerprinting/RFPHelper.jsm | 35 ++- 4 files changed, 314 insertions(+), 2 deletions(-) diff --git a/browser/components/resistfingerprinting/test/browser/browser.ini b/browser/components/resistfingerprinting/test/browser/browser.ini index 024ee29907b4..1aa918b4574b 100644 --- a/browser/components/resistfingerprinting/test/browser/browser.ini +++ b/browser/components/resistfingerprinting/test/browser/browser.ini @@ -11,6 +11,7 @@ support-files = head.js [browser_block_mozAddonManager.js] +[browser_dynamical_window_rounding.js] [browser_navigator.js] [browser_netInfo.js] [browser_performanceAPI.js] diff --git a/browser/components/resistfingerprinting/test/browser/browser_dynamical_window_rounding.js b/browser/components/resistfingerprinting/test/browser/browser_dynamical_window_rounding.js new file mode 100644 index ..ea261b7820d7 --- /dev/null +++ b/browser/components/resistfingerprinting/test/browser/browser_dynamical_window_rounding.js @@ -0,0 +1,277 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * 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/. + * + * Bug 1407366 - A test case for reassuring the size of the content viewport is + * rounded if the window is resized when letterboxing is enabled. + */ + +const TEST_PATH = "http://example.net/browser/browser/components/resistfingerprinting/test/browser/";; + +const DEFAULT_ROUNDED_WIDTH_STEP = 200; +const DEFAULT_ROUNDED_HEIGHT_STEP = 100; + +// A set of test cases which defines the width and the height of the outer window. +const TEST_CASES = [ + {width: 1250, height: 1000}, + {width: 1500, height: 1050}, + {width: 1120, height: 760}, + {width: 800, height: 600}, + {width: 640, height: 400}, + {width: 500, height: 350}, + {width: 300, height: 170}, +]; + +function getPlatform() { + const {OS} = Services.appinfo; + if (OS == "WINNT") { +return "win"; + } else if (OS == "Darwin") { +return "mac"; + } + return "linux"; +} + +function handleOSFuzziness(aContent, aTarget) { + /* + * On Windows, we observed off-by-one pixel differences that + * couldn't be expained. When manually setting the window size + * to try to reproduce it; it did not occur. + */ + if (getPlatform() == "win") { +return Math.abs(aContent - aTarget) <= 1; + } + return aContent == aTarget; +} + +function checkForDefaultSetting( + aContentWidth, aContentHeight, aRealWidth, aRealHeight) { + // The default behavior for rounding is to round window with 200x100 stepping. + // So, we can get the rounded size by subtracting the remainder. + let targetWidth = aRealWidth - (aRealWidth % DEFAULT_ROUNDED_WIDTH_STEP); + let targetHeight = aRealHeight - (aRealHeight % DEFAULT_ROUNDED_HEIGHT_STEP); + + // This platform-specific code is explained in the large comment below. + if (getPlatform() != "linux") { +ok(handleOSFuzziness(aContentWidth, targetWidth), + `Default Dimensions: The content window width is correctly rounded into. ${aRealWidth}px -> ${aContentWidth}px should equal ${targetWidth}px`); + +ok(handleOSFuzziness(aContentHeight, targetHeight), + `Default Dimensions: The content window height is correctly rounded into. ${aRealHeight}px -> ${aContentHeight}px should equal ${targetHeight}px`); + +// Using ok() above will cause Win/Mac to fail on even the first test, we don't need to repeat it, return true so waitForCondition ends +return true; + } + // Returning true or false depending on if the test succeeded will cause Linux to repeat until it succeeds. + return handleOSFuzziness(aContentWidth, targetWidth) && handleOSFuzziness(aContentHeight, targetHeight); +} + +async function test_dynamical_window_rounding(aWindow, aCheckFunc) { + // We need to wait for the updating the margins for the newly opened tab, or + // it will affect the following tests. + let promiseForTheFirstRounding = +TestUtils.topicObserved("test:letterboxing:update-margin-finish"); + + info("Open a content tab for testing."); + let tab = await BrowserTestUtils.openNewForegroundTab( +aWindow.gBrowser, TEST_PATH + "file_dummy.html"); + + info("Wait until the margins are applied for the opened tab.
[tor-commits] [tor-browser/tor-browser-60.6.1esr-9.0-1] Bug 1407366 - Part 5: Reset the Zoom in browser_bug1369357_site_specific_zoom_level.js r=johann
commit 003019c16626dc515d5fe9defb999be1ab8ad397 Author: Tom Ritter Date: Wed Apr 24 09:37:12 2019 -0500 Bug 1407366 - Part 5: Reset the Zoom in browser_bug1369357_site_specific_zoom_level.js r=johann This test changes the browser zoom level; but does not reset it; causing subsequant tests to be run with a zoom. This may cause them to fail. --- .../test/browser/browser_bug1369357_site_specific_zoom_level.js | 2 ++ .../test/browser/browser_dynamical_window_rounding.js | 4 2 files changed, 6 insertions(+) diff --git a/browser/components/resistfingerprinting/test/browser/browser_bug1369357_site_specific_zoom_level.js b/browser/components/resistfingerprinting/test/browser/browser_bug1369357_site_specific_zoom_level.js index b4af91ebf980..4a4c36015b5c 100644 --- a/browser/components/resistfingerprinting/test/browser/browser_bug1369357_site_specific_zoom_level.js +++ b/browser/components/resistfingerprinting/test/browser/browser_bug1369357_site_specific_zoom_level.js @@ -25,6 +25,8 @@ add_task(async function() { isnot(tab3Zoom, tab1Zoom, "privacy.resistFingerprinting is true, site-specific zoom level should be disabled"); + await FullZoom.reset(); + await BrowserTestUtils.removeTab(tab1); await BrowserTestUtils.removeTab(tab2); await BrowserTestUtils.removeTab(tab3); diff --git a/browser/components/resistfingerprinting/test/browser/browser_dynamical_window_rounding.js b/browser/components/resistfingerprinting/test/browser/browser_dynamical_window_rounding.js index ea261b7820d7..ae8055a49ce5 100644 --- a/browser/components/resistfingerprinting/test/browser/browser_dynamical_window_rounding.js +++ b/browser/components/resistfingerprinting/test/browser/browser_dynamical_window_rounding.js @@ -4,6 +4,10 @@ * * Bug 1407366 - A test case for reassuring the size of the content viewport is * rounded if the window is resized when letterboxing is enabled. + * + * A helpful note: if this test starts randomly failing; it may be because the + * zoom level was not reset by an earlier-run test. See Bug 1407366 for an + * example. */ const TEST_PATH = "http://example.net/browser/browser/components/resistfingerprinting/test/browser/";; ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor-browser/tor-browser-60.6.1esr-9.0-1] Bug 1548634 - Update the default letterboxing behavior to use stepped ranges r=johannh
commit 166a752ab22ef1415c250eff37e1ada3f2f24915 Author: Tom Ritter Date: Tue May 7 16:06:43 2019 + Bug 1548634 - Update the default letterboxing behavior to use stepped ranges r=johannh Differential Revision: https://phabricator.services.mozilla.com/D29759 --- .../browser/browser_dynamical_window_rounding.js | 11 -- .../components/resistfingerprinting/RFPHelper.jsm | 25 +- 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/browser/components/resistfingerprinting/test/browser/browser_dynamical_window_rounding.js b/browser/components/resistfingerprinting/test/browser/browser_dynamical_window_rounding.js index ae8055a49ce5..784fb42b8631 100644 --- a/browser/components/resistfingerprinting/test/browser/browser_dynamical_window_rounding.js +++ b/browser/components/resistfingerprinting/test/browser/browser_dynamical_window_rounding.js @@ -11,9 +11,7 @@ */ const TEST_PATH = "http://example.net/browser/browser/components/resistfingerprinting/test/browser/";; - -const DEFAULT_ROUNDED_WIDTH_STEP = 200; -const DEFAULT_ROUNDED_HEIGHT_STEP = 100; +const { RFPHelper } = ChromeUtils.import("resource://gre/modules/RFPHelper.jsm"); // A set of test cases which defines the width and the height of the outer window. const TEST_CASES = [ @@ -50,10 +48,9 @@ function handleOSFuzziness(aContent, aTarget) { function checkForDefaultSetting( aContentWidth, aContentHeight, aRealWidth, aRealHeight) { - // The default behavior for rounding is to round window with 200x100 stepping. - // So, we can get the rounded size by subtracting the remainder. - let targetWidth = aRealWidth - (aRealWidth % DEFAULT_ROUNDED_WIDTH_STEP); - let targetHeight = aRealHeight - (aRealHeight % DEFAULT_ROUNDED_HEIGHT_STEP); + // We can get the rounded size by subtracting twice the margin. + let targetWidth = aRealWidth - (2 * RFPHelper.steppedRange(aRealWidth)); + let targetHeight = aRealHeight - (2 * RFPHelper.steppedRange(aRealHeight)); // This platform-specific code is explained in the large comment below. if (getPlatform() != "linux") { diff --git a/toolkit/components/resistfingerprinting/RFPHelper.jsm b/toolkit/components/resistfingerprinting/RFPHelper.jsm index 2f3a1dd0e659..5f23d0679b53 100755 --- a/toolkit/components/resistfingerprinting/RFPHelper.jsm +++ b/toolkit/components/resistfingerprinting/RFPHelper.jsm @@ -21,9 +21,6 @@ const kPrefLetterboxingTesting = const kTopicDOMWindowOpened = "domwindowopened"; const kEventLetterboxingSizeUpdate = "Letterboxing:ContentSizeUpdated"; -const kDefaultWidthStepping = 200; -const kDefaultHeightStepping = 100; - var logConsole; function log(msg) { if (!logConsole) { @@ -338,6 +335,24 @@ class _RFPHelper { } /** + * Given a width or height, returns the appropriate margin to apply. + */ + steppedRange(aDimension) { +let stepping; +if (aDimension <= 50) { + return 0; +} else if (aDimension <= 500) { + stepping = 50; +} else if (aDimension <= 1600) { + stepping = 100; +} else { + stepping = 200; +} + +return (aDimension % stepping) / 2; + } + + /** * The function will round the given browser by adding margins around the * content viewport. */ @@ -373,8 +388,8 @@ class _RFPHelper { // stepping size. if (!this._letterboxingDimensions.length) { result = { - width: (aWidth % kDefaultWidthStepping) / 2, - height: (aHeight % kDefaultHeightStepping) / 2, + width: this.steppedRange(aWidth), + height: this.steppedRange(aHeight), }; log("_roundContentView[" + logId + "] calcMargins(" + aWidth + ", " + aHeight + ") = " + result.width + " x " + result.height); return result; ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tbmanual-contentspot] Update translations for tbmanual-contentspot
commit d99adf20a01d98e5ee5c38fabd8e2581cf4f8fb9 Author: Translation commit bot Date: Fri May 17 07:47:53 2019 + Update translations for tbmanual-contentspot --- contents+ms_MY.po | 53 + 1 file changed, 45 insertions(+), 8 deletions(-) diff --git a/contents+ms_MY.po b/contents+ms_MY.po index 67d6d9963..dbc86b6dc 100644 --- a/contents+ms_MY.po +++ b/contents+ms_MY.po @@ -1334,16 +1334,18 @@ msgid "" "At this level, all browser features are enabled. This is the most usable " "option." msgstr "" +"Pada tahap ini, semua fitur pelayar dibenarkan. Ini adalah pilihan yang " +"banyak digunakan." #: https//tb-manual.torproject.org/en-US/updating/ #: (content/updating/contents+en-US.lrtopic.title) msgid "Updating" -msgstr "" +msgstr "Mengemaskini" #: https//tb-manual.torproject.org/en-US/updating/ #: (content/updating/contents+en-US.lrtopic.description) msgid "How to update Tor Browser" -msgstr "" +msgstr "Bagaimana hendak mengemaskini Pelayar Tor" #: https//tb-manual.torproject.org/en-US/updating/ #: (content/updating/contents+en-US.lrtopic.body) @@ -1352,6 +1354,9 @@ msgid "" "outdated version of the software, you may be vulnerable to serious security " "flaws that compromise your privacy and anonymity." msgstr "" +"Pelayar Tor mesti dikemaskini sepanjang masa. Jika anda terus menerus " +"menggunakan versi lapuk perisian ini, anda boleh terdedah dengan kepincangan" +" keselamatan yang serius dan boleh menggugat privasi dan keawanamaan anda." #: https//tb-manual.torproject.org/en-US/updating/ #: (content/updating/contents+en-US.lrtopic.body) @@ -1369,12 +1374,12 @@ msgstr "" #: https//tb-manual.torproject.org/en-US/updating/ #: (content/updating/contents+en-US.lrtopic.body) msgid "# Updating Tor Browser automatically" -msgstr "" +msgstr "# Mengemaskini Pelayar Tor secara automatik" #: https//tb-manual.torproject.org/en-US/updating/ #: (content/updating/contents+en-US.lrtopic.body) msgid "" -msgstr "" +msgstr "" #: https//tb-manual.torproject.org/en-US/updating/ #: (content/updating/contents+en-US.lrtopic.body) @@ -1388,7 +1393,7 @@ msgstr "" #: https//tb-manual.torproject.org/en-US/updating/ #: (content/updating/contents+en-US.lrtopic.body) msgid "" -msgstr "" +msgstr "" #: https//tb-manual.torproject.org/en-US/updating/ #: (content/updating/contents+en-US.lrtopic.body) @@ -1396,11 +1401,13 @@ msgid "" "When Tor Browser has finished checking for updates, click on the âUpdateâ " "button." msgstr "" +"Ketika Pelayar Tor selesai memeriksa kemaskininya, klik pada butang " +"\"Kemaskini\"." #: https//tb-manual.torproject.org/en-US/updating/ #: (content/updating/contents+en-US.lrtopic.body) msgid "" -msgstr "" +msgstr "" #: https//tb-manual.torproject.org/en-US/updating/ #: (content/updating/contents+en-US.lrtopic.body) @@ -1408,11 +1415,13 @@ msgid "" "Wait for the update to download and install, then restart Tor Browser. You " "will now be running the latest version." msgstr "" +"Tunggu sehingga kemaskini dimuat turun dan dipasang, kemudian mulakan semula" +" Pelayar Tor. Kini anda boleh menjalankan versinya yang terkini." #: https//tb-manual.torproject.org/en-US/updating/ #: (content/updating/contents+en-US.lrtopic.body) msgid "# Updating Tor Browser manually" -msgstr "" +msgstr "# Mengemaskini Pelayar Tor secara manual" #: https//tb-manual.torproject.org/en-US/updating/ #: (content/updating/contents+en-US.lrtopic.body) @@ -1420,6 +1429,8 @@ msgid "" "When you are prompted to update Tor Browser, finish the browsing session and" " close the program." msgstr "" +"Bila anda mendapat makluman kemaskini Pelayar Tor, hentikan sesi pelayaran " +"kemudian tutup aplikasi." #: https//tb-manual.torproject.org/en-US/updating/ #: (content/updating/contents+en-US.lrtopic.body) @@ -1428,6 +1439,9 @@ msgid "" "(see the Uninstalling section for more " "information)." msgstr "" +"Buang Pelayar Tor dalam sistem anda dengan memadam folder yang dikandunginya" +" (silar rujuk seksyen Menyahpasang untuk maklumat" +" lanjut)." #: https//tb-manual.torproject.org/en-US/updating/ #: (content/updating/contents+en-US.lrtopic.body) @@ -1437,11 +1451,15 @@ msgid "" " and download a copy of the latest Tor Browser release, then install it as " "before." msgstr "" +"Lawati https://www.torproject.org/projects/torbrowser.html.en\";>https://www.torproject.org/projects/torbrowser.html.en" +" dan muat turun satu salinan keluaran Pelayar Tor yang terkini, kemudian " +"pasang ia seperti biasa." #: https//tb-manual.torproject.org/en-US/plugins/ #: (content/plugins/contents+en-US.lrtopic.title) msgid "Plugins, add-ons and JavaScript" -msgstr "" +msgstr "Pemalam, tambahan dan Skrip Java" #: https//tb-manual.torproject.org/en-US/plugins/ #: (content/plugins/contents+en-US.lrtopic.description) @@ -1464,6 +1482,13 @@ msgid "" "operators, or to an outside observer. For this reason, Flash
[tor-commits] [tor-browser-build/master] Bug 30284: Fix broken start-up on KitKat devices
commit 7caff7a3f547ca251ebea67e7a7d738185463388 Author: Georg Koppen Date: Thu May 16 21:45:37 2019 + Bug 30284: Fix broken start-up on KitKat devices Fix by sisbell --- projects/tor-onion-proxy-library/30284.patch | 22 ++ projects/tor-onion-proxy-library/build | 1 + projects/tor-onion-proxy-library/config | 1 + 3 files changed, 24 insertions(+) diff --git a/projects/tor-onion-proxy-library/30284.patch b/projects/tor-onion-proxy-library/30284.patch new file mode 100644 index 000..a3594b9 --- /dev/null +++ b/projects/tor-onion-proxy-library/30284.patch @@ -0,0 +1,22 @@ +From 4402f247643c7b3b730f0facaf1c45dc02d5721f Mon Sep 17 00:00:00 2001 +From: sisbell +Date: Thu, 16 May 2019 21:33:06 + +Subject: [PATCH] Fixes thaliproject#120: Tor Startup Broken on KitKat Devices + + +diff --git a/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfig.java b/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfig.java +index 3df0f12..1ab7c2d 100644 +--- a/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfig.java b/universal/src/main/java/com/msopentech/thali/toronionproxy/TorConfig.java +@@ -372,7 +372,7 @@ public final class TorConfig { + public TorConfig build() { + if(homeDir == null) { + String userHome = System.getProperty("user.home"); +-homeDir = (userHome != null && !"".equals(userHome)) ? new File(userHome) : configDir; ++homeDir = (userHome != null && !"".equals(userHome) && !"/".equals(userHome)) ? new File(userHome) : configDir; + } + + if (torExecutableFile == null) { +-- +2.20.1 + diff --git a/projects/tor-onion-proxy-library/build b/projects/tor-onion-proxy-library/build index defedde..e674061 100644 --- a/projects/tor-onion-proxy-library/build +++ b/projects/tor-onion-proxy-library/build @@ -20,6 +20,7 @@ tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.gz cd /var/tmp/build/[% project %]-[% c('version') %] patch -p1 < $rootdir/maven-repo.patch patch -p1 < $rootdir/add_socks_port_flags.patch +patch -p1 < $rootdir/30284.patch # Build Android Libraries and Apps $GRADLE_HOME/gradle-4.1/bin/gradle --offline -P androidplugin=3.0.1 assembleRelease -x lint diff --git a/projects/tor-onion-proxy-library/config b/projects/tor-onion-proxy-library/config index 889b30d..9db33bd 100644 --- a/projects/tor-onion-proxy-library/config +++ b/projects/tor-onion-proxy-library/config @@ -30,3 +30,4 @@ input_files: exec: '[% INCLUDE "fetch-gradle-dependencies" %]' - filename: maven-repo.patch - filename: add_socks_port_flags.patch + - filename: 30284.patch ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tbmanual-contentspot] Update translations for tbmanual-contentspot
commit 177e85d65219c850eb4642c7a1573e4daef84620 Author: Translation commit bot Date: Fri May 17 08:17:52 2019 + Update translations for tbmanual-contentspot --- contents+ms_MY.po | 61 +-- 1 file changed, 55 insertions(+), 6 deletions(-) diff --git a/contents+ms_MY.po b/contents+ms_MY.po index dbc86b6dc..7b973705d 100644 --- a/contents+ms_MY.po +++ b/contents+ms_MY.po @@ -1045,7 +1045,7 @@ msgstr "" #: https//tb-manual.torproject.org/en-US/onion-services/ #: (content/onion-services/contents+en-US.lrtopic.body) msgid "# Troubleshooting" -msgstr "" +msgstr "# Pencarisilapan" #: https//tb-manual.torproject.org/en-US/onion-services/ #: (content/onion-services/contents+en-US.lrtopic.body) @@ -1054,6 +1054,9 @@ msgid "" "entered the onion address correctly: even a small mistake will stop Tor " "Browser from being able to reach the site." msgstr "" +"Jika anda tidak dapat mencapai perkhidmatan onion yang dikehendaki, pastikan" +" anda telah masukkan alamat onion dengan betul: ini kerana kesilapan kecil " +"akan mengakibatkan Pelayar Tor gagal mencapai laman tersebut." #: https//tb-manual.torproject.org/en-US/onion-services/ #: (content/onion-services/contents+en-US.lrtopic.body) @@ -1074,12 +1077,14 @@ msgstr "" #: https//tb-manual.torproject.org/en-US/secure-connections/ #: (content/secure-connections/contents+en-US.lrtopic.title) msgid "Secure Connections" -msgstr "" +msgstr "Sambungan-Sambungan Selamat" #: https//tb-manual.torproject.org/en-US/secure-connections/ #: (content/secure-connections/contents+en-US.lrtopic.description) msgid "Learn how to protect your data using Tor Browser and HTTPS" msgstr "" +"Ketahui bagaimana hendak melindungi data anda menggunakan Pelayar Tor dan " +"HTTPS" #: https//tb-manual.torproject.org/en-US/secure-connections/ #: (content/secure-connections/contents+en-US.lrtopic.body) @@ -1091,11 +1096,18 @@ msgid "" " verify this in the URL bar: if your connection is encrypted, the address " "will begin with âhttps://â, rather than âhttp://â."; msgstr "" +"Jika maklumat peribadi seperti kata laluan daftar masuk merentasi Internet " +"tanpa disulitkan, ia boleh dipintas oleh si pengintip. Jika anda mahu " +"mendaftar masuk ke mana-mana laman sesawang, pastikan laman tersebut " +"menawarkan penyulitan HTTPS. Ia dapat melindungi anda terhadap pengintipan " +"jenis ini. Anda boleh mengesahkannya pada palang URL; iaitu sekiranya " +"sambungan anda tersulit, alamat akan bermula dengan âhttps://â, bukannya " +"âhttp://â."; #: https//tb-manual.torproject.org/en-US/secure-connections/ #: (content/secure-connections/contents+en-US.lrtopic.body) msgid "" -msgstr "" +msgstr "" #: https//tb-manual.torproject.org/en-US/secure-connections/ #: (content/secure-connections/contents+en-US.lrtopic.body) @@ -1103,11 +1115,13 @@ msgid "" "The following visualization shows what information is visible to " "eavesdroppers with and without Tor Browser and HTTPS encryption:" msgstr "" +"Pengvisualan berikut menunjukkan maklumat yang dapat dilihat oleh pengintip " +"dengan atau tanpa Pelayar Tor dan penyulitan HTTPS." #: https//tb-manual.torproject.org/en-US/secure-connections/ #: (content/secure-connections/contents+en-US.lrtopic.body) msgid "" -msgstr "" +msgstr "" #: https//tb-manual.torproject.org/en-US/secure-connections/ #: (content/secure-connections/contents+en-US.lrtopic.body) @@ -1115,6 +1129,9 @@ msgid "" "* Click the âTorâ button to see what data is visible to observers when " "you're using Tor. The button will turn green to indicate that Tor is on." msgstr "" +"* Klik butang âTorâ untuk melihat apakah data yang boleh dibaca oleh " +"pemantau jika anda menggunakan Tor. Butang akan menjadi warna hijau jika Tor" +" dihidupkan." #: https//tb-manual.torproject.org/en-US/secure-connections/ #: (content/secure-connections/contents+en-US.lrtopic.body) @@ -1122,6 +1139,9 @@ msgid "" "* Click the âHTTPSâ button to see what data is visible to observers when " "you're using HTTPS. The button will turn green to indicate that HTTPS is on." msgstr "" +"* Klik butang âHTTPSâ untuk melihat apakah data yang boleh dibaca oleh " +"pemantau jika anda menggunakan HTTPS. Butang akan menjadi warna hijau jika " +"HTTPS hadir." #: https//tb-manual.torproject.org/en-US/secure-connections/ #: (content/secure-connections/contents+en-US.lrtopic.body) @@ -1129,6 +1149,8 @@ msgid "" "* When both buttons are green, you see the data that is visible to observers" " when you are using both tools." msgstr "" +"* Bila kedua-dua butang menjadi warna hijau, anda dapat melihat apakah data " +"yang boleh dibaca oleh pemantau bila kedua-dua alat ini digunakan." #: https//tb-manual.torproject.org/en-US/secure-connections/ #: (content/secure-connections/contents+en-US.lrtopic.body) @@ -1136,11 +1158,14 @@ msgid "" "* When both buttons are grey, you see the data that
[tor-commits] [translation/tbmanual-contentspot] Update translations for tbmanual-contentspot
commit e815b8f0fbaae82011a8b5e216461df6919bd8c3 Author: Translation commit bot Date: Fri May 17 08:47:47 2019 + Update translations for tbmanual-contentspot --- contents+ms_MY.po | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/contents+ms_MY.po b/contents+ms_MY.po index 7b973705d..1f587dd5b 100644 --- a/contents+ms_MY.po +++ b/contents+ms_MY.po @@ -1022,7 +1022,7 @@ msgstr "" #: https//tb-manual.torproject.org/en-US/onion-services/ #: (content/onion-services/contents+en-US.lrtopic.body) msgid "# How to access an onion service" -msgstr "" +msgstr "# Bagaimana hendak mencapai perkhidmatan onion" #: https//tb-manual.torproject.org/en-US/onion-services/ #: (content/onion-services/contents+en-US.lrtopic.body) @@ -1031,6 +1031,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 "" +"Sepertimana laman sesawang yang lain, anda perlu tahu alamat perkhidmatan " +"onion untuk menyambung dengannya. Alamat onion ialah satu rentetan 16 (dan " +"dalam format V3, 56) dengan nombor dan abjad dirawakkan, dan diikuti dengan " +"\".onion\"." #: https//tb-manual.torproject.org/en-US/onion-services/ #: (content/onion-services/contents+en-US.lrtopic.body) @@ -1065,6 +1069,9 @@ msgid "" "later. There may be a temporary connection issue, or the site operators may " "have allowed it to go offline without warning." msgstr "" +"Jika anda masih tidak dapat menyambung dengan perkhidmatan onion, cuba " +"sekali lagi. Mungkin ada masalah-masalah sambungan buat sementara, atau " +"laman tersebut berada diluar talian tanpa apa-apa amaran dikeluarkan." #: https//tb-manual.torproject.org/en-US/onion-services/ #: (content/onion-services/contents+en-US.lrtopic.body) @@ -1073,6 +1080,9 @@ msgid "" "connecting to http://3g2upl4pq6kufc4m.onion/\";>DuckDuckGo's Onion " "Service" msgstr "" +"Anda boleh memastikan dapat mencapai lain-lain perkhidmatan onion dengan " +"menyambung ke http://3g2upl4pq6kufc4m.onion/\";>Perkhidmatan Onion " +"DuckDuckGo" #: https//tb-manual.torproject.org/en-US/secure-connections/ #: (content/secure-connections/contents+en-US.lrtopic.title) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/torbutton-torbuttondtd] specially pushed for 30464
commit 26d3c2ad0f31e093d85ba6230e096f6fa8ce9779 Author: Translation commit bot Date: Fri May 17 10:47:03 2019 + specially pushed for 30464 --- ach/torbutton.dtd | 2 +- af/torbutton.dtd| 2 +- ar/torbutton.dtd| 2 +- ast/torbutton.dtd | 2 +- az/torbutton.dtd| 2 +- be/torbutton.dtd| 2 +- bg/torbutton.dtd| 2 +- bn-BD/torbutton.dtd | 2 +- br/torbutton.dtd| 2 +- bs/torbutton.dtd| 2 +- ca/torbutton.dtd| 2 +- cs/torbutton.dtd| 2 +- cy/torbutton.dtd| 2 +- da/torbutton.dtd| 2 +- de/torbutton.dtd| 2 +- el/torbutton.dtd| 2 +- en-GB/torbutton.dtd | 2 +- en-US/torbutton.dtd | 2 +- en/torbutton.dtd| 2 +- eo/torbutton.dtd| 2 +- es-AR/torbutton.dtd | 2 +- es-ES/torbutton.dtd | 2 +- es-MX/torbutton.dtd | 2 +- et/torbutton.dtd| 2 +- eu/torbutton.dtd| 2 +- fa/torbutton.dtd| 2 +- fi/torbutton.dtd| 2 +- fr/torbutton.dtd| 2 +- fy-NL/torbutton.dtd | 2 +- ga-IE/torbutton.dtd | 2 +- gd/torbutton.dtd| 2 +- gl/torbutton.dtd| 2 +- gu-IN/torbutton.dtd | 2 +- he/torbutton.dtd| 2 +- hi-IN/torbutton.dtd | 2 +- hr/torbutton.dtd| 2 +- hu/torbutton.dtd| 2 +- hy-AM/torbutton.dtd | 2 +- id/torbutton.dtd| 2 +- is/torbutton.dtd| 2 +- it/torbutton.dtd| 2 +- ja/torbutton.dtd| 2 +- ka/torbutton.dtd| 2 +- kk/torbutton.dtd| 2 +- km/torbutton.dtd| 2 +- kn/torbutton.dtd| 2 +- ko/torbutton.dtd| 2 +- lt/torbutton.dtd| 2 +- lv/torbutton.dtd| 2 +- mk/torbutton.dtd| 2 +- ml/torbutton.dtd| 2 +- mr/torbutton.dtd| 2 +- ms/torbutton.dtd| 2 +- my/torbutton.dtd| 2 +- nb-NO/torbutton.dtd | 2 +- ne/torbutton.dtd| 2 +- nl-BE/torbutton.dtd | 2 +- nl/torbutton.dtd| 2 +- nn-NO/torbutton.dtd | 2 +- oc/torbutton.dtd| 2 +- or/torbutton.dtd| 2 +- pa-IN/torbutton.dtd | 2 +- pl/torbutton.dtd| 2 +- pt-BR/torbutton.dtd | 2 +- pt-PT/torbutton.dtd | 2 +- ro/torbutton.dtd| 2 +- ru/torbutton.dtd| 2 +- si/torbutton.dtd| 2 +- sk/torbutton.dtd| 2 +- sl/torbutton.dtd| 2 +- son/torbutton.dtd | 2 +- sq/torbutton.dtd| 2 +- sr/torbutton.dtd| 2 +- sv-SE/torbutton.dtd | 2 +- sw/torbutton.dtd| 2 +- ta/torbutton.dtd| 2 +- te/torbutton.dtd| 2 +- th/torbutton.dtd| 2 +- tr/torbutton.dtd| 2 +- uk/torbutton.dtd| 2 +- ur/torbutton.dtd| 2 +- uz/torbutton.dtd| 2 +- vi/torbutton.dtd| 2 +- zh-CN/torbutton.dtd | 2 +- zh-HK/torbutton.dtd | 2 +- zh-TW/torbutton.dtd | 2 +- 86 files changed, 86 insertions(+), 86 deletions(-) diff --git a/ach/torbutton.dtd b/ach/torbutton.dtd index 83b1ffb50..2e106f60f 100644 --- a/ach/torbutton.dtd +++ b/ach/torbutton.dtd @@ -36,6 +36,6 @@ - + diff --git a/af/torbutton.dtd b/af/torbutton.dtd index 83b1ffb50..2e106f60f 100644 --- a/af/torbutton.dtd +++ b/af/torbutton.dtd @@ -36,6 +36,6 @@ - + diff --git a/ar/torbutton.dtd b/ar/torbutton.dtd index 9c2b5292a..1b0a01cde 100644 --- a/ar/torbutton.dtd +++ b/ar/torbutton.dtd @@ -36,6 +36,6 @@ - + diff --git a/ast/torbutton.dtd b/ast/torbutton.dtd index 83b1ffb50..2e106f60f 100644 --- a/ast/torbutton.dtd +++ b/ast/torbutton.dtd @@ -36,6 +36,6 @@ - + diff --git a/az/torbutton.dtd b/az/torbutton.dtd index 318eaaa89..db3d196dc 100644 --- a/az/torbutton.dtd +++ b/az/torbutton.dtd @@ -36,6 +36,6 @@ - + diff --git a/be/torbutton.dtd b/be/torbutton.dtd index 9d370e375..0f8442bb6 100644 --- a/be/torbutton.dtd +++ b/be/torbutton.dtd @@ -36,6 +36,6 @@ - + diff --git a/bg/torbutton.dtd b/bg/torbutton.dtd index 8c86d702f..0228579de 100644 --- a/bg/torbutton.dtd +++ b/bg/torbutton.dtd @@ -36,6 +36,6 @@ - + diff --git a/bn-BD/torbutton.dtd b/bn-BD/torbutton.dtd index 27be1a9ac..1157450ed 100644 --- a/bn-BD/torbutton.dtd +++ b/bn-BD/torbutton.dtd @@ -36,6 +36,6 @@ - + diff --git a/br/torbutton.dtd b/br/torbutton.dtd index 6eda3f6e5..d24b8a447 100644 --- a/br/torbutton.dtd +++ b/br/torbutton.dtd @@ -36,6 +36,6 @@ - + diff --git a/bs/torbutton.dtd b/bs/torbutton.dtd index 18f75ff7c..ed76d1241 100644 --- a/bs/torbutton.dtd +++ b/bs/torbutton.dtd @@ -36,6 +36,6 @@ - + diff --git a/ca/torbutton.dtd b/ca/torbutton.dtd index 7537e1d75..3adef8eea 100644 --- a/ca/torbutton.dtd +++ b/ca/torbutton.dtd @@ -36,6 +36,6 @@ - + diff --git a/cs/torbutton.dtd b/cs/torbutton.dtd index 1a4feeed5..ae92cd70b 100644 --- a/cs/torbutton.dtd +++ b/cs/torbutton.dtd @@ -36,6 +36,6 @@ - + diff --git a/cy/torbutton.dtd b/cy/torbutton.dtd index 66893d7d6..0622e99b8 100644 --- a/cy/torbutton.dtd +++ b/cy/torbutton.dtd @@ -36,6 +36,6 @@ - + diff --git a/da/torbutton.dtd b/da/torbutton.dtd index 4fa64baa7..6e3b1ef9e 100644 --- a/da/torbutton.dtd +++ b/da/torbutton.dtd @@ -36,6 +36,6 @@ - + diff --git a/de/torbutton.dtd b/de/torbutton.dtd index c3d815f04..9e0445435 100644 --- a/de/torbutton.dtd ++
[tor-commits] [translation/torbutton-torbuttondtd_completed] Update translations for torbutton-torbuttondtd_completed
commit 94fb4acc88733d35a383d5effc05dc94c5cc5fa3 Author: Translation commit bot Date: Fri May 17 10:49:41 2019 + Update translations for torbutton-torbuttondtd_completed --- ar/torbutton.dtd| 2 +- bn-BD/torbutton.dtd | 2 +- ca/torbutton.dtd| 2 +- cs/torbutton.dtd| 2 +- da/torbutton.dtd| 2 +- de/torbutton.dtd| 2 +- el/torbutton.dtd| 2 +- en-GB/torbutton.dtd | 2 +- en-US/torbutton.dtd | 2 +- en/torbutton.dtd| 2 +- es-AR/torbutton.dtd | 2 +- es-ES/torbutton.dtd | 2 +- et/torbutton.dtd| 2 +- fa/torbutton.dtd| 2 +- fi/torbutton.dtd| 2 +- fr/torbutton.dtd| 2 +- ga-IE/torbutton.dtd | 2 +- he/torbutton.dtd| 2 +- hr/torbutton.dtd| 2 +- hu/torbutton.dtd| 2 +- id/torbutton.dtd| 2 +- is/torbutton.dtd| 2 +- it/torbutton.dtd| 2 +- ja/torbutton.dtd| 2 +- ka/torbutton.dtd| 2 +- ko/torbutton.dtd| 2 +- lt/torbutton.dtd| 2 +- mk/torbutton.dtd| 2 +- ms/torbutton.dtd| 2 +- nb-NO/torbutton.dtd | 2 +- nl/torbutton.dtd| 2 +- pl/torbutton.dtd| 2 +- pt-BR/torbutton.dtd | 2 +- pt-PT/torbutton.dtd | 2 +- ro/torbutton.dtd| 2 +- ru/torbutton.dtd| 2 +- sk/torbutton.dtd| 2 +- sv-SE/torbutton.dtd | 2 +- ta/torbutton.dtd| 2 +- tr/torbutton.dtd| 2 +- uk/torbutton.dtd| 2 +- vi/torbutton.dtd| 2 +- zh-CN/torbutton.dtd | 2 +- zh-TW/torbutton.dtd | 2 +- 44 files changed, 44 insertions(+), 44 deletions(-) diff --git a/ar/torbutton.dtd b/ar/torbutton.dtd index 9c2b5292a..1b0a01cde 100644 --- a/ar/torbutton.dtd +++ b/ar/torbutton.dtd @@ -36,6 +36,6 @@ - + diff --git a/bn-BD/torbutton.dtd b/bn-BD/torbutton.dtd index 27be1a9ac..1157450ed 100644 --- a/bn-BD/torbutton.dtd +++ b/bn-BD/torbutton.dtd @@ -36,6 +36,6 @@ - + diff --git a/ca/torbutton.dtd b/ca/torbutton.dtd index 7537e1d75..3adef8eea 100644 --- a/ca/torbutton.dtd +++ b/ca/torbutton.dtd @@ -36,6 +36,6 @@ - + diff --git a/cs/torbutton.dtd b/cs/torbutton.dtd index 1a4feeed5..ae92cd70b 100644 --- a/cs/torbutton.dtd +++ b/cs/torbutton.dtd @@ -36,6 +36,6 @@ - + diff --git a/da/torbutton.dtd b/da/torbutton.dtd index 4fa64baa7..6e3b1ef9e 100644 --- a/da/torbutton.dtd +++ b/da/torbutton.dtd @@ -36,6 +36,6 @@ - + diff --git a/de/torbutton.dtd b/de/torbutton.dtd index c3d815f04..9e0445435 100644 --- a/de/torbutton.dtd +++ b/de/torbutton.dtd @@ -37,6 +37,6 @@ - + diff --git a/el/torbutton.dtd b/el/torbutton.dtd index 4f474387c..83f40ded9 100644 --- a/el/torbutton.dtd +++ b/el/torbutton.dtd @@ -36,6 +36,6 @@ - + diff --git a/en-GB/torbutton.dtd b/en-GB/torbutton.dtd index ff707c14d..298e26e88 100644 --- a/en-GB/torbutton.dtd +++ b/en-GB/torbutton.dtd @@ -36,6 +36,6 @@ - + diff --git a/en-US/torbutton.dtd b/en-US/torbutton.dtd index 83b1ffb50..2e106f60f 100644 --- a/en-US/torbutton.dtd +++ b/en-US/torbutton.dtd @@ -36,6 +36,6 @@ - + diff --git a/en/torbutton.dtd b/en/torbutton.dtd index 83b1ffb50..2e106f60f 100644 --- a/en/torbutton.dtd +++ b/en/torbutton.dtd @@ -36,6 +36,6 @@ - + diff --git a/es-AR/torbutton.dtd b/es-AR/torbutton.dtd index 3d2315afb..b899ae2ee 100644 --- a/es-AR/torbutton.dtd +++ b/es-AR/torbutton.dtd @@ -36,6 +36,6 @@ - + diff --git a/es-ES/torbutton.dtd b/es-ES/torbutton.dtd index 2c7a8921d..a6a5c04f3 100644 --- a/es-ES/torbutton.dtd +++ b/es-ES/torbutton.dtd @@ -36,6 +36,6 @@ - + diff --git a/et/torbutton.dtd b/et/torbutton.dtd index ae7cb200d..ed56c56c5 100644 --- a/et/torbutton.dtd +++ b/et/torbutton.dtd @@ -36,6 +36,6 @@ - + diff --git a/fa/torbutton.dtd b/fa/torbutton.dtd index b748951f2..60f0fb925 100644 --- a/fa/torbutton.dtd +++ b/fa/torbutton.dtd @@ -36,6 +36,6 @@ - + diff --git a/fi/torbutton.dtd b/fi/torbutton.dtd index 987ba4601..236538032 100644 --- a/fi/torbutton.dtd +++ b/fi/torbutton.dtd @@ -36,6 +36,6 @@ - + diff --git a/fr/torbutton.dtd b/fr/torbutton.dtd index 00e028efc..ddfeaf40c 100644 --- a/fr/torbutton.dtd +++ b/fr/torbutton.dtd @@ -36,6 +36,6 @@ - + diff --git a/ga-IE/torbutton.dtd b/ga-IE/torbutton.dtd index 6f92b5bfc..68191bc33 100644 --- a/ga-IE/torbutton.dtd +++ b/ga-IE/torbutton.dtd @@ -36,6 +36,6 @@ - + diff --git a/he/torbutton.dtd b/he/torbutton.dtd index 813eb0aa6..a2f5e3d51 100644 --- a/he/torbutton.dtd +++ b/he/torbutton.dtd @@ -36,6 +36,6 @@ - + diff --git a/hr/torbutton.dtd b/hr/torbutton.dtd index d37d47495..68ea37dfe 100644 --- a/hr/torbutton.dtd +++ b/hr/torbutton.dtd @@ -36,6 +36,6 @@ - + diff --git a/hu/torbutton.dtd b/hu/torbutton.dtd index 0cfce62f8..a00bbdba4 100644 --- a/hu/torbutton.dtd +++ b/hu/torbutton.dtd @@ -36,6 +36,6 @@ - + diff --git a/id/torbutton.dtd b/id/torbutton.dtd index c1e7603a1..4771310bc 100644 --- a/id/torbutton.dtd +++ b/id/torbutton.dtd @@ -36,6 +36,6 @@ - + diff --git a/is/torbutton.dtd b/is/torbutton.dtd index b408ac950..8a2085818
[tor-commits] [translation/torbutton-securitylevelproperties] Update translations for torbutton-securitylevelproperties
commit b58eb5be9f14ef058325eb8c048a83c741819780 Author: Translation commit bot Date: Fri May 17 10:50:16 2019 + Update translations for torbutton-securitylevelproperties --- ach/securitylevel.properties | 2 +- af/securitylevel.properties| 2 +- ar/securitylevel.properties| 2 +- ast/securitylevel.properties | 2 +- az/securitylevel.properties| 2 +- be/securitylevel.properties| 2 +- bg/securitylevel.properties| 2 +- bn-BD/securitylevel.properties | 2 +- br/securitylevel.properties| 2 +- bs/securitylevel.properties| 2 +- ca/securitylevel.properties| 2 +- cs/securitylevel.properties| 2 +- cy/securitylevel.properties| 2 +- da/securitylevel.properties| 2 +- de/securitylevel.properties| 2 +- el/securitylevel.properties| 2 +- en-GB/securitylevel.properties | 2 +- en-US/securitylevel.properties | 2 +- en/securitylevel.properties| 2 +- eo/securitylevel.properties| 2 +- es-AR/securitylevel.properties | 2 +- es-ES/securitylevel.properties | 2 +- es-MX/securitylevel.properties | 2 +- et/securitylevel.properties| 2 +- eu/securitylevel.properties| 2 +- fa/securitylevel.properties| 2 +- fi/securitylevel.properties| 2 +- fr/securitylevel.properties| 2 +- fy-NL/securitylevel.properties | 2 +- ga-IE/securitylevel.properties | 2 +- gd/securitylevel.properties| 2 +- gl/securitylevel.properties| 2 +- gu-IN/securitylevel.properties | 2 +- he/securitylevel.properties| 2 +- hi-IN/securitylevel.properties | 2 +- hr/securitylevel.properties| 2 +- hu/securitylevel.properties| 2 +- hy-AM/securitylevel.properties | 2 +- id/securitylevel.properties| 2 +- is/securitylevel.properties| 2 +- it/securitylevel.properties| 2 +- ja/securitylevel.properties| 2 +- ka/securitylevel.properties| 2 +- kk/securitylevel.properties| 2 +- km/securitylevel.properties| 2 +- kn/securitylevel.properties| 2 +- ko/securitylevel.properties| 2 +- lt/securitylevel.properties| 2 +- lv/securitylevel.properties| 2 +- mk/securitylevel.properties| 2 +- ml/securitylevel.properties| 2 +- mr/securitylevel.properties| 2 +- ms/securitylevel.properties| 2 +- my/securitylevel.properties| 2 +- nb-NO/securitylevel.properties | 2 +- ne/securitylevel.properties| 2 +- nl-BE/securitylevel.properties | 2 +- nl/securitylevel.properties| 2 +- nn-NO/securitylevel.properties | 2 +- oc/securitylevel.properties| 2 +- or/securitylevel.properties| 2 +- pa-IN/securitylevel.properties | 2 +- pl/securitylevel.properties| 2 +- pt-BR/securitylevel.properties | 2 +- pt-PT/securitylevel.properties | 2 +- ro/securitylevel.properties| 2 +- ru/securitylevel.properties| 2 +- si/securitylevel.properties| 2 +- sk/securitylevel.properties| 2 +- sl/securitylevel.properties| 2 +- son/securitylevel.properties | 2 +- sq/securitylevel.properties| 2 +- sr/securitylevel.properties| 2 +- sv-SE/securitylevel.properties | 2 +- sw/securitylevel.properties| 2 +- ta/securitylevel.properties| 2 +- te/securitylevel.properties| 2 +- th/securitylevel.properties| 2 +- tr/securitylevel.properties| 2 +- uk/securitylevel.properties| 2 +- ur/securitylevel.properties| 2 +- uz/securitylevel.properties| 2 +- vi/securitylevel.properties| 2 +- zh-CN/securitylevel.properties | 2 +- zh-HK/securitylevel.properties | 2 +- zh-TW/securitylevel.properties | 2 +- 86 files changed, 86 insertions(+), 86 deletions(-) diff --git a/ach/securitylevel.properties b/ach/securitylevel.properties index 28a14d72e..1b941b5c7 100644 --- a/ach/securitylevel.properties +++ b/ach/securitylevel.properties @@ -9,7 +9,7 @@ securityLevel.safer.tooltip = Security Level : Safer securityLevel.safer.summary = Disables website features that are often dangerous, causing some sites to lose functionality. securityLevel.safer.description1 = JavaScript is disabled on non-HTTPS sites. securityLevel.safer.description2 = Some fonts and math symbols are disabled. -securityLevel.safer.description3 = Audio and video (HTML5 media) are click-to-play. +securityLevel.safer.description3 = Audio and video (HTML5 media), and WebGL are click-to-play. securityLevel.safest.level = Safest securityLevel.safest.tooltip = Security Level : Safest securityLevel.safest.summary = Only allows website features required for static sites and basic services. These changes affect images, media, and scripts. diff --git a/af/securitylevel.properties b/af/securitylevel.properties index 08ee7f6a3..58e2e8cbe 100644 --- a/af/securitylevel.properties +++ b/af/securitylevel.properties @@ -9,7 +9,7 @@ securityLevel.safer.tooltip = Security Level : Safer securityLevel.safer.summary = Disables website features that are often dangerous, causing some sites to lose functionality. securityLevel.safer.description1 = JavaScript is disabled on non-HTTPS si
[tor-commits] [translation/torbutton-securitylevelproperties_completed] Update translations for torbutton-securitylevelproperties_completed
commit 4cc64ef9313060c67d31b183e6ee62f1d7c3e7bf Author: Translation commit bot Date: Fri May 17 10:50:39 2019 + Update translations for torbutton-securitylevelproperties_completed --- bn-BD/securitylevel.properties | 2 +- ca/securitylevel.properties| 2 +- cs/securitylevel.properties| 2 +- da/securitylevel.properties| 2 +- de/securitylevel.properties| 2 +- el/securitylevel.properties| 2 +- en-US/securitylevel.properties | 2 +- en/securitylevel.properties| 2 +- es-AR/securitylevel.properties | 2 +- es-ES/securitylevel.properties | 2 +- fa/securitylevel.properties| 2 +- fr/securitylevel.properties| 4 ++-- ga-IE/securitylevel.properties | 2 +- he/securitylevel.properties| 2 +- id/securitylevel.properties| 2 +- is/securitylevel.properties| 2 +- it/securitylevel.properties| 2 +- ja/securitylevel.properties| 2 +- ka/securitylevel.properties| 2 +- ko/securitylevel.properties| 2 +- lt/securitylevel.properties| 2 +- mk/securitylevel.properties| 2 +- ms/securitylevel.properties| 2 +- nl/securitylevel.properties| 2 +- pl/securitylevel.properties| 2 +- pt-BR/securitylevel.properties | 2 +- pt-PT/securitylevel.properties | 2 +- ro/securitylevel.properties| 2 +- ru/securitylevel.properties| 2 +- sk/securitylevel.properties| 2 +- sv-SE/securitylevel.properties | 2 +- tr/securitylevel.properties| 2 +- uk/securitylevel.properties| 2 +- zh-CN/securitylevel.properties | 2 +- zh-TW/securitylevel.properties | 2 +- 35 files changed, 36 insertions(+), 36 deletions(-) diff --git a/bn-BD/securitylevel.properties b/bn-BD/securitylevel.properties index b6369a12b..5a19cb74c 100644 --- a/bn-BD/securitylevel.properties +++ b/bn-BD/securitylevel.properties @@ -9,7 +9,7 @@ securityLevel.safer.tooltip = নিরাপতà§à¦¤à¦¾ সà§à¦¤à¦°: নি securityLevel.safer.summary = à¦à¦¯à¦¼à§à¦¬à¦¸à¦¾à¦à¦à§à¦° বà§à¦¶à¦¿à¦·à§à¦à§à¦¯à¦à§à¦²à¦¿ পà§à¦°à¦¾à¦¯à¦¼à¦ বিপà¦à§à¦à¦¨à¦ à¦à¦°à§, যা à¦à¦¿à¦à§ সাà¦à¦à¦à§à¦²à¦¿ à¦à¦¾à¦°à§à¦¯à¦à¦¾à¦°à¦¿à¦¤à¦¾ হারাতৠবাধা দà§à¦¯à¦¼à¥¤ securityLevel.safer.description1 = Non-HTTPS সাà¦à¦à¦à§à¦²à¦¿à¦¤à§ à¦à¦¾à¦à¦¾à¦¸à§à¦à§à¦°à¦¿à¦ªà§à¦ ঠà¦à§à¦·à¦® à¦à¦°à¦¾ à¦à¦à§à¥¤ securityLevel.safer.description2 = à¦à¦¿à¦à§ ফনà§à¦ à¦à¦¬à¦ à¦à¦£à¦¿à¦¤ à¦à¦¿à¦¹à§à¦¨ ঠà¦à§à¦·à¦® à¦à¦à§à¥¤ -securityLevel.safer.description3 = ঠডিঠà¦à¦¬à¦ à¦à¦¿à¦¡à¦¿à¦ (HTML5 মিডিয়া) à¦à§à¦²à¦¿à¦-à¦à§-à¦à§à¦²à¦¾à¥¤ +securityLevel.safer.description3 = Audio and video (HTML5 media), and WebGL are click-to-play. securityLevel.safest.level = নিরাপদ securityLevel.safest.tooltip = নিরাপতà§à¦¤à¦¾ সà§à¦¤à¦°: নিশà§à¦à¦¿à¦¤ নিরাপদ securityLevel.safest.summary = শà§à¦§à§à¦®à¦¾à¦¤à§à¦° সà§à¦¥à¦¾à¦¯à¦¼à§ সাà¦à¦ à¦à¦¬à¦ মà§à¦²à¦¿à¦ পরিষà§à¦¬à¦¾à¦à§à¦²à¦¿à¦° à¦à¦¨à§à¦¯ পà§à¦°à¦¯à¦¼à§à¦à¦¨à§à¦¯à¦¼ à¦à¦¯à¦¼à§à¦¬à¦¸à¦¾à¦à¦ বà§à¦¶à¦¿à¦·à§à¦à§à¦¯à¦à§à¦²à¦¿ মà¦à§à¦à§à¦°à¦¿ দà§à¦¯à¦¼ à¦à¦ পরিবরà§à¦¤à¦¨à¦à§à¦²à¦¿ à¦à¦®à§à¦, মিডিয়া à¦à¦¬à¦ সà§à¦à§à¦°à¦¿à¦ªà§à¦à¦à§à¦²à¦¿ পà§à¦°à¦à¦¾à¦¬à¦¿à¦¤ à¦à¦°à§à¥¤ diff --git a/ca/securitylevel.properties b/ca/securitylevel.properties index bb4988c63..23f944233 100644 --- a/ca/securitylevel.properties +++ b/ca/securitylevel.properties @@ -9,7 +9,7 @@ securityLevel.safer.tooltip = Nivell de seguretat: més segur securityLevel.safer.summary = Desactivar les funcions del lloc web que sovint són perilloses, pot fent que alguns llocs perden funcionalitat. securityLevel.safer.description1 = El JavaScript està desactivat per defecte en tots els llocs no-HTTPS securityLevel.safer.description2 = Algunes fonts i sÃmbols matemà tics estan desactivats. -securityLevel.safer.description3 = L'à udio i el vÃdeo (mitjans de comunicació HTML5) són click-to-play. +securityLevel.safer.description3 = Audio and video (HTML5 media), and WebGL are click-to-play. securityLevel.safest.level = més segur securityLevel.safest.tooltip = Nivell de seguretat: el més segur securityLevel.safest.summary = Només es permeten funcions del lloc web requerides per a llocs està tics i serveis bà sics. Aquests canvis afecten imatges, mitjans de comunicació i scripts. diff --git a/cs/securitylevel.properties b/cs/securitylevel.properties index e5aa92b59..357c3b3f6 100644 --- a/cs/securitylevel.properties +++ b/cs/securitylevel.properties @@ -9,7 +9,7 @@ securityLevel.safer.tooltip = ÃroveÅ zabezpeÄenÃ: bezpeÄnÄjÅ¡Ã securityLevel.safer.summary = NÄkteré ménÄ bezpeÄné funkce jsou vypnuty, ale nÄkteré stránky nemusà fungovat. securityLevel.safer.description1 = JavaScript je na stránkách bez HTTPS vypnut. securityLevel.safer.description2 = NÄkterá pÃsma a ma
[tor-commits] [torbutton/master] Translations update
commit 4e2b858521762c50c8bc0ebbb9c1e8885a4ecc98 Author: Georg Koppen Date: Fri May 17 11:21:42 2019 + Translations update --- src/chrome/locale/ar/securityLevel.properties| 2 +- src/chrome/locale/ar/torbutton.dtd | 2 +- src/chrome/locale/bn-BD/securityLevel.properties | 2 +- src/chrome/locale/bn-BD/torbutton.dtd| 2 +- src/chrome/locale/ca/securityLevel.properties| 2 +- src/chrome/locale/ca/torbutton.dtd | 2 +- src/chrome/locale/cs/securityLevel.properties| 2 +- src/chrome/locale/cs/torbutton.dtd | 2 +- src/chrome/locale/da/securityLevel.properties| 2 +- src/chrome/locale/da/torbutton.dtd | 2 +- src/chrome/locale/de/securityLevel.properties| 2 +- src/chrome/locale/de/torbutton.dtd | 2 +- src/chrome/locale/el/securityLevel.properties| 2 +- src/chrome/locale/el/torbutton.dtd | 2 +- src/chrome/locale/es-AR/securityLevel.properties | 2 +- src/chrome/locale/es-AR/torbutton.dtd| 2 +- src/chrome/locale/es-ES/securityLevel.properties | 2 +- src/chrome/locale/es-ES/torbutton.dtd| 2 +- src/chrome/locale/eu/securityLevel.properties| 2 +- src/chrome/locale/eu/torbutton.dtd | 2 +- src/chrome/locale/fa/securityLevel.properties| 2 +- src/chrome/locale/fa/torbutton.dtd | 2 +- src/chrome/locale/fr/securityLevel.properties| 2 +- src/chrome/locale/fr/torbutton.dtd | 6 +++--- src/chrome/locale/fr/torbutton.properties| 4 ++-- src/chrome/locale/ga-IE/securityLevel.properties | 2 +- src/chrome/locale/ga-IE/torbutton.dtd| 2 +- src/chrome/locale/he/securityLevel.properties| 2 +- src/chrome/locale/he/torbutton.dtd | 2 +- src/chrome/locale/hu/securityLevel.properties| 2 +- src/chrome/locale/hu/torbutton.dtd | 2 +- src/chrome/locale/id/securityLevel.properties| 2 +- src/chrome/locale/id/torbutton.dtd | 2 +- src/chrome/locale/is/securityLevel.properties| 2 +- src/chrome/locale/is/torbutton.dtd | 2 +- src/chrome/locale/it/securityLevel.properties| 2 +- src/chrome/locale/it/torbutton.dtd | 2 +- src/chrome/locale/ja/securityLevel.properties| 2 +- src/chrome/locale/ja/torbutton.dtd | 2 +- src/chrome/locale/ka/securityLevel.properties| 2 +- src/chrome/locale/ka/torbutton.dtd | 2 +- src/chrome/locale/ko/securityLevel.properties| 2 +- src/chrome/locale/ko/torbutton.dtd | 2 +- src/chrome/locale/nb-NO/aboutTor.dtd | 4 ++-- src/chrome/locale/nb-NO/securityLevel.properties | 2 +- src/chrome/locale/nb-NO/torbutton.dtd| 2 +- src/chrome/locale/nl/aboutTor.dtd| 4 ++-- src/chrome/locale/nl/securityLevel.properties| 2 +- src/chrome/locale/nl/torbutton.dtd | 2 +- src/chrome/locale/pl/securityLevel.properties| 2 +- src/chrome/locale/pl/torbutton.dtd | 2 +- src/chrome/locale/pt-BR/securityLevel.properties | 2 +- src/chrome/locale/pt-BR/torbutton.dtd| 2 +- src/chrome/locale/ru/securityLevel.properties| 2 +- src/chrome/locale/ru/torbutton.dtd | 2 +- src/chrome/locale/sv-SE/securityLevel.properties | 2 +- src/chrome/locale/sv-SE/torbutton.dtd| 2 +- src/chrome/locale/tr/securityLevel.properties| 2 +- src/chrome/locale/tr/torbutton.dtd | 2 +- src/chrome/locale/vi/securityLevel.properties| 2 +- src/chrome/locale/vi/torbutton.dtd | 2 +- src/chrome/locale/zh-CN/securityLevel.properties | 2 +- src/chrome/locale/zh-CN/torbutton.dtd| 2 +- src/chrome/locale/zh-TW/securityLevel.properties | 2 +- src/chrome/locale/zh-TW/torbutton.dtd| 2 +- 65 files changed, 70 insertions(+), 70 deletions(-) diff --git a/src/chrome/locale/ar/securityLevel.properties b/src/chrome/locale/ar/securityLevel.properties index e628f9c1..a1abde20 100644 --- a/src/chrome/locale/ar/securityLevel.properties +++ b/src/chrome/locale/ar/securityLevel.properties @@ -9,7 +9,7 @@ securityLevel.safer.tooltip = Security Level : Safer securityLevel.safer.summary = Ùعط٠٠٠Ùزات Ù ÙاÙع اÙÙب اÙت٠عادة ٠ا تÙÙ٠خطÙرة. Ùتسبب Ù٠تعط٠خصائص بعض اÙÙ ÙاÙع. securityLevel.safer.description1 = تعط٠جاÙا سÙربت عÙ٠اÙÙ ÙاÙع اÙت٠Ùا تستخد٠HTTPS securityLevel.safer.description2 = تعطÙ٠بعض اÙخطÙØ· ÙاÙر٠Ùز اÙرÙاضÙØ©. -securityLevel.safer.description3 = اÙصÙت ÙاÙÙÙدÙÙ ÙØتاج ÙÙÙÙر ÙتشغÙÙÙ. +securityLevel.safer.description3 = Audio and video (HTML5 media), and WebGL are click-to-play. securityLevel.safest.level = اÙØ£Ùثر Ø£Ù Ùا securityLevel.safest.tooltip = Security Level : Safest securityLevel.safest.summary = Ø§Ø³Ù Ø ÙÙØ· باÙخصائص اÙÙ
[tor-commits] [torbutton/master] Release prep for 2.1.9
commit a89101b9fa856bbfaec49e7b71d5f5e7175f7c81 Author: Georg Koppen Date: Fri May 17 11:25:16 2019 + Release prep for 2.1.9 --- src/CHANGELOG | 4 src/install.rdf | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/CHANGELOG b/src/CHANGELOG index 772975ec..2be620f5 100644 --- a/src/CHANGELOG +++ b/src/CHANGELOG @@ -1,3 +1,7 @@ +2.1.9 + * Bug 30464: Add WebGL to safer descriptions + * Translations update + 2.1.8 * Bug 30171: Don't sync cookie.cookieBehavior and firstparty.isolate * Bug 30115: Map browser+domain to credentials to fix circuit display diff --git a/src/install.rdf b/src/install.rdf index a4c0808d..eebc2de0 100644 --- a/src/install.rdf +++ b/src/install.rdf @@ -6,7 +6,7 @@ Torbutton Mike Perry torbut...@torproject.org -2.1.8 +2.1.9 true https://www.torproject.org/projects/torbrowser.html.en chrome://torbutton/skin/tor.png ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor-launcher/master] Translations update
commit b4e4b0cd81198e52292c110e5745a91f45bb8b7f Author: Georg Koppen Date: Fri May 17 11:35:37 2019 + Translations update --- src/chrome/locale/fr/network-settings.dtd | 2 +- src/chrome/locale/fr/torlauncher.properties | 4 ++-- src/chrome/locale/nl/torlauncher.properties | 8 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/chrome/locale/fr/network-settings.dtd b/src/chrome/locale/fr/network-settings.dtd index e45fa88..5054c67 100644 --- a/src/chrome/locale/fr/network-settings.dtd +++ b/src/chrome/locale/fr/network-settings.dtd @@ -49,7 +49,7 @@ - + diff --git a/src/chrome/locale/fr/torlauncher.properties b/src/chrome/locale/fr/torlauncher.properties index 0c8cd51..59514c1 100644 --- a/src/chrome/locale/fr/torlauncher.properties +++ b/src/chrome/locale/fr/torlauncher.properties @@ -4,7 +4,7 @@ torlauncher.error_title=Lanceur Tor torlauncher.tor_exited_during_startup=Tor sâest fermé pendant le démarrage. Cela peut être dû à une erreur dans votre fichier torrc, un bogue dans Tor ou dans un autre programme de votre système, ou encore à un matériel défectueux. Jusquâà ce que vous corrigiez le problème sous-jacent et redémarriez Tor, le Navigateur Tor ne démarrera pas. -torlauncher.tor_exited=Tor sâest fermé de manière imprévue. Cela peut être dû à un bogue dans Tor même, un autre programme dans votre système ou un matériel défectueux. Jusquâà ce que vous redémarriez Tor, le Navigateur Tor ne pourra atteindre aucun site. Si le problème persiste, veuillez envoyer une copie de votre journal de Tor à lâéquipe de soutien. +torlauncher.tor_exited=Tor sâest fermé de manière imprévue. Cela peut être dû à un bogue dans Tor même, un autre programme dans votre système ou un matériel défectueux. Jusquâà ce que vous redémarriez Tor, le Navigateur Tor ne pourra atteindre aucun site. Si le problème persiste, veuillez envoyer une copie de votre journal Tor à lâéquipe de soutien. torlauncher.tor_exited2=Redémarrer Tor ne fermera pas les onglets de votre navigateur. torlauncher.tor_controlconn_failed=Impossible de se connecter au port de contrôle de Tor. torlauncher.tor_failed_to_start=Tor nâa pas pu démarrer. @@ -50,7 +50,7 @@ torlauncher.done=Terminé torlauncher.forAssistance=Pour de lâassistance, contacter %S torlauncher.forAssistance2=Pour de lâassistance, visiter %S -torlauncher.copiedNLogMessages=La copie est terminée. %S messages de journalisation de Tor sont prêts à être collés dans un éditeur de texte ou un courriel. +torlauncher.copiedNLogMessages=La copie est terminée. %S messages du journal Tor sont prêts à être collés dans un éditeur de texte ou dans un courriel. torlauncher.bootstrapStatus.starting=Démarrage torlauncher.bootstrapStatus.conn_pt=Connexion au pont diff --git a/src/chrome/locale/nl/torlauncher.properties b/src/chrome/locale/nl/torlauncher.properties index 1476281..56d6363 100644 --- a/src/chrome/locale/nl/torlauncher.properties +++ b/src/chrome/locale/nl/torlauncher.properties @@ -67,16 +67,16 @@ torlauncher.bootstrapStatus.loading_status=Laden van de netwerkstatus torlauncher.bootstrapStatus.loading_keys=Laden van de authoriteitcertificaten torlauncher.bootstrapStatus.requesting_descriptors=Opvragen van verbindingsinformatie torlauncher.bootstrapStatus.loading_descriptors=Laden van verbindingsinformatie -torlauncher.bootstrapStatus.enough_dirinfo=Klaar met het laden van relay informatie +torlauncher.bootstrapStatus.enough_dirinfo=Laden van relay-informatie voltooid torlauncher.bootstrapStatus.ap_conn_pt=Circuit maken: verbinden met brug torlauncher.bootstrapStatus.ap_conn_done_pt=Circuits bouwen: verbonden met bridge torlauncher.bootstrapStatus.ap_conn_proxy=Circuits bouwen: verbinden met proxy torlauncher.bootstrapStatus.ap_conn_done_proxy=Circuits bouwen: verbonden met proxy torlauncher.bootstrapStatus.ap_conn=Circuits bouwen: verbinden met een Tor-relay torlauncher.bootstrapStatus.ap_conn_done=Circuit opbouwen: Verbonden met een Tor relay -torlauncher.bootstrapStatus.ap_handshake=Circuits opzetten: Onderhandelen met een TOR relay -torlauncher.bootstrapStatus.ap_handshake_done=Circuits opzetten: Klaar met onderhandelen met een TOR relay -torlauncher.bootstrapStatus.circuit_create=Circuits opzetten: TOR circuit tot stand aan het brengen +torlauncher.bootstrapStatus.ap_handshake=Circuits opzetten: onderhandelen met een Tor-relay +torlauncher.bootstrapStatus.ap_handshake_done=Circuits opzetten: onderhandelen met een Tor-relay voltooid +torlauncher.bootstrapStatus.circuit_create=Circuits opzetten: Tor-circuit tot stand brengen torlauncher.bootstrapStatus.done=Verbonden met het Tor-netwerk! torlauncher.bootstrapWarning.done=uitgevoerd ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-com
[tor-commits] [tor-launcher/master] Release prep for 0.2.19
commit da6b1ad6bccceed4c07be551f5ca5cedf66af96f Author: Georg Koppen Date: Fri May 17 11:36:32 2019 + Release prep for 0.2.19 Version bump --- src/install.rdf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/install.rdf b/src/install.rdf index 060b032..828ddfb 100644 --- a/src/install.rdf +++ b/src/install.rdf @@ -7,7 +7,7 @@ The Tor Project, Inc. Pearl Crescent, LLC tor-launc...@torproject.org -0.2.18.2 +0.2.19 true https://www.torproject.org/projects/torbrowser.html data:text/plain, ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.4.0] Merge branch 'maint-0.3.4' into maint-0.3.5
commit e5deb2bbc73d8830ae6c479a4532e72112f5484a Merge: 6945f2b3e a521c4278 Author: Nick Mathewson Date: Fri May 17 08:10:16 2019 -0400 Merge branch 'maint-0.3.4' into maint-0.3.5 changes/geoip-2019-05-13 | 4 + src/config/geoip | 15407 ++--- src/config/geoip6| 3771 +++ 3 files changed, 11335 insertions(+), 7847 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.3.5] Merge branch 'maint-0.2.9' into maint-0.3.4
commit a521c427883697fcfa027ffd72bb38f3aee5aceb Merge: cbce8dedd 4e262196a Author: Nick Mathewson Date: Fri May 17 08:10:15 2019 -0400 Merge branch 'maint-0.2.9' into maint-0.3.4 changes/geoip-2019-05-13 | 4 + src/config/geoip | 15407 ++--- src/config/geoip6| 3771 +++ 3 files changed, 11335 insertions(+), 7847 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.4.0] Merge branch 'maint-0.2.9' into maint-0.3.4
commit a521c427883697fcfa027ffd72bb38f3aee5aceb Merge: cbce8dedd 4e262196a Author: Nick Mathewson Date: Fri May 17 08:10:15 2019 -0400 Merge branch 'maint-0.2.9' into maint-0.3.4 changes/geoip-2019-05-13 | 4 + src/config/geoip | 15407 ++--- src/config/geoip6| 3771 +++ 3 files changed, 11335 insertions(+), 7847 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.4.0] Merge branch 'maint-0.3.5' into maint-0.4.0
commit c7f9f7e5426b473a505063904116760c7fae7e11 Merge: 7e3f7ab40 e5deb2bbc Author: Nick Mathewson Date: Fri May 17 08:10:16 2019 -0400 Merge branch 'maint-0.3.5' into maint-0.4.0 changes/geoip-2019-05-13 | 4 + src/config/geoip | 15407 ++--- src/config/geoip6| 3771 +++ 3 files changed, 11335 insertions(+), 7847 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.3.5] Merge branch 'maint-0.3.4' into maint-0.3.5
commit e5deb2bbc73d8830ae6c479a4532e72112f5484a Merge: 6945f2b3e a521c4278 Author: Nick Mathewson Date: Fri May 17 08:10:16 2019 -0400 Merge branch 'maint-0.3.4' into maint-0.3.5 changes/geoip-2019-05-13 | 4 + src/config/geoip | 15407 ++--- src/config/geoip6| 3771 +++ 3 files changed, 11335 insertions(+), 7847 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/maint-0.3.4] Merge branch 'maint-0.2.9' into maint-0.3.4
commit a521c427883697fcfa027ffd72bb38f3aee5aceb Merge: cbce8dedd 4e262196a Author: Nick Mathewson Date: Fri May 17 08:10:15 2019 -0400 Merge branch 'maint-0.2.9' into maint-0.3.4 changes/geoip-2019-05-13 | 4 + src/config/geoip | 15407 ++--- src/config/geoip6| 3771 +++ 3 files changed, 11335 insertions(+), 7847 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/master] Merge branch 'maint-0.4.0'
commit 9cec7a7b5c6a947642ae81942f68e96fa403fc9f Merge: d86896b29 c7f9f7e54 Author: Nick Mathewson Date: Fri May 17 08:10:17 2019 -0400 Merge branch 'maint-0.4.0' changes/geoip-2019-05-13 | 4 + src/config/geoip | 15407 ++--- src/config/geoip6| 3771 +++ 3 files changed, 11335 insertions(+), 7847 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.4.0] Merge branch 'maint-0.3.4' into maint-0.3.5
commit e5deb2bbc73d8830ae6c479a4532e72112f5484a Merge: 6945f2b3e a521c4278 Author: Nick Mathewson Date: Fri May 17 08:10:16 2019 -0400 Merge branch 'maint-0.3.4' into maint-0.3.5 changes/geoip-2019-05-13 | 4 + src/config/geoip | 15407 ++--- src/config/geoip6| 3771 +++ 3 files changed, 11335 insertions(+), 7847 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/master] Merge branch 'maint-0.3.5' into maint-0.4.0
commit c7f9f7e5426b473a505063904116760c7fae7e11 Merge: 7e3f7ab40 e5deb2bbc Author: Nick Mathewson Date: Fri May 17 08:10:16 2019 -0400 Merge branch 'maint-0.3.5' into maint-0.4.0 changes/geoip-2019-05-13 | 4 + src/config/geoip | 15407 ++--- src/config/geoip6| 3771 +++ 3 files changed, 11335 insertions(+), 7847 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.4.0] Merge branch 'maint-0.4.0' into release-0.4.0
commit 63e0599c5710e04ecb98ff87c09d613feeda2620 Merge: 34e03b9ec c7f9f7e54 Author: Nick Mathewson Date: Fri May 17 08:10:16 2019 -0400 Merge branch 'maint-0.4.0' into release-0.4.0 changes/geoip-2019-05-13 | 4 + src/config/geoip | 15407 ++--- src/config/geoip6| 3771 +++ 3 files changed, 11335 insertions(+), 7847 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/release-0.3.5] Merge branch 'maint-0.3.5' into release-0.3.5
commit 252960f2e914edce68b5e5c354ce5330ad7e92ca Merge: bd2fe0d8f e5deb2bbc Author: Nick Mathewson Date: Fri May 17 08:10:16 2019 -0400 Merge branch 'maint-0.3.5' into release-0.3.5 changes/geoip-2019-05-13 | 4 + src/config/geoip | 15407 ++--- src/config/geoip6| 3771 +++ 3 files changed, 11335 insertions(+), 7847 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/release-0.3.5] Merge branch 'maint-0.2.9' into maint-0.3.4
commit a521c427883697fcfa027ffd72bb38f3aee5aceb Merge: cbce8dedd 4e262196a Author: Nick Mathewson Date: Fri May 17 08:10:15 2019 -0400 Merge branch 'maint-0.2.9' into maint-0.3.4 changes/geoip-2019-05-13 | 4 + src/config/geoip | 15407 ++--- src/config/geoip6| 3771 +++ 3 files changed, 11335 insertions(+), 7847 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/release-0.3.4] Merge branch 'maint-0.3.4' into release-0.3.4
commit e2dde342b240039c9d4a254a2313fa9ab53d49d7 Merge: fa6296df3 a521c4278 Author: Nick Mathewson Date: Fri May 17 08:10:16 2019 -0400 Merge branch 'maint-0.3.4' into release-0.3.4 changes/geoip-2019-05-13 | 4 + src/config/geoip | 15407 ++--- src/config/geoip6| 3771 +++ 3 files changed, 11335 insertions(+), 7847 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.4.0] Merge branch 'maint-0.3.5' into maint-0.4.0
commit c7f9f7e5426b473a505063904116760c7fae7e11 Merge: 7e3f7ab40 e5deb2bbc Author: Nick Mathewson Date: Fri May 17 08:10:16 2019 -0400 Merge branch 'maint-0.3.5' into maint-0.4.0 changes/geoip-2019-05-13 | 4 + src/config/geoip | 15407 ++--- src/config/geoip6| 3771 +++ 3 files changed, 11335 insertions(+), 7847 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/master] Merge branch 'maint-0.2.9' into maint-0.3.4
commit a521c427883697fcfa027ffd72bb38f3aee5aceb Merge: cbce8dedd 4e262196a Author: Nick Mathewson Date: Fri May 17 08:10:15 2019 -0400 Merge branch 'maint-0.2.9' into maint-0.3.4 changes/geoip-2019-05-13 | 4 + src/config/geoip | 15407 ++--- src/config/geoip6| 3771 +++ 3 files changed, 11335 insertions(+), 7847 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.2.9] Merge branch 'maint-0.2.9' into release-0.2.9
commit fc0fa15945671a8d63d0c812856997f7440328c4 Merge: a0823d20e 4e262196a Author: Nick Mathewson Date: Fri May 17 08:10:15 2019 -0400 Merge branch 'maint-0.2.9' into release-0.2.9 changes/geoip-2019-05-13 | 4 + src/config/geoip | 15407 ++--- src/config/geoip6| 3771 +++ 3 files changed, 11335 insertions(+), 7847 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/master] Merge branch 'maint-0.3.4' into maint-0.3.5
commit e5deb2bbc73d8830ae6c479a4532e72112f5484a Merge: 6945f2b3e a521c4278 Author: Nick Mathewson Date: Fri May 17 08:10:16 2019 -0400 Merge branch 'maint-0.3.4' into maint-0.3.5 changes/geoip-2019-05-13 | 4 + src/config/geoip | 15407 ++--- src/config/geoip6| 3771 +++ 3 files changed, 11335 insertions(+), 7847 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/release-0.3.5] Merge branch 'maint-0.3.4' into maint-0.3.5
commit e5deb2bbc73d8830ae6c479a4532e72112f5484a Merge: 6945f2b3e a521c4278 Author: Nick Mathewson Date: Fri May 17 08:10:16 2019 -0400 Merge branch 'maint-0.3.4' into maint-0.3.5 changes/geoip-2019-05-13 | 4 + src/config/geoip | 15407 ++--- src/config/geoip6| 3771 +++ 3 files changed, 11335 insertions(+), 7847 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/release-0.3.4] Merge branch 'maint-0.2.9' into maint-0.3.4
commit a521c427883697fcfa027ffd72bb38f3aee5aceb Merge: cbce8dedd 4e262196a Author: Nick Mathewson Date: Fri May 17 08:10:15 2019 -0400 Merge branch 'maint-0.2.9' into maint-0.3.4 changes/geoip-2019-05-13 | 4 + src/config/geoip | 15407 ++--- src/config/geoip6| 3771 +++ 3 files changed, 11335 insertions(+), 7847 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.4.0] Merge branch 'maint-0.2.9' into maint-0.3.4
commit a521c427883697fcfa027ffd72bb38f3aee5aceb Merge: cbce8dedd 4e262196a Author: Nick Mathewson Date: Fri May 17 08:10:15 2019 -0400 Merge branch 'maint-0.2.9' into maint-0.3.4 changes/geoip-2019-05-13 | 4 + src/config/geoip | 15407 ++--- src/config/geoip6| 3771 +++ 3 files changed, 11335 insertions(+), 7847 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/master] Make register_padding_machine part of the public API.
commit 39c52d14a619c9944321f404c74c9129a5e664cb Author: George Kadianakis Date: Wed Mar 20 17:41:10 2019 +0200 Make register_padding_machine part of the public API. We are gonna use this function to register our new machine. --- src/core/or/circuitpadding.c | 14 -- src/core/or/circuitpadding.h | 5 ++--- src/test/test_circuitpadding.c | 8 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/src/core/or/circuitpadding.c b/src/core/or/circuitpadding.c index 61e222cbb..48d0d4a95 100644 --- a/src/core/or/circuitpadding.c +++ b/src/core/or/circuitpadding.c @@ -2371,7 +2371,6 @@ circpad_setup_machine_on_circ(circuit_t *on_circ, on_circ->padding_machine[machine->machine_index] = machine; } -#ifdef TOR_UNIT_TESTS /** Validate a single state of a padding machine */ static bool padding_machine_state_is_valid(const circpad_state_t *state) @@ -2435,9 +2434,9 @@ padding_machine_is_valid(const circpad_machine_spec_t *machine) /* Validate and register machine into machine_list. If * machine_list is NULL, then just validate. */ -STATIC void -register_padding_machine(circpad_machine_spec_t *machine, - smartlist_t *machine_list) +void +circpad_register_padding_machine(circpad_machine_spec_t *machine, + smartlist_t *machine_list) { if (!padding_machine_is_valid(machine)) { log_warn(LD_GENERAL, "Machine #%u is invalid. Ignoring.", @@ -2450,6 +2449,7 @@ register_padding_machine(circpad_machine_spec_t *machine, } } +#ifdef TOR_UNIT_TESTS /* These padding machines are only used for tests pending #28634. */ static void circpad_circ_client_machine_init(void) @@ -2502,7 +2502,8 @@ circpad_circ_client_machine_init(void) circ_client_machine->states[CIRCPAD_STATE_BURST].histogram_total_tokens = 5; circ_client_machine->machine_num = smartlist_len(origin_padding_machines); - register_padding_machine(circ_client_machine, origin_padding_machines); + circpad_register_padding_machine(circ_client_machine, + origin_padding_machines); } static void @@ -2602,7 +2603,8 @@ circpad_circ_responder_machine_init(void) CIRCPAD_TOKEN_REMOVAL_CLOSEST_USEC; circ_responder_machine->machine_num = smartlist_len(relay_padding_machines); - register_padding_machine(circ_responder_machine, relay_padding_machines); + circpad_register_padding_machine(circ_responder_machine, + relay_padding_machines); } #endif diff --git a/src/core/or/circuitpadding.h b/src/core/or/circuitpadding.h index 277a78001..059896ddf 100644 --- a/src/core/or/circuitpadding.h +++ b/src/core/or/circuitpadding.h @@ -698,6 +698,8 @@ circpad_machine_event_circ_has_no_relay_early(struct origin_circuit_t *circ); void circpad_machines_init(void); void circpad_machines_free(void); +void circpad_register_padding_machine(circpad_machine_spec_t *machine, + smartlist_t *machine_list); void circpad_machine_states_init(circpad_machine_spec_t *machine, circpad_statenum_t num_states); @@ -781,9 +783,6 @@ histogram_get_bin_upper_bound(const circpad_machine_runtime_t *mi, extern smartlist_t *origin_padding_machines; extern smartlist_t *relay_padding_machines; -STATIC void -register_padding_machine(circpad_machine_spec_t *machine, - smartlist_t *machine_list); #endif #endif diff --git a/src/test/test_circuitpadding.c b/src/test/test_circuitpadding.c index bd6697922..c5aad0f5d 100644 --- a/src/test/test_circuitpadding.c +++ b/src/test/test_circuitpadding.c @@ -1759,7 +1759,7 @@ helper_create_conditional_machines(void) add->conditions.state_mask = CIRCPAD_CIRC_BUILDING| CIRCPAD_CIRC_NO_STREAMS|CIRCPAD_CIRC_HAS_RELAY_EARLY; add->conditions.purpose_mask = CIRCPAD_PURPOSE_ALL; - register_padding_machine(add, origin_padding_machines); + circpad_register_padding_machine(add, origin_padding_machines); add = helper_create_conditional_machine(); add->machine_num = 3; @@ -1778,15 +1778,15 @@ helper_create_conditional_machines(void) add->conditions.state_mask = CIRCPAD_CIRC_OPENED| CIRCPAD_CIRC_STREAMS|CIRCPAD_CIRC_HAS_NO_RELAY_EARLY; add->conditions.purpose_mask = CIRCPAD_PURPOSE_ALL; - register_padding_machine(add, origin_padding_machines); + circpad_register_padding_machine(add, origin_padding_machines); add = helper_create_conditional_machine(); add->machine_num = 2; - register_padding_machine(add, relay_padding_machines); + circpad_register_padding_machine(add, relay_padding_machines); add = helper_create_conditional_machine(); add->machine_num = 3; - register_padding_machine(add, relay_padding_machines); + circpad_register_padding_machine(add, relay_padding_machines); } void ___ tor-commits mailing list tor-commits@lists.torproject.org https://l
[tor-commits] [tor/master] Improve logging around the circpad module..
commit 42ea3a416e649eddf4bf9a0dee88a8b4fdbbef20 Author: George Kadianakis Date: Thu Mar 28 15:38:33 2019 +0200 Improve logging around the circpad module.. - Add some more useful logs for future debugging. - Stop usage of circpad_state_to_string(). It's innacurate. - Reduce severity and fix up log domain of some logging messages. --- src/core/or/circuitpadding.c | 70 ++- src/core/or/circuitpadding_machines.c | 8 ++-- 2 files changed, 32 insertions(+), 46 deletions(-) diff --git a/src/core/or/circuitpadding.c b/src/core/or/circuitpadding.c index 72909bf72..b2315d822 100644 --- a/src/core/or/circuitpadding.c +++ b/src/core/or/circuitpadding.c @@ -132,34 +132,6 @@ STATIC smartlist_t *relay_padding_machines = NULL; #define FOR_EACH_ACTIVE_CIRCUIT_MACHINE_END } STMT_END ; /** - * Return a human-readable description for a circuit padding state. - */ -static const char * -circpad_state_to_string(circpad_statenum_t state) -{ - const char *descr; - - switch (state) { - case CIRCPAD_STATE_START: -descr = "START"; -break; - case CIRCPAD_STATE_BURST: -descr = "BURST"; -break; - case CIRCPAD_STATE_GAP: -descr = "GAP"; -break; - case CIRCPAD_STATE_END: -descr = "END"; -break; - default: -descr = "CUSTOM"; // XXX: Just return # in static char buf? - } - - return descr; -} - -/** * Free the machineinfo at an index */ static void @@ -540,6 +512,8 @@ circpad_choose_state_length(circpad_machine_runtime_t *mi) } mi->state_length = clamp_double_to_int64(length); + + log_info(LD_CIRC, "State length sampled to %"PRIu64".", mi->state_length); } /** @@ -914,7 +888,7 @@ circpad_machine_remove_closest_token(circpad_machine_runtime_t *mi, bin_to_remove = lower; } mi->histogram[bin_to_remove]--; -log_debug(LD_GENERAL, "Removing token from bin %d", bin_to_remove); +log_debug(LD_CIRC, "Removing token from bin %d", bin_to_remove); return; } else { if (current - lower > higher - current) { @@ -1224,14 +1198,16 @@ circpad_send_padding_cell_for_callback(circpad_machine_runtime_t *mi) circpad_send_command_to_hop(TO_ORIGIN_CIRCUIT(mi->on_circ), CIRCPAD_GET_MACHINE(mi)->target_hopnum, RELAY_COMMAND_DROP, NULL, 0); -log_fn(LOG_INFO,LD_CIRC, "Callback: Sending padding to origin circuit %u.", - TO_ORIGIN_CIRCUIT(mi->on_circ)->global_identifier); +log_info(LD_CIRC, "Callback: Sending padding to origin circuit %u" + " (%d) [length: %"PRIu64"]", + TO_ORIGIN_CIRCUIT(mi->on_circ)->global_identifier, + mi->on_circ->purpose, mi->state_length); } else { // If we're a non-origin circ, we can just send from here as if we're the // edge. if (TO_OR_CIRCUIT(circ)->p_chan_cells.n <= circpad_max_circ_queued_cells) { - log_fn(LOG_INFO,LD_CIRC, - "Callback: Sending padding to non-origin circuit."); + log_info(LD_CIRC, "Callback: Sending padding to circuit (%d)" + " [length: %"PRIu64"]", mi->on_circ->purpose, mi->state_length); relay_send_command_from_edge(0, mi->on_circ, RELAY_COMMAND_DROP, NULL, 0, NULL); rep_hist_padding_count_write(PADDING_TYPE_DROP); @@ -1599,9 +1575,8 @@ circpad_machine_spec_transition,(circpad_machine_runtime_t *mi, * a transition to itself. All non-specified events are ignored. */ log_fn(LOG_INFO, LD_CIRC, - "Circpad machine %d transitioning from %s to %s", -mi->machine_index, circpad_state_to_string(mi->current_state), -circpad_state_to_string(s)); + "Circpad machine %d transitioning from %u to %u", + mi->machine_index, mi->current_state, s); /* If this is not the same state, switch and init tokens, * otherwise just reschedule padding. */ @@ -2096,6 +2071,7 @@ circpad_add_matching_machines(origin_circuit_t *on_circ, if (circpad_negotiate_padding(on_circ, machine->machine_num, machine->target_hopnum, CIRCPAD_COMMAND_START) < 0) { + log_info(LD_CIRC, "Padding not negotiated. Cleaning machine"); circpad_circuit_machineinfo_free_idx(circ, i); circ->padding_machine[i] = NULL; on_circ->padding_negotiation_failed = 1; @@ -2369,6 +2345,16 @@ circpad_setup_machine_on_circ(circuit_t *on_circ, == NULL); tor_assert_nonfatal(on_circ->padding_info[machine->machine_index] == NULL); + /* Log message */ + if (CIRCUIT_IS_ORIGIN(on_circ)) { +log_info(LD_CIRC, "Registering machine %s to origin circ %u (%d)", + machine->name, + TO_ORIGIN_CIRCUIT(on_circ)->global_identifier, on_circ->purpose); + } else { +log_info(LD_CIRC, "Registering machine %s to non-origin circ (%d)", + ma
[tor-commits] [tor/master] Refactor intro machines, stage 1/2: Move state transition code.
commit f237fed7466e84e6b6399fe5c7cb80bd59e3e2d8 Author: Mike Perry Date: Thu May 16 18:41:21 2019 + Refactor intro machines, stage 1/2: Move state transition code. This just moves the state transition directives into the proper client/relay side functions. It also allows us to remove some dead-code from the client side (since the client doesn't send padding). --- src/core/or/circuitpadding_machines.c | 91 +-- 1 file changed, 44 insertions(+), 47 deletions(-) diff --git a/src/core/or/circuitpadding_machines.c b/src/core/or/circuitpadding_machines.c index c09682289..4256a7be4 100644 --- a/src/core/or/circuitpadding_machines.c +++ b/src/core/or/circuitpadding_machines.c @@ -57,49 +57,6 @@ #include "core/or/circuitpadding_machines.h" #include "core/or/circuitpadding.h" -/* Setup the simple state machine we use for all HS padding machines */ -static void -setup_state_machine_for_hiding_intro_circuits(circpad_machine_spec_t *machine) -{ - /* Two states: START, OBFUSCATE_CIRC_SETUP (and END) */ - circpad_machine_states_init(machine, 2); - - /* For the relay-side machine, we want to transition - * START -> OBFUSCATE_CIRC_SETUP upon first non-padding - * cell sent (PADDING_NEGOTIATED in this case). - * - * For the origin-side machine, we transition to OBFUSCATE_CIRC_SETUP after - * sending PADDING_NEGOTIATE, and we stay there (without sending any padding) - * until we receive a STOP from the other side. */ - machine->states[CIRCPAD_STATE_START]. -next_state[CIRCPAD_EVENT_NONPADDING_SENT] = -CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP; - - /* For the relay-side, we want to transition from OBFUSCATE_CIRC_SETUP to END - * state when the length finishes. - * - * For the origin-side, we don't care because the relay-side machine is gonna - * END us. */ - machine->states[CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP]. - next_state[CIRCPAD_EVENT_LENGTH_COUNT] = CIRCPAD_STATE_END; - - /* Now let's define the OBF -> OBF transitions that maintain our padding - * flow: - * - * For the relay-side machine, we want to keep on sending padding bytes even - * when nothing else happens on this circuit. */ - machine->states[CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP]. -next_state[CIRCPAD_EVENT_PADDING_SENT] = -CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP; - /* For the relay-side machine, we need this transition so that we re-enter - the state, after PADDING_NEGOTIATED is sent. Otherwise, the remove token - function will disable the timer, and nothing will restart it since there - is no other motion on an intro circuit. */ - machine->states[CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP]. -next_state[CIRCPAD_EVENT_NONPADDING_SENT] = -CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP; -} - /* Setup the OBFUSCATE_CIRC_SETUP state of the machine that hides client-side * intro circuits. */ static void @@ -202,8 +159,19 @@ circpad_machine_client_hide_intro_circuits(smartlist_t *machines_sl) client_machine->allowed_padding_count = INTRO_MACHINE_MAXIMUM_PADDING; client_machine->max_padding_percent = 1; - /* Setup states and histograms */ - setup_state_machine_for_hiding_intro_circuits(client_machine); + /* Two states: START, OBFUSCATE_CIRC_SETUP (and END) */ + circpad_machine_states_init(client_machine, 2); + + /* For the origin-side machine, we transition to OBFUSCATE_CIRC_SETUP after + * sending PADDING_NEGOTIATE, and we stay there (without sending any padding) + * until we receive a STOP from the other side. */ + client_machine->states[CIRCPAD_STATE_START]. +next_state[CIRCPAD_EVENT_NONPADDING_SENT] = +CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP; + + /* origin-side machine has no event reactions while in + * CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP, so no more state transitions here). */ + setup_obf_state_for_hiding_intro_circuits( &client_machine->states[CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP], true); @@ -243,8 +211,37 @@ circpad_machine_relay_hide_intro_circuits(smartlist_t *machines_sl) relay_machine->allowed_padding_count = INTRO_MACHINE_MAXIMUM_PADDING; relay_machine->max_padding_percent = 1; - /* Setup states and histograms */ - setup_state_machine_for_hiding_intro_circuits(relay_machine); + /* Two states: START, OBFUSCATE_CIRC_SETUP (and END) */ + circpad_machine_states_init(relay_machine, 2); + + /* For the relay-side machine, we want to transition + * START -> OBFUSCATE_CIRC_SETUP upon first non-padding + * cell sent (PADDING_NEGOTIATED in this case). */ + relay_machine->states[CIRCPAD_STATE_START]. +next_state[CIRCPAD_EVENT_NONPADDING_SENT] = +CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP; + + /* For the relay-side, we want to transition from OBFUSCATE_CIRC_SETUP to END + * state when the length finishes. */ + relay_machine->states[CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP]. + next_state[CIRCPAD_EVENT_LENGTH_COUNT] = CIRCPAD_STATE_END; + + /* Now let's define the OBF -> O
[tor-commits] [tor/master] Introduce circpad free_all() function.
commit 69a277f635d9f5d6e40d1f1e85110621b5c49169 Author: George Kadianakis Date: Wed Apr 17 14:52:51 2019 +0300 Introduce circpad free_all() function. --- src/app/main/shutdown.c | 1 + src/core/or/circuitpadding.c | 37 + src/core/or/circuitpadding.h | 6 ++ 3 files changed, 44 insertions(+) diff --git a/src/app/main/shutdown.c b/src/app/main/shutdown.c index 1871717ad..e4dcaa132 100644 --- a/src/app/main/shutdown.c +++ b/src/app/main/shutdown.c @@ -139,6 +139,7 @@ tor_free_all(int postfork) dos_free_all(); circuitmux_ewma_free_all(); accounting_free_all(); + circpad_free_all(); if (!postfork) { config_free_all(); diff --git a/src/core/or/circuitpadding.c b/src/core/or/circuitpadding.c index 1a46296d1..c0caacf58 100644 --- a/src/core/or/circuitpadding.c +++ b/src/core/or/circuitpadding.c @@ -37,6 +37,13 @@ * When a padding machine reaches the END state, it gets wiped from the circuit * so that other padding machines can take over if needed (see * circpad_machine_spec_transitioned_to_end()). + * + + * General notes: + * + * All used machines should be heap allocated and placed into + * origin_padding_machines/relay_padding_machines so that they get correctly + * cleaned up by the circpad_free_all() function. **/ #define CIRCUITPADDING_PRIVATE @@ -2885,6 +2892,36 @@ circpad_handle_padding_negotiated(circuit_t *circ, cell_t *cell, return 0; } +/** Free memory allocated by this machine spec. */ +STATIC void +machine_spec_free_(circpad_machine_spec_t *m) +{ + if (!m) return; + + tor_free(m->states); + tor_free(m); +} + +/** Free all memory allocated by the circuitpadding subsystem. */ +void +circpad_free_all(void) +{ + if (origin_padding_machines) { +SMARTLIST_FOREACH_BEGIN(origin_padding_machines, +circpad_machine_spec_t *, m) { + machine_spec_free(m); +} SMARTLIST_FOREACH_END(m); +smartlist_free(origin_padding_machines); + } + if (relay_padding_machines) { +SMARTLIST_FOREACH_BEGIN(relay_padding_machines, +circpad_machine_spec_t *, m) { + machine_spec_free(m); +} SMARTLIST_FOREACH_END(m); +smartlist_free(relay_padding_machines); + } +} + /* Serialization */ // TODO: Should we use keyword=value here? Are there helpers for that? #if 0 diff --git a/src/core/or/circuitpadding.h b/src/core/or/circuitpadding.h index 059896ddf..c7c5f6c69 100644 --- a/src/core/or/circuitpadding.h +++ b/src/core/or/circuitpadding.h @@ -738,7 +738,13 @@ circpad_machine_spec_transition, (circpad_machine_runtime_t *mi, circpad_decision_t circpad_send_padding_cell_for_callback( circpad_machine_runtime_t *mi); +void circpad_free_all(void); + #ifdef CIRCUITPADDING_PRIVATE +STATIC void machine_spec_free_(circpad_machine_spec_t *m); +#define machine_spec_free(chan) \ + FREE_AND_NULL(circpad_machine_spec_t,machine_spec_free_, (m)) + STATIC circpad_delay_t circpad_machine_sample_delay(circpad_machine_runtime_t *mi); ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/master] Correctly handle machines out of tokens that have not closed yet.
commit 9b582edddb3a56d0eb2049820c6e14bfead7b143 Author: George Kadianakis Date: Wed Apr 17 13:23:23 2019 +0300 Correctly handle machines out of tokens that have not closed yet. Perhaps the machine on the other side is still not done. --- src/core/or/circuitpadding.c | 5 + 1 file changed, 5 insertions(+) diff --git a/src/core/or/circuitpadding.c b/src/core/or/circuitpadding.c index c0caacf58..e02cfb7bc 100644 --- a/src/core/or/circuitpadding.c +++ b/src/core/or/circuitpadding.c @@ -605,6 +605,11 @@ circpad_machine_sample_delay(circpad_machine_runtime_t *mi) histogram_total_tokens = state->histogram_total_tokens; } + /* If we are out of tokens, don't schedule padding. */ + if (!histogram_total_tokens) { +return CIRCPAD_DELAY_INFINITE; + } + bin_choice = crypto_fast_rng_get_uint64(get_thread_fast_rng(), histogram_total_tokens); ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/master] Generate non-padding circpad events for PADDING_NEGOTIATE(D).
commit 5791bc9d768df8897bc471dba4def75c812cfcf2 Author: George Kadianakis Date: Fri Apr 12 23:42:46 2019 +0300 Generate non-padding circpad events for PADDING_NEGOTIATE(D). As part of our machines, we need to know when a PADDING_NEGOATIATE(D) cell gets sent out, so we add an event for this. --- src/core/or/circuitpadding.c | 25 +++-- 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/src/core/or/circuitpadding.c b/src/core/or/circuitpadding.c index 48d0d4a95..1a46296d1 100644 --- a/src/core/or/circuitpadding.c +++ b/src/core/or/circuitpadding.c @@ -1737,13 +1737,12 @@ circpad_estimate_circ_rtt_on_send(circuit_t *circ, * to back. Stop estimating RTT in this case. Note that we only * stop RTT update if the circuit is opened, to allow for RTT estimates * of var cells during circ setup. */ -mi->stop_rtt_update = 1; - -if (!mi->rtt_estimate_usec) { +if (!mi->rtt_estimate_usec && !mi->stop_rtt_update) { static ratelim_t rtt_lim = RATELIM_INIT(600); log_fn_ratelim(&rtt_lim,LOG_NOTICE,LD_BUG, "Circuit sent two cells back to back before estimating RTT."); } +mi->stop_rtt_update = 1; } } @@ -2256,13 +2255,6 @@ circpad_deliver_recognized_relay_cell_events(circuit_t *circ, uint8_t relay_command, crypt_path_t *layer_hint) { - /* Padding negotiate cells are ignored by the state machines - * for simplicity. */ - if (relay_command == RELAY_COMMAND_PADDING_NEGOTIATE || - relay_command == RELAY_COMMAND_PADDING_NEGOTIATED) { -return; - } - if (relay_command == RELAY_COMMAND_DROP) { rep_hist_padding_count_read(PADDING_TYPE_DROP); @@ -2299,16 +2291,12 @@ void circpad_deliver_sent_relay_cell_events(circuit_t *circ, uint8_t relay_command) { - /* Padding negotiate cells are ignored by the state machines - * for simplicity. */ - if (relay_command == RELAY_COMMAND_PADDING_NEGOTIATE || - relay_command == RELAY_COMMAND_PADDING_NEGOTIATED) { -return; - } - /* RELAY_COMMAND_DROP is the multi-hop (aka circuit-level) padding cell in * tor. (CELL_PADDING is a channel-level padding cell, which is not relayed - * or processed here) */ + * or processed here). + * + * We do generate events for PADDING_NEGOTIATE and PADDING_NEGOTIATED cells. + */ if (relay_command == RELAY_COMMAND_DROP) { /* Optimization: The event for RELAY_COMMAND_DROP is sent directly * from circpad_send_padding_cell_for_callback(). This is to avoid @@ -2823,6 +2811,7 @@ circpad_handle_padding_negotiate(circuit_t *circ, cell_t *cell) const circpad_machine_spec_t *, m) { if (m->machine_num == negotiate->machine_type) { circpad_setup_machine_on_circ(circ, m); +circpad_cell_event_nonpadding_received(circ); goto done; } } SMARTLIST_FOREACH_END(m); ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/master] Behave correctly when state->max_length is zero.
commit a014e01b686cbe84bcfc9907d0a98ac71be91e3e Author: George Kadianakis Date: Wed Mar 20 17:42:56 2019 +0200 Behave correctly when state->max_length is zero. --- src/core/or/circuitpadding.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/core/or/circuitpadding.c b/src/core/or/circuitpadding.c index ddf28ea62..61e222cbb 100644 --- a/src/core/or/circuitpadding.c +++ b/src/core/or/circuitpadding.c @@ -525,7 +525,10 @@ circpad_choose_state_length(circpad_machine_runtime_t *mi) length = circpad_distribution_sample(state->length_dist); length = MAX(0, length); length += state->start_length; - length = MIN(length, state->max_length); + + if (state->max_length) { +length = MIN(length, state->max_length); + } mi->state_length = clamp_double_to_int64(length); } ___ 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/1033'
commit b2b779228d46334a03e62f0e07c2300adce5e0b3 Merge: 9cec7a7b5 84274000d Author: Nick Mathewson Date: Fri May 17 08:18:20 2019 -0400 Merge remote-tracking branch 'tor-github/pr/1033' changes/ticket28634 | 10 + scripts/maint/practracker/exceptions.txt | 2 + src/app/main/shutdown.c | 1 + src/core/include.am | 2 + src/core/or/circuitpadding.c | 202 -- src/core/or/circuitpadding.h | 23 +- src/core/or/circuitpadding_machines.c| 458 +++ src/core/or/circuitpadding_machines.h| 35 +++ src/test/test_circuitpadding.c | 223 ++- 9 files changed, 861 insertions(+), 95 deletions(-) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/master] Yes, these functions really do have to be this long.
commit 84274000d8a12a62ced9ef95d1bf355e7ab6e5c6 Author: Mike Perry Date: Thu May 16 20:29:09 2019 + Yes, these functions really do have to be this long. --- scripts/maint/practracker/exceptions.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/maint/practracker/exceptions.txt b/scripts/maint/practracker/exceptions.txt index 4cee5453f..896180156 100644 --- a/scripts/maint/practracker/exceptions.txt +++ b/scripts/maint/practracker/exceptions.txt @@ -290,3 +290,5 @@ problem function-size /src/tools/tor-resolve.c:build_socks5_resolve_request() 10 problem function-size /src/tools/tor-resolve.c:do_resolve() 175 problem function-size /src/tools/tor-resolve.c:main() 112 problem function-size /src/core/or/circuitpadding.c:circpad_machine_schedule_padding() 107 +problem function-size /src/core/or/circuitpadding_machines.c:circpad_machine_relay_hide_intro_circuits() 104 +problem function-size /src/core/or/circuitpadding_machines.c:circpad_machine_client_hide_rend_circuits() 112 ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/master] Refactor intro machines, stage 2/2: Move histogram code.
commit bbb974234c67d8d7dc95a760101ca61a9e88d647 Author: Mike Perry Date: Thu May 16 19:17:31 2019 + Refactor intro machines, stage 2/2: Move histogram code. The client side had garbage histograms and deadcode here, too. That code has been removed. The tests have also been updated to properly test the intro circ by sending padding from the relay side to the client, and verifying that both shut down when padding was up. (The tests previously erroneously tested only the client side of intro circs, which actually were supposed to be doing nothing). --- src/core/or/circuitpadding_machines.c | 96 +-- src/test/test_circuitpadding.c| 37 +- 2 files changed, 72 insertions(+), 61 deletions(-) diff --git a/src/core/or/circuitpadding_machines.c b/src/core/or/circuitpadding_machines.c index 4256a7be4..be02a597d 100644 --- a/src/core/or/circuitpadding_machines.c +++ b/src/core/or/circuitpadding_machines.c @@ -57,48 +57,6 @@ #include "core/or/circuitpadding_machines.h" #include "core/or/circuitpadding.h" -/* Setup the OBFUSCATE_CIRC_SETUP state of the machine that hides client-side - * intro circuits. */ -static void -setup_obf_state_for_hiding_intro_circuits(circpad_state_t *obf_state, -bool is_client) -{ - /* Token removal strategy for OBFUSCATE_CIRC_SETUP state. We pick the - * simplest one since we rely on the state length sampling and not the - * tokens. */ - obf_state->token_removal = CIRCPAD_TOKEN_REMOVAL_NONE; - - /* Figure out the length of the OBFUSCATE_CIRC_SETUP state so that it's - * randomized. We will set the histogram such that we don't send any padding - * from the origin-side, so just tune these parameteres for the - * relay-side. */ - obf_state->length_dist.type = CIRCPAD_DIST_UNIFORM; - obf_state->length_dist.param1 = INTRO_MACHINE_MINIMUM_PADDING; - obf_state->length_dist.param2 = INTRO_MACHINE_MAXIMUM_PADDING; - - /* Configure histogram */ - obf_state->histogram_len = 2; - if (is_client) { -/* For the origin-side machine we don't want to send any padding, so setup - * infinite delays. */ -obf_state->histogram_edges[0] = CIRCPAD_DELAY_INFINITE-1; -obf_state->histogram_edges[1] = CIRCPAD_DELAY_INFINITE; -/* zero tokens */ -obf_state->histogram[0] = 0; - } else { -/* For the relay-side machine we want to batch padding instantly to pretend - * its an incoming directory download. So set the histogram edges tight: - * (1, 10ms, infinity). */ -obf_state->histogram_edges[0] = 1000; -obf_state->histogram_edges[1] = 1; -/* padding is controlled by state length, so this is just a high value */ -obf_state->histogram[0] = 1000; - } - - /* just one bin, so setup the total tokens */ - obf_state->histogram_total_tokens = obf_state->histogram[0]; -} - /** Create a client-side padding machine that aims to hide IP circuits. In * particular, it keeps intro circuits alive until a bunch of fake traffic has * been pushed through. @@ -170,11 +128,11 @@ circpad_machine_client_hide_intro_circuits(smartlist_t *machines_sl) CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP; /* origin-side machine has no event reactions while in - * CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP, so no more state transitions here). */ + * CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP, so no more state transitions here. */ - setup_obf_state_for_hiding_intro_circuits( - &client_machine->states[CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP], - true); + /* The client side should never send padding, so it does not need + * to specify token removal, or a histogram definition or state lengths. + * That is all controlled by the middle node. */ /* Register the machine */ client_machine->machine_num = smartlist_len(machines_sl); @@ -242,9 +200,49 @@ circpad_machine_relay_hide_intro_circuits(smartlist_t *machines_sl) next_state[CIRCPAD_EVENT_NONPADDING_SENT] = CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP; - setup_obf_state_for_hiding_intro_circuits( - &relay_machine->states[CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP], - false); + /* Token removal strategy for OBFUSCATE_CIRC_SETUP state: Don't + * remove any tokens. + * + * We rely on the state length sampling and not token removal, to avoid + * the mallocs required to copy the histograms for token removal, + * and to avoid monotime calls needed to determine histogram + * bins for token removal. */ + relay_machine->states[CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP]. +token_removal = CIRCPAD_TOKEN_REMOVAL_NONE; + + /* Figure out the length of the OBFUSCATE_CIRC_SETUP state so that it's + * randomized. The relay side will send between INTRO_MACHINE_MINIMUM_PADDING + * and INTRO_MACHINE_MAXIMUM_PADDING padding cells towards the client. */ + relay_machine->states[CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP]. +length_dist.
[tor-commits] [tor/master] Changes file.
commit 1a79bedd97bb67931b87c0ec7e53ceceb77ea754 Author: Mike Perry Date: Thu May 16 20:25:25 2019 + Changes file. --- changes/ticket28634 | 10 ++ 1 file changed, 10 insertions(+) diff --git a/changes/ticket28634 b/changes/ticket28634 new file mode 100644 index 0..7ba05e5c5 --- /dev/null +++ b/changes/ticket28634 @@ -0,0 +1,10 @@ + o Major features (Circuit padding): +- Onion service clients will now add padding cells to the initial portions + of their INTRODUCE and RENDEZVOUS circuits, to make those circuits' + traffic patterns look more like general purpose Exit traffic. The + overhead for this is 2 extra cells in each direction for RENDEZVOUS + circuits, and 1 extra upstream cell and 10 downstream cells for INTRODUCE + circuits. This will only be enabled if the circuit's middle node supports + this feature, too. (Clients may specify fixed middle nodes with the MiddleNodes + torrc directive, and may force-disable this feature with the CircuitPadding + torrc directive). Closes ticket 28634. ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/master] Add unittests for the new machines.
commit 953dc601d9369db54ad48a21768a7852f18a617b Author: George Kadianakis Date: Thu Mar 28 15:39:08 2019 +0200 Add unittests for the new machines. --- src/core/or/circuitpadding.c | 28 +++- src/core/or/circuitpadding.h | 7 +++ src/test/test_circuitpadding.c | 28 +--- 3 files changed, 39 insertions(+), 24 deletions(-) diff --git a/src/core/or/circuitpadding.c b/src/core/or/circuitpadding.c index 6c48bbe6f..72909bf72 100644 --- a/src/core/or/circuitpadding.c +++ b/src/core/or/circuitpadding.c @@ -2034,7 +2034,8 @@ circpad_shutdown_old_machines(origin_circuit_t *on_circ) } /** - * Negotiate new machines that would apply to this circuit. + * Negotiate new machines that would apply to this circuit, given the machines + * inside machines_sl. * * This function checks to see if we have any free machine indexes, * and for each free machine index, it initializes the most recently @@ -2042,14 +2043,15 @@ circpad_shutdown_old_machines(origin_circuit_t *on_circ) * index and circuit conditions, and negotiates it with the appropriate * middle relay. */ -static void -circpad_add_matching_machines(origin_circuit_t *on_circ) +STATIC void +circpad_add_matching_machines(origin_circuit_t *on_circ, + smartlist_t *machines_sl) { circuit_t *circ = TO_CIRCUIT(on_circ); #ifdef TOR_UNIT_TESTS /* Tests don't have to init our padding machines */ - if (!origin_padding_machines) + if (!machines_sl) return; #endif @@ -2066,7 +2068,7 @@ circpad_add_matching_machines(origin_circuit_t *on_circ) /* We have a free machine index. Check the origin padding * machines in reverse order, so that more recently added * machines take priority over older ones. */ -SMARTLIST_FOREACH_REVERSE_BEGIN(origin_padding_machines, +SMARTLIST_FOREACH_REVERSE_BEGIN(machines_sl, circpad_machine_spec_t *, machine) { /* Machine definitions have a specific target machine index. @@ -2117,7 +2119,7 @@ circpad_machine_event_circ_added_hop(origin_circuit_t *on_circ) { /* Since our padding conditions do not specify a max_hops, * all we can do is add machines here */ - circpad_add_matching_machines(on_circ); + circpad_add_matching_machines(on_circ, origin_padding_machines); } /** @@ -2130,7 +2132,7 @@ void circpad_machine_event_circ_built(origin_circuit_t *circ) { circpad_shutdown_old_machines(circ); - circpad_add_matching_machines(circ); + circpad_add_matching_machines(circ, origin_padding_machines); } /** @@ -2143,7 +2145,7 @@ void circpad_machine_event_circ_purpose_changed(origin_circuit_t *circ) { circpad_shutdown_old_machines(circ); - circpad_add_matching_machines(circ); + circpad_add_matching_machines(circ, origin_padding_machines); } /** @@ -2157,7 +2159,7 @@ void circpad_machine_event_circ_has_no_relay_early(origin_circuit_t *circ) { circpad_shutdown_old_machines(circ); - circpad_add_matching_machines(circ); + circpad_add_matching_machines(circ, origin_padding_machines); } /** @@ -2172,7 +2174,7 @@ void circpad_machine_event_circ_has_streams(origin_circuit_t *circ) { circpad_shutdown_old_machines(circ); - circpad_add_matching_machines(circ); + circpad_add_matching_machines(circ, origin_padding_machines); } /** @@ -2187,7 +2189,7 @@ void circpad_machine_event_circ_has_no_streams(origin_circuit_t *circ) { circpad_shutdown_old_machines(circ); - circpad_add_matching_machines(circ); + circpad_add_matching_machines(circ, origin_padding_machines); } /** @@ -2682,8 +2684,8 @@ circpad_node_supports_padding(const node_t *node) * Returns node_t from the consensus for that hop, if it is opened. * Otherwise returns NULL. */ -static const node_t * -circuit_get_nth_node(origin_circuit_t *circ, int hop) +MOCK_IMPL(STATIC const node_t *, +circuit_get_nth_node,(origin_circuit_t *circ, int hop)) { crypt_path_t *iter = circuit_get_cpath_hop(circ, hop); diff --git a/src/core/or/circuitpadding.h b/src/core/or/circuitpadding.h index 37b4603f0..0dc66246d 100644 --- a/src/core/or/circuitpadding.h +++ b/src/core/or/circuitpadding.h @@ -786,10 +786,17 @@ circpad_send_command_to_hop,(struct origin_circuit_t *circ, uint8_t hopnum, uint8_t relay_command, const uint8_t *payload, ssize_t payload_len)); +MOCK_DECL(STATIC const node_t *, +circuit_get_nth_node,(origin_circuit_t *circ, int hop)); + STATIC circpad_delay_t histogram_get_bin_upper_bound(const circpad_machine_runtime_t *mi, circpad_hist_index_t bin); +STATIC void +circpad_add_matching_machines(origin_circuit_t *on_circ, + smartlist_t *machines_sl); + #ifdef TOR_UNIT_TESTS extern smartlist_t *origin_padding_machines; extern smartlist_t *relay_padding_machines; diff --git a/src/test/test_circuitpa
[tor-commits] [tor-browser-build/master] Release preparations for 9.0a1
commit cc3bc21765ef4efa83f6fb08465b6cf5da0d900c Author: Georg Koppen Date: Fri May 17 12:23:20 2019 + Release preparations for 9.0a1 Versions bump and Changelog update --- projects/firefox-locale-bundle/config | 2 +- projects/firefox/config| 4 +- projects/https-everywhere/config | 2 +- .../tor-browser/Bundle-Data/Docs/ChangeLog.txt | 60 ++ projects/tor-launcher/config | 2 +- projects/torbutton/config | 2 +- rbm.conf | 4 +- 7 files changed, 68 insertions(+), 8 deletions(-) diff --git a/projects/firefox-locale-bundle/config b/projects/firefox-locale-bundle/config index 2ea6db6..2f4997f 100644 --- a/projects/firefox-locale-bundle/config +++ b/projects/firefox-locale-bundle/config @@ -5,4 +5,4 @@ filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz' var: use_container: 0 ff_version: '[% pc("firefox", "var/firefox_version") %]' - ff_build: build2 + ff_build: build1 diff --git a/projects/firefox/config b/projects/firefox/config index 427033e..7e9e45e 100644 --- a/projects/firefox/config +++ b/projects/firefox/config @@ -1,14 +1,14 @@ # vim: filetype=yaml sw=2 version: '[% c("abbrev") %]' filename: 'firefox-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %]' -git_hash: 'tor-browser-[% c("var/firefox_version") %]-[% c("var/torbrowser_branch") %]-1-build2' +git_hash: 'tor-browser-[% c("var/firefox_version") %]-[% c("var/torbrowser_branch") %]-1-build1' tag_gpg_id: 1 git_url: https://git.torproject.org/tor-browser.git git_submodule: 1 gpg_keyring: torbutton.gpg var: - firefox_platform_version: 60.6.1 + firefox_platform_version: 60.7.0 firefox_version: '[% c("var/firefox_platform_version") %]esr' torbrowser_branch: 9.0 torbrowser_update_channel: alpha diff --git a/projects/https-everywhere/config b/projects/https-everywhere/config index d84cdf6..60776cb 100644 --- a/projects/https-everywhere/config +++ b/projects/https-everywhere/config @@ -1,5 +1,5 @@ # vim: filetype=yaml sw=2 -version: 2019.1.31 +version: 2019.5.6.1 git_url: https://git.torproject.org/https-everywhere.git git_hash: '[% c("version") %]' git_submodule: 1 diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt index 29c4bb9..8ea6f9f 100644 --- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt +++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt @@ -1,3 +1,63 @@ +Tor Browser 9.0a1 -- May 21 2019 + * All platforms + * Update Firefox to 60.7.0esr + * Update Torbutton to 2.1.9 + * Bug 30069: Use slider and about:tor localizations + * Bug 30115+27449+25145: Map browser + domain -> credentials to fix UI issues + * Bug 30171: Don't sync cookie.cookieBehavior and firstparty.isolate + * Bug 30425: Revert armagadd-on-2.0 changes + * Bug 30497: Add Donate link to about:tor + * Bug 30464: Add WebGL to safer descriptions + * Translations update + * Update HTTPS Everywhere to 2019.5.6.1 + * Bug 24622: Proper first-party isolation of s3.amazonaws.com + * Bug 30425: Revert armagadd-on-2.0 changes + * Windows + OS X + Linux + * Update Tor Launcher to 0.2.19 + * Bug 28044: Integrate Tor Launcher into tor-browser + * Bug 29627: Moat: add support for obfsproxy's meek_lite + * Bug 30139: Remove FTE bits + * Translations update + * Bug 28044: Integrate Tor Launcher into tor-browser + * Bug 30372: Backport letterboxing (bug 1538130) + * Bug 28369: Stop shipping pingsender executable + * Bug 30457: Remove defunct default bridges + * Bug 29045: Ensure that tor does not start up in dormant mode + * Bug 29641: Try to connect over IPv6 if needed + * Windows + * Bug 30319: Drop FTE releated bits + * Bug 29319: Remove FTE support for Windows + * OS X + * Bug 30241: Bump snowflake version to d11e55aabe + * Linux + * Bug 30319: Drop FTE releated bits + * Bug 30241: Bump snowflake version to d11e55aabe + * Android + * Bug 29982: Force single-pane UI on Tor Preferences + * Bug 30086: Prevent Sync-related crashes on Android + * Bug 30214: Kill background thread when Activity is null + * Bug 30239: Render Fragments after crash + * Bug 30136: Use 'Tor Browser' as brand name on mobile, too + * Bug 30069: Use slider and about:tor localizations + * Bug 30371: Stop hard-coding the content provider name in tor-android-service + * Bug 30162: Tor Browser bootstrap process got stuck after interrupting it + * Bug 30166: If specified, only use custom bridges for connecting + * Bug 30518: Add SocksPort flags for consistency across platforms + * Bug 30284: Fix broken start-up on KitKat devices + * Bug 30489: Remove Unused Resources from tor-android-service + * Build System + * Windows + * Bug 29307: Use Stretch for cross-compiling for Windows
[tor-commits] [tor-browser-build/master] Pick up latest mobile translations
commit a8ee8695633f5a3a762bd6e362face156a24d57f Author: Georg Koppen Date: Wed May 15 07:57:46 2019 + Pick up latest mobile translations --- projects/tba-translation/config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/tba-translation/config b/projects/tba-translation/config index d53760c..9dd3375 100644 --- a/projects/tba-translation/config +++ b/projects/tba-translation/config @@ -3,5 +3,5 @@ filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz' git_url: https://git.torproject.org/translation.git # We need to bump the commit before releasing but just pointing to a branch # might cause too much rebuidling of the Firefox part. -git_hash: 342ecc5cd2ec2b0c3004fc64e0cef3956831675e +git_hash: 0a14ba0a2ad2c4cc46f926dc1a5aeaa709e270d4 version: '[% c("abbrev") %]' ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/master] Refactor rend machines, stage 1/2: Move state transition code.
commit 0cba53c6edcc8c9c67a83a836e562552adf95e2d Author: Mike Perry Date: Thu May 16 19:30:42 2019 + Refactor rend machines, stage 1/2: Move state transition code. --- src/core/or/circuitpadding_machines.c | 56 --- 1 file changed, 32 insertions(+), 24 deletions(-) diff --git a/src/core/or/circuitpadding_machines.c b/src/core/or/circuitpadding_machines.c index be02a597d..5350e6e86 100644 --- a/src/core/or/circuitpadding_machines.c +++ b/src/core/or/circuitpadding_machines.c @@ -284,26 +284,6 @@ setup_obf_state_for_hiding_rend_circuits(circpad_state_t *obf_state) obf_state->histogram_total_tokens = 1; } -/* Setup the simple state machine we use for all HS padding machines */ -static void -setup_state_machine_for_hiding_rend_circuits(circpad_machine_spec_t *machine) -{ - /* Two states: START, OBFUSCATE_CIRC_SETUP (and END) */ - circpad_machine_states_init(machine, 2); - - /* START -> OBFUSCATE_CIRC_SETUP transition upon sending the first - * non-padding cell (which is PADDING_NEGOTIATE) */ - machine->states[CIRCPAD_STATE_START]. -next_state[CIRCPAD_EVENT_NONPADDING_SENT] = -CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP; - - /* OBFUSCATE_CIRC_SETUP -> END transition when we finish all the tokens */ - machine->states[CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP]. - next_state[CIRCPAD_EVENT_PADDING_RECV] = CIRCPAD_STATE_END; - machine->states[CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP]. - next_state[CIRCPAD_EVENT_LENGTH_COUNT] = CIRCPAD_STATE_END; -} - /** Create a client-side padding machine that aims to hide rendezvous * circuits.*/ void @@ -360,8 +340,22 @@ circpad_machine_client_hide_rend_circuits(smartlist_t *machines_sl) client_machine->allowed_padding_count = 1; client_machine->max_padding_percent = 1; - /* Setup states and histograms */ - setup_state_machine_for_hiding_rend_circuits(client_machine); + /* Two states: START, OBFUSCATE_CIRC_SETUP (and END) */ + circpad_machine_states_init(client_machine, 2); + + /* START -> OBFUSCATE_CIRC_SETUP transition upon sending the first + * non-padding cell (which is PADDING_NEGOTIATE) */ + client_machine->states[CIRCPAD_STATE_START]. +next_state[CIRCPAD_EVENT_NONPADDING_SENT] = +CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP; + + /* OBFUSCATE_CIRC_SETUP -> END transition when we send our first + * padding packet and/or hit the state length (the state length is 1). */ + client_machine->states[CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP]. + next_state[CIRCPAD_EVENT_PADDING_RECV] = CIRCPAD_STATE_END; + client_machine->states[CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP]. + next_state[CIRCPAD_EVENT_LENGTH_COUNT] = CIRCPAD_STATE_END; + setup_obf_state_for_hiding_rend_circuits( &client_machine->states[CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP]); @@ -398,8 +392,22 @@ circpad_machine_relay_hide_rend_circuits(smartlist_t *machines_sl) relay_machine->allowed_padding_count = 1; relay_machine->max_padding_percent = 1; - /* Setup states and histograms */ - setup_state_machine_for_hiding_rend_circuits(relay_machine); + /* Two states: START, OBFUSCATE_CIRC_SETUP (and END) */ + circpad_machine_states_init(relay_machine, 2); + + /* START -> OBFUSCATE_CIRC_SETUP transition upon sending the first + * non-padding cell (which is PADDING_NEGOTIATED) */ + relay_machine->states[CIRCPAD_STATE_START]. +next_state[CIRCPAD_EVENT_NONPADDING_SENT] = +CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP; + + /* OBFUSCATE_CIRC_SETUP -> END transition when we send our first + * padding packet and/or hit the state length (the state length is 1). */ + relay_machine->states[CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP]. + next_state[CIRCPAD_EVENT_PADDING_RECV] = CIRCPAD_STATE_END; + relay_machine->states[CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP]. + next_state[CIRCPAD_EVENT_LENGTH_COUNT] = CIRCPAD_STATE_END; + setup_obf_state_for_hiding_rend_circuits( &relay_machine->states[CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP]); ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/master] Refactor rend machines, stage 2/2: Move histogram code.
commit 857c54ca038baf0881ce6859dbdb2c3446f54c50 Author: Mike Perry Date: Thu May 16 19:42:45 2019 + Refactor rend machines, stage 2/2: Move histogram code. Comment clarifications now that the code is seperated. It's the same code, but its doing this for different reasons on each side. --- src/core/or/circuitpadding_machines.c | 103 +++--- 1 file changed, 70 insertions(+), 33 deletions(-) diff --git a/src/core/or/circuitpadding_machines.c b/src/core/or/circuitpadding_machines.c index 5350e6e86..75d2614ac 100644 --- a/src/core/or/circuitpadding_machines.c +++ b/src/core/or/circuitpadding_machines.c @@ -255,35 +255,6 @@ circpad_machine_relay_hide_intro_circuits(smartlist_t *machines_sl) /** Rendezvous-circuit machine ***/ -/* Setup the obf state of the machine that hides client-side rend - * circuits. */ -static void -setup_obf_state_for_hiding_rend_circuits(circpad_state_t *obf_state) -{ - /* Don't use a token removal strategy since we don't want to use monotime - functions. We want this machine to be light. */ - obf_state->token_removal = CIRCPAD_TOKEN_REMOVAL_NONE; - - /* Instead, to control the volume of padding (we just want to send a single - * padding cell) we will use a static state length. We just want one token, - * since we want to make the following pattern: - * [PADDING_NEGOTIATE] -> [DROP] -> PADDING_NEGOTIATED -> DROP */ - obf_state->length_dist.type = CIRCPAD_DIST_UNIFORM; - obf_state->length_dist.param1 = 1; - obf_state->length_dist.param2 = 2; - - /* Histogram is: (0 msecs, 50 msecs, infinity). We want this to be fast so - * that the incoming PADDING_NEGOTIATED cell always arrives after the - * outgoing [DROP]. */ - obf_state->histogram_len = 2; - obf_state->histogram_edges[0] = 0; - obf_state->histogram_edges[1] = 1000; - - /* dummy amount of tokens. they don't matter. we rely on state length. */ - obf_state->histogram[0] = 1; - obf_state->histogram_total_tokens = 1; -} - /** Create a client-side padding machine that aims to hide rendezvous * circuits.*/ void @@ -356,8 +327,41 @@ circpad_machine_client_hide_rend_circuits(smartlist_t *machines_sl) client_machine->states[CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP]. next_state[CIRCPAD_EVENT_LENGTH_COUNT] = CIRCPAD_STATE_END; - setup_obf_state_for_hiding_rend_circuits( - &client_machine->states[CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP]); + /* Don't use a token removal strategy since we don't want to use monotime + * functions and we want to avoid mallocing histogram copies. We want + * this machine to be light. */ + client_machine->states[CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP]. +token_removal = CIRCPAD_TOKEN_REMOVAL_NONE; + + /* Instead, to control the volume of padding (we just want to send a single + * padding cell) we will use a static state length. We just want one token, + * since we want to make the following pattern: + * [PADDING_NEGOTIATE] -> [DROP] -> PADDING_NEGOTIATED -> DROP */ + client_machine->states[CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP]. +length_dist.type = CIRCPAD_DIST_UNIFORM; + client_machine->states[CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP]. +length_dist.param1 = 1; + client_machine->states[CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP]. +length_dist.param2 = 2; // rand(1,2) is always 1 + + /* Histogram is: (0 msecs, 1 msec, infinity). We want this to be fast so + * that we send our outgoing [DROP] before the PADDING_NEGOTIATED comes + * back from the relay side. */ + client_machine->states[CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP]. +histogram_len = 2; + client_machine->states[CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP]. +histogram_edges[0] = 0; + client_machine->states[CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP]. +histogram_edges[1] = 1000; + + /* We want a 100% probability of choosing an inter-packet delay of + * between 0 and 1ms. Since we don't use token removal, + * the number of tokens does not matter. (And also, state_length + * governs how many packets we send). */ + client_machine->states[CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP]. +histogram[0] = 1; + client_machine->states[CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP]. +histogram_total_tokens = 1; /* Register the machine */ client_machine->machine_num = smartlist_len(machines_sl); @@ -408,8 +412,41 @@ circpad_machine_relay_hide_rend_circuits(smartlist_t *machines_sl) relay_machine->states[CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP]. next_state[CIRCPAD_EVENT_LENGTH_COUNT] = CIRCPAD_STATE_END; - setup_obf_state_for_hiding_rend_circuits( - &relay_machine->states[CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP]); + /* Don't use a token removal strategy since we don't want to use monotime + * functions and we want to avoid mallocing histogram copies. We want + * this machine to be light. */ + relay_machine->states[CIRCPAD_STATE_OBFUSCATE_CIRC_SETUP]. +token_removal = CIRCPAD_TOKE
[tor-commits] [tor/master] Add client-side onion service circuit hiding machines.
commit ac895fa40552b78744eddfb648dadde23834e553 Author: George Kadianakis Date: Thu May 16 14:02:16 2019 +0300 Add client-side onion service circuit hiding machines. --- src/core/include.am | 2 + src/core/or/circuitpadding.c | 18 +- src/core/or/circuitpadding.h | 5 + src/core/or/circuitpadding_machines.c | 418 ++ src/core/or/circuitpadding_machines.h | 35 +++ src/test/test_circuitpadding.c| 188 +++ 6 files changed, 662 insertions(+), 4 deletions(-) diff --git a/src/core/include.am b/src/core/include.am index f722b7048..66ce2c965 100644 --- a/src/core/include.am +++ b/src/core/include.am @@ -37,6 +37,7 @@ LIBTOR_APP_A_SOURCES =\ src/core/or/circuitmux.c\ src/core/or/circuitmux_ewma.c \ src/core/or/circuitpadding.c\ + src/core/or/circuitpadding_machines.c \ src/core/or/circuitstats.c \ src/core/or/circuituse.c\ src/core/or/crypt_path.c\ @@ -247,6 +248,7 @@ noinst_HEADERS += \ src/core/or/circuitmux_ewma.h \ src/core/or/circuitstats.h \ src/core/or/circuitpadding.h\ + src/core/or/circuitpadding_machines.h \ src/core/or/circuituse.h\ src/core/or/command.h \ src/core/or/connection_edge.h \ diff --git a/src/core/or/circuitpadding.c b/src/core/or/circuitpadding.c index e02cfb7bc..6c48bbe6f 100644 --- a/src/core/or/circuitpadding.c +++ b/src/core/or/circuitpadding.c @@ -53,6 +53,7 @@ #include "lib/math/prob_distr.h" #include "core/or/or.h" #include "core/or/circuitpadding.h" +#include "core/or/circuitpadding_machines.h" #include "core/or/circuitlist.h" #include "core/or/circuituse.h" #include "core/mainloop/netstatus.h" @@ -79,8 +80,6 @@ #include "app/config/config.h" -static inline circpad_purpose_mask_t circpad_circ_purpose_to_mask(uint8_t - circ_purpose); static inline circpad_circuit_state_t circpad_circuit_state( origin_circuit_t *circ); static void circpad_setup_machine_on_circ(circuit_t *on_circ, @@ -492,7 +491,10 @@ circpad_machine_setup_tokens(circpad_machine_runtime_t *mi) const circpad_state_t *state = circpad_machine_current_state(mi); /* If this state doesn't exist, or doesn't have token removal, - * free any previous state's histogram, and bail */ + * free any previous state's runtime histogram, and bail. + * + * If we don't have a token removal strategy, we also don't need a runtime + * histogram and we rely on the immutable one in machine_spec_t. */ if (!state || state->token_removal == CIRCPAD_TOKEN_REMOVAL_NONE) { if (mi->histogram) { tor_free(mi->histogram); @@ -1990,7 +1992,6 @@ circpad_circuit_state(origin_circuit_t *circ) * Convert a normal circuit purpose into a bitmask that we can * use for determining matching circuits. */ -static inline circpad_purpose_mask_t circpad_circ_purpose_to_mask(uint8_t circ_purpose) { @@ -2623,6 +2624,14 @@ circpad_machines_init(void) origin_padding_machines = smartlist_new(); relay_padding_machines = smartlist_new(); + /* Register machines for hiding client-side intro circuits */ + circpad_machine_client_hide_intro_circuits(origin_padding_machines); + circpad_machine_relay_hide_intro_circuits(relay_padding_machines); + + /* Register machines for hiding client-side rendezvous circuits */ + circpad_machine_client_hide_rend_circuits(origin_padding_machines); + circpad_machine_relay_hide_rend_circuits(relay_padding_machines); + // TODO: Parse machines from consensus and torrc #ifdef TOR_UNIT_TESTS circpad_circ_client_machine_init(); @@ -2877,6 +2886,7 @@ circpad_handle_padding_negotiated(circuit_t *circ, cell_t *cell, } if (negotiated->command == CIRCPAD_COMMAND_STOP) { +log_info(LD_CIRC, "Received STOP command on PADDING_NEGOTIATED"); /* There may not be a padding_info here if we shut down the * machine in circpad_shutdown_old_machines(). Or, if * circpad_add_matching_matchines() added a new machine, diff --git a/src/core/or/circuitpadding.h b/src/core/or/circuitpadding.h index c7c5f6c69..37b4603f0 100644 --- a/src/core/or/circuitpadding.h +++ b/src/core/or/circuitpadding.h @@ -603,6 +603,9 @@ typedef uint8_t circpad_machine_num_t; /** Global state machine structure from the consensus */ typedef struct circpad_machine_spec_t { + /* Just a user-friendly machine name for logs */ + const char *name; + /** Global machine number */ circpad_machine_num_t machine_num; @@ -728,6 +731,8 @@ bool circpad_padding_negotiated(struct circuit_t *circ,
[tor-commits] [translation/torbutton-torbuttondtd] Update translations for torbutton-torbuttondtd
commit 0220c451dc2ddda17bd2417c49a49f00749a2df1 Author: Translation commit bot Date: Fri May 17 13:19:11 2019 + Update translations for torbutton-torbuttondtd --- lt/torbutton.dtd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lt/torbutton.dtd b/lt/torbutton.dtd index 1eba6e6ef..762e809e0 100644 --- a/lt/torbutton.dtd +++ b/lt/torbutton.dtd @@ -36,6 +36,6 @@ - + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/torbutton-torbuttondtd_completed] Update translations for torbutton-torbuttondtd_completed
commit 24e26bacf4c7df4822dd7416642e7b215e6ab3b1 Author: Translation commit bot Date: Fri May 17 13:19:20 2019 + Update translations for torbutton-torbuttondtd_completed --- lt/torbutton.dtd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lt/torbutton.dtd b/lt/torbutton.dtd index 1eba6e6ef..762e809e0 100644 --- a/lt/torbutton.dtd +++ b/lt/torbutton.dtd @@ -36,6 +36,6 @@ - + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/torbutton-securitylevelproperties_completed] Update translations for torbutton-securitylevelproperties_completed
commit 00196ee49f0f7a5015753367a56ec18f45c36117 Author: Translation commit bot Date: Fri May 17 13:20:05 2019 + Update translations for torbutton-securitylevelproperties_completed --- lt/securitylevel.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lt/securitylevel.properties b/lt/securitylevel.properties index 2afc164d7..53233f59c 100644 --- a/lt/securitylevel.properties +++ b/lt/securitylevel.properties @@ -9,7 +9,7 @@ securityLevel.safer.tooltip = Saugumo lygmuo : Saugesnis securityLevel.safer.summary = IÅ¡jungia tas internetinių svetainių ypatybes, kurios, dažnai, bÅ«na pavojingos, dÄl to kai kurios svetainÄs gali prarasti funkcionalumÄ . securityLevel.safer.description1 = JavaScript yra iÅ¡jungtas ne HTTPS svetainÄse. securityLevel.safer.description2 = Kai kurie Å¡riftai ir matematiniai simboliai yra iÅ¡jungti. -securityLevel.safer.description3 = Audio and video (HTML5 media), and WebGL are click-to-play. +securityLevel.safer.description3 = Garsas ir vaizdas (HTML5 medija), bei WebGL yra atkuriami tik spustelÄjus. securityLevel.safest.level = Saugiausias securityLevel.safest.tooltip = Saugumo lygmuo : Saugiausias securityLevel.safest.summary = Leidžia tik tas internetinių svetainių ypatybes, kurios yra reikalingos statinÄms svetainÄms bei pagrindinÄms paslaugoms. Å ie pakeitimai paveikia paveikslus, medijÄ ir scenarijus. ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/torbutton-securitylevelproperties] Update translations for torbutton-securitylevelproperties
commit 422aead9b63d4ea0e9e4a720fa8f1665ac972e65 Author: Translation commit bot Date: Fri May 17 13:19:59 2019 + Update translations for torbutton-securitylevelproperties --- lt/securitylevel.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lt/securitylevel.properties b/lt/securitylevel.properties index 2afc164d7..53233f59c 100644 --- a/lt/securitylevel.properties +++ b/lt/securitylevel.properties @@ -9,7 +9,7 @@ securityLevel.safer.tooltip = Saugumo lygmuo : Saugesnis securityLevel.safer.summary = IÅ¡jungia tas internetinių svetainių ypatybes, kurios, dažnai, bÅ«na pavojingos, dÄl to kai kurios svetainÄs gali prarasti funkcionalumÄ . securityLevel.safer.description1 = JavaScript yra iÅ¡jungtas ne HTTPS svetainÄse. securityLevel.safer.description2 = Kai kurie Å¡riftai ir matematiniai simboliai yra iÅ¡jungti. -securityLevel.safer.description3 = Audio and video (HTML5 media), and WebGL are click-to-play. +securityLevel.safer.description3 = Garsas ir vaizdas (HTML5 medija), bei WebGL yra atkuriami tik spustelÄjus. securityLevel.safest.level = Saugiausias securityLevel.safest.tooltip = Saugumo lygmuo : Saugiausias securityLevel.safest.summary = Leidžia tik tas internetinių svetainių ypatybes, kurios yra reikalingos statinÄms svetainÄms bei pagrindinÄms paslaugoms. Å ie pakeitimai paveikia paveikslus, medijÄ ir scenarijus. ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/torbutton-securitylevelproperties_completed] Update translations for torbutton-securitylevelproperties_completed
commit 8978a4a63c58ec2c7208e3e58659b9227be5a39a Author: Translation commit bot Date: Fri May 17 13:49:50 2019 + Update translations for torbutton-securitylevelproperties_completed --- fr/securitylevel.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fr/securitylevel.properties b/fr/securitylevel.properties index 70a42775f..3dd5edf73 100644 --- a/fr/securitylevel.properties +++ b/fr/securitylevel.properties @@ -9,7 +9,7 @@ securityLevel.safer.tooltip = Niveau de sécurité : plus sûr securityLevel.safer.summary = Désactive les fonctions souvent dangereuses des sites Web, ce qui pourrait entraîner une perte de fonctionnalité de certains sites Web. securityLevel.safer.description1 = JavaScript est désactivé pour les sites non HTTPS. securityLevel.safer.description2 = Certaines polices et certains symboles mathématiques sont désactivés. -securityLevel.safer.description3 = Audio and video (HTML5 media), and WebGL are click-to-play. +securityLevel.safer.description3 = Le son et la vidéo (médias HTML5) ainsi que WebGL sont « cliquer pour lire ». securityLevel.safest.level = Le plus sûr securityLevel.safest.tooltip = Niveau de sécurité : le plus sûr securityLevel.safest.summary = Ne permet que les fonctions de sites Web exigées pour les sites statiques et les services de base. Ces changements affectent les images, les médias et les scripts. ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/torbutton-torbuttondtd] Update translations for torbutton-torbuttondtd
commit 895ecf4fb40f2137a22a01bf7a84ca1500444222 Author: Translation commit bot Date: Fri May 17 13:49:02 2019 + Update translations for torbutton-torbuttondtd --- fr/torbutton.dtd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fr/torbutton.dtd b/fr/torbutton.dtd index ddfeaf40c..e54ce1c15 100644 --- a/fr/torbutton.dtd +++ b/fr/torbutton.dtd @@ -36,6 +36,6 @@ - + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/torbutton-torbuttondtd_completed] Update translations for torbutton-torbuttondtd_completed
commit e648cf502dbeb79bd776862c607a26493e6a8dd8 Author: Translation commit bot Date: Fri May 17 13:49:08 2019 + Update translations for torbutton-torbuttondtd_completed --- fr/torbutton.dtd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fr/torbutton.dtd b/fr/torbutton.dtd index ddfeaf40c..e54ce1c15 100644 --- a/fr/torbutton.dtd +++ b/fr/torbutton.dtd @@ -36,6 +36,6 @@ - + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/torbutton-securitylevelproperties] Update translations for torbutton-securitylevelproperties
commit a2d93a2a8f543d95d8ccb1888c592c1421a0cdda Author: Translation commit bot Date: Fri May 17 13:49:44 2019 + Update translations for torbutton-securitylevelproperties --- fr/securitylevel.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fr/securitylevel.properties b/fr/securitylevel.properties index 70a42775f..3dd5edf73 100644 --- a/fr/securitylevel.properties +++ b/fr/securitylevel.properties @@ -9,7 +9,7 @@ securityLevel.safer.tooltip = Niveau de sécurité : plus sûr securityLevel.safer.summary = Désactive les fonctions souvent dangereuses des sites Web, ce qui pourrait entraîner une perte de fonctionnalité de certains sites Web. securityLevel.safer.description1 = JavaScript est désactivé pour les sites non HTTPS. securityLevel.safer.description2 = Certaines polices et certains symboles mathématiques sont désactivés. -securityLevel.safer.description3 = Audio and video (HTML5 media), and WebGL are click-to-play. +securityLevel.safer.description3 = Le son et la vidéo (médias HTML5) ainsi que WebGL sont « cliquer pour lire ». securityLevel.safest.level = Le plus sûr securityLevel.safest.tooltip = Niveau de sécurité : le plus sûr securityLevel.safest.summary = Ne permet que les fonctions de sites Web exigées pour les sites statiques et les services de base. Ces changements affectent les images, les médias et les scripts. ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [tor/master] Initial changelog draft for 0.4.1.1-alpha (mostly automated)
commit aa4f2f739737edd8d1570474ee459d5b98713aba Author: Nick Mathewson Date: Fri May 17 10:12:07 2019 -0400 Initial changelog draft for 0.4.1.1-alpha (mostly automated) --- ChangeLog | 432 ++ changes/bug17357 | 7 - changes/bug22210 | 7 - changes/bug22781 | 4 - changes/bug23576 | 7 - changes/bug23588 | 5 - changes/bug24338 | 4 - changes/bug24490 | 5 - changes/bug28269 | 7 - changes/bug28636 | 8 - changes/bug29018 | 5 - changes/bug29061 | 4 - changes/bug29063 | 2 - changes/bug29085 | 4 - changes/bug29204 | 4 - changes/bug29221 | 5 - changes/bug29231 | 4 - changes/bug29243 | 3 - changes/bug29298 | 6 - changes/bug29613 | 5 - changes/bug29640 | 4 - changes/bug29805 | 3 - changes/bug29823 | 5 - changes/bug29926 | 2 - changes/bug29939 | 4 - changes/bug30002 | 2 - changes/bug30109 | 3 - changes/bug30148 | 4 - changes/bug30151 | 5 - changes/bug30189 | 4 - changes/bug30190 | 3 - changes/bug30236 | 3 - changes/bug30309 | 3 - changes/bug30452 | 3 - changes/bug30475 | 4 - changes/bugs28693+30173+29203 | 12 -- changes/coverity_falsepos | 4 - changes/feature29532 | 4 - changes/geoip-2019-05-13 | 4 - changes/pubsub| 5 - changes/ticket25110 | 4 - changes/ticket25417 | 4 - changes/ticket25614 | 3 - changes/ticket26069 | 2 - changes/ticket26288 | 6 - changes/ticket27251 | 4 - changes/ticket27821 | 3 - changes/ticket28634 | 10 - changes/ticket28780 | 3 - changes/ticket28816 | 4 - changes/ticket28837 | 4 - changes/ticket28913 | 4 - changes/ticket29059 | 3 - changes/ticket29060 | 2 - changes/ticket29062 | 3 - changes/ticket29064 | 2 - changes/ticket29065 | 3 - changes/ticket29067 | 3 - changes/ticket29068 | 2 - changes/ticket29070 | 2 - changes/ticket29071 | 3 - changes/ticket29108 | 5 - changes/ticket29391 | 3 - changes/ticket29434 | 3 - changes/ticket29436 | 4 - changes/ticket29536 | 9 - changes/ticket29537 | 3 - changes/ticket29542 | 7 - changes/ticket29553 | 5 - changes/ticket29588 | 4 - changes/ticket29635 | 3 - changes/ticket29660 | 5 - changes/ticket29662 | 5 - changes/ticket29732 | 5 - changes/ticket29756 | 3 - changes/ticket29894 | 4 - changes/ticket29913 | 4 - changes/ticket29984 | 5 - changes/ticket30007 | 3 - changes/ticket30033 | 4 - changes/ticket30051 | 5 - changes/ticket30075 | 3 - changes/ticket30076 | 2 - changes/ticket30077 | 2 - changes/ticket30078 | 3 - changes/ticket30079 | 3 - changes/ticket30091 | 4 - changes/ticket30114 | 3 - changes/ticket30149 | 3 - changes/ticket30176 | 4 - changes/ticket30213 | 3 - changes/ticket30234 | 2 - changes/ticket30261 | 4 - changes/ticket30293 | 5 - changes/ticket30307 | 4 - changes/ticket30308 | 5 - changes/ticket30345 | 3 - changes/ticket30414 | 3 - 98 files changed, 432 insertions(+), 396 deletions(-) diff --git a/ChangeLog b/ChangeLog index a69a7253b..827c4c313 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,435 @@ +Changes in version 0.4.1.1-alpha - 2019-05-?? + This is the first alpha in the 0.4.1.x series. It introduces + lightweight circuit padding to make some onion-service circuits harder + to distinguish, includes a new "authenticated SENDME" feature to make + certain denial-of-service attacks more difficult, and improves + performance in several areas. + + o Major features (Circuit padding): +- Onion service clients will now add padding cells to the initial + portions of their INTRODUCE and RENDEZVOUS circuits, to make those + circuits' traffic patterns look more like general purpose Exit + traffic. The overhead for this is 2 extra cells in each direction + for RENDEZVOUS circuits, and 1 extra upstream cell and 10 + downstream cells for
[tor-commits] [translation/support-portal] Update translations for support-portal
commit 69f067b057a0894ceee8190a5dc1fced8f26d546 Author: Translation commit bot Date: Fri May 17 14:20:50 2019 + Update translations for support-portal --- contents+fr.po | 17 + 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/contents+fr.po b/contents+fr.po index d17242368..9726b867d 100644 --- a/contents+fr.po +++ b/contents+fr.po @@ -6068,8 +6068,8 @@ msgid "" "[traffic](#traffic) other than TCP from the application you're using." msgstr "" "Il garantit que les requêtes DNS sont traitées en toute sécurité et rejette " -"explicitement tout [trafic](#trafic) autre que TCP de lâapplication que vous" -" utilisez." +"explicitement tout [trafic](#trafic) autre que le TCP de lâapplication que " +"vous utilisez." #: https//support.torproject.org/misc/glossary/ #: (content/misc/glossary/contents+en.lrquestion.description) @@ -6082,8 +6082,9 @@ msgid "" "Tor2web is a project to let users access [onion services](#onion-services) " "without using the [Tor Browser](#tor-browser)." msgstr "" -"Tor2web est un projet qui permet aux utilisateurs dâaccéder à [services " -"onion](#onion-services) sans utiliser le [Navigateur Tor](#tor-browser)." +"Tor2web est un projet afin de permettre aux utilisateurs dâaccéder à des " +"[services onion](#onion-services) sans utiliser le [Navigateur Tor](#tor-" +"browser)." #: https//support.torproject.org/misc/glossary/ #: (content/misc/glossary/contents+en.lrquestion.description) @@ -6094,7 +6095,7 @@ msgid "" msgstr "" "NOTE : Ce nâest pas aussi sûr que de se connecter aux [services onion" "](#onion-services) avec le Navigateur Tor, et supprimera toutes les " -"protections fournies par [Tor](#tor-/-tor-network/-core-tor) que le " +"protections fournies par [Tor](#tor-/-tor-network/-core-tor), que le " "[client](#client) aurait autrement." #: https//support.torproject.org/misc/glossary/ @@ -6105,7 +6106,7 @@ msgstr "### TPI" #: https//support.torproject.org/misc/glossary/ #: (content/misc/glossary/contents+en.lrquestion.description) msgid "TPI is an acronym for The Tor Project, Inc." -msgstr "TPI est un acronyme pour The Tor Project, Inc." +msgstr "TPI est un acronyme pour « The Tor Project, Inc. »" #: https//support.torproject.org/misc/glossary/ #: (content/misc/glossary/contents+en.lrquestion.description) @@ -6134,8 +6135,8 @@ msgid "" "Traffic is the data sent and received by [clients](#client) and " "[servers](#server)." msgstr "" -"Le trafic est les données envoyées et reçues par [clients](#client) et " -"[serveurs](#serveur)." +"Le trafic est les données envoyées et reçues par les [clients](#client) et " +"les [serveurs](#serveur)." #: https//support.torproject.org/misc/glossary/ #: (content/misc/glossary/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/support-portal_completed] Update translations for support-portal_completed
commit f99cd7a1f431357a5533f6a77c3c2bd27a691e70 Author: Translation commit bot Date: Fri May 17 14:20:58 2019 + Update translations for support-portal_completed --- contents+fr.po | 17 + 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/contents+fr.po b/contents+fr.po index d17242368..9726b867d 100644 --- a/contents+fr.po +++ b/contents+fr.po @@ -6068,8 +6068,8 @@ msgid "" "[traffic](#traffic) other than TCP from the application you're using." msgstr "" "Il garantit que les requêtes DNS sont traitées en toute sécurité et rejette " -"explicitement tout [trafic](#trafic) autre que TCP de lâapplication que vous" -" utilisez." +"explicitement tout [trafic](#trafic) autre que le TCP de lâapplication que " +"vous utilisez." #: https//support.torproject.org/misc/glossary/ #: (content/misc/glossary/contents+en.lrquestion.description) @@ -6082,8 +6082,9 @@ msgid "" "Tor2web is a project to let users access [onion services](#onion-services) " "without using the [Tor Browser](#tor-browser)." msgstr "" -"Tor2web est un projet qui permet aux utilisateurs dâaccéder à [services " -"onion](#onion-services) sans utiliser le [Navigateur Tor](#tor-browser)." +"Tor2web est un projet afin de permettre aux utilisateurs dâaccéder à des " +"[services onion](#onion-services) sans utiliser le [Navigateur Tor](#tor-" +"browser)." #: https//support.torproject.org/misc/glossary/ #: (content/misc/glossary/contents+en.lrquestion.description) @@ -6094,7 +6095,7 @@ msgid "" msgstr "" "NOTE : Ce nâest pas aussi sûr que de se connecter aux [services onion" "](#onion-services) avec le Navigateur Tor, et supprimera toutes les " -"protections fournies par [Tor](#tor-/-tor-network/-core-tor) que le " +"protections fournies par [Tor](#tor-/-tor-network/-core-tor), que le " "[client](#client) aurait autrement." #: https//support.torproject.org/misc/glossary/ @@ -6105,7 +6106,7 @@ msgstr "### TPI" #: https//support.torproject.org/misc/glossary/ #: (content/misc/glossary/contents+en.lrquestion.description) msgid "TPI is an acronym for The Tor Project, Inc." -msgstr "TPI est un acronyme pour The Tor Project, Inc." +msgstr "TPI est un acronyme pour « The Tor Project, Inc. »" #: https//support.torproject.org/misc/glossary/ #: (content/misc/glossary/contents+en.lrquestion.description) @@ -6134,8 +6135,8 @@ msgid "" "Traffic is the data sent and received by [clients](#client) and " "[servers](#server)." msgstr "" -"Le trafic est les données envoyées et reçues par [clients](#client) et " -"[serveurs](#serveur)." +"Le trafic est les données envoyées et reçues par les [clients](#client) et " +"les [serveurs](#serveur)." #: https//support.torproject.org/misc/glossary/ #: (content/misc/glossary/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] [gettor/master] Update how Gettor processes emails
commit 7853c1264383284b806d41626796f2a6917b55b0 Author: hiro Date: Fri Mar 1 15:16:30 2019 +0100 Update how Gettor processes emails --- gettor.conf.json | 4 ++-- scripts/process_email | 7 --- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/gettor.conf.json b/gettor.conf.json index d97b4fb..4a0cd27 100644 --- a/gettor.conf.json +++ b/gettor.conf.json @@ -1,7 +1,7 @@ { "platforms": ["linux", "osx", "windows"], - "dbname": "gettor.db", - "email_parser_logfile": "email_parser.log", + "dbname": "/srv/gettor.torproject.org/home/gettor-hiro/gettor.db", + "email_parser_logfile": "/srv/gettor.torproject.org/home/gettor-hiro/log/email_parser.log", "email_requests_limit": 5, "sendmail_interval": 10, "sendmail_addr": "email@addr", diff --git a/scripts/process_email b/scripts/process_email index acbefd6..6fbc8ca 100755 --- a/scripts/process_email +++ b/scripts/process_email @@ -9,14 +9,15 @@ # :license: This is Free Software. See LICENSE for license information. import sys -sys.path.insert(0, '..') - +import os from twisted.python import log from twisted.internet import defer, reactor -from gettor import EMAIL_PARSER_LOGFILE +sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__ from gettor.parse.email import EmailParser, AddressError, DKIMError +EMAIL_PARSER_LOGFILE = "/srv/gettor.torproject.org/home/gettor-hiro/log/email_parser.log" + @defer.inlineCallbacks def process_email(message): ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [gettor/master] Refactor code base folders structure
commit ba19003400fe11a68444bbb585fcdb12a93c100f Author: hiro Date: Mon Jan 28 17:01:12 2019 +0100 Refactor code base folders structure --- .gitignore | 0 .test.requirements.txt | 0 .travis.requirements.txt| 0 CHANGELOG | 0 MANIFEST.in | 0 Makefile| 0 blacklist.cfg => config/blacklist.cfg | 0 core.cfg => config/core.cfg | 0 mirrors-list.txt => config/mirrors-list.txt | 0 providers.txt => config/providers.txt | 0 smtp.cfg => config/smtp.cfg | 0 tor-mirrors => config/tor-mirrors | 0 tor-mirrors.csv => config/tor-mirrors.csv | 0 xmpp.cfg => config/xmpp.cfg | 0 {scripts => dev_scripts}/blacklist.py | 0 core_demo.py => dev_scripts/core_demo.py| 0 {scripts => dev_scripts}/create_api_mirror.py | 0 {scripts => dev_scripts}/create_db.py | 0 create_gh_mirrors.py => dev_scripts/create_gh_mirrors.py| 0 .../distribution_methods.txt| 0 get_mirrors.py => dev_scripts/get_mirrors.py| 0 process_chat.py => dev_scripts/process_chat.py | 0 process_email.py => dev_scripts/process_email.py| 0 process_http.py => dev_scripts/process_http.py | 0 process_tweets.py => dev_scripts/process_tweets.py | 0 report.py => dev_scripts/report.py | 0 {scripts => dev_scripts}/sample-htaccess-api-mirror | 0 {scripts => dev_scripts}/stats.py | 0 doc/HACKING.md | 0 UPLOAD-DROPBOX => doc/UPLOAD-DROPBOX| 0 UPLOAD-GOOGLE-DRIVE => doc/UPLOAD-GOOGLE-DRIVE | 0 gettor.conf | 0 {providers => gettor/providers}/drive.links | 0 {providers => gettor/providers}/dropbox.links | 0 {providers => gettor/providers}/dropbox.links.backup| 0 {providers => gettor/providers}/github.links| 0 requirements.txt| 0 setup.cfg | 0 setup.py| 0 {fonts => share/fonts}/glyphicons-halflings-regular.eot | Bin {fonts => share/fonts}/glyphicons-halflings-regular.svg | 0 {fonts => share/fonts}/glyphicons-halflings-regular.ttf | Bin {fonts => share/fonts}/glyphicons-halflings-regular.woff| Bin {fonts => share/fonts}/glyphicons-halflings-regular.woff2 | Bin {fonts => share/fonts}/lato-bold.woff | Bin {fonts => share/fonts}/lato-italic.woff | Bin {fonts => share/fonts}/lato-regular.woff| Bin {img => share/images}/android-logo.png | Bin {img => share/images}/linux-logo.png| Bin {img => share/images}/osx-logo.png | Bin {img => share/images}/windows-logo.png | Bin share/locale/en.json| 0 {lang => share/locale}/smtp/i18n/en/LC_MESSAGES/en.mo | Bin {lang => share/locale}/smtp/i18n/en/LC_MESSAGES/en.po | 0 {lang => share/locale}/smtp/i18n/es/LC_MESSAGES/es.mo | Bin {lang => share/locale}/smtp/i18n/es/LC_MESSAGES/es.po | 0 {lang => share/locale}/twitter/i18n/en/LC_MESSAGES/en.po| 0 {lang => share/locale}/xmpp/i18n/en/LC_MESSAGES/en.mo | Bin {lang => share/locale}/xmpp/i18n/en/LC_MESSAGES/en.po | 0 {lang => share/locale}/xmpp/i18n/en/LC_MESSAGES/es.mo | Bin {lang => share/locale}/xmpp/i18n/es/LC_MESSAGES/es.mo | Bin {lang => share/locale}/xmpp/i18n/es/LC_MESSAGES/es.po | 0 index.html => share/templates/index.html| 0 63 files changed, 0 insertions(+), 0 deletions(-) diff --git a/.gitignore b/.gitignore new file mode 100644 index 000..e69de29 diff --git a/.test.requirements.txt b/.test.requirements.txt new file mode 100644 index 000..e69de29 diff --git a/.travis.requirements.txt b/.travis.requirements.txt new file mode 100644 index 000..e69de29 diff --git a/CHANGELOG b/CHANGELOG new file mode 100644 index 000..e69de29 diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 000..e69de29 diff --git a/Makefile b/Makefile new file mode 100644 index 000..e69de29 diff --git a/blacklist.cfg b/config/blacklist
[tor-commits] [gettor/master] Update README and requirements.txt
commit 28f71d534a5594573c736a3576394b01061d9929 Author: hiro Date: Fri Mar 1 13:49:48 2019 +0100 Update README and requirements.txt --- README.md | 28 bin/gettor_service| 1 + requirements.txt | 6 ++ scripts/process_email | 49 + sendmail.cfg | 6 ++ 5 files changed, 86 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index b922346..d219ba1 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,24 @@ Here is a list of the main goals the new GetTor should accomplish: * Language and provider friendly. It should be easy to support new languages and to add new providers for storing packages and generate links. +Installing GetTor += + +WORKON_HOME=${HOME}/.virtualenvs +export WORKON_HOME +mkdir -p $WORKON_HOME +source $(which virtualenvwrapper.sh) +git clone https://git.torproject.org/gettor.git && cd gettor +mkvirtualenv -a $PWD -r requirements.txt --unzip-setuptools --setuptools gettor + +From now on, to use BridgeDB's virtualenv, just do ``$ workon gettor`` +(after sourcing virtualenvwrapper.sh, as before). To exit the virtualenv +without exiting the shell, do ``$ deactivate``. + +export PYTHONPATH=$PYTHONPATH:${VIRTUAL_ENV}/lib/python/site-packages + +$ ./bin/gettor_service start + How does the new GetTor works? == @@ -65,7 +83,10 @@ this: --- END FILE --- You can also check providers/dropbox.links for a better example. - +WORKON_HOME=${HOME}/.virtualenvs + export WORKON_HOME + mkdir -p $WORKON_HOME + source $(which virtualenvwrapper.sh) *Core*: the heart of GetTor. Receives requests for links for a certain OS and language and respond accordingly. It also presents an easy way for scripts to create links file. @@ -86,7 +107,7 @@ if necessary and respond to the user in the specified language. Unfinished. to keep count of the number of requests per person and avoid malicious users that try to collapse the service. It also keeps count of how many requests GetTor has received during its lifetime. A lot of other data was being saved -in the original gsoc project, but it was changed to save the minimum. +in the original gsoc project, but it was changed to save the minimum. *Blacklist*: Provide a mechanism to avoid flood and deny interaction to malicious users. @@ -119,7 +140,7 @@ should use the trac[0] and select the GetTor component. Some neat ideas we could use are the following: * Report bugs! - * Create script for new providers, namely: Google Drive, Github. Check + * Create script for new providers, namely: Google Drive, Github. Check providers.txt * Create a new module for distributing links. Check distribution_methods.txt * Finish the Twitter module. @@ -131,4 +152,3 @@ References === [0] https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=needs_information&status=needs_review&status=needs_revision&status=new&status=reopened&component=GetTor&col=id&col=summary&col=component&col=status&col=type&col=priority&col=milestone&order=priority - diff --git a/bin/gettor_service b/bin/gettor_service index 2f7e12a..8b636db 100755 --- a/bin/gettor_service +++ b/bin/gettor_service @@ -11,6 +11,7 @@ # :license: This is Free Software. See LICENSE for license information. source venv/bin/activate +alias twistd3="venv/bin/twistd" case "$1" in start) diff --git a/requirements.txt b/requirements.txt index e69de29..d639a66 100644 --- a/requirements.txt +++ b/requirements.txt @@ -0,0 +1,6 @@ +service_identity=18.1.0 +pydkim=0.3 +pyopenssl=19.0.0 +dnspython=1.16.0 +validate_email=1.3 +twisted=18.9.0 diff --git a/scripts/process_email b/scripts/process_email new file mode 100755 index 000..acbefd6 --- /dev/null +++ b/scripts/process_email @@ -0,0 +1,49 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# +# This file is part of GetTor, a Tor Browser distribution system. +# +# :authors: isra +# see also AUTHORS file +# +# :license: This is Free Software. See LICENSE for license information. + +import sys +sys.path.insert(0, '..') + +from twisted.python import log +from twisted.internet import defer, reactor + +from gettor import EMAIL_PARSER_LOGFILE +from gettor.parse.email import EmailParser, AddressError, DKIMError + +@defer.inlineCallbacks +def process_email(message): + +try: +ep = EmailParser("gettor+t...@torproject.org") +yield defer.maybeDeferred( +ep.parse, message +).addCallback(ep.parse_callback).addErrback(ep.parse_errback) + +except AddressError as e: +log.err("Address error: {}".format(e), system="process email") +reactor.stop() + +except DKIMError as e: +log.err("DKIM error: {}".format(e), system="process email") +reactor.stop() + +reactor.stop() + +def main(): +incoming_email = sys.stdin.read() +
[tor-commits] [gettor/master] Create script to add links to db
commit da53fc70b6871c13c5821bf588113943a49baeb3 Author: hiro Date: Fri Mar 8 10:52:25 2019 +0100 Create script to add links to db --- bin/gettor_service | 8 + gettor/__init__.py | 4 ++- gettor/main.py | 6 ++-- gettor/services/email/sendmail.py | 21 + gettor/services/twitter/twitter.py | 5 ++- gettor/services/xmpp/xmpp.py | 5 ++- gettor/utils/db.py | 36 +++-- gettor/utils/options.py| 6 +++- gettor/utils/strings.py| 9 +- gettor/web/http.py | 27 +--- scripts/add_lins_to_db | 64 ++ share/locale/en.json | 2 ++ 12 files changed, 152 insertions(+), 41 deletions(-) diff --git a/bin/gettor_service b/bin/gettor_service index ae85f56..3c1ac04 100755 --- a/bin/gettor_service +++ b/bin/gettor_service @@ -10,6 +10,14 @@ # # :license: This is Free Software. See LICENSE for license information. + + +# # +# This is how GetTor is started as a twisted application. # +# The script allows to start, stop, restart GetTor and get its status. # +# # + + case "$1" in start) twistd --python=scripts/gettor --logfile=log/gettor.log --pidfile=gettor.pid diff --git a/gettor/__init__.py b/gettor/__init__.py index bf73506..74a0363 100644 --- a/gettor/__init__.py +++ b/gettor/__init__.py @@ -12,6 +12,8 @@ the Tor Browser. from .utils import strings - +""" +This is where version and available locales get loaded. +""" __version__ = strings.get_version() __locales__ = strings.get_locales() diff --git a/gettor/main.py b/gettor/main.py index 53fbf61..0932ed5 100644 --- a/gettor/main.py +++ b/gettor/main.py @@ -10,7 +10,9 @@ the Tor Browser. :license: see included LICENSE for information """ -"""This module sets up GetTor and starts the servers running.""" +""" +This sets up GetTor and starts the servers running. +""" import sys @@ -22,7 +24,7 @@ from .services.email.sendmail import Sendmail def run(gettor, app): """ -This is GetTor's main entry point and main runtime loop. +This is GetTor's main entry point and main runtime loop. """ settings = options.parse_settings() diff --git a/gettor/services/email/sendmail.py b/gettor/services/email/sendmail.py index 8c86bdc..92aa766 100644 --- a/gettor/services/email/sendmail.py +++ b/gettor/services/email/sendmail.py @@ -103,7 +103,7 @@ class Sendmail(object): @defer.inlineCallbacks def get_new(self): -"""strings.load_strings("en") +""" Get new requests to process. This will define the `main loop` of the Sendmail service. """ @@ -117,18 +117,16 @@ class Sendmail(object): status="ONHOLD", command="links", service="email" ) +""" +Load strings for translations +""" +# for now just english +strings.load_strings("en") if help_requests: try: log.info("Got new help request.") -# for now just english -en = gettext.translation( -'email', localedir='locales', languages=['en'] -) -en.install() -_ = en.gettext - for request in help_requests: id = request[0] date = request[4] @@ -142,8 +140,8 @@ class Sendmail(object): yield self.sendmail( email_addr=id, -subject=_("help_subject"), -body=_("help_body") +subject=strings._("help_subject"), +body=strings._("help_body") ) yield self.conn.update_stats( @@ -162,9 +160,6 @@ class Sendmail(object): try: log.info("Got new links request.") -# for now just english -strings.load_strings("en") - for request in link_requests: id = request[0] date = request[4] diff --git a/gettor/services/twitter/twitter.py b/gettor/services/twitter/twitter.py index b5e08ba..fcdc353 100644 --- a/gettor/services/twitter/twitter.py +++ b/gettor/services/twitter/twitter.py @@ -22,7 +22,10 @@ import core import utils import blacklist -"""Twitter channel for distributing links to download Tor Browser.""" +""" +Twitter channel for distributing links to download Tor Browser. +Needs to be refactored to work with twisted and updates
[tor-commits] [gettor/master] Rewrite scripts
commit df7da7b8a9137276dd646fb627b26c4e8390bd52 Author: hiro Date: Fri Mar 8 10:55:23 2019 +0100 Rewrite scripts --- scripts/add_lins_to_db | 58 ++ share/locale/en.json | 4 ++-- 2 files changed, 51 insertions(+), 11 deletions(-) diff --git a/scripts/add_lins_to_db b/scripts/add_lins_to_db old mode 100644 new mode 100755 index 5da92b3..351ef56 --- a/scripts/add_lins_to_db +++ b/scripts/add_lins_to_db @@ -11,22 +11,58 @@ import os import sys import sqlite3 -import urllib import request +import argparse +from urllib import request + +def print_header(): +header = """ + __ __ +/\ \__ /\ \__ + __ __\ \ ,_\\\ \ ,_\ _ __ +/'_ `\ /'__`\ \ \/ \ \ \/ / __ `\/\`'__\ + /\ \L\ \/\ __/\ \ \_ \ \ \ /\ \L\ \ \ \/ + \ \ \ \\\\__\ \ \ \__\ \_/\ \_\ +\/___L\ \// \/__/ \/__/\/___/ \/_/ + /\_/ + \_/___/ + +""" +print("") +print("@"*100) +print("@"*100) +print(header) +print("@"*100) +print("") + +def print_footer(): +print("") +print("@"*100) +print("@"*100) +print("") def main(): + parser = argparse.ArgumentParser( +description="Tool to create the gettor SQLite database." + ) + + parser.add_argument( +"-f", "--filename", default="gettor.db", metavar="gettor.db", +help="Database filename." + ) + args = parser.parse_args() abs_filename = os.path.abspath(args.filename) webFile = request.urlopen("https://lektor-staging.torproject.org/tpo/staging/projects/torbrowser/RecommendedTBBVersions/";) - versions = webfile.read().decode('utf-8') + versions = webFile.read().decode('utf-8') version = versions.split(""")[1] gitlab = "https://gitlab.com/hiromipaw/torbrowser/raw/releases/"; prefixes = { -"osx": "TorBrowser-", -"windows": "torbrowser-install-", -"linux": "tor-browser-linux64-" +"osx": "https://gitlab.com/hiromipaw/torbrowser/raw/releases/TorBrowser-";, +"windows": "https://gitlab.com/hiromipaw/torbrowser/raw/releases/torbrowser-install-";, +"linux": "https://gitlab.com/hiromipaw/torbrowser/raw/releases/tor-browser-linux64-"; } versions = {"windows": version, 'linux': version, 'osx': version} @@ -43,9 +79,7 @@ def main(): if not abs_filename: print("Missing database filename.") - elif args.new and not args.overwrite and os.path.isfile(abs_filename): - print("Database file already exists.") - elif args.new: + else: conn = sqlite3.connect(abs_filename) with conn: c = conn.cursor() @@ -60,5 +94,11 @@ def main(): for k in keys: c.execute( "INSERT INTO links(link, platform, arch, version, provider, status)" - "VALUES ('%s', '%s' '64', '%s', 'gitlab', 'ACTIVE')" %(releases.get(key), k, version) + "VALUES ('%s', '%s', '64', '%s', 'gitlab', 'ACTIVE')" %(releases.get(k), k, version) ) + + +if __name__ == "__main__": +print_header() +main() +print_footer diff --git a/share/locale/en.json b/share/locale/en.json index 8824c2c..83c91e6 100644 --- a/share/locale/en.json +++ b/share/locale/en.json @@ -1,6 +1,6 @@ { - "links_body": "GetTor Test. Please be kind.", - "links_subject": "GetTor Email Test", + "links_body": "GetTor Test. Please be kind. \n \n You can download GetTor from the following links: \n \n %s", + "links_subject": "GetTor Email Test.", "help_body": "GetTor Help Test. Please be kind.", "help_subject": "GetTor Help Email Test", "help_debug": "Log application errors to stdout", ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [gettor/master] Fix print bug
commit 1b37f08d4a206588475b4213563ee3b499f3f822 Author: hiro Date: Mon May 13 21:01:53 2019 +0200 Fix print bug --- scripts/add_lins_to_db | 2 +- scripts/create_db | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/add_lins_to_db b/scripts/add_lins_to_db index f625a98..62641f6 100755 --- a/scripts/add_lins_to_db +++ b/scripts/add_lins_to_db @@ -106,4 +106,4 @@ def main(): if __name__ == "__main__": print_header() main() -print_footer +print_footer() diff --git a/scripts/create_db b/scripts/create_db index 582c9df..d332c27 100755 --- a/scripts/create_db +++ b/scripts/create_db @@ -151,4 +151,4 @@ def main(): if __name__ == "__main__": print_header() main() -print_footer +print_footer() ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [gettor/master] Fix issues introduced with refactoring and clean up code
commit 53383d9b9d841d592458465340af2b0bdc6043db Author: hiro Date: Fri Mar 1 16:34:28 2019 +0100 Fix issues introduced with refactoring and clean up code --- gettor/parse/email.py | 12 +++- gettor/services/email/sendmail.py | 28 +--- gettor/utils/settings.py | 12 +++- scripts/process_email | 1 + share/locale/en.json | 2 ++ 5 files changed, 34 insertions(+), 21 deletions(-) diff --git a/gettor/parse/email.py b/gettor/parse/email.py index 8539743..06a149b 100644 --- a/gettor/parse/email.py +++ b/gettor/parse/email.py @@ -101,7 +101,7 @@ class EmailParser(object): ) raise AddressError("Invalid email address {}".format(msg['From'])) -hid = hashlib.sha256(norm_addr) +hid = hashlib.sha256(norm_addr.encode('utf-8')) log.msg( "Request from {}".format(hid.hexdigest()), system="email parser" ) @@ -135,7 +135,8 @@ class EmailParser(object): request = { "id": norm_addr, -"command": None, "platform": None, +"command": None, +"platform": None, "service": "email" } @@ -151,7 +152,7 @@ class EmailParser(object): break if not request["command"]: -for word in re.split(r"\s+", body_str.strip()): +for word in re.split(r"\s+", msg_str.strip()): if word.lower() in platforms: request["command"] = "links" request["platform"] = word.lower() @@ -183,9 +184,10 @@ class EmailParser(object): if request["command"]: now_str = datetime.now().strftime("%Y%m%d%H%M%S") -conn = SQLite3() +dbname = self.settings.get("dbname") +conn = SQLite3(dbname) -hid = hashlib.sha256(request['id']) +hid = hashlib.sha256(request['id'].encode('utf-8')) # check limits first num_requests = yield conn.get_num_requests( id=hid.hexdigest(), service=request['service'] diff --git a/gettor/services/email/sendmail.py b/gettor/services/email/sendmail.py index 22ec3e9..8c86bdc 100644 --- a/gettor/services/email/sendmail.py +++ b/gettor/services/email/sendmail.py @@ -18,11 +18,14 @@ import hashlib import configparser from email import encoders from email import mime +from email.mime.text import MIMEText + from twisted.internet import defer from twisted.mail.smtp import sendmail from ...utils.db import SQLite3 as DB from ...utils.commons import log +from ...utils import strings class SMTPError(Exception): @@ -31,7 +34,7 @@ class SMTPError(Exception): """ pass - +from email.mime.text import MIMEText class Sendmail(object): """ Class for sending email replies to `help` and `links` requests. @@ -86,22 +89,21 @@ class Sendmail(object): message = MIMEText(body) message['Subject'] = subject -message['From'] = SENDMAIL_ADDR +message['From'] = self.settings.get("sendmail_addr") message['To'] = email_addr log.debug("Calling asynchronous sendmail.") return sendmail( -SENDMAIL_HOST, SENDMAIL_ADDR, email_addr, message, -port=SENDMAIL_PORT, -requireAuthentication=True, requireTransportSecurity=True +self.settings.get("sendmail_host"), self.settings.get("sendmail_addr"), email_addr, message, +requireTransportSecurity=True ).addCallback(self.sendmail_callback).addErrback(self.sendmail_errback) @defer.inlineCallbacks def get_new(self): -""" +"""strings.load_strings("en") Get new requests to process. This will define the `main loop` of the Sendmail service. """ @@ -131,7 +133,7 @@ class Sendmail(object): id = request[0] date = request[4] -hid = hashlib.sha256(id) +hid = hashlib.sha256(id.encode('utf-8')) log.info( "Sending help message to {}.".format( hid.hexdigest() @@ -161,11 +163,7 @@ class Sendmail(object): log.info("Got new links request.") # for now just english -en = gettext.translation( -'email', localedir='locales', languages=['en'] -) -en.install() -_ = en.gettext +strings.load_strings("en") for request in link_requests: id = request[0] @@ -194,11 +192,11 @@ class Sendmail(object): else: link_msg = link_str -body_msg = _("links_body") +body_msg = strings._("links_body") body_msg = body_msg.format(links=link_
[tor-commits] [gettor/master] Update how Gettor use settings and configs
commit bcd61c6c9b0a90678e10a8d4639c49445b2b5a34 Author: hiro Date: Fri Mar 1 15:36:38 2019 +0100 Update how Gettor use settings and configs --- gettor.conf.json | 4 ++-- gettor/parse/email.py | 15 --- scripts/process_email | 10 ++ 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/gettor.conf.json b/gettor.conf.json index 4a0cd27..4a4ed9e 100644 --- a/gettor.conf.json +++ b/gettor.conf.json @@ -4,7 +4,7 @@ "email_parser_logfile": "/srv/gettor.torproject.org/home/gettor-hiro/log/email_parser.log", "email_requests_limit": 5, "sendmail_interval": 10, - "sendmail_addr": "email@addr", - "sendmail_host": "host", + "sendmail_addr": "gettor+t...@torproject.org", + "sendmail_host": "localhost", "sendmail_port": 587 } diff --git a/gettor/parse/email.py b/gettor/parse/email.py index f798320..8539743 100644 --- a/gettor/parse/email.py +++ b/gettor/parse/email.py @@ -27,8 +27,7 @@ from twisted.python import log from twisted.internet import defer from twisted.enterprise import adbapi -from .. import PLATFORMS, EMAIL_REQUESTS_LIMIT -from ..db import SQLite3 +from ..utils.db import SQLite3 class AddressError(Exception): @@ -48,12 +47,13 @@ class DKIMError(Exception): class EmailParser(object): """Class for parsing email requests.""" -def __init__(self, to_addr=None, dkim=False): +def __init__(self, settings, to_addr=None, dkim=False): """ Constructor. param (Boolean) dkim: Set dkim verification to True or False. """ +self.settings = settings self.dkim = dkim self.to_addr = to_addr @@ -72,6 +72,7 @@ class EmailParser(object): :return dict with email address and command (`links` or `help`). """ +platforms = self.settings.get("platforms") log.msg("Building email message from string.", system="email parser") msg = message_from_string(msg_str) @@ -141,7 +142,7 @@ class EmailParser(object): if subject: subject = subject.group(1) for word in re.split(r"\s+", subject.strip()): -if word.lower() in PLATFORMS: +if word.lower() in platforms: request["command"] = "links" request["platform"] = word.lower() break @@ -151,7 +152,7 @@ class EmailParser(object): if not request["command"]: for word in re.split(r"\s+", body_str.strip()): -if word.lower() in PLATFORMS: +if word.lower() in platforms: request["command"] = "links" request["platform"] = word.lower() break @@ -174,7 +175,7 @@ class EmailParser(object): :return: deferred whose callback/errback will log database query execution details. """ - +email_requests_limit = self.settings.get("email_requests_limit") log.msg( "Found request for {}.".format(request['command']), system="email parser" @@ -190,7 +191,7 @@ class EmailParser(object): id=hid.hexdigest(), service=request['service'] ) -if num_requests[0][0] > EMAIL_REQUESTS_LIMIT: +if num_requests[0][0] > email_requests_limit: log.msg( "Discarded. Too many requests from {}.".format( hid.hexdigest diff --git a/scripts/process_email b/scripts/process_email index 6fbc8ca..7a8236f 100755 --- a/scripts/process_email +++ b/scripts/process_email @@ -15,14 +15,14 @@ from twisted.internet import defer, reactor sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__ from gettor.parse.email import EmailParser, AddressError, DKIMError - -EMAIL_PARSER_LOGFILE = "/srv/gettor.torproject.org/home/gettor-hiro/log/email_parser.log" +from gettor.utils import options @defer.inlineCallbacks def process_email(message): +settings = options.parse_settings() try: -ep = EmailParser("gettor+t...@torproject.org") +ep = EmailParser(settings, "gettor+t...@torproject.org") yield defer.maybeDeferred( ep.parse, message ).addCallback(ep.parse_callback).addErrback(ep.parse_errback) @@ -44,7 +44,9 @@ def main(): if __name__ == '__main__': -log.startLogging(open(EMAIL_PARSER_LOGFILE, 'a')) +settings = options.parse_settings() +email_parser_logfile = settings.get("email_parser_logfile") +log.startLogging(open(email_parser_logfile, 'a')) log.msg("New email request received.", system="process email") main() log.msg("Email request processed.", system="process email") ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [gettor/master] Updates to locales
commit c696e656dd3c7815151356c0476157dd948194fe Author: hiro Date: Fri Mar 8 12:10:06 2019 +0100 Updates to locales --- gettor/services/email/sendmail.py | 3 +-- scripts/add_lins_to_db| 15 ++- share/locale/en.json | 8 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/gettor/services/email/sendmail.py b/gettor/services/email/sendmail.py index 92aa766..bce20da 100644 --- a/gettor/services/email/sendmail.py +++ b/gettor/services/email/sendmail.py @@ -187,8 +187,7 @@ class Sendmail(object): else: link_msg = link_str -body_msg = strings._("links_body") -body_msg = body_msg.format(links=link_msg) +body_msg = strings._("links_body").format(platform, link_msg) subject_msg = strings._("links_subject") hid = hashlib.sha256(id.encode('utf-8')) diff --git a/scripts/add_lins_to_db b/scripts/add_lins_to_db index 351ef56..f625a98 100755 --- a/scripts/add_lins_to_db +++ b/scripts/add_lins_to_db @@ -57,12 +57,17 @@ def main(): versions = webFile.read().decode('utf-8') version = versions.split(""")[1] - gitlab = "https://gitlab.com/hiromipaw/torbrowser/raw/releases/"; + providers = { +"osx": "https://gitlab.com/hiromipaw/torbrowser/raw/releases/";, +"windows": "https://gitlab.com/hiromipaw/torbrowser/raw/releases/";, +"linux": "https://gitlab.com/hiromipaw/torbrowser/raw/releases/"; + } + prefixes = { -"osx": "https://gitlab.com/hiromipaw/torbrowser/raw/releases/TorBrowser-";, -"windows": "https://gitlab.com/hiromipaw/torbrowser/raw/releases/torbrowser-install-";, -"linux": "https://gitlab.com/hiromipaw/torbrowser/raw/releases/tor-browser-linux64-"; +"osx": "TorBrowser-", +"windows": "torbrowser-install-", +"linux": "tor-browser-linux64-" } versions = {"windows": version, 'linux': version, 'osx': version} @@ -74,7 +79,7 @@ def main(): } keys = set().union(suffixes, versions, prefixes) - releases = {k: "".join(dic.get(k, version) for dic in (prefixes, versions, suffixes)) for k in keys} + releases = {k: "".join(dic.get(k, version) for dic in (providers, prefixes, versions, suffixes)) for k in keys} if not abs_filename: diff --git a/share/locale/en.json b/share/locale/en.json index 83c91e6..2b735c0 100644 --- a/share/locale/en.json +++ b/share/locale/en.json @@ -1,6 +1,6 @@ { - "links_body": "GetTor Test. Please be kind. \n \n You can download GetTor from the following links: \n \n %s", - "links_subject": "GetTor Email Test.", + "links_body": "You requested Tor Browser for {}.\n \nYou will need only one of the links below to download the bundle. If a link does not work for you, try the next one.\n \n{}\n \n \n--\nGetTor", + "links_subject": "[GetTor] Links for your request", "help_body": "GetTor Help Test. Please be kind.", "help_subject": "GetTor Help Email Test", "help_debug": "Log application errors to stdout", @@ -9,8 +9,8 @@ "smtp_mirrors_subject": "[GetTor] Mirrors", "smtp_help_subject": "[GetTor] Help", "smtp_unsupported_locale_subject": "[GetTor] Unsupported locale", - "smtp_unsupported_locale_msg": "The locale you requested '%s' is not supported.", - "smtp_vlinks_msg": "You requested Tor Browser for %s.\n \nYou will need only one of the links below to download the bundle. If a link does not work for you, try the next one.\n \n%s\n \n \n--\nGetTor", + "smtp_unsupported_locale_msg": "The locale you requested '{}' is not supported.", + "smtp_vlinks_msg": "You requested Tor Browser for {}.\n \nYou will need only one of the links below to download the bundle. If a link does not work for you, try the next one.\n \n{}\n \n \n--\nGetTor", "smtp_mirrors_msg": "Hi! this is the GetTor robot.\n \nThank you for your request. Attached to this email you will find\nan updated list of mirrors of Tor Project's website.", "smtp_help_msg": "Hi! This is the GetTor robot. I am here to help you download the\nlatest version of Tor Browser.\n \nPlease reply to this message with one of the options below:\n \nwindows\nlinux\nosx\nmirrors\n \nI will then send you the download instructions.\n \nIf you are unsure, just send a blank reply to this message." } ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [gettor/master] Update how Gettor communicates with DB
commit dd799fd5be4bf390f8896ec74f95e2f6d773dc36 Author: hiro Date: Fri Mar 1 14:48:42 2019 +0100 Update how Gettor communicates with DB Update scripts --- README.md | 3 +- bin/gettor_service| 5 +- gettor/services/email/sendmail.py | 2 +- gettor/utils/db.py| 204 +++--- 4 files changed, 84 insertions(+), 130 deletions(-) diff --git a/README.md b/README.md index d219ba1..41acdeb 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ Here is a list of the main goals the new GetTor should accomplish: Installing GetTor = -WORKON_HOME=${HOME}/.virtualenvs +WORKON_HOME=${HOME}/venv export WORKON_HOME mkdir -p $WORKON_HOME source $(which virtualenvwrapper.sh) @@ -46,6 +46,7 @@ without exiting the shell, do ``$ deactivate``. export PYTHONPATH=$PYTHONPATH:${VIRTUAL_ENV}/lib/python/site-packages +$ ./scripts/create_db $ ./bin/gettor_service start diff --git a/bin/gettor_service b/bin/gettor_service index 8b636db..ae85f56 100755 --- a/bin/gettor_service +++ b/bin/gettor_service @@ -10,12 +10,9 @@ # # :license: This is Free Software. See LICENSE for license information. -source venv/bin/activate -alias twistd3="venv/bin/twistd" - case "$1" in start) - twistd3 --python=scripts/gettor --logfile=log/gettor.log --pidfile=gettor.pid + twistd --python=scripts/gettor --logfile=log/gettor.log --pidfile=gettor.pid ;; stop) kill -INT `cat gettor.pid` diff --git a/gettor/services/email/sendmail.py b/gettor/services/email/sendmail.py index 06e49b0..22ec3e9 100644 --- a/gettor/services/email/sendmail.py +++ b/gettor/services/email/sendmail.py @@ -21,7 +21,7 @@ from email import mime from twisted.internet import defer from twisted.mail.smtp import sendmail -from ...utils.db import DB +from ...utils.db import SQLite3 as DB from ...utils.commons import log diff --git a/gettor/utils/db.py b/gettor/utils/db.py index 2d40f5d..ee4c398 100644 --- a/gettor/utils/db.py +++ b/gettor/utils/db.py @@ -2,131 +2,87 @@ # # This file is part of GetTor, a Tor Browser distribution system. # -# :authors: Israel Leiva +# :authors: isra # see also AUTHORS file # -# :copyright: (c) 2008-2014, The Tor Project, Inc. -# (c) 2014, Israel Leiva -# # :license: This is Free Software. See LICENSE for license information. -import time -import sqlite3 -import datetime - -"""DB interface for comunicating with sqlite3""" - - -class DBError(Exception): -pass - - -class DB(object): -""" - -Public methods: - -add_request(): add a request to the database (requests table). -get_user(): get user info from the database (users table). -add_user(): add a user to the database (users table). -update_user(): update a user on the database (users table). - -Exceptions: - - DBError: Something went wrong when trying to connect/interact - with the database. - -""" - -def __init__(self, dbname): -"""Create a new db object. -:param: dbname (string) the path of the database. -""" -self.dbname = dbname - -def connect(self): -""" """ -try: -self.con = sqlite3.connect(self.dbname) -self.con.row_factory = sqlite3.Row -except sqlite3.Error as e: -raise DBError("%s" % str(e)) - -def add_request(self): -"""Add a request to the database. - -For now we just count the number of requests we have received so far. - -""" -try: -with self.con: -cur = self.con.cursor() -cur.execute("SELECT counter FROM requests WHERE id = 1") -row = cur.fetchone() -if row: -cur.execute("UPDATE requests SET counter=? WHERE id=?", -(row['counter']+1, 1)) -else: -cur.execute("INSERT INTO requests VALUES(?, ?)", (1, 1)) -except sqlite3.Error as e: -raise DBError("%s" % str(e)) - -def get_user(self, user, service): -"""Get user info from the database. - -:param: user (string) unique (hashed) string that represents the user. -:param: service (string) the service related to the user (e.g. SMTP). - -:return: (dict) the user information, with fields as indexes - (e.g. row['user']). - -""" -try: -with self.con: -cur = self.con.cursor() -cur.execute("SELECT * FROM users WHERE id =? AND service =?", -(user, service)) - -row = cur.fetchone() -return row -except sqlite3.Error as e: -raise DBError("%s" % str(e)) - -def add_user(self, user, service, blocked): -"""Add a user to the database. - -We add a user with one 'times' and the
[tor-commits] [gettor/master] Rename spec doc
commit 9534e0e7fafdd86c159e220fb8dd2473b8bd7fbe Author: hiro Date: Mon Jan 28 16:43:35 2019 +0100 Rename spec doc --- {spec => doc}/design/blacklist.txt | 0 {spec => doc}/design/core.txt | 0 {spec => doc}/design/smtp.txt | 0 {spec => doc}/design/twitter.txt | 0 {spec => doc}/overview.txt | 0 5 files changed, 0 insertions(+), 0 deletions(-) diff --git a/spec/design/blacklist.txt b/doc/design/blacklist.txt similarity index 100% rename from spec/design/blacklist.txt rename to doc/design/blacklist.txt diff --git a/spec/design/core.txt b/doc/design/core.txt similarity index 100% rename from spec/design/core.txt rename to doc/design/core.txt diff --git a/spec/design/smtp.txt b/doc/design/smtp.txt similarity index 100% rename from spec/design/smtp.txt rename to doc/design/smtp.txt diff --git a/spec/design/twitter.txt b/doc/design/twitter.txt similarity index 100% rename from spec/design/twitter.txt rename to doc/design/twitter.txt diff --git a/spec/overview.txt b/doc/overview.txt similarity index 100% rename from spec/overview.txt rename to doc/overview.txt ___ 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 45d37ab1e6deb077cd8d4afa8977e9a2964cd1b2 Author: Translation commit bot Date: Fri May 17 14:50:42 2019 + Update translations for support-portal --- contents+fr.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/contents+fr.po b/contents+fr.po index 9726b867d..2a0656c42 100644 --- a/contents+fr.po +++ b/contents+fr.po @@ -1877,8 +1877,8 @@ msgid "" "Unfortunately, some websites deliver CAPTCHAs to Tor users, and we are not " "able to remove CAPTCHAs from websites." msgstr "" -"Malheureusement, certains sites Web servent des CAPTCHAS aux utilisateurs de" -" Tor et il nous est impossible de supprimer les CAPTCHAS des sites Web." +"Malheureusement, certains sites Web servent des captchas aux utilisateurs de" +" Tor et il nous est impossible de supprimer les captchas des sites Web." #: https//support.torproject.org/tbb/tbb-35/ #: (content/tbb/tbb-35/contents+en.lrquestion.description) @@ -1888,7 +1888,7 @@ msgid "" "using their services." msgstr "" "La meilleure chose à faire dans ces situations est de contacter les " -"propriétaires des sites Web et de les informer que leurs CAPTCHAS empêchent " +"propriétaires des sites Web et de les informer que leurs captchas empêchent " "les utilisateurs comme vous dâutiliser leurs services." #: https//support.torproject.org/tbb/tbb-36/ ___ 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 881259d22535f7c26dac8478ac29158f99e49b0a Author: Translation commit bot Date: Fri May 17 14:50:50 2019 + Update translations for support-portal_completed --- contents+fr.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/contents+fr.po b/contents+fr.po index 9726b867d..2a0656c42 100644 --- a/contents+fr.po +++ b/contents+fr.po @@ -1877,8 +1877,8 @@ msgid "" "Unfortunately, some websites deliver CAPTCHAs to Tor users, and we are not " "able to remove CAPTCHAs from websites." msgstr "" -"Malheureusement, certains sites Web servent des CAPTCHAS aux utilisateurs de" -" Tor et il nous est impossible de supprimer les CAPTCHAS des sites Web." +"Malheureusement, certains sites Web servent des captchas aux utilisateurs de" +" Tor et il nous est impossible de supprimer les captchas des sites Web." #: https//support.torproject.org/tbb/tbb-35/ #: (content/tbb/tbb-35/contents+en.lrquestion.description) @@ -1888,7 +1888,7 @@ msgid "" "using their services." msgstr "" "La meilleure chose à faire dans ces situations est de contacter les " -"propriétaires des sites Web et de les informer que leurs CAPTCHAS empêchent " +"propriétaires des sites Web et de les informer que leurs captchas empêchent " "les utilisateurs comme vous dâutiliser leurs services." #: https//support.torproject.org/tbb/tbb-36/ ___ 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 4bd622b9e086314c54cccd8da5da3ce2a0caeeb9 Author: Translation commit bot Date: Fri May 17 15:20:47 2019 + Update translations for support-portal --- contents+fr.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contents+fr.po b/contents+fr.po index 2a0656c42..ca4f67813 100644 --- a/contents+fr.po +++ b/contents+fr.po @@ -5520,7 +5520,7 @@ msgstr "" #: https//support.torproject.org/misc/glossary/ #: (content/misc/glossary/contents+en.lrquestion.description) msgid "### scramblesuit" -msgstr "### scramblesuit" +msgstr "### ScrambleSuit" #: https//support.torproject.org/misc/glossary/ #: (content/misc/glossary/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/support-portal_completed] Update translations for support-portal_completed
commit 565fc35211c947479153a721ae015ec52b3ee05a Author: Translation commit bot Date: Fri May 17 15:20:54 2019 + Update translations for support-portal_completed --- contents+fr.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contents+fr.po b/contents+fr.po index 2a0656c42..ca4f67813 100644 --- a/contents+fr.po +++ b/contents+fr.po @@ -5520,7 +5520,7 @@ msgstr "" #: https//support.torproject.org/misc/glossary/ #: (content/misc/glossary/contents+en.lrquestion.description) msgid "### scramblesuit" -msgstr "### scramblesuit" +msgstr "### ScrambleSuit" #: https//support.torproject.org/misc/glossary/ #: (content/misc/glossary/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/support-portal] Update translations for support-portal
commit a97d5ec5e4a390f3dfdedbfeeb1aeb28874c954b Author: Translation commit bot Date: Fri May 17 15:50:45 2019 + Update translations for support-portal --- contents+fr.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/contents+fr.po b/contents+fr.po index ca4f67813..92474a585 100644 --- a/contents+fr.po +++ b/contents+fr.po @@ -5528,7 +5528,7 @@ msgid "" "Scramblesuit is similar to obfs4 but has a different set of " "[bridges](#bridge)." msgstr "" -"Scramblesuit sâapparente à obfs4, mais avec un jeu de [ponts](#bridge) " +"ScrambleSuit sâapparente à obfs4, mais avec un jeu de [ponts](#bridge) " "différent." #: https//support.torproject.org/misc/glossary/ @@ -6175,8 +6175,8 @@ msgid "" "Major web browsers include [Firefox](#firefox), Chrome, Internet Explorer, " "and Safari." msgstr "" -"Les principaux navigateurs Web sont [Firefox](#firefox), Chrome, Internet " -"Explorer et Safari." +"Les principaux navigateurs Web comprennent [Firefox](#firefox), Chrome, " +"Internet Explorer et Safari." #: https//support.torproject.org/misc/glossary/ #: (content/misc/glossary/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/support-portal_completed] Update translations for support-portal_completed
commit 94599e239844c0a5ab0d03b2a310a4a7c5a0390b Author: Translation commit bot Date: Fri May 17 15:50:53 2019 + Update translations for support-portal_completed --- contents+fr.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/contents+fr.po b/contents+fr.po index ca4f67813..92474a585 100644 --- a/contents+fr.po +++ b/contents+fr.po @@ -5528,7 +5528,7 @@ msgid "" "Scramblesuit is similar to obfs4 but has a different set of " "[bridges](#bridge)." msgstr "" -"Scramblesuit sâapparente à obfs4, mais avec un jeu de [ponts](#bridge) " +"ScrambleSuit sâapparente à obfs4, mais avec un jeu de [ponts](#bridge) " "différent." #: https//support.torproject.org/misc/glossary/ @@ -6175,8 +6175,8 @@ msgid "" "Major web browsers include [Firefox](#firefox), Chrome, Internet Explorer, " "and Safari." msgstr "" -"Les principaux navigateurs Web sont [Firefox](#firefox), Chrome, Internet " -"Explorer et Safari." +"Les principaux navigateurs Web comprennent [Firefox](#firefox), Chrome, " +"Internet Explorer et Safari." #: https//support.torproject.org/misc/glossary/ #: (content/misc/glossary/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/support-portal] Update translations for support-portal
commit 479728debfd6615a4e873c16fcc3d303b448198a Author: Translation commit bot Date: Fri May 17 16:20:46 2019 + Update translations for support-portal --- contents+fr.po | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/contents+fr.po b/contents+fr.po index 92474a585..05d1d7c51 100644 --- a/contents+fr.po +++ b/contents+fr.po @@ -6166,8 +6166,8 @@ msgid "" "World Wide Web." msgstr "" "Un navigateur Web (communément appelé navigateur) est une application " -"logicielle permettant dâextraire, de présenter et de parcourir des " -"ressources dâinformation sur le World Wide Web." +"logicielle pour récupérer, présenter et parcourir des ressources " +"dâinformations sur le Web." #: https//support.torproject.org/misc/glossary/ #: (content/misc/glossary/contents+en.lrquestion.description) @@ -6189,7 +6189,7 @@ msgid "" "A website mirror is an one-to-one copy of a website which you can find under" " other web addresses." msgstr "" -"Un miroir de site Web est une copie un à un dâun site Web que vous pouvez " +"Un site Web miroir est la copie biunivoque dâun site Web que vous pouvez " "trouver sous dâautres adresses Web." #: https//support.torproject.org/misc/glossary/ @@ -6219,7 +6219,7 @@ msgstr "## Z" #: https//support.torproject.org/misc/menu/ #: (content/misc/menu/contents+en.lrquestion.description) msgid "About" -msgstr "à proposâ¦" +msgstr "à propos" #: https//support.torproject.org/misc/menu/ #: (content/misc/menu/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/support-portal_completed] Update translations for support-portal_completed
commit 0bdc16a8f0ea9161cfacc771477e78e307f6524f Author: Translation commit bot Date: Fri May 17 16:20:53 2019 + Update translations for support-portal_completed --- contents+fr.po | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/contents+fr.po b/contents+fr.po index 92474a585..05d1d7c51 100644 --- a/contents+fr.po +++ b/contents+fr.po @@ -6166,8 +6166,8 @@ msgid "" "World Wide Web." msgstr "" "Un navigateur Web (communément appelé navigateur) est une application " -"logicielle permettant dâextraire, de présenter et de parcourir des " -"ressources dâinformation sur le World Wide Web." +"logicielle pour récupérer, présenter et parcourir des ressources " +"dâinformations sur le Web." #: https//support.torproject.org/misc/glossary/ #: (content/misc/glossary/contents+en.lrquestion.description) @@ -6189,7 +6189,7 @@ msgid "" "A website mirror is an one-to-one copy of a website which you can find under" " other web addresses." msgstr "" -"Un miroir de site Web est une copie un à un dâun site Web que vous pouvez " +"Un site Web miroir est la copie biunivoque dâun site Web que vous pouvez " "trouver sous dâautres adresses Web." #: https//support.torproject.org/misc/glossary/ @@ -6219,7 +6219,7 @@ msgstr "## Z" #: https//support.torproject.org/misc/menu/ #: (content/misc/menu/contents+en.lrquestion.description) msgid "About" -msgstr "à proposâ¦" +msgstr "à propos" #: https//support.torproject.org/misc/menu/ #: (content/misc/menu/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/bridgedb] Update translations for bridgedb
commit 10d732b9cf5cd2211c1e2e1eab029e1a470f0b95 Author: Translation commit bot Date: Fri May 17 16:45:16 2019 + Update translations for bridgedb --- fr/LC_MESSAGES/bridgedb.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fr/LC_MESSAGES/bridgedb.po b/fr/LC_MESSAGES/bridgedb.po index 7f310d674..32c57a7f6 100644 --- a/fr/LC_MESSAGES/bridgedb.po +++ b/fr/LC_MESSAGES/bridgedb.po @@ -30,7 +30,7 @@ msgstr "" "Project-Id-Version: Tor Project\n" "Report-Msgid-Bugs-To: 'https://trac.torproject.org/projects/tor/newticket?component=BridgeDB&keywords=bridgedb-reported,msgid&cc=isis,sysrqb&owner=isis'\n" "POT-Creation-Date: 2015-07-25 03:40+\n" -"PO-Revision-Date: 2019-04-30 17:30+\n" +"PO-Revision-Date: 2019-05-17 16:23+\n" "Last-Translator: AO \n" "Language-Team: French (http://www.transifex.com/otf/torproject/language/fr/)\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/bridgedb_completed] Update translations for bridgedb_completed
commit 68f3ef77cca4d5198e0c172c6435444dbccdf94d Author: Translation commit bot Date: Fri May 17 16:45:24 2019 + Update translations for bridgedb_completed --- fr/LC_MESSAGES/bridgedb.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fr/LC_MESSAGES/bridgedb.po b/fr/LC_MESSAGES/bridgedb.po index 7f310d674..32c57a7f6 100644 --- a/fr/LC_MESSAGES/bridgedb.po +++ b/fr/LC_MESSAGES/bridgedb.po @@ -30,7 +30,7 @@ msgstr "" "Project-Id-Version: Tor Project\n" "Report-Msgid-Bugs-To: 'https://trac.torproject.org/projects/tor/newticket?component=BridgeDB&keywords=bridgedb-reported,msgid&cc=isis,sysrqb&owner=isis'\n" "POT-Creation-Date: 2015-07-25 03:40+\n" -"PO-Revision-Date: 2019-04-30 17:30+\n" +"PO-Revision-Date: 2019-05-17 16:23+\n" "Last-Translator: AO \n" "Language-Team: French (http://www.transifex.com/otf/torproject/language/fr/)\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/mat-gui] Update translations for mat-gui
commit a8e6db7a6372d9ce9944cc95151f4730540f29c9 Author: Translation commit bot Date: Fri May 17 16:46:23 2019 + Update translations for mat-gui --- fr.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fr.po b/fr.po index 0ca50193c..33ea6767b 100644 --- a/fr.po +++ b/fr.po @@ -15,7 +15,7 @@ msgstr "" "Project-Id-Version: Tor Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-02-10 23:06+0100\n" -"PO-Revision-Date: 2019-04-26 19:04+\n" +"PO-Revision-Date: 2019-05-17 16:25+\n" "Last-Translator: AO \n" "Language-Team: French (http://www.transifex.com/otf/torproject/language/fr/)\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/mat-gui_completed] Update translations for mat-gui_completed
commit d97475c0d0a2a562eac63783805f751fa19f9993 Author: Translation commit bot Date: Fri May 17 16:46:29 2019 + Update translations for mat-gui_completed --- fr.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fr.po b/fr.po index 0ca50193c..33ea6767b 100644 --- a/fr.po +++ b/fr.po @@ -15,7 +15,7 @@ msgstr "" "Project-Id-Version: Tor Project\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-02-10 23:06+0100\n" -"PO-Revision-Date: 2019-04-26 19:04+\n" +"PO-Revision-Date: 2019-05-17 16:25+\n" "Last-Translator: AO \n" "Language-Team: French (http://www.transifex.com/otf/torproject/language/fr/)\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/torbutton-torbuttondtd] Update translations for torbutton-torbuttondtd
commit e1b2468c643e090359645d787643f7eea86bb690 Author: Translation commit bot Date: Fri May 17 16:49:09 2019 + Update translations for torbutton-torbuttondtd --- es-ES/torbutton.dtd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es-ES/torbutton.dtd b/es-ES/torbutton.dtd index a6a5c04f3..816b2b7c0 100644 --- a/es-ES/torbutton.dtd +++ b/es-ES/torbutton.dtd @@ -36,6 +36,6 @@ - + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/torbutton-torbuttondtd_completed] Update translations for torbutton-torbuttondtd_completed
commit 3aa787ee23bf256fd28dc8480d6543a894ca7e3b Author: Translation commit bot Date: Fri May 17 16:49:15 2019 + Update translations for torbutton-torbuttondtd_completed --- es-ES/torbutton.dtd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es-ES/torbutton.dtd b/es-ES/torbutton.dtd index a6a5c04f3..816b2b7c0 100644 --- a/es-ES/torbutton.dtd +++ b/es-ES/torbutton.dtd @@ -36,6 +36,6 @@ - + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/torbutton-securitylevelproperties] Update translations for torbutton-securitylevelproperties
commit d06aafb7c79031b5780158a19af8ac13044af524 Author: Translation commit bot Date: Fri May 17 16:50:03 2019 + Update translations for torbutton-securitylevelproperties --- es-ES/securitylevel.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es-ES/securitylevel.properties b/es-ES/securitylevel.properties index f54e10972..a9af1de67 100644 --- a/es-ES/securitylevel.properties +++ b/es-ES/securitylevel.properties @@ -9,7 +9,7 @@ securityLevel.safer.tooltip = Nivel de seguridad: Más seguro securityLevel.safer.summary = Deshabilita caracterÃsticas del sitio web que a menudo son peligrosas, lo que causa que algunos sitios pierdan funcionalidad. securityLevel.safer.description1 = JavaScript está deshabilitado en sitios no-HTTPS. securityLevel.safer.description2 = Algunas fuentes y sÃmbolos matemáticos están deshabilitados. -securityLevel.safer.description3 = Audio and video (HTML5 media), and WebGL are click-to-play. +securityLevel.safer.description3 = Audio y vÃdeo (HTML5 media), y WebGL son click-to-play. securityLevel.safest.level = El más seguro de todos securityLevel.safest.tooltip = Nivel de seguridad: El más seguro de todos securityLevel.safest.summary = Sólo permite las caracterÃsticas de sitio web requeridas para sitios estáticos y servicios básicos. Estos cambios afectan a imágenes, medios, y scripts. ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/torbutton-securitylevelproperties_completed] Update translations for torbutton-securitylevelproperties_completed
commit 336c346e36528893b664a9b4d4073e3b20607cc8 Author: Translation commit bot Date: Fri May 17 16:50:09 2019 + Update translations for torbutton-securitylevelproperties_completed --- es-ES/securitylevel.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es-ES/securitylevel.properties b/es-ES/securitylevel.properties index f54e10972..a9af1de67 100644 --- a/es-ES/securitylevel.properties +++ b/es-ES/securitylevel.properties @@ -9,7 +9,7 @@ securityLevel.safer.tooltip = Nivel de seguridad: Más seguro securityLevel.safer.summary = Deshabilita caracterÃsticas del sitio web que a menudo son peligrosas, lo que causa que algunos sitios pierdan funcionalidad. securityLevel.safer.description1 = JavaScript está deshabilitado en sitios no-HTTPS. securityLevel.safer.description2 = Algunas fuentes y sÃmbolos matemáticos están deshabilitados. -securityLevel.safer.description3 = Audio and video (HTML5 media), and WebGL are click-to-play. +securityLevel.safer.description3 = Audio y vÃdeo (HTML5 media), y WebGL son click-to-play. securityLevel.safest.level = El más seguro de todos securityLevel.safest.tooltip = Nivel de seguridad: El más seguro de todos securityLevel.safest.summary = Sólo permite las caracterÃsticas de sitio web requeridas para sitios estáticos y servicios básicos. Estos cambios afectan a imágenes, medios, y scripts. ___ 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 32c9fbe19b44e1245973f13e3e15d714b1b2dd6b Author: Translation commit bot Date: Fri May 17 16:51:20 2019 + Update translations for support-portal_completed --- contents+fr.po | 39 --- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/contents+fr.po b/contents+fr.po index 05d1d7c51..99aaa1a25 100644 --- a/contents+fr.po +++ b/contents+fr.po @@ -1,6 +1,6 @@ # Translators: -# PoorPockets McNewHold , 2019 # erinm, 2019 +# PoorPockets McNewHold , 2019 # Emma Peel, 2019 # Curtis Baltimore , 2019 # AO , 2019 @@ -6244,17 +6244,17 @@ msgstr "Lettre dâinformation" #: https//support.torproject.org/misc/menu/ #: (content/misc/menu/contents+en.lrquestion.description) msgid "Contact" -msgstr "Contactâ¦" +msgstr "Nous contacter" #: https//support.torproject.org/misc/menu/ #: (content/misc/menu/contents+en.lrquestion.description) msgid "Donate" -msgstr "Envoyer le don" +msgstr "Faire un don maintenant" #: https//support.torproject.org/misc/menu/ #: (content/misc/menu/contents+en.lrquestion.description) msgid "Support" -msgstr "Prise en charge" +msgstr "Assistance" #: https//support.torproject.org/misc/misc-1/ #: (content/misc/misc-1/contents+en.lrquestion.title) @@ -6301,7 +6301,7 @@ msgid "" "Right now the path length is hard-coded at 3 plus the number of nodes in " "your path that are sensitive." msgstr "" -"La longueur du chemin est actuellement figée dans le code à 3, plus le " +"La longueur du chemin est actuellement figée à 3 dans le code, plus le " "nombre de nÅuds « sensibles » dans votre chemin." #: https//support.torproject.org/misc/misc-11/ @@ -6310,8 +6310,8 @@ msgid "" "That is, in normal cases it's 3, but for example if you're accessing an " "onion service or a \".exit\" address it could be more." msgstr "" -"Câest-à -dire que pour les dit cas normaux câest 3, mais possiblement plus si" -" vous accédez par exemple à un service onion ou à une adresse « .exit »." +"Câest-à -dire que pour les cas normaux câest 3, mais possiblement plus si, " +"par exemple, vous accédez à un service onion ou à une adresse « .exit »." #: https//support.torproject.org/misc/misc-11/ #: (content/misc/misc-11/contents+en.lrquestion.description) @@ -6336,9 +6336,9 @@ msgstr "" "De plus, utiliser des chemins plus longs que 3 pourrait nuire à lâanonymat. " "En premier lieu parce que cela facilite les attaques par https://www.freehaven.net/anonbib/#ccs07-doa\";>déni de " -"sécurité, et en second lieu parce que cela pourrait servir à vous" -" identifier si seulement quelques utilisateurs ont la même longueur de " -"chemin que vous." +"sécurité (page en anglais), et en second lieu parce que cela " +"pourrait servir à vous identifier si seulement quelques utilisateurs ont la " +"même longueur de chemin que vous." #: https//support.torproject.org/misc/misc-12/ #: (content/misc/misc-12/contents+en.lrquestion.title) @@ -6360,8 +6360,9 @@ msgid "" "BitTorrent in specific is https://blog.torproject.org"; "/bittorrent-over-tor-isnt-good-idea\">not anonymous over Tor." msgstr "" -"BitTorrent en particulier https://blog.torproject.org"; -"/bittorrent-over-tor-isnt-good-idea\">nâest pas anonyme avec Tor." +"En particulier, BitTorrent https://blog.torproject.org"; +"/bittorrent-over-tor-isnt-good-idea\">nâest pas anonyme avec Tor " +"(page en anglais)." #: https//support.torproject.org/misc/misc-12/ #: (content/misc/misc-12/contents+en.lrquestion.description) @@ -6421,9 +6422,9 @@ msgid "" "Tor is designed to defend human rights and privacy by preventing anyone from" " censoring things, even us." msgstr "" -"Tor est conçu pour défendre les droits de la personne et la confidentialité " -"en empêchant quiconque de censurer quoi que ce soit, ce qui sâapplique aussi" -" à nous." +"Tor est conçu pour défendre les droits de la personne et la vie privée en " +"empêchant quiconque de censurer quoi que ce soit, ce qui sâapplique aussi à " +"nous." #: https//support.torproject.org/misc/misc-2/ #: (content/misc/misc-2/contents+en.lrquestion.description) @@ -6479,7 +6480,7 @@ msgstr "" "href=\"https://www.torproject.org/about/sponsors.html.en\";>nos " "commanditaires et une série dâhttps://blog.torproject.org/category/tags/form-990\";>articles de " -"blogue sur nos rapports financiers." +"blogue (site en anglais) sur nos rapports financiers." #: https//support.torproject.org/misc/misc-3/ #: (content/misc/misc-3/contents+en.lrquestion.description) @@ -6517,9 +6518,9 @@ msgid "" "href=\"https://blog.torproject.org/bittorrent-over-tor-isnt-good-idea\";>blog" " post on the subject." msgstr "" -"Pour de plus amples renseignements, veuillez consulter notre https://blog.torproject.org/bittorrent-over-tor-isnt-good-"; -"idea\">article de blogue à ce sujet." +"idea\">article de blogue à ce sujet (page en anglais)." #: https//support.torproject.org/misc/misc-
[tor-commits] [translation/support-portal] Update translations for support-portal
commit e2e4516a56c589da1b1a1c93884bbeafc4d6d5d1 Author: Translation commit bot Date: Fri May 17 16:51:12 2019 + Update translations for support-portal --- contents+fr.po | 39 --- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/contents+fr.po b/contents+fr.po index 05d1d7c51..99aaa1a25 100644 --- a/contents+fr.po +++ b/contents+fr.po @@ -1,6 +1,6 @@ # Translators: -# PoorPockets McNewHold , 2019 # erinm, 2019 +# PoorPockets McNewHold , 2019 # Emma Peel, 2019 # Curtis Baltimore , 2019 # AO , 2019 @@ -6244,17 +6244,17 @@ msgstr "Lettre dâinformation" #: https//support.torproject.org/misc/menu/ #: (content/misc/menu/contents+en.lrquestion.description) msgid "Contact" -msgstr "Contactâ¦" +msgstr "Nous contacter" #: https//support.torproject.org/misc/menu/ #: (content/misc/menu/contents+en.lrquestion.description) msgid "Donate" -msgstr "Envoyer le don" +msgstr "Faire un don maintenant" #: https//support.torproject.org/misc/menu/ #: (content/misc/menu/contents+en.lrquestion.description) msgid "Support" -msgstr "Prise en charge" +msgstr "Assistance" #: https//support.torproject.org/misc/misc-1/ #: (content/misc/misc-1/contents+en.lrquestion.title) @@ -6301,7 +6301,7 @@ msgid "" "Right now the path length is hard-coded at 3 plus the number of nodes in " "your path that are sensitive." msgstr "" -"La longueur du chemin est actuellement figée dans le code à 3, plus le " +"La longueur du chemin est actuellement figée à 3 dans le code, plus le " "nombre de nÅuds « sensibles » dans votre chemin." #: https//support.torproject.org/misc/misc-11/ @@ -6310,8 +6310,8 @@ msgid "" "That is, in normal cases it's 3, but for example if you're accessing an " "onion service or a \".exit\" address it could be more." msgstr "" -"Câest-à -dire que pour les dit cas normaux câest 3, mais possiblement plus si" -" vous accédez par exemple à un service onion ou à une adresse « .exit »." +"Câest-à -dire que pour les cas normaux câest 3, mais possiblement plus si, " +"par exemple, vous accédez à un service onion ou à une adresse « .exit »." #: https//support.torproject.org/misc/misc-11/ #: (content/misc/misc-11/contents+en.lrquestion.description) @@ -6336,9 +6336,9 @@ msgstr "" "De plus, utiliser des chemins plus longs que 3 pourrait nuire à lâanonymat. " "En premier lieu parce que cela facilite les attaques par https://www.freehaven.net/anonbib/#ccs07-doa\";>déni de " -"sécurité, et en second lieu parce que cela pourrait servir à vous" -" identifier si seulement quelques utilisateurs ont la même longueur de " -"chemin que vous." +"sécurité (page en anglais), et en second lieu parce que cela " +"pourrait servir à vous identifier si seulement quelques utilisateurs ont la " +"même longueur de chemin que vous." #: https//support.torproject.org/misc/misc-12/ #: (content/misc/misc-12/contents+en.lrquestion.title) @@ -6360,8 +6360,9 @@ msgid "" "BitTorrent in specific is https://blog.torproject.org"; "/bittorrent-over-tor-isnt-good-idea\">not anonymous over Tor." msgstr "" -"BitTorrent en particulier https://blog.torproject.org"; -"/bittorrent-over-tor-isnt-good-idea\">nâest pas anonyme avec Tor." +"En particulier, BitTorrent https://blog.torproject.org"; +"/bittorrent-over-tor-isnt-good-idea\">nâest pas anonyme avec Tor " +"(page en anglais)." #: https//support.torproject.org/misc/misc-12/ #: (content/misc/misc-12/contents+en.lrquestion.description) @@ -6421,9 +6422,9 @@ msgid "" "Tor is designed to defend human rights and privacy by preventing anyone from" " censoring things, even us." msgstr "" -"Tor est conçu pour défendre les droits de la personne et la confidentialité " -"en empêchant quiconque de censurer quoi que ce soit, ce qui sâapplique aussi" -" à nous." +"Tor est conçu pour défendre les droits de la personne et la vie privée en " +"empêchant quiconque de censurer quoi que ce soit, ce qui sâapplique aussi à " +"nous." #: https//support.torproject.org/misc/misc-2/ #: (content/misc/misc-2/contents+en.lrquestion.description) @@ -6479,7 +6480,7 @@ msgstr "" "href=\"https://www.torproject.org/about/sponsors.html.en\";>nos " "commanditaires et une série dâhttps://blog.torproject.org/category/tags/form-990\";>articles de " -"blogue sur nos rapports financiers." +"blogue (site en anglais) sur nos rapports financiers." #: https//support.torproject.org/misc/misc-3/ #: (content/misc/misc-3/contents+en.lrquestion.description) @@ -6517,9 +6518,9 @@ msgid "" "href=\"https://blog.torproject.org/bittorrent-over-tor-isnt-good-idea\";>blog" " post on the subject." msgstr "" -"Pour de plus amples renseignements, veuillez consulter notre https://blog.torproject.org/bittorrent-over-tor-isnt-good-"; -"idea\">article de blogue à ce sujet." +"idea\">article de blogue à ce sujet (page en anglais)." #: https//support.torproject.org/misc/misc-5/ #: (co
[tor-commits] [translation/support-portal] Update translations for support-portal
commit 6e355b8eac91657276a89f0e95b2fc2a018ab7bb Author: Translation commit bot Date: Fri May 17 18:20:49 2019 + Update translations for support-portal --- contents+fr.po | 27 +++ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/contents+fr.po b/contents+fr.po index 99aaa1a25..be301a26c 100644 --- a/contents+fr.po +++ b/contents+fr.po @@ -6536,7 +6536,7 @@ msgstr "" msgid "We are so sorry, but you have been infected with malware." msgstr "" "Nous sommes vraiment désolés, mais vous avez été infecté par un programme " -"malveillant." +"malveillant, un rançongiciel." #: https//support.torproject.org/misc/misc-5/ #: (content/misc/misc-5/contents+en.lrquestion.description) @@ -6573,9 +6573,9 @@ msgstr "" "les jours à des fins les plus diverses par des défenseurs des droits de la " "personne, des journalistes, des survivants de violence familiale, des " "lanceurs dâalerte, des représentants des forces de lâordre et bien dâautres." -" Malheureusement, la protection que nos logiciels peut fournir à ces groupes" -" de personnes peut aussi être détournée par des criminels et des auteurs de " -"programmes malveillants." +" Malheureusement, la protection que nos logiciels peuvent fournir à ces " +"groupes de personnes peut aussi être détournée par des criminels et des " +"auteurs de programmes malveillants." #: https//support.torproject.org/misc/misc-5/ #: (content/misc/misc-5/contents+en.lrquestion.description) @@ -6607,7 +6607,8 @@ msgid "" msgstr "" "Nous effectuons des mesures sans risques du fonctionnement du réseau, que " "vous pouvez consulter sur notre site de mesures https://metrics.torproject.org/\";>Tor Metrics." +"href=\"https://metrics.torproject.org/\";>Tor Metrics (site en " +"anglais)." #: https//support.torproject.org/misc/misc-7/ #: (content/misc/misc-7/contents+en.lrquestion.title) @@ -6621,7 +6622,7 @@ msgstr "" #: https//support.torproject.org/misc/misc-7/ #: (content/misc/misc-7/contents+en.lrquestion.description) msgid "No, we don't provide any online services." -msgstr "Non, nous ne fournissons aucun service en ligne." +msgstr "Non, nous nâoffrons aucun service en ligne." #: https//support.torproject.org/misc/misc-7/ #: (content/misc/misc-7/contents+en.lrquestion.description) @@ -6631,8 +6632,8 @@ msgid "" "page." msgstr "" "Une liste de tous nos projets de logiciels se trouve sur notre https://www.torproject.org/projects/projects.html.en\";>page de " -"projets." +"href=\"https://www.torproject.org/projects/projects.html\";>page de " +"projets (page en anglais)." #: https//support.torproject.org/misc/misc-8/ #: (content/misc/misc-8/contents+en.lrquestion.title) @@ -6653,7 +6654,7 @@ msgstr "" #: https//support.torproject.org/misc/misc-9/ #: (content/misc/misc-9/contents+en.lrquestion.title) msgid "I'm having a problem updating or using Vidalia." -msgstr "Jâéprouve des difficultés à mettre à jour ou à utiliser Vidalia." +msgstr "Jâéprouve des difficultés à mettre Vidalia à jour ou à lâutiliser." #: https//support.torproject.org/misc/misc-9/ #: (content/misc/misc-9/contents+en.lrquestion.description) @@ -6667,7 +6668,7 @@ msgid "" "into Tor Browser itself." msgstr "" "Une grande partie des fonctions quâoffrait Vidalia a maintenant été intégrée" -" dans le Navigateur Tor." +" dans le Navigateur Tor même." #: templates/footer.html:5 msgid "Our mission:" @@ -6681,7 +6682,7 @@ msgid "" "understanding." msgstr "" "faire progresser les droits de la personne et les libertés en créant et en " -"déployant des technologies gratuites dâanonymat et de protection de la vie " +"déployant des technologies gratuites dâanonymat, de protection de la vie " "privée et des données personnelles, à code source ouvert. Nous soutenons " "aussi leur disponibilité et leur utilisation sans restriction en les faisant" " mieux connaître des scientifiques et du public." @@ -6692,7 +6693,9 @@ msgstr "SâABONNER à NOTRE LETTRE DâINFORMATION" #: templates/footer.html:25 msgid "Get monthly updates and opportunities from the Tor Project:" -msgstr "Recevez les mises à jours et opportunités mensuelles du Projet Tor :" +msgstr "" +"Recevez les mises à jour mensuelles du Projet Tor et les occasions quâil " +"offre :" #: templates/footer.html:26 msgid "SIGN UP" ___ 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 eda9be83e1900863259e425a14bf0c65e54f56fe Author: Translation commit bot Date: Fri May 17 18:20:58 2019 + Update translations for support-portal_completed --- contents+fr.po | 27 +++ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/contents+fr.po b/contents+fr.po index 99aaa1a25..be301a26c 100644 --- a/contents+fr.po +++ b/contents+fr.po @@ -6536,7 +6536,7 @@ msgstr "" msgid "We are so sorry, but you have been infected with malware." msgstr "" "Nous sommes vraiment désolés, mais vous avez été infecté par un programme " -"malveillant." +"malveillant, un rançongiciel." #: https//support.torproject.org/misc/misc-5/ #: (content/misc/misc-5/contents+en.lrquestion.description) @@ -6573,9 +6573,9 @@ msgstr "" "les jours à des fins les plus diverses par des défenseurs des droits de la " "personne, des journalistes, des survivants de violence familiale, des " "lanceurs dâalerte, des représentants des forces de lâordre et bien dâautres." -" Malheureusement, la protection que nos logiciels peut fournir à ces groupes" -" de personnes peut aussi être détournée par des criminels et des auteurs de " -"programmes malveillants." +" Malheureusement, la protection que nos logiciels peuvent fournir à ces " +"groupes de personnes peut aussi être détournée par des criminels et des " +"auteurs de programmes malveillants." #: https//support.torproject.org/misc/misc-5/ #: (content/misc/misc-5/contents+en.lrquestion.description) @@ -6607,7 +6607,8 @@ msgid "" msgstr "" "Nous effectuons des mesures sans risques du fonctionnement du réseau, que " "vous pouvez consulter sur notre site de mesures https://metrics.torproject.org/\";>Tor Metrics." +"href=\"https://metrics.torproject.org/\";>Tor Metrics (site en " +"anglais)." #: https//support.torproject.org/misc/misc-7/ #: (content/misc/misc-7/contents+en.lrquestion.title) @@ -6621,7 +6622,7 @@ msgstr "" #: https//support.torproject.org/misc/misc-7/ #: (content/misc/misc-7/contents+en.lrquestion.description) msgid "No, we don't provide any online services." -msgstr "Non, nous ne fournissons aucun service en ligne." +msgstr "Non, nous nâoffrons aucun service en ligne." #: https//support.torproject.org/misc/misc-7/ #: (content/misc/misc-7/contents+en.lrquestion.description) @@ -6631,8 +6632,8 @@ msgid "" "page." msgstr "" "Une liste de tous nos projets de logiciels se trouve sur notre https://www.torproject.org/projects/projects.html.en\";>page de " -"projets." +"href=\"https://www.torproject.org/projects/projects.html\";>page de " +"projets (page en anglais)." #: https//support.torproject.org/misc/misc-8/ #: (content/misc/misc-8/contents+en.lrquestion.title) @@ -6653,7 +6654,7 @@ msgstr "" #: https//support.torproject.org/misc/misc-9/ #: (content/misc/misc-9/contents+en.lrquestion.title) msgid "I'm having a problem updating or using Vidalia." -msgstr "Jâéprouve des difficultés à mettre à jour ou à utiliser Vidalia." +msgstr "Jâéprouve des difficultés à mettre Vidalia à jour ou à lâutiliser." #: https//support.torproject.org/misc/misc-9/ #: (content/misc/misc-9/contents+en.lrquestion.description) @@ -6667,7 +6668,7 @@ msgid "" "into Tor Browser itself." msgstr "" "Une grande partie des fonctions quâoffrait Vidalia a maintenant été intégrée" -" dans le Navigateur Tor." +" dans le Navigateur Tor même." #: templates/footer.html:5 msgid "Our mission:" @@ -6681,7 +6682,7 @@ msgid "" "understanding." msgstr "" "faire progresser les droits de la personne et les libertés en créant et en " -"déployant des technologies gratuites dâanonymat et de protection de la vie " +"déployant des technologies gratuites dâanonymat, de protection de la vie " "privée et des données personnelles, à code source ouvert. Nous soutenons " "aussi leur disponibilité et leur utilisation sans restriction en les faisant" " mieux connaître des scientifiques et du public." @@ -6692,7 +6693,9 @@ msgstr "SâABONNER à NOTRE LETTRE DâINFORMATION" #: templates/footer.html:25 msgid "Get monthly updates and opportunities from the Tor Project:" -msgstr "Recevez les mises à jours et opportunités mensuelles du Projet Tor :" +msgstr "" +"Recevez les mises à jour mensuelles du Projet Tor et les occasions quâil " +"offre :" #: templates/footer.html:26 msgid "SIGN UP" ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/donatepages-messagespot_completed] Update translations for donatepages-messagespot_completed
commit 4ed69f97fec719b831617e020198a9139663daac Author: Translation commit bot Date: Fri May 17 18:45:44 2019 + Update translations for donatepages-messagespot_completed --- locale/fr/LC_MESSAGES/messages.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/locale/fr/LC_MESSAGES/messages.po b/locale/fr/LC_MESSAGES/messages.po index b1ccf0163..68f286d33 100644 --- a/locale/fr/LC_MESSAGES/messages.po +++ b/locale/fr/LC_MESSAGES/messages.po @@ -938,8 +938,8 @@ msgstr "Sâabonner à notre lettre dâinformation" #: tmp/cache_locale/50/50777d283fdd4725b4b51b066a1fa065079d875050e04874af7ad8d37f823d3f.php:35 msgid "Get monthly updates and opportunities from the Tor Project." msgstr "" -"Recevez chaque mois les mises à jour et les offres de bénévolat du Projet " -"Tor." +"Recevez les mises à jour mensuelles du Projet Tor et les occasions quâil " +"offre." #: tmp/cache_locale/50/50777d283fdd4725b4b51b066a1fa065079d875050e04874af7ad8d37f823d3f.php:39 msgid "Sign Up" ___ 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 fe7c883435a33b98582613608f25a3911818f3d9 Author: Translation commit bot Date: Fri May 17 18:45:37 2019 + Update translations for donatepages-messagespot --- locale/fr/LC_MESSAGES/messages.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/locale/fr/LC_MESSAGES/messages.po b/locale/fr/LC_MESSAGES/messages.po index b1ccf0163..68f286d33 100644 --- a/locale/fr/LC_MESSAGES/messages.po +++ b/locale/fr/LC_MESSAGES/messages.po @@ -938,8 +938,8 @@ msgstr "Sâabonner à notre lettre dâinformation" #: tmp/cache_locale/50/50777d283fdd4725b4b51b066a1fa065079d875050e04874af7ad8d37f823d3f.php:35 msgid "Get monthly updates and opportunities from the Tor Project." msgstr "" -"Recevez chaque mois les mises à jour et les offres de bénévolat du Projet " -"Tor." +"Recevez les mises à jour mensuelles du Projet Tor et les occasions quâil " +"offre." #: tmp/cache_locale/50/50777d283fdd4725b4b51b066a1fa065079d875050e04874af7ad8d37f823d3f.php:39 msgid "Sign Up" ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits