[tor-commits] [tor/master] relay: Disable relay_sys when the relay module is disabled

2019-11-14 Thread teor
commit 0df8bcfb6fc31fabccf480f5a153174360dffc7a
Author: teor 
Date:   Thu Nov 14 16:27:06 2019 +1000

relay: Disable relay_sys when the relay module is disabled

Closes ticket 32245.
---
 changes/ticket32245   | 3 +++
 src/app/main/subsystem_list.c | 4 +++-
 src/core/include.am   | 2 +-
 src/feature/dirauth/dirauth_sys.h | 4 
 src/feature/relay/relay_sys.h | 4 
 5 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/changes/ticket32245 b/changes/ticket32245
new file mode 100644
index 0..fc79e748b
--- /dev/null
+++ b/changes/ticket32245
@@ -0,0 +1,3 @@
+  o Code simplification and refactoring:
+- Disable relay_sys when the relay module is disabled.
+  Closes ticket 32245.
diff --git a/src/app/main/subsystem_list.c b/src/app/main/subsystem_list.c
index 4a40702e7..a343207c1 100644
--- a/src/app/main/subsystem_list.c
+++ b/src/app/main/subsystem_list.c
@@ -18,7 +18,6 @@
 #include "core/or/or_sys.h"
 #include "core/or/orconn_event_sys.h"
 #include "feature/control/btrack_sys.h"
-#include "feature/relay/relay_sys.h"
 #include "lib/compress/compress_sys.h"
 #include "lib/crypt_ops/crypto_sys.h"
 #include "lib/err/torerr_sys.h"
@@ -33,6 +32,7 @@
 #include "lib/evloop/evloop_sys.h"
 
 #include "feature/dirauth/dirauth_sys.h"
+#include "feature/relay/relay_sys.h"
 
 #include 
 
@@ -66,7 +66,9 @@ const subsys_fns_t *tor_subsystems[] = {
   _mainloop,
   _or,
 
+#ifdef HAVE_MODULE_RELAY
   _relay,
+#endif
 
 #ifdef HAVE_MODULE_DIRAUTH
   _dirauth,
diff --git a/src/core/include.am b/src/core/include.am
index 5cafc4121..868e3c49d 100644
--- a/src/core/include.am
+++ b/src/core/include.am
@@ -143,7 +143,6 @@ LIBTOR_APP_A_SOURCES =  \
src/feature/relay/dns.c \
src/feature/relay/ext_orport.c  \
src/feature/relay/onion_queue.c \
-   src/feature/relay/relay_sys.c   \
src/feature/relay/router.c  \
src/feature/relay/routerkeys.c  \
src/feature/relay/selftest.c\
@@ -174,6 +173,7 @@ MODULE_RELAY_SOURCES =  
\
src/feature/relay/routermode.c  \
src/feature/relay/relay_config.c\
src/feature/relay/relay_periodic.c  \
+   src/feature/relay/relay_sys.c   \
src/feature/relay/transport_config.c
 
 # The Directory Authority module.
diff --git a/src/feature/dirauth/dirauth_sys.h 
b/src/feature/dirauth/dirauth_sys.h
index 2d5a0cb3e..86c8d8ba3 100644
--- a/src/feature/dirauth/dirauth_sys.h
+++ b/src/feature/dirauth/dirauth_sys.h
@@ -12,6 +12,10 @@
 #ifndef DIRAUTH_SYS_H
 #define DIRAUTH_SYS_H
 
+#ifdef HAVE_MODULE_DIRAUTH
+
 extern const struct subsys_fns_t sys_dirauth;
 
+#endif
+
 #endif /* !defined(DIRAUTH_SYS_H) */
diff --git a/src/feature/relay/relay_sys.h b/src/feature/relay/relay_sys.h
index 32e21d90d..aa387369b 100644
--- a/src/feature/relay/relay_sys.h
+++ b/src/feature/relay/relay_sys.h
@@ -12,6 +12,10 @@
 #ifndef TOR_FEATURE_RELAY_RELAY_SYS_H
 #define TOR_FEATURE_RELAY_RELAY_SYS_H
 
+#ifdef HAVE_MODULE_RELAY
+
 extern const struct subsys_fns_t sys_relay;
 
+#endif
+
 #endif /* !defined(TOR_FEATURE_RELAY_RELAY_SYS_H) */



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


[tor-commits] [tor/master] Run "make autostyle"

2019-11-14 Thread teor
commit d19f370aa2dbffe72587b6af9f7119a36ea7c25a
Author: teor 
Date:   Thu Nov 14 16:28:39 2019 +1000

Run "make autostyle"
---
 src/app/main/subsysmgr.c   | 2 +-
 src/feature/relay/relay_periodic.h | 4 ++--
 src/lib/conf/confdecl.h| 2 +-
 src/lib/crypt_ops/crypto_openssl_mgt.c | 2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/app/main/subsysmgr.c b/src/app/main/subsysmgr.c
index 8be4a7d75..ca23b5df9 100644
--- a/src/app/main/subsysmgr.c
+++ b/src/app/main/subsysmgr.c
@@ -385,7 +385,7 @@ subsystems_get_state_idx(const subsys_fns_t *sys)
   tor_assert(i >= 0);
   return sys_status[i].state_idx;
 }
-#endif
+#endif /* defined(TOR_UNIT_TESTS) */
 
 /**
  * Call all appropriate set_options() methods to tell the various subsystems
diff --git a/src/feature/relay/relay_periodic.h 
b/src/feature/relay/relay_periodic.h
index 8da5b536a..84bc8a978 100644
--- a/src/feature/relay/relay_periodic.h
+++ b/src/feature/relay/relay_periodic.h
@@ -17,7 +17,7 @@
 void relay_register_periodic_events(void);
 void reschedule_descriptor_update_check(void);
 
-#else
+#else /* !defined(HAVE_MODULE_RELAY) */
 
 #include "lib/cc/compat_compiler.h"
 
@@ -26,6 +26,6 @@ void reschedule_descriptor_update_check(void);
 #define reschedule_descriptor_update_check() \
   STMT_NIL
 
-#endif
+#endif /* defined(HAVE_MODULE_RELAY) */
 
 #endif /* !defined(TOR_FEATURE_RELAY_RELAY_PERIODIC_H) */
diff --git a/src/lib/conf/confdecl.h b/src/lib/conf/confdecl.h
index 26c71e1d4..294a1e717 100644
--- a/src/lib/conf/confdecl.h
+++ b/src/lib/conf/confdecl.h
@@ -134,7 +134,7 @@
.initvalue = initval \
   },
 /**@}*/
-#endif
+#endif /* !defined(COCCI) */
 
 /** Type aliases for the "commonly used" configuration types.
  *
diff --git a/src/lib/crypt_ops/crypto_openssl_mgt.c 
b/src/lib/crypt_ops/crypto_openssl_mgt.c
index 20c61696c..e867012f4 100644
--- a/src/lib/crypt_ops/crypto_openssl_mgt.c
+++ b/src/lib/crypt_ops/crypto_openssl_mgt.c
@@ -296,7 +296,7 @@ crypto_openssl_init_engines(const char *accelName,
 return -1;
   }
   return 0;
-#else
+#else /* !defined(DISABLE_ENGINES) */
   ENGINE *e = NULL;
 
   log_info(LD_CRYPTO, "Initializing OpenSSL engine support.");



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


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

2019-11-14 Thread teor
commit b58e5091b7f442568a10e949fec4ee901c809b12
Merge: d8d36c7dc ef00b1ce0
Author: teor 
Date:   Fri Nov 15 12:11:22 2019 +1000

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

 changes/ticket32163|  3 +++
 src/feature/dirauth/reachability.h | 31 +++
 src/feature/nodelist/routerlist.c  |  2 --
 3 files changed, 14 insertions(+), 22 deletions(-)



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


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

2019-11-14 Thread teor
commit 825f52784d875ee580fe82619302a21c958d77ea
Merge: b58e5091b d19f370aa
Author: teor 
Date:   Fri Nov 15 12:11:32 2019 +1000

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

 changes/ticket32244|  3 +++
 changes/ticket32245|  3 +++
 src/app/main/subsysmgr.c   |  2 +-
 src/app/main/subsystem_list.c  |  4 +++-
 src/core/include.am|  4 ++--
 src/feature/dirauth/dirauth_sys.h  |  4 
 src/feature/relay/relay_periodic.h | 13 +
 src/feature/relay/relay_sys.h  |  4 
 src/lib/conf/confdecl.h|  2 +-
 src/lib/crypt_ops/crypto_openssl_mgt.c |  2 +-
 10 files changed, 35 insertions(+), 6 deletions(-)

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


[tor-commits] [tor/master] relay: Disable relay_periodic when the relay module is disabled

2019-11-14 Thread teor
commit 88c2a23c4b3954b321d2247ca3d66cff68e1912d
Author: teor 
Date:   Thu Nov 14 16:17:17 2019 +1000

relay: Disable relay_periodic when the relay module is disabled

Closes ticket 32244.
---
 changes/ticket32244|  3 +++
 src/core/include.am|  2 +-
 src/feature/relay/relay_periodic.h | 13 +
 3 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/changes/ticket32244 b/changes/ticket32244
new file mode 100644
index 0..b3690b7d8
--- /dev/null
+++ b/changes/ticket32244
@@ -0,0 +1,3 @@
+  o Code simplification and refactoring:
+- Disable relay_periodic when the relay module is disabled.
+  Closes ticket 32244.
diff --git a/src/core/include.am b/src/core/include.am
index 193b10a1c..5cafc4121 100644
--- a/src/core/include.am
+++ b/src/core/include.am
@@ -143,7 +143,6 @@ LIBTOR_APP_A_SOURCES =  \
src/feature/relay/dns.c \
src/feature/relay/ext_orport.c  \
src/feature/relay/onion_queue.c \
-   src/feature/relay/relay_periodic.c  \
src/feature/relay/relay_sys.c   \
src/feature/relay/router.c  \
src/feature/relay/routerkeys.c  \
@@ -174,6 +173,7 @@ LIBTOR_APP_TESTING_A_SOURCES = $(LIBTOR_APP_A_SOURCES)
 MODULE_RELAY_SOURCES = \
src/feature/relay/routermode.c  \
src/feature/relay/relay_config.c\
+   src/feature/relay/relay_periodic.c  \
src/feature/relay/transport_config.c
 
 # The Directory Authority module.
diff --git a/src/feature/relay/relay_periodic.h 
b/src/feature/relay/relay_periodic.h
index b6ea83c74..8da5b536a 100644
--- a/src/feature/relay/relay_periodic.h
+++ b/src/feature/relay/relay_periodic.h
@@ -12,7 +12,20 @@
 #ifndef TOR_FEATURE_RELAY_RELAY_PERIODIC_H
 #define TOR_FEATURE_RELAY_RELAY_PERIODIC_H
 
+#ifdef HAVE_MODULE_RELAY
+
 void relay_register_periodic_events(void);
 void reschedule_descriptor_update_check(void);
 
+#else
+
+#include "lib/cc/compat_compiler.h"
+
+#define relay_register_periodic_events() \
+  STMT_NIL
+#define reschedule_descriptor_update_check() \
+  STMT_NIL
+
+#endif
+
 #endif /* !defined(TOR_FEATURE_RELAY_RELAY_PERIODIC_H) */



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


[tor-commits] [tor/master] dirauth: Remove a HAVE_MODULE_DIRAUTH inside a function

2019-11-14 Thread teor
commit ef00b1ce0fee88a6b4bac0baa4798f55f7a0a20f
Author: teor 
Date:   Thu Nov 14 15:43:27 2019 +1000

dirauth: Remove a HAVE_MODULE_DIRAUTH inside a function

There are now no HAVE_MODULE_{DIRAUTH,RELAY} inside functions.

Closes ticket 32163.
---
 changes/ticket32163|  3 +++
 src/feature/dirauth/reachability.h | 31 +++
 src/feature/nodelist/routerlist.c  |  2 --
 3 files changed, 14 insertions(+), 22 deletions(-)

diff --git a/changes/ticket32163 b/changes/ticket32163
new file mode 100644
index 0..06ea838f0
--- /dev/null
+++ b/changes/ticket32163
@@ -0,0 +1,3 @@
+  o Code simplification and refactoring:
+- Remove the last remaining HAVE_MODULE_DIRAUTH inside a function.
+  Closes ticket 32163.
diff --git a/src/feature/dirauth/reachability.h 
b/src/feature/dirauth/reachability.h
index 46d0e7ee2..d100908de 100644
--- a/src/feature/dirauth/reachability.h
+++ b/src/feature/dirauth/reachability.h
@@ -24,10 +24,10 @@
 #define REACHABILITY_TEST_CYCLE_PERIOD \
   (REACHABILITY_TEST_INTERVAL*REACHABILITY_MODULO_PER_TEST)
 
+#ifdef HAVE_MODULE_DIRAUTH
 void dirserv_single_reachability_test(time_t now, routerinfo_t *router);
 void dirserv_test_reachability(time_t now);
 
-#ifdef HAVE_MODULE_DIRAUTH
 int dirserv_should_launch_reachability_test(const routerinfo_t *ri,
 const routerinfo_t *ri_old);
 void dirserv_orconn_tls_done(const tor_addr_t *addr,
@@ -35,25 +35,16 @@ void dirserv_orconn_tls_done(const tor_addr_t *addr,
  const char *digest_rcvd,
  const struct ed25519_public_key_t *ed_id_rcvd);
 #else /* !defined(HAVE_MODULE_DIRAUTH) */
-static inline int
-dirserv_should_launch_reachability_test(const routerinfo_t *ri,
-const routerinfo_t *ri_old)
-{
-  (void)ri;
-  (void)ri_old;
-  return 0;
-}
-static inline void
-dirserv_orconn_tls_done(const tor_addr_t *addr,
-uint16_t or_port,
-const char *digest_rcvd,
-const struct ed25519_public_key_t *ed_id_rcvd)
-{
-  (void)addr;
-  (void)or_port;
-  (void)digest_rcvd;
-  (void)ed_id_rcvd;
-}
+#define dirserv_single_reachability_test(now, router) \
+  (((void)(now)),((void)(router)))
+#define dirserv_test_reachability(now) \
+  (((void)(now)))
+
+#define dirserv_should_launch_reachability_test(ri, ri_old) \
+  (((void)(ri)),((void)(ri_old)),0)
+#define dirserv_orconn_tls_done(addr, or_port, digest_rcvd, ed_id_rcvd) \
+  (((void)(addr)),((void)(or_port)),((void)(digest_rcvd)), \
+   ((void)(ed_id_rcvd)))
 #endif /* defined(HAVE_MODULE_DIRAUTH) */
 
 #endif /* !defined(TOR_REACHABILITY_H) */
diff --git a/src/feature/nodelist/routerlist.c 
b/src/feature/nodelist/routerlist.c
index 0cd7a76a9..0709a3bbe 100644
--- a/src/feature/nodelist/routerlist.c
+++ b/src/feature/nodelist/routerlist.c
@@ -1936,9 +1936,7 @@ routerlist_descriptors_added(smartlist_t *sl, int 
from_cache)
   learned_bridge_descriptor(ri, from_cache);
 if (ri->needs_retest_if_added) {
   ri->needs_retest_if_added = 0;
-#ifdef HAVE_MODULE_DIRAUTH
   dirserv_single_reachability_test(approx_time(), ri);
-#endif
 }
   } SMARTLIST_FOREACH_END(ri);
 }



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


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

2019-11-14 Thread teor
commit d8d36c7dc336d7892178cb23aa4d195e06bf3e0d
Merge: 196be8ca2 d57a04b64
Author: teor 
Date:   Fri Nov 15 11:28:29 2019 +1000

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

 src/feature/dirauth/dirauth_config.h | 28 +++---
 src/feature/relay/relay_config.h | 72 ++--
 src/feature/relay/transport_config.h | 18 -
 3 files changed, 59 insertions(+), 59 deletions(-)

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


[tor-commits] [tor/master] Avoid redundant typedef of or_options_t and smartlist_t in *_config.h

2019-11-14 Thread teor
commit d57a04b6481a0cccd475c31ed5547767c4b9df89
Author: Nick Mathewson 
Date:   Thu Nov 14 10:52:21 2019 -0500

Avoid redundant typedef of or_options_t and smartlist_t in *_config.h

Fixes bug 32495.
---
 src/feature/dirauth/dirauth_config.h | 28 +++---
 src/feature/relay/relay_config.h | 72 ++--
 src/feature/relay/transport_config.h | 18 -
 3 files changed, 59 insertions(+), 59 deletions(-)

diff --git a/src/feature/dirauth/dirauth_config.h 
b/src/feature/dirauth/dirauth_config.h
index 655ab0a7f..b494ca685 100644
--- a/src/feature/dirauth/dirauth_config.h
+++ b/src/feature/dirauth/dirauth_config.h
@@ -12,31 +12,31 @@
 #ifndef TOR_FEATURE_DIRAUTH_DIRAUTH_CONFIG_H
 #define TOR_FEATURE_DIRAUTH_DIRAUTH_CONFIG_H
 
-typedef struct or_options_t or_options_t;
+struct or_options_t;
 
 #ifdef HAVE_MODULE_DIRAUTH
 
 #include "lib/cc/torint.h"
 
-int options_validate_dirauth_mode(const or_options_t *old_options,
-  or_options_t *options,
+int options_validate_dirauth_mode(const struct or_options_t *old_options,
+  struct or_options_t *options,
   char **msg);
 
-int options_validate_dirauth_bandwidth(const or_options_t *old_options,
-   or_options_t *options,
+int options_validate_dirauth_bandwidth(const struct or_options_t *old_options,
+   struct or_options_t *options,
char **msg);
 
-int options_validate_dirauth_schedule(const or_options_t *old_options,
-  or_options_t *options,
+int options_validate_dirauth_schedule(const struct or_options_t *old_options,
+  struct or_options_t *options,
   char **msg);
 
-int options_validate_dirauth_testing(const or_options_t *old_options,
- or_options_t *options,
+int options_validate_dirauth_testing(const struct or_options_t *old_options,
+ struct or_options_t *options,
  char **msg);
 
-int options_act_dirauth(const or_options_t *old_options);
-int options_act_dirauth_mtbf(const or_options_t *old_options);
-int options_act_dirauth_stats(const or_options_t *old_options,
+int options_act_dirauth(const struct or_options_t *old_options);
+int options_act_dirauth_mtbf(const struct or_options_t *old_options);
+int options_act_dirauth_stats(const struct or_options_t *old_options,
   bool *print_notice_out);
 
 #else /* !defined(HAVE_MODULE_DIRAUTH) */
@@ -47,8 +47,8 @@ int options_act_dirauth_stats(const or_options_t *old_options,
  * Returns -1 and sets msg to a newly allocated string, if AuthoritativeDir
  * is set in options. Otherwise returns 0. */
 static inline int
-options_validate_dirauth_mode(const or_options_t *old_options,
-  or_options_t *options,
+options_validate_dirauth_mode(const struct or_options_t *old_options,
+  struct or_options_t *options,
   char **msg)
 {
   (void)old_options;
diff --git a/src/feature/relay/relay_config.h b/src/feature/relay/relay_config.h
index 5c36b43bd..57e6ddf94 100644
--- a/src/feature/relay/relay_config.h
+++ b/src/feature/relay/relay_config.h
@@ -12,80 +12,80 @@
 #ifndef TOR_FEATURE_RELAY_RELAY_CONFIG_H
 #define TOR_FEATURE_RELAY_RELAY_CONFIG_H
 
-typedef struct or_options_t or_options_t;
+struct or_options_t;
 
 #ifdef HAVE_MODULE_RELAY
 
 #include "lib/cc/torint.h"
 #include "lib/testsupport/testsupport.h"
 
-typedef struct smartlist_t smartlist_t;
+struct smartlist_t;
 
-int options_validate_relay_mode(const or_options_t *old_options,
-or_options_t *options,
+int options_validate_relay_mode(const struct or_options_t *old_options,
+struct or_options_t *options,
 char **msg);
 
 MOCK_DECL(const char*, relay_get_dirportfrontpage, (void));
 void relay_config_free_all(void);
 
-uint32_t relay_get_effective_bwrate(const or_options_t *options);
-uint32_t relay_get_effective_bwburst(const or_options_t *options);
+uint32_t relay_get_effective_bwrate(const struct or_options_t *options);
+uint32_t relay_get_effective_bwburst(const struct or_options_t *options);
 
-void port_warn_nonlocal_ext_orports(const smartlist_t *ports,
+void port_warn_nonlocal_ext_orports(const struct smartlist_t *ports,
const char *portname);
 
-int port_parse_ports_relay(or_options_t *options,
+int port_parse_ports_relay(struct or_options_t *options,
   char **msg,
-  smartlist_t *ports_out,
+  struct smartlist_t *ports_out,
   int *have_low_ports_out);
-void 

[tor-commits] [translation/support-portal] https://gitweb.torproject.org/translation.git/commit/?h=support-portal

2019-11-14 Thread translation
commit 8524f3fcdc14a8607c7be9c3b146feccdb674c68
Author: Translation commit bot 
Date:   Fri Nov 15 00:53:11 2019 +

https://gitweb.torproject.org/translation.git/commit/?h=support-portal
---
 contents+ka.po | 26 ++
 1 file changed, 26 insertions(+)

diff --git a/contents+ka.po b/contents+ka.po
index 43ddec061..5c5679ed7 100644
--- a/contents+ka.po
+++ b/contents+ka.po
@@ -1079,6 +1079,9 @@ msgid ""
 " of the actual [onion routing project](https://www.onion-router.net/) run by"
 " the Naval Research Lab."
 msgstr ""
+"მართალია, onion-დამისამართება 
იქცა დასახელებად შიდა 
გამოყენებისა, Tor გაჩნდა"
+" [onion-დამისამართების პრ
ოექტისგან](https://www.onion-router.net/), რ
ომელიც "
+"გაეშვა საზღვაო კვლევით ლაბორ
ატორიაში."
 
 #: https//support.torproject.org/about/why-is-it-called-tor/
 #: (content/about/why-is-it-called-tor/contents+en.lrquestion.description)
@@ -2848,6 +2851,10 @@ msgid ""
 "Browser](https://support.torproject.org/#tbb-10), it is common for anti-"
 "virus / anti-malware software to cause this type of issue."
 msgstr ""
+"თუ იყენებთ ანტივირუსს, 
გთხოვთ იხილოთ [ჩემი ანტივირ
უსი ან მავნე "
+"პროგრამებისგან დაცვა 
მიზღუდავს Tor-ბრაუზერთან "
+"წვდომას](https://support.torproject.org/#tbb-10), ხშირ
ი შემთხვევაა, როცა "
+"ანტივირუსი ან მავნე პროგრ
ამებისგან დაცვა იწვევს ამ ხარ
ვეზს."
 
 #: https//support.torproject.org/tbb/tbb-43/
 #: (content/tbb/tbb-43/contents+en.lrquestion.title)
@@ -3044,6 +3051,8 @@ msgid ""
 "In practice, alas, it's [way more complex than that](https://fscked.org/blog;
 "/fully-automated-active-https-cookie-hijacking)."
 msgstr ""
+"პრაქტიკულად კი ვაი რომ [უფრო რ
თულადაა საქმე](https://fscked.org/blog/fully-;
+"automated-active-https-cookie-hijacking)."
 
 #: https//support.torproject.org/tbb/tbb-45/
 #: (content/tbb/tbb-45/contents+en.lrquestion.description)
@@ -3126,6 +3135,11 @@ msgid ""
 "but if you need NTLM authentication, you may find [this post in the "
 "archives](https://archives.seul.org/or/talk/Jun-2005/msg00223.html) useful."
 msgstr ""
+"აგრეთვე, გადახედეთ HTTPProxyAuthenticator 
და HTTPSProxyAuthenticator "
+"პარამეტრებს, თუ თქვენი პრ
ოქსი საჭიროებს ანგარიშზე 
შესვლას. ჩვენთან, "
+"მხარდაჭერილია მხოლოდ მარ
ტივი შესვლის შესაძლებლობა, 
მაგრამ თუ NTLM-დამოწმება "
+"გესაჭიროებათ, შეიძლება 
გამოგადგეთ [ეს პოსტი "
+"არ
ქივიდან](https://archives.seul.org/or/talk/Jun-2005/msg00223.html)."
 
 #: https//support.torproject.org/tbb/tbb-47/
 #: (content/tbb/tbb-47/contents+en.lrquestion.description)
@@ -4655,6 +4669,8 @@ msgid ""
 "See [portforward.com](https://portforward.com/) for directions on how to "
 "port forward with your NAT/router device."
 msgstr ""
+"იხილეთ [portforward.com](https://portforward.com/) 
მითითებებისთვის, თუ როგორ"
+" უნდა გადამისამართდეს პორ
ტები NAT/როუტერის 
გამოყენებისას."
 
 #: https//support.torproject.org/operators/behind-nat/
 #: (content/operators/behind-nat/contents+en.lrquestion.description)
@@ -5374,6 +5390,10 @@ msgid ""
 "Understanding and Improving Entry Guard Selection in "
 "Tor](https://www.freehaven.net/anonbib/cache/wpes12-cogs.pdf)."
 msgstr ""
+"ვრცლად, იხილეთ ეს 
[სვეტი](https://blog.torproject.org/blog/lifecycle-of-a;
+"-new-relay) ან [მცველების შეცვლა: 
შემავალი მცველის შერჩევის 
სქემა Tor-ში, "
+"უკეთ გაგებისა და "
+"გაუმჯობესებისთვის](https://www.freehaven.net/anonbib/cache/wpes12-cogs.pdf)."
 
 #: https//support.torproject.org/operators/offline-ed25519/
 #: (content/operators/offline-ed25519/contents+en.lrquestion.title)
@@ -9275,6 +9295,8 @@ msgid ""
 "BitTorrent in particular is [not anonymous over "
 

[tor-commits] [translation/donatepages-messagespot] https://gitweb.torproject.org/translation.git/commit/?h=donatepages-messagespot

2019-11-14 Thread translation
commit d35d5299fbb73ea90aea1446b59c71134972d616
Author: Translation commit bot 
Date:   Fri Nov 15 00:45:40 2019 +


https://gitweb.torproject.org/translation.git/commit/?h=donatepages-messagespot
---
 locale/ka/LC_MESSAGES/messages.po | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/locale/ka/LC_MESSAGES/messages.po 
b/locale/ka/LC_MESSAGES/messages.po
index 1dc16319a..a4f1c6128 100644
--- a/locale/ka/LC_MESSAGES/messages.po
+++ b/locale/ka/LC_MESSAGES/messages.po
@@ -965,7 +965,7 @@ msgstr ""
 
 #: 
tmp/cache_locale/af/af919ed4d7946ee7ed7d71a5580f4c75c5fb2b9374dd8d99d3a0671f71654f60.php:294
 msgid "how do you want to DONATE?"
-msgstr ""
+msgstr "აირჩიეთ, რითი გსურთ 
გააკეთოთ შემოწირ
ულობა?"
 
 #: 
tmp/cache_locale/af/af919ed4d7946ee7ed7d71a5580f4c75c5fb2b9374dd8d99d3a0671f71654f60.php:300
 #: 
tmp/cache_locale/93/936f5ca9f26662b60293a725343573df95cb28c99d7c3f12b1c94ed37a453012.php:336

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


[tor-commits] [translation/donatepages-messagespot] https://gitweb.torproject.org/translation.git/commit/?h=donatepages-messagespot

2019-11-14 Thread translation
commit 6cc87c9f888b6904810378512b29a1aec54c8abc
Author: Translation commit bot 
Date:   Thu Nov 14 21:15:45 2019 +


https://gitweb.torproject.org/translation.git/commit/?h=donatepages-messagespot
---
 locale/de/LC_MESSAGES/messages.po | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/locale/de/LC_MESSAGES/messages.po 
b/locale/de/LC_MESSAGES/messages.po
index e907ea8f8..0730af8d6 100644
--- a/locale/de/LC_MESSAGES/messages.po
+++ b/locale/de/LC_MESSAGES/messages.po
@@ -11,10 +11,11 @@
 # c8faa9c4b9d81319c5c2fd62ae3a9956, 2019
 # John Weber, 2019
 # Curtis Baltimore , 2019
+# Not AName , 2019
 # 
 msgid ""
 msgstr ""
-"Last-Translator: Curtis Baltimore , 2019\n"
+"Last-Translator: Not AName , 2019\n"
 "Language-Team: German (https://www.transifex.com/otf/teams/1519/de/)\n"
 "Language: de\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -673,7 +674,7 @@ msgstr "Tor: Stärke in Zahlen"
 
 #: 
tmp/cache_locale/af/af919ed4d7946ee7ed7d71a5580f4c75c5fb2b9374dd8d99d3a0671f71654f60.php:498
 msgid "Take back the Internet with Tor"
-msgstr ""
+msgstr "Erobere mit Tor das Internet zurück!"
 
 #: 
tmp/cache_locale/af/af919ed4d7946ee7ed7d71a5580f4c75c5fb2b9374dd8d99d3a0671f71654f60.php:522
 msgid "Choose your size."

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


[tor-commits] [translation/abouttor-homepage] https://gitweb.torproject.org/translation.git/commit/?h=abouttor-homepage

2019-11-14 Thread translation
commit a4e81ecd52fb937fd5a9d932c6c489af47be67c4
Author: Translation commit bot 
Date:   Thu Nov 14 21:15:06 2019 +

https://gitweb.torproject.org/translation.git/commit/?h=abouttor-homepage
---
 de/aboutTor.dtd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/de/aboutTor.dtd b/de/aboutTor.dtd
index 63d723915..2b2493cd6 100644
--- a/de/aboutTor.dtd
+++ b/de/aboutTor.dtd
@@ -34,4 +34,4 @@
 
 
 
-
+

___
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 'tor-github/pr/1537'

2019-11-14 Thread dgoulet
commit 196be8ca2648d4f4d43b83d0b4fce062d0b320a6
Merge: 1371d29e5 cf79ffaf1
Author: David Goulet 
Date:   Thu Nov 14 12:59:28 2019 -0500

Merge branch 'tor-github/pr/1537'

 src/test/test_circuitmux.c | 9 -
 1 file changed, 4 insertions(+), 5 deletions(-)

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


[tor-commits] [tor/master] Fix 32-bit warnings in test_circuitmux.c

2019-11-14 Thread dgoulet
commit cf79ffaf1ec7dbe017abff96f35a909eb8765458
Author: Nick Mathewson 
Date:   Thu Nov 14 11:04:06 2019 -0500

Fix 32-bit warnings in test_circuitmux.c

Fixes bug 32496; bug not in any released Tor.
---
 src/test/test_circuitmux.c | 9 -
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/src/test/test_circuitmux.c b/src/test/test_circuitmux.c
index 6d9e5c472..f0b046557 100644
--- a/src/test/test_circuitmux.c
+++ b/src/test/test_circuitmux.c
@@ -133,7 +133,7 @@ test_cmux_allocate(void *arg)
   tt_uint_op(cmux->n_active_circuits, OP_EQ, 0);
   tt_uint_op(cmux->n_cells, OP_EQ, 0);
   tt_uint_op(cmux->last_cell_was_destroy, OP_EQ, 0);
-  tt_int_op(cmux->destroy_ctr, OP_EQ, 0);
+  tt_i64_op(cmux->destroy_ctr, OP_EQ, 0);
   tt_ptr_op(cmux->policy, OP_EQ, NULL);
   tt_ptr_op(cmux->policy_data, OP_EQ, NULL);
 
@@ -418,14 +418,14 @@ test_cmux_xmit_cell(void *arg)
   /* Queue a DESTROY cell. */
   pchan->has_queued_writes = mock_has_queued_writes_true;
   circuitmux_append_destroy_cell(pchan, pchan->cmux, orcirc->p_circ_id, 0);
-  tt_int_op(pchan->cmux->destroy_ctr, OP_EQ, 1);
+  tt_i64_op(pchan->cmux->destroy_ctr, OP_EQ, 1);
   tt_int_op(pchan->cmux->destroy_cell_queue.n, OP_EQ, 1);
-  tt_int_op(circuitmux_count_queued_destroy_cells(pchan, pchan->cmux),
+  tt_i64_op(circuitmux_count_queued_destroy_cells(pchan, pchan->cmux),
 OP_EQ, 1);
 
   /* Emit the DESTROY cell. */
   circuitmux_notify_xmit_destroy(pchan->cmux);
-  tt_int_op(pchan->cmux->destroy_ctr, OP_EQ, 0);
+  tt_i64_op(pchan->cmux->destroy_ctr, OP_EQ, 0);
 
  done:
   free_fake_orcirc(orcirc);
@@ -478,4 +478,3 @@ struct testcase_t circuitmux_tests[] = {
 
   END_OF_TESTCASES
 };
-



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


[tor-commits] [translation/support-portal] https://gitweb.torproject.org/translation.git/commit/?h=support-portal

2019-11-14 Thread translation
commit 38c07f91ec57595bf5d3ac8b036d695f8e66163e
Author: Translation commit bot 
Date:   Thu Nov 14 16:53:18 2019 +

https://gitweb.torproject.org/translation.git/commit/?h=support-portal
---
 contents+fr.po | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/contents+fr.po b/contents+fr.po
index f4018bd3d..57b96d0f5 100644
--- a/contents+fr.po
+++ b/contents+fr.po
@@ -6,7 +6,6 @@
 # Emma Peel, 2019
 # PoorPockets McNewHold , 2019
 # AO , 2019
-# Adam Lynn , 2019
 # 
 msgid ""
 msgstr ""
@@ -14,7 +13,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2019-11-14 16:04+CET\n"
 "PO-Revision-Date: 2018-10-02 22:41+\n"
-"Last-Translator: Adam Lynn , 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"
@@ -8229,7 +8228,7 @@ msgstr "Assistance"
 #: https//support.torproject.org/misc/menu/
 #: (content/misc/menu/contents+en.lrquestion.description)
 msgid "Community"
-msgstr "Base de Connaissances Communautaire"
+msgstr "Communauté"
 
 #: https//support.torproject.org/misc/misc-1/
 #: (content/misc/misc-1/contents+en.lrquestion.title)

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


[tor-commits] [translation/tbmanual-contentspot] https://gitweb.torproject.org/translation.git/commit/?h=tbmanual-contentspot

2019-11-14 Thread translation
commit a7c2c036f2200849857197c0833d98150b2f921f
Author: Translation commit bot 
Date:   Thu Nov 14 16:49:59 2019 +

https://gitweb.torproject.org/translation.git/commit/?h=tbmanual-contentspot
---
 contents+fr.po | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/contents+fr.po b/contents+fr.po
index 2de365aff..3a30346c7 100644
--- a/contents+fr.po
+++ b/contents+fr.po
@@ -3,7 +3,6 @@
 # Curtis Baltimore , 2019
 # Nicolas Perraut , 2019
 # erinm, 2019
-# Adam Lynn , 2019
 # AO , 2019
 # 
 msgid ""
@@ -57,7 +56,7 @@ msgstr "Assistance"
 #: https//tb-manual.torproject.org/menu/
 #: (content/menu/contents+en.lrtopic.body)
 msgid "Community"
-msgstr "Base de Connaissances Communautaire"
+msgstr "Communauté"
 
 #: https//tb-manual.torproject.org/menu/
 #: (content/menu/contents+en.lrtopic.body)
@@ -2030,7 +2029,7 @@ msgstr ""
 #: (content/uninstalling/contents+en.lrtopic.body)
 msgid "* Locate the TorBrowser-Data folder and move it to Trash."
 msgstr ""
-"* Trouvez le dossier TorBrowser-Data et déplacez-le dans la corbeille."
+"* Trouvez le dossier TorBrowser-Data et déplacez-le vers la corbeille."
 
 #: https//tb-manual.torproject.org/uninstalling/
 #: (content/uninstalling/contents+en.lrtopic.body)

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


[tor-commits] [translation/donatepages-messagespot] https://gitweb.torproject.org/translation.git/commit/?h=donatepages-messagespot

2019-11-14 Thread translation
commit 26531bc489837a858434ac4bb2f5ef3656f8ec1a
Author: Translation commit bot 
Date:   Thu Nov 14 16:45:40 2019 +


https://gitweb.torproject.org/translation.git/commit/?h=donatepages-messagespot
---
 locale/fr/LC_MESSAGES/messages.po | 29 +
 1 file changed, 21 insertions(+), 8 deletions(-)

diff --git a/locale/fr/LC_MESSAGES/messages.po 
b/locale/fr/LC_MESSAGES/messages.po
index 1cbbba90e..222c36ea3 100644
--- a/locale/fr/LC_MESSAGES/messages.po
+++ b/locale/fr/LC_MESSAGES/messages.po
@@ -1969,10 +1969,10 @@ msgid ""
 "at helping the Tor project develop software design to protect people's "
 "anonymity. It does not, in itself, run the Tor network."
 msgstr ""
-"Le projet Tor gère de nombreuses machines en divers lieux, dont le but de "
-"toutes est d’aider le projet Tor à développer des logiciels conçus pour "
+"Le Projet Tor gère de nombreuses machines en divers lieux, dont le but de "
+"toutes est d’aider le Projet_Tor à développer des logiciels conçus pour "
 "protéger l’anonymat des gens. En tant que tel, il ne fait pas fonctionner 
le"
-" réseau Tor."
+" réseau Tor."
 
 #: 
tmp/cache_locale/7d/7d56367a61f987367eeb2a89d0c6db83fd0801cce86278bf7e99ed39b5b46254.php:601
 msgid ""
@@ -1985,8 +1985,8 @@ msgid ""
 "href=\"https://help.torproject.org/tsa/doc/hardware-requirements/\;>team "
 "wiki."
 msgstr ""
-"Les machines qui aident le projet Tor à développer des logiciels sont "
-"habituellement payées par le projet Tor ou données par des organismes "
+"Les machines qui aident le Projet Tor à développer des logiciels sont "
+"habituellement payées par le Projet Tor ou données par des organismes "
 "sympathisants. Si vous souhaitez faire don de ressources matérielles, il est"
 " généralement attendu que le matériel sera entièrement sous le contrôle 
de "
 "l’https://help.torproject.org/tsa/\;>équipe d’administration 
des "
@@ -2000,9 +2000,9 @@ msgid ""
 "already existing operating system as well, but we prefer to run the entire "
 "stack ourselves."
 msgstr ""
-"Il est possible que le Projet Tor ne fasse seulement fonctionner des "
-"services sur un système d’exploitation est existant, mais nous préférons 
"
-"gérer le tout nous-mêmes."
+"Il est possible que le Projet Tor fasse seulement fonctionner des *services*"
+" sur un système d’exploitation existant, mais nous préférons gérer le 
tout "
+"nous-mêmes."
 
 #: 
tmp/cache_locale/7d/7d56367a61f987367eeb2a89d0c6db83fd0801cce86278bf7e99ed39b5b46254.php:608
 msgid "https://help.torproject.org/tsa/\;>Tor Sysadmin Team"
@@ -2302,6 +2302,10 @@ msgid ""
 "censorship protections to the next level, and optimizing our development of "
 "Tor Browser for Android."
 msgstr ""
+"Grâce à votre soutien, nous pourrons entreprendre d’ambitieux projets, 
tels "
+"que l’augmentation de la capacité et de l’extensibilité du réseau 
Tor, faire"
+" passer nos protections anticensure au niveau supérieur et optimiser le "
+"développement de notre Navigateur Tor pour Android."
 
 #: 
tmp/cache_locale/12/12677df2d2a5991edb775c6909b7be7ca718fd00abd6950a809cda5ab878d2ce.php:76
 msgid ""
@@ -2316,6 +2320,9 @@ msgid ""
 "Tell family, friends, and colleagues that you're supporting privacy and "
 "security and taking back the internet with Tor!"
 msgstr ""
+"Dites à votre famille, à vos amis et à vos collègues que vous soutenez la 
"
+"vie privée, la protection des données personnelles et la sécurité en vous 
"
+"réappropriant Internet avec Tor."
 
 #: 
tmp/cache_locale/05/05c65ace52301a00198c48e1d823da2c14fbd489e7fb45efbca4e79e5709cbdb.php:53
 msgid "Processing Donation - Tor"
@@ -2332,6 +2339,12 @@ msgid ""
 "in our defense against the growing threats to privacy, freedom of "
 "expression, and access to information online."
 msgstr ""
+"Les Champions de la vie privée et de la protection des données personnelles 
"
+"apportent une contribution importante de 1 000 $ ou plus, créant ainsi 
une "
+"source de fonds stable et fiable pour nous aider à rester agile dans notre "
+"défense contre les menaces grandissantes à la vie privée et la protection "
+"des données personnelles, la liberté d’expression et à l’accès à "
+"l’information sur Internet."
 
 #: 
tmp/cache_locale/02/023cc9edfe6c60b72788b97f6a123fde6020d003845e03b26b572d864d6eb3de.php:87
 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_completed] https://gitweb.torproject.org/translation.git/commit/?h=donatepages-messagespot_completed

2019-11-14 Thread translation
commit d982770c7eb8e50bc4a4b7caa4fe4412f62cd3c8
Author: Translation commit bot 
Date:   Thu Nov 14 16:45:46 2019 +


https://gitweb.torproject.org/translation.git/commit/?h=donatepages-messagespot_completed
---
 locale/fr/LC_MESSAGES/messages.po | 2399 +
 1 file changed, 2399 insertions(+)

diff --git a/locale/fr/LC_MESSAGES/messages.po 
b/locale/fr/LC_MESSAGES/messages.po
new file mode 100644
index 0..222c36ea3
--- /dev/null
+++ b/locale/fr/LC_MESSAGES/messages.po
@@ -0,0 +1,2399 @@
+# Translators:
+# N W, 2018
+# erinm, 2018
+# Curtis Baltimore , 2019
+# AO , 2019
+# 
+msgid ""
+msgstr ""
+"Last-Translator: AO , 2019\n"
+"Language-Team: French (https://www.transifex.com/otf/teams/1519/fr/)\n"
+"Language: fr\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: 
tmp/cache_locale/ff/ffee28cfc961a339d813aed75493753fcc9e985dfa212e1af03fc089d5c3fdb0.php:101
+msgid "Tracking, surveillance, and censorship are widespread online."
+msgstr ""
+"Le pistage, la surveillance et la censure sont très répandus sur Internet."
+
+#: 
tmp/cache_locale/ff/ffee28cfc961a339d813aed75493753fcc9e985dfa212e1af03fc089d5c3fdb0.php:105
+#: 
tmp/cache_locale/dd/ddde851dcf0f4bcfdf69b2fb2bdd731c4f85ce373ca3ec850a7ca8bbc00dfb85.php:43
+#: 
tmp/cache_locale/dd/ddde851dcf0f4bcfdf69b2fb2bdd731c4f85ce373ca3ec850a7ca8bbc00dfb85.php:66
+msgid "Take back the internet with Tor"
+msgstr "Avec Tor, réappropriez-vous Internet"
+
+#: 
tmp/cache_locale/ff/ffee28cfc961a339d813aed75493753fcc9e985dfa212e1af03fc089d5c3fdb0.php:112
+msgid "Give today, and Mozilla will match your donation."
+msgstr "Faites un don aujourd’hui et Mozilla fera un don équivalent."
+
+#: 
tmp/cache_locale/eb/eb66db0fc2349cdc00200df1ba86814695c5deb02dc0f5941de0ada2f44eb52b.php:47
+msgid ""
+"The European shirt fits run a little small so you might want to consider "
+"sizing up."
+msgstr ""
+"Les coupes européennes des tee-shirts taillent un peu petit. Vous pourriez "
+"donc envisager une taille plus grande qu’habituellement."
+
+#: 
tmp/cache_locale/eb/eb66db0fc2349cdc00200df1ba86814695c5deb02dc0f5941de0ada2f44eb52b.php:54
+msgid "Fit"
+msgstr "Coupe"
+
+#: 
tmp/cache_locale/eb/eb66db0fc2349cdc00200df1ba86814695c5deb02dc0f5941de0ada2f44eb52b.php:58
+#: 
tmp/cache_locale/af/af919ed4d7946ee7ed7d71a5580f4c75c5fb2b9374dd8d99d3a0671f71654f60.php:514
+msgid "Select Fit"
+msgstr "Séléctionner la coupe"
+
+#: 
tmp/cache_locale/eb/eb66db0fc2349cdc00200df1ba86814695c5deb02dc0f5941de0ada2f44eb52b.php:62
+#: 
tmp/cache_locale/af/af919ed4d7946ee7ed7d71a5580f4c75c5fb2b9374dd8d99d3a0671f71654f60.php:506
+msgid "Slim"
+msgstr "Ajustée"
+
+#: 
tmp/cache_locale/eb/eb66db0fc2349cdc00200df1ba86814695c5deb02dc0f5941de0ada2f44eb52b.php:66
+#: 
tmp/cache_locale/af/af919ed4d7946ee7ed7d71a5580f4c75c5fb2b9374dd8d99d3a0671f71654f60.php:502
+msgid "Classic"
+msgstr "Classique"
+
+#: 
tmp/cache_locale/eb/eb66db0fc2349cdc00200df1ba86814695c5deb02dc0f5941de0ada2f44eb52b.php:74
+#: 
tmp/cache_locale/af/af919ed4d7946ee7ed7d71a5580f4c75c5fb2b9374dd8d99d3a0671f71654f60.php:510
+msgid "European"
+msgstr "Européenne"
+
+#: 
tmp/cache_locale/eb/eb66db0fc2349cdc00200df1ba86814695c5deb02dc0f5941de0ada2f44eb52b.php:84
+msgid "Size"
+msgstr "Taille"
+
+#: 
tmp/cache_locale/eb/eb66db0fc2349cdc00200df1ba86814695c5deb02dc0f5941de0ada2f44eb52b.php:88
+#: 
tmp/cache_locale/af/af919ed4d7946ee7ed7d71a5580f4c75c5fb2b9374dd8d99d3a0671f71654f60.php:518
+msgid "Select Size"
+msgstr "Sélectionner la taille"
+
+#: 
tmp/cache_locale/eb/eb66db0fc2349cdc00200df1ba86814695c5deb02dc0f5941de0ada2f44eb52b.php:92
+msgid "S"
+msgstr "P"
+
+#: 
tmp/cache_locale/eb/eb66db0fc2349cdc00200df1ba86814695c5deb02dc0f5941de0ada2f44eb52b.php:96
+msgid "M"
+msgstr "M"
+
+#: 
tmp/cache_locale/eb/eb66db0fc2349cdc00200df1ba86814695c5deb02dc0f5941de0ada2f44eb52b.php:100
+msgid "L"
+msgstr "G"
+
+#: 
tmp/cache_locale/eb/eb66db0fc2349cdc00200df1ba86814695c5deb02dc0f5941de0ada2f44eb52b.php:104
+msgid "XL"
+msgstr "TG"
+
+#: 
tmp/cache_locale/eb/eb66db0fc2349cdc00200df1ba86814695c5deb02dc0f5941de0ada2f44eb52b.php:108
+msgid "XXL"
+msgstr "TTG"
+
+#: 
tmp/cache_locale/dd/ddde851dcf0f4bcfdf69b2fb2bdd731c4f85ce373ca3ec850a7ca8bbc00dfb85.php:47
+#: 
tmp/cache_locale/dd/ddde851dcf0f4bcfdf69b2fb2bdd731c4f85ce373ca3ec850a7ca8bbc00dfb85.php:70
+msgid "Privacy and freedom online should be the default."
+msgstr ""
+"Sur Internet, la confidentialité, la protection des données personnelles et 
"
+"la liberté devraient juste être respectées, par défaut."
+
+#: 
tmp/cache_locale/dd/ddde851dcf0f4bcfdf69b2fb2bdd731c4f85ce373ca3ec850a7ca8bbc00dfb85.php:49
+#: 
tmp/cache_locale/dd/ddde851dcf0f4bcfdf69b2fb2bdd731c4f85ce373ca3ec850a7ca8bbc00dfb85.php:72
+msgid "Donate to the Tor Project."
+msgstr "Faites un don au projet Tor."
+
+#: 
tmp/cache_locale/dd/ddde851dcf0f4bcfdf69b2fb2bdd731c4f85ce373ca3ec850a7ca8bbc00dfb85.php:58
+msgid "summary_large_image"
+msgstr "résumé_grande_image"
+
+#: 

[tor-commits] [translation/donatepages-messagespot] https://gitweb.torproject.org/translation.git/commit/?h=donatepages-messagespot

2019-11-14 Thread translation
commit cebfc1d37741f854ef5d59e47fa77128c1a33de5
Author: Translation commit bot 
Date:   Thu Nov 14 16:15:40 2019 +


https://gitweb.torproject.org/translation.git/commit/?h=donatepages-messagespot
---
 locale/fr/LC_MESSAGES/messages.po | 15 +++
 1 file changed, 15 insertions(+)

diff --git a/locale/fr/LC_MESSAGES/messages.po 
b/locale/fr/LC_MESSAGES/messages.po
index 49e865fda..1cbbba90e 100644
--- a/locale/fr/LC_MESSAGES/messages.po
+++ b/locale/fr/LC_MESSAGES/messages.po
@@ -1985,6 +1985,14 @@ msgid ""
 "href=\"https://help.torproject.org/tsa/doc/hardware-requirements/\;>team "
 "wiki."
 msgstr ""
+"Les machines qui aident le projet Tor à développer des logiciels sont "
+"habituellement payées par le projet Tor ou données par des organismes "
+"sympathisants. Si vous souhaitez faire don de ressources matérielles, il est"
+" généralement attendu que le matériel sera entièrement sous le contrôle 
de "
+"l’https://help.torproject.org/tsa/\;>équipe d’administration 
des "
+"systèmes de Tor. Plus de précisions sur les exigences se trouvent dans "
+"le a href=\"https://help.torproject.org/tsa/doc/hardware-;
+"requirements/\">wiki de l’équipe (site en anglais)."
 
 #: 
tmp/cache_locale/7d/7d56367a61f987367eeb2a89d0c6db83fd0801cce86278bf7e99ed39b5b46254.php:605
 msgid ""
@@ -1992,16 +2000,23 @@ msgid ""
 "already existing operating system as well, but we prefer to run the entire "
 "stack ourselves."
 msgstr ""
+"Il est possible que le Projet Tor ne fasse seulement fonctionner des "
+"services sur un système d’exploitation est existant, mais nous préférons 
"
+"gérer le tout nous-mêmes."
 
 #: 
tmp/cache_locale/7d/7d56367a61f987367eeb2a89d0c6db83fd0801cce86278bf7e99ed39b5b46254.php:608
 msgid "https://help.torproject.org/tsa/\;>Tor Sysadmin Team"
 msgstr ""
+"https://help.torproject.org/tsa/\;>Équipe d’administration des "
+"systèmes de Tor"
 
 #: 
tmp/cache_locale/7d/7d56367a61f987367eeb2a89d0c6db83fd0801cce86278bf7e99ed39b5b46254.php:612
 msgid ""
 "https://help.torproject.org/tsa/doc/hardware-;
 "requirements/\">Hardware requirements"
 msgstr ""
+"https://help.torproject.org/tsa/doc/hardware-;
+"requirements/\">Exigences relatives au matériel"
 
 #: 
tmp/cache_locale/7d/7d56367a61f987367eeb2a89d0c6db83fd0801cce86278bf7e99ed39b5b46254.php:618
 msgid "Can I donate my time?"

___
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 'tor-github/pr/1489'

2019-11-14 Thread dgoulet
commit 1371d29e5b29e157993a790cd51016d0316df7da
Merge: a76b7cd8b 384fe6478
Author: David Goulet 
Date:   Thu Nov 14 10:37:14 2019 -0500

Merge branch 'tor-github/pr/1489'

 changes/ticket32347   |  7 +++
 scripts/git/git-setup-dirs.sh | 49 +--
 2 files changed, 54 insertions(+), 2 deletions(-)

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


[tor-commits] [tor/master] scripts/git: Add TOR_EXTRA_REMOTE_* for an extra git remote

2019-11-14 Thread dgoulet
commit 1ffb3b549f9bc88e3eb51bf281720c26f7bd6016
Author: teor 
Date:   Thu Oct 31 14:28:27 2019 +1000

scripts/git: Add TOR_EXTRA_REMOTE_* for an extra git remote

When running git-setup-dirs.sh.

Part of 32347.
---
 scripts/git/git-setup-dirs.sh | 19 +++
 1 file changed, 19 insertions(+)

diff --git a/scripts/git/git-setup-dirs.sh b/scripts/git/git-setup-dirs.sh
index 12355af8d..d1ae6a4f9 100755
--- a/scripts/git/git-setup-dirs.sh
+++ b/scripts/git/git-setup-dirs.sh
@@ -42,6 +42,14 @@ function usage()
   echo "   (current: $GITHUB_PUSH)"
   echo "   TOR_EXTRA_CLONE_ARGS: extra arguments to git clone"
   echo "   (current: $TOR_EXTRA_CLONE_ARGS)"
+  echo "   TOR_EXTRA_REMOTE_NAME: the name of an extra remote"
+  echo "   This remote is not pulled by this script or git-pull-all.sh."
+  echo "   This remote is not pushed by git-push-all.sh."
+  echo "   (current: $TOR_EXTRA_REMOTE_NAME)"
+  echo "   TOR_EXTRA_REMOTE_PULL: the extra remote pull URL."
+  echo "   (current: $TOR_EXTRA_REMOTE_PULL)"
+  echo "   TOR_EXTRA_REMOTE_PUSH: the extra remote push URL"
+  echo "   (current: $TOR_EXTRA_REMOTE_PUSH)"
   echo "   we recommend that you set these env vars in your ~/.profile"
 }
 
@@ -510,6 +518,17 @@ set_tor_github_pr_fetch_config
 # Now fetch them all
 fetch_remote "tor-github"
 
+# Extra remote
+if [ "$TOR_EXTRA_REMOTE_NAME" ]; then
+  printf "%s Setting up remote %s\\n" "$MARKER" \
+"${BYEL}$TOR_EXTRA_REMOTE_NAME${CNRM}"
+  # Add remote
+  add_remote "$TOR_EXTRA_REMOTE_NAME" "$TOR_EXTRA_REMOTE_PULL"
+  set_remote_push "$TOR_EXTRA_REMOTE_NAME" "$TOR_EXTRA_REMOTE_PUSH"
+  # But leave it to the user to decide if they want to fetch it
+  #fetch_remote "$TOR_EXTRA_REMOTE_NAME"
+fi
+
 # Go over all configured worktree.
 for ((i=0; ihttps://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [tor/master] scripts/git: Make a master symlink in the worktree directory

2019-11-14 Thread dgoulet
commit 995618ec619739cb7c54e809d6d817be4e9ed2de
Author: teor 
Date:   Thu Oct 31 14:24:50 2019 +1000

scripts/git: Make a master symlink in the worktree directory

When running git-setup-dirs.sh.

Part of 32347.
---
 scripts/git/git-setup-dirs.sh | 26 +-
 1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/scripts/git/git-setup-dirs.sh b/scripts/git/git-setup-dirs.sh
index 495b22b26..a1e465818 100755
--- a/scripts/git/git-setup-dirs.sh
+++ b/scripts/git/git-setup-dirs.sh
@@ -254,6 +254,25 @@ function make_directory
   fi
 }
 
+# Create a symlink from the first argument to the second argument
+# If the link already exists: fail if $USE_EXISTING is 0, otherwise skip.
+function make_symlink
+{
+  local cmd="ln -s '$1' '$2'"
+  printf "  %s Creating symlink from %s to %s..." "$MARKER" "$1" "$2"
+  local check_cmd="[ ! -e '$2' ]"
+  msg=$( eval "$check_cmd" 2>&1 )
+  if validate_ret_skip $? "File already exists."; then
+return
+  fi
+  if [ $DRY_RUN -eq 0 ]; then
+msg=$( eval "$cmd" 2>&1 )
+validate_ret $? "$msg"
+  else
+printf "\\n  %s\\n" "${IWTH}$cmd${CNRM}"
+  fi
+}
+
 # Go into the directory or repository, even if $DRY_RUN is non-zero.
 # If the directory does not exist, fail and log an error.
 # Otherwise, silently succeed.
@@ -496,7 +515,12 @@ for ((i=0; ihttps://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [tor/master] scripts/git: Add TOR_EXTRA_CLONE_ARGS for git clone

2019-11-14 Thread dgoulet
commit 38e8cca6a1d44d0edd6fcc9a6e40eadb6e91d789
Author: teor 
Date:   Thu Oct 31 14:25:43 2019 +1000

scripts/git: Add TOR_EXTRA_CLONE_ARGS for git clone

When running git-setup-dirs.sh.

Part of 32347.
---
 scripts/git/git-setup-dirs.sh | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/scripts/git/git-setup-dirs.sh b/scripts/git/git-setup-dirs.sh
index a1e465818..12355af8d 100755
--- a/scripts/git/git-setup-dirs.sh
+++ b/scripts/git/git-setup-dirs.sh
@@ -40,6 +40,8 @@ function usage()
   echo "   (current: $GITHUB_PULL)"
   echo "   TOR_GITHUB_PUSH: the tor-github remote push URL"
   echo "   (current: $GITHUB_PUSH)"
+  echo "   TOR_EXTRA_CLONE_ARGS: extra arguments to git clone"
+  echo "   (current: $TOR_EXTRA_CLONE_ARGS)"
   echo "   we recommend that you set these env vars in your ~/.profile"
 }
 
@@ -288,7 +290,7 @@ function goto_dir
 # If the directory already exists: fail if $USE_EXISTING is 0, otherwise skip.
 function clone_repo
 {
-  local cmd="git clone '$1' '$2'"
+  local cmd="git clone $TOR_EXTRA_CLONE_ARGS '$1' '$2'"
   printf "  %s Cloning %s into %s..." "$MARKER" "$1" "$2"
   local check_cmd="[ ! -d '$2' ]"
   msg=$( eval "$check_cmd" 2>&1 )



___
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 32347

2019-11-14 Thread dgoulet
commit 384fe64786de571713a304fd1fc1325e11d093fc
Author: teor 
Date:   Thu Oct 31 14:37:58 2019 +1000

changes: file for 32347
---
 changes/ticket32347 | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/changes/ticket32347 b/changes/ticket32347
new file mode 100644
index 0..076efe8b4
--- /dev/null
+++ b/changes/ticket32347
@@ -0,0 +1,7 @@
+  o Minor features (git scripts):
+- Make git-setup-dirs.sh create a master symlink in the worktree directory.
+  Closes ticket 32347.
+- Add TOR_EXTRA_CLONE_ARGS to git-setup-dirs.sh for git clone
+  customisation. Closes ticket 32347.
+- Add TOR_EXTRA_REMOTE_* to git-setup-dirs.sh for a custom extra remote.
+  Closes ticket 32347.



___
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] https://gitweb.torproject.org/translation.git/commit/?h=support-portal_completed

2019-11-14 Thread translation
commit 52a010ab376bae8fd244327bc4c19affa7adeb89
Author: Translation commit bot 
Date:   Thu Nov 14 15:27:00 2019 +


https://gitweb.torproject.org/translation.git/commit/?h=support-portal_completed
---
 contents.pot | 17 +
 1 file changed, 1 insertion(+), 16 deletions(-)

diff --git a/contents.pot b/contents.pot
index 28c74eaaa..a9d01d9b9 100644
--- a/contents.pot
+++ b/contents.pot
@@ -3,7 +3,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-11-14 13:20+CET\n"
+"POT-Creation-Date: 2019-11-14 16:04+CET\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME \n"
 "Language-Team: en \n"
@@ -1441,16 +1441,6 @@ msgstr ""
 
 #: https//support.torproject.org/tbb/how-to-verify-signature/
 #: (content/tbb/how-to-verify-signature/contents+en.lrquestion.description)
-msgid "<<< HEAD"
-msgstr "<<< HEAD"
-
-#: https//support.torproject.org/tbb/how-to-verify-signature/
-#: (content/tbb/how-to-verify-signature/contents+en.lrquestion.description)
-msgid "==="
-msgstr "==="
-
-#: https//support.torproject.org/tbb/how-to-verify-signature/
-#: (content/tbb/how-to-verify-signature/contents+en.lrquestion.description)
 msgid " Workaround (using a public key)"
 msgstr " Workaround (using a public key)"
 
@@ -1480,11 +1470,6 @@ msgstr ""
 
 #: https//support.torproject.org/tbb/how-to-verify-signature/
 #: (content/tbb/how-to-verify-signature/contents+en.lrquestion.description)
-msgid ">>> 4c7b199efc403f7f73b9ae06733568f8945eb6ae"
-msgstr ">>> 4c7b199efc403f7f73b9ae06733568f8945eb6ae"
-
-#: https//support.torproject.org/tbb/how-to-verify-signature/
-#: (content/tbb/how-to-verify-signature/contents+en.lrquestion.description)
 msgid ""
 "You may also want to [learn more about "
 "GnuPG](https://www.gnupg.org/documentation/)."

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


[tor-commits] [translation/support-portal] https://gitweb.torproject.org/translation.git/commit/?h=support-portal

2019-11-14 Thread translation
commit 2e168a68f7ae60dcd8ccd830493d157d7baaf021
Author: Translation commit bot 
Date:   Thu Nov 14 15:26:51 2019 +

https://gitweb.torproject.org/translation.git/commit/?h=support-portal
---
 contents+ar.po| 17 +
 contents+bn.po| 17 +
 contents+ca.po| 17 +
 contents+cs.po| 17 +
 contents+da.po| 17 +
 contents+de.po| 17 +
 contents+el.po| 17 +
 contents+es-AR.po | 17 +
 contents+es.po| 22 +++---
 contents+fa.po| 17 +
 contents+fo.po| 17 +
 contents+fr.po| 21 +++--
 contents+ga.po| 17 +
 contents+gu.po| 17 +
 contents+he.po| 17 +
 contents+hi.po| 17 +
 contents+hu.po| 17 +
 contents+id.po| 17 +
 contents+is.po| 17 +
 contents+it.po| 17 +
 contents+ja.po| 17 +
 contents+ka.po| 17 +
 contents+ko.po| 17 +
 contents+mk.po| 17 +
 contents+ml.po| 17 +
 contents+my.po| 17 +
 contents+nb.po| 17 +
 contents+nl.po| 17 +
 contents+pl.po| 17 +
 contents+pt-BR.po | 17 +
 contents+pt-PT.po | 17 +
 contents+ro.po| 17 +
 contents+ru.po| 21 +++--
 contents+sr.po| 17 +
 contents+sv.po| 17 +
 contents+sw.po| 17 +
 contents+th.po| 17 +
 contents+tr.po| 17 +
 contents+uk.po| 17 +
 contents+zh-CN.po | 19 ++-
 contents+zh-TW.po | 21 +++--
 contents.pot  | 17 +
 42 files changed, 51 insertions(+), 682 deletions(-)

diff --git a/contents+ar.po b/contents+ar.po
index 4ea050a79..1bc859b82 100644
--- a/contents+ar.po
+++ b/contents+ar.po
@@ -13,7 +13,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-11-14 13:20+CET\n"
+"POT-Creation-Date: 2019-11-14 16:04+CET\n"
 "PO-Revision-Date: 2018-10-02 22:41+\n"
 "Last-Translator: Emma Peel, 2019\n"
 "Language-Team: Arabic (https://www.transifex.com/otf/teams/1519/ar/)\n"
@@ -1219,16 +1219,6 @@ msgstr ""
 
 #: https//support.torproject.org/tbb/how-to-verify-signature/
 #: (content/tbb/how-to-verify-signature/contents+en.lrquestion.description)
-msgid "<<< HEAD"
-msgstr ""
-
-#: https//support.torproject.org/tbb/how-to-verify-signature/
-#: (content/tbb/how-to-verify-signature/contents+en.lrquestion.description)
-msgid "==="
-msgstr ""
-
-#: https//support.torproject.org/tbb/how-to-verify-signature/
-#: (content/tbb/how-to-verify-signature/contents+en.lrquestion.description)
 msgid " Workaround (using a public key)"
 msgstr ""
 
@@ -1251,11 +1241,6 @@ msgstr ""
 
 #: https//support.torproject.org/tbb/how-to-verify-signature/
 #: (content/tbb/how-to-verify-signature/contents+en.lrquestion.description)
-msgid ">>> 4c7b199efc403f7f73b9ae06733568f8945eb6ae"
-msgstr ""
-
-#: https//support.torproject.org/tbb/how-to-verify-signature/
-#: (content/tbb/how-to-verify-signature/contents+en.lrquestion.description)
 msgid ""
 "You may also want to [learn more about "
 "GnuPG](https://www.gnupg.org/documentation/)."
diff --git a/contents+bn.po b/contents+bn.po
index 878e7e86a..5b9957062 100644
--- a/contents+bn.po
+++ b/contents+bn.po
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-11-14 13:20+CET\n"
+"POT-Creation-Date: 2019-11-14 16:04+CET\n"
 "PO-Revision-Date: 2018-10-02 22:41+\n"
 "Last-Translator: Emma Peel, 2019\n"
 "Language-Team: Bengali (https://www.transifex.com/otf/teams/1519/bn/)\n"
@@ -1264,16 +1264,6 @@ msgstr ""
 
 #: https//support.torproject.org/tbb/how-to-verify-signature/
 #: (content/tbb/how-to-verify-signature/contents+en.lrquestion.description)
-msgid "<<< HEAD"
-msgstr ""
-
-#: https//support.torproject.org/tbb/how-to-verify-signature/
-#: (content/tbb/how-to-verify-signature/contents+en.lrquestion.description)
-msgid "==="
-msgstr ""
-
-#: https//support.torproject.org/tbb/how-to-verify-signature/
-#: (content/tbb/how-to-verify-signature/contents+en.lrquestion.description)
 msgid " Workaround (using a public key)"
 msgstr ""
 
@@ -1299,11 +1289,6 @@ msgstr ""
 
 #: https//support.torproject.org/tbb/how-to-verify-signature/
 #: (content/tbb/how-to-verify-signature/contents+en.lrquestion.description)
-msgid ">>> 4c7b199efc403f7f73b9ae06733568f8945eb6ae"
-msgstr ""
-
-#: https//support.torproject.org/tbb/how-to-verify-signature/
-#: 

[tor-commits] [tor/master] test/parseconf: Refactor and simplify, stage 2

2019-11-14 Thread nickm
commit a5628cf5b318a1168d5092e26a79a7d876aa0b28
Author: teor 
Date:   Wed Nov 13 17:12:30 2019 +1000

test/parseconf: Refactor and simplify, stage 2

Remove more duplicate code.
Eliminate some arguments.
Rewrite some comments.

Cleanup after 32451.
---
 src/test/test_parseconf.sh | 202 ++---
 1 file changed, 117 insertions(+), 85 deletions(-)

diff --git a/src/test/test_parseconf.sh b/src/test/test_parseconf.sh
index edda6c3ef..816ed97e3 100755
--- a/src/test/test_parseconf.sh
+++ b/src/test/test_parseconf.sh
@@ -264,11 +264,10 @@ log_verify_config()
 
 # Run "tor --dump-config short" on the torrc $1, and defaults torrc $2, which
 # may be $EMPTY. Pass tor the extra command line arguments $3, which will be
-# passed unquoted.
-# Send the standard output to $4.
+# passed unquoted. Send tor's standard output to $4.
+#
 # If tor fails, fail_printf() using the file name $5, and context $6,
-# which may be an empty string. Then run "tor --verify-config", and log tor's
-# error messages to stderr.
+# which may be an empty string. Then run log_verify_config().
 dump_config()
 {
 if test "$6"; then
@@ -313,21 +312,21 @@ filter()
"$CONTEXT"
 }
 
-# Compare the input file $1, and output file $2.
+# Compare the expected file $1, and output file $2.
 #
 # If they are different, fail. If this is the first step that failed in this
-# test, run log_verify_config with torrc $3, defaults torrc $4, and command
+# test, run log_verify_config() with torrc $3, defaults torrc $4, and command
 # line $5, to log Tor's error messages. Finally, log the differences between
 # the files.
 #
 # If the file contents are identical, returns true. Otherwise, return false.
 #
-# Log failure messages using fail_printf(), with the file name $6, and
-# context $7, which may be an empty string.
+# Log failure messages using fail_printf(), with the expected file name, and
+# context $6, which may be an empty string.
 check_diff()
 {
-if test "$7"; then
-CONTEXT=" $=7"
+if test "$6"; then
+CONTEXT=" $=6"
 else
 CONTEXT=""
 fi
@@ -339,14 +338,14 @@ check_diff()
 # show tor's logs
 if test -z "$NEXT_TEST"; then
fail_printf "'%s': Tor said%s:" \
-   "$6" \
+   "$1" \
"$CONTEXT"
log_verify_config "$3" \
  "$4" \
  "$5"
 fi
 fail_printf "'%s' did not match%s:" \
-"$6" \
+"$1" \
 "$CONTEXT"
 diff -u "$1" "$2" >&2 \
 || true
@@ -354,6 +353,50 @@ check_diff()
 fi
 }
 
+# Run "tor --dump-config short" on the torrc $1, and defaults torrc $2, which
+# may be $EMPTY. Pass tor the extra command line arguments $3, which will be
+# passed unquoted. Send tor's standard output to $4, after running $FILTER
+# on it.
+#
+# If tor fails, run log_verify_config().
+#
+# Compare the expected file $5, and output file. If they are different, fail.
+# If this is the first step that failed in this test, run log_verify_config().
+#
+# If the file contents are identical, returns true. Otherwise, return false,
+# and log the differences between the files.
+#
+# Log failure messages using fail_printf(), with the expected file name, and
+# context $6, which may be an empty string.
+check_dump_config()
+{
+OUTPUT="$4"
+OUTPUT_RAW="${OUTPUT}_raw"
+dump_config "$1" \
+"$2" \
+"$3" \
+"$OUTPUT_RAW" \
+"$5" \
+"$6"
+
+filter "$OUTPUT_RAW" \
+   "$OUTPUT" \
+   "$5" \
+   "$6"
+
+if check_diff "$5" \
+  "$OUTPUT" \
+  "$1" \
+  "$2" \
+  "$3" \
+  "$5" \
+  "$6"; then
+return "$TRUE"
+else
+return "$FALSE"
+fi
+}
+
 # Check if $1 is an empty file.
 # If it is, fail_printf() using $2 as the type of file.
 # Returns true if the file is empty, false otherwise.
@@ -371,8 +414,8 @@ check_empty_pattern()
 
 # Run tor --verify-config on the torrc $1, and defaults torrc $2, which may
 # be $EMPTY. Pass tor the extra command line arguments $3, which will be
-# passed unquoted.
-# Send tor's standard output to $4.
+# passed unquoted. Send tor's standard output to $4.
+#
 # If tor's exit status does not match the boolean $5, fail_printf()
 # using the file name $6, and context $7, which is required.
 verify_config()
@@ -394,14 +437,15 @@ verify_config()
 fi
 }
 
-# Check for the pattern in file $1, in the lines in the output file $2.
-# Uses grep with the entire contents of $1 as the pattern. (Not "grep -f".)
+# Check for the patterns in the match file $1, in the output file $2.
+# Uses grep with the entire contents of the match file as the pattern.
+# (Not 

[tor-commits] [tor/master] test/parseconf: Update conf_examples to use expected_log

2019-11-14 Thread nickm
commit ced434c5869da6d6c7ac4c11a934a4d58a730afe
Author: teor 
Date:   Tue Nov 12 15:10:07 2019 +1000

test/parseconf: Update conf_examples to use expected_log

Part of 32451.
---
 .../badnick_1/expected_log_no_dirauth_relay|   1 +
 .../badnick_2/expected_log_no_dirauth_relay|   1 +
 src/test/conf_examples/bridgeauth_1/expected_log   |   1 +
 .../expected_log_no_dirauth_relay  |   1 +
 src/test/conf_examples/crypto_accel/expected_log   |   1 +
 .../error_nss => crypto_accel/expected_log_nss}|   0
 src/test/conf_examples/crypto_accel/expected_nss   |   2 +
 .../crypto_accel_req/expected_log_nss  |   1 +
 src/test/conf_examples/dirauth_1/expected_log  |   1 +
 src/test/conf_examples/empty_1/expected_log|   1 +
 src/test/conf_examples/empty_2/expected_log|   1 +
 src/test/conf_examples/empty_3/expected_log|   1 +
 src/test/conf_examples/example_1/expected_log  |   1 +
 src/test/conf_examples/example_3/expected_log  |   1 +
 src/test/conf_examples/include_1/expected_log  |   1 +
 .../conf_examples/include_bug_31408/expected_log   |   1 +
 src/test/conf_examples/large_1/expected_log|   1 +
 src/test/conf_examples/lzma_zstd_1/expected|   0
 .../lzma_zstd_1/{error => expected_log}|   0
 .../lzma_zstd_1/{error_lzma => expected_log_lzma}  |   0
 .../{error_lzma_zstd => expected_log_lzma_zstd}|   0
 .../lzma_zstd_1/{error_zstd => expected_log_zstd}  |   0
 src/test/conf_examples/lzma_zstd_1/expected_lzma   |   0
 .../conf_examples/lzma_zstd_1/expected_lzma_zstd   |   0
 src/test/conf_examples/lzma_zstd_1/expected_zstd   |   0
 src/test/conf_examples/lzma_zstd_1/torrc   |   5 +-
 src/test/conf_examples/nss_1/expected  |   0
 .../conf_examples/nss_1/{error => expected_log}|   0
 src/test/conf_examples/nss_1/expected_log_nss  |   1 +
 src/test/conf_examples/nss_1/expected_nss  |   0
 src/test/conf_examples/nss_1/torrc |   5 +-
 src/test/conf_examples/obsolete_1/expected_log |   1 +
 src/test/conf_examples/obsolete_1/torrc| 136 +++--
 src/test/conf_examples/obsolete_2/expected_log |   1 +
 src/test/conf_examples/obsolete_2/torrc|   3 +
 src/test/conf_examples/obsolete_3/expected |   0
 src/test/conf_examples/obsolete_3/expected_log |   1 +
 src/test/conf_examples/obsolete_3/torrc|   4 +
 src/test/conf_examples/ops_1/expected_log  |   1 +
 src/test/conf_examples/ops_2/expected_log  |   1 +
 src/test/conf_examples/ops_3/expected_log  |   1 +
 src/test/conf_examples/ops_4/expected_log  |   1 +
 src/test/conf_examples/ops_5/expected_log  |   1 +
 src/test/conf_examples/ops_6/expected_log  |   1 +
 src/test/conf_examples/pt_01/expected_log  |   1 +
 .../pt_02/expected_log_no_dirauth_relay|   1 +
 src/test/conf_examples/pt_03/expected_log  |   1 +
 .../pt_03/expected_log_no_dirauth_relay|   1 +
 .../conf_examples/pt_03/expected_no_dirauth_relay  |   1 +
 src/test/conf_examples/pt_04/expected_log  |   1 +
 .../pt_04/expected_log_no_dirauth_relay|   1 +
 .../conf_examples/pt_04/expected_no_dirauth_relay  |   3 +
 src/test/conf_examples/pt_05/expected_log  |   1 +
 src/test/conf_examples/pt_06/expected_log  |   1 +
 .../pt_06/expected_log_no_dirauth_relay|   1 +
 .../conf_examples/pt_06/expected_no_dirauth_relay  |   6 +
 src/test/conf_examples/pt_07/expected_log  |   1 +
 .../pt_08/expected_log_no_dirauth_relay|   1 +
 src/test/conf_examples/relay_01/expected_log   |   1 +
 src/test/conf_examples/relay_03/expected_log   |   1 +
 src/test/conf_examples/relay_04/expected_log   |   1 +
 src/test/conf_examples/relay_05/expected_log   |   1 +
 src/test/conf_examples/relay_06/expected_log   |   1 +
 src/test/conf_examples/relay_07/expected_log   |   1 +
 src/test/conf_examples/relay_08/expected_log   |   1 +
 src/test/conf_examples/relay_09/expected_log   |   1 +
 src/test/conf_examples/relay_10/expected_log   |   1 +
 src/test/conf_examples/relay_14/expected_log   |   1 +
 src/test/conf_examples/relay_17/expected_log   |   1 +
 src/test/conf_examples/relay_19/expected_log   |   1 +
 src/test/conf_examples/relay_21/expected_log   |   1 +
 src/test/conf_examples/relay_29/expected_log   |   1 +
 72 files changed, 140 insertions(+), 75 deletions(-)

diff --git a/src/test/conf_examples/badnick_1/expected_log_no_dirauth_relay 
b/src/test/conf_examples/badnick_1/expected_log_no_dirauth_relay
new file mode 100644
index 0..9190a3326
--- /dev/null
+++ b/src/test/conf_examples/badnick_1/expected_log_no_dirauth_relay
@@ -0,0 +1 @@
+Read configuration file .*badnick_1[./]*torrc
diff --git a/src/test/conf_examples/badnick_2/expected_log_no_dirauth_relay 

[tor-commits] [tor/master] test/parseconf: Warn when the expected_log* file is missing

2019-11-14 Thread nickm
commit aa3e2bbd4bb52f0e8fc550841ffdcf2da3fa2fa7
Author: teor 
Date:   Thu Nov 14 12:57:59 2019 +1000

test/parseconf: Warn when the expected_log* file is missing

Part of 32451.
---
 src/test/test_parseconf.sh | 18 --
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/src/test/test_parseconf.sh b/src/test/test_parseconf.sh
index 2298f0234..4fe27d9f5 100755
--- a/src/test/test_parseconf.sh
+++ b/src/test/test_parseconf.sh
@@ -614,12 +614,18 @@ for dir in "${EXAMPLEDIR}"/*; do
 # This case should succeed: run verify-config and see if it does.
 
 check_verify_config "./torrc" \
-  "$DEFAULTS" \
-  "$CMDLINE" \
-  "${DATA_DIR}/output_log.${testname}" \
-  "$TRUE" \
-  "$EXPECTED_LOG" \
-  "log success"
+"$DEFAULTS" \
+"$CMDLINE" \
+"${DATA_DIR}/output_log.${testname}" \
+"$TRUE" \
+"$EXPECTED_LOG" \
+"log success"
+else
+printf "\\nNOTICE: Missing '%s_log' file:\\n" \
+   "$EXPECTED" >&2
+log_verify_config "./torrc" \
+  "$DEFAULTS" \
+  "$CMDLINE"
 fi
 
elif test -f "$ERROR"; then



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


[tor-commits] [tor/master] test/parseconf: Refactor and standardise, stage 1

2019-11-14 Thread nickm
commit 39046019ec1192bd8222821a6b8677fabc0a9968
Author: teor 
Date:   Wed Nov 13 16:37:32 2019 +1000

test/parseconf: Refactor and standardise, stage 1

Remove duplicate code, and standardise similar behaviour.
Add some additional error checking.

Cleanup after 32451.
---
 src/test/test_parseconf.sh | 400 ++---
 1 file changed, 272 insertions(+), 128 deletions(-)

diff --git a/src/test/test_parseconf.sh b/src/test/test_parseconf.sh
index 237bf33ce..edda6c3ef 100755
--- a/src/test/test_parseconf.sh
+++ b/src/test/test_parseconf.sh
@@ -128,7 +128,7 @@ fi
 
 TOR_BINARY="$(abspath "$TOR_BINARY")"
 
-echo "TOR BINARY IS $TOR_BINARY"
+echo "Using Tor binary '$TOR_BINARY'."
 
 # make a safe space for temporary files
 DATA_DIR=$(mktemp -d -t tor_parseconf_tests.XX)
@@ -157,23 +157,32 @@ else
 fi
 
 FINAL_EXIT=0
-
 NEXT_TEST=
-fail_printf() { printf "FAIL: " >&2;
-# The first argument is a printf string, so this warning is
-# spurious
-# shellcheck disable=SC2059
-printf "$@" >&2;
-printf "\\n" >&2;
-NEXT_TEST="yes"
-FINAL_EXIT=$EXITCODE; }
-die_printf()  { printf "FAIL: CRITICAL error in '%s':" "$MYNAME" >&2;
-# The first argument is a printf string, so this warning is
-# spurious
-# shellcheck disable=SC2059
-printf "$@" >&2;
-printf "\\n" >&2;
-exit $EXITCODE; }
+
+# Log a failure message to stderr, using $@ as a printf string and arguments
+# Set NEXT_TEST to "yes" and FINAL_EXIT to $EXITCODE.
+fail_printf()
+{
+printf "FAIL: " >&2
+# The first argument is a printf string, so this warning is spurious
+# shellcheck disable=SC2059
+printf "$@" >&2
+printf "\\n" >&2
+NEXT_TEST="yes"
+FINAL_EXIT=$EXITCODE
+}
+
+# Log a failure message to stderr, using $@ as a printf string and arguments
+# Exit with status $EXITCODE.
+die_printf()
+{
+printf "FAIL: CRITICAL error in '%s':" "$MYNAME" >&2
+# The first argument is a printf string, so this warning is spurious
+# shellcheck disable=SC2059
+printf "$@" >&2
+printf "\\n" >&2
+exit $EXITCODE
+}
 
 if test "$WINDOWS" = 1; then
 FILTER="dos2unix"
@@ -182,9 +191,12 @@ else
 fi
 
 EMPTY="${DATA_DIR}/EMPTY"
-
 touch "$EMPTY" || die_printf "Couldn't create empty file '%s'." \
  "$EMPTY"
+NON_EMPTY="${DATA_DIR}/NON_EMPTY"
+echo "This pattern should not match any log messages" \
+ > "$NON_EMPTY" || die_printf "Couldn't create non-empty file '%s'." \
+  "$NON_EMPTY"
 
 STANDARD_LIBS="libevent\\|openssl\\|zlib"
 # Lib names are restricted to [a-z0-9]* at the moment
@@ -230,6 +242,178 @@ if test "$TOR_LIBS_ENABLED"; then
 fi
 echo "Disabled Modules: ${TOR_MODULES_DISABLED:-(None)}"
 
+# Yes, unix uses "0" for a successful command
+TRUE=0
+FALSE=1
+
+# Run tor --verify-config on the torrc $1, and defaults torrc $2, which may
+# be $EMPTY. Pass tor the extra command line arguments $3, which will be
+# passed unquoted.
+# Send tor's standard output to stderr.
+log_verify_config()
+{
+# We need cmdline unquoted
+# shellcheck disable=SC2086
+"$TOR_BINARY" --verify-config \
+  -f "$1" \
+  --defaults-torrc "$2" \
+  $3 \
+  >&2 \
+|| true
+}
+
+# Run "tor --dump-config short" on the torrc $1, and defaults torrc $2, which
+# may be $EMPTY. Pass tor the extra command line arguments $3, which will be
+# passed unquoted.
+# Send the standard output to $4.
+# If tor fails, fail_printf() using the file name $5, and context $6,
+# which may be an empty string. Then run "tor --verify-config", and log tor's
+# error messages to stderr.
+dump_config()
+{
+if test "$6"; then
+CONTEXT=" $6"
+else
+CONTEXT=""
+fi
+
+# We need cmdline unquoted
+# shellcheck disable=SC2086
+if ! "$TOR_BINARY" --dump-config short \
+   -f "$1" \
+   --defaults-torrc "$2" \
+   $3 \
+   > "$4"; then
+fail_printf "'%s': Tor --dump-config reported an error%s. Tor said:" \
+"$5" \
+"$CONTEXT"
+log_verify_config "$1" \
+  "$2" \
+  "$3"
+fi
+}
+
+# Run "$FILTER" on the input $1.
+# Send the standard output to $2.
+# If tor fails, log a failure message using the file name $3, and context $4,
+# which may be an empty string.
+filter()
+{
+if test "$4"; then
+CONTEXT=" $4"
+else
+CONTEXT=""
+fi
+
+"$FILTER" "$1" \
+  > "$2" \
+|| fail_printf "'%s': Filter '%s' reported an error%s." \
+   "$3" \
+   "$FILTER" \
+   "$CONTEXT"

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

2019-11-14 Thread nickm
commit a76b7cd8b5da9951e5e446846ef4e3d9ec6b1453
Merge: 3b4a360ed 9f37c0f4f
Author: Nick Mathewson 
Date:   Thu Nov 14 09:58:37 2019 -0500

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

 changes/bug32468   |   3 +
 changes/ticket32451|   5 +
 .../badnick_1/expected_log_no_dirauth_relay|   1 +
 .../badnick_2/expected_log_no_dirauth_relay|   1 +
 src/test/conf_examples/bridgeauth_1/expected_log   |   1 +
 .../expected_log_no_dirauth_relay  |   1 +
 src/test/conf_examples/crypto_accel/expected_log   |   1 +
 .../error_nss => crypto_accel/expected_log_nss}|   0
 src/test/conf_examples/crypto_accel/expected_nss   |   2 +
 .../crypto_accel_req/expected_log_nss  |   1 +
 src/test/conf_examples/dirauth_1/expected_log  |   1 +
 src/test/conf_examples/empty_1/expected_log|   1 +
 src/test/conf_examples/empty_2/expected_log|   1 +
 src/test/conf_examples/empty_3/expected_log|   1 +
 src/test/conf_examples/example_1/expected_log  |   1 +
 src/test/conf_examples/example_3/expected_log  |   1 +
 src/test/conf_examples/include_1/expected_log  |   1 +
 .../conf_examples/include_bug_31408/expected_log   |   1 +
 src/test/conf_examples/large_1/expected_log|   1 +
 .../conf_examples/{pt_02 => lzma_zstd_1}/expected  |   0
 .../lzma_zstd_1/{error => expected_log}|   0
 .../lzma_zstd_1/{error_lzma => expected_log_lzma}  |   0
 .../{error_lzma_zstd => expected_log_lzma_zstd}|   0
 .../lzma_zstd_1/{error_zstd => expected_log_zstd}  |   0
 .../{pt_09/expected => lzma_zstd_1/expected_lzma}  |   0
 .../expected => lzma_zstd_1/expected_lzma_zstd}|   0
 src/test/conf_examples/lzma_zstd_1/expected_zstd   |   0
 src/test/conf_examples/lzma_zstd_1/torrc   |   5 +-
 src/test/conf_examples/nss_1/expected  |   0
 .../conf_examples/nss_1/{error => expected_log}|   0
 src/test/conf_examples/nss_1/expected_log_nss  |   1 +
 src/test/conf_examples/nss_1/expected_nss  |   0
 src/test/conf_examples/nss_1/torrc |   5 +-
 src/test/conf_examples/obsolete_1/expected_log |   1 +
 src/test/conf_examples/obsolete_1/torrc| 136 +++---
 src/test/conf_examples/obsolete_2/expected_log |   1 +
 src/test/conf_examples/obsolete_2/torrc|   3 +
 src/test/conf_examples/obsolete_3/expected |   0
 src/test/conf_examples/obsolete_3/expected_log |   1 +
 src/test/conf_examples/obsolete_3/torrc|   4 +
 src/test/conf_examples/ops_1/expected_log  |   1 +
 src/test/conf_examples/ops_2/expected_log  |   1 +
 src/test/conf_examples/ops_3/expected_log  |   1 +
 src/test/conf_examples/ops_4/expected_log  |   1 +
 src/test/conf_examples/ops_5/expected_log  |   1 +
 src/test/conf_examples/ops_6/expected_log  |   1 +
 src/test/conf_examples/pt_01/expected_log  |   1 +
 src/test/conf_examples/pt_02/error |   1 +
 .../pt_02/expected_log_no_dirauth_relay|   1 +
 src/test/conf_examples/pt_03/expected_log  |   1 +
 .../pt_03/expected_log_no_dirauth_relay|   1 +
 .../conf_examples/pt_03/expected_no_dirauth_relay  |   1 +
 src/test/conf_examples/pt_04/expected_log  |   1 +
 .../pt_04/expected_log_no_dirauth_relay|   1 +
 .../conf_examples/pt_04/expected_no_dirauth_relay  |   3 +
 src/test/conf_examples/pt_05/expected_log  |   1 +
 src/test/conf_examples/pt_06/expected_log  |   1 +
 .../pt_06/expected_log_no_dirauth_relay|   1 +
 .../conf_examples/pt_06/expected_no_dirauth_relay  |   6 +
 src/test/conf_examples/pt_07/expected_log  |   1 +
 .../pt_08/expected_log_no_dirauth_relay|   1 +
 src/test/conf_examples/pt_09/error |   1 +
 src/test/conf_examples/relay_01/expected_log   |   1 +
 src/test/conf_examples/relay_02/error  |   1 +
 src/test/conf_examples/relay_03/expected_log   |   1 +
 src/test/conf_examples/relay_04/expected_log   |   1 +
 src/test/conf_examples/relay_05/expected_log   |   1 +
 src/test/conf_examples/relay_06/expected_log   |   1 +
 src/test/conf_examples/relay_07/expected_log   |   1 +
 src/test/conf_examples/relay_08/expected_log   |   1 +
 src/test/conf_examples/relay_09/expected_log   |   1 +
 src/test/conf_examples/relay_10/expected_log   |   1 +
 src/test/conf_examples/relay_14/expected_log   |   1 +
 src/test/conf_examples/relay_17/expected_log   |   1 +
 src/test/conf_examples/relay_19/expected_log   |   1 +
 src/test/conf_examples/relay_21/expected_log   |   1 +
 src/test/conf_examples/relay_29/expected_log   |   1 +
 src/test/conf_failures/README  |   5 +
 src/test/conf_failures/fail-error-success/error|   1 +
 src/test/conf_failures/fail-error-success/torrc|   0
 

[tor-commits] [tor/master] test/parseconf: Stop adding newlines to *_printf

2019-11-14 Thread nickm
commit 51a6c0c8fd147a852a9567f1b1987b686bcc1800
Author: teor 
Date:   Thu Nov 14 10:54:42 2019 +1000

test/parseconf: Stop adding newlines to *_printf

Cleanup after 32451.
---
 src/test/test_parseconf.sh | 24 +++-
 1 file changed, 11 insertions(+), 13 deletions(-)

diff --git a/src/test/test_parseconf.sh b/src/test/test_parseconf.sh
index 2156077d7..2298f0234 100755
--- a/src/test/test_parseconf.sh
+++ b/src/test/test_parseconf.sh
@@ -167,7 +167,6 @@ fail_printf()
 # The first argument is a printf string, so this warning is spurious
 # shellcheck disable=SC2059
 printf "$@" >&2
-printf "\\n" >&2
 NEXT_TEST="yes"
 FINAL_EXIT=$EXITCODE
 }
@@ -180,7 +179,6 @@ die_printf()
 # The first argument is a printf string, so this warning is spurious
 # shellcheck disable=SC2059
 printf "$@" >&2
-printf "\\n" >&2
 exit $EXITCODE
 }
 
@@ -191,11 +189,11 @@ else
 fi
 
 EMPTY="${DATA_DIR}/EMPTY"
-touch "$EMPTY" || die_printf "Couldn't create empty file '%s'." \
+touch "$EMPTY" || die_printf "Couldn't create empty file '%s'.\\n" \
  "$EMPTY"
 NON_EMPTY="${DATA_DIR}/NON_EMPTY"
 echo "This pattern should not match any log messages" \
- > "$NON_EMPTY" || die_printf "Couldn't create non-empty file '%s'." \
+ > "$NON_EMPTY" || die_printf "Couldn't create non-empty file '%s'.\\n" \
   "$NON_EMPTY"
 
 STANDARD_LIBS="libevent\\|openssl\\|zlib"
@@ -216,7 +214,7 @@ TOR_LIBS_ENABLED=${TOR_LIBS_ENABLED%_}
 TOR_LIBS_ENABLED_COUNT="$(echo "$TOR_LIBS_ENABLED_SEARCH" \
   | tr ' ' '\n' | wc -l)"
 if test "$TOR_LIBS_ENABLED_COUNT" -gt 3; then
-die_printf "Can not handle more than 3 optional libraries"
+die_printf "Can not handle more than 3 optional libraries.\\n"
 fi
 # Brute-force the combinations of libraries
 TOR_LIBS_ENABLED_SEARCH_3="$(echo "$TOR_LIBS_ENABLED" \
@@ -301,7 +299,7 @@ dump_config()
--defaults-torrc "$2" \
$3 \
> "$4"; then
-fail_printf "'%s': Tor --dump-config reported an error%s:\\n%s" \
+fail_printf "'%s': Tor --dump-config reported an error%s:\\n%s\\n" \
 "$5" \
 "$CONTEXT" \
 "$FULL_TOR_CMD"
@@ -325,7 +323,7 @@ filter()
 
 "$FILTER" "$1" \
   > "$2" \
-|| fail_printf "'%s': Filter '%s' reported an error%s." \
+|| fail_printf "'%s': Filter '%s' reported an error%s.\\n" \
"$3" \
"$FILTER" \
"$CONTEXT"
@@ -352,7 +350,7 @@ check_diff()
 if cmp "$1" "$2" > /dev/null; then
 return "$TRUE"
 else
-fail_printf "'%s': Tor --dump-config said%s:\\n%s" \
+fail_printf "'%s': Tor --dump-config said%s:\\n%s\\n" \
 "$1" \
 "$CONTEXT" \
 "$7"
@@ -417,7 +415,7 @@ check_dump_config()
 check_empty_pattern()
 {
 if ! test -s "$1"; then
-fail_printf "%s file '%s' is empty, and will match any output." \
+fail_printf "%s file '%s' is empty, and will match any output.\\n" \
 "$2" \
 "$1"
 return "$TRUE"
@@ -455,7 +453,7 @@ verify_config()
 
 # Convert the actual and expected results to boolean, and compare
 if test $((! (! RESULT))) -ne $((! (! $5))); then
-fail_printf "'%s': Tor --verify-config did not %s:\\n%s" \
+fail_printf "'%s': Tor --verify-config did not %s:\\n%s\\n" \
 "$6" \
 "$7" \
 "$FULL_TOR_CMD"
@@ -476,7 +474,7 @@ check_pattern()
 {
 expect_log="$(cat "$1")"
 if ! grep "$expect_log" "$2" > /dev/null; then
-fail_printf "Expected %s '%s':\\n%s" \
+fail_printf "Expected %s '%s':\\n%s\\n" \
 "$3" \
 "$1" \
 "$expect_log"
@@ -566,7 +564,7 @@ for dir in "${EXAMPLEDIR}"/*; do
 
 # Check for broken configs
 if test -f "./error${suffix}"; then
-fail_printf "Found both '%s' and '%s'.%s" \
+fail_printf "Found both '%s' and '%s'.%s\\n" \
 "${dir}/expected${suffix}" \
 "${dir}/error${suffix}" \
 "(Only one of these files should exist.)"
@@ -637,7 +635,7 @@ for dir in "${EXAMPLEDIR}"/*; do
 else
 # This case is not actually configured with a success or a failure.
 # call that an error.
-fail_printf "Did not find ${dir}/*expected or ${dir}/*error."
+fail_printf "Did not find ${dir}/*expected or ${dir}/*error.\\n"
 fi
 
 if test -z "$NEXT_TEST"; then



___
tor-commits mailing list
tor-commits@lists.torproject.org

[tor-commits] [tor/master] test/parseconf: Add failure cases in conf_failures/

2019-11-14 Thread nickm
commit c7838c71fb3d023c8e255896118c59ed8af688eb
Author: teor 
Date:   Thu Nov 14 10:59:15 2019 +1000

test/parseconf: Add failure cases in conf_failures/

These failure cases can be used to test the failure behaviour
and failure logs of test_parseconf.sh.

See the README for details.

Part of 32451.
---
 src/test/conf_failures/README | 5 +
 src/test/conf_failures/fail-error-success/error   | 1 +
 src/test/conf_failures/fail-error-success/torrc   | 0
 src/test/conf_failures/fail-error/error   | 1 +
 src/test/conf_failures/fail-error/torrc   | 1 +
 src/test/conf_failures/fail-expected-error/expected   | 0
 src/test/conf_failures/fail-expected-error/torrc  | 1 +
 src/test/conf_failures/fail-expected-log/expected | 0
 src/test/conf_failures/fail-expected-log/expected_log | 1 +
 src/test/conf_failures/fail-expected-log/torrc| 0
 src/test/conf_failures/fail-expected/expected | 1 +
 src/test/conf_failures/fail-expected/torrc| 0
 12 files changed, 11 insertions(+)

diff --git a/src/test/conf_failures/README b/src/test/conf_failures/README
new file mode 100644
index 0..0da470eeb
--- /dev/null
+++ b/src/test/conf_failures/README
@@ -0,0 +1,5 @@
+This directory contains typical test_parseconf.sh failure cases.
+
+If these directories are copied into conf_examples, test_parseconf.sh will
+fail. Use these failure cases to make sure test_parseconf.sh handles failures
+correctly, and produces useful output.
diff --git a/src/test/conf_failures/fail-error-success/error 
b/src/test/conf_failures/fail-error-success/error
new file mode 100644
index 0..569a631e8
--- /dev/null
+++ b/src/test/conf_failures/fail-error-success/error
@@ -0,0 +1 @@
+Tor
diff --git a/src/test/conf_failures/fail-error-success/torrc 
b/src/test/conf_failures/fail-error-success/torrc
new file mode 100644
index 0..e69de29bb
diff --git a/src/test/conf_failures/fail-error/error 
b/src/test/conf_failures/fail-error/error
new file mode 100644
index 0..4c0be9783
--- /dev/null
+++ b/src/test/conf_failures/fail-error/error
@@ -0,0 +1 @@
+no match
diff --git a/src/test/conf_failures/fail-error/torrc 
b/src/test/conf_failures/fail-error/torrc
new file mode 100644
index 0..bb6fe186a
--- /dev/null
+++ b/src/test/conf_failures/fail-error/torrc
@@ -0,0 +1 @@
+bad bad bad
diff --git a/src/test/conf_failures/fail-expected-error/expected 
b/src/test/conf_failures/fail-expected-error/expected
new file mode 100644
index 0..e69de29bb
diff --git a/src/test/conf_failures/fail-expected-error/torrc 
b/src/test/conf_failures/fail-expected-error/torrc
new file mode 100644
index 0..bb6fe186a
--- /dev/null
+++ b/src/test/conf_failures/fail-expected-error/torrc
@@ -0,0 +1 @@
+bad bad bad
diff --git a/src/test/conf_failures/fail-expected-log/expected 
b/src/test/conf_failures/fail-expected-log/expected
new file mode 100644
index 0..e69de29bb
diff --git a/src/test/conf_failures/fail-expected-log/expected_log 
b/src/test/conf_failures/fail-expected-log/expected_log
new file mode 100644
index 0..bb6fe186a
--- /dev/null
+++ b/src/test/conf_failures/fail-expected-log/expected_log
@@ -0,0 +1 @@
+bad bad bad
diff --git a/src/test/conf_failures/fail-expected-log/torrc 
b/src/test/conf_failures/fail-expected-log/torrc
new file mode 100644
index 0..e69de29bb
diff --git a/src/test/conf_failures/fail-expected/expected 
b/src/test/conf_failures/fail-expected/expected
new file mode 100644
index 0..67be85f12
--- /dev/null
+++ b/src/test/conf_failures/fail-expected/expected
@@ -0,0 +1 @@
+bad
diff --git a/src/test/conf_failures/fail-expected/torrc 
b/src/test/conf_failures/fail-expected/torrc
new file mode 100644
index 0..e69de29bb



___
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 32451

2019-11-14 Thread nickm
commit 9f37c0f4f2cde6b0f5be04f50edcfb23ce999830
Author: teor 
Date:   Thu Nov 14 13:12:42 2019 +1000

changes: file for 32451
---
 changes/ticket32451 | 5 +
 1 file changed, 5 insertions(+)

diff --git a/changes/ticket32451 b/changes/ticket32451
new file mode 100644
index 0..dcca851e5
--- /dev/null
+++ b/changes/ticket32451
@@ -0,0 +1,5 @@
+  o Minor features (testing):
+- Allow test_parseconf.sh to test expected log outputs for successful
+  configs, as well as failed configs. Closes ticket 32451.
+- Add common failure cases for test_parseconf.sh in
+  src/test/conf_failures. Closes ticket 32451.



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


[tor-commits] [tor/master] test/parseconf: Rename some functions, and reformat

2019-11-14 Thread nickm
commit b4b3060f692ed934fe89d791be683a7506e5860e
Author: teor 
Date:   Wed Nov 13 14:00:09 2019 +1000

test/parseconf: Rename some functions, and reformat

Part of 32451.
---
 src/test/test_parseconf.sh | 110 +++--
 1 file changed, 56 insertions(+), 54 deletions(-)

diff --git a/src/test/test_parseconf.sh b/src/test/test_parseconf.sh
index 78b88c48e..237bf33ce 100755
--- a/src/test/test_parseconf.sh
+++ b/src/test/test_parseconf.sh
@@ -159,19 +159,21 @@ fi
 FINAL_EXIT=0
 
 NEXT_TEST=
-fail() { printf "FAIL: " >&2;
- # The first argument is a printf string, so this warning is spurious
- # shellcheck disable=SC2059
- printf "$@" >&2;
- printf "\\n" >&2;
- NEXT_TEST="yes"
- FINAL_EXIT=$EXITCODE; }
-die()  { printf "FAIL: CRITICAL error in '%s':" "$MYNAME" >&2;
- # The first argument is a printf string, so this warning is spurious
- # shellcheck disable=SC2059
- printf "$@" >&2;
- printf "\\n" >&2;
- exit $EXITCODE; }
+fail_printf() { printf "FAIL: " >&2;
+# The first argument is a printf string, so this warning is
+# spurious
+# shellcheck disable=SC2059
+printf "$@" >&2;
+printf "\\n" >&2;
+NEXT_TEST="yes"
+FINAL_EXIT=$EXITCODE; }
+die_printf()  { printf "FAIL: CRITICAL error in '%s':" "$MYNAME" >&2;
+# The first argument is a printf string, so this warning is
+# spurious
+# shellcheck disable=SC2059
+printf "$@" >&2;
+printf "\\n" >&2;
+exit $EXITCODE; }
 
 if test "$WINDOWS" = 1; then
 FILTER="dos2unix"
@@ -181,8 +183,8 @@ fi
 
 EMPTY="${DATA_DIR}/EMPTY"
 
-touch "$EMPTY" || die "Couldn't create empty file '%s'." \
-  "$EMPTY"
+touch "$EMPTY" || die_printf "Couldn't create empty file '%s'." \
+ "$EMPTY"
 
 STANDARD_LIBS="libevent\\|openssl\\|zlib"
 # Lib names are restricted to [a-z0-9]* at the moment
@@ -202,7 +204,7 @@ TOR_LIBS_ENABLED=${TOR_LIBS_ENABLED%_}
 TOR_LIBS_ENABLED_COUNT="$(echo "$TOR_LIBS_ENABLED_SEARCH" \
   | tr ' ' '\n' | wc -l)"
 if test "$TOR_LIBS_ENABLED_COUNT" -gt 3; then
-die "Can not handle more than 3 optional libraries"
+die_printf "Can not handle more than 3 optional libraries"
 fi
 # Brute-force the combinations of libraries
 TOR_LIBS_ENABLED_SEARCH_3="$(echo "$TOR_LIBS_ENABLED" \
@@ -272,10 +274,10 @@ for dir in "${EXAMPLEDIR}"/*; do
 
 # Check for broken configs
 if test -f "./error${suffix}"; then
-fail "Found both '%s' and '%s'.%s" \
- "${dir}/expected${suffix}" \
- "${dir}/error${suffix}" \
- "(Only one of these files should exist.)"
+fail_printf "Found both '%s' and '%s'.%s" \
+"${dir}/expected${suffix}" \
+"${dir}/error${suffix}" \
+"(Only one of these files should exist.)"
 break
 fi
 
@@ -305,9 +307,9 @@ for dir in "${EXAMPLEDIR}"/*; do
 
 if test -f "$EXPECTED_LOG"; then
 if ! test -s "$EXPECTED_LOG"; then
-fail "Expected log file '%s' is empty.%s" \
- "$EXPECTED_LOG" \
- "(Empty expected log files match any output.)"
+fail_printf "Expected log file '%s' is empty.%s" \
+"$EXPECTED_LOG" \
+"(Empty expected log files match any output.)"
 continue
 fi
 fi
@@ -316,14 +318,14 @@ for dir in "${EXAMPLEDIR}"/*; do
   --defaults-torrc "$DEFAULTS" \
   --dump-config short \
   $CMDLINE > "${DATA_DIR}/output_raw.${testname}" \
-|| fail "'%s': Tor --dump-config reported an error." \
-"$EXPECTED"
+|| fail_printf "'%s': Tor --dump-config reported an error." \
+   "$EXPECTED"
 
 "$FILTER" "${DATA_DIR}/output_raw.${testname}" \
   > "${DATA_DIR}/output.${testname}" \
-|| fail "'%s': Filter '%s' reported an error." \
-"$EXPECTED" \
-"$FILTER"
+|| fail_printf "'%s': Filter '%s' reported an error." \
+   "$EXPECTED" \
+   "$FILTER"
 
 if cmp "$EXPECTED" "${DATA_DIR}/output.${testname}" > /dev/null; then
 # Check round-trip.
@@ -331,20 +333,20 @@ for dir in "${EXAMPLEDIR}"/*; do
   --defaults-torrc "$EMPTY" \
   --dump-config short \
   > 

[tor-commits] [tor/master] test/parseconf: Use consistent formatting

2019-11-14 Thread nickm
commit e6ca32fae3031e33898d541bf4da28c58b978713
Author: teor 
Date:   Tue Nov 12 16:51:18 2019 +1000

test/parseconf: Use consistent formatting

Make spacing, quotes, and env vars consistent.

Cleanup after 32451 and 32468.
---
 src/test/test_parseconf.sh | 25 +
 1 file changed, 13 insertions(+), 12 deletions(-)

diff --git a/src/test/test_parseconf.sh b/src/test/test_parseconf.sh
index b84350985..78b88c48e 100755
--- a/src/test/test_parseconf.sh
+++ b/src/test/test_parseconf.sh
@@ -107,7 +107,7 @@ MYNAME="$0"
 # emulate realpath(), in case coreutils or equivalent is not installed.
 abspath() {
 f="$*"
-if [ -d "$f" ]; then
+if test -d "$f"; then
 dir="$f"
 base=""
 else
@@ -119,8 +119,8 @@ abspath() {
 }
 
 # find the tor binary
-if [ $# -ge 1 ]; then
-  TOR_BINARY="${1}"
+if test $# -ge 1; then
+  TOR_BINARY="$1"
   shift
 else
   TOR_BINARY="${TESTING_TOR_BINARY:-./src/app/tor}"
@@ -128,7 +128,7 @@ fi
 
 TOR_BINARY="$(abspath "$TOR_BINARY")"
 
-echo "TOR BINARY IS ${TOR_BINARY}"
+echo "TOR BINARY IS $TOR_BINARY"
 
 # make a safe space for temporary files
 DATA_DIR=$(mktemp -d -t tor_parseconf_tests.XX)
@@ -163,14 +163,14 @@ fail() { printf "FAIL: " >&2;
  # The first argument is a printf string, so this warning is spurious
  # shellcheck disable=SC2059
  printf "$@" >&2;
- printf '\n' >&2;
+ printf "\\n" >&2;
  NEXT_TEST="yes"
  FINAL_EXIT=$EXITCODE; }
 die()  { printf "FAIL: CRITICAL error in '%s':" "$MYNAME" >&2;
  # The first argument is a printf string, so this warning is spurious
  # shellcheck disable=SC2059
  printf "$@" >&2;
- printf '\n' >&2;
+ printf "\\n" >&2;
  exit $EXITCODE; }
 
 if test "$WINDOWS" = 1; then
@@ -223,7 +223,7 @@ TOR_MODULES_DISABLED=${TOR_MODULES_DISABLED%_}
 
 echo "Tor is configured with:"
 echo "Optional Libraries: ${TOR_LIBS_ENABLED:-(None)}"
-if [ -n "${TOR_LIBS_ENABLED}" ]; then
+if test "$TOR_LIBS_ENABLED"; then
 echo "Optional Library Search List: $TOR_LIBS_ENABLED_SEARCH"
 fi
 echo "Disabled Modules: ${TOR_MODULES_DISABLED:-(None)}"
@@ -238,10 +238,11 @@ for dir in "${EXAMPLEDIR}"/*; do
 
 testname="$(basename "${dir}")"
 # We use printf since "echo -n" is not standard
-printf "%s: " "$testname"
+printf "%s: " \
+   "$testname"
 
 PREV_DIR="$(pwd)"
-cd "${dir}"
+cd "$dir"
 
 if test -f "./torrc.defaults"; then
 DEFAULTS="./torrc.defaults"
@@ -419,8 +420,8 @@ for dir in "${EXAMPLEDIR}"/*; do
 && fail "'%s': Tor did not report an error." \
 "$ERROR"
 
-expect_err="$(cat "$ERROR")"
-if grep "${expect_err}" "${DATA_DIR}/output.${testname}" >/dev/null; 
then
+expect_err="$(cat "${ERROR}")"
+if grep "$expect_err" "${DATA_DIR}/output.${testname}" > /dev/null; 
then
 echo "OK"
 else
 fail "Expected '%s':\\n%s\\nTor said:" \
@@ -435,7 +436,7 @@ for dir in "${EXAMPLEDIR}"/*; do
 fail "Did not find ${dir}/*expected or ${dir}/*error."
 fi
 
-cd "${PREV_DIR}"
+cd "$PREV_DIR"
 
 done
 



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


[tor-commits] [tor/master] test/parseconf: Show tor command lines on failure

2019-11-14 Thread nickm
commit 2c4ada729e275f37a2165866a78378ff606cb451
Author: teor 
Date:   Thu Nov 14 10:50:20 2019 +1000

test/parseconf: Show tor command lines on failure

Part of 32451.
---
 src/test/test_parseconf.sh | 88 +++---
 1 file changed, 59 insertions(+), 29 deletions(-)

diff --git a/src/test/test_parseconf.sh b/src/test/test_parseconf.sh
index 816ed97e3..2156077d7 100755
--- a/src/test/test_parseconf.sh
+++ b/src/test/test_parseconf.sh
@@ -252,6 +252,15 @@ FALSE=1
 # Send tor's standard output to stderr.
 log_verify_config()
 {
+# show the command we're about to execute
+# log_verify_config() is only called when we've failed
+printf "Tor --verify-config said:\\n" >&2
+printf "$ %s %s %s %s %s %s %s\\n" \
+"$TOR_BINARY" --verify-config \
+  -f "$1" \
+  --defaults-torrc "$2" \
+  "$3" \
+  >&2
 # We need cmdline unquoted
 # shellcheck disable=SC2086
 "$TOR_BINARY" --verify-config \
@@ -266,6 +275,8 @@ log_verify_config()
 # may be $EMPTY. Pass tor the extra command line arguments $3, which will be
 # passed unquoted. Send tor's standard output to $4.
 #
+# Set $FULL_TOR_CMD to the tor command line that was executed.
+#
 # If tor fails, fail_printf() using the file name $5, and context $6,
 # which may be an empty string. Then run log_verify_config().
 dump_config()
@@ -276,6 +287,13 @@ dump_config()
 CONTEXT=""
 fi
 
+# keep the command we're about to execute, and show if it we fail
+FULL_TOR_CMD=$(printf "$ %s %s %s %s %s %s %s %s" \
+ "$TOR_BINARY" --dump-config short \
+   -f "$1" \
+   --defaults-torrc "$2" \
+   "$3"
+ )
 # We need cmdline unquoted
 # shellcheck disable=SC2086
 if ! "$TOR_BINARY" --dump-config short \
@@ -283,9 +301,10 @@ dump_config()
--defaults-torrc "$2" \
$3 \
> "$4"; then
-fail_printf "'%s': Tor --dump-config reported an error%s. Tor said:" \
+fail_printf "'%s': Tor --dump-config reported an error%s:\\n%s" \
 "$5" \
-"$CONTEXT"
+"$CONTEXT" \
+"$FULL_TOR_CMD"
 log_verify_config "$1" \
   "$2" \
   "$3"
@@ -314,19 +333,18 @@ filter()
 
 # Compare the expected file $1, and output file $2.
 #
-# If they are different, fail. If this is the first step that failed in this
-# test, run log_verify_config() with torrc $3, defaults torrc $4, and command
-# line $5, to log Tor's error messages. Finally, log the differences between
-# the files.
+# If they are different, fail. Log the differences between the files.
+# Run log_verify_config() with torrc $3, defaults torrc $4, and command
+# line $5, to log Tor's error messages.
 #
 # If the file contents are identical, returns true. Otherwise, return false.
 #
-# Log failure messages using fail_printf(), with the expected file name, and
-# context $6, which may be an empty string.
+# Log failure messages using fail_printf(), with the expected file name,
+# context $6, which may be an empty string, and the tor command line $7.
 check_diff()
 {
 if test "$6"; then
-CONTEXT=" $=6"
+CONTEXT=" $6"
 else
 CONTEXT=""
 fi
@@ -334,21 +352,15 @@ check_diff()
 if cmp "$1" "$2" > /dev/null; then
 return "$TRUE"
 else
-# If this is the first step that failed in this test,
-# show tor's logs
-if test -z "$NEXT_TEST"; then
-   fail_printf "'%s': Tor said%s:" \
-   "$1" \
-   "$CONTEXT"
-   log_verify_config "$3" \
- "$4" \
- "$5"
-fi
-fail_printf "'%s' did not match%s:" \
+fail_printf "'%s': Tor --dump-config said%s:\\n%s" \
 "$1" \
-"$CONTEXT"
+"$CONTEXT" \
+"$7"
 diff -u "$1" "$2" >&2 \
 || true
+log_verify_config "$3" \
+  "$4" \
+  "$5"
 return "$FALSE"
 fi
 }
@@ -372,6 +384,8 @@ check_dump_config()
 {
 OUTPUT="$4"
 OUTPUT_RAW="${OUTPUT}_raw"
+
+FULL_TOR_CMD=
 dump_config "$1" \
 "$2" \
 "$3" \
@@ -389,8 +403,8 @@ check_dump_config()
   "$1" \
   "$2" \
   "$3" \
-  "$5" \
-  "$6"; then
+  "$6" \
+  "$FULL_TOR_CMD"; then
 return "$TRUE"
 else
 return "$FALSE"
@@ -416,11 +430,21 @@ check_empty_pattern()
 # be $EMPTY. Pass tor the extra command line arguments $3, which will be
 # passed unquoted. Send tor's standard output to $4.
 #
+# Set 

[tor-commits] [tor/master] test/parseconf: Stop ignoring --dump-config failures

2019-11-14 Thread nickm
commit 4514bfe9c25f3222e0feba29c5129229287f3963
Author: teor 
Date:   Tue Nov 12 16:45:07 2019 +1000

test/parseconf: Stop ignoring --dump-config failures

When we added the $FILTER for Windows newlines, we made
the pipeline always exit successfully, even if tor failed.

Fixes bug 32468; bugfix on 0.4.2.1-alpha.
---
 changes/bug32468 |   3 +
 src/test/conf_examples/pt_02/error   |   1 +
 src/test/conf_examples/pt_02/expected|   0
 src/test/conf_examples/pt_09/error   |   1 +
 src/test/conf_examples/pt_09/expected|   0
 src/test/conf_examples/relay_02/error|   1 +
 src/test/conf_examples/relay_02/expected |   0
 src/test/test_parseconf.sh   | 189 +++
 8 files changed, 120 insertions(+), 75 deletions(-)

diff --git a/changes/bug32468 b/changes/bug32468
new file mode 100644
index 0..fa0d87709
--- /dev/null
+++ b/changes/bug32468
@@ -0,0 +1,3 @@
+  o Minor bugfixes (testing):
+- Stop ignoring "tor --dump-config" errors in test_parseconf.sh.
+  Fixes bug 32468; bugfix on 0.4.2.1-alpha.
diff --git a/src/test/conf_examples/pt_02/error 
b/src/test/conf_examples/pt_02/error
new file mode 100644
index 0..ce28eab72
--- /dev/null
+++ b/src/test/conf_examples/pt_02/error
@@ -0,0 +1 @@
+Invalid ExtORPort configuration
diff --git a/src/test/conf_examples/pt_02/expected 
b/src/test/conf_examples/pt_02/expected
deleted file mode 100644
index e69de29bb..0
diff --git a/src/test/conf_examples/pt_09/error 
b/src/test/conf_examples/pt_09/error
new file mode 100644
index 0..882b50a7b
--- /dev/null
+++ b/src/test/conf_examples/pt_09/error
@@ -0,0 +1 @@
+Error parsing ServerTransportListenAddr address
\ No newline at end of file
diff --git a/src/test/conf_examples/pt_09/expected 
b/src/test/conf_examples/pt_09/expected
deleted file mode 100644
index e69de29bb..0
diff --git a/src/test/conf_examples/relay_02/error 
b/src/test/conf_examples/relay_02/error
new file mode 100644
index 0..dd87d9f7e
--- /dev/null
+++ b/src/test/conf_examples/relay_02/error
@@ -0,0 +1 @@
+Unrecognized value bad
diff --git a/src/test/conf_examples/relay_02/expected 
b/src/test/conf_examples/relay_02/expected
deleted file mode 100644
index e69de29bb..0
diff --git a/src/test/test_parseconf.sh b/src/test/test_parseconf.sh
index 962d43dd7..b84350985 100755
--- a/src/test/test_parseconf.sh
+++ b/src/test/test_parseconf.sh
@@ -102,6 +102,8 @@
 umask 077
 set -e
 
+MYNAME="$0"
+
 # emulate realpath(), in case coreutils or equivalent is not installed.
 abspath() {
 f="$*"
@@ -156,7 +158,20 @@ fi
 
 FINAL_EXIT=0
 
-die() { echo "$1" >&2 ; FINAL_EXIT=$EXITCODE; }
+NEXT_TEST=
+fail() { printf "FAIL: " >&2;
+ # The first argument is a printf string, so this warning is spurious
+ # shellcheck disable=SC2059
+ printf "$@" >&2;
+ printf '\n' >&2;
+ NEXT_TEST="yes"
+ FINAL_EXIT=$EXITCODE; }
+die()  { printf "FAIL: CRITICAL error in '%s':" "$MYNAME" >&2;
+ # The first argument is a printf string, so this warning is spurious
+ # shellcheck disable=SC2059
+ printf "$@" >&2;
+ printf '\n' >&2;
+ exit $EXITCODE; }
 
 if test "$WINDOWS" = 1; then
 FILTER="dos2unix"
@@ -166,7 +181,8 @@ fi
 
 EMPTY="${DATA_DIR}/EMPTY"
 
-touch "$EMPTY" || die "Couldn't create empty file."
+touch "$EMPTY" || die "Couldn't create empty file '%s'." \
+  "$EMPTY"
 
 STANDARD_LIBS="libevent\\|openssl\\|zlib"
 # Lib names are restricted to [a-z0-9]* at the moment
@@ -185,9 +201,8 @@ TOR_LIBS_ENABLED=${TOR_LIBS_ENABLED%_}
 # If we ever have more than 3 optional libraries, we'll need more code here
 TOR_LIBS_ENABLED_COUNT="$(echo "$TOR_LIBS_ENABLED_SEARCH" \
   | tr ' ' '\n' | wc -l)"
-if [ "$TOR_LIBS_ENABLED_COUNT" -gt 3 ]; then
-echo "$0 can not handle more than 3 optional libraries"
-exit 1
+if test "$TOR_LIBS_ENABLED_COUNT" -gt 3; then
+die "Can not handle more than 3 optional libraries"
 fi
 # Brute-force the combinations of libraries
 TOR_LIBS_ENABLED_SEARCH_3="$(echo "$TOR_LIBS_ENABLED" \
@@ -214,7 +229,9 @@ fi
 echo "Disabled Modules: ${TOR_MODULES_DISABLED:-(None)}"
 
 for dir in "${EXAMPLEDIR}"/*; do
-if ! test -d "${dir}"; then
+NEXT_TEST=
+
+if ! test -d "$dir"; then
# Only count directories.
continue
 fi
@@ -254,10 +271,11 @@ for dir in "${EXAMPLEDIR}"/*; do
 
 # Check for broken configs
 if test -f "./error${suffix}"; then
-echo "FAIL: Found both ${dir}/expected${suffix}" >&2
-echo "and ${dir}/error${suffix}." >&2
-echo "(Only one of these files should exist.)" >&2
-FINAL_EXIT=$EXITCODE
+fail "Found both '%s' and '%s'.%s" \
+ "${dir}/expected${suffix}" \
+ 

[tor-commits] [tor/master] test/parseconf: Split the file list into sections

2019-11-14 Thread nickm
commit 735d5f5b7eaed14b2242d1685e0ffa92f746c70c
Author: teor 
Date:   Tue Nov 12 15:03:47 2019 +1000

test/parseconf: Split the file list into sections

There are lots of different files now, so having Config and Result
sections is helpful.

Part of 32451.
---
 src/test/test_parseconf.sh | 4 
 1 file changed, 4 insertions(+)

diff --git a/src/test/test_parseconf.sh b/src/test/test_parseconf.sh
index 8d41438b2..83631cb4c 100755
--- a/src/test/test_parseconf.sh
+++ b/src/test/test_parseconf.sh
@@ -17,6 +17,8 @@
 # This script looks for its test cases as individual directories in
 # src/test/conf_examples/.  Each test may have these files:
 #
+# Configuration Files
+#
 # torrc -- Usually needed. This file is passed to Tor on the command line
 #  with the "-f" flag. (If you omit it, you'll test Tor's behavior when
 #  it receives a nonexistent configuration file.)
@@ -33,6 +35,8 @@
 #  included. Include paths should be specified relative to the test case
 #  directory.
 #
+# Result Files
+#
 # expected -- If this file is present, then it should be the expected result
 #  of "--dump-config short" for this test case.  Exactly one of
 #  "expected" or "error" must be present, or the test will fail.



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


[tor-commits] [tor/master] test/parseconf: Rewrite the included files section

2019-11-14 Thread nickm
commit 4cf5d4cb3c6d725c7615b664b2f3ba116f36b150
Author: teor 
Date:   Tue Nov 12 15:06:15 2019 +1000

test/parseconf: Rewrite the included files section

Part of 32451.
---
 src/test/test_parseconf.sh | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/test/test_parseconf.sh b/src/test/test_parseconf.sh
index 83631cb4c..2f1f1ed35 100755
--- a/src/test/test_parseconf.sh
+++ b/src/test/test_parseconf.sh
@@ -30,10 +30,10 @@
 # cmdline -- Optional. If present, it contains command-line arguments that
 #  will be passed to Tor.
 #
-# (included torrc files or directories) -- Optional. If present, and
-#  configured in the torrc* or cmdline, these files or directories are
-#  included. Include paths should be specified relative to the test case
-#  directory.
+# (included torrc files or directories) -- Optional. Additional files can be
+#  included in configuration, using the "%include" directive. Files or
+#  directories can be included in any of the config files listed above.
+#  Include paths should be specified relative to the test case directory.
 #
 # Result Files
 #



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


[tor-commits] [tor/master] test/parseconf: Add an expected_log file

2019-11-14 Thread nickm
commit 3df64320067625e1ce888b9bd11943524ee8f47d
Author: teor 
Date:   Tue Nov 12 15:07:27 2019 +1000

test/parseconf: Add an expected_log file

The "expected_log" file is a set of patterns that matches the
output of "tor --verify-config". Unlike "error", it expects a
successful exit status.

Part of 32451.
---
 src/test/test_parseconf.sh | 79 +++---
 1 file changed, 67 insertions(+), 12 deletions(-)

diff --git a/src/test/test_parseconf.sh b/src/test/test_parseconf.sh
index 2f1f1ed35..f298072c3 100755
--- a/src/test/test_parseconf.sh
+++ b/src/test/test_parseconf.sh
@@ -8,11 +8,16 @@
 # Valid configurations are tested with --dump-config, which parses and
 # validates the configuration before writing it out.  We then make sure that
 # the result is what we expect, before parsing and dumping it again to make
-# sure that there is no change.
+# sure that there is no change. Optionally, we can also test the log messages
+# with --verify-config.
 #
 # Invalid configurations are tested with --verify-config, which parses
 # and validates the configuration. We capture its output and make sure that
 # it contains the error message we expect.
+#
+# When tor is compiled with different libraries or modules, some
+# configurations may have different results. We can specify these result
+# variants using additional result files.
 
 # This script looks for its test cases as individual directories in
 # src/test/conf_examples/.  Each test may have these files:
@@ -41,33 +46,42 @@
 #  of "--dump-config short" for this test case.  Exactly one of
 #  "expected" or "error" must be present, or the test will fail.
 #
+# expected_log -- Optional. If this file is present, then it contains a regex
+#  that must be matched by some line in the output of "--verify-config",
+#  which must succeed. Only used if "expected" is also present.
+#
 # error -- If this file is present, then it contains a regex that must be
 #  matched by some line in the output of "--verify-config", which must
 #  fail. Exactly one of "expected" or "error" must be present, or the
 #  test will fail.
 #
-# {expected,error}_${TOR_LIBS_ENABLED}* -- If this file is present,
-#  then the outcome is different when some optional libraries are
+# {expected,expected_log,error}_${TOR_LIBS_ENABLED}* -- If this file is
+#  present, then the outcome is different when some optional libraries are
 #  enabled. If there is no result file matching the exact list of enabled
 #  libraries, the script searches for result files with one or more of
 #  those libraries disabled. The search terminates at the standard result
-#  file.
+#  file. If expected* is present, the script also searches for
+#  expected_log*.
 #
 #  For example:
 #  A test that succeeds, regardless of any enabled libraries:
 #   - expected
 #  A test that has a different result if the nss library is enabled
-#  (but the same result if any other library is enabled):
+#  (but the same result if any other library is enabled). We also check
+#  the log output in this test:
 #   - expected
+#   - expected_log
 #   - expected_nss
+#   - expected_log_nss
 #  A test that fails if the lzma and zstd modules are *not* enabled:
 #   - error
 #   - expected_lzma_zstd
 #
-# {expected,error}*_no_${TOR_MODULES_DISABLED} -- If this file is present,
-#  then the outcome is different when some modules are disabled. If there
-#  is no result file matching the exact list of disabled modules, the
-#  standard result file is used.
+# {expected,expected_log,error}*_no_${TOR_MODULES_DISABLED} -- If this file is
+#  present, then the outcome is different when some modules are disabled.
+#  If there is no result file matching the exact list of disabled modules,
+#  the standard result file is used. If expected* is present, the script
+#  also searches for expected_log*.
 #
 #  For example:
 #  A test that succeeds, regardless of any disabled modules:
@@ -225,6 +239,7 @@ for dir in "${EXAMPLEDIR}"/*; do
 fi
 
 EXPECTED=
+EXPECTED_LOG=
 ERROR=
 # Search for a custom result file for any combination of enabled optional
 # libraries
@@ -246,6 +261,9 @@ for dir in "${EXAMPLEDIR}"/*; do
 fi
 
 EXPECTED="./expected${suffix}"
+if test -f "./expected_log${suffix}"; then
+EXPECTED_LOG="./expected_log${suffix}"
+fi
 break
 
 elif test -f "./error${suffix}"; then
@@ -261,8 +279,17 @@ for dir in "${EXAMPLEDIR}"/*; do
 done
 
 if test -f "$EXPECTED"; then
-
 # This case should succeed: run dump-config and see if it does.
+FAILED_LOG=
+FAILED_CONFIG=
+
+if test -f "$EXPECTED_LOG"; then
+if ! test -s "$EXPECTED_LOG"; then
+echo "FAIL: 

[tor-commits] [tor/master] test/parseconf: Standardise output messages

2019-11-14 Thread nickm
commit 7ef44100c4d85fbd091c3965013b5465872a05f6
Author: teor 
Date:   Tue Nov 12 15:21:10 2019 +1000

test/parseconf: Standardise output messages

Part of 32451.
---
 src/test/test_parseconf.sh | 17 ++---
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/src/test/test_parseconf.sh b/src/test/test_parseconf.sh
index f298072c3..962d43dd7 100755
--- a/src/test/test_parseconf.sh
+++ b/src/test/test_parseconf.sh
@@ -311,20 +311,23 @@ for dir in "${EXAMPLEDIR}"/*; do
 
 if ! cmp "${DATA_DIR}/output.${testname}" \
  "${DATA_DIR}/output_2.${testname}"; then
-echo "FAIL: $EXPECTED did not match on round-trip." >&2
+echo "FAIL: $EXPECTED did not match on round-trip:" >&2
+diff -u "${DATA_DIR}/output.${testname}" \
+ "${DATA_DIR}/output_2.${testname}" >&2 \
+|| true
 FINAL_EXIT=$EXITCODE
 fi
 else
 FAILED_CONFIG="yes"
-echo "FAIL" >&2
 if test "$(wc -c < "${DATA_DIR}/output.${testname}")" = 0; then
+echo "FAIL: $EXPECTED: Tor said:" >&2
 # There was no output -- probably we failed.
 "${TOR_BINARY}" -f "./torrc" \
 --defaults-torrc "${DEFAULTS}" \
 --verify-config \
 ${CMDLINE} || true
 fi
-echo "FAIL: $EXPECTED did not match." >&2
+echo "FAIL: $EXPECTED did not match:" >&2
 diff -u "$EXPECTED" "${DATA_DIR}/output.${testname}" >&2 \
 || true
 FINAL_EXIT=$EXITCODE
@@ -346,8 +349,8 @@ for dir in "${EXAMPLEDIR}"/*; do
 :
 else
 FAILED_LOG="yes"
-echo "FAIL" >&2
-echo "Expected $EXPECTED_LOG: ${expect_log}" >&2
+echo "FAIL: Expected $EXPECTED_LOG:" >&2
+echo "${expect_log}" >&2
 echo "Tor said:" >&2
 cat "${DATA_DIR}/output_log.${testname}" >&2
 FINAL_EXIT=$EXITCODE
@@ -378,8 +381,8 @@ for dir in "${EXAMPLEDIR}"/*; do
 if grep "${expect_err}" "${DATA_DIR}/output.${testname}" >/dev/null; 
then
 echo "OK"
 else
-echo "FAIL" >&2
-echo "Expected $ERROR: ${expect_err}" >&2
+echo "FAIL: Expected $ERROR: " >&2
+echo "${expect_err}" >&2
 echo "Tor said:" >&2
 cat "${DATA_DIR}/output.${testname}" >&2
 FINAL_EXIT=$EXITCODE



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


[tor-commits] [translation/donatepages-messagespot] https://gitweb.torproject.org/translation.git/commit/?h=donatepages-messagespot

2019-11-14 Thread translation
commit 8d600516215b2ee78d3dd383ecf325b5c1a809cc
Author: Translation commit bot 
Date:   Thu Nov 14 14:15:40 2019 +


https://gitweb.torproject.org/translation.git/commit/?h=donatepages-messagespot
---
 locale/fr/LC_MESSAGES/messages.po | 12 +++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/locale/fr/LC_MESSAGES/messages.po 
b/locale/fr/LC_MESSAGES/messages.po
index 0f8b17102..49e865fda 100644
--- a/locale/fr/LC_MESSAGES/messages.po
+++ b/locale/fr/LC_MESSAGES/messages.po
@@ -542,6 +542,8 @@ msgid ""
 "Get this year's Take Back the Internet With Tor t-shirt and the Tor: "
 "Strength in Numbers t-shirt."
 msgstr ""
+"Obtenez notre tee-shirt de l’année « Take Back the Internet With Tort 
» et "
+"notre tee-shirt « Tor: Strength in Numbers »."
 
 #: 
tmp/cache_locale/af/af919ed4d7946ee7ed7d71a5580f4c75c5fb2b9374dd8d99d3a0671f71654f60.php:277
 msgid "sweatshirt"
@@ -721,7 +723,7 @@ msgstr "par mois"
 
 #: 
tmp/cache_locale/af/af919ed4d7946ee7ed7d71a5580f4c75c5fb2b9374dd8d99d3a0671f71654f60.php:563
 msgid "Gift selected"
-msgstr ""
+msgstr "Cadeau sélectionné "
 
 #: 
tmp/cache_locale/a1/a1384b9a21e3d43e946972b01389567dff845ee982dcf05228aa3e5096a74210.php:59
 msgid "Estimated Donation Date:"
@@ -1956,6 +1958,10 @@ msgid ""
 "to make a hardware donation that you think might be especially useful for "
 "us, please mail giving(at)torproject.org."
 msgstr ""
+"Habituellement non, nous n’encourageons pas les gens à nous faire don de "
+"matériel. Mais si vous souhaitez faire un don de matériel qui pourrait nous 
"
+"être particulièrement utile d’après vous, veuillez nous contacter par "
+"courriel à l’adresse giving(at)torproject.org."
 
 #: 
tmp/cache_locale/7d/7d56367a61f987367eeb2a89d0c6db83fd0801cce86278bf7e99ed39b5b46254.php:597
 msgid ""
@@ -1963,6 +1969,10 @@ msgid ""
 "at helping the Tor project develop software design to protect people's "
 "anonymity. It does not, in itself, run the Tor network."
 msgstr ""
+"Le projet Tor gère de nombreuses machines en divers lieux, dont le but de "
+"toutes est d’aider le projet Tor à développer des logiciels conçus pour "
+"protéger l’anonymat des gens. En tant que tel, il ne fait pas fonctionner 
le"
+" réseau Tor."
 
 #: 
tmp/cache_locale/7d/7d56367a61f987367eeb2a89d0c6db83fd0801cce86278bf7e99ed39b5b46254.php:601
 msgid ""

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


[tor-commits] [translation/support-portal] https://gitweb.torproject.org/translation.git/commit/?h=support-portal

2019-11-14 Thread translation
commit 54a2248a5351cfc740edb5ade7923aa76cabb812
Author: Translation commit bot 
Date:   Thu Nov 14 13:53:15 2019 +

https://gitweb.torproject.org/translation.git/commit/?h=support-portal
---
 contents+de.po | 78 ++
 1 file changed, 78 insertions(+)

diff --git a/contents+de.po b/contents+de.po
index aa62bd1ea..61dc451ff 100644
--- a/contents+de.po
+++ b/contents+de.po
@@ -6116,6 +6116,8 @@ msgid ""
 "A web application (web app), is an application that the [client](#client) "
 "runs in a [web browser](#web-browser)."
 msgstr ""
+"Eine Web-Applikation (Web-App) ist eine Anwendung, die der [client](#client)"
+" in einem [web browser](#web-browser) ausführt."
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -6184,6 +6186,8 @@ msgid ""
 "[Pluggable transports](#pluggable-transports) are a type of bridge that "
 "helps disguise the fact that you are using Tor."
 msgstr ""
+"[Pluggable-Transporte](#pluggable-transports) sind eine Art von Brücke, die "
+"helfen, die Tatsache zu verschleiern, dass du Tor benutzt."
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -6275,6 +6279,10 @@ msgid ""
 "hard time determining whether or not those requests are coming from humans "
 "or bots."
 msgstr ""
+"[Tor](#tor-/-tor-network/-core-tor) Benutzer werden oft mit Captchas "
+"versorgt, weil Tor[relays](#relay) so viele Anfragen stellen, dass es "
+"Webseiten manchmal schwer fällt festzustellen, ob diese Anfragen von "
+"Menschen oder von Bots kommen oder nicht."
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -6288,6 +6296,9 @@ msgid ""
 "software without errors, the given checksum and the checksum of your "
 "downloaded file will be identical."
 msgstr ""
+"Prüfsummen sind [hash](#hash)-Werte von Dateien. Wenn du die Software "
+"fehlerfrei heruntergeladen hast, sind die angegebene Prüfsumme und die "
+"Prüfsumme deiner heruntergeladenen Datei identisch."
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -6537,6 +6548,11 @@ msgid ""
 "running on a given IP address on a given date.  This service is often useful"
 " when dealing with law enforcement."
 msgstr ""
+"Der ExoneraTor-Dienst verwaltet eine Datenbank mit [relay](#relay)[IP-"
+"Adressen](#ip-address), die Teil des Tor-Netzwerks waren. Es beantwortet die"
+" Frage, ob es zu einem bestimmten Zeitpunkt ein [Tor](#tor-/-tor-network"
+"/-core-tor) Relais gab, das unter einer bestimmten IP-Adresse lief. Dieser "
+"Service ist oft nützlich, wenn es um die Strafverfolgung geht."
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -6595,6 +6611,15 @@ msgid ""
 "network/-core-tor) because their firewall blocks Tor connections. You can "
 "reconfigure or disable your firewall and restart Tor to test this."
 msgstr ""
+"Eine Firewall ist ein Netzwerksicherheitssystem, das das ein- und ausgehende"
+" Netzwerk [traffic](#traffic) überwacht und kontrolliert. Dieser Traffic-"
+"Filter basiert auf vorgegebenen Regeln. Eine Firewall stellt typischerweise "
+"eine Barriere zwischen einem vertrauenswürdigen, sicheren internen Netzwerk "
+"und einem anderen externen Netzwerk dar, kann aber auch als Inhaltsfilter im"
+" Sinne von [Zensur](#Netzwerk-Zensur) verwendet werden. Manchmal haben Leute"
+" Schwierigkeiten, sich mit [Tor](#tor-/-tor-network/-core-tor) zu verbinden,"
+" weil ihre Firewall Torverbindungen blockiert. Du kannst deine Firewall neu "
+"konfigurieren oder deaktivieren und Tor neu starten, um dies zu testen."
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -6610,6 +6635,11 @@ msgid ""
 "services that use Flash also offer an HTML5 alternative, which should work "
 "in the Tor Browser."
 msgstr ""
+"Flash Player ist ein [Browser-Plugin](#add-on-extension-or-plugin) für "
+"Internet [applications](#app), um Audio- und Videoinhalte anzusehen. Du "
+"solltest Flash niemals in [Tor Browser](#tor-browser) ausführen lassen, da "
+"es unsicher ist. Viele Dienste, die Flash verwenden, bieten auch eine "
+"HTML5-Alternative, die im Tor-Browser funktionieren sollte."
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -7139,6 +7169,9 @@ msgid ""
 "A standardized internet domain name used by onion services that end in "
 ".onion and is designed to be [self-authenticating](#self-authenticating)."
 msgstr ""
+"Ein standardisierter Internet-Domainname, der von Onion-Diensten verwendet "
+"wird und mit .onion endet und als "
+"[selbstauthentifizierend](#selbstauthentifizierend) konzipiert ist."
 
 #: https//support.torproject.org/misc/glossary/
 #: 

[tor-commits] [translation/tpo-web_completed] https://gitweb.torproject.org/translation.git/commit/?h=tpo-web_completed

2019-11-14 Thread translation
commit 9876c7da90650fff7a9f82678d0e1537121120bd
Author: Translation commit bot 
Date:   Thu Nov 14 13:52:52 2019 +

https://gitweb.torproject.org/translation.git/commit/?h=tpo-web_completed
---
 contents+fr.po | 24 ++--
 1 file changed, 22 insertions(+), 2 deletions(-)

diff --git a/contents+fr.po b/contents+fr.po
index d571f9a15..2af375877 100644
--- a/contents+fr.po
+++ b/contents+fr.po
@@ -230,6 +230,11 @@ msgid ""
 "add more. Want to help us translate? [See "
 "here](https://community.torproject.org/localization/)"
 msgstr ""
+"Nous souhaitons que chacun puisse profiter du Navigateur Tor dans sa propre "
+"langue. Le Navigateur Tor est actuellement proposé en 32 langues 
différentes"
+" et nous nous efforçons d’en ajouter d’autres. Voulez-vous nous aider à 
"
+"traduire ? [Visitez cette "
+"page](https://community.torproject.org/localization/)"
 
 #: https//www.torproject.org/download/tor/
 #: (content/download/tor/contents+en.lrpage.title)
@@ -315,6 +320,10 @@ msgid ""
 " the most popular and widely used free, open source privacy technologies: "
 "Tor Browser and the Tor network."
 msgstr ""
+"Le Projet Tor et sa communauté environnante développent et distribuent des 
"
+"technologies gratuites et ouvertes de protection de la vie privée et des "
+"données personnelles des plus populaires et des plus utilisées : le "
+"Navigateur Tor et le réseau Tor."
 
 #: https//www.torproject.org/about/cy-pres/
 #: (content/about/cy-pres/contents+en.lrpage.body)
@@ -1072,10 +1081,14 @@ msgid ""
 "infrastructure, please email tor-secur...@lists.torproject.org. If you've "
 "found a security bug in Tor or Tor Browser, feel free to submit it for our"
 msgstr ""
+"Si vous avez trouvé un problème de sécurité dans l’un de nos projets ou 
dans"
+" notre infrastructure, veuillez envoyer un courriel à tor-"
+"secur...@lists.torproject.org. Si vous avez trouvé un bogue de sécurité 
dans"
+" Tor ou dans le Navigateur Tor, n’hésitez pas à le soumettre pour notre"
 
 #: templates/contact.html:80
 msgid "bug bounty program."
-msgstr ""
+msgstr "programme de prime aux bogues"
 
 #: templates/contact.html:80
 msgid ""
@@ -1190,7 +1203,7 @@ msgstr "Ne comprend que Tor et rien d’autre."
 
 #: templates/download.html:5
 msgid "Get Connected"
-msgstr ""
+msgstr "Se connecter"
 
 #: templates/download.html:7
 msgid "Get connected"
@@ -1238,6 +1251,9 @@ msgid ""
 "Tor Browser will block browser plugins such as Flash, RealPlayer, QuickTime,"
 " and others: they can be manipulated into revealing your IP address."
 msgstr ""
+"Le Navigateur Tor bloquera les greffons de navigateur tels que Flash, "
+"RealPlayer, QuickTime et autres : ils peuvent être manipulés afin de "
+"divulguer votre adresse IP."
 
 #: templates/download.html:27
 msgid ""
@@ -1369,6 +1385,10 @@ msgid ""
 "Tor Browser aims to make all users look the same, making it difficult for "
 "you to be fingerprinted based on your browser and device information."
 msgstr ""
+"Le Navigateur Tor vise à rendre tous les utilisateurs semblables en "
+"apparence, afin qu’il soit plus difficile de vous suivre d’après 
l’empreinte"
+" numérique unique de votre navigateur et les renseignements de votre "
+"appareil."
 
 #: templates/home.html:58
 msgid "Multi-layered Encryption"

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


[tor-commits] [translation/tpo-web] https://gitweb.torproject.org/translation.git/commit/?h=tpo-web

2019-11-14 Thread translation
commit 2ffb2c97e27baf7c070a11c5770add6008c72841
Author: Translation commit bot 
Date:   Thu Nov 14 13:52:43 2019 +

https://gitweb.torproject.org/translation.git/commit/?h=tpo-web
---
 contents+fr.po | 20 ++--
 1 file changed, 18 insertions(+), 2 deletions(-)

diff --git a/contents+fr.po b/contents+fr.po
index 2f397a797..2af375877 100644
--- a/contents+fr.po
+++ b/contents+fr.po
@@ -230,6 +230,11 @@ msgid ""
 "add more. Want to help us translate? [See "
 "here](https://community.torproject.org/localization/)"
 msgstr ""
+"Nous souhaitons que chacun puisse profiter du Navigateur Tor dans sa propre "
+"langue. Le Navigateur Tor est actuellement proposé en 32 langues 
différentes"
+" et nous nous efforçons d’en ajouter d’autres. Voulez-vous nous aider à 
"
+"traduire ? [Visitez cette "
+"page](https://community.torproject.org/localization/)"
 
 #: https//www.torproject.org/download/tor/
 #: (content/download/tor/contents+en.lrpage.title)
@@ -315,6 +320,10 @@ msgid ""
 " the most popular and widely used free, open source privacy technologies: "
 "Tor Browser and the Tor network."
 msgstr ""
+"Le Projet Tor et sa communauté environnante développent et distribuent des 
"
+"technologies gratuites et ouvertes de protection de la vie privée et des "
+"données personnelles des plus populaires et des plus utilisées : le "
+"Navigateur Tor et le réseau Tor."
 
 #: https//www.torproject.org/about/cy-pres/
 #: (content/about/cy-pres/contents+en.lrpage.body)
@@ -1074,8 +1083,8 @@ msgid ""
 msgstr ""
 "Si vous avez trouvé un problème de sécurité dans l’un de nos projets ou 
dans"
 " notre infrastructure, veuillez envoyer un courriel à tor-"
-"secur...@lists.torproject.org.  Si vous avez trouvé une bogue de sécurité 
"
-"dans Tor ou dans le Navigateur Tor, n'hésitez pas à le soumettre pour 
notre "
+"secur...@lists.torproject.org. Si vous avez trouvé un bogue de sécurité 
dans"
+" Tor ou dans le Navigateur Tor, n’hésitez pas à le soumettre pour notre"
 
 #: templates/contact.html:80
 msgid "bug bounty program."
@@ -1242,6 +1251,9 @@ msgid ""
 "Tor Browser will block browser plugins such as Flash, RealPlayer, QuickTime,"
 " and others: they can be manipulated into revealing your IP address."
 msgstr ""
+"Le Navigateur Tor bloquera les greffons de navigateur tels que Flash, "
+"RealPlayer, QuickTime et autres : ils peuvent être manipulés afin de "
+"divulguer votre adresse IP."
 
 #: templates/download.html:27
 msgid ""
@@ -1373,6 +1385,10 @@ msgid ""
 "Tor Browser aims to make all users look the same, making it difficult for "
 "you to be fingerprinted based on your browser and device information."
 msgstr ""
+"Le Navigateur Tor vise à rendre tous les utilisateurs semblables en "
+"apparence, afin qu’il soit plus difficile de vous suivre d’après 
l’empreinte"
+" numérique unique de votre navigateur et les renseignements de votre "
+"appareil."
 
 #: templates/home.html:58
 msgid "Multi-layered Encryption"

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


[tor-commits] [translation/donatepages-messagespot] https://gitweb.torproject.org/translation.git/commit/?h=donatepages-messagespot

2019-11-14 Thread translation
commit 7982ca25188da386d670a2c970aafe71098dcd9c
Author: Translation commit bot 
Date:   Thu Nov 14 13:45:40 2019 +


https://gitweb.torproject.org/translation.git/commit/?h=donatepages-messagespot
---
 locale/fr/LC_MESSAGES/messages.po | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/locale/fr/LC_MESSAGES/messages.po 
b/locale/fr/LC_MESSAGES/messages.po
index 43260d76e..0f8b17102 100644
--- a/locale/fr/LC_MESSAGES/messages.po
+++ b/locale/fr/LC_MESSAGES/messages.po
@@ -20,7 +20,7 @@ msgstr ""
 #: 
tmp/cache_locale/dd/ddde851dcf0f4bcfdf69b2fb2bdd731c4f85ce373ca3ec850a7ca8bbc00dfb85.php:43
 #: 
tmp/cache_locale/dd/ddde851dcf0f4bcfdf69b2fb2bdd731c4f85ce373ca3ec850a7ca8bbc00dfb85.php:66
 msgid "Take back the internet with Tor"
-msgstr ""
+msgstr "Avec Tor, réappropriez-vous Internet"
 
 #: 
tmp/cache_locale/ff/ffee28cfc961a339d813aed75493753fcc9e985dfa212e1af03fc089d5c3fdb0.php:112
 msgid "Give today, and Mozilla will match your donation."
@@ -91,11 +91,13 @@ msgstr "TTG"
 #: 
tmp/cache_locale/dd/ddde851dcf0f4bcfdf69b2fb2bdd731c4f85ce373ca3ec850a7ca8bbc00dfb85.php:70
 msgid "Privacy and freedom online should be the default."
 msgstr ""
+"Sur Internet, la confidentialité, la protection des données personnelles et 
"
+"la liberté devraient juste être respectées, par défaut."
 
 #: 
tmp/cache_locale/dd/ddde851dcf0f4bcfdf69b2fb2bdd731c4f85ce373ca3ec850a7ca8bbc00dfb85.php:49
 #: 
tmp/cache_locale/dd/ddde851dcf0f4bcfdf69b2fb2bdd731c4f85ce373ca3ec850a7ca8bbc00dfb85.php:72
 msgid "Donate to the Tor Project."
-msgstr ""
+msgstr "Faites un don au projet Tor."
 
 #: 
tmp/cache_locale/dd/ddde851dcf0f4bcfdf69b2fb2bdd731c4f85ce373ca3ec850a7ca8bbc00dfb85.php:58
 msgid "summary_large_image"
@@ -526,6 +528,8 @@ msgstr "tee-shirt"
 #: 
tmp/cache_locale/af/af919ed4d7946ee7ed7d71a5580f4c75c5fb2b9374dd8d99d3a0671f71654f60.php:247
 msgid "Get our limited edition Take Back the Internet With Tor shirt."
 msgstr ""
+"Obtenez notre tee-shirt en série limitée « Take Back the Internet With 
Tor "
+"»."
 
 #: 
tmp/cache_locale/af/af919ed4d7946ee7ed7d71a5580f4c75c5fb2b9374dd8d99d3a0671f71654f60.php:258
 msgid "t-shirt pack"

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


[tor-commits] [translation/donatepages-messagespot] https://gitweb.torproject.org/translation.git/commit/?h=donatepages-messagespot

2019-11-14 Thread translation
commit c64aa792a28f96a3a39e7590e0b9a37b5a3e1806
Author: Translation commit bot 
Date:   Thu Nov 14 13:15:41 2019 +


https://gitweb.torproject.org/translation.git/commit/?h=donatepages-messagespot
---
 locale/pt_BR/LC_MESSAGES/messages.po | 31 ---
 1 file changed, 28 insertions(+), 3 deletions(-)

diff --git a/locale/pt_BR/LC_MESSAGES/messages.po 
b/locale/pt_BR/LC_MESSAGES/messages.po
index 67f6ca561..0a629b457 100644
--- a/locale/pt_BR/LC_MESSAGES/messages.po
+++ b/locale/pt_BR/LC_MESSAGES/messages.po
@@ -532,7 +532,7 @@ msgstr "camiseta"
 
 #: 
tmp/cache_locale/af/af919ed4d7946ee7ed7d71a5580f4c75c5fb2b9374dd8d99d3a0671f71654f60.php:247
 msgid "Get our limited edition Take Back the Internet With Tor shirt."
-msgstr ""
+msgstr "Obtenha a nossa edição limitada Retire a Internet com a camisa Tor."
 
 #: 
tmp/cache_locale/af/af919ed4d7946ee7ed7d71a5580f4c75c5fb2b9374dd8d99d3a0671f71654f60.php:258
 msgid "t-shirt pack"
@@ -543,6 +543,8 @@ msgid ""
 "Get this year's Take Back the Internet With Tor t-shirt and the Tor: "
 "Strength in Numbers t-shirt."
 msgstr ""
+"Obtenha a camiseta Retorne a Internet com o Tor deste ano e a camiseta do "
+"Tor: Strength in Numbers."
 
 #: 
tmp/cache_locale/af/af919ed4d7946ee7ed7d71a5580f4c75c5fb2b9374dd8d99d3a0671f71654f60.php:277
 msgid "sweatshirt"
@@ -717,7 +719,7 @@ msgstr "por mês"
 
 #: 
tmp/cache_locale/af/af919ed4d7946ee7ed7d71a5580f4c75c5fb2b9374dd8d99d3a0671f71654f60.php:563
 msgid "Gift selected"
-msgstr ""
+msgstr "Presente selecionado"
 
 #: 
tmp/cache_locale/a1/a1384b9a21e3d43e946972b01389567dff845ee982dcf05228aa3e5096a74210.php:59
 msgid "Estimated Donation Date:"
@@ -1931,6 +1933,9 @@ msgid ""
 "at helping the Tor project develop software design to protect people's "
 "anonymity. It does not, in itself, run the Tor network."
 msgstr ""
+"O projeto Tor gerencia várias máquinas em vários locais, todas destinadas 
a "
+"ajudar o projeto Tor a desenvolver um design de software para proteger o "
+"anonimato das pessoas. Por si só, não executa a rede Tor."
 
 #: 
tmp/cache_locale/7d/7d56367a61f987367eeb2a89d0c6db83fd0801cce86278bf7e99ed39b5b46254.php:601
 msgid ""
@@ -1943,6 +1948,12 @@ msgid ""
 "href=\"https://help.torproject.org/tsa/doc/hardware-requirements/\;>team "
 "wiki."
 msgstr ""
+"Máquinas para ajudar o projeto Tor a desenvolver software geralmente são "
+"pagas pelo projeto Tor ou doadas por organizações amigas. Se você deseja "
+"doar recursos de hardware, geralmente é esperado que o hardware esteja "
+"totalmente sob o controle da https://help.torproject.org/tsa/\;>Equipe Tor Sysadmin . Os "
+"detalhes dos requisitos estão documentados na wiki."
 
 #: 
tmp/cache_locale/7d/7d56367a61f987367eeb2a89d0c6db83fd0801cce86278bf7e99ed39b5b46254.php:605
 msgid ""
@@ -1950,16 +1961,20 @@ msgid ""
 "already existing operating system as well, but we prefer to run the entire "
 "stack ourselves."
 msgstr ""
+"É possível que o projeto Tor execute apenas *serviços* em cima de um 
sistema"
+" operacional já existente, mas preferimos executar a pilha inteira."
 
 #: 
tmp/cache_locale/7d/7d56367a61f987367eeb2a89d0c6db83fd0801cce86278bf7e99ed39b5b46254.php:608
 msgid "https://help.torproject.org/tsa/\;>Tor Sysadmin Team"
-msgstr ""
+msgstr "https://help.torproject.org/tsa/\;>Equipe Tor Sysadmin "
 
 #: 
tmp/cache_locale/7d/7d56367a61f987367eeb2a89d0c6db83fd0801cce86278bf7e99ed39b5b46254.php:612
 msgid ""
 "https://help.torproject.org/tsa/doc/hardware-;
 "requirements/\">Hardware requirements"
 msgstr ""
+"https://help.torproject.org/tsa/doc/hardware-;
+"requirements/\">Requisitos de hardware"
 
 #: 
tmp/cache_locale/7d/7d56367a61f987367eeb2a89d0c6db83fd0801cce86278bf7e99ed39b5b46254.php:618
 msgid "Can I donate my time?"
@@ -2246,6 +2261,10 @@ msgid ""
 "censorship protections to the next level, and optimizing our development of "
 "Tor Browser for Android."
 msgstr ""
+"Com seu apoio, poderemos enfrentar projetos ambiciosos, como aumentar a "
+"capacidade e a escalabilidade da rede Tor, elevar nossas proteções "
+"anticensura ao próximo nível e otimizar nosso desenvolvimento do Navegador "
+"Tor para Android."
 
 #: 
tmp/cache_locale/12/12677df2d2a5991edb775c6909b7be7ca718fd00abd6950a809cda5ab878d2ce.php:76
 msgid ""
@@ -2260,6 +2279,8 @@ msgid ""
 "Tell family, friends, and colleagues that you're supporting privacy and "
 "security and taking back the internet with Tor!"
 msgstr ""
+"Diga à família, amigos e colegas que você apóia a privacidade e a 
segurança "
+"e recupera a Internet com o Tor!"
 
 #: 
tmp/cache_locale/05/05c65ace52301a00198c48e1d823da2c14fbd489e7fb45efbca4e79e5709cbdb.php:53
 msgid "Processing Donation - Tor"
@@ -2276,6 +2297,10 @@ msgid ""
 "in our defense against the growing threats to privacy, freedom of "
 "expression, and access to information online."
 msgstr ""
+"Os Campeões da Privacidade fazem uma promessa significativa de US $ 1.000 ou"
+" mais e criam uma fonte estável e 

[tor-commits] [translation/tpo-web] https://gitweb.torproject.org/translation.git/commit/?h=tpo-web

2019-11-14 Thread translation
commit 0a6b574b5a46e11df4ee88c8c27046b803998bcc
Author: Translation commit bot 
Date:   Thu Nov 14 12:52:41 2019 +

https://gitweb.torproject.org/translation.git/commit/?h=tpo-web
---
 contents+pt-BR.po | 19 ++-
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/contents+pt-BR.po b/contents+pt-BR.po
index 6d52598fd..0df16a95c 100644
--- a/contents+pt-BR.po
+++ b/contents+pt-BR.po
@@ -13,10 +13,10 @@
 # Luciana Dark Blue , 2019
 # Emma Peel, 2019
 # m tk, 2019
-# Eduardo Addad de Oliveira , 2019
 # Alexei Gonçalves de Oliveira , 2019
 # Communia , 2019
 # Chacal E., 2019
+# Eduardo Addad de Oliveira , 2019
 # 
 msgid ""
 msgstr ""
@@ -24,7 +24,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2019-11-06 15:48+CET\n"
 "PO-Revision-Date: 2019-03-09 10:41+\n"
-"Last-Translator: Chacal E., 2019\n"
+"Last-Translator: Eduardo Addad de Oliveira , 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"
@@ -610,6 +610,10 @@ msgid ""
 "2013](https://www.theguardian.com/world/interactive/2013/nov/01/snowden-nsa-;
 "files-surveillance-revelations-decoded#section/1)."
 msgstr ""
+"A necessidade de ferramentas de proteção contra a vigilância em massa "
+"tornou-se uma preocupação principal graças a [Revelações de Snowden em "
+"2013](https://www.theguardian.com/world/interactive/2013/nov/01/snowden-nsa-;
+"files-surveillance-revelations-decoded#section/1)."
 
 #: https//www.torproject.org/about/history/
 #: (content/about/history/contents+en.lrpage.body)
@@ -1157,15 +1161,15 @@ msgstr "sig"
 
 #: templates/download-tor.html:37
 msgid "Windows Expert Bundle"
-msgstr ""
+msgstr "Pacote especialista do Windows"
 
 #: templates/download-tor.html:42
 msgid "Windows 10, 8, 7, Vista, XP, 2000, 2003 Server, ME, and Windows 98SE"
-msgstr ""
+msgstr "Windows 10, 8, 7, Vista, XP, 2000, 2003 Server, ME, e Windows 98SE"
 
 #: templates/download-tor.html:43
 msgid "Contains just Tor and nothing else."
-msgstr ""
+msgstr "Contém apenas Tor e nada mais."
 
 #: templates/download.html:5
 msgid "Get Connected"
@@ -1217,6 +1221,8 @@ msgid ""
 "Tor Browser will block browser plugins such as Flash, RealPlayer, QuickTime,"
 " and others: they can be manipulated into revealing your IP address."
 msgstr ""
+"O Tor Browser bloqueará plugins de navegador como Flash, RealPlayer, "
+"QuickTime e outros: eles podem ser manipulados para revelar seu endereço IP."
 
 #: templates/download.html:27
 msgid ""
@@ -1346,6 +1352,9 @@ msgid ""
 "Tor Browser aims to make all users look the same, making it difficult for "
 "you to be fingerprinted based on your browser and device information."
 msgstr ""
+"O Navegador Tor visa fazer com que todos os usuários tenham a mesma "
+"aparência, dificultando a impressão digital com base nas informações do "
+"navegador e do dispositivo."
 
 #: templates/home.html:58
 msgid "Multi-layered Encryption"

___
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] https://gitweb.torproject.org/translation.git/commit/?h=tpo-web_completed

2019-11-14 Thread translation
commit cfefa4bf222d384d6d8b16057c76b1670ab76634
Author: Translation commit bot 
Date:   Thu Nov 14 12:52:49 2019 +

https://gitweb.torproject.org/translation.git/commit/?h=tpo-web_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 1f98427a9..857f669c4 100644
--- a/contents+pt-BR.po
+++ b/contents+pt-BR.po
@@ -13,10 +13,10 @@
 # Luciana Dark Blue , 2019
 # Emma Peel, 2019
 # m tk, 2019
-# Eduardo Addad de Oliveira , 2019
 # Alexei Gonçalves de Oliveira , 2019
 # Communia , 2019
 # Chacal E., 2019
+# Eduardo Addad de Oliveira , 2019
 # 
 msgid ""
 msgstr ""
@@ -24,7 +24,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2019-11-06 15:48+CET\n"
 "PO-Revision-Date: 2019-03-09 10:41+\n"
-"Last-Translator: Chacal E., 2019\n"
+"Last-Translator: Eduardo Addad de Oliveira , 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/donatepages-messagespot] https://gitweb.torproject.org/translation.git/commit/?h=donatepages-messagespot

2019-11-14 Thread translation
commit 618e27676fe87ac189dd6bd288a62358150c51db
Author: Translation commit bot 
Date:   Thu Nov 14 12:45:40 2019 +


https://gitweb.torproject.org/translation.git/commit/?h=donatepages-messagespot
---
 locale/pt_BR/LC_MESSAGES/messages.po | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/locale/pt_BR/LC_MESSAGES/messages.po 
b/locale/pt_BR/LC_MESSAGES/messages.po
index 63b0aa085..67f6ca561 100644
--- a/locale/pt_BR/LC_MESSAGES/messages.po
+++ b/locale/pt_BR/LC_MESSAGES/messages.po
@@ -29,7 +29,7 @@ msgstr "Rastreamento, vigilância e censura são comuns 
on-line."
 #: 
tmp/cache_locale/dd/ddde851dcf0f4bcfdf69b2fb2bdd731c4f85ce373ca3ec850a7ca8bbc00dfb85.php:43
 #: 
tmp/cache_locale/dd/ddde851dcf0f4bcfdf69b2fb2bdd731c4f85ce373ca3ec850a7ca8bbc00dfb85.php:66
 msgid "Take back the internet with Tor"
-msgstr ""
+msgstr "Recupere a internet com o Tor"
 
 #: 
tmp/cache_locale/ff/ffee28cfc961a339d813aed75493753fcc9e985dfa212e1af03fc089d5c3fdb0.php:112
 msgid "Give today, and Mozilla will match your donation."
@@ -99,12 +99,12 @@ msgstr "GGG"
 #: 
tmp/cache_locale/dd/ddde851dcf0f4bcfdf69b2fb2bdd731c4f85ce373ca3ec850a7ca8bbc00dfb85.php:47
 #: 
tmp/cache_locale/dd/ddde851dcf0f4bcfdf69b2fb2bdd731c4f85ce373ca3ec850a7ca8bbc00dfb85.php:70
 msgid "Privacy and freedom online should be the default."
-msgstr ""
+msgstr "Privacidade e liberdade online devem ser o padrão."
 
 #: 
tmp/cache_locale/dd/ddde851dcf0f4bcfdf69b2fb2bdd731c4f85ce373ca3ec850a7ca8bbc00dfb85.php:49
 #: 
tmp/cache_locale/dd/ddde851dcf0f4bcfdf69b2fb2bdd731c4f85ce373ca3ec850a7ca8bbc00dfb85.php:72
 msgid "Donate to the Tor Project."
-msgstr ""
+msgstr "Doe para o Projeto Tor."
 
 #: 
tmp/cache_locale/dd/ddde851dcf0f4bcfdf69b2fb2bdd731c4f85ce373ca3ec850a7ca8bbc00dfb85.php:58
 msgid "summary_large_image"

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


[tor-commits] [translation/support-portal] https://gitweb.torproject.org/translation.git/commit/?h=support-portal

2019-11-14 Thread translation
commit c3587f03b4b6f6cc8f678dd41f66aa466ea5a20d
Author: Translation commit bot 
Date:   Thu Nov 14 12:23:54 2019 +

https://gitweb.torproject.org/translation.git/commit/?h=support-portal
---
 contents+ar.po |  6 +++---
 contents+ca.po | 34 +-
 contents+de.po | 19 +--
 3 files changed, 53 insertions(+), 6 deletions(-)

diff --git a/contents+ar.po b/contents+ar.po
index f65a2adc8..adfcd7e32 100644
--- a/contents+ar.po
+++ b/contents+ar.po
@@ -5,9 +5,9 @@
 # Amin Jobran, 2019
 # Khaled Hosny, 2019
 # erinm, 2019
-# Emma Peel, 2019
 # Ahmed IB , 2019
 # ButterflyOfFire, 2019
+# Emma Peel, 2019
 # 
 msgid ""
 msgstr ""
@@ -15,7 +15,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2019-11-08 11:23+CET\n"
 "PO-Revision-Date: 2018-10-02 22:41+\n"
-"Last-Translator: ButterflyOfFire, 2019\n"
+"Last-Translator: Emma Peel, 2019\n"
 "Language-Team: Arabic (https://www.transifex.com/otf/teams/1519/ar/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -5607,7 +5607,7 @@ msgstr ""
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
 msgid "### app"
-msgstr ""
+msgstr "### التطبيق"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
diff --git a/contents+ca.po b/contents+ca.po
index b5afc7742..229fcce22 100644
--- a/contents+ca.po
+++ b/contents+ca.po
@@ -2665,6 +2665,9 @@ msgid ""
 "Tor Browser is built using [Firefox ESR](https://www.mozilla.org/en-;
 "US/firefox/organizations/), so errors regarding Firefox may occur."
 msgstr ""
+"El Navegador Tor està construït utilitzant [Firefox "
+"ESR](https://www.mozilla.org/en-US/firefox/organizations/), de manera que es"
+" poden produir errors respecte a Firefox."
 
 #: https//support.torproject.org/tbb/tbb-42/
 #: (content/tbb/tbb-42/contents+en.lrquestion.description)
@@ -2685,6 +2688,11 @@ msgid ""
 "Browser](http://support.torproject.org/#tbb-10), it is common for anti-virus"
 " / anti-malware software to cause this type of issue."
 msgstr ""
+"Si esteu executant un antivirus, consulteu http://support.torproject.org/#tbb-10\;>La meva protecció "
+"antivirus/malware no em permet accedir al navegador Tor, és "
+"habitual que el programari antivirus o antimalware produeixi aquest tipus de"
+" problema."
 
 #: https//support.torproject.org/tbb/tbb-43/
 #: (content/tbb/tbb-43/contents+en.lrquestion.title)
@@ -5674,6 +5682,14 @@ msgid ""
 "[Facebook](https://www.facebook.com/notes/protect-the-graph/making-;
 "connections-to-facebook-more-secure/1526085754298237/)."
 msgstr ""
+"Els serveis de onion també es basen en el xat i l'intercanvi d'arxius sense "
+"metadades, una interacció més segura entre els periodistes i les seves "
+"fonts, com ara https://securedrop.org/\;>SecureDrop o OnionSharehttps://onionshare.org/\;>, actualitzacions de programari més "
+"segures i formes més segures d'arribar a llocs web populars com https://www.facebook.com/notes/protect-the-graph/making-connections-;
+"to-facebook-more-secure/1526085754298237/\">Facebook."
 
 #: https//support.torproject.org/onionservices/onionservices-2/
 #: (content/onionservices/onionservices-2/contents+en.lrquestion.description)
@@ -6373,7 +6389,7 @@ msgstr "## D"
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
 msgid "### daemon"
-msgstr ""
+msgstr "### dimoni"
 
 #: https//support.torproject.org/misc/glossary/
 #: (content/misc/glossary/contents+en.lrquestion.description)
@@ -7905,6 +7921,11 @@ msgid ""
 "easier, and second because it could act as an identifier if only a small "
 "number of users have the same path length as you."
 msgstr ""
+"A més, l'ús de rutes de més de 3 pot fer malbé l'anonimat, primer, 
perquè "
+"facilita els atacs de [denegació de "
+"seguretat](https://www.freehaven.net/anonbib/#ccs07-doa) i, en segon lloc, "
+"perquè podria actuar com a identificador si només un petit nombre d'usuaris 
"
+"tenen la mateixa longitud de camí."
 
 #: https//support.torproject.org/misc/misc-12/
 #: (content/misc/misc-12/contents+en.lrquestion.title)
@@ -7979,6 +8000,8 @@ msgid ""
 "BitTorrent in particular is [not anonymous over "
 "Tor.](https://blog.torproject.org/bittorrent-over-tor-isnt-good-idea)"
 msgstr ""
+"BitTorrent en concret [no és anònim sobre Tor](https://blog.torproject.org;
+"/bittorrent-over-tor-isnt-good-idea)."
 
 #: https//support.torproject.org/misc/misc-14/
 #: (content/misc/misc-14/contents+en.lrquestion.title)
@@ -8008,6 +8031,8 @@ msgid ""
 "You can find more information about donating on our [donor "
 "FAQ](https://donate.torproject.org/donor-faq)."
 msgstr ""
+"Podeu trobar més informació sobre la donació a les nostres [preguntes "
+"freqüents sobre els donants](https://donate.torproject.org/donor-faq)."
 
 #: https//support.torproject.org/misc/misc-2/
 #: 

[tor-commits] [translation/support-portal] https://gitweb.torproject.org/translation.git/commit/?h=support-portal

2019-11-14 Thread translation
commit f54da39d283c8222a7faa81a7dc22184ffc29ee2
Author: Translation commit bot 
Date:   Thu Nov 14 11:53:12 2019 +

https://gitweb.torproject.org/translation.git/commit/?h=support-portal
---
 contents+bn.po |  6 ++
 contents+ca.po | 55 +++
 2 files changed, 57 insertions(+), 4 deletions(-)

diff --git a/contents+bn.po b/contents+bn.po
index a92a94412..bb94fafd0 100644
--- a/contents+bn.po
+++ b/contents+bn.po
@@ -8049,6 +8049,9 @@ msgid ""
 "We do take some safe measurements of how the network functions, which you "
 "can check out at [Tor Metrics](https://metrics.torproject.org/)."
 msgstr ""
+"নেটওয়ার্ক ফাংশন কিভাবে 
আপনি [টর "
+"মেট্রিকগুলো](https://metrics.torproject.org/) চেক 
করতে পারেন তার কিছু নিরাপদ"
+" পরিমাপ আমরা গ্রহণ করি."
 
 #: https//support.torproject.org/misc/misc-7/
 #: (content/misc/misc-7/contents+en.lrquestion.title)
@@ -8070,6 +8073,9 @@ msgid ""
 "A list of all of our software projects can be found on our [projects "
 "page](https://www.torproject.org/projects/projects.html.en)."
 msgstr ""
+"আমাদের সকল সফটওয়্যার 
প্রজেক্টের একটি তালিকা 
আমাদের [প্রকল্পগুলো "
+"পৃষ্ঠ
ায়](https://www.torproject.org/projects/projects.html.en) 
পাওয়া যাবে "
+"।"
 
 #: https//support.torproject.org/misc/misc-8/
 #: (content/misc/misc-8/contents+en.lrquestion.title)
diff --git a/contents+ca.po b/contents+ca.po
index 7440285e2..b5afc7742 100644
--- a/contents+ca.po
+++ b/contents+ca.po
@@ -5,9 +5,9 @@
 # erinm, 2019
 # Assumpta, 2019
 # Marc Ripoll , 2019
-# Emma Peel, 2019
 # Ecron , 2019
 # jmontane, 2019
+# Emma Peel, 2019
 # 
 msgid ""
 msgstr ""
@@ -15,7 +15,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2019-11-08 11:23+CET\n"
 "PO-Revision-Date: 2018-10-02 22:41+\n"
-"Last-Translator: jmontane, 2019\n"
+"Last-Translator: Emma Peel, 2019\n"
 "Language-Team: Catalan (https://www.transifex.com/otf/teams/1519/ca/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -352,6 +352,10 @@ msgid ""
 "[NoScript](https://noscript.net) — and adding anything else could "
 "deanonymize you."
 msgstr ""
+"Tor Browser ja ve instal·lat amb dos complements: [HTTPS "
+"Everywhere](https://www.eff.org/https-everywhere) i "
+"[NoScript](https://noscript.net), i afegir-ne qualsevol altre podria fer "
+"perdre l'anonimat"
 
 #: https//support.torproject.org/faq/faq-3/
 #: (content/faq/faq-3/contents+en.lrquestion.description)
@@ -441,6 +445,8 @@ msgid ""
 "You can find more detailed information about Tor + VPN at [our "
 "wiki](https://trac.torproject.org/projects/tor/wiki/doc/TorPlusVPN)."
 msgstr ""
+"Podeu trobar informació més detallada sobre Tor + VPN al [nostre "
+"wiki](https://trac.torproject.org/projects/tor/wiki/doc/TorPlusVPN)."
 
 #: https//support.torproject.org/about/backdoor/
 #: (content/about/backdoor/contents+en.lrquestion.title)
@@ -1489,6 +1495,8 @@ msgid ""
 "If your issue is not listed, please file a [bug "
 "report](https://trac.torproject.org) about what you're experiencing."
 msgstr ""
+"Si el vostre problema no apareix, envieu un [informe "
+"d'error](https://trac.torproject.org) sobre el que estigueu experimentant."
 
 #: https//support.torproject.org/tbb/tbb-10/
 #: (content/tbb/tbb-10/contents+en.lrquestion.title)
@@ -1697,6 +1705,9 @@ msgid ""
 "take a look at the [Tails live operating system](https://tails.boum.org/) "
 "which you can start on almost any computer from a USB stick or a DVD."
 msgstr ""
+"Si heu d'assegurar-vos que tot el trànsit passarà per la xarxa Tor, feu un "
+"cop d'ull al [sistema operatiu Tails Live](https://tails.boum.org/) que "
+"podreu iniciar a gairebé qualsevol ordinador des d'un llapis USB o un DVD."
 
 #: https//support.torproject.org/tbb/tbb-15/
 #: (content/tbb/tbb-15/contents+en.lrquestion.title)
@@ -1815,6 +1826,9 @@ msgid ""
 "There is something called the [TorBSD project](https://www.torbsd.org/), but"
 " their Tor Browser is not officially supported."
 msgstr ""
+"Hi ha alguna cosa anomenat projecte [TorBSD "
+"project](https://www.torbsd.org/), però el seu navegador no té suport "
+"oficial de Tor Browser."
 
 #: https//support.torproject.org/tbb/tbb-19/
 #: (content/tbb/tbb-19/contents+en.lrquestion.title)
@@ -1909,6 +1923,11 @@ msgid ""
 "parameters) and [paper](https://www-;
 "users.cs.umn.edu/~hoppernj/single_guard.pdf) on entry guards."
 msgstr ""
+"Per obtenir més informació sobre com funcionen els repetidors de guarda, "
+"consulteu aquesta [publicació de blog](https://blog.torproject.org;
+"/improving-tors-anonymity-changing-guard-parameters) i [publicació](https"
+"://www-users.cs.umn.edu/~hoppernj/single_guard.pdf)  

[tor-commits] [translation/support-portal] https://gitweb.torproject.org/translation.git/commit/?h=support-portal

2019-11-14 Thread translation
commit 3c4592a8035522476746c6b50167bd446436c98e
Author: Translation commit bot 
Date:   Thu Nov 14 11:23:27 2019 +

https://gitweb.torproject.org/translation.git/commit/?h=support-portal
---
 contents+bn.po| 77 ---
 contents+el.po|  6 +
 contents+id.po|  7 +++--
 contents+zh-CN.po |  6 ++---
 4 files changed, 87 insertions(+), 9 deletions(-)

diff --git a/contents+bn.po b/contents+bn.po
index e0237776d..a92a94412 100644
--- a/contents+bn.po
+++ b/contents+bn.po
@@ -2,9 +2,9 @@
 # code smite , 2019
 # nr072, 2019
 # erinm, 2019
-# Emma Peel, 2019
 # Tabiha Tanha , 2019
 # Al Shahrior Hasan Sagor , 2019
+# Emma Peel, 2019
 # 
 msgid ""
 msgstr ""
@@ -12,7 +12,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2019-11-08 11:23+CET\n"
 "PO-Revision-Date: 2018-10-02 22:41+\n"
-"Last-Translator: Al Shahrior Hasan Sagor , 2019\n"
+"Last-Translator: Emma Peel, 2019\n"
 "Language-Team: Bengali (https://www.transifex.com/otf/teams/1519/bn/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -333,6 +333,10 @@ msgid ""
 "[NoScript](https://noscript.net) — and adding anything else could "
 "deanonymize you."
 msgstr ""
+"টর ব্রাউজারটি ইতিমধ্যে দুটি 
অ্যাড-অন দিয়ে ইনস্টল করা 
হয়েছে -  [HTTPS "
+"Everywhere](https://www.eff.org/https-everywhere) এবং "
+"[NoScript](https://noscript.net)- এবং অন্য কিছু 
যোগ করলেই আপনাকে ডিনোমিমেজ "
+"করতে পারে।"
 
 #: https//support.torproject.org/faq/faq-3/
 #: (content/faq/faq-3/contents+en.lrquestion.description)
@@ -362,6 +366,12 @@ msgid ""
 "easy.html.en#linux) and [macOS](https://www.torproject.org/download;
 "/download-easy.html.en#mac)."
 msgstr ""
+"টর ব্রাউজার বর্তমানে https://www.torproject.org/download/download-;
+"easy.html.en#windows\">উইন্ডোজ, https://www.torproject.org/download/download-;
+"easy.html.en#linux\">লিনাক্স এবং https://www.torproject.org/download/download-easy.html.en#mac\;>macOS"
+" (ওএস এক্স) এর জন্য পাওয়া 
যাচ্ছে ।"
 
 #: https//support.torproject.org/faq/faq-4/
 #: (content/faq/faq-4/contents+en.lrquestion.description)
@@ -383,6 +393,8 @@ msgid ""
 "There is no official version of Tor for iOS yet, though we recommend [Onion "
 "Browser](https://onionbrowser.com)."
 msgstr ""
+"এখনও পর্যন্ত  আইওএস-এর কোন অ
ফিসিয়াল সংস্করণ নেই, যদিও 
আমরা [অনিওন "
+"ব্রাউজারকে](https://onionbrowser.com) 
সুপারিশ করছি ।"
 
 #: https//support.torproject.org/faq/faq-5/
 #: (content/faq/faq-5/contents+en.lrquestion.title)
@@ -406,6 +418,9 @@ msgid ""
 "You can find more detailed information about Tor + VPN at [our "
 "wiki](https://trac.torproject.org/projects/tor/wiki/doc/TorPlusVPN)."
 msgstr ""
+"আপনি আমাদের উইকিতে টর + "
+"[ভিপিএন](https://trac.torproject.org/projects/tor/wiki/doc/TorPlusVPN)
 "
+"সম্পর্কে আরো বিস্তারিত তথ্য 
পেতে পারেন।"
 
 #: https//support.torproject.org/about/backdoor/
 #: (content/about/backdoor/contents+en.lrquestion.title)
@@ -1358,6 +1373,8 @@ msgid ""
 "If your issue is not listed, please file a [bug "
 "report](https://trac.torproject.org) about what you're experiencing."
 msgstr ""
+"যদি আপনার ইস্যুটি 
তালিকাভুক্ত না হয়, তাহলে 
আপনি কি ঘটছে তা নিয়ে একটি [বাগ 
"
+"প্রতিবেদন](https://trac.torproject.org) করুন।"
 
 #: https//support.torproject.org/tbb/tbb-10/
 #: (content/tbb/tbb-10/contents+en.lrquestion.title)
@@ -1566,6 +1583,9 @@ msgid ""
 "take a look at the [Tails live operating system](https://tails.boum.org/) "
 "which you can start on almost any computer from a USB stick or a DVD."
 msgstr ""
+"যদি আপনি নিশ্চিত হন যে সমস্ত 
ট্র্যাফিক টর নেটওয়ার্কে 
যাবে, তখন আপনি একটি "
+"[টাইলস লাইভ অপারেটিং 
সিস্টেমটি](https://tails.boum.org/)  দেখতে 
পারবেন যা "
+"আপনি USB স্টিক বা ডিভিডি থেকে 
প্রায় কোনও কম্পিউটারে শুরু 
করতে পারেন।"
 
 #: https//support.torproject.org/tbb/tbb-15/
 #: (content/tbb/tbb-15/contents+en.lrquestion.title)
@@ -1678,6 +1698,8 @@ msgid ""
 "There is something called the [TorBSD 

[tor-commits] [translation/support-portal] https://gitweb.torproject.org/translation.git/commit/?h=support-portal

2019-11-14 Thread translation
commit 40943a7c0de9cad46057ba544ebe675336df6766
Author: Translation commit bot 
Date:   Thu Nov 14 09:53:17 2019 +

https://gitweb.torproject.org/translation.git/commit/?h=support-portal
---
 contents+el.po | 45 +
 1 file changed, 41 insertions(+), 4 deletions(-)

diff --git a/contents+el.po b/contents+el.po
index 4528b0f11..7671962b5 100644
--- a/contents+el.po
+++ b/contents+el.po
@@ -3,10 +3,10 @@
 # Adrian Pappas , 2019
 # A Papac , 2019
 # erinm, 2019
-# Emma Peel, 2019
 # Sofia K., 2019
 # LaScapigliata , 2019
 # Panagiotis Vasilopoulos, 2019
+# Emma Peel, 2019
 # 
 msgid ""
 msgstr ""
@@ -14,7 +14,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2019-11-08 11:23+CET\n"
 "PO-Revision-Date: 2018-10-02 22:41+\n"
-"Last-Translator: Panagiotis Vasilopoulos, 2019\n"
+"Last-Translator: Emma Peel, 2019\n"
 "Language-Team: Greek (https://www.transifex.com/otf/teams/1519/el/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -338,6 +338,10 @@ msgid ""
 "[NoScript](https://noscript.net) — and adding anything else could "
 "deanonymize you."
 msgstr ""
+"Ο Tor Browser έχει ήδη δυο add-ons 
προεγκατεστημένα - το [HTTPS "
+"Everywhere](https://www.eff.org/https-everywhere) και το "
+"[NoScript](https://noscript.net) - και προσθέτοντας 
οποιοδήποτε άλλο μπορεί "
+"να σας αποανωνυμοποιήσει."
 
 #: https//support.torproject.org/faq/faq-3/
 #: (content/faq/faq-3/contents+en.lrquestion.description)
@@ -411,6 +415,8 @@ msgid ""
 "You can find more detailed information about Tor + VPN at [our "
 "wiki](https://trac.torproject.org/projects/tor/wiki/doc/TorPlusVPN)."
 msgstr ""
+"Μπορείτε να βρείτε περισσότερες 
λεπτομερείς πληροφορίες για το Tor + VPN στο"
+" [wiki μας](https://trac.torproject.org/projects/tor/wiki/doc/TorPlusVPN)."
 
 #: https//support.torproject.org/about/backdoor/
 #: (content/about/backdoor/contents+en.lrquestion.title)
@@ -1570,6 +1576,10 @@ msgid ""
 "take a look at the [Tails live operating system](https://tails.boum.org/) "
 "which you can start on almost any computer from a USB stick or a DVD."
 msgstr ""
+"Αν χρειάζεστε να είστε σίγουρος ότι όλες 
οι κινήσεις θα περνάνε από το "
+"δίκτυο Tor ρίξτε μια ματιά στο [Επισυνάπτει 
ζωντανό σύστημα "
+"λειτουργίας](https://tails.boum.org/) , που μπορείτε 
να εκκινήσετε σε σχεδόν"
+" κάθε υπολογιστή χρησιμοποιώντας στικάκι 
USB ή DVD."
 
 #: https//support.torproject.org/tbb/tbb-15/
 #: (content/tbb/tbb-15/contents+en.lrquestion.title)
@@ -1689,6 +1699,8 @@ msgid ""
 "There is something called the [TorBSD project](https://www.torbsd.org/), but"
 " their Tor Browser is not officially supported."
 msgstr ""
+"Υπάρχει κάτι που λέγεται the [TorBSD 
project](https://www.torbsd.org/), αλλά"
+" ο Tor Browser τους δεν υποστηρίζεται επισήμως."
 
 #: https//support.torproject.org/tbb/tbb-19/
 #: (content/tbb/tbb-19/contents+en.lrquestion.title)
@@ -1923,6 +1935,8 @@ msgid ""
 "[DuckDuckGo](https://duckduckgo.com/) is the default search engine in Tor "
 "Browser."
 msgstr ""
+"Το [DuckDuckGo](https://duckduckgo.com/) είναι η 
προεπιλεγμένη μηχανή "
+"αναζήτησης στον Tor Browser."
 
 #: https//support.torproject.org/tbb/tbb-23/
 #: (content/tbb/tbb-23/contents+en.lrquestion.description)
@@ -1940,7 +1954,7 @@ msgstr "Έχω ένα πρόβλημα με το 
DuckDuckGo."
 #: https//support.torproject.org/tbb/tbb-24/
 #: (content/tbb/tbb-24/contents+en.lrquestion.description)
 msgid "Please see the [DuckDuckGo support portal](https://duck.co/help)."
-msgstr ""
+msgstr "Ανατρέξτε στην [υποστήριξη του 
DuckDuckGo](https://duck.co/help)."
 
 #: https//support.torproject.org/tbb/tbb-24/
 #: (content/tbb/tbb-24/contents+en.lrquestion.description)
@@ -1952,6 +1966,8 @@ msgid ""
 "If you believe this is a Tor Browser issue, please report it on our [bug "
 "tracker](https://trac.torproject.org/)."
 msgstr ""
+"Αν πιστεύετε ότι πρόκειται για πρόβλημα 
του Tor Browser, παρακαλούμε να το "
+"αναφέρετε στο [bug tracker](https://trac.torproject.org/) μας."
 
 #: https//support.torproject.org/tbb/tbb-25/
 #: (content/tbb/tbb-25/contents+en.lrquestion.title)
@@ -1961,7 +1977,7 @@ msgstr "Έχω ένα πρόβλημα με το 
NoScript."
 #: https//support.torproject.org/tbb/tbb-25/
 #: (content/tbb/tbb-25/contents+en.lrquestion.description)
 msgid "Please see the [NoScript FAQ](https://noscript.net/faq)."
-msgstr ""
+msgstr "Παρακαλώ ανατρέξτε στο  

[tor-commits] [translation/tpo-web] https://gitweb.torproject.org/translation.git/commit/?h=tpo-web

2019-11-14 Thread translation
commit 67a3cfb925e594db0dbb9464c229afaccdb820cc
Author: Translation commit bot 
Date:   Thu Nov 14 09:22:59 2019 +

https://gitweb.torproject.org/translation.git/commit/?h=tpo-web
---
 contents+zh-TW.po | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/contents+zh-TW.po b/contents+zh-TW.po
index be745b387..ac709eaf2 100644
--- a/contents+zh-TW.po
+++ b/contents+zh-TW.po
@@ -8,6 +8,7 @@
 # Mingye Wang , 2019
 # IDRASSI Mounir , 2019
 # Bryce Tsao , 2019
+# Emma Peel, 2019
 # 
 msgid ""
 msgstr ""
@@ -15,7 +16,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2019-11-06 15:48+CET\n"
 "PO-Revision-Date: 2019-03-09 10:41+\n"
-"Last-Translator: Bryce Tsao , 2019\n"
+"Last-Translator: Emma Peel, 2019\n"
 "Language-Team: Chinese (Taiwan) 
(https://www.transifex.com/otf/teams/1519/zh_TW/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -212,6 +213,8 @@ msgid ""
 "add more. Want to help us translate? [See "
 "here](https://community.torproject.org/localization/)"
 msgstr ""
+"我們想讓任何人都可以用他們的語言享受洋蔥路由瀏覽器。洋蔥路由瀏覽器現在有
 32 "
+"種不同的語言的版本,並且我們努力加å…
¥æ›´å¤šã€‚想要幫助我們翻譯嗎?[看這裡](https://community.torproject.org/localization/)"
 
 #: https//www.torproject.org/download/tor/
 #: (content/download/tor/contents+en.lrpage.title)

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