[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

2019-05-17 Thread gk
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

2019-05-17 Thread gk
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

2019-05-17 Thread gk
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

2019-05-17 Thread gk
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

2019-05-17 Thread gk
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

2019-05-17 Thread gk
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

2019-05-17 Thread gk
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

2019-05-17 Thread translation
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

2019-05-17 Thread gk
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

2019-05-17 Thread translation
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

2019-05-17 Thread translation
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

2019-05-17 Thread translation
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

2019-05-17 Thread translation
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

2019-05-17 Thread translation
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

2019-05-17 Thread translation
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

2019-05-17 Thread gk
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

2019-05-17 Thread gk
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

2019-05-17 Thread gk
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

2019-05-17 Thread gk
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

2019-05-17 Thread nickm
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

2019-05-17 Thread nickm
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

2019-05-17 Thread nickm
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

2019-05-17 Thread nickm
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

2019-05-17 Thread nickm
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

2019-05-17 Thread nickm
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'

2019-05-17 Thread nickm
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

2019-05-17 Thread nickm
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

2019-05-17 Thread nickm
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

2019-05-17 Thread nickm
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

2019-05-17 Thread nickm
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

2019-05-17 Thread nickm
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

2019-05-17 Thread nickm
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

2019-05-17 Thread nickm
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

2019-05-17 Thread nickm
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

2019-05-17 Thread nickm
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

2019-05-17 Thread nickm
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

2019-05-17 Thread nickm
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

2019-05-17 Thread nickm
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

2019-05-17 Thread nickm
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.

2019-05-17 Thread nickm
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..

2019-05-17 Thread nickm
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.

2019-05-17 Thread nickm
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.

2019-05-17 Thread nickm
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.

2019-05-17 Thread nickm
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).

2019-05-17 Thread nickm
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.

2019-05-17 Thread nickm
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'

2019-05-17 Thread nickm
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.

2019-05-17 Thread nickm
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.

2019-05-17 Thread nickm
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.

2019-05-17 Thread nickm
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.

2019-05-17 Thread nickm
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

2019-05-17 Thread gk
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

2019-05-17 Thread gk
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.

2019-05-17 Thread nickm
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.

2019-05-17 Thread nickm
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.

2019-05-17 Thread nickm
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

2019-05-17 Thread translation
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

2019-05-17 Thread translation
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

2019-05-17 Thread translation
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

2019-05-17 Thread translation
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

2019-05-17 Thread translation
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

2019-05-17 Thread translation
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

2019-05-17 Thread translation
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

2019-05-17 Thread translation
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)

2019-05-17 Thread nickm
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

2019-05-17 Thread translation
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

2019-05-17 Thread translation
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

2019-05-17 Thread hiro
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

2019-05-17 Thread hiro
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

2019-05-17 Thread hiro
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

2019-05-17 Thread hiro
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

2019-05-17 Thread hiro
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

2019-05-17 Thread hiro
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

2019-05-17 Thread hiro
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

2019-05-17 Thread hiro
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

2019-05-17 Thread hiro
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

2019-05-17 Thread hiro
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

2019-05-17 Thread hiro
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

2019-05-17 Thread translation
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

2019-05-17 Thread translation
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

2019-05-17 Thread translation
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

2019-05-17 Thread translation
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

2019-05-17 Thread translation
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

2019-05-17 Thread translation
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

2019-05-17 Thread translation
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

2019-05-17 Thread translation
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

2019-05-17 Thread translation
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

2019-05-17 Thread translation
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

2019-05-17 Thread translation
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

2019-05-17 Thread translation
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

2019-05-17 Thread translation
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

2019-05-17 Thread translation
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

2019-05-17 Thread translation
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

2019-05-17 Thread translation
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

2019-05-17 Thread translation
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

2019-05-17 Thread translation
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

2019-05-17 Thread translation
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

2019-05-17 Thread translation
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

2019-05-17 Thread translation
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

2019-05-17 Thread translation
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


  1   2   >