[tor-commits] [translation/snowflakeaddon-messages.json_completed] Update translations for snowflakeaddon-messages.json_completed

2019-08-22 Thread translation
commit dffd9cb375bac423c82d99ed9950cefb702065f8
Author: Translation commit bot 
Date:   Fri Aug 23 02:19:16 2019 +

Update translations for snowflakeaddon-messages.json_completed
---
 tr/messages.json | 10 --
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/tr/messages.json b/tr/messages.json
index d178eb461..b3271497e 100644
--- a/tr/messages.json
+++ b/tr/messages.json
@@ -15,12 +15,18 @@
 "message": "Snowflake kapalı"
   },
   "popupStatusOn": {
-"message": "$1istemci bağlı."
+"message": "Şu anda bağlı olan kullanıcı sayısı: $1"
+  },
+  "popupStatusReady": {
+"message": "Snowflake uygulamanız kullanıcıların sansürü aşmasına 
yardımcı olmaya hazır!"
   },
   "popupWebRTCOff": {
 "message": "WebRTC özelliği algılanamadı."
   },
   "popupDescOn": {
-"message": "Snowflake uygulamanız son 24 saatte $1kullanıcının 
sansürü aşmasına yardımcı oldu."
+"message": "Snowflake uygulamanız son 24 saatte $1 kullanıcının 
sansürü aşmasına yardımcı oldu."
+  },
+  "badgeCookiesOff": {
+"message": "Çerezler etkin değil."
   }
 }

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


[tor-commits] [translation/snowflakeaddon-messages.json] Update translations for snowflakeaddon-messages.json

2019-08-22 Thread translation
commit 98ecea62e5fc4ac63c59fe90455106e1504e6b09
Author: Translation commit bot 
Date:   Fri Aug 23 02:19:09 2019 +

Update translations for snowflakeaddon-messages.json
---
 tr/messages.json | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/tr/messages.json b/tr/messages.json
index 37835f633..b3271497e 100644
--- a/tr/messages.json
+++ b/tr/messages.json
@@ -15,18 +15,18 @@
 "message": "Snowflake kapalı"
   },
   "popupStatusOn": {
-"message": "Number of users currently connected: $1"
+"message": "Şu anda bağlı olan kullanıcı sayısı: $1"
   },
   "popupStatusReady": {
-"message": "Your Snowflake is ready to help users circumvent censorship!"
+"message": "Snowflake uygulamanız kullanıcıların sansürü aşmasına 
yardımcı olmaya hazır!"
   },
   "popupWebRTCOff": {
 "message": "WebRTC özelliği algılanamadı."
   },
   "popupDescOn": {
-"message": "Number of users your Snowflake has helped circumvent 
censorship in the last 24 hours: $1"
+"message": "Snowflake uygulamanız son 24 saatte $1 kullanıcının 
sansürü aşmasına yardımcı oldu."
   },
   "badgeCookiesOff": {
-"message": "Cookies are not enabled."
+"message": "Çerezler etkin değil."
   }
 }

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


[tor-commits] [translation/snowflakeaddon-messages.json] Update translations for snowflakeaddon-messages.json

2019-08-22 Thread translation
commit d749a6945b8d49d0ba9cdd333c31a5e2760790b2
Author: Translation commit bot 
Date:   Fri Aug 23 01:18:39 2019 +

Update translations for snowflakeaddon-messages.json
---
 ca/messages.json| 10 --
 cs/messages.json| 10 --
 da/messages.json| 10 --
 de/messages.json| 10 --
 el/messages.json| 10 --
 es/messages.json| 10 --
 es_AR/messages.json | 10 --
 et/messages.json| 10 --
 eu/messages.json| 10 --
 fa/messages.json| 10 --
 fr/messages.json| 10 --
 he/messages.json| 10 --
 hu/messages.json| 10 --
 is/messages.json| 10 --
 it/messages.json| 10 --
 ja/messages.json| 10 --
 ka/messages.json| 10 --
 lt/messages.json| 10 --
 messages.json   | 10 --
 nb/messages.json| 10 --
 pt_BR/messages.json | 10 --
 pt_PT/messages.json | 10 --
 sv/messages.json| 10 --
 tr/messages.json| 10 --
 uk/messages.json| 10 --
 zh_CN/messages.json | 10 --
 zh_TW/messages.json | 10 --
 27 files changed, 216 insertions(+), 54 deletions(-)

diff --git a/ca/messages.json b/ca/messages.json
index 002ad4120..7d1b84b43 100644
--- a/ca/messages.json
+++ b/ca/messages.json
@@ -15,12 +15,18 @@
 "message": "Snowflake està desactivat"
   },
   "popupStatusOn": {
-"message": "$1 clients connectats."
+"message": "Number of users currently connected: $1"
+  },
+  "popupStatusReady": {
+"message": "Your Snowflake is ready to help users circumvent censorship!"
   },
   "popupWebRTCOff": {
 "message": "No s'ha detectat la característica WebRTC."
   },
   "popupDescOn": {
-"message": "El vostre snowflake ha ajudat a $1 usuaris a evitar la censura 
durant les darreres 24 hores."
+"message": "Number of users your Snowflake has helped circumvent 
censorship in the last 24 hours: $1"
+  },
+  "badgeCookiesOff": {
+"message": "Cookies are not enabled."
   }
 }
diff --git a/cs/messages.json b/cs/messages.json
index bc24e0c8b..8d83f9586 100644
--- a/cs/messages.json
+++ b/cs/messages.json
@@ -15,12 +15,18 @@
 "message": "Snowflake je vypnutý"
   },
   "popupStatusOn": {
-"message": "$1 připojených klientů"
+"message": "Number of users currently connected: $1"
+  },
+  "popupStatusReady": {
+"message": "Your Snowflake is ready to help users circumvent censorship!"
   },
   "popupWebRTCOff": {
 "message": "WebRTC rozšíření nebylo detekováno"
   },
   "popupDescOn": {
-"message": "Tvůj Snowflake pomohl $1 uživatelům obejít cenzuru za 
posledních 24 hodin."
+"message": "Number of users your Snowflake has helped circumvent 
censorship in the last 24 hours: $1"
+  },
+  "badgeCookiesOff": {
+"message": "Cookies are not enabled."
   }
 }
diff --git a/da/messages.json b/da/messages.json
index b9b47426f..03aba2c0d 100644
--- a/da/messages.json
+++ b/da/messages.json
@@ -15,12 +15,18 @@
 "message": "Snowflake er slukket"
   },
   "popupStatusOn": {
-"message": "$1 klienter tilsluttet."
+"message": "Number of users currently connected: $1"
+  },
+  "popupStatusReady": {
+"message": "Your Snowflake is ready to help users circumvent censorship!"
   },
   "popupWebRTCOff": {
 "message": "WebRTC-funktionalitet ikke registreret."
   },
   "popupDescOn": {
-"message": "Din snowflake har hjulpet $1 brugere med at omgå censur 
indenfor de sidste 24 timer."
+"message": "Number of users your Snowflake has helped circumvent 
censorship in the last 24 hours: $1"
+  },
+  "badgeCookiesOff": {
+"message": "Cookies are not enabled."
   }
 }
diff --git a/de/messages.json b/de/messages.json
index de5d474d6..b90d88026 100644
--- a/de/messages.json
+++ b/de/messages.json
@@ -15,12 +15,18 @@
 "message": "Snowflake ist ausgeschaltet"
   },
   "popupStatusOn": {
-"message": "$1 Nutzer verbunden."
+"message": "Number of users currently connected: $1"
+  },
+  "popupStatusReady": {
+"message": "Your Snowflake is ready to help users circumvent censorship!"
   },
   "popupWebRTCOff": {
 "message": "WebRTC-Fähigkeit nicht erkannt."
   },
   "popupDescOn": {
-"message": "Ihre Snowflake hat $1 Nutzern in den letzten 24 Stunden 
geholfen zensur zu umgehen."
+"message": "Number of users your Snowflake has helped circumvent 
censorship in the last 24 hours: $1"
+  },
+  "badgeCookiesOff": {
+"message": "Cookies are not enabled."
   }
 }
diff --git a/el/messages.json b/el/messages.json
index 4ab5cac61..2c0d0b0aa 100644
--- a/el/messages.json
+++ b/el/messages.json
@@ -15,12 +15,18 @@
 "message": "Το Snowflake είναι απενεργοποιημένο"
   },
   "popupStatusOn": {
-"message": "$1 συνδεδεμένοι χρήστες."
+"message": "Number of users currently connected: $1"
+  },
+  "popupStatusReady": {
+"message": 

[tor-commits] [translation/snowflakeaddon-messages.json_completed] Update translations for snowflakeaddon-messages.json_completed

2019-08-22 Thread translation
commit 6fc8b6e0498ccd7ee1bbd9d46f2e8ed83ad61f5a
Author: Translation commit bot 
Date:   Fri Aug 23 01:18:47 2019 +

Update translations for snowflakeaddon-messages.json_completed
---
 messages.json | 10 --
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/messages.json b/messages.json
index 366083983..f9de9d4cc 100644
--- a/messages.json
+++ b/messages.json
@@ -15,12 +15,18 @@
 "message": "Snowflake is off"
   },
   "popupStatusOn": {
-"message": "$1 clients connected."
+"message": "Number of users currently connected: $1"
+  },
+  "popupStatusReady": {
+"message": "Your Snowflake is ready to help users circumvent censorship!"
   },
   "popupWebRTCOff": {
 "message": "WebRTC feature is not detected."
   },
   "popupDescOn": {
-"message": "Your snowflake has helped $1 users circumvent censorship in 
the last 24 hours."
+"message": "Number of users your Snowflake has helped circumvent 
censorship in the last 24 hours: $1"
+  },
+  "badgeCookiesOff": {
+"message": "Cookies are not enabled."
   }
 }

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


[tor-commits] [tor-browser-build/master] Revert "No .mar files an non-en-US locales for nightlies right now"

2019-08-22 Thread gk
commit 536715a6c5d134bc25ebb07147c81c422c11c3b3
Author: Georg Koppen 
Date:   Thu Aug 22 21:42:26 2019 +

Revert "No .mar files an non-en-US locales for nightlies right now"

This reverts commit 4ae27ff4c296983624c4701e8fed38619a75ca6f.
---
 rbm.conf | 2 --
 1 file changed, 2 deletions(-)

diff --git a/rbm.conf b/rbm.conf
index c7c3320..ca3f058 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -146,8 +146,6 @@ targets:
 fetch: 1
 var:
   nightly: 1
-  testbuild: 1
-  build_mar: 0
   channel: nightly
   torbrowser_version: tbb-nightly
 

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


[tor-commits] [tor-browser-build/master] Pick up 68.0 -3 for updater patches

2019-08-22 Thread gk
commit c54f90e102124dcd77d6efb9e186a4e3215972a8
Author: Georg Koppen 
Date:   Thu Aug 22 21:41:11 2019 +

Pick up 68.0 -3 for updater patches
---
 projects/firefox/config | 2 +-
 projects/firefox/mozconfig-linux-i686   | 2 +-
 projects/firefox/mozconfig-linux-x86_64 | 2 +-
 projects/firefox/mozconfig-osx-x86_64   | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/projects/firefox/config b/projects/firefox/config
index a1073d5..f6ce67c 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -49,7 +49,7 @@ targets:
   branding_directory: '[% IF c("var/android") %]mobile/android[% ELSE 
%]browser[% END %]/branding/official'
 
   nightly:
-git_hash: 'tor-browser-[% c("var/firefox_version") %]-[% 
c("var/torbrowser_branch") %]-2'
+git_hash: 'tor-browser-[% c("var/firefox_version") %]-[% 
c("var/torbrowser_branch") %]-3'
 tag_gpg_id: 0
 var:
   torbrowser_update_channel: default
diff --git a/projects/firefox/mozconfig-linux-i686 
b/projects/firefox/mozconfig-linux-i686
index ff65c87..c8f19a4 100755
--- a/projects/firefox/mozconfig-linux-i686
+++ b/projects/firefox/mozconfig-linux-i686
@@ -28,7 +28,7 @@ ac_add_options --enable-official-branding
 # Let's support GTK3 for ESR60
 ac_add_options --enable-default-toolkit=cairo-gtk3
 
-# XXX: ac_add_options --enable-tor-browser-update
+ac_add_options --enable-tor-browser-update
 ac_add_options --enable-signmar
 ac_add_options --enable-verify-mar
 
diff --git a/projects/firefox/mozconfig-linux-x86_64 
b/projects/firefox/mozconfig-linux-x86_64
index 69dc4ef..12f1b28 100755
--- a/projects/firefox/mozconfig-linux-x86_64
+++ b/projects/firefox/mozconfig-linux-x86_64
@@ -23,7 +23,7 @@ ac_add_options --enable-official-branding
 # Let's support GTK3 for ESR60
 ac_add_options --enable-default-toolkit=cairo-gtk3
 
-# XXX: ac_add_options --enable-tor-browser-update
+ac_add_options --enable-tor-browser-update
 ac_add_options --enable-signmar
 ac_add_options --enable-verify-mar
 
diff --git a/projects/firefox/mozconfig-osx-x86_64 
b/projects/firefox/mozconfig-osx-x86_64
index 188bcc9..07dd023 100644
--- a/projects/firefox/mozconfig-osx-x86_64
+++ b/projects/firefox/mozconfig-osx-x86_64
@@ -38,7 +38,7 @@ ac_add_options --enable-optimize
 ac_add_options --disable-debug
 
 ac_add_options --enable-tor-browser-data-outside-app-dir
-#ac_add_options --enable-tor-browser-update
+ac_add_options --enable-tor-browser-update
 ac_add_options --enable-signmar
 ac_add_options --enable-verify-mar
 



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


[tor-commits] [tor-launcher/master] Bug 31488: Moat: support a comma-separated list of transports

2019-08-22 Thread gk
commit 71ade2c3d4bb53fdd61f5a40fa574bc614db5d6a
Author: Kathy Brade 
Date:   Thu Aug 22 09:45:38 2019 -0400

Bug 31488: Moat: support a comma-separated list of transports

Improve our ClientTransportPlugin config parser to recognize
"meek" and "meek_client" when they appear within a comma-separated
list of transports.
---
 src/chrome/content/network-settings.js | 24 ++--
 1 file changed, 18 insertions(+), 6 deletions(-)

diff --git a/src/chrome/content/network-settings.js 
b/src/chrome/content/network-settings.js
index a4f2866..8c1db0f 100644
--- a/src/chrome/content/network-settings.js
+++ b/src/chrome/content/network-settings.js
@@ -642,14 +642,26 @@ function onOpenBridgeDBRequestPrompt()
   let meekClientArgs;
   reply.lineArray.forEach(aLine =>
   {
+// Parse each ClientTransportPlugin line and look for the meek or
+// meek_lite transport. This code works a lot like the Tor daemon's
+// parse_transport_line() function.
 let tokens = aLine.split(' ');
-if ((tokens.length > 2) &&
-((tokens[0] == "meek") || (tokens[0] == "meek_lite")) &&
-(tokens[1] == "exec"))
+if ((tokens.length > 2) && (tokens[1] == "exec"))
 {
-  meekTransport = tokens[0];
-  meekClientPath = tokens[2];
-  meekClientArgs = tokens.slice(3);
+  let transportArray = tokens[0].split(",").map(aStr => aStr.trim());
+  let transport = transportArray.find(
+  aTransport => (aTransport === "meek"));
+  if (!transport)
+  {
+transport = transportArray.find(
+  aTransport => (aTransport === "meek_lite"));
+  }
+  if (transport)
+  {
+meekTransport = transport;
+meekClientPath = tokens[2];
+meekClientArgs = tokens.slice(3);
+  }
 }
   });
 

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


[tor-commits] [tor-launcher/master] Bug 31487: Modify moat client code so it is compatible with ESR68

2019-08-22 Thread gk
commit f69f055708526c207eb69f40f577da9a80cd75ca
Author: Kathy Brade 
Date:   Thu Aug 22 09:39:20 2019 -0400

Bug 31487: Modify moat client code so it is compatible with ESR68

Account for changes to XPCOM APIs.
---
 src/modules/tl-bridgedb.jsm | 18 +-
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/modules/tl-bridgedb.jsm b/src/modules/tl-bridgedb.jsm
index de580bc..8cc7919 100644
--- a/src/modules/tl-bridgedb.jsm
+++ b/src/modules/tl-bridgedb.jsm
@@ -532,7 +532,7 @@ _MoatRequestor.prototype =
 let noTimeout = 0x; // UINT32_MAX
 let proxyInfo = proxyPS.newProxyInfoWithAuth(this.mMeekClientProxyType,
   this.mMeekClientIP, this.mMeekClientPort,
-  userName, password,
+  userName, password, undefined, undefined,
   flags, noTimeout, undefined);
 let uriStr = TorLauncherUtil.getCharPref(this.kPrefMoatService);
 if (!uriStr)
@@ -546,14 +546,14 @@ _MoatRequestor.prototype =
 
 // There does not seem to be a way to directly create an nsILoadInfo from
 // JavaScript, so we create a throw away non-proxied channel to get one.
-let loadInfo = Services.io.newChannelFromURI2(uri, undefined,
+let loadInfo = Services.io.newChannelFromURI(uri, undefined,
 Services.scriptSecurityManager.getSystemPrincipal(),
 undefined,
 Ci.nsILoadInfo.SEC_ALLOW_CROSS_ORIGIN_DATA_IS_NULL,
 Ci.nsIContentPolicy.TYPE_OTHER).loadInfo;
 let httpHandler = Services.io.getProtocolHandler("http")
  .QueryInterface(Ci.nsIHttpProtocolHandler);
-let ch = httpHandler.newProxiedChannel2(uri, proxyInfo, 0, undefined,
+let ch = httpHandler.newProxiedChannel(uri, proxyInfo, 0, undefined,
  loadInfo).QueryInterface(Ci.nsIHttpChannel);
 
 // Remove unwanted HTTP headers and set request parameters.
@@ -616,13 +616,13 @@ _MoatResponseListener.prototype =
   mResponseLength: 0,
   mResponseBody: undefined,
 
-  onStartRequest: function(aRequest, aContext)
+  onStartRequest: function(aRequest)
   {
 this.mResponseLength = 0;
 this.mResponseBody = "";
   },
 
-  onStopRequest: function(aRequest, aContext, aStatus)
+  onStopRequest: function(aRequest, aStatus)
   {
 this.mChannel = undefined;
 
@@ -636,9 +636,9 @@ _MoatResponseListener.prototype =
 let statusCode, msg;
 try
 {
-  statusCode = aContext.responseStatus;
-  if (aContext.responseStatusText)
-msg = statusCode + " " + aContext.responseStatusText;
+  statusCode = aRequest.responseStatus;
+  if (aRequest.responseStatusText)
+msg = statusCode + " " + aRequest.responseStatusText;
 }
 catch (e) {}
 
@@ -693,7 +693,7 @@ _MoatResponseListener.prototype =
 }
   }, // onStopRequest
 
-  onDataAvailable: function(aRequest, aContext, aStream, aSrcOffset, aLength)
+  onDataAvailable: function(aRequest, aStream, aSrcOffset, aLength)
   {
 TorLauncherLogger.log(2, "Moat onDataAvailable: " + aLength + " bytes");
 if ((this.mResponseLength + aLength) > this.mRequestor.kMaxResponseLength)

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


[tor-commits] [tor/master] A few more test cases and unreachable lines

2019-08-22 Thread dgoulet
commit c390efe84fa7a4c47e39ce0cc7e34550f515d5be
Author: Nick Mathewson 
Date:   Wed Jun 19 16:21:21 2019 -0400

A few more test cases and unreachable lines
---
 src/lib/confmgt/typedvar.c | 18 ++
 src/test/test_confparse.c  | 20 
 2 files changed, 30 insertions(+), 8 deletions(-)

diff --git a/src/lib/confmgt/typedvar.c b/src/lib/confmgt/typedvar.c
index fc45c4448..c2b9b4572 100644
--- a/src/lib/confmgt/typedvar.c
+++ b/src/lib/confmgt/typedvar.c
@@ -44,7 +44,7 @@ typed_var_assign_ex(void *target, const char *value, char 
**errmsg,
 const var_type_def_t *def)
 {
   if (BUG(!def))
-return -1;
+return -1; // LCOV_EXCL_LINE
   // clear old value if needed.
   typed_var_free_ex(target, def);
 
@@ -67,7 +67,7 @@ typed_var_kvassign_ex(void *target, const config_line_t *line,
   char **errmsg, const var_type_def_t *def)
 {
   if (BUG(!def))
-return -1;
+return -1; // LCOV_EXCL_LINE
 
   if (def->fns->kv_parse) {
 // We do _not_ free the old value here, since linelist options
@@ -86,7 +86,7 @@ void
 typed_var_free_ex(void *target, const var_type_def_t *def)
 {
   if (BUG(!def))
-return;
+return; // LCOV_EXCL_LINE
   if (def->fns->clear) {
 def->fns->clear(target, def->params);
   }
@@ -102,7 +102,7 @@ char *
 typed_var_encode_ex(const void *value, const var_type_def_t *def)
 {
   if (BUG(!def))
-return NULL;
+return NULL; // LCOV_EXCL_LINE
   tor_assert(def->fns->encode);
   return def->fns->encode(value, def->params);
 }
@@ -121,7 +121,7 @@ typed_var_kvencode_ex(const char *key, const void *value,
   const var_type_def_t *def)
 {
   if (BUG(!def))
-return NULL;
+return NULL; // LCOV_EXCL_LINE
   if (def->fns->kv_encode) {
 return def->fns->kv_encode(key, value, def->params);
   }
@@ -145,7 +145,7 @@ int
 typed_var_copy_ex(void *dest, const void *src, const var_type_def_t *def)
 {
   if (BUG(!def))
-return -1;
+return -1; // LCOV_EXCL_LINE
   if (def->fns->copy) {
 // If we have been provided a copy fuction, use it.
 return def->fns->copy(dest, src, def);
@@ -160,8 +160,10 @@ typed_var_copy_ex(void *dest, const void *src, const 
var_type_def_t *def)
   char *err = NULL;
   int rv = typed_var_assign_ex(dest, enc, , def);
   if (BUG(rv < 0)) {
+// LCOV_EXCL_START
 log_warn(LD_BUG, "Encoded value %s was not parseable as a %s: %s",
  escaped(enc), def->name, err?err:"");
+// LCOV_EXCL_STOP
   }
   tor_free(err);
   tor_free(enc);
@@ -176,7 +178,7 @@ bool
 typed_var_eq_ex(const void *a, const void *b, const var_type_def_t *def)
 {
   if (BUG(!def))
-return false;
+return false; // LCOV_EXCL_LINE
 
   if (def->fns->eq) {
 // Use a provided eq function if we got one.
@@ -200,7 +202,7 @@ bool
 typed_var_ok_ex(const void *value, const var_type_def_t *def)
 {
   if (BUG(!def))
-return false;
+return false; // LCOV_EXCL_LINE
 
   if (def->fns->ok)
 return def->fns->ok(value, def->params);
diff --git a/src/test/test_confparse.c b/src/test/test_confparse.c
index 9e626356d..d0c33841f 100644
--- a/src/test/test_confparse.c
+++ b/src/test/test_confparse.c
@@ -290,6 +290,8 @@ test_confparse_assign_simple(void *arg)
   tt_str_op(tst->mixed_hidden_lines->next->value, OP_EQ, "ABC");
   tt_assert(!tst->mixed_hidden_lines->next->next);
 
+  tt_assert(config_check_ok(_fmt, tst, LOG_ERR));
+
  done:
   config_free(_fmt, tst);
 }
@@ -344,6 +346,8 @@ test_confparse_assign_deprecated(void *arg)
 
   tt_int_op(tst->deprecated_int, OP_EQ, 7);
 
+  tt_assert(config_check_ok(_fmt, tst, LOG_ERR));
+
  done:
   teardown_capture_of_logs();
   config_free(_fmt, tst);
@@ -489,6 +493,8 @@ static const badval_test_t bv_badabool =
 static const badval_test_t bv_badtime = { "time lunchtime\n", "Invalid time" };
 static const badval_test_t bv_virt = { "MixedLines 7\n", "virtual option" };
 static const badval_test_t bv_rs = { "Routerset 2.2.2.2.2\n", "Invalid" };
+static const badval_test_t bv_big_interval =
+  { "interval 1000 months", "too large" };
 
 /* Try config_dump(), and make sure it behaves correctly */
 static void
@@ -885,6 +891,18 @@ test_confparse_unitparse(void *args)
   ;
 }
 
+static void
+test_confparse_check_ok_fail(void *arg)
+{
+  (void)arg;
+  test_struct_t *tst = config_new(_fmt);
+  tst->pos = -10;
+  tt_assert(! config_check_ok(_fmt, tst, LOG_INFO));
+
+ done:
+  config_free(_fmt, tst);
+}
+
 #define CONFPARSE_TEST(name, flags)  \
   { #name, test_confparse_ ## name, flags, NULL, NULL }
 
@@ -912,6 +930,7 @@ struct testcase_t confparse_tests[] = {
   BADVAL_TEST(badtime),
   BADVAL_TEST(virt),
   BADVAL_TEST(rs),
+  BADVAL_TEST(big_interval),
   CONFPARSE_TEST(dump, 0),
   CONFPARSE_TEST(reset, 0),
   CONFPARSE_TEST(reassign, 0),
@@ -919,5 +938,6 @@ struct testcase_t confparse_tests[] = {
   CONFPARSE_TEST(get_assigned, 0),
   CONFPARSE_TEST(extra_lines, 0),
   CONFPARSE_TEST(unitparse, 0),
+  

[tor-commits] [tor/master] Merge branch 'tor-github/pr/1244'

2019-08-22 Thread dgoulet
commit d475d7c2fb3c0ed5120c50011b187f6957a4f52c
Merge: cc48eff2d edf5a327c
Author: David Goulet 
Date:   Thu Aug 22 17:10:22 2019 -0400

Merge branch 'tor-github/pr/1244'

 changes/ticket30914   |   4 +
 scripts/maint/practracker/exceptions.txt  |   4 +-
 src/app/config/config.c   | 138 +-
 src/app/config/confparse.c| 178 ++-
 src/app/config/confparse.h|  25 ++--
 src/app/config/statefile.c|  20 ++-
 src/feature/dirauth/shared_random_state.c |  23 +--
 src/feature/nodelist/routerset.c  |  62 
 src/feature/nodelist/routerset.h  |   3 +
 src/lib/conf/conftypes.h  |  40 ++
 src/lib/confmgt/include.am|   2 +
 src/lib/confmgt/structvar.c   | 226 ++
 src/lib/confmgt/structvar.h   |  54 +++
 src/lib/confmgt/typedvar.c|  18 +--
 src/test/test_confparse.c |  59 ++--
 15 files changed, 634 insertions(+), 222 deletions(-)

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


[tor-commits] [tor/master] changes file for ticket 30914

2019-08-22 Thread dgoulet
commit e8790971f6120cc3e4fd2acd41f5dd0512f52068
Author: Nick Mathewson 
Date:   Wed Jun 19 16:24:07 2019 -0400

changes file for ticket 30914
---
 changes/ticket30914 | 4 
 1 file changed, 4 insertions(+)

diff --git a/changes/ticket30914 b/changes/ticket30914
new file mode 100644
index 0..c8c008b3d
--- /dev/null
+++ b/changes/ticket30914
@@ -0,0 +1,4 @@
+  o Code simplification and refactoring:
+- Lower another layer of object management from confparse.c to
+  a more general tool.  Now typed structure members are accessible
+  via an abstract type. Implements ticket 30914.



___
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 'ticket30914' into ticket30914_merged

2019-08-22 Thread dgoulet
commit edf5a327c5a27db218b4240b758669f5572e9565
Merge: 4b1e0dd5b e8790971f
Author: Nick Mathewson 
Date:   Tue Aug 20 13:57:05 2019 -0400

Merge branch 'ticket30914' into ticket30914_merged

 changes/ticket30914   |   4 +
 scripts/maint/practracker/exceptions.txt  |   5 +-
 src/app/config/config.c   | 138 +-
 src/app/config/confparse.c| 178 ++-
 src/app/config/confparse.h|  25 ++--
 src/app/config/statefile.c|  20 ++-
 src/feature/dirauth/shared_random_state.c |  23 +--
 src/feature/nodelist/routerset.c  |  62 
 src/feature/nodelist/routerset.h  |   3 +
 src/lib/conf/conftypes.h  |  40 ++
 src/lib/confmgt/include.am|   2 +
 src/lib/confmgt/structvar.c   | 226 ++
 src/lib/confmgt/structvar.h   |  54 +++
 src/lib/confmgt/typedvar.c|  18 +--
 src/test/test_confparse.c |  59 ++--
 15 files changed, 634 insertions(+), 223 deletions(-)

diff --cc scripts/maint/practracker/exceptions.txt
index 4f3943f21,2190fb1ca..a1d00b9cd
--- a/scripts/maint/practracker/exceptions.txt
+++ b/scripts/maint/practracker/exceptions.txt
@@@ -29,24 -29,25 +29,24 @@@
  #
  # Remember: It is better to fix the problem than to add a new exception!
  
- problem file-size /src/app/config/config.c 8510
- problem include-count /src/app/config/config.c 87
+ problem file-size /src/app/config/config.c 8518
+ problem include-count /src/app/config/config.c 88
  problem function-size /src/app/config/config.c:options_act_reversible() 296
  problem function-size /src/app/config/config.c:options_act() 589
 -problem function-size /src/app/config/config.c:resolve_my_address() 192
 -problem function-size /src/app/config/config.c:options_validate() 1217
 +problem function-size /src/app/config/config.c:resolve_my_address() 190
 +problem function-size /src/app/config/config.c:options_validate() 1209
  problem function-size /src/app/config/config.c:options_init_from_torrc() 207
 -problem function-size /src/app/config/config.c:options_init_from_string() 173
 -problem function-size /src/app/config/config.c:options_init_logs() 146
 +problem function-size /src/app/config/config.c:options_init_from_string() 171
 +problem function-size /src/app/config/config.c:options_init_logs() 145
  problem function-size /src/app/config/config.c:parse_bridge_line() 104
 -problem function-size /src/app/config/config.c:parse_transport_line() 191
 -problem function-size /src/app/config/config.c:parse_dir_authority_line() 151
 -problem function-size /src/app/config/config.c:parse_dir_fallback_line() 102
 -problem function-size /src/app/config/config.c:parse_port_config() 452
 -problem function-size /src/app/config/config.c:parse_ports() 170
 -problem function-size /src/app/config/config.c:getinfo_helper_config() 116
 -problem function-size /src/app/config/confparse.c:config_assign_value() 205
 -problem function-size 
/src/app/config/confparse.c:config_get_assigned_option() 129
 -problem include-count /src/app/main/main.c 67
 +problem function-size /src/app/config/config.c:parse_transport_line() 189
 +problem function-size /src/app/config/config.c:parse_dir_authority_line() 150
 +problem function-size /src/app/config/config.c:parse_dir_fallback_line() 101
 +problem function-size /src/app/config/config.c:parse_port_config() 446
 +problem function-size /src/app/config/config.c:parse_ports() 168
 +problem function-size /src/app/config/config.c:getinfo_helper_config() 113
 +problem file-size /src/app/config/or_options_st.h 1112
 +problem include-count /src/app/main/main.c 68
  problem function-size /src/app/main/main.c:dumpstats() 102
  problem function-size /src/app/main/main.c:tor_init() 137
  problem function-size /src/app/main/main.c:sandbox_init_filter() 291
@@@ -276,11 -276,10 +276,10 @@@ problem function-size /src/lib/process/
  problem function-size /src/lib/process/setuid.c:switch_id() 156
  problem function-size /src/lib/sandbox/sandbox.c:prot_strings() 104
  problem function-size /src/lib/string/scanf.c:tor_vsscanf() 112
 -problem function-size /src/lib/tls/tortls_nss.c:tor_tls_context_new() 153
 -problem function-size /src/lib/tls/tortls_openssl.c:tor_tls_context_new() 171
 -problem function-size 
/src/lib/tls/x509_nss.c:tor_tls_create_certificate_internal() 126
 +problem function-size /src/lib/tls/tortls_nss.c:tor_tls_context_new() 152
 +problem function-size /src/lib/tls/tortls_openssl.c:tor_tls_context_new() 170
 +problem function-size 
/src/lib/tls/x509_nss.c:tor_tls_create_certificate_internal() 121
  problem function-size /src/tools/tor-gencert.c:parse_commandline() 111
 -problem function-size /src/tools/tor-resolve.c:build_socks5_resolve_request() 
104
 -problem function-size /src/tools/tor-resolve.c:do_resolve() 174
 +problem function-size /src/tools/tor-resolve.c:build_socks5_resolve_request() 

[tor-commits] [tor/master] Use structvar to find the types for config vars.

2019-08-22 Thread dgoulet
commit a91ed23403ae28974639a9bdb67530c5c07a0ce6
Author: Nick Mathewson 
Date:   Wed Jun 19 10:46:07 2019 -0400

Use structvar to find the types for config vars.
---
 scripts/maint/practracker/exceptions.txt |  2 +-
 src/app/config/config.c  | 30 ++
 src/lib/confmgt/structvar.c  | 26 ++
 src/lib/confmgt/structvar.h  |  3 +++
 4 files changed, 32 insertions(+), 29 deletions(-)

diff --git a/scripts/maint/practracker/exceptions.txt 
b/scripts/maint/practracker/exceptions.txt
index 4db452b89..2190fb1ca 100644
--- a/scripts/maint/practracker/exceptions.txt
+++ b/scripts/maint/practracker/exceptions.txt
@@ -30,7 +30,7 @@
 # Remember: It is better to fix the problem than to add a new exception!
 
 problem file-size /src/app/config/config.c 8518
-problem include-count /src/app/config/config.c 87
+problem include-count /src/app/config/config.c 88
 problem function-size /src/app/config/config.c:options_act_reversible() 296
 problem function-size /src/app/config/config.c:options_act() 589
 problem function-size /src/app/config/config.c:resolve_my_address() 192
diff --git a/src/app/config/config.c b/src/app/config/config.c
index 37cbe6b2e..8da1e2acd 100644
--- a/src/app/config/config.c
+++ b/src/app/config/config.c
@@ -111,6 +111,7 @@
 #include "feature/stats/predict_ports.h"
 #include "feature/stats/rephist.h"
 #include "lib/compress/compress.h"
+#include "lib/confmgt/structvar.h"
 #include "lib/crypt_ops/crypto_init.h"
 #include "lib/crypt_ops/crypto_rand.h"
 #include "lib/crypt_ops/crypto_util.h"
@@ -8195,37 +8196,10 @@ getinfo_helper_config(control_connection_t *conn,
 int i;
 for (i = 0; option_vars_[i].member.name; ++i) {
   const config_var_t *var = _vars_[i];
-  const char *type;
   /* don't tell controller about triple-underscore options */
   if (!strncmp(option_vars_[i].member.name, "___", 3))
 continue;
-  switch (var->member.type) {
-case CONFIG_TYPE_STRING: type = "String"; break;
-case CONFIG_TYPE_FILENAME: type = "Filename"; break;
-case CONFIG_TYPE_POSINT: type = "Integer"; break;
-case CONFIG_TYPE_UINT64: type = "Integer"; break;
-case CONFIG_TYPE_INT: type = "SignedInteger"; break;
-case CONFIG_TYPE_INTERVAL: type = "TimeInterval"; break;
-case CONFIG_TYPE_MSEC_INTERVAL: type = "TimeMsecInterval"; break;
-case CONFIG_TYPE_MEMUNIT: type = "DataSize"; break;
-case CONFIG_TYPE_DOUBLE: type = "Float"; break;
-case CONFIG_TYPE_BOOL: type = "Boolean"; break;
-case CONFIG_TYPE_AUTOBOOL: type = "Boolean+Auto"; break;
-case CONFIG_TYPE_ISOTIME: type = "Time"; break;
-case CONFIG_TYPE_ROUTERSET: type = "RouterList"; break;
-case CONFIG_TYPE_CSV: type = "CommaList"; break;
-/* This type accepts more inputs than TimeInterval, but it ignores
- * everything after the first entry, so we may as well pretend
- * it's a TimeInterval. */
-case CONFIG_TYPE_CSV_INTERVAL: type = "TimeInterval"; break;
-case CONFIG_TYPE_LINELIST: type = "LineList"; break;
-case CONFIG_TYPE_LINELIST_S: type = "Dependent"; break;
-case CONFIG_TYPE_LINELIST_V: type = "Virtual"; break;
-default:
-case CONFIG_TYPE_OBSOLETE:
-case CONFIG_TYPE_EXTENDED:
-  type = NULL; break;
-  }
+  const char *type = struct_var_get_typename(>member);
   if (!type)
 continue;
   smartlist_add_asprintf(sl, "%s %s\n",var->member.name,type);
diff --git a/src/lib/confmgt/structvar.c b/src/lib/confmgt/structvar.c
index 7ea00fbde..38f8e5dd7 100644
--- a/src/lib/confmgt/structvar.c
+++ b/src/lib/confmgt/structvar.c
@@ -25,6 +25,8 @@
 #include "lib/confmgt/typedvar.h"
 #include "lib/log/util_bug.h"
 
+#include "lib/confmgt/var_type_def_st.h"
+
 #include 
 
 /**
@@ -198,3 +200,27 @@ struct_var_kvencode(const void *object, const 
struct_member_t *member)
 
   return typed_var_kvencode_ex(member->name, p, def);
 }
+
+/**
+ * Return the official name of this struct member.
+ **/
+const char *
+struct_var_get_name(const struct_member_t *member)
+{
+  return member->name;
+}
+
+/**
+ * Return the type name for this struct member.
+ *
+ * Do not use the output of this function to inspect a type within Tor.  It is
+ * suitable for debugging, informing the controller or user of a variable's
+ * type, etc.
+ **/
+const char *
+struct_var_get_typename(const struct_member_t *member)
+{
+  const var_type_def_t *def = get_type_def(member);
+
+  return def ? def->name : NULL;
+}
diff --git a/src/lib/confmgt/structvar.h b/src/lib/confmgt/structvar.h
index 894098e50..92b9b6fc7 100644
--- a/src/lib/confmgt/structvar.h
+++ b/src/lib/confmgt/structvar.h
@@ -41,6 +41,9 @@ bool struct_var_eq(const void *a, const void *b,
 bool struct_var_ok(const void *object,
const struct struct_member_t *member);
 
+const char 

[tor-commits] [tor/master] Use struct_magic_decl to verify magic numbers in config objects

2019-08-22 Thread dgoulet
commit 59317c8a238f49ad298d4f51f42a0f7b16c9cc3c
Author: Nick Mathewson 
Date:   Wed Jun 19 08:34:20 2019 -0400

Use struct_magic_decl to verify magic numbers in config objects
---
 src/app/config/config.c   |  7 +--
 src/app/config/confparse.c|  2 +-
 src/app/config/confparse.h|  9 +++--
 src/app/config/statefile.c|  7 +--
 src/feature/dirauth/shared_random_state.c |  7 +--
 src/test/test_confparse.c | 14 ++
 6 files changed, 29 insertions(+), 17 deletions(-)

diff --git a/src/app/config/config.c b/src/app/config/config.c
index 074df0705..37cbe6b2e 100644
--- a/src/app/config/config.c
+++ b/src/app/config/config.c
@@ -877,8 +877,11 @@ static void set_protocol_warning_severity_level(int 
warning_severity);
 /** Configuration format for or_options_t. */
 STATIC config_format_t options_format = {
   sizeof(or_options_t),
-  OR_OPTIONS_MAGIC,
-  offsetof(or_options_t, magic_),
+  {
+   "or_options_t",
+   OR_OPTIONS_MAGIC,
+   offsetof(or_options_t, magic_),
+  },
   option_abbrevs_,
   option_deprecation_notes_,
   option_vars_,
diff --git a/src/app/config/confparse.c b/src/app/config/confparse.c
index be4341e3f..752d16c84 100644
--- a/src/app/config/confparse.c
+++ b/src/app/config/confparse.c
@@ -39,7 +39,7 @@ void *
 config_new(const config_format_t *fmt)
 {
   void *opts = tor_malloc_zero(fmt->size);
-  *(uint32_t*)STRUCT_VAR_P(opts, fmt->magic_offset) = fmt->magic;
+  struct_set_magic(opts, >magic);
   CONFIG_CHECK(fmt, opts);
   return opts;
 }
diff --git a/src/app/config/confparse.h b/src/app/config/confparse.h
index 5897085e6..4ef4e708f 100644
--- a/src/app/config/confparse.h
+++ b/src/app/config/confparse.h
@@ -96,9 +96,7 @@ typedef void (*free_cfg_fn_t)(void*);
  * configuration or storage format. */
 typedef struct config_format_t {
   size_t size; /**< Size of the struct that everything gets parsed into. */
-  uint32_t magic; /**< Required 'magic value' to make sure we have a struct
-   * of the right type. */
-  off_t magic_offset; /**< Offset of the magic value within the struct. */
+  struct_magic_decl_t magic; /**< Magic number info for this struct. */
   config_abbrev_t *abbrevs; /**< List of abbreviations that we expand when
  * parsing this format. */
   const config_deprecation_t *deprecations; /** List of deprecated options */
@@ -114,9 +112,8 @@ typedef struct config_format_t {
 /** Macro: assert that cfg has the right magic field for format
  * fmt. */
 #define CONFIG_CHECK(fmt, cfg) STMT_BEGIN   \
-tor_assert(fmt && cfg); \
-tor_assert((fmt)->magic ==  \
-   *(uint32_t*)STRUCT_VAR_P(cfg,fmt->magic_offset));\
+tor_assert(fmt);\
+struct_check_magic((cfg), >magic); \
   STMT_END
 
 #define CAL_USE_DEFAULTS  (1u<<0)
diff --git a/src/app/config/statefile.c b/src/app/config/statefile.c
index 358b02f60..331592c3a 100644
--- a/src/app/config/statefile.c
+++ b/src/app/config/statefile.c
@@ -166,8 +166,11 @@ static struct_member_t state_extra_var = {
 /** Configuration format for or_state_t. */
 static const config_format_t state_format = {
   sizeof(or_state_t),
-  OR_STATE_MAGIC,
-  offsetof(or_state_t, magic_),
+  {
+   "or_state_t",
+   OR_STATE_MAGIC,
+   offsetof(or_state_t, magic_),
+  },
   state_abbrevs_,
   NULL,
   state_vars_,
diff --git a/src/feature/dirauth/shared_random_state.c 
b/src/feature/dirauth/shared_random_state.c
index cf4a65432..da4187b38 100644
--- a/src/feature/dirauth/shared_random_state.c
+++ b/src/feature/dirauth/shared_random_state.c
@@ -94,8 +94,11 @@ static struct_member_t state_extra_var = {
 /* Configuration format of sr_disk_state_t. */
 static const config_format_t state_format = {
   sizeof(sr_disk_state_t),
-  SR_DISK_STATE_MAGIC,
-  offsetof(sr_disk_state_t, magic_),
+  {
+   "sr_disk_state_t",
+   SR_DISK_STATE_MAGIC,
+   offsetof(sr_disk_state_t, magic_),
+  },
   NULL,
   NULL,
   state_vars,
diff --git a/src/test/test_confparse.c b/src/test/test_confparse.c
index 27696a537..9e626356d 100644
--- a/src/test/test_confparse.c
+++ b/src/test/test_confparse.c
@@ -131,8 +131,11 @@ static void test_free_cb(void *options);
 
 static config_format_t test_fmt = {
   sizeof(test_struct_t),
-  TEST_MAGIC,
-  offsetof(test_struct_t, magic),
+  {
+   "test_struct_t",
+   TEST_MAGIC,
+   offsetof(test_struct_t, magic),
+  },
   test_abbrevs,
   test_deprecation_notes,
   test_vars,
@@ -774,8 +777,11 @@ static struct_member_t extra = {
 
 static config_format_t etest_fmt = {
   sizeof(test_struct_t),
-  ETEST_MAGIC,
-  offsetof(test_struct_t, magic),
+  {
+   "test_struct_t (with extra lines)",
+   ETEST_MAGIC,
+   offsetof(test_struct_t, magic),
+  },
   test_abbrevs,
   

[tor-commits] [tor/master] Use struct_var_{copy, eq} in confparse.c.

2019-08-22 Thread dgoulet
commit 53e969c137cb39bed432cd165d3d7e3825b1a2a9
Author: Nick Mathewson 
Date:   Wed Jun 19 08:41:52 2019 -0400

Use struct_var_{copy,eq} in confparse.c.
---
 src/app/config/confparse.c | 33 -
 1 file changed, 12 insertions(+), 21 deletions(-)

diff --git a/src/app/config/confparse.c b/src/app/config/confparse.c
index 752d16c84..b9b5fddb9 100644
--- a/src/app/config/confparse.c
+++ b/src/app/config/confparse.c
@@ -542,17 +542,15 @@ config_is_same(const config_format_t *fmt,
const void *o1, const void *o2,
const char *name)
 {
-  config_line_t *c1, *c2;
-  int r = 1;
   CONFIG_CHECK(fmt, o1);
   CONFIG_CHECK(fmt, o2);
 
-  c1 = config_get_assigned_option(fmt, o1, name, 0);
-  c2 = config_get_assigned_option(fmt, o2, name, 0);
-  r = config_lines_eq(c1, c2);
-  config_free_lines(c1);
-  config_free_lines(c2);
-  return r;
+  const config_var_t *var = config_find_option(fmt, name);
+  if (!var) {
+return true;
+  }
+
+  return struct_var_eq(o1, o2, >member);
 }
 
 /** Copy storage held by old into a new or_options_t and return it. */
@@ -561,7 +559,6 @@ config_dup(const config_format_t *fmt, const void *old)
 {
   void *newopts;
   int i;
-  config_line_t *line;
 
   newopts = config_new(fmt);
   for (i=0; fmt->vars[i].member.name; ++i) {
@@ -569,19 +566,13 @@ config_dup(const config_format_t *fmt, const void *old)
   continue;
 if (fmt->vars[i].member.type == CONFIG_TYPE_OBSOLETE)
   continue;
-line = config_get_assigned_option(fmt, old, fmt->vars[i].member.name, 0);
-if (line) {
-  char *msg = NULL;
-  if (config_assign(fmt, newopts, line, 0, ) < 0) {
-// LCOV_EXCL_START
-log_err(LD_BUG, "config_get_assigned_option() generated "
-"something we couldn't config_assign(): %s", msg);
-tor_free(msg);
-tor_assert(0);
-// LCOV_EXCL_STOP
-  }
+if (struct_var_copy(newopts, old, >vars[i].member) < 0) {
+  // LCOV_EXCL_START
+  log_err(LD_BUG, "Unable to copy value for %s.",
+  fmt->vars[i].member.name);
+  tor_assert_unreached();
+  // LCOV_EXCL_STOP
 }
-config_free_lines(line);
   }
   return newopts;
 }



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


[tor-commits] [tor/master] Add a function to make sure all values in a config object are ok

2019-08-22 Thread dgoulet
commit a114df9a040dbdedfc89f7d2ff777476e204a2cf
Author: Nick Mathewson 
Date:   Wed Jun 19 16:06:15 2019 -0400

Add a function to make sure all values in a config object are ok
---
 src/app/config/confparse.c | 18 ++
 src/app/config/confparse.h |  2 ++
 2 files changed, 20 insertions(+)

diff --git a/src/app/config/confparse.c b/src/app/config/confparse.c
index b9b5fddb9..2890d8c81 100644
--- a/src/app/config/confparse.c
+++ b/src/app/config/confparse.c
@@ -673,3 +673,21 @@ config_dump(const config_format_t *fmt, const void 
*default_options,
   }
   return result;
 }
+
+/**
+ * Return true if every member of options is in-range and well-formed.
+ * Return false otherwise.  Log errors at level severity.
+ */
+bool
+config_check_ok(const config_format_t *fmt, const void *options, int severity)
+{
+  bool all_ok = true;
+  for (int i=0; fmt->vars[i].member.name; ++i) {
+if (!struct_var_ok(options, >vars[i].member)) {
+  log_fn(severity, LD_BUG, "Invalid value for %s",
+ fmt->vars[i].member.name);
+  all_ok = false;
+}
+  }
+  return all_ok;
+}
diff --git a/src/app/config/confparse.h b/src/app/config/confparse.h
index 4ef4e708f..b91ea1c13 100644
--- a/src/app/config/confparse.h
+++ b/src/app/config/confparse.h
@@ -138,6 +138,8 @@ void *config_dup(const config_format_t *fmt, const void 
*old);
 char *config_dump(const config_format_t *fmt, const void *default_options,
   const void *options, int minimal,
   int comment_defaults);
+bool config_check_ok(const config_format_t *fmt, const void *options,
+ int severity);
 int config_assign(const config_format_t *fmt, void *options,
   struct config_line_t *list,
   unsigned flags, char **msg);



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


[tor-commits] [tor/master] Add new "struct_var_" functions to manipulate struct fields.

2019-08-22 Thread dgoulet
commit 2da188667d37757ae999c8ab24ed35b64e08700c
Author: Nick Mathewson 
Date:   Tue Jun 18 20:40:11 2019 -0400

Add new "struct_var_" functions to manipulate struct fields.

These functions exist one level higher than typed_var_t.  They
describe a type, a name, and an offset within a structure.
---
 src/lib/conf/conftypes.h|  40 +
 src/lib/confmgt/include.am  |   2 +
 src/lib/confmgt/structvar.c | 200 
 src/lib/confmgt/structvar.h |  51 +++
 4 files changed, 293 insertions(+)

diff --git a/src/lib/conf/conftypes.h b/src/lib/conf/conftypes.h
index e66ab3d5a..cddfeff2f 100644
--- a/src/lib/conf/conftypes.h
+++ b/src/lib/conf/conftypes.h
@@ -63,8 +63,48 @@ typedef enum config_type_t {
   CONFIG_TYPE_ROUTERSET,/**< A list of router names, addrs, and fps,
  * parsed into a routerset_t. */
   CONFIG_TYPE_OBSOLETE, /**< Obsolete (ignored) option. */
+  CONFIG_TYPE_EXTENDED, /**< Extended type; definition will appear in
+ * pointer. */
 } config_type_t;
 
+/* Forward delcaration for var_type_def_t, for extended types. */
+struct var_type_def_t;
+
+/** Structure to specify a named, typed member within a structure. */
+typedef struct struct_member_t {
+  /** Name of the field. */
+  const char *name;
+  /** Type of the field, according to the config_type_t enumeration.
+   *
+   * This value is CONFIG_TYPE_EXTENDED for any type not listed in
+   * config_type_t.
+   **/
+  config_type_t type;
+  /**
+   * Pointer to a type definition for the type of this field. Overrides
+   * type if not NULL.
+   **/
+  const struct var_type_def_t *type_def;
+  /**
+   * Offset of this field within the structure.  Compute this with
+   * offsetof(structure, fieldname).
+   **/
+  int offset;
+} struct_member_t;
+
+/**
+ * Structure to describe the location and preferred value of a "magic number"
+ * field within a structure.
+ *
+ * These 'magic numbers' are 32-bit values used to tag objects to make sure
+ * that they have the correct type.
+ */
+typedef struct struct_magic_decl_t {
+  const char *typename;
+  uint32_t magic_val;
+  int magic_offset;
+} struct_magic_decl_t;
+
 #ifdef TOR_UNIT_TESTS
 /**
  * Union used when building in test mode typechecking the members of a type
diff --git a/src/lib/confmgt/include.am b/src/lib/confmgt/include.am
index a2c764995..aa5b37fdb 100644
--- a/src/lib/confmgt/include.am
+++ b/src/lib/confmgt/include.am
@@ -6,6 +6,7 @@ endif
 
 # ADD_C_FILE: INSERT SOURCES HERE.
 src_lib_libtor_confmgt_a_SOURCES = \
+   src/lib/confmgt/structvar.c  \
src/lib/confmgt/type_defs.c  \
src/lib/confmgt/typedvar.c  \
src/lib/confmgt/unitparse.c
@@ -17,6 +18,7 @@ src_lib_libtor_confmgt_testing_a_CFLAGS = $(AM_CFLAGS) 
$(TEST_CFLAGS)
 
 # ADD_C_FILE: INSERT HEADERS HERE.
 noinst_HEADERS +=  \
+   src/lib/confmgt/structvar.h \
src/lib/confmgt/type_defs.h \
src/lib/confmgt/typedvar.h  \
src/lib/confmgt/unitparse.h \
diff --git a/src/lib/confmgt/structvar.c b/src/lib/confmgt/structvar.c
new file mode 100644
index 0..7ea00fbde
--- /dev/null
+++ b/src/lib/confmgt/structvar.c
@@ -0,0 +1,200 @@
+/* Copyright (c) 2001 Matej Pfajfar.
+ * Copyright (c) 2001-2004, Roger Dingledine.
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2019, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * @file structvar.c
+ * @brief Functions to manipulate named and typed elements of
+ *a structure.
+ *
+ * These functions represent a low-level API for accessing a member of a
+ * structure.  They use typedvar.c to work, and they are used in turn by the
+ * configuration system to examine and set fields in configuration objects
+ * used by individual modules.
+ *
+ * Almost no code should call these directly.
+ **/
+
+#include "orconfig.h"
+#include "lib/confmgt/structvar.h"
+#include "lib/cc/compat_compiler.h"
+#include "lib/conf/conftypes.h"
+#include "lib/confmgt/type_defs.h"
+#include "lib/confmgt/typedvar.h"
+#include "lib/log/util_bug.h"
+
+#include 
+
+/**
+ * Set the 'magic number' on object to correspond to decl.
+ **/
+void
+struct_set_magic(void *object, const struct_magic_decl_t *decl)
+{
+  tor_assert(object);
+  tor_assert(decl);
+  uint32_t *ptr = STRUCT_VAR_P(object, decl->magic_offset);
+  *ptr = decl->magic_val;
+}
+
+/**
+ * Assert that the 'magic number' on object to corresponds to decl.
+ **/
+void
+struct_check_magic(const void *object, const struct_magic_decl_t *decl)
+{
+  tor_assert(object);
+  tor_assert(decl);
+
+  const uint32_t *ptr = STRUCT_VAR_P(object, decl->magic_offset);
+  tor_assertf(*ptr == decl->magic_val,
+  "Bad magic 

[tor-commits] [tor/master] Partially port routerset to being a full-fledged config type again.

2019-08-22 Thread dgoulet
commit e16b90b88a76fb82702ae26c54834aca6c591d64
Author: Nick Mathewson 
Date:   Tue Jun 18 19:16:57 2019 -0400

Partially port routerset to being a full-fledged config type again.
---
 src/app/config/confparse.c   | 27 -
 src/feature/nodelist/routerset.c | 62 
 src/feature/nodelist/routerset.h |  3 ++
 3 files changed, 70 insertions(+), 22 deletions(-)

diff --git a/src/app/config/confparse.c b/src/app/config/confparse.c
index bc2ab24e4..a02aa26e8 100644
--- a/src/app/config/confparse.c
+++ b/src/app/config/confparse.c
@@ -175,18 +175,8 @@ config_assign_value(const config_format_t *fmt, void 
*options,
 
   if (var->type == CONFIG_TYPE_ROUTERSET) {
 //  make the backend extensible so that we don't have to
-//  handle ROUTERSET specially.
-
-if (*(routerset_t**)lvalue) {
-  routerset_free(*(routerset_t**)lvalue);
-}
-*(routerset_t**)lvalue = routerset_new();
-if (routerset_parse(*(routerset_t**)lvalue, c->value, c->key)<0) {
-  tor_asprintf(msg, "Invalid exit list '%s' for option '%s'",
-   c->value, c->key);
-  return -1;
-}
-return 0;
+//  special-case this type.
+return typed_var_kvassign_ex(lvalue, c, msg, _type_defn);
   }
 
   return typed_var_kvassign(lvalue, c, msg, var->type);
@@ -377,10 +367,8 @@ config_get_assigned_option(const config_format_t *fmt, 
const void *options,
 
   if (var->type == CONFIG_TYPE_ROUTERSET) {
 //  make the backend extensible so that we don't have to
-//  handle ROUTERSET specially.
-result = tor_malloc_zero(sizeof(config_line_t));
-result->key = tor_strdup(var->name);
-result->value = routerset_to_string(*(routerset_t**)value);
+//  special-case this type.
+result = typed_var_kvencode_ex(var->name, value, _type_defn);
   } else {
 result = typed_var_kvencode(var->name, value, var->type);
   }
@@ -512,12 +500,7 @@ config_clear(const config_format_t *fmt, void *options,
   void *lvalue = STRUCT_VAR_P(options, var->var_offset);
   (void)fmt; /* unused */
   if (var->type == CONFIG_TYPE_ROUTERSET) {
-//  make the backend extensible so that we don't have to
-//  handle ROUTERSET specially.
-if (*(routerset_t**)lvalue) {
-  routerset_free(*(routerset_t**)lvalue);
-  *(routerset_t**)lvalue = NULL;
-}
+typed_var_free_ex(lvalue, _type_defn);
 return;
   }
 
diff --git a/src/feature/nodelist/routerset.c b/src/feature/nodelist/routerset.c
index e801fd81b..ad42e8e10 100644
--- a/src/feature/nodelist/routerset.c
+++ b/src/feature/nodelist/routerset.c
@@ -34,6 +34,9 @@ n * Copyright (c) 2001-2004, Roger Dingledine.
 #include "feature/nodelist/nickname.h"
 #include "feature/nodelist/nodelist.h"
 #include "feature/nodelist/routerset.h"
+#include "lib/conf/conftypes.h"
+#include "lib/confmgt/typedvar.h"
+#include "lib/encoding/confline.h"
 #include "lib/geoip/geoip.h"
 
 #include "core/or/addr_policy_st.h"
@@ -41,6 +44,7 @@ n * Copyright (c) 2001-2004, Roger Dingledine.
 #include "feature/nodelist/node_st.h"
 #include "feature/nodelist/routerinfo_st.h"
 #include "feature/nodelist/routerstatus_st.h"
+#include "lib/confmgt/var_type_def_st.h"
 
 /** Return a new empty routerset. */
 routerset_t *
@@ -461,3 +465,61 @@ routerset_free_(routerset_t *routerset)
   bitarray_free(routerset->countries);
   tor_free(routerset);
 }
+
+static int
+routerset_kv_parse(void *target, const config_line_t *line, char **errmsg,
+  const void *params)
+{
+  (void)params;
+  routerset_t **p = (routerset_t**)target;
+  routerset_free(*p); // clear the old value, if any.
+  routerset_t *rs = routerset_new();
+  if (routerset_parse(rs, line->value, line->key) < 0) {
+routerset_free(rs);
+*errmsg = tor_strdup("Invalid router list.");
+return -1;
+  } else {
+*p = rs;
+return 0;
+  }
+}
+
+static char *
+routerset_encode(const void *value, const void *params)
+{
+  (void)params;
+  const routerset_t **p = (const routerset_t**)value;
+  return routerset_to_string(*p);
+}
+
+static void
+routerset_clear(void *value, const void *params)
+{
+  (void)params;
+  routerset_t **p = (routerset_t**)value;
+  routerset_free(*p); // sets *p to NULL.
+}
+
+static int
+routerset_copy(void *dest, const void *src, const void *params)
+{
+  (void)params;
+  routerset_t **output = (routerset_t**)dest;
+  const routerset_t *input = *(routerset_t**)src;
+  routerset_free(*output); // sets *output to NULL
+  *output = routerset_new();
+  routerset_union(*output, input);
+  return 0;
+}
+
+static const var_type_fns_t routerset_type_fns = {
+  .kv_parse = routerset_kv_parse,
+  .encode = routerset_encode,
+  .clear = routerset_clear,
+  .copy = routerset_copy
+};
+
+const var_type_def_t routerset_type_defn = {
+  .name = "RouterList",
+  .fns = _type_fns
+};
diff --git a/src/feature/nodelist/routerset.h b/src/feature/nodelist/routerset.h
index ca8b6fed9..9d184c985 100644
--- 

[tor-commits] [tor/master] Port confparse to use struct_var in place of typed_var.

2019-08-22 Thread dgoulet
commit 3a4d67cf45dc1c94a33479c852a3dd7cbd4ebc95
Author: Nick Mathewson 
Date:   Tue Jun 18 20:40:59 2019 -0400

Port confparse to use struct_var in place of typed_var.

This requires changes to config_var_t, causing corresponding changes
throughout its users.
---
 src/app/config/config.c   | 105 +---
 src/app/config/confparse.c| 110 --
 src/app/config/confparse.h|  14 ++--
 src/app/config/statefile.c|  13 ++--
 src/feature/dirauth/shared_random_state.c |  16 +++--
 src/feature/nodelist/routerset.c  |   2 +-
 src/feature/nodelist/routerset.h  |   2 +-
 src/test/test_confparse.c |  25 +--
 8 files changed, 153 insertions(+), 134 deletions(-)

diff --git a/src/app/config/config.c b/src/app/config/config.c
index 790800705..074df0705 100644
--- a/src/app/config/config.c
+++ b/src/app/config/config.c
@@ -253,23 +253,45 @@ static config_abbrev_t option_abbrevs_[] = {
  * members with CONF_CHECK_VAR_TYPE. */
 DUMMY_TYPECHECK_INSTANCE(or_options_t);
 
-/** An entry for config_vars: "The option name has type
+/** An entry for config_vars: "The option varname has type
  * CONFIG_TYPE_conftype, and corresponds to
  * or_options_t.member"
  */
-#define VAR(name,conftype,member,initvalue) \
-  { name, CONFIG_TYPE_ ## conftype, offsetof(or_options_t, member), \
+#define VAR(varname,conftype,member,initvalue)  \
+  { { .name = varname,  \
+.type = CONFIG_TYPE_ ## conftype,   \
+.offset = offsetof(or_options_t, member),   \
+},  \
   initvalue CONF_TEST_MEMBERS(or_options_t, conftype, member) }
-/** As VAR, but the option name and member name are the same. */
-#define V(member,conftype,initvalue)\
-  VAR(#member, conftype, member, initvalue)
-/** An entry for config_vars: "The option name is obsolete." */
+
 #ifdef TOR_UNIT_TESTS
-#define OBSOLETE(name) { name, CONFIG_TYPE_OBSOLETE, 0, NULL, {.INT=NULL} }
+#define DUMMY_TEST_MEMBERS , {.INT=NULL}
 #else
-#define OBSOLETE(name) { name, CONFIG_TYPE_OBSOLETE, 0, NULL }
+#define DUMMY_TEST_MEMBERS
 #endif
 
+/* As VAR, but uses a type definition in addition to a type enum. */
+#define VAR_D(varname,conftype,member,initvalue)\
+  { { .name = varname,  \
+.type = CONFIG_TYPE_ ## conftype,   \
+.type_def =  ## _type_defn,\
+.offset = offsetof(or_options_t, member),   \
+},  \
+  initvalue DUMMY_TEST_MEMBERS }
+
+/** As VAR, but the option name and member name are the same. */
+#define V(member,conftype,initvalue)\
+  VAR(#member, conftype, member, initvalue)
+
+/** As V, but uses a type definition instead of a type enum */
+#define V_D(member,type,initvalue)  \
+  VAR_D(#member, type, member, initvalue)
+
+/** An entry for config_vars: "The option varname is obsolete." */
+#define OBSOLETE(varname) \
+  { { .name = varname, .type = CONFIG_TYPE_OBSOLETE, }, NULL   \
+DUMMY_TEST_MEMBERS }
+
 /**
  * Macro to declare *Port options.  Each one comes in three entries.
  * For example, most users should use "SocksPort" to configure the
@@ -418,17 +440,17 @@ static config_var_t option_vars_[] = {
   V(TestingEnableCellStatsEvent, BOOL, "0"),
   OBSOLETE("TestingEnableTbEmptyEvent"),
   V(EnforceDistinctSubnets,  BOOL, "1"),
-  V(EntryNodes,  ROUTERSET,   NULL),
+  V_D(EntryNodes,ROUTERSET,   NULL),
   V(EntryStatistics, BOOL, "0"),
   V(TestingEstimatedDescriptorPropagationTime, INTERVAL, "10 minutes"),
-  V(ExcludeNodes,ROUTERSET, NULL),
-  V(ExcludeExitNodes,ROUTERSET, NULL),
+  V_D(ExcludeNodes,  ROUTERSET, NULL),
+  V_D(ExcludeExitNodes,  ROUTERSET, NULL),
   OBSOLETE("ExcludeSingleHopRelays"),
-  V(ExitNodes,   ROUTERSET, NULL),
+  V_D(ExitNodes, ROUTERSET, NULL),
   /* Researchers need a way to tell their clients to use specific
* middles that they also control, to allow safe live-network
* experimentation with new padding machines. */
-  V(MiddleNodes, ROUTERSET, NULL),
+  V_D(MiddleNodes,   ROUTERSET, NULL),
   V(ExitPolicy,  LINELIST, NULL),
   V(ExitPolicyRejectPrivate, BOOL, "1"),
   V(ExitPolicyRejectLocalInterfaces, BOOL, "0"),
@@ -507,8 +529,8 @@ static config_var_t option_vars_[] = {
   V(Socks5ProxyPassword, STRING,   NULL),
   VAR("KeyDirectory",

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

2019-08-22 Thread translation
commit 74396567104fd0dc8fe847c47a63a9aa9a425eff
Author: Translation commit bot 
Date:   Thu Aug 22 20:00:07 2019 +

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

diff --git a/contents+pt-BR.po b/contents+pt-BR.po
index 227e6f0fa..d04b99286 100644
--- a/contents+pt-BR.po
+++ b/contents+pt-BR.po
@@ -6,11 +6,11 @@
 # Greg Strider , 2019
 # Emma Peel, 2019
 # Eduardo Addad de Oliveira , 2019
-# Chacal E., 2019
 # Communia , 2019
 # erinm, 2019
 # Alexei Gonçalves de Oliveira , 2019
 # Cy Belle , 2019
+# Chacal E., 2019
 # 
 msgid ""
 msgstr ""
@@ -18,7 +18,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2019-08-21 12:22+CET\n"
 "PO-Revision-Date: 2018-10-02 22:41+\n"
-"Last-Translator: Cy Belle , 2019\n"
+"Last-Translator: Chacal E., 2019\n"
 "Language-Team: Portuguese (Brazil) 
(https://www.transifex.com/otf/teams/1519/pt_BR/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"

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


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

2019-08-22 Thread translation
commit cf54f74cfcac11c460d381c6bb0611595bbe7809
Author: Translation commit bot 
Date:   Thu Aug 22 19:59:52 2019 +

Update translations for support-portal
---
 contents+fr.po| 10 +-
 contents+pt-BR.po | 10 +-
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/contents+fr.po b/contents+fr.po
index 1e5b033e6..8f0da3dbf 100644
--- a/contents+fr.po
+++ b/contents+fr.po
@@ -3,8 +3,8 @@
 # Emma Peel, 2019
 # David Georges, 2019
 # Curtis Baltimore , 2019
-# AO , 2019
 # erinm, 2019
+# AO , 2019
 # 
 msgid ""
 msgstr ""
@@ -12,7 +12,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2019-08-21 12:22+CET\n"
 "PO-Revision-Date: 2018-10-02 22:41+\n"
-"Last-Translator: erinm, 2019\n"
+"Last-Translator: AO , 2019\n"
 "Language-Team: French (https://www.transifex.com/otf/teams/1519/fr/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -6564,15 +6564,15 @@ msgstr "Sujets"
 
 #: templates/macros/question.html:12
 msgid "Contributors to this page:"
-msgstr ""
+msgstr "Contributeurs à cette page :"
 
 #: templates/macros/question.html:14
 msgid "Edit this page"
-msgstr ""
+msgstr "Modifier cette page"
 
 #: templates/macros/question.html:15
 msgid "Suggest Feedback"
-msgstr ""
+msgstr "Laisser une rétroaction"
 
 #: templates/macros/question.html:16
 msgid "Permalink"
diff --git a/contents+pt-BR.po b/contents+pt-BR.po
index 8732fde9a..644c21552 100644
--- a/contents+pt-BR.po
+++ b/contents+pt-BR.po
@@ -6,11 +6,11 @@
 # Greg Strider , 2019
 # Emma Peel, 2019
 # Eduardo Addad de Oliveira , 2019
-# Chacal E., 2019
 # Communia , 2019
 # erinm, 2019
 # Alexei Gonçalves de Oliveira , 2019
 # Cy Belle , 2019
+# Chacal E., 2019
 # 
 msgid ""
 msgstr ""
@@ -18,7 +18,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2019-08-21 12:22+CET\n"
 "PO-Revision-Date: 2018-10-02 22:41+\n"
-"Last-Translator: Cy Belle , 2019\n"
+"Last-Translator: Chacal E., 2019\n"
 "Language-Team: Portuguese (Brazil) 
(https://www.transifex.com/otf/teams/1519/pt_BR/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -6414,15 +6414,15 @@ msgstr "Tópicos"
 
 #: templates/macros/question.html:12
 msgid "Contributors to this page:"
-msgstr ""
+msgstr "Contribuidores para esta página:"
 
 #: templates/macros/question.html:14
 msgid "Edit this page"
-msgstr ""
+msgstr "Edite essa página"
 
 #: templates/macros/question.html:15
 msgid "Suggest Feedback"
-msgstr ""
+msgstr "Sugerir Feedback"
 
 #: templates/macros/question.html:16
 msgid "Permalink"

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


[tor-commits] [translation/tpo-web_completed] Update translations for tpo-web_completed

2019-08-22 Thread translation
commit 831d33e1d33fd5f9fa602d330073ee0caab49eb3
Author: Translation commit bot 
Date:   Thu Aug 22 19:58:44 2019 +

Update translations for tpo-web_completed
---
 contents+fr.po| 19 ---
 contents+pt-BR.po |  4 ++--
 2 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/contents+fr.po b/contents+fr.po
index 990c3c358..a8be8fe52 100644
--- a/contents+fr.po
+++ b/contents+fr.po
@@ -362,11 +362,20 @@ msgid ""
 "Defense Advanced Research Projects Agency (DARPA); and the Media Democracy "
 "Fund."
 msgstr ""
+"Par le passé, le Projet Tor a obtenu des indemnités cy-près de protection 
de"
+" la vie privée distribuées par les subventions pour la protection de la vie 
"
+"privée de la Fondation Rose. L’organisme possède plus de dix ans "
+"d’expérience dans la réalisation réussie de projets avec des bailleurs 
de "
+"fonds et des partenaires aussi variés que le Secrétariat d’État des 
États-"
+"Unis, bureau de la démocratie, des droits de la personne et du travail ; 
la "
+"Fondation nationale pour la science (National Science Foundation) ; 
l’Agence"
+" pour les projets de recherche avancée de défense (DARPA) ; ainsi que le "
+"Fonds pour la démocratie des médias (Media Democracy Fund)."
 
 #: https//www.torproject.org/about/cy-pres/
 #: (content/about/cy-pres/contents+en.lrpage.body)
 msgid " Contact the Tor Project about a Cy Pres Award"
-msgstr ""
+msgstr " Contacter le Projet Tor au sujet d’une indemnité cy-près"
 
 #: https//www.torproject.org/about/cy-pres/
 #: (content/about/cy-pres/contents+en.lrpage.body)
@@ -376,6 +385,10 @@ msgid ""
 "contact Sarah Stevenson, Fundraising Director, at "
 "[ssteven...@torproject.org](mailto:ssteven...@torproject.org)."
 msgstr ""
+"Si vous souhaitez parler à quelqu’un du Projet Tor pour savoir si "
+"l’organisme peut convenir pour recevoir une indemnité cy-près, veuillez "
+"contacter Sarah Stevenson, directrice du financement, à l’adresse courriel 
"
+"[ssteven...@torproject.org]."
 
 #: https//www.torproject.org/about/cy-pres/
 #: (content/about/cy-pres/contents+en.lrpage.body)
@@ -652,8 +665,8 @@ msgid ""
 "to an uncensored internet, and Tor has become the world's strongest tool for"
 " privacy and freedom online."
 msgstr ""
-"Nous, chez le Projet Tor, nous battons tous les jours pour que tout le monde"
-" ait un accès non censuré à Internet qui protège la vie privée et les "
+"Nous, chez le Projet Tor, nous luttons tous les jours pour que tout le monde"
+" ait un accès non censuré à Internet, qui protège la vie privée et les "
 "données personnelles. Tor est devenu l’outil le plus puissant au monde en "
 "matière de vie privée et de liberté sur Internet."
 
diff --git a/contents+pt-BR.po b/contents+pt-BR.po
index 43f73b4e9..e0309ab31 100644
--- a/contents+pt-BR.po
+++ b/contents+pt-BR.po
@@ -7,12 +7,12 @@
 # Anna e só , 2019
 # Alexei Gonçalves de Oliveira , 2019
 # Danihells , 2019
-# Chacal E., 2019
 # Gus, 2019
 # Communia , 2019
 # erinm, 2019
 # Eduardo Addad de Oliveira , 2019
 # Emma Peel, 2019
+# Chacal E., 2019
 # 
 msgid ""
 msgstr ""
@@ -20,7 +20,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2019-08-14 08:34+CET\n"
 "PO-Revision-Date: 2019-03-09 10:41+\n"
-"Last-Translator: Emma Peel, 2019\n"
+"Last-Translator: Chacal E., 2019\n"
 "Language-Team: Portuguese (Brazil) 
(https://www.transifex.com/otf/teams/1519/pt_BR/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"

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


[tor-commits] [translation/tpo-web] Update translations for tpo-web

2019-08-22 Thread translation
commit 3f4ab4e131ce73a53bbab8b150c29a7b992437c4
Author: Translation commit bot 
Date:   Thu Aug 22 19:58:36 2019 +

Update translations for tpo-web
---
 contents+fr.po| 8 ++--
 contents+pt-BR.po | 7 +--
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/contents+fr.po b/contents+fr.po
index b1662da16..a8be8fe52 100644
--- a/contents+fr.po
+++ b/contents+fr.po
@@ -385,6 +385,10 @@ msgid ""
 "contact Sarah Stevenson, Fundraising Director, at "
 "[ssteven...@torproject.org](mailto:ssteven...@torproject.org)."
 msgstr ""
+"Si vous souhaitez parler à quelqu’un du Projet Tor pour savoir si "
+"l’organisme peut convenir pour recevoir une indemnité cy-près, veuillez "
+"contacter Sarah Stevenson, directrice du financement, à l’adresse courriel 
"
+"[ssteven...@torproject.org]."
 
 #: https//www.torproject.org/about/cy-pres/
 #: (content/about/cy-pres/contents+en.lrpage.body)
@@ -661,8 +665,8 @@ msgid ""
 "to an uncensored internet, and Tor has become the world's strongest tool for"
 " privacy and freedom online."
 msgstr ""
-"Nous, chez le Projet Tor, nous battons tous les jours pour que tout le monde"
-" ait un accès non censuré à Internet qui protège la vie privée et les "
+"Nous, chez le Projet Tor, nous luttons tous les jours pour que tout le monde"
+" ait un accès non censuré à Internet, qui protège la vie privée et les "
 "données personnelles. Tor est devenu l’outil le plus puissant au monde en "
 "matière de vie privée et de liberté sur Internet."
 
diff --git a/contents+pt-BR.po b/contents+pt-BR.po
index ce931d2d1..21840e1d1 100644
--- a/contents+pt-BR.po
+++ b/contents+pt-BR.po
@@ -7,12 +7,12 @@
 # Anna e só , 2019
 # Alexei Gonçalves de Oliveira , 2019
 # Danihells , 2019
-# Chacal E., 2019
 # Gus, 2019
 # Communia , 2019
 # erinm, 2019
 # Eduardo Addad de Oliveira , 2019
 # Emma Peel, 2019
+# Chacal E., 2019
 # 
 msgid ""
 msgstr ""
@@ -20,7 +20,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2019-08-14 08:34+CET\n"
 "PO-Revision-Date: 2019-03-09 10:41+\n"
-"Last-Translator: Emma Peel, 2019\n"
+"Last-Translator: Chacal E., 2019\n"
 "Language-Team: Portuguese (Brazil) 
(https://www.transifex.com/otf/teams/1519/pt_BR/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -285,6 +285,9 @@ msgid ""
 "The Tor Project is a U.S.-based 501(c)3 nonprofit founded in 2006 with the "
 "mission of advancing human rights and freedoms by:"
 msgstr ""
+"O Projeto Tor é uma organização sem fins lucrativos 501(c)3 com sede nos "
+"EUA, fundada em 2006 com a missão de promover os direitos humanos e as "
+"liberdades por meio de:"
 
 #: https//www.torproject.org/about/cy-pres/
 #: (content/about/cy-pres/contents+en.lrpage.body)

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


[tor-commits] [translation/tbmanual-contentspot_completed] Update translations for tbmanual-contentspot_completed

2019-08-22 Thread translation
commit 7cad3cfd8e18c4134d66a5cb9ff10346f487ac52
Author: Translation commit bot 
Date:   Thu Aug 22 19:55:52 2019 +

Update translations for tbmanual-contentspot_completed
---
 contents+fr.po | 16 
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/contents+fr.po b/contents+fr.po
index 4aa97ca4b..46dbca009 100644
--- a/contents+fr.po
+++ b/contents+fr.po
@@ -2,8 +2,8 @@
 # Thomas Prévost , 2019
 # Curtis Baltimore , 2019
 # erinm, 2019
-# AO , 2019
 # Emma Peel, 2019
+# AO , 2019
 # 
 msgid ""
 msgstr ""
@@ -11,7 +11,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2019-08-15 12:39+CET\n"
 "PO-Revision-Date: 2018-11-14 12:31+\n"
-"Last-Translator: Emma Peel, 2019\n"
+"Last-Translator: AO , 2019\n"
 "Language-Team: French (https://www.transifex.com/otf/teams/1519/fr/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -61,7 +61,7 @@ msgstr "Greffons"
 #: https//tb-manual.torproject.org/menu/
 #: (content/menu/contents+en.lrtopic.body)
 msgid "Becoming a Tor translator"
-msgstr ""
+msgstr "Devenir traducteur de Tor"
 
 #: https//tb-manual.torproject.org/menu/
 #: (content/menu/contents+en.lrtopic.body)
@@ -1322,7 +1322,7 @@ msgstr ""
 #: https//tb-manual.torproject.org/onion-services/
 #: (content/onion-services/contents+en.lrtopic.body)
 msgid "# How to access an onion service"
-msgstr ""
+msgstr "# Accéder à un service onion"
 
 #: https//tb-manual.torproject.org/onion-services/
 #: (content/onion-services/contents+en.lrtopic.body)
@@ -1354,7 +1354,7 @@ msgstr ""
 #: https//tb-manual.torproject.org/onion-services/
 #: (content/onion-services/contents+en.lrtopic.body)
 msgid "# Troubleshooting"
-msgstr ""
+msgstr "# Dépannage"
 
 #: https//tb-manual.torproject.org/onion-services/
 #: (content/onion-services/contents+en.lrtopic.body)
@@ -2641,15 +2641,15 @@ msgstr "Sujets"
 
 #: templates/macros/topic.html:19
 msgid "Contributors to this page:"
-msgstr ""
+msgstr "Contributeurs à cette page :"
 
 #: templates/macros/topic.html:21
 msgid "Edit this page"
-msgstr ""
+msgstr "Modifier cette page"
 
 #: templates/macros/topic.html:22
 msgid "Suggest Feedback"
-msgstr ""
+msgstr "Laisser une rétroaction"
 
 #: templates/macros/topic.html:23
 msgid "Permalink"

___
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-08-22 Thread translation
commit 2880987b2dc32c569235e08bbb1f3ae2da361e6b
Author: Translation commit bot 
Date:   Thu Aug 22 19:55:39 2019 +

Update translations for tbmanual-contentspot
---
 contents+fr.po| 10 +-
 contents+pt-BR.po |  6 +++---
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/contents+fr.po b/contents+fr.po
index 093260488..46dbca009 100644
--- a/contents+fr.po
+++ b/contents+fr.po
@@ -2,8 +2,8 @@
 # Thomas Prévost , 2019
 # Curtis Baltimore , 2019
 # erinm, 2019
-# AO , 2019
 # Emma Peel, 2019
+# AO , 2019
 # 
 msgid ""
 msgstr ""
@@ -11,7 +11,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2019-08-15 12:39+CET\n"
 "PO-Revision-Date: 2018-11-14 12:31+\n"
-"Last-Translator: Emma Peel, 2019\n"
+"Last-Translator: AO , 2019\n"
 "Language-Team: French (https://www.transifex.com/otf/teams/1519/fr/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -2641,15 +2641,15 @@ msgstr "Sujets"
 
 #: templates/macros/topic.html:19
 msgid "Contributors to this page:"
-msgstr ""
+msgstr "Contributeurs à cette page :"
 
 #: templates/macros/topic.html:21
 msgid "Edit this page"
-msgstr ""
+msgstr "Modifier cette page"
 
 #: templates/macros/topic.html:22
 msgid "Suggest Feedback"
-msgstr ""
+msgstr "Laisser une rétroaction"
 
 #: templates/macros/topic.html:23
 msgid "Permalink"
diff --git a/contents+pt-BR.po b/contents+pt-BR.po
index 95d35081c..db8dcec03 100644
--- a/contents+pt-BR.po
+++ b/contents+pt-BR.po
@@ -2600,15 +2600,15 @@ msgstr "Tópicos"
 
 #: templates/macros/topic.html:19
 msgid "Contributors to this page:"
-msgstr ""
+msgstr "Contribuidores para esta página:"
 
 #: templates/macros/topic.html:21
 msgid "Edit this page"
-msgstr ""
+msgstr "Edite essa página"
 
 #: templates/macros/topic.html:22
 msgid "Suggest Feedback"
-msgstr ""
+msgstr "Sugerir Feedback"
 
 #: templates/macros/topic.html:23
 msgid "Permalink"

___
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-08-22 Thread translation
commit f2d8ce6fd795b3835d42388bb58edb525573e0bd
Author: Translation commit bot 
Date:   Thu Aug 22 19:45:43 2019 +

Update translations for donatepages-messagespot_completed
---
 locale/fr/LC_MESSAGES/messages.po | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/locale/fr/LC_MESSAGES/messages.po 
b/locale/fr/LC_MESSAGES/messages.po
index 3a1605e3d..40ff9a6c2 100644
--- a/locale/fr/LC_MESSAGES/messages.po
+++ b/locale/fr/LC_MESSAGES/messages.po
@@ -1013,12 +1013,12 @@ msgid ""
 msgstr ""
 "Des milliers de personnes ont fait des dons pour soutenir le Projet Tor, et "
 "nous avons aussi reçu des fonds d’un large éventail d’organismes tels 
que "
-"Google, la Fondation Ford, la Fondation Knight, Reddit, la « National "
-"Science Foundation » des États-Unis, la Fondation Frontière 
Électronique, "
-"Human Rights Watch, l’Agence suédoise de coopération internationale au "
-"développement, le Ministère fédéral allemand des Affaires étrangères, 
le "
-"Laboratoire de recherche naval états-unien, Omidyar Network, SRI "
-"International, Radio Free Asia."
+"Google, la Fondation Ford, la Fondation Knight, Reddit, la Fondation "
+"nationale pour la science (National Science Foundation) des États-Unis, la "
+"Fondation Frontière Électronique, Human Rights Watch, l’Agence suédoise 
de "
+"coopération internationale au développement, le Ministère fédéral 
allemand "
+"des Affaires étrangères, le Laboratoire de recherche naval états-unien, "
+"Omidyar Network, SRI International, Radio Free Asia."
 
 #: 
tmp/cache_locale/7d/7d56367a61f987367eeb2a89d0c6db83fd0801cce86278bf7e99ed39b5b46254.php:150
 msgid ""

___
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-08-22 Thread translation
commit fb7949decbaeee7f5058e8e9da03db0cb2794709
Author: Translation commit bot 
Date:   Thu Aug 22 19:45:36 2019 +

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

diff --git a/locale/fr/LC_MESSAGES/messages.po 
b/locale/fr/LC_MESSAGES/messages.po
index 3a1605e3d..40ff9a6c2 100644
--- a/locale/fr/LC_MESSAGES/messages.po
+++ b/locale/fr/LC_MESSAGES/messages.po
@@ -1013,12 +1013,12 @@ msgid ""
 msgstr ""
 "Des milliers de personnes ont fait des dons pour soutenir le Projet Tor, et "
 "nous avons aussi reçu des fonds d’un large éventail d’organismes tels 
que "
-"Google, la Fondation Ford, la Fondation Knight, Reddit, la « National "
-"Science Foundation » des États-Unis, la Fondation Frontière 
Électronique, "
-"Human Rights Watch, l’Agence suédoise de coopération internationale au "
-"développement, le Ministère fédéral allemand des Affaires étrangères, 
le "
-"Laboratoire de recherche naval états-unien, Omidyar Network, SRI "
-"International, Radio Free Asia."
+"Google, la Fondation Ford, la Fondation Knight, Reddit, la Fondation "
+"nationale pour la science (National Science Foundation) des États-Unis, la "
+"Fondation Frontière Électronique, Human Rights Watch, l’Agence suédoise 
de "
+"coopération internationale au développement, le Ministère fédéral 
allemand "
+"des Affaires étrangères, le Laboratoire de recherche naval états-unien, "
+"Omidyar Network, SRI International, Radio Free Asia."
 
 #: 
tmp/cache_locale/7d/7d56367a61f987367eeb2a89d0c6db83fd0801cce86278bf7e99ed39b5b46254.php:150
 msgid ""

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


[tor-commits] [translation/tpo-web_completed] Update translations for tpo-web_completed

2019-08-22 Thread translation
commit 3c6ce02e5f1864b2a4e46abeb874655407d69063
Author: Translation commit bot 
Date:   Thu Aug 22 19:28:29 2019 +

Update translations for tpo-web_completed
---
 contents+fr.po | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/contents+fr.po b/contents+fr.po
index d89cf94fc..990c3c358 100644
--- a/contents+fr.po
+++ b/contents+fr.po
@@ -665,11 +665,11 @@ msgid ""
 "is [deeply committed](https://blog.torproject.org/tor-social-contract) to "
 "transparency and the safety of its users."
 msgstr ""
-"Mais Tor est bien plus que juste un logiciel. Il est produit avec amour par "
-"une communauté internationale de gens dévoués aux droits de la personne. 
Le "
-"projet Tor est [fortement engagé](https://blog.torproject.org/tor-social-;
-"contract) (page en anglais) dans la transparence ainsi que dans la sécurité 
"
-"de ses utilisateurs."
+"Mais Tor est bien plus que juste des logiciels. Tor est produit avec amour "
+"par une communauté internationale de gens dévoués aux droits de la 
personne."
+" Le Projet Tor est [fortement engagé](https://blog.torproject.org/tor-;
+"social-contract) (page en anglais) dans la transparence, ainsi que dans la "
+"sécurité de ses utilisateurs."
 
 #: https//www.torproject.org/about/people/
 #: (content/about/people/contents+en.lrpeople.title)

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


[tor-commits] [translation/tpo-web] Update translations for tpo-web

2019-08-22 Thread translation
commit 0afebd24b72f6595479badd333596d3254c53f2d
Author: Translation commit bot 
Date:   Thu Aug 22 19:28:20 2019 +

Update translations for tpo-web
---
 contents+fr.po | 21 +++--
 1 file changed, 15 insertions(+), 6 deletions(-)

diff --git a/contents+fr.po b/contents+fr.po
index d89cf94fc..b1662da16 100644
--- a/contents+fr.po
+++ b/contents+fr.po
@@ -362,11 +362,20 @@ msgid ""
 "Defense Advanced Research Projects Agency (DARPA); and the Media Democracy "
 "Fund."
 msgstr ""
+"Par le passé, le Projet Tor a obtenu des indemnités cy-près de protection 
de"
+" la vie privée distribuées par les subventions pour la protection de la vie 
"
+"privée de la Fondation Rose. L’organisme possède plus de dix ans "
+"d’expérience dans la réalisation réussie de projets avec des bailleurs 
de "
+"fonds et des partenaires aussi variés que le Secrétariat d’État des 
États-"
+"Unis, bureau de la démocratie, des droits de la personne et du travail ; 
la "
+"Fondation nationale pour la science (National Science Foundation) ; 
l’Agence"
+" pour les projets de recherche avancée de défense (DARPA) ; ainsi que le "
+"Fonds pour la démocratie des médias (Media Democracy Fund)."
 
 #: https//www.torproject.org/about/cy-pres/
 #: (content/about/cy-pres/contents+en.lrpage.body)
 msgid " Contact the Tor Project about a Cy Pres Award"
-msgstr ""
+msgstr " Contacter le Projet Tor au sujet d’une indemnité cy-près"
 
 #: https//www.torproject.org/about/cy-pres/
 #: (content/about/cy-pres/contents+en.lrpage.body)
@@ -665,11 +674,11 @@ msgid ""
 "is [deeply committed](https://blog.torproject.org/tor-social-contract) to "
 "transparency and the safety of its users."
 msgstr ""
-"Mais Tor est bien plus que juste un logiciel. Il est produit avec amour par "
-"une communauté internationale de gens dévoués aux droits de la personne. 
Le "
-"projet Tor est [fortement engagé](https://blog.torproject.org/tor-social-;
-"contract) (page en anglais) dans la transparence ainsi que dans la sécurité 
"
-"de ses utilisateurs."
+"Mais Tor est bien plus que juste des logiciels. Tor est produit avec amour "
+"par une communauté internationale de gens dévoués aux droits de la 
personne."
+" Le Projet Tor est [fortement engagé](https://blog.torproject.org/tor-;
+"social-contract) (page en anglais) dans la transparence, ainsi que dans la "
+"sécurité de ses utilisateurs."
 
 #: https//www.torproject.org/about/people/
 #: (content/about/people/contents+en.lrpeople.title)

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


[tor-commits] [translation/tpo-web_completed] Update translations for tpo-web_completed

2019-08-22 Thread translation
commit 1c3916d5d572ec062da9329752444cc188378314
Author: Translation commit bot 
Date:   Thu Aug 22 18:59:07 2019 +

Update translations for tpo-web_completed
---
 contents+fr.po | 17 +++--
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/contents+fr.po b/contents+fr.po
index 79081d124..d89cf94fc 100644
--- a/contents+fr.po
+++ b/contents+fr.po
@@ -2,9 +2,8 @@
 # Martus Translations , 2019
 # ducki2p , 2019
 # Emma Peel, 2019
-# erinm, 2019
-# David Georges, 2019
 # Curtis Baltimore , 2019
+# erinm, 2019
 # AO , 2019
 # 
 msgid ""
@@ -381,12 +380,14 @@ msgstr ""
 #: https//www.torproject.org/about/cy-pres/
 #: (content/about/cy-pres/contents+en.lrpage.body)
 msgid " Further Reading"
-msgstr ""
+msgstr " Lectures complémentaires"
 
 #: https//www.torproject.org/about/cy-pres/
 #: (content/about/cy-pres/contents+en.lrpage.body)
 msgid "- [The Tor Project in the Media](https://www.torproject.org/press/)"
 msgstr ""
+"– [Le Projet Tor dans l’espace "
+"médiatique](https://www.torproject.org/fr/press/)"
 
 #: https//www.torproject.org/about/cy-pres/
 #: (content/about/cy-pres/contents+en.lrpage.body)
@@ -394,6 +395,8 @@ msgid ""
 "- [The Tor Project Financial "
 "Reports](https://www.torproject.org/about/reports/)"
 msgstr ""
+"– [Les rapports financiers du Projet "
+"Tor](https://www.torproject.org/fr/about/reports/)"
 
 #: https//www.torproject.org/about/cy-pres/
 #: (content/about/cy-pres/contents+en.lrpage.body)
@@ -401,6 +404,8 @@ msgid ""
 "- [The Tor Project Board Members and "
 "Staff](https://www.torproject.org/about/people/)"
 msgstr ""
+"– [Les membres du conseil d’administration et les employés du Projet "
+"Tor](https://www.torproject.org/fr/about/people/)"
 
 #: https//www.torproject.org/about/history/
 #: (content/about/history/contents+en.lrpage.body)
@@ -797,7 +802,7 @@ msgstr ""
 
 #: lego/templates/footer.html:54 templates/footer.html:54
 msgid "Subscribe to our Newsletter"
-msgstr ""
+msgstr "S’abonner à notre lettre d’information"
 
 #: lego/templates/footer.html:55 templates/footer.html:55
 msgid "Get monthly updates and opportunities from the Tor Project:"
@@ -807,7 +812,7 @@ msgstr ""
 
 #: lego/templates/footer.html:56 templates/footer.html:56
 msgid "Sign up"
-msgstr ""
+msgstr "S’abonner"
 
 #: lego/templates/footer.html:75 templates/footer.html:75
 #, python-format
@@ -1027,7 +1032,7 @@ msgstr "Portail d’assistance"
 
 #: templates/download.html:14
 msgid "Read other FAQs at our Support Portal"
-msgstr ""
+msgstr "Consulter d’autres FAQ sur notre portail d’assistance"
 
 #: templates/download.html:19 templates/download.html:21
 msgid "Stay safe"

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


[tor-commits] [translation/tpo-web] Update translations for tpo-web

2019-08-22 Thread translation
commit b6a5dec3b14c5e4f4c0bc4af852a5f5a9654f480
Author: Translation commit bot 
Date:   Thu Aug 22 18:58:55 2019 +

Update translations for tpo-web
---
 contents+fr.po | 19 ++-
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/contents+fr.po b/contents+fr.po
index 5142ab13e..d89cf94fc 100644
--- a/contents+fr.po
+++ b/contents+fr.po
@@ -2,9 +2,8 @@
 # Martus Translations , 2019
 # ducki2p , 2019
 # Emma Peel, 2019
-# erinm, 2019
-# David Georges, 2019
 # Curtis Baltimore , 2019
+# erinm, 2019
 # AO , 2019
 # 
 msgid ""
@@ -381,12 +380,14 @@ msgstr ""
 #: https//www.torproject.org/about/cy-pres/
 #: (content/about/cy-pres/contents+en.lrpage.body)
 msgid " Further Reading"
-msgstr " Autres lectures"
+msgstr " Lectures complémentaires"
 
 #: https//www.torproject.org/about/cy-pres/
 #: (content/about/cy-pres/contents+en.lrpage.body)
 msgid "- [The Tor Project in the Media](https://www.torproject.org/press/)"
-msgstr "- [Le Projet Tor dans les médias](https://www.torproject.org/press/)"
+msgstr ""
+"– [Le Projet Tor dans l’espace "
+"médiatique](https://www.torproject.org/fr/press/)"
 
 #: https//www.torproject.org/about/cy-pres/
 #: (content/about/cy-pres/contents+en.lrpage.body)
@@ -394,8 +395,8 @@ msgid ""
 "- [The Tor Project Financial "
 "Reports](https://www.torproject.org/about/reports/)"
 msgstr ""
-"- [Le rapport financier du Projet "
-"Tor](https://www.torproject.org/about/reports/)"
+"– [Les rapports financiers du Projet "
+"Tor](https://www.torproject.org/fr/about/reports/)"
 
 #: https//www.torproject.org/about/cy-pres/
 #: (content/about/cy-pres/contents+en.lrpage.body)
@@ -403,8 +404,8 @@ msgid ""
 "- [The Tor Project Board Members and "
 "Staff](https://www.torproject.org/about/people/)"
 msgstr ""
-"- [Le Projet Tor Membres et personnel de "
-"l'Office](https://www.torproject.org/about/people/)"
+"– [Les membres du conseil d’administration et les employés du Projet "
+"Tor](https://www.torproject.org/fr/about/people/)"
 
 #: https//www.torproject.org/about/history/
 #: (content/about/history/contents+en.lrpage.body)
@@ -1031,7 +1032,7 @@ msgstr "Portail d’assistance"
 
 #: templates/download.html:14
 msgid "Read other FAQs at our Support Portal"
-msgstr "Lisez d’autres FAQ sur notre portail d’assistance"
+msgstr "Consulter d’autres FAQ sur notre portail d’assistance"
 
 #: templates/download.html:19 templates/download.html:21
 msgid "Stay safe"

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


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

2019-08-22 Thread translation
commit a572bc00a5fdc4c3be9270c61f0c18ff110c89ca
Author: Translation commit bot 
Date:   Thu Aug 22 17:46:56 2019 +

Update translations for torcheck_completed
---
 ar/torcheck.po| 108 --
 bn/torcheck.po|  99 --
 ca/torcheck.po| 103 
 cs/torcheck.po| 104 
 da/torcheck.po| 102 ---
 de/torcheck.po| 116 --
 el/torcheck.po| 106 -
 en_GB/torcheck.po |  96 
 fa/torcheck.po| 106 -
 is/torcheck.po|  95 
 it/torcheck.po| 111 ---
 ja/torcheck.po| 104 
 ka/torcheck.po|  97 -
 lt/torcheck.po|  97 -
 ms_MY/torcheck.po |  98 -
 nb/torcheck.po| 104 
 nl/torcheck.po| 108 --
 pl/torcheck.po| 102 ---
 pt_BR/torcheck.po | 107 -
 pt_PT/torcheck.po |  97 -
 ro/torcheck.po| 102 ---
 ru/torcheck.po| 112 
 sk/torcheck.po| 101 ---
 sv/torcheck.po| 105 
 sw/torcheck.po|  95 
 uk/torcheck.po| 101 ---
 zh_TW/torcheck.po | 102 ---
 27 files changed, 2778 deletions(-)

diff --git a/ar/torcheck.po b/ar/torcheck.po
deleted file mode 100644
index 45381f088..0
--- a/ar/torcheck.po
+++ /dev/null
@@ -1,108 +0,0 @@
-# TorCheck gettext template
-# Copyright (C) 2008-2013 The Tor Project, Inc
-# 
-# Translators:
-# Ahmed IB , 2019
-# Asim Jaweesh , 2014
-# ButterflyOfFire, 2019
-# ButterflyOfFire, 2018
-# Emma Peel, 2019
-# guessous.uni , 2014
-# lamine Kacimi , 2015
-# Khaled Hosny, 2018
-# Mark Zaki , 2015
-# Mohammed ALDOUB , 2012
-# Mohammed ALDOUB , 2012
-# OsamaK , 2011
-# ouss , 2016
-# Sherief Alaa , 2013-2014
-msgid ""
-msgstr ""
-"Project-Id-Version: Tor Project\n"
-"POT-Creation-Date: 2012-02-16 20:28+PDT\n"
-"PO-Revision-Date: 2019-07-17 18:33+\n"
-"Last-Translator: Ahmed IB \n"
-"Language-Team: Arabic 
(http://www.transifex.com/otf/torproject/language/ar/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: pygettext.py 1.5\n"
-"Language: ar\n"
-"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && 
n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
-
-msgid "Congratulations. This browser is configured to use Tor."
-msgstr "تهانينا. متصفحك مضبوط لأستخدام تور."
-
-msgid ""
-"Please refer to the https://www.torproject.org/\;>Tor website "
-"for further information about using Tor safely.  You are now free to browse "
-"the Internet anonymously."
-msgstr "الرجاء الرجوع إلي https://www.torproject.org/\;>موقع تور للمزيد من 
المعلومات حول استخدام تور بآمان. يمكنك الان 
استخدام شبكة الانترنت بخصوصية. "
-
-msgid "There is a security update available for Tor Browser."
-msgstr "هناك تحديث أمني متوفر لحزمة متصفح تور."
-
-msgid ""
-"https://www.torproject.org/download/\;>Click here to go to the "
-"download page"
-msgstr "https://www.torproject.org/download\;>اضغط هنا 
للذهاب لصفحة التحميل"
-
-msgid "Sorry. You are not using Tor."
-msgstr "عفواً. أنت لا تستخدم تور."
-
-msgid ""
-"If you are attempting to use a Tor client, please refer to the https://www.torproject.org/\;>Tor website and specifically the https://support.torproject.org/#faq\;>frequently asked "
-"questions."
-msgstr "إذا كنت تحاول استخدام عميل Tor. الرجاء 
الرجوع إلى https://www.torproject.org/\;>موقع 
الوِبْ الخاص ب Tor وتحديدا قسم https://support.torproject.org/#faq\;>الأسئلة الأكثر 
شيوعا."
-
-msgid "Sorry, your query failed or an unexpected response was received."
-msgstr "عذراً، لقد فشل طلبك أو تم تلقي رد غير م
توقع."
-
-msgid "Your IP address 

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

2019-08-22 Thread translation
commit 16523fe7a57dac1a0200c588646d38fe56185ff8
Author: Translation commit bot 
Date:   Thu Aug 22 17:46:37 2019 +

Update translations for torbutton-securitylevelproperties_completed
---
 en/securitylevel.properties | 44 ++--
 1 file changed, 22 insertions(+), 22 deletions(-)

diff --git a/en/securitylevel.properties b/en/securitylevel.properties
index 1b941b5c7..f9f963ebe 100644
--- a/en/securitylevel.properties
+++ b/en/securitylevel.properties
@@ -1,22 +1,22 @@
-securityLevel.securityLevel = Security Level
-securityLevel.customWarning = Custom
-securityLevel.overview = Disable certain web features that can be used to 
attack your security and anonymity.
-securityLevel.standard.level = Standard
-securityLevel.standard.tooltip = Security Level : Standard
-securityLevel.standard.summary = All Tor Browser and website features are 
enabled.
-securityLevel.safer.level = Safer
-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), 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.
-securityLevel.safest.description1 = JavaScript is disabled by default on all 
sites.
-securityLevel.safest.description2 = Some fonts, icons, math symbols, and 
images are disabled.
-securityLevel.safest.description3 = Audio and video (HTML5 media) are 
click-to-play.
-securityLevel.custom.summary = Your custom browser preferences have resulted 
in unusual security settings. For security and privacy reasons, we recommend 
you choose one of the default security levels.
-securityLevel.learnMore = Learn more
-securityLevel.restoreDefaults = Restore Defaults
-securityLevel.advancedSecuritySettings = Advanced Security Settings…
+# securityLevel.securityLevel = Security Level
+# securityLevel.customWarning = Custom
+# securityLevel.overview = Disable certain web features that can be used to 
attack your security and anonymity.
+# securityLevel.standard.level = Standard
+# securityLevel.standard.tooltip = Security Level : Standard
+# securityLevel.standard.summary = All Tor Browser and website features are 
enabled.
+# securityLevel.safer.level = Safer
+# 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), 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.
+# securityLevel.safest.description1 = JavaScript is disabled by default on all 
sites.
+# securityLevel.safest.description2 = Some fonts, icons, math symbols, and 
images are disabled.
+# securityLevel.safest.description3 = Audio and video (HTML5 media) are 
click-to-play.
+# securityLevel.custom.summary = Your custom browser preferences have resulted 
in unusual security settings. For security and privacy reasons, we recommend 
you choose one of the default security levels.
+# securityLevel.learnMore = Learn more
+# securityLevel.restoreDefaults = Restore Defaults
+# securityLevel.advancedSecuritySettings = Advanced Security Settings…

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


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

2019-08-22 Thread translation
commit c1acfe413763dc6addc0f0c218c5d9d7f977b1ba
Author: Translation commit bot 
Date:   Thu Aug 22 17:46:26 2019 +

Update translations for torbutton-browseronboardingproperties_completed
---
 en/browserOnboarding.properties | 106 
 1 file changed, 53 insertions(+), 53 deletions(-)

diff --git a/en/browserOnboarding.properties b/en/browserOnboarding.properties
index e529a9b99..2cfe67e07 100644
--- a/en/browserOnboarding.properties
+++ b/en/browserOnboarding.properties
@@ -2,70 +2,70 @@
 # See LICENSE for licensing information.
 # vim: set sw=2 sts=2 ts=8 et:
 
-onboarding.tour-tor-welcome=Welcome
-onboarding.tour-tor-welcome.title=You’re ready.
-onboarding.tour-tor-welcome.description=Tor Browser offers the highest 
standard of privacy and security while browsing the web. You’re now protected 
against tracking, surveillance, and censorship. This quick onboarding will show 
you how.
-onboarding.tour-tor-welcome.next-button=Go to Privacy
+# onboarding.tour-tor-welcome=Welcome
+# onboarding.tour-tor-welcome.title=You’re ready.
+# onboarding.tour-tor-welcome.description=Tor Browser offers the highest 
standard of privacy and security while browsing the web. You’re now protected 
against tracking, surveillance, and censorship. This quick onboarding will show 
you how.
+# onboarding.tour-tor-welcome.next-button=Go to Privacy
 
-onboarding.tour-tor-privacy=Privacy
-onboarding.tour-tor-privacy.title=Snub trackers and snoopers.
-onboarding.tour-tor-privacy.description=Tor Browser isolates cookies and 
deletes your browser history after your session. These modifications ensure 
your privacy and security are protected in the browser. Click ‘Tor Network’ 
to learn how we protect you on the network level.
-onboarding.tour-tor-privacy.button=Go to Tor Network
+# onboarding.tour-tor-privacy=Privacy
+# onboarding.tour-tor-privacy.title=Snub trackers and snoopers.
+# onboarding.tour-tor-privacy.description=Tor Browser isolates cookies and 
deletes your browser history after your session. These modifications ensure 
your privacy and security are protected in the browser. Click ‘Tor Network’ 
to learn how we protect you on the network level.
+# onboarding.tour-tor-privacy.button=Go to Tor Network
 
-onboarding.tour-tor-network=Tor Network
-onboarding.tour-tor-network.title=Travel a decentralized network.
-onboarding.tour-tor-network.description=Tor Browser connects you to the Tor 
network run by thousands of volunteers around the world. Unlike a VPN, 
there’s no one point of failure or centralized entity you need to trust in 
order to enjoy the internet privately.
-onboarding.tour-tor-network.button=Go to Circuit Display
+# onboarding.tour-tor-network=Tor Network
+# onboarding.tour-tor-network.title=Travel a decentralized network.
+# onboarding.tour-tor-network.description=Tor Browser connects you to the Tor 
network run by thousands of volunteers around the world. Unlike a VPN, 
there’s no one point of failure or centralized entity you need to trust in 
order to enjoy the internet privately.
+# onboarding.tour-tor-network.button=Go to Circuit Display
 
-onboarding.tour-tor-circuit-display=Circuit Display
-onboarding.tour-tor-circuit-display.title=See your path.
-onboarding.tour-tor-circuit-display.description=For each domain you visit, 
your traffic is relayed and encrypted in a circuit across three Tor relays 
around the world. No website knows where you are connecting from. You can 
request a new circuit by clicking ‘New Circuit for this Site’ on our 
Circuit Display.
-onboarding.tour-tor-circuit-display.button=See My Path
-onboarding.tour-tor-circuit-display.next-button=Go to Security
+# onboarding.tour-tor-circuit-display=Circuit Display
+# onboarding.tour-tor-circuit-display.title=See your path.
+# onboarding.tour-tor-circuit-display.description=For each domain you visit, 
your traffic is relayed and encrypted in a circuit across three Tor relays 
around the world. No website knows where you are connecting from. You can 
request a new circuit by clicking ‘New Circuit for this Site’ on our 
Circuit Display.
+# onboarding.tour-tor-circuit-display.button=See My Path
+# onboarding.tour-tor-circuit-display.next-button=Go to Security
 
-onboarding.tour-tor-security=Security
-onboarding.tour-tor-security.title=Choose your experience.
-onboarding.tour-tor-security.description=We also provide you with additional 
settings for bumping up your browser security. Our Security Settings allow you 
to block elements that could be used to attack your computer. Click below to 
see what the different options do.
-onboarding.tour-tor-security.description-suffix=Note: By default, NoScript and 
HTTPS Everywhere are not included on the toolbar, but you can customize your 
toolbar to add them.
-onboarding.tour-tor-security-level.button=See Your Security Level
-onboarding.tour-tor-security-level.next-button=Go to Experience Tips
+# 

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

2019-08-22 Thread translation
commit 79caff1222536090df50cb282fb6b911ae81b1de
Author: Translation commit bot 
Date:   Thu Aug 22 17:46:16 2019 +

Update translations for torbutton-abouttbupdatedtd_completed
---
 en/abouttbupdate.dtd | 16 
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/en/abouttbupdate.dtd b/en/abouttbupdate.dtd
index 2d1e59b40..98171bee9 100644
--- a/en/abouttbupdate.dtd
+++ b/en/abouttbupdate.dtd
@@ -1,8 +1,8 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+

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


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

2019-08-22 Thread translation
commit 9d22e818e14240e9521c2c2ebc0e4d2b15e6d5bf
Author: Translation commit bot 
Date:   Thu Aug 22 17:46:06 2019 +

Update translations for torbutton-aboutdialogdtd_completed
---
 en/aboutdialog.dtd | 24 
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/en/aboutdialog.dtd b/en/aboutdialog.dtd
index 844f4e070..64469f934 100644
--- a/en/aboutdialog.dtd
+++ b/en/aboutdialog.dtd
@@ -1,19 +1,19 @@
-
+
 
-
-
+
+
 
-
+
 
-
-
+
+
 
-
-
+
+
 
-
+
 
-
+
 
-
-
+
+

___
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-08-22 Thread translation
commit 9fc43a40ba170fac7b900701bedc5462b81b1182
Author: Translation commit bot 
Date:   Thu Aug 22 17:45:56 2019 +

Update translations for torbutton-torbuttondtd_completed
---
 en/torbutton.dtd | 82 
 1 file changed, 41 insertions(+), 41 deletions(-)

diff --git a/en/torbutton.dtd b/en/torbutton.dtd
index 2e106f60f..4a80e6d6c 100644
--- a/en/torbutton.dtd
+++ b/en/torbutton.dtd
@@ -1,41 +1,41 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

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


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

2019-08-22 Thread translation
commit a8d50a467bcd57d053b7c124981bf89e2d8946a3
Author: Translation commit bot 
Date:   Thu Aug 22 17:45:46 2019 +

Update translations for torbutton-torbuttonproperties_completed
---
 en/torbutton.properties | 94 -
 1 file changed, 47 insertions(+), 47 deletions(-)

diff --git a/en/torbutton.properties b/en/torbutton.properties
index ea7a7d630..92ed111d8 100644
--- a/en/torbutton.properties
+++ b/en/torbutton.properties
@@ -1,60 +1,60 @@
-torbutton.circuit_display.internet = Internet
-torbutton.circuit_display.ip_unknown = IP unknown
-torbutton.circuit_display.onion_site = Onion site
-torbutton.circuit_display.this_browser = This browser
-torbutton.circuit_display.relay = Relay
-torbutton.circuit_display.tor_bridge = Bridge
-torbutton.circuit_display.unknown_country = Unknown country
-torbutton.circuit_display.guard = Guard
-torbutton.circuit_display.guard_note = Your [Guard] node may not change.
-torbutton.circuit_display.learn_more = Learn more
-torbutton.content_sizer.margin_tooltip = Tor Browser adds this margin to make 
the width and height of your window less distinctive, and thus reduces the 
ability of people to track you online.
-torbutton.panel.tooltip.disabled = Click to enable Tor
-torbutton.panel.tooltip.enabled = Click to disable Tor
-torbutton.panel.label.disabled = Tor Disabled
-torbutton.panel.label.enabled = Tor Enabled
-extensions.torbut...@torproject.org.description = Torbutton provides a button 
to configure Tor settings and quickly and easily clear private browsing data.
-torbutton.popup.external.title = Download an external file type?
-torbutton.popup.external.app = Tor Browser cannot display this file. You will 
need to open it with another application.\n\n
-torbutton.popup.external.note = Some types of files can cause applications to 
connect to the Internet without using Tor.\n\n
-torbutton.popup.external.suggest = To be safe, you should only open downloaded 
files while offline, or use a Tor Live CD such as Tails.\n
-torbutton.popup.launch = Download file
-torbutton.popup.cancel = Cancel
-torbutton.popup.dontask = Automatically download files from now on
-torbutton.popup.no_newnym = Torbutton cannot safely give you a new identity. 
It does not have access to the Tor Control Port.\n\nAre you running Tor Browser 
Bundle?
-torbutton.security_settings.menu.title = Security Settings
-torbutton.title.prompt_torbrowser = Important Torbutton Information
-torbutton.popup.prompt_torbrowser = Torbutton works differently now: you can't 
turn it off any more.\n\nWe made this change because it isn't safe to use 
Torbutton in a browser that's also used for non-Tor browsing. There were too 
many bugs there that we couldn't fix any other way.\n\nIf you want to keep 
using Firefox normally, you should uninstall Torbutton and download Tor Browser 
Bundle. The privacy properties of Tor Browser are also superior to those of 
normal Firefox, even when Firefox is used with Torbutton.\n\nTo remove 
Torbutton, go to Tools->Addons->Extensions and then click the Remove button 
next to Torbutton.
-torbutton.popup.short_torbrowser = Important Torbutton 
Information!\n\nTorbutton is now always enabled.\n\nClick on the Torbutton for 
more information.
+# torbutton.circuit_display.internet = Internet
+# torbutton.circuit_display.ip_unknown = IP unknown
+# torbutton.circuit_display.onion_site = Onion site
+# torbutton.circuit_display.this_browser = This browser
+# torbutton.circuit_display.relay = Relay
+# torbutton.circuit_display.tor_bridge = Bridge
+# torbutton.circuit_display.unknown_country = Unknown country
+# torbutton.circuit_display.guard = Guard
+# torbutton.circuit_display.guard_note = Your [Guard] node may not change.
+# torbutton.circuit_display.learn_more = Learn more
+# torbutton.content_sizer.margin_tooltip = Tor Browser adds this margin to 
make the width and height of your window less distinctive, and thus reduces the 
ability of people to track you online.
+# torbutton.panel.tooltip.disabled = Click to enable Tor
+# torbutton.panel.tooltip.enabled = Click to disable Tor
+# torbutton.panel.label.disabled = Tor Disabled
+# torbutton.panel.label.enabled = Tor Enabled
+# extensions.torbut...@torproject.org.description = Torbutton provides a 
button to configure Tor settings and quickly and easily clear private browsing 
data.
+# torbutton.popup.external.title = Download an external file type?
+# torbutton.popup.external.app = Tor Browser cannot display this file. You 
will need to open it with another application.\n\n
+# torbutton.popup.external.note = Some types of files can cause applications 
to connect to the Internet without using Tor.\n\n
+# torbutton.popup.external.suggest = To be safe, you should only open 
downloaded files while offline, or use a Tor Live CD such as Tails.\n
+# torbutton.popup.launch = Download file
+# torbutton.popup.cancel = Cancel
+# torbutton.popup.dontask = Automatically download files from now on
+# 

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

2019-08-22 Thread translation
commit 5eee78f5920007ef581f5cafbed9cfbd8156e632
Author: Translation commit bot 
Date:   Thu Aug 22 17:45:36 2019 +

Update translations for torbutton-branddtd_completed
---
 en/brand.dtd | 18 +-
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/en/brand.dtd b/en/brand.dtd
index 3df1a084c..87b2b707a 100644
--- a/en/brand.dtd
+++ b/en/brand.dtd
@@ -2,14 +2,14 @@
- 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/. -->
 
-
-
-
-
-
+
+
+
+
+
 
 
-
-
-
-
+
+
+
+

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


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

2019-08-22 Thread translation
commit 77f10fe4873b1662400d1427a68f8b31e04ecb83
Author: Translation commit bot 
Date:   Thu Aug 22 17:45:25 2019 +

Update translations for torbutton-brandproperties_completed
---
 en/brand.properties | 18 +-
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/en/brand.properties b/en/brand.properties
index 732c15741..9d23b26e6 100644
--- a/en/brand.properties
+++ b/en/brand.properties
@@ -2,15 +2,15 @@
 # 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/.
 
-brandShorterName=Tor Browser
-brandShortName=Tor Browser
-brandFullName=Tor Browser
-vendorShortName=Tor Project
+# brandShorterName=Tor Browser
+# brandShortName=Tor Browser
+# brandFullName=Tor Browser
+# vendorShortName=Tor Project
 
-homePageSingleStartMain=Firefox Start, a fast home page with built-in search
-homePageImport=Import your home page from %S
+# homePageSingleStartMain=Firefox Start, a fast home page with built-in search
+# homePageImport=Import your home page from %S
 
-homePageMigrationPageTitle=Home Page Selection
-homePageMigrationDescription=Please select the home page you wish to use:
+# homePageMigrationPageTitle=Home Page Selection
+# homePageMigrationDescription=Please select the home page you wish to use:
 
-syncBrandShortName=Sync
+# syncBrandShortName=Sync

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


[tor-commits] [translation/tor-and-https_completed] Update translations for tor-and-https_completed

2019-08-22 Thread translation
commit 1f2ea6a947b7515537f7e37536c14d8411a7318d
Author: Translation commit bot 
Date:   Thu Aug 22 17:45:00 2019 +

Update translations for tor-and-https_completed
---
 ar.po| 137 
 az.po| 136 
 bg.po| 136 
 bn.po| 136 
 ca.po| 138 -
 cs.po| 138 -
 da.po| 139 -
 de.po| 137 
 en_GB.po | 136 
 es_MX.po | 139 -
 et.po| 138 -
 eu.po| 137 
 fa.po| 140 --
 hi.po| 137 
 id.po| 138 -
 is.po| 137 
 it.po| 142 ---
 ja.po| 137 
 ka.po| 137 
 kk.po| 136 
 ko.po| 137 
 lt.po| 137 
 lv.po| 136 
 ms_MY.po | 137 
 nb.po| 138 -
 nl.po| 138 -
 nl_BE.po | 137 
 nn.po| 136 
 pt_BR.po | 140 --
 pt_PT.po | 138 -
 ru.po| 139 -
 sk.po| 137 
 sl.po| 136 
 sq.po| 136 
 sr.po| 136 
 sv.po| 137 
 ta.po| 137 
 th.po| 137 
 uk.po| 137 
 vi.po| 139 -
 zh_HK.po | 138 -
 zh_TW.po | 139 -
 42 files changed, 5773 deletions(-)

diff --git a/ar.po b/ar.po
deleted file mode 100644
index cdaa7bb69..0
--- a/ar.po
+++ /dev/null
@@ -1,137 +0,0 @@
-# 
-# Translators:
-# 0xidz , 2014
-# طاهر , 2014
-msgid ""
-msgstr ""
-"Project-Id-Version: Tor Project\n"
-"POT-Creation-Date: 2014-07-17 14:23+\n"
-"PO-Revision-Date: 2017-09-20 03:03+\n"
-"Last-Translator: 0xidz \n"
-"Language-Team: Arabic 
(http://www.transifex.com/otf/torproject/language/ar/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: ar\n"
-"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && 
n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
-
-#. (itstool) path: C/tor-and-https.svg/svg@direction
-#. (itstool) comment: C/tor-and-https.svg/svg@direction
-#. Specify "ltr" for left-to-right languages or "rtl" for right-to-left
-#. languages (e.g. Arabic or Hebrew).
-#: C/tor-and-https.svg:3
-msgid "ltr"
-msgstr "rtl"
-
-#. (itstool) path: svg/title
-#: C/tor-and-https.svg:14
-#, no-wrap
-msgid "Tor and HTTPS"
-msgstr "Tor و HTTPS"
-
-#. (itstool) path: defs/text
-#. Keep it short: 7em max. Seven times the capital letter "M".
-#: C/tor-and-https.svg:363
-#, no-wrap
-msgid "Site.com"
-msgstr "Site.com"
-
-#. (itstool) path: defs/text
-#. Keep it short: 7em max. Seven times the capital letter "M".
-#: C/tor-and-https.svg:363
-#, no-wrap
-msgid "user / pw"
-msgstr "مستعمل / كلمة المرور"
-
-#. (itstool) path: defs/text
-#. Keep it short: 7em max. Seven 

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

2019-08-22 Thread translation
commit c068c1845b3c3e79c363c02341ec5066a5ad6345
Author: Translation commit bot 
Date:   Thu Aug 22 17:44:21 2019 +

Update translations for tba-torbrowserstringsdtd_completed
---
 en/torbrowser_strings.dtd | 106 +++---
 1 file changed, 53 insertions(+), 53 deletions(-)

diff --git a/en/torbrowser_strings.dtd b/en/torbrowser_strings.dtd
index dd3f0cc06..918508ce7 100644
--- a/en/torbrowser_strings.dtd
+++ b/en/torbrowser_strings.dtd
@@ -1,58 +1,58 @@
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
-
-
-
-
-
-
+
+
+
+
+
+
 
-
+
 
-
+

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


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

2019-08-22 Thread translation
commit 29506b87db4df008176b86d6b9e7ce723b76d01f
Author: Translation commit bot 
Date:   Thu Aug 22 17:34:00 2019 +

Update translations for abouttor-homepage_completed
---
 en/aboutTor.dtd | 42 +-
 1 file changed, 21 insertions(+), 21 deletions(-)

diff --git a/en/aboutTor.dtd b/en/aboutTor.dtd
index 5757fae47..dbd7e97d2 100644
--- a/en/aboutTor.dtd
+++ b/en/aboutTor.dtd
@@ -4,32 +4,32 @@
- vim: set sw=2 sts=2 ts=8 et syntax=xml:
   -->
 
-
+
 
-
+
 
-
-
-
-
+
+
+
+
 
-
-https://duckduckgo.com;>
+
+
 
-
-
+
+
 
-
-
+
+
 
-
-
-https://www.torproject.org/getinvolved/volunteer.html.en;>
+
+
+
 
-
-
-
-
+
+
+
+
 
-
-
+
+

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


[tor-commits] [community/master] add edit button to two colum pages

2019-08-22 Thread emmapeel
commit b80d15bb8b410df5f3d6e3437afcdb71aaa1c52d
Author: emma peel 
Date:   Thu Aug 22 16:42:27 2019 +0200

add edit button to two colum pages
---
 templates/two-columns-page.html | 9 -
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/templates/two-columns-page.html b/templates/two-columns-page.html
index 0bd9569..4ccb30e 100644
--- a/templates/two-columns-page.html
+++ b/templates/two-columns-page.html
@@ -14,6 +14,13 @@
 
 {% endfor %}
 
-Back to {{ this.parent.title }}
+
+  
+
+
+{{ _("Back to previous page: 
") }}{{ this.parent.title }} - https://github.com/torproject/community/edit/master/content{{ this.path 
}}/contents.lr">{{ _("Edit this page") }}
+
+  
+
   
 
\ No newline at end of file

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


[tor-commits] [community/staging] removed instructions that do not work anymore

2019-08-22 Thread emmapeel
commit fc7715dc2e0cf317c757c24f9a72c0019b6d7eb7
Author: emma peel 
Date:   Thu Aug 22 17:29:24 2019 +0200

removed instructions that do not work anymore
---
 .../technical-setup/bridge/docker/contents.lr  | 25 ++
 1 file changed, 7 insertions(+), 18 deletions(-)

diff --git a/content/relay-operations/technical-setup/bridge/docker/contents.lr 
b/content/relay-operations/technical-setup/bridge/docker/contents.lr
index 2353ea2..ca3d7f7 100644
--- a/content/relay-operations/technical-setup/bridge/docker/contents.lr
+++ b/content/relay-operations/technical-setup/bridge/docker/contents.lr
@@ -8,24 +8,11 @@ We are maintaining a docker container that allows you to 
quickly set up an obfs4
 
 `docker pull phwinter/obfs4-bridge:0.1`
 
-Now, it's time to run the container. You have two options:
-
- * We maintain a script that automatically determines a free OR and obfs4 port 
for you. The script only requires your email address as argument:
-
-```
-$ curl 
https://dip.torproject.org/anti-censorship/docker-obfs4-bridge/raw/master/deploy-container.sh
 > deploy-container.sh
-$ bash deploy-container.sh addr...@email.com
-```
-
- * If you would rather provide your own ports, run the following command and 
replace XXX with your OR port, YYY with your obfs4 port, and addr...@email.com 
with your email address. Don't forget the semicolon after the environment 
variables.
-
-```
-OR_PORT=XXX PT_PORT=YYY EMAIL=addr...@email.com; \
-docker run -d \
-  -e "OR_PORT=$OR_PORT" -e "PT_PORT=$PT_PORT" -e "EMAIL=$EMAIL" \
-  -p "$OR_PORT":"$OR_PORT" -p "$PT_PORT":"$PT_PORT" \
-  phwinter/obfs4-bridge:0.1
-```
+Now, it's time to run the container.  We maintain a script that automatically 
determines a free OR and obfs4 port for you. The script only requires your 
email address as argument:
+   ```
+   $ curl 
https://dip.torproject.org/torproject/anti-censorship/docker-obfs4-bridge/raw/master/deploy-container.sh
 > deploy-container.sh
+   $ bash deploy-container.sh addr...@email.com
+   ```
 
 That's it! Your container should now be bootstrapping your new obfs4 Tor 
bridge. 
 ---
@@ -33,6 +20,8 @@ html: two-columns-page.html
 ---
 key: 5
 ---
+subtitle: How to deploy an obfs4 bridge using a docker container
+---
 section: Bridge
 ---
 section_id: bridge

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


[tor-commits] [community/staging] add edit button to two colum pages

2019-08-22 Thread emmapeel
commit 0c3c378c5ecc3857bb968d30c7ffd00dbbe178d3
Author: emma peel 
Date:   Thu Aug 22 16:42:27 2019 +0200

add edit button to two colum pages
---
 templates/two-columns-page.html | 9 -
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/templates/two-columns-page.html b/templates/two-columns-page.html
index 0bd9569..4ccb30e 100644
--- a/templates/two-columns-page.html
+++ b/templates/two-columns-page.html
@@ -14,6 +14,13 @@
 
 {% endfor %}
 
-Back to {{ this.parent.title }}
+
+  
+
+
+{{ _("Back to previous page: 
") }}{{ this.parent.title }} - https://github.com/torproject/community/edit/master/content{{ this.path 
}}/contents.lr">{{ _("Edit this page") }}
+
+  
+
   
 
\ No newline at end of file

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


[tor-commits] [community/master] Remove duplicate content for real

2019-08-22 Thread hiro
commit c4d75334364cdd25217f7e045aa7c9cd3b2b5431
Author: hiro 
Date:   Thu Aug 22 16:41:27 2019 +0200

Remove duplicate content for real
---
 content/outreach/speakers/contents.lr  |  19 ---
 .../centos-rhel-opensuse/contents.lr   | 101 
 .../bridge-deployment-guide/contents.lr|  23 ---
 .../debian-ubuntu/contents.lr  |  80 -
 .../bridge-deployment-guide/freebsd/contents.lr|  98 ---
 .../bridge-deployment-guide/openbsd/contents.lr|  74 -
 .../post-install/contents.lr   |  22 ---
 .../technical-setup/centosrhel/contents.lr |  19 ---
 .../technical-setup/debianubuntu/contents.lr   |  19 ---
 .../technical-setup/exit-relay/contents.lr | 181 -
 .../technical-setup/fedora/contents.lr |  19 ---
 .../technical-setup/freebsd/contents.lr|  19 ---
 .../middleguard-relay/centosrhel/contents.lr   |  56 ---
 .../technical-setup/middleguard-relay/contents.lr  |  15 --
 .../middleguard-relay/debianubuntu/contents.lr |  46 --
 .../middleguard-relay/fedora/contents.lr   |  37 -
 .../middleguard-relay/freebsd/contents.lr  |  73 -
 .../contents.lr| 179 
 18 files changed, 1080 deletions(-)

diff --git a/content/outreach/speakers/contents.lr 
b/content/outreach/speakers/contents.lr
deleted file mode 100644
index 36e278d..000
--- a/content/outreach/speakers/contents.lr
+++ /dev/null
@@ -1,19 +0,0 @@
-section: outreach

-section_id: outreach

-color: primary

-_template: layout.html

-title: Speakers

-subtitle: Speakers

-key: 2

-html: two-columns-page.html

-body:
-
-## Speakers
diff --git 
a/content/relay-operations/technical-setup/bridge-deployment-guide/centos-rhel-opensuse/contents.lr
 
b/content/relay-operations/technical-setup/bridge-deployment-guide/centos-rhel-opensuse/contents.lr
deleted file mode 100644
index 5849e5a..000
--- 
a/content/relay-operations/technical-setup/bridge-deployment-guide/centos-rhel-opensuse/contents.lr
+++ /dev/null
@@ -1,101 +0,0 @@
-_model: page

-title: CentOS / RHEL / OpenSUSE

-body:
-
-# 1. Install tor and dependencies 
-
-* Redhat / RHEL:
-
-```
-yum install epel-release
-yum install git golang tor
-```
-
-* OpenSUSE:
-
-```
-zypper install tor go git
-```
-
-# 2. Build obfs4proxy and move it into place. 
-
-Heavily outdated versions of git can make `go get` fail, so try upgrading to a 
more recent git version if you're running into this problem.
-
-* CentOS / RHEL:
-
-```
-export GOPATH=`mktemp -d`
-go get gitlab.com/yawning/obfs4.git/obfs4proxy
-sudo cp $GOPATH/bin/obfs4proxy /usr/local/bin/
-chcon --reference=/usr/bin/tor /usr/local/bin/obfs4proxy
-```
-
-* OpenSUSE:
-
-```
-export GOPATH=`mktemp -d`
-go get gitlab.com/yawning/obfs4.git/obfs4proxy
-sudo cp $GOPATH/bin/obfs4proxy /usr/local/bin/
-```
-
-# 3. Edit your Tor config file, usually located at `/etc/tor/torrc` and add 
the following lines:
-
-```
-#Bridge config
-RunAsDaemon 1
-ORPort auto
-BridgeRelay 1
-ServerTransportPlugin obfs4 exec /usr/local/bin/obfs4proxy
-# For a fixed obfs4 port (e.g. 34176), uncomment the following line.
-#ServerTransportListenAddr obfs4 0.0.0.0:34176
-# Local communication port between Tor and obfs4. Always set this to "auto". 
"Ext" means
-# "extended", not "external". Don't try to set a specific port number, nor 
listen on 0.0.0.0.
-ExtORPort auto
-
-# Contact information that allows us to get in touch with you in case of
-# critical updates or problems with your bridge.  This is optional, so you
-# don't have to provide an email address if you don't want to.
-ContactInfo 
-# Pick a nickname that you like for your bridge.
-Nickname PickANickname
-```
-
-Don't forget to change the ContactInfo and Nickname options.
-
-* Note that both Tor's OR port **and** its obfs4 port must be reachable. If 
your bridge is behind a firewall or NAT, make sure to open both ports.
-
-# 4. Restart tor
-
-`systemctl restart tor`
-
-# 5. Monitor your logs (usually in your syslog)
-
-To confirm your bridge is running with no issues, you should see something 
like this:
-
-``` 
-[notice] Your Tor server's identity key fingerprint is ' 
'
-[notice] Your Tor bridge's hashed identity key fingerprint is ' 
'
-[notice] Registered server transport 'obfs4' at '[::]:46396'
-[notice] Tor has successfully opened a circuit. Looks like client 
functionality is working.
-[notice] Bootstrapped 100%: Done
-[notice] Now checking whether ORPort :9001 is reachable... (this may 
take up to 20 minutes -- look for log messages indicating success)
-[notice] Self-testing indicates your ORPort is reachable from the outside. 
Excellent. Publishing server descriptor.
-``` 
-
-Remember to open the random port associated with your bridge. You can find it 
in your tor log; in the above example it is 46396. To use a 

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

2019-08-22 Thread translation
commit b5a0cb8d931adf3c51132735d68a9dc68c4e91d1
Author: Translation commit bot 
Date:   Thu Aug 22 13:50:58 2019 +

Update translations for tails-misc_release
---
 nl.po | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/nl.po b/nl.po
index b1f05c3be..71b219a10 100644
--- a/nl.po
+++ b/nl.po
@@ -19,7 +19,7 @@
 # LittleNacho , 2013
 # 53a60eabbf5124a226a7678001f9a57b, 2015
 # Nathan Follens, 2015
-# Meteor0id, 2019
+# Full name, 2019
 # Midgard, 2014
 # T. Des Maison , 2014
 # Thinkwell, 2018

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


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

2019-08-22 Thread translation
commit b0e224568a12f20c336366dcfaf632f6d02bf0ef
Author: Translation commit bot 
Date:   Thu Aug 22 13:49:55 2019 +

Update translations for tails-misc
---
 nl.po | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/nl.po b/nl.po
index b1f05c3be..71b219a10 100644
--- a/nl.po
+++ b/nl.po
@@ -19,7 +19,7 @@
 # LittleNacho , 2013
 # 53a60eabbf5124a226a7678001f9a57b, 2015
 # Nathan Follens, 2015
-# Meteor0id, 2019
+# Full name, 2019
 # Midgard, 2014
 # T. Des Maison , 2014
 # Thinkwell, 2018

___
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-08-22 Thread translation
commit 7f0fbb996d46c0a9527aa00b256a18ae30cc41cf
Author: Translation commit bot 
Date:   Thu Aug 22 12:29:45 2019 +

Update translations for support-portal_completed
---
 contents+zh-CN.po | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/contents+zh-CN.po b/contents+zh-CN.po
index d1bcd0eac..bf990cd7e 100644
--- a/contents+zh-CN.po
+++ b/contents+zh-CN.po
@@ -5008,7 +5008,7 @@ msgid ""
 "Settings...\" and \"Check for [Tor Browser](#tor-browser) Update...\" "
 "options."
 msgstr ""
-"它的菜单为您提供“[新身份](#new-identity)”,“安å…
¨è®¾ç½®...”和“检查[Tor浏览器](#tor-browser)更新...”选项。"
+"它的菜单为您提供“[新身份](#new-identity)”,“安å…
¨è®¾ç½®...”和“检查[Tor 浏览器](#tor-browser)更新...”选项。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -5037,7 +5037,7 @@ msgstr "Torsocks能够让你
通过[Tor](#tor-/-tor-network/-core-tor)以一种
 msgid ""
 "It ensures that DNS requests are handled safely and explicitly rejects any "
 "[traffic](#traffic) other than TCP from the application you're using."
-msgstr ""
+msgstr "它确保安å…
¨åœ°å¤„理域名解析服务请求,并明确拒绝您正在使用的应用程序中除TCP以外的任何[流量](#traffic)。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -5059,6 +5059,9 @@ msgid ""
 "services) via Tor Browser, and will remove all [Tor](#tor-/-tor-network"
 "/-core-tor)-related protections the [client](#client) would otherwise have."
 msgstr ""
+"注意:这不如通过Tor 浏览器连接到[洋葱服务](#onion-"
+"services)那样安å…
¨ï¼Œå¹¶å°†ç§»é™¤æ‰€æœ‰[客户端](#client)原有,依赖于[Tor](#tor-/-tor-network/-core-"
+"tor)的保护。"
 
 #: 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-08-22 Thread translation
commit 02c35a1136f764b4877713e79e8cfa3d51cf624e
Author: Translation commit bot 
Date:   Thu Aug 22 12:29:37 2019 +

Update translations for support-portal
---
 contents+zh-CN.po | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/contents+zh-CN.po b/contents+zh-CN.po
index 03183aa6e..bf990cd7e 100644
--- a/contents+zh-CN.po
+++ b/contents+zh-CN.po
@@ -5008,6 +5008,7 @@ msgid ""
 "Settings...\" and \"Check for [Tor Browser](#tor-browser) Update...\" "
 "options."
 msgstr ""
+"它的菜单为您提供“[新身份](#new-identity)”,“安å…
¨è®¾ç½®...”和“检查[Tor 浏览器](#tor-browser)更新...”选项。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -5036,7 +5037,7 @@ msgstr "Torsocks能够让你
通过[Tor](#tor-/-tor-network/-core-tor)以一种
 msgid ""
 "It ensures that DNS requests are handled safely and explicitly rejects any "
 "[traffic](#traffic) other than TCP from the application you're using."
-msgstr ""
+msgstr "它确保安å…
¨åœ°å¤„理域名解析服务请求,并明确拒绝您正在使用的应用程序中除TCP以外的任何[流量](#traffic)。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -5058,6 +5059,9 @@ msgid ""
 "services) via Tor Browser, and will remove all [Tor](#tor-/-tor-network"
 "/-core-tor)-related protections the [client](#client) would otherwise have."
 msgstr ""
+"注意:这不如通过Tor 浏览器连接到[洋葱服务](#onion-"
+"services)那样安å…
¨ï¼Œå¹¶å°†ç§»é™¤æ‰€æœ‰[客户端](#client)原有,依赖于[Tor](#tor-/-tor-network/-core-"
+"tor)的保护。"
 
 #: 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-08-22 Thread translation
commit a80a60fb98c058738a6c94ae422060bf8aa8bc6d
Author: Translation commit bot 
Date:   Thu Aug 22 11:59:37 2019 +

Update translations for support-portal_completed
---
 contents+zh-CN.po | 37 -
 1 file changed, 28 insertions(+), 9 deletions(-)

diff --git a/contents+zh-CN.po b/contents+zh-CN.po
index 68f9ecdf4..d1bcd0eac 100644
--- a/contents+zh-CN.po
+++ b/contents+zh-CN.po
@@ -4735,7 +4735,7 @@ msgstr ""
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
 msgid "It aims to preserve your privacy and anonymity."
-msgstr "它旨在保护您的隐私和匿名。"
+msgstr "它旨在保护您的隐私和匿名性。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -4819,7 +4819,7 @@ msgid ""
 "The way most people use Tor is with [Tor Browser](#tor-browser) which is a "
 "version of [Firefox](#firefox) that fixes many privacy issues."
 msgstr ""
-"大多数人使用Tor的方式是使用[Tor 
浏览器](#tor-browser),它是一个修复了许多隐私问题版本的[Firefox](#firefox)。"
+"大多数人使用Tor的方式是使用[Tor 
浏览器](#tor-browser),它是一个修复了许多隐私问题的[Firefox](#firefox)版本。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -4831,7 +4831,7 @@ msgstr "### Tor 浏览器"
 msgid ""
 "Tor Browser uses the [Tor network](#tor-/-tor-network/-core-tor) to protect "
 "your privacy and anonymity."
-msgstr ""
+msgstr "Tor 浏览器使用[Tor 网络](#tor-/-tor-network/-core-tor) 
保护您的隐私和匿名性。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -4841,6 +4841,8 @@ msgid ""
 ")](#internet-service-provider-isp) and from anyone watching your connection "
 "locally."
 msgstr ""
+"您的互联网行为,包
括您访问网站的名字和地址,会对您的[互联网服务提供商(ISP)](#internet-service-provider-"
+"isp)以及任何在本地查看您链接的人隐藏。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -4850,6 +4852,8 @@ msgid ""
 "real Internet [(IP) address](#ip-address), and will not know who you are "
 "unless you explicitly identify yourself."
 msgstr ""
+"您使用的网站和服务的运营商以及任何监视它们的人都将看到连接来自
 Tor 网络而不是您的真实互联网[(IP)地址](#ip-"
+"address),并且不知道您是谁,除非您明确标识自己。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -4857,7 +4861,7 @@ msgid ""
 "In addition, Tor Browser is designed to prevent websites from "
 "“[fingerprinting](#browser-fingerprinting)” or identifying you based on 
your"
 " browser configuration."
-msgstr ""
+msgstr "此外,Tor 浏览器的设计包括防止网站æ 
¹æ®æ‚¨çš„浏览器é…
ç½®è€Œæ”¶é›†â€œ[指纹](#browser-fingerprinting)”或识别您。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -4872,6 +4876,8 @@ msgid ""
 "[Cookies](#cookie) are only valid for a single [session](#session) (until "
 "Tor Browser is exited or a [New Identity](#new-identity) is requested)."
 msgstr ""
+"[Cookies](#cookie) 仅对单个 [会话](#session)有效(直到退出Tor 
浏览器或请求[新的身份](#new-"
+"identity)为止)。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -4890,7 +4896,7 @@ msgstr "当您第一次运行 [Tor 
浏览器](#tor-browser) 时, 您会看到 To
 msgid ""
 "It offers you the option to connect directly to the [Tor network](#tor"
 "-/-tor-network/-core-tor), or to configure Tor Browser for your connection."
-msgstr ""
+msgstr "此处您可以选择直接连上[Tor 
网络](#tor-/-tor-network/-core-tor),或者为您的连接配置Tor 
浏览器。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -4909,14 +4915,14 @@ msgstr "### Tor 日志"
 msgid ""
 "\"Tor log\" is an automatically-generated list of [Tor](#tor-/-tor-network"
 "/-core-tor)’s activity that can help diagnose problems."
-msgstr ""
+msgstr "“Tor 
log”是一个自动生成的[Tor](#tor-/-tor-network/-core-tor)活动列表,可以帮助诊断问题。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
 msgid ""
 "When something goes wrong with Tor, you may see an option with the error "
 "message to \"copy Tor log to clipboard\"."
-msgstr ""
+msgstr 
"当Tor出现问题时,您可能会看到在错误信息中看到选项“将Tor日志复制到剪贴板”。"
 
 #: 

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

2019-08-22 Thread translation
commit 72489af86da4ed83f858ddb54814fde1ddee7fd2
Author: Translation commit bot 
Date:   Thu Aug 22 11:59:29 2019 +

Update translations for support-portal
---
 contents+zh-CN.po | 35 +++
 1 file changed, 27 insertions(+), 8 deletions(-)

diff --git a/contents+zh-CN.po b/contents+zh-CN.po
index 69096fc57..03183aa6e 100644
--- a/contents+zh-CN.po
+++ b/contents+zh-CN.po
@@ -4735,7 +4735,7 @@ msgstr ""
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
 msgid "It aims to preserve your privacy and anonymity."
-msgstr "它旨在保护您的隐私和匿名。"
+msgstr "它旨在保护您的隐私和匿名性。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -4819,6 +4819,7 @@ msgid ""
 "The way most people use Tor is with [Tor Browser](#tor-browser) which is a "
 "version of [Firefox](#firefox) that fixes many privacy issues."
 msgstr ""
+"大多数人使用Tor的方式是使用[Tor 
浏览器](#tor-browser),它是一个修复了许多隐私问题的[Firefox](#firefox)版本。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -4830,7 +4831,7 @@ msgstr "### Tor 浏览器"
 msgid ""
 "Tor Browser uses the [Tor network](#tor-/-tor-network/-core-tor) to protect "
 "your privacy and anonymity."
-msgstr ""
+msgstr "Tor 浏览器使用[Tor 网络](#tor-/-tor-network/-core-tor) 
保护您的隐私和匿名性。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -4840,6 +4841,8 @@ msgid ""
 ")](#internet-service-provider-isp) and from anyone watching your connection "
 "locally."
 msgstr ""
+"您的互联网行为,包
括您访问网站的名字和地址,会对您的[互联网服务提供商(ISP)](#internet-service-provider-"
+"isp)以及任何在本地查看您链接的人隐藏。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -4849,6 +4852,8 @@ msgid ""
 "real Internet [(IP) address](#ip-address), and will not know who you are "
 "unless you explicitly identify yourself."
 msgstr ""
+"您使用的网站和服务的运营商以及任何监视它们的人都将看到连接来自
 Tor 网络而不是您的真实互联网[(IP)地址](#ip-"
+"address),并且不知道您是谁,除非您明确标识自己。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -4856,7 +4861,7 @@ msgid ""
 "In addition, Tor Browser is designed to prevent websites from "
 "“[fingerprinting](#browser-fingerprinting)” or identifying you based on 
your"
 " browser configuration."
-msgstr ""
+msgstr "此外,Tor 浏览器的设计包括防止网站æ 
¹æ®æ‚¨çš„浏览器é…
ç½®è€Œæ”¶é›†â€œ[指纹](#browser-fingerprinting)”或识别您。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -4871,6 +4876,8 @@ msgid ""
 "[Cookies](#cookie) are only valid for a single [session](#session) (until "
 "Tor Browser is exited or a [New Identity](#new-identity) is requested)."
 msgstr ""
+"[Cookies](#cookie) 仅对单个 [会话](#session)有效(直到退出Tor 
浏览器或请求[新的身份](#new-"
+"identity)为止)。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -4889,7 +4896,7 @@ msgstr "当您第一次运行 [Tor 
浏览器](#tor-browser) 时, 您会看到 To
 msgid ""
 "It offers you the option to connect directly to the [Tor network](#tor"
 "-/-tor-network/-core-tor), or to configure Tor Browser for your connection."
-msgstr ""
+msgstr "此处您可以选择直接连上[Tor 
网络](#tor-/-tor-network/-core-tor),或者为您的连接配置Tor 
浏览器。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -4908,14 +4915,14 @@ msgstr "### Tor 日志"
 msgid ""
 "\"Tor log\" is an automatically-generated list of [Tor](#tor-/-tor-network"
 "/-core-tor)’s activity that can help diagnose problems."
-msgstr ""
+msgstr "“Tor 
log”是一个自动生成的[Tor](#tor-/-tor-network/-core-tor)活动列表,可以帮助诊断问题。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
 msgid ""
 "When something goes wrong with Tor, you may see an option with the error "
 "message to \"copy Tor log to clipboard\"."
-msgstr ""
+msgstr 
"当Tor出现问题时,您可能会看到在错误信息中看到选项“将Tor日志复制到剪贴板”。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -4924,11 +4931,13 @@ msgid ""
 "you can navigate to the 

[tor-commits] [translation/snowflake-website-indexhtml_completed] Update translations for snowflake-website-indexhtml_completed

2019-08-22 Thread translation
commit efaab6893f04059ce3962ea68631de4013006633
Author: Translation commit bot 
Date:   Thu Aug 22 11:48:50 2019 +

Update translations for snowflake-website-indexhtml_completed
---
 fr/index.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fr/index.html b/fr/index.html
index 57665d7f6..89c3b6d60 100644
--- a/fr/index.html
+++ b/fr/index.html
@@ -15,7 +15,7 @@
 
   
 
-  Snowflake (flocon de neige) est un système pour contrecarrer la 
censure sur Internet. Les personnes victimes de censure peuvent utiliser 
Snowflake pour accéder à Internet. Leur connexion passe par des mandataires 
Snowflake qui sont exploités par des bénévoles. Pour de plus amples 
renseignements sur le fonctionnement de Snowflake, consultez notre https://trac.torproject.org/projects/tor/wiki/doc/Snowflake/;>wiki de 
documentation (page en anglais).
+  Snowflake est un système pour contrecarrer la censure sur Internet. 
Les personnes victimes de censure peuvent utiliser Snowflake pour accéder à 
Internet. Leur connexion passe par des mandataires Snowflake qui sont 
exploités par des bénévoles. Pour de plus amples renseignements sur le 
fonctionnement de Snowflake, consultez notre https://trac.torproject.org/projects/tor/wiki/doc/Snowflake/;>wiki de 
documentation (page en anglais).
 
   
 

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


[tor-commits] [translation/snowflake-website-indexhtml] Update translations for snowflake-website-indexhtml

2019-08-22 Thread translation
commit 5d33618f694b2289d1c4be399eeda502cfaa3489
Author: Translation commit bot 
Date:   Thu Aug 22 11:48:45 2019 +

Update translations for snowflake-website-indexhtml
---
 fr/index.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fr/index.html b/fr/index.html
index 57665d7f6..89c3b6d60 100644
--- a/fr/index.html
+++ b/fr/index.html
@@ -15,7 +15,7 @@
 
   
 
-  Snowflake (flocon de neige) est un système pour contrecarrer la 
censure sur Internet. Les personnes victimes de censure peuvent utiliser 
Snowflake pour accéder à Internet. Leur connexion passe par des mandataires 
Snowflake qui sont exploités par des bénévoles. Pour de plus amples 
renseignements sur le fonctionnement de Snowflake, consultez notre https://trac.torproject.org/projects/tor/wiki/doc/Snowflake/;>wiki de 
documentation (page en anglais).
+  Snowflake est un système pour contrecarrer la censure sur Internet. 
Les personnes victimes de censure peuvent utiliser Snowflake pour accéder à 
Internet. Leur connexion passe par des mandataires Snowflake qui sont 
exploités par des bénévoles. Pour de plus amples renseignements sur le 
fonctionnement de Snowflake, consultez notre https://trac.torproject.org/projects/tor/wiki/doc/Snowflake/;>wiki de 
documentation (page en anglais).
 
   
 

___
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-08-22 Thread translation
commit 03dc61249f31c80580134104f4705db441fc83e6
Author: Translation commit bot 
Date:   Thu Aug 22 11:29:37 2019 +

Update translations for support-portal_completed
---
 contents+zh-CN.po | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/contents+zh-CN.po b/contents+zh-CN.po
index 89ee0eec8..68f9ecdf4 100644
--- a/contents+zh-CN.po
+++ b/contents+zh-CN.po
@@ -4802,6 +4802,7 @@ msgid ""
 "visit, and it prevents the sites you visit from learning your physical "
 "location."
 msgstr ""
+"它通过在世界各地的志愿者
运行的[中继](#relay)分布式网络中弹跳来保护您:它可以阻止有人通过监视您的互联网连接来了解您访问的网站,并防止您访问的网站得知ä½
 çš„物理位置。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -4810,6 +4811,7 @@ msgid ""
 "software associated with this network is called Core Tor, and sometimes "
 "[\"little-t tor\"](#little-t-tor)."
 msgstr ""
+"这个志愿者中继集合被称为Tor网络。 有时,与此网络相å…
³è”的软件称为核心Tor,有时称为[“little-t 
tor”](#little-t-tor)。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -4817,6 +4819,7 @@ msgid ""
 "The way most people use Tor is with [Tor Browser](#tor-browser) which is a "
 "version of [Firefox](#firefox) that fixes many privacy issues."
 msgstr ""
+"大多数人使用Tor的方式是使用[Tor 
浏览器](#tor-browser),它是一个修复了许多隐私问题版本的[Firefox](#firefox)。"
 
 #: 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-08-22 Thread translation
commit fa77932f91414b60ac36f1f51f791bb16fc81786
Author: Translation commit bot 
Date:   Thu Aug 22 11:29:28 2019 +

Update translations for support-portal
---
 contents+zh-CN.po | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/contents+zh-CN.po b/contents+zh-CN.po
index 89ee0eec8..69096fc57 100644
--- a/contents+zh-CN.po
+++ b/contents+zh-CN.po
@@ -4802,6 +4802,7 @@ msgid ""
 "visit, and it prevents the sites you visit from learning your physical "
 "location."
 msgstr ""
+"它通过在世界各地的志愿者
运行的[中继](#relay)分布式网络中弹跳来保护您:它可以阻止有人通过监视您的互联网连接来了解您访问的网站,并防止您访问的网站得知ä½
 çš„物理位置。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -4810,6 +4811,7 @@ msgid ""
 "software associated with this network is called Core Tor, and sometimes "
 "[\"little-t tor\"](#little-t-tor)."
 msgstr ""
+"这个志愿者中继集合被称为Tor网络。 有时,与此网络相å…
³è”的软件称为核心Tor,有时称为[“little-t 
tor”](#little-t-tor)。"
 
 #: 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-08-22 Thread translation
commit cc7ab38d9a13706923cd44f7ccb2fc145f7f2098
Author: Translation commit bot 
Date:   Thu Aug 22 10:59:18 2019 +

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

diff --git a/contents+zh-CN.po b/contents+zh-CN.po
index 7c1a98300..89ee0eec8 100644
--- a/contents+zh-CN.po
+++ b/contents+zh-CN.po
@@ -4772,12 +4772,14 @@ msgid ""
 "browsing behavior itself, all of which can link your activity across "
 "different sites."
 msgstr ""
+"大多数网站使用大量第三方服务,包
括广告和分析跟踪器,它们收集您的[IP地址](#ip-address),,[Web浏览器](#web-"
+"browser),[操作系统](#operating-system-os)和您的浏览行为本身的数据,所有这些都可以将您的活动链接到不同的网站。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
 msgid ""
 "[Tor Browser](#tor-browser) prevents a lot of this activity from happening."
-msgstr ""
+msgstr "[Tor 浏览器](#tor-browser)阻止了很多这样行为的发生。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -4789,7 +4791,7 @@ msgstr "### Tor / Tor 网络/ Tor 核心"
 msgid ""
 "Tor is a program you can run on your computer that helps keep you safe on "
 "the Internet."
-msgstr ""
+msgstr 
"Tor是一个您能运行在您的电脑上,保护您在互联网上安å…
¨çš„程序。"
 
 #: 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-08-22 Thread translation
commit 5ba05d01c14d1fbfe086858a6f45b9bb4c504958
Author: Translation commit bot 
Date:   Thu Aug 22 10:59:28 2019 +

Update translations for support-portal_completed
---
 contents+zh-CN.po | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/contents+zh-CN.po b/contents+zh-CN.po
index 7c1a98300..89ee0eec8 100644
--- a/contents+zh-CN.po
+++ b/contents+zh-CN.po
@@ -4772,12 +4772,14 @@ msgid ""
 "browsing behavior itself, all of which can link your activity across "
 "different sites."
 msgstr ""
+"大多数网站使用大量第三方服务,包
括广告和分析跟踪器,它们收集您的[IP地址](#ip-address),,[Web浏览器](#web-"
+"browser),[操作系统](#operating-system-os)和您的浏览行为本身的数据,所有这些都可以将您的活动链接到不同的网站。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
 msgid ""
 "[Tor Browser](#tor-browser) prevents a lot of this activity from happening."
-msgstr ""
+msgstr "[Tor 浏览器](#tor-browser)阻止了很多这样行为的发生。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -4789,7 +4791,7 @@ msgstr "### Tor / Tor 网络/ Tor 核心"
 msgid ""
 "Tor is a program you can run on your computer that helps keep you safe on "
 "the Internet."
-msgstr ""
+msgstr 
"Tor是一个您能运行在您的电脑上,保护您在互联网上安å…
¨çš„程序。"
 
 #: 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-08-22 Thread translation
commit c5250f2491e7f7e89babfc5ab73d8c8fe9f0def1
Author: Translation commit bot 
Date:   Thu Aug 22 10:29:22 2019 +

Update translations for support-portal
---
 contents+da.po|  5 +++--
 contents+zh-CN.po | 33 -
 2 files changed, 27 insertions(+), 11 deletions(-)

diff --git a/contents+da.po b/contents+da.po
index 619626454..8f4e926c5 100644
--- a/contents+da.po
+++ b/contents+da.po
@@ -1,6 +1,7 @@
 # Translators:
 # erinm, 2019
 # scootergrisen, 2019
+# Thomas Oberndörfer , 2019
 # 
 msgid ""
 msgstr ""
@@ -8,7 +9,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2019-08-21 12:22+CET\n"
 "PO-Revision-Date: 2018-10-02 22:41+\n"
-"Last-Translator: scootergrisen, 2019\n"
+"Last-Translator: Thomas Oberndörfer , 2019\n"
 "Language-Team: Danish (https://www.transifex.com/otf/teams/1519/da/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -2943,7 +2944,7 @@ msgstr ""
 #: https//support.torproject.org/operators/operators-7/
 #: (content/operators/operators-7/contents+en.lrquestion.description)
 msgid "No."
-msgstr ""
+msgstr "Nej."
 
 #: https//support.torproject.org/operators/operators-7/
 #: (content/operators/operators-7/contents+en.lrquestion.description)
diff --git a/contents+zh-CN.po b/contents+zh-CN.po
index 3cd324451..7c1a98300 100644
--- a/contents+zh-CN.po
+++ b/contents+zh-CN.po
@@ -4455,7 +4455,7 @@ msgid ""
 ")](#internet-service-provider-isp) or other authority is actively blocking "
 "connections to the [Tor network](#tor-/-tor-network/-core-tor)."
 msgstr ""
-"这在[互联网服务提供商(ISP)](#internet-service-provider-isp)或å…
¶ä»–权威正在主动封锁与[Tor 网络](#tor"
+"这在[互联网服务提供商(ISP)](#internet-service-provider-isp)或å…
¶ä»–机构正在主动封锁与[Tor 网络](#tor"
 "-/-tor-network/-core-tor)的连接的情况下非常有用。"
 
 #: https//support.torproject.org/misc/glossary/
@@ -4468,13 +4468,13 @@ msgstr "### 私钥"
 msgid ""
 "The private portion of a [public/private key pair](#public-key-"
 "cryptography)."
-msgstr ""
+msgstr "[公钥/私钥对](#public-key-cryptography)的私有部分。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
 msgid ""
 "This is the key that must be kept private, and not disseminated to others."
-msgstr ""
+msgstr "这是必须保持私有,且不能被公布给他人的密钥。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -4496,7 +4496,7 @@ msgid ""
 " the proxy. The proxy makes the request on behalf of the client, and passes "
 "the response back to the client. The service only communicates with and sees"
 " the proxy."
-msgstr ""
+msgstr 
"客户端不是直接连接到服务,而是将信息发送到代理。 
代理代表客户端发出请求,并将响应传递返回客户端。 
该服务仅与代理通信,且只能看见代理。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -4507,7 +4507,7 @@ msgstr "### 公钥"
 #: (content/misc/glossary/contents+en.lrquestion.description)
 msgid ""
 "The public portion of a [public/private key pair](#public-key-cryptography)."
-msgstr ""
+msgstr "[公钥/私钥对](#public-key-cryptography)的公有部分。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -4547,7 +4547,7 @@ msgid ""
 "Additionally, the private key can be used to create a [signature"
 "](#cryptographic-signature) to proof the identity of the creator of a "
 "message or other files."
-msgstr ""
+msgstr 
"此外,私钥可用于创建[签名](#cryptographic-signature)以证明信息或å
…¶ä»–文件的创建者的身份。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -4576,6 +4576,9 @@ msgid ""
 "that forwards [traffic](#traffic) on behalf of [clients](#client), and that "
 "registers itself with the [directory authorities](#directory-authority)."
 msgstr ""
+"在[Tor网络](#tor-/-tor-network/-core-"
+"tor)中å…
¬å¼€åˆ—出的节点代表[客户端](#client)转发[流量](#traffic),并使用[目录管理器](#directory-"
+"authority)注册自己。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -4595,6 +4598,9 @@ msgid ""
 "including [Tor Browser](#tor-browser), from different sources. You can "
 "Install Satori from the Chrome Web Store."
 msgstr ""
+"这是一个Chrome或Chromium浏览器的[插件](#add-on-extension-or-"
+"plugin),让你可以从不同来源下载多个安全和隐私程序,包
括[Tor 浏览器](#tor-"
+"browser)。你可以从Chrome网上应用商店安装Satori。"
 
 #: https//support.torproject.org/misc/glossary/
 #: 

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

2019-08-22 Thread translation
commit f12618cb75c725287abaed508f025f9332aa470a
Author: Translation commit bot 
Date:   Thu Aug 22 09:59:20 2019 +

Update translations for support-portal
---
 contents+zh-CN.po | 15 +--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/contents+zh-CN.po b/contents+zh-CN.po
index 955655841..3cd324451 100644
--- a/contents+zh-CN.po
+++ b/contents+zh-CN.po
@@ -4249,6 +4249,8 @@ msgid ""
 "obfs3, and also prevents censors from finding bridges by Internet scanning. "
 "Obfs4 bridges are less likely to be blocked than obfs3 [bridges](#bridge)."
 msgstr ""
+"Obfs4 是一个像obfs3一样使 [Tor](#tor-/-tor-network/-core-tor) "
+"[流量](#traffic)看起来随机的[可插拔传
输](#pluggable-transports),而且可以通过互联网扫描寻找网桥来防止审查。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -4260,7 +4262,7 @@ msgstr "### Onion地址"
 msgid ""
 "A standardized internet domain name used by onion services that ends in "
 ".onion and is designed to be [self-authenticating](#self-authenticating)."
-msgstr ""
+msgstr "一个洋葱服务使用的æ 
‡å‡†äº’联网域名以.onion结束,域名是被设计为[自验证的](#self-authenticating)。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -4345,6 +4347,8 @@ msgid ""
 "applications and websites(compass, atlas, etc..) which in turn present Tor "
 "network status information to humans."
 msgstr ""
+"Onionoo是一个基于Web的协议,用于了解当前运行的[Tor "
+"中继](#relay)和[网桥](#bridge)。Onionoo为å…
¶ä»–应用程序和网站(compass,atlas等)提供数据,这些数据向人类提供Tor网络状态信息。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -4388,6 +4392,8 @@ msgid ""
 "desktop operating systems are Windows, macOS and Linux. Android and iOS are "
 "the dominant mobile operating systems."
 msgstr ""
+"主要系统软件,负责管理计算机硬件和软件资源,并为计算机程序提供通用服务。
 最常用的桌面操作系统是Windows,macOS和Linux。 "
+"Android和iOS是主流的移动操作系统。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -4421,6 +4427,9 @@ msgid ""
 "enhancing features to make them compatible with Firefox for Android and the "
 "Android [operating system](#operating-system-os)."
 msgstr ""
+"Orfox是来自Guardian Project的å…
è´¹[app](#app),它是使用与基于[Firefox](#firefox)构建的[Tor 
浏览器"
+"](#tor-browser) 相同的源代ç 
æž„建的,但对隐私增强功能稍微修改来使它们与Firefox for 
Android和Android [操作系统"
+"](#operating-system-os)兼容。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -4437,7 +4446,7 @@ msgstr "### 可插拔传输"
 msgid ""
 "Tools that [Tor](#tor-/-tor-network/-core-tor) can use to disguise the "
 "[traffic](#traffic) it sends out."
-msgstr ""
+msgstr "[Tor](#tor-/-tor-network/-core-tor)可以用于伪装
它发出的[流量](#traffic)的工具。"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -4446,6 +4455,8 @@ msgid ""
 ")](#internet-service-provider-isp) or other authority is actively blocking "
 "connections to the [Tor network](#tor-/-tor-network/-core-tor)."
 msgstr ""
+"这在[互联网服务提供商(ISP)](#internet-service-provider-isp)或å…
¶ä»–权威正在主动封锁与[Tor 网络](#tor"
+"-/-tor-network/-core-tor)的连接的情况下非常有用。"
 
 #: 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-08-22 Thread translation
commit 3022ce71e7737d47b627617b5aa165b0255df9b6
Author: Translation commit bot 
Date:   Thu Aug 22 09:29:31 2019 +

Update translations for support-portal
---
 contents+zh-CN.po | 12 
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/contents+zh-CN.po b/contents+zh-CN.po
index 038fb3e82..955655841 100644
--- a/contents+zh-CN.po
+++ b/contents+zh-CN.po
@@ -5,10 +5,10 @@
 # erinm, 2019
 # Dianyu Liu , 2019
 # crisp box , 2019
-# ciaran , 2019
 # Emma Peel, 2019
 # ff98sha, 2019
 # PCloud , 2019
+# ciaran , 2019
 # 
 msgid ""
 msgstr ""
@@ -16,7 +16,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2019-08-21 12:22+CET\n"
 "PO-Revision-Date: 2018-10-02 22:41+\n"
-"Last-Translator: PCloud , 2019\n"
+"Last-Translator: ciaran , 2019\n"
 "Language-Team: Chinese (China) 
(https://www.transifex.com/otf/teams/1519/zh_CN/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -458,12 +458,12 @@ msgstr ""
 #: https//support.torproject.org/tbb/how-to-verify-signature/
 #: (content/tbb/how-to-verify-signature/contents+en.lrquestion.description)
 msgid "gpg: Total number processed: 1"
-msgstr ""
+msgstr "gpg: Total number processed: 1"
 
 #: https//support.torproject.org/tbb/how-to-verify-signature/
 #: (content/tbb/how-to-verify-signature/contents+en.lrquestion.description)
 msgid "gpg:   imported: 1"
-msgstr ""
+msgstr "gpg:   imported: 1"
 
 #: https//support.torproject.org/tbb/how-to-verify-signature/
 #: (content/tbb/how-to-verify-signature/contents+en.lrquestion.description)
@@ -481,6 +481,8 @@ msgid ""
 "uid   [ unknown] Tor Browser Developers (signing key) "
 ""
 msgstr ""
+"uid   [ unknown] Tor Browser Developers (signing key) "
+""
 
 #: https//support.torproject.org/tbb/how-to-verify-signature/
 #: (content/tbb/how-to-verify-signature/contents+en.lrquestion.description)
@@ -554,6 +556,8 @@ msgid ""
 "gpgv --keyring .\tor.keyring Downloads\torbrowser-install-win64-8.5.4_en-"
 "US.exe.asc Downloads\torbrowser-install-win64-8.5.4_en-US.exe"
 msgstr ""
+"gpgv --keyring .\tor.keyring Downloads\torbrowser-install-win64-8.5.4_en-"
+"US.exe.asc Downloads\torbrowser-install-win64-8.5.4_en-US.exe"
 
 #: https//support.torproject.org/tbb/how-to-verify-signature/
 #: (content/tbb/how-to-verify-signature/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/tpo-web] Update translations for tpo-web

2019-08-22 Thread translation
commit 3a87f6767582482e678ff08716f1dcfbeb7b4e61
Author: Translation commit bot 
Date:   Thu Aug 22 07:58:10 2019 +

Update translations for tpo-web
---
 contents+fa.po | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/contents+fa.po b/contents+fa.po
index 8a3d3a9c6..93bd48b0a 100644
--- a/contents+fa.po
+++ b/contents+fa.po
@@ -8,6 +8,7 @@
 # Goudarz Jafari , 2019
 # Reza Ghasemi, 2019
 # Vox, 2019
+# MYZJ, 2019
 # 
 msgid ""
 msgstr ""
@@ -15,7 +16,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2019-08-14 08:34+CET\n"
 "PO-Revision-Date: 2019-03-09 10:41+\n"
-"Last-Translator: Vox, 2019\n"
+"Last-Translator: MYZJ, 2019\n"
 "Language-Team: Persian (https://www.transifex.com/otf/teams/1519/fa/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -25,7 +26,7 @@ msgstr ""
 
 #: https//www.torproject.org/ (content/contents+en.lrpage.title)
 msgid "Anonymity Online"
-msgstr "گمنام ماندن کاربران آنلاین حاضر"
+msgstr "ناشناس بودن در  فضای مجازی"
 
 #: https//www.torproject.org/ (content/contents+en.lrpage.section)
 msgid "home"

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


[tor-commits] [tor-browser-build/master] Bug 31465: Bump Go to 1.12.9

2019-08-22 Thread gk
commit 15d4645a678b12e093f5db89f60f726275f508f6
Author: Georg Koppen 
Date:   Tue Aug 20 08:17:15 2019 +

Bug 31465: Bump Go to 1.12.9

This is not only a fix for macOS notarization related issues but picks
up security fixes as well (see: #31456).
---
 projects/go/config | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/projects/go/config b/projects/go/config
index c2baeca..fd96bb6 100644
--- a/projects/go/config
+++ b/projects/go/config
@@ -1,5 +1,5 @@
 # vim: filetype=yaml sw=2
-version: 1.12.5
+version: 1.12.9
 filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
 
 var:
@@ -91,7 +91,7 @@ input_files:
 enable: '[% c("var/windows") || c("var/osx") %]'
   - URL: 'https://golang.org/dl/go[% c("version") %].src.tar.gz'
 name: go
-sha256sum: 2aa5f088cbb332e73fc3def546800616b38d3bfe6b8713b8a6404060f22503e8
+sha256sum: ab0e56ed9c4732a653ed22e232652709afbf573e710f56a07f7fdeca578d62fc
   - URL: 'https://golang.org/dl/go[% c("var/go14_version") %].src.tar.gz'
 name: go14
 sha256sum: 9947fc705b0b841b5938c48b22dc33e9647ec0752bae66e50278df4f23f64959



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


[tor-commits] [tor-browser-build/master] fixup! Bug 31465: Set proper MACOSX_DEPLOYMENT_TARGET for tor and libevent

2019-08-22 Thread gk
commit 0be0e0461475a29b5c01ad3b841030633c345179
Author: Nicolas Vigier 
Date:   Wed Aug 21 20:16:38 2019 +0200

fixup! Bug 31465: Set proper MACOSX_DEPLOYMENT_TARGET for tor and libevent
---
 projects/libevent/build | 2 +-
 projects/tor/build  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/projects/libevent/build b/projects/libevent/build
index 0ec76b6..de9ba80 100644
--- a/projects/libevent/build
+++ b/projects/libevent/build
@@ -9,7 +9,7 @@ cd /var/tmp/build/[% project %]-[% c('version') %]
   patch -p1 < $rootdir/autotools-openssl-mac.patch
   # Setting this after `configure` but before `make` might be enough, but let's
   # not bet on that and just set it here.
-  export MACOSX_DEPLOYMENT_TARGET=10.9
+  export MACOSX_DEPLOYMENT_TARGET=[% c("var/macosx_deployment_target") %]
 [% END -%]
 ./autogen.sh
 ./configure --disable-static [% c("var/configure_opt") %] --prefix=$distdir
diff --git a/projects/tor/build b/projects/tor/build
index 8737716..6b684a0 100644
--- a/projects/tor/build
+++ b/projects/tor/build
@@ -73,7 +73,7 @@ openssldir=/var/tmp/dist/openssl
 [% IF c("var/osx") %]
   cp $libeventdir/lib/libevent-*.dylib $TORBINDIR/
   # The target version needs to be set before the configure step.
-  export MACOSX_DEPLOYMENT_TARGET=10.9
+  export MACOSX_DEPLOYMENT_TARGET=[% c("var/macosx_deployment_target") %]
 [% END %]
 
 cd /var/tmp/build/[% project %]-[% c('version') %]



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


[tor-commits] [tor-browser-build/master] Merge remote-tracking branch 'boklm/bug_31465'

2019-08-22 Thread gk
commit 039f83d716b5050d6faeda8e1bbce3a674a9f2d5
Merge: e9ff867 0be0e04
Author: Georg Koppen 
Date:   Thu Aug 22 06:36:28 2019 +

Merge remote-tracking branch 'boklm/bug_31465'

 projects/go-webrtc/config | 6 +++---
 projects/libevent/build   | 3 +++
 projects/rust/build   | 6 +++---
 projects/snowflake/build  | 6 +++---
 projects/snowflake/config | 1 +
 projects/tor/build| 2 ++
 projects/webrtc/build | 4 ++--
 rbm.conf  | 1 +
 8 files changed, 18 insertions(+), 11 deletions(-)

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


[tor-commits] [tor-browser-build/master] Bug 31465: Make SDK version explicit in directory

2019-08-22 Thread gk
commit 859c6e9dd35010047749372791062e47d2464eea
Author: Georg Koppen 
Date:   Tue Aug 20 11:00:41 2019 +

Bug 31465: Make SDK version explicit in directory
---
 projects/firefox/mozconfig-osx-x86_64 | 2 +-
 projects/macosx-toolchain/build   | 2 +-
 projects/macosx-toolchain/config  | 2 +-
 projects/rust/build   | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/projects/firefox/mozconfig-osx-x86_64 
b/projects/firefox/mozconfig-osx-x86_64
index 5d82d12..188bcc9 100644
--- a/projects/firefox/mozconfig-osx-x86_64
+++ b/projects/firefox/mozconfig-osx-x86_64
@@ -4,7 +4,7 @@ TOOLCHAIN_DIR=/var/tmp/dist/macosx-toolchain
 mk_add_options "export LD_LIBRARY_PATH=$TOOLCHAIN_DIR/clang/lib"
 
 CROSS_CCTOOLS_PATH=$TOOLCHAIN_DIR/cctools
-CROSS_SYSROOT=$TOOLCHAIN_DIR/SDK
+CROSS_SYSROOT=$TOOLCHAIN_DIR/MacOSX10.11.sdk
 CROSS_PRIVATE_FRAMEWORKS=$CROSS_SYSROOT/System/Library/PrivateFrameworks
 HARDENING_FLAGS="-Werror=format -Werror=format-security 
-fstack-protector-strong -D_FORTIFY_SOURCE=2"
 FLAGS="-target x86_64-apple-darwin11 -B $CROSS_CCTOOLS_PATH/bin -isysroot 
$CROSS_SYSROOT $HARDENING_FLAGS"
diff --git a/projects/macosx-toolchain/build b/projects/macosx-toolchain/build
index c9cd282..f306302 100644
--- a/projects/macosx-toolchain/build
+++ b/projects/macosx-toolchain/build
@@ -3,7 +3,7 @@
 distdir="/var/tmp/dist/[% project %]"
 mkdir -p "$distdir"
 tar xjf [% c('input_files_by_name/SDK') %]
-mv MacOSX10.11.sdk "$distdir/SDK"
+mv MacOSX10.11.sdk "$distdir/"
 tar xf [% c('input_files_by_name/clang') %]
 mv clang "$distdir/clang"
 tar -C $distdir -xf [% c('input_files_by_name/cctools') %]
diff --git a/projects/macosx-toolchain/config b/projects/macosx-toolchain/config
index 57e471f..b7d5a39 100644
--- a/projects/macosx-toolchain/config
+++ b/projects/macosx-toolchain/config
@@ -7,7 +7,7 @@ var:
   setup: |
 mkdir -p /var/tmp/dist
 tar -C /var/tmp/dist -xf $rootdir/[% c("compiler_tarfile") %]
-export sysrootdir=/var/tmp/dist/[% project %]/SDK/
+export sysrootdir=/var/tmp/dist/[% project %]/MacOSX10.11.sdk/
 export clangdir=/var/tmp/dist/[% project %]/clang
 export cctoolsdir=/var/tmp/dist/[% project %]/cctools/bin
 export PATH="$clangdir/bin:$cctoolsdir:$PATH"
diff --git a/projects/rust/build b/projects/rust/build
index 592c6ea..9624c2f 100644
--- a/projects/rust/build
+++ b/projects/rust/build
@@ -40,7 +40,7 @@ export PATH="$distdir-rust-old/bin:$PATH"
   cat > $distdir/helper/x86_64-apple-darwin-clang << 'EOF'
 #!/bin/sh
 BASEDIR=/var/tmp/dist/macosx-toolchain
-$BASEDIR/cctools/bin/x86_64-apple-darwin-clang -target x86_64-apple-darwin -B 
$BASEDIR/cctools/bin -isysroot $BASEDIR/SDK/ -Wl,-syslibroot,$BASEDIR/SDK/ 
-Wl,-dead_strip -Wl,-pie "$@"
+$BASEDIR/cctools/bin/x86_64-apple-darwin-clang -target x86_64-apple-darwin -B 
$BASEDIR/cctools/bin -isysroot $BASEDIR/MacOSX10.11.sdk/ 
-Wl,-syslibroot,$BASEDIR/MacOSX10.11.sdk/ -Wl,-dead_strip -Wl,-pie "$@"
 EOF
 
   chmod +x $distdir/helper/x86_64-apple-darwin-clang



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


[tor-commits] [tor-browser-build/master] Bug 30323: Bump MACOSX_DEPLOYMENT_TARGET

2019-08-22 Thread gk
commit 3c36d79abdb6b56c67ff42f844c6f8a2d6dbce3c
Author: Georg Koppen 
Date:   Mon Aug 19 18:19:43 2019 +

Bug 30323: Bump MACOSX_DEPLOYMENT_TARGET
---
 projects/rust/build   | 4 ++--
 projects/snowflake/build  | 6 +++---
 projects/snowflake/config | 1 +
 projects/webrtc/build | 4 ++--
 4 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/projects/rust/build b/projects/rust/build
index 633604c..592c6ea 100644
--- a/projects/rust/build
+++ b/projects/rust/build
@@ -17,10 +17,10 @@ export PATH="$distdir-rust-old/bin:$PATH"
   # (i.e. Linux).
   unset CC
   unset LDFLAGS
-  # Target 10.7 as our toolchain does. Without this explicit declaration Bad
+  # Target 10.9 as our toolchain does. Without this explicit declaration Bad
   # Things will happen, as a lot of dependent code then assumes that the
   # official macOS target, x86_64-apple-darwin, essentially means 10.4.
-  export MACOSX_DEPLOYMENT_TARGET=10.7
+  export MACOSX_DEPLOYMENT_TARGET=10.9
   # The Rust target for macOS is x86_64-apple-darwin, yet our toolchain is 
built
   # for x86_64-apple-darwin11. We can't mix those targets as clang gets 
confused
   # that way. Changing the Rust target to x86_64-apple-darwin11 would require a
diff --git a/projects/snowflake/build b/projects/snowflake/build
index daeb185..ae0ebea 100644
--- a/projects/snowflake/build
+++ b/projects/snowflake/build
@@ -16,9 +16,9 @@ distdir=/var/tmp/dist/[% project %]
 mkdir -p $PTDIR $DOCSDIR
 [% IF c("var/osx") %]
   export CGO_ENABLED=1
-  export CGO_CFLAGS="[% c("var/FLAGS") %] -mmacosx-version-min=10.7"
-  export CGO_CXXFLAGS="[% c("var/FLAGS") %] -stdlib=libc++ 
-mmacosx-version-min=10.7"
-  export CGO_LDFLAGS="[% c("var/FLAGS") %] -stdlib=libc++ 
-mmacosx-version-min=10.7"
+  export CGO_CFLAGS="[% c("var/FLAGS") %] -mmacosx-version-min=10.9"
+  export CGO_CXXFLAGS="[% c("var/FLAGS") %] -stdlib=libc++ 
-mmacosx-version-min=10.9"
+  export CGO_LDFLAGS="[% c("var/FLAGS") %] -stdlib=libc++ 
-mmacosx-version-min=10.9"
   export CC="$clangdir/bin/clang"
   export CXX="$clangdir/bin/clang++"
 [% END %]
diff --git a/projects/snowflake/config b/projects/snowflake/config
index 468b704..cef0930 100644
--- a/projects/snowflake/config
+++ b/projects/snowflake/config
@@ -22,6 +22,7 @@ targets:
   osx-x86_64:
 var:
   arch_deps:
+- pkg-config
 - faketime
 
 input_files:
diff --git a/projects/webrtc/build b/projects/webrtc/build
index ecbccb3..e84a0b1 100644
--- a/projects/webrtc/build
+++ b/projects/webrtc/build
@@ -66,7 +66,7 @@ print("$sysrootdir")
 print("10.11")
 EOF
   cat < build/config/mac/sdk_info.py
-print("machine_os_build=\"10.7\"")
+print("machine_os_build=\"10.9\"")
 print("sdk_build=\"10.11\"")
 print("sdk_path=\"$sysrootdir\"")
 print("sdk_platform_path=\"$sysrootdir\"")
@@ -115,7 +115,7 @@ GN_ARGS+=" use_custom_libcxx=false"
   #GN_ARGS+=" rtc_include_tests=false"
 [% END -%]
 [% IF c("var/osx") -%]
-  GN_ARGS+=" target_os=\"mac\" target_cpu=\"x64\" 
mac_deployment_target=\"10.7\""
+  GN_ARGS+=" target_os=\"mac\" target_cpu=\"x64\" 
mac_deployment_target=\"10.9\""
   GN_ARGS+=" clang_use_chrome_plugins=false"
   GN_ARGS+=" clang_base_path=\"$clangdir\""
   # No lld in our toolchain currently.



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


[tor-commits] [tor-browser-build/master] fixup! Bug 30323: Bump MACOSX_DEPLOYMENT_TARGET

2019-08-22 Thread gk
commit 7a01c99641fcdc88a94c94dccb2698fbb7d82bee
Author: Nicolas Vigier 
Date:   Wed Aug 21 20:15:29 2019 +0200

fixup! Bug 30323: Bump MACOSX_DEPLOYMENT_TARGET
---
 projects/go-webrtc/config | 6 +++---
 projects/rust/build   | 4 ++--
 projects/snowflake/build  | 6 +++---
 projects/webrtc/build | 4 ++--
 rbm.conf  | 1 +
 5 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/projects/go-webrtc/config b/projects/go-webrtc/config
index ba1e801..fcf6e89 100644
--- a/projects/go-webrtc/config
+++ b/projects/go-webrtc/config
@@ -27,9 +27,9 @@ var:
 [% END -%]
 [% IF c("var/osx") -%]
   export CGO_ENABLED=1
-  export CGO_CFLAGS="[% c("var/FLAGS") %] -mmacosx-version-min=10.7"
-  export CGO_CXXFLAGS="[% c("var/FLAGS") %] -stdlib=libc++ 
-mmacosx-version-min=10.7"
-  export CGO_LDFLAGS="[% c("var/FLAGS") %] -stdlib=libc++ 
-mmacosx-version-min=10.7"
+  export CGO_CFLAGS="[% c("var/FLAGS") %] -mmacosx-version-min=[% 
c("var/macosx_deployment_target") %]"
+  export CGO_CXXFLAGS="[% c("var/FLAGS") %] -stdlib=libc++ 
-mmacosx-version-min=[% c("var/macosx_deployment_target") %]"
+  export CGO_LDFLAGS="[% c("var/FLAGS") %] -stdlib=libc++ 
-mmacosx-version-min=[% c("var/macosx_deployment_target") %]"
   export CC="$clangdir/bin/clang"
   export CXX="$clangdir/bin/clang++"
 [% END -%]
diff --git a/projects/rust/build b/projects/rust/build
index 9624c2f..5cf8c02 100644
--- a/projects/rust/build
+++ b/projects/rust/build
@@ -20,12 +20,12 @@ export PATH="$distdir-rust-old/bin:$PATH"
   # Target 10.9 as our toolchain does. Without this explicit declaration Bad
   # Things will happen, as a lot of dependent code then assumes that the
   # official macOS target, x86_64-apple-darwin, essentially means 10.4.
-  export MACOSX_DEPLOYMENT_TARGET=10.9
+  export MACOSX_DEPLOYMENT_TARGET=[% c("var/macosx_deployment_target") %]
   # The Rust target for macOS is x86_64-apple-darwin, yet our toolchain is 
built
   # for x86_64-apple-darwin11. We can't mix those targets as clang gets 
confused
   # that way. Changing the Rust target to x86_64-apple-darwin11 would require a
   # fair amount of patching, thus we create symlinks to provide Rust with the
-  # necessary tools while using our toolchain underneath, targeting 10.7.
+  # necessary tools while using our toolchain underneath, targeting 10.9.
   cd $cctoolsdir
   for f in `ls x86_64-apple-darwin11-*`; do
 ln -s $f ${f//x86_64-apple-darwin11/x86_64-apple-darwin}
diff --git a/projects/snowflake/build b/projects/snowflake/build
index ae0ebea..6534329 100644
--- a/projects/snowflake/build
+++ b/projects/snowflake/build
@@ -16,9 +16,9 @@ distdir=/var/tmp/dist/[% project %]
 mkdir -p $PTDIR $DOCSDIR
 [% IF c("var/osx") %]
   export CGO_ENABLED=1
-  export CGO_CFLAGS="[% c("var/FLAGS") %] -mmacosx-version-min=10.9"
-  export CGO_CXXFLAGS="[% c("var/FLAGS") %] -stdlib=libc++ 
-mmacosx-version-min=10.9"
-  export CGO_LDFLAGS="[% c("var/FLAGS") %] -stdlib=libc++ 
-mmacosx-version-min=10.9"
+  export CGO_CFLAGS="[% c("var/FLAGS") %] -mmacosx-version-min=[% 
c("var/macosx_deployment_target") %]"
+  export CGO_CXXFLAGS="[% c("var/FLAGS") %] -stdlib=libc++ 
-mmacosx-version-min=[% c("var/macosx_deployment_target") %]"
+  export CGO_LDFLAGS="[% c("var/FLAGS") %] -stdlib=libc++ 
-mmacosx-version-min=[% c("var/macosx_deployment_target") %]"
   export CC="$clangdir/bin/clang"
   export CXX="$clangdir/bin/clang++"
 [% END %]
diff --git a/projects/webrtc/build b/projects/webrtc/build
index e84a0b1..77d4026 100644
--- a/projects/webrtc/build
+++ b/projects/webrtc/build
@@ -66,7 +66,7 @@ print("$sysrootdir")
 print("10.11")
 EOF
   cat < build/config/mac/sdk_info.py
-print("machine_os_build=\"10.9\"")
+print("machine_os_build=\"[% c("var/macosx_deployment_target") %]\"")
 print("sdk_build=\"10.11\"")
 print("sdk_path=\"$sysrootdir\"")
 print("sdk_platform_path=\"$sysrootdir\"")
@@ -115,7 +115,7 @@ GN_ARGS+=" use_custom_libcxx=false"
   #GN_ARGS+=" rtc_include_tests=false"
 [% END -%]
 [% IF c("var/osx") -%]
-  GN_ARGS+=" target_os=\"mac\" target_cpu=\"x64\" 
mac_deployment_target=\"10.9\""
+  GN_ARGS+=" target_os=\"mac\" target_cpu=\"x64\" mac_deployment_target=\"[% 
c("var/macosx_deployment_target") %]\""
   GN_ARGS+=" clang_use_chrome_plugins=false"
   GN_ARGS+=" clang_base_path=\"$clangdir\""
   # No lld in our toolchain currently.
diff --git a/rbm.conf b/rbm.conf
index d6c0926..c7c3320 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -334,6 +334,7 @@ targets:
   configure_opt: '--host=x86_64-apple-darwin11 
CC="x86_64-apple-darwin11-clang [% c("var/FLAGS") %]" 
CXX="x86_64-apple-darwin11-clang++ [% c("var/FLAGS") %]"'
   FLAGS: "-target x86_64-apple-darwin11 -B $cctoolsdir -isysroot 
$sysrootdir"
   LDFLAGS: "-Wl,-syslibroot,$sysrootdir -Wl,-dead_strip -Wl,-pie"
+  macosx_deployment_target: '10.9'
   locale_ja: ja-JP-mac
   # We only build snowflake for linux and macOS on the alpha and nightly
  

[tor-commits] [tor-browser-build/master] Bug 31465: Set proper MACOSX_DEPLOYMENT_TARGET for tor and libevent

2019-08-22 Thread gk
commit 4c6a14cd4d4cbd539302264d9cc9228a0f2b6074
Author: Georg Koppen 
Date:   Tue Aug 20 08:37:38 2019 +

Bug 31465: Set proper MACOSX_DEPLOYMENT_TARGET for tor and libevent
---
 projects/libevent/build | 3 +++
 projects/tor/build  | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/projects/libevent/build b/projects/libevent/build
index 00ee78c..0ec76b6 100644
--- a/projects/libevent/build
+++ b/projects/libevent/build
@@ -7,6 +7,9 @@ tar -C /var/tmp/build -xf [% project %]-[% c('version') 
%].tar.gz
 cd /var/tmp/build/[% project %]-[% c('version') %]
 [% IF c("var/osx") -%]
   patch -p1 < $rootdir/autotools-openssl-mac.patch
+  # Setting this after `configure` but before `make` might be enough, but let's
+  # not bet on that and just set it here.
+  export MACOSX_DEPLOYMENT_TARGET=10.9
 [% END -%]
 ./autogen.sh
 ./configure --disable-static [% c("var/configure_opt") %] --prefix=$distdir
diff --git a/projects/tor/build b/projects/tor/build
index 8c8ed45..8737716 100644
--- a/projects/tor/build
+++ b/projects/tor/build
@@ -72,6 +72,8 @@ openssldir=/var/tmp/dist/openssl
 
 [% IF c("var/osx") %]
   cp $libeventdir/lib/libevent-*.dylib $TORBINDIR/
+  # The target version needs to be set before the configure step.
+  export MACOSX_DEPLOYMENT_TARGET=10.9
 [% END %]
 
 cd /var/tmp/build/[% project %]-[% c('version') %]



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