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

2018-04-27 Thread translation
commit d10e34cf9e4a53a5235224ebf7901bd0a79859dc
Author: Translation commit bot 
Date:   Sat Apr 28 01:15:29 2018 +

Update translations for https_everywhere
---
 pt_BR/https-everywhere.dtd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pt_BR/https-everywhere.dtd b/pt_BR/https-everywhere.dtd
index c0cbf6e75..d83d7880e 100644
--- a/pt_BR/https-everywhere.dtd
+++ b/pt_BR/https-everywhere.dtd
@@ -2,7 +2,7 @@
 
 
 
-
+
 
 
 

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


[tor-commits] [translation/tor-launcher-network-settings_completed] Update translations for tor-launcher-network-settings_completed

2018-04-27 Thread translation
commit 9940e7513d9f8b152ccdc60bedd609fa244498de
Author: Translation commit bot 
Date:   Fri Apr 27 22:46:36 2018 +

Update translations for tor-launcher-network-settings_completed
---
 nl/network-settings.dtd | 4 
 1 file changed, 4 insertions(+)

diff --git a/nl/network-settings.dtd b/nl/network-settings.dtd
index 45619c377..91effd792 100644
--- a/nl/network-settings.dtd
+++ b/nl/network-settings.dtd
@@ -41,6 +41,10 @@
 
 
 
+
+
+
+
 
 
 

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


[tor-commits] [translation/tor-launcher-network-settings] Update translations for tor-launcher-network-settings

2018-04-27 Thread translation
commit 37b650730a6bdb277c0c855d9585c99af97ac80f
Author: Translation commit bot 
Date:   Fri Apr 27 22:46:30 2018 +

Update translations for tor-launcher-network-settings
---
 nl/network-settings.dtd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/nl/network-settings.dtd b/nl/network-settings.dtd
index 28074c936..91effd792 100644
--- a/nl/network-settings.dtd
+++ b/nl/network-settings.dtd
@@ -41,7 +41,7 @@
 
 
 
-
+
 
 
 

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


[tor-commits] [tor/master] Move stdbool include to torint.h

2018-04-27 Thread nickm
commit cb0af6157c0acbd0a30c20f8f0a3b9d4d1f402ad
Author: Nick Mathewson 
Date:   Fri Apr 27 15:08:27 2018 -0400

Move stdbool include to torint.h

It's friday, and this seems like a good idea, and they're egging me
on in IRC.
---
 src/common/torint.h | 2 ++
 src/or/or.h | 1 -
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/common/torint.h b/src/common/torint.h
index 0b8061d24..fc7818fe2 100644
--- a/src/common/torint.h
+++ b/src/common/torint.h
@@ -40,6 +40,8 @@
 #include 
 #endif
 
+#include 
+
 #if (SIZEOF_INT8_T != 0)
 #define HAVE_INT8_T
 #endif
diff --git a/src/or/or.h b/src/or/or.h
index 3498e6657..475274340 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -57,7 +57,6 @@
 #ifdef HAVE_TIME_H
 #include 
 #endif
-#include 
 
 #ifdef _WIN32
 #include 

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


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

2018-04-27 Thread translation
commit 48c271bcde8f9333c262ab1fc3cc1a079a9028bd
Author: Translation commit bot 
Date:   Fri Apr 27 17:50:52 2018 +

Update translations for support-tormessenger
---
 pl.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pl.json b/pl.json
index bbad42d5c..25c69e101 100644
--- a/pl.json
+++ b/pl.json
@@ -14,7 +14,7 @@
 "messenger-3": {
"id": "#messenger-3",
"control": "messenger-3",
-   "title": "Where can I download Tor Messenger?",
+   "title": "Gdzie mogę pobrać Tor Messenger?",
"description": "While the Tor Messenger remains in 
beta, the latest downloads can be found on our wiki."
 }
 }

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


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

2018-04-27 Thread translation
commit a7378f165f52a104721859f90654d066e951dd7c
Author: Translation commit bot 
Date:   Fri Apr 27 17:51:00 2018 +

Update translations for support-tormobile
---
 pl.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pl.json b/pl.json
index d832318fe..430045887 100644
--- a/pl.json
+++ b/pl.json
@@ -14,7 +14,7 @@
 "tormobile-3": {
"id": "#tormobile-3",
"control": "tormobile-3",
-   "title": "Can I run Tor on an iOS device?",
+   "title": "Czy mogę uruchomić Tor na urządzeniu z IOS?",
"description": " We recommend an iOS app called Onion 
Browser, which is open source, uses Tor routing, and is developed by someone 
who works closely with the Tor Project. However, Apple requires browsers on iOS 
to use something called Webkit, which prevents Onion Browser from having the 
same privacy protections as Tor Browser. https://blog.torproject.org/tor-heart-onion-browser-and-more-ios-tor\;>Learn
 more about Onion Browser."
 },
 "tormobile-4": {

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


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

2018-04-27 Thread translation
commit 0ece63575b5da6fbdb53823098ea98e240d1e9c1
Author: Translation commit bot 
Date:   Fri Apr 27 17:50:37 2018 +

Update translations for support-tbb
---
 pl.json | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pl.json b/pl.json
index e4ba34fc5..9014c8aaf 100644
--- a/pl.json
+++ b/pl.json
@@ -32,7 +32,7 @@
 "tbb-6": {
"id": "#tbb-6",
"control": "tbb-6",
-   "title": "Can I make Tor Browser my default browser?",
+   "title": "Czy mogę ustawić Przeglądarkę Tor jako domyślną?",
"description": "Unfortunately, there is no supported 
way to make Tor Browser your default browser."
 },
 "tbb-7": {
@@ -146,13 +146,13 @@
 "tbb-24": {
"id": "#tbb-24",
"control": "tbb-24",
-   "title": "I'm having a problem with DuckDuckGo.",
+   "title": "Mam problem z DuckDuckGo.",
"description": "Please see the ​https://duck.co/help\;>DuckDuckGo support portal. If you 
believe this is a Tor Browser issue, please report it on our ​https://trac.torproject.org/\;>bug tracker."
 },
 "tbb-25": {
"id": "#tbb-25",
"control": "tbb-25",
-   "title": "I'm having a problem with NoScript.",
+   "title": "Mam problem z NoScript.",
"description": "Please see the ​https://noscript.net/faq\;>NoScript FAQ. If you believe this 
is a Tor Browser issue, please report it on our ​https://trac.torproject.org/\;>bug tracker."
 },
 "tbb-26": {
@@ -194,7 +194,7 @@
 "tbb-32": {
"id": "#tbb-32",
"control": "tbb-32",
-   "title": "Can I set Tor Browser as my default browser?",
+   "title": "Czy mogę ustawić Przeglądarkę Tor jako domyślną?",
"description": "There is currently no supported 
method for setting Tor Browser as your default browser. The Tor Browser works 
hard to isolate itself from the rest of your system, and the steps for making 
it the default browser are unreliable. This means sometimes a website would 
load in the Tor Browser, and sometimes it would load in another browser, this 
type of behavior can be dangerous and anonymity-breaking."
 },
 "tbb-33": {

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


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

2018-04-27 Thread translation
commit 7fd6ca558926e89d53a0005c311a2282bed99a3c
Author: Translation commit bot 
Date:   Fri Apr 27 17:50:27 2018 +

Update translations for support-miscellaneous
---
 pl.json | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pl.json b/pl.json
index c29993d09..ae975bc50 100644
--- a/pl.json
+++ b/pl.json
@@ -14,7 +14,7 @@
  "misc-3": {
"id": "#misc-3",
"control": "misc-3",
-   "title": "Who funds Tor?",
+   "title": "Kto wynalazł Tor?",
"description": "Tor is funded by a number of 
different sponsors including US federal agencies, private foundations, and 
individual donors. Check out a list of all https://www.torproject.org/about/sponsors.html.en\;>our 
sponsors and a series of https://blog.torproject.org/category/tags/form-990\;>blog 
posts on our financial reports.We feel that 
talking openly about our funders and funding model is the best way to maintain 
trust with our community. We are always seeking more diversity in our funding 
sources, especially from foundations and individuals."
  },
  "misc-4": {
@@ -44,7 +44,7 @@
 "misc-8": {
"id": "#misc-8",
"control": "misc-8",
-   "title": "Can I use the Tor logo in my product?",
+   "title": "Czy mogę użyć logo Tor w moim produkcie?",
"description": "You can read all about that on our 
https://www.torproject.org/docs/trademark-faq.html\;>​Trademark faq 
page."
 },
 "misc-9": {

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


[tor-commits] [tor/release-0.3.3] Stop initialising rust submodules, travis does this for us

2018-04-27 Thread nickm
commit b116710e313c6debf9bc172e462837782def57bd
Author: teor 
Date:   Fri Dec 15 12:55:02 2017 +1100

Stop initialising rust submodules, travis does this for us

Fixes #24630.
---
 .travis.yml | 2 --
 1 file changed, 2 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 18c5b5bdd..46317ee06 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -144,8 +144,6 @@ install:
   - if [[ "$RUST_OPTIONS" != "" ]]; then rustc --version; fi
   - if [[ "$RUST_OPTIONS" != "" ]]; then cargo --version; fi
   ## If we're testing rust builds in offline-mode, then set up our vendored 
dependencies
-  - if [[ "$RUST_OPTIONS" == "--enable-rust" ]]; then git submodule init  ; fi
-  - if [[ "$RUST_OPTIONS" == "--enable-rust" ]]; then git submodule update; fi
   - if [[ "$TOR_RUST_DEPENDENCIES" == "true" ]]; then export 
TOR_RUST_DEPENDENCIES=$PWD/src/ext/rust/crates; fi
 
 script:



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


[tor-commits] [tor/release-0.3.3] Merge branch 'maint-0.3.3' into release-0.3.3

2018-04-27 Thread nickm
commit 3a53b0c9a2eda2f5c7ca57675051f6d8bdefe5d0
Merge: 19bed6f93 b116710e3
Author: Nick Mathewson 
Date:   Fri Apr 27 13:26:17 2018 -0400

Merge branch 'maint-0.3.3' into release-0.3.3

 .travis.yml | 2 --
 1 file changed, 2 deletions(-)

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


[tor-commits] [tor/master] Merge branch 'maint-0.3.3'

2018-04-27 Thread nickm
commit 78eb0192dae890c473d1920e23635db6d3624b2f
Merge: 346c2eb4e b116710e3
Author: Nick Mathewson 
Date:   Fri Apr 27 13:26:17 2018 -0400

Merge branch 'maint-0.3.3'

 .travis.yml | 2 --
 1 file changed, 2 deletions(-)

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


[tor-commits] [tor/maint-0.3.3] Stop initialising rust submodules, travis does this for us

2018-04-27 Thread nickm
commit b116710e313c6debf9bc172e462837782def57bd
Author: teor 
Date:   Fri Dec 15 12:55:02 2017 +1100

Stop initialising rust submodules, travis does this for us

Fixes #24630.
---
 .travis.yml | 2 --
 1 file changed, 2 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 18c5b5bdd..46317ee06 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -144,8 +144,6 @@ install:
   - if [[ "$RUST_OPTIONS" != "" ]]; then rustc --version; fi
   - if [[ "$RUST_OPTIONS" != "" ]]; then cargo --version; fi
   ## If we're testing rust builds in offline-mode, then set up our vendored 
dependencies
-  - if [[ "$RUST_OPTIONS" == "--enable-rust" ]]; then git submodule init  ; fi
-  - if [[ "$RUST_OPTIONS" == "--enable-rust" ]]; then git submodule update; fi
   - if [[ "$TOR_RUST_DEPENDENCIES" == "true" ]]; then export 
TOR_RUST_DEPENDENCIES=$PWD/src/ext/rust/crates; fi
 
 script:

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


[tor-commits] [tor/master] Stop initialising rust submodules, travis does this for us

2018-04-27 Thread nickm
commit b116710e313c6debf9bc172e462837782def57bd
Author: teor 
Date:   Fri Dec 15 12:55:02 2017 +1100

Stop initialising rust submodules, travis does this for us

Fixes #24630.
---
 .travis.yml | 2 --
 1 file changed, 2 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 18c5b5bdd..46317ee06 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -144,8 +144,6 @@ install:
   - if [[ "$RUST_OPTIONS" != "" ]]; then rustc --version; fi
   - if [[ "$RUST_OPTIONS" != "" ]]; then cargo --version; fi
   ## If we're testing rust builds in offline-mode, then set up our vendored 
dependencies
-  - if [[ "$RUST_OPTIONS" == "--enable-rust" ]]; then git submodule init  ; fi
-  - if [[ "$RUST_OPTIONS" == "--enable-rust" ]]; then git submodule update; fi
   - if [[ "$TOR_RUST_DEPENDENCIES" == "true" ]]; then export 
TOR_RUST_DEPENDENCIES=$PWD/src/ext/rust/crates; fi
 
 script:



___
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 'bug25843_v2_squashed'

2018-04-27 Thread nickm
commit 346c2eb4e60299f69327b5e63e1e25aaf678f964
Merge: 8b58e1e32 d00ed406e
Author: Nick Mathewson 
Date:   Fri Apr 27 12:45:07 2018 -0400

Merge branch 'bug25843_v2_squashed'

 changes/bug25843   |  3 +++
 doc/tor.1.txt  |  7 +++
 src/or/config.c|  6 ++
 src/or/entrynodes.c| 16 ++--
 src/or/or.h|  2 ++
 src/test/test_entrynodes.c | 19 +++
 6 files changed, 47 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] Introduce torrc option NumPrimaryGuards

2018-04-27 Thread nickm
commit d00ed406e08942d6539281eb28e875939ee214e5
Author: George Kadianakis 
Date:   Wed Apr 25 15:10:24 2018 +0300

Introduce torrc option NumPrimaryGuards
---
 changes/bug25843   |  3 +++
 doc/tor.1.txt  |  7 +++
 src/or/config.c|  6 ++
 src/or/entrynodes.c| 16 ++--
 src/or/or.h|  2 ++
 src/test/test_entrynodes.c | 19 +++
 6 files changed, 47 insertions(+), 6 deletions(-)

diff --git a/changes/bug25843 b/changes/bug25843
new file mode 100644
index 0..ddbbbef78
--- /dev/null
+++ b/changes/bug25843
@@ -0,0 +1,3 @@
+  o Minor feature (entry guards):
+- Introduce torrc option NumPrimaryGuards for controlling the number of
+  primary guards. Closes ticket 25843.
\ No newline at end of file
diff --git a/doc/tor.1.txt b/doc/tor.1.txt
index 95620a334..ce9967d8a 100644
--- a/doc/tor.1.txt
+++ b/doc/tor.1.txt
@@ -1344,6 +1344,13 @@ The following options are useful only for clients (that 
is, if
 number from the guard-n-primary-guards-to-use consensus parameter, and
 default to 1 if the consensus parameter isn't set. (Default: 0)
 
+[[NumPrimaryGuards]] **NumPrimaryGuards** __NUM__::
+If UseEntryGuards is set to 1, we will try to pick NUM routers for our
+primary guard list, which is the set of routers we strongly prefer when
+connecting to the Tor network. If NUM is 0, we try to learn the number from
+the guard-n-primary-guards consensus parameter, and default to 3 if the
+consensus parameter isn't set. (Default: 0)
+
 [[NumDirectoryGuards]] **NumDirectoryGuards** __NUM__::
 If UseEntryGuards is set to 1, we try to make sure we have at least NUM
 routers to use as directory guards. If this option is set to 0, use the
diff --git a/src/or/config.c b/src/or/config.c
index 9c0b321b5..04e10e956 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -457,6 +457,7 @@ static config_var_t option_vars_[] = {
   V(NumCPUs, UINT, "0"),
   V(NumDirectoryGuards,  UINT, "0"),
   V(NumEntryGuards,  UINT, "0"),
+  V(NumPrimaryGuards,UINT, "0"),
   V(OfflineMasterKey,BOOL, "0"),
   OBSOLETE("ORListenAddress"),
   VPORT(ORPort),
@@ -3763,6 +3764,11 @@ options_validate(or_options_t *old_options, or_options_t 
*options,
  "http://freehaven.net/anonbib/#hs-attack06 for details.");
   }
 
+  if (options->NumPrimaryGuards && options->NumEntryGuards &&
+  options->NumEntryGuards > options->NumPrimaryGuards) {
+REJECT("NumEntryGuards must not be greater than NumPrimaryGuards.");
+  }
+
   if (options->EntryNodes &&
   routerset_is_list(options->EntryNodes) &&
   (routerset_len(options->EntryNodes) == 1) &&
diff --git a/src/or/entrynodes.c b/src/or/entrynodes.c
index 88d1b94de..061aa6f58 100644
--- a/src/or/entrynodes.c
+++ b/src/or/entrynodes.c
@@ -432,14 +432,15 @@ get_guard_confirmed_min_lifetime(void)
 STATIC int
 get_n_primary_guards(void)
 {
-  const int n = get_options()->NumEntryGuards;
-  const int n_dir = get_options()->NumDirectoryGuards;
-  if (n > 5) {
-return MAX(n_dir, n + n / 2);
-  } else if (n >= 1) {
-return MAX(n_dir, n * 2);
+  /* If the user has explicitly configured the number of primary guards, do
+   * what the user wishes to do */
+  const int configured_primaries = get_options()->NumPrimaryGuards;
+  if (configured_primaries) {
+return configured_primaries;
   }
 
+  /* otherwise check for consensus parameter and if that's not set either, just
+   * use the default value. */
   return networkstatus_get_param(NULL,
  "guard-n-primary-guards",
  DFLT_N_PRIMARY_GUARDS, 1, INT32_MAX);
@@ -454,6 +455,9 @@ get_n_primary_guards_to_use(guard_usage_t usage)
   int configured;
   const char *param_name;
   int param_default;
+
+  /* If the user has explicitly configured the amount of guards, use
+ that. Otherwise, fall back to the default value. */
   if (usage == GUARD_USAGE_DIRGUARD) {
 configured = get_options()->NumDirectoryGuards;
 param_name = "guard-n-primary-dir-guards-to-use";
diff --git a/src/or/or.h b/src/or/or.h
index c5a039e93..475274340 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -4148,6 +4148,8 @@ typedef struct {
 
   int NumDirectoryGuards; /**< How many dir guards do we try to establish?
* If 0, use value from NumEntryGuards. */
+  int NumPrimaryGuards; /**< How many primary guards do we want? */
+
   int RephistTrackTime; /**< How many seconds do we keep rephist info? */
   /** Should we always fetch our dir info on the mirror schedule (which
* means directly from the authorities) no matter our other config? */
diff --git a/src/test/test_entrynodes.c b/src/test/test_entrynodes.c
index 92a860360..f55e9f017 100644
--- a/src/test/test_entrynodes.c
+++ b/src/test/test_entrynodes.c
@@ -2679,6 +2679,23 @@ 

[tor-commits] [tor/master] hs: Rescan the main loop event list if the service map changes

2018-04-27 Thread nickm
commit f7633c1fcaefe72bf97c001bab9062132c919996
Author: David Goulet 
Date:   Fri Apr 27 11:14:12 2018 -0400

hs: Rescan the main loop event list if the service map changes

Because ADD_ONION/DEL_ONION can modify the global service map (both for v2 
and
v3), we need to rescan the event list so we either enable or disable the HS
service main loop event.

Fixees #25939

Signed-off-by: David Goulet 
---
 src/or/hs_service.c| 28 
 src/or/hs_service.h|  1 +
 src/or/rendservice.c   | 11 +++
 src/test/test_periodic_event.c | 12 +---
 4 files changed, 49 insertions(+), 3 deletions(-)

diff --git a/src/or/hs_service.c b/src/or/hs_service.c
index f6c7e3cd8..7af14373d 100644
--- a/src/or/hs_service.c
+++ b/src/or/hs_service.c
@@ -80,6 +80,7 @@ static smartlist_t *hs_service_staging_list;
  *  reupload if needed */
 static int consider_republishing_hs_descriptors = 0;
 
+/* Static declaration. */
 static void set_descriptor_revision_counter(hs_descriptor_t *hs_desc);
 static void move_descriptors(hs_service_t *src, hs_service_t *dst);
 
@@ -152,6 +153,12 @@ register_service(hs_service_ht *map, hs_service_t *service)
   }
   /* Taking ownership of the object at this point. */
   HT_INSERT(hs_service_ht, map, service);
+
+  /* If we just modified the global map, we notify. */
+  if (map == hs_service_map) {
+hs_service_map_has_changed();
+  }
+
   return 0;
 }
 
@@ -178,6 +185,11 @@ remove_service(hs_service_ht *map, hs_service_t *service)
  "while removing service %s",
  escaped(service->config.directory_path));
   }
+
+  /* If we just modified the global map, we notify. */
+  if (map == hs_service_map) {
+hs_service_map_has_changed();
+  }
 }
 
 /* Set the default values for a service configuration object c. */
@@ -916,6 +928,11 @@ register_all_services(void)
   smartlist_clear(hs_service_staging_list);
   service_free_all();
   hs_service_map = new_service_map;
+  /* We've just register services into the new map and now we've replaced the
+   * global map with it so we have to notify that the change happened. When
+   * registering a service, the notify is only triggered if the destination
+   * map is the global map for which in here it was not. */
+  hs_service_map_has_changed();
 }
 
 /* Write the onion address of a given service to the given filename fname_ in
@@ -2936,6 +2953,17 @@ service_add_fnames_to_list(const hs_service_t *service, 
smartlist_t *list)
 /* Public API */
 /* == */
 
+/* This is called everytime the service map (v2 or v3) changes that is if an
+ * element is added or removed. */
+void
+hs_service_map_has_changed(void)
+{
+  /* If we now have services where previously we had not, we need to enable
+   * the HS service main loop event. If we changed to having no services, we
+   * need to disable the event. */
+  rescan_periodic_events(get_options());
+}
+
 /* Upload an encoded descriptor in encoded_desc of the given version. This
  * descriptor is for the service identity_pk and blinded_pk used to setup the
  * directory connection identifier. It is uploaded to the directory hsdir_rs
diff --git a/src/or/hs_service.h b/src/or/hs_service.h
index d163eeef2..2e27d8a89 100644
--- a/src/or/hs_service.h
+++ b/src/or/hs_service.h
@@ -260,6 +260,7 @@ void hs_service_lists_fnames_for_sandbox(smartlist_t 
*file_list,
 int hs_service_set_conn_addr_port(const origin_circuit_t *circ,
   edge_connection_t *conn);
 
+void hs_service_map_has_changed(void);
 void hs_service_dir_info_changed(void);
 void hs_service_run_scheduled_events(time_t now);
 void hs_service_circuit_has_opened(origin_circuit_t *circ);
diff --git a/src/or/rendservice.c b/src/or/rendservice.c
index 1a93c3643..afaeabe5d 100644
--- a/src/or/rendservice.c
+++ b/src/or/rendservice.c
@@ -348,6 +348,13 @@ rend_add_service(smartlist_t *service_list, rend_service_t 
*service)
   /* The service passed all the checks */
   tor_assert(s_list);
   smartlist_add(s_list, service);
+
+  /* Notify that our global service list has changed only if this new service
+   * went into our global list. If not, when we move service from the staging
+   * list to the new list, a notify is triggered. */
+  if (s_list == rend_service_list) {
+hs_service_map_has_changed();
+  }
   return 0;
 }
 
@@ -609,6 +616,8 @@ rend_service_prune_list_impl_(void)
 circuit_mark_for_close(TO_CIRCUIT(ocirc), END_CIRC_REASON_FINISHED);
   }
   smartlist_free(surviving_services);
+  /* Notify that our global service list has changed. */
+  hs_service_map_has_changed();
 }
 
 /* Try to prune our main service list using the temporary one that we just
@@ -958,6 +967,8 @@ rend_service_del_ephemeral(const char *service_id)
 }
   } SMARTLIST_FOREACH_END(circ);
   smartlist_remove(rend_service_list, s);
+  /* Notify that we just removed a service 

[tor-commits] [tor/master] test: Unit test for the HS service event rescan

2018-04-27 Thread nickm
commit 8b58e1e323e362463906d2576b9d2b9e788c2f30
Author: David Goulet 
Date:   Fri Apr 27 11:16:00 2018 -0400

test: Unit test for the HS service event rescan

Because we rescan the main loop event list if the global map of services has
changed, this makes sure it does work.

Signed-off-by: David Goulet 
---
 src/test/test_periodic_event.c | 57 ++
 1 file changed, 57 insertions(+)

diff --git a/src/test/test_periodic_event.c b/src/test/test_periodic_event.c
index 9f62cd680..74e799360 100644
--- a/src/test/test_periodic_event.c
+++ b/src/test/test_periodic_event.c
@@ -253,6 +253,62 @@ test_pe_get_roles(void *arg)
   hs_free_all();
 }
 
+static void
+test_pe_hs_service(void *arg)
+{
+  hs_service_t service, *to_remove = NULL;
+
+  (void) arg;
+
+  hs_init();
+  /* We need to put tor in hibernation live state so the events requiring
+   * network gets enabled. */
+  consider_hibernation(time(NULL));
+  /* Initialize the events so we can enable them */
+  initialize_periodic_events();
+
+  /* Hack: We'll set a dumb fn() of each events so they don't get called when
+   * dispatching them. We just want to test the state of the callbacks, not
+   * the whole code path. */
+  for (int i = 0; periodic_events[i].name; ++i) {
+periodic_event_item_t *item = _events[i];
+item->fn = dumb_event_fn;
+  }
+
+  /* This should trigger a rescan of the list and enable the HS service
+   * events. */
+  register_dummy_hidden_service();
+  /* Note down the reference because we need to remove this service from the
+   * global list before the hs_free_all() call so it doesn't try to free
+   * memory on the stack. Furthermore, we can't remove it now else it will
+   * trigger a rescan of the event disabling the HS service event. */
+  to_remove = 
+
+  for (int i = 0; periodic_events[i].name; ++i) {
+periodic_event_item_t *item = _events[i];
+if (item->roles & PERIODIC_EVENT_ROLE_HS_SERVICE) {
+  tt_int_op(periodic_event_is_enabled(item), OP_EQ, 1);
+}
+  }
+  to_remove = NULL;
+
+  /* Remove the service from the global map, it should trigger a rescan and
+   * disable the HS service events. */
+  remove_service(get_hs_service_map(), );
+  for (int i = 0; periodic_events[i].name; ++i) {
+periodic_event_item_t *item = _events[i];
+if (item->roles & PERIODIC_EVENT_ROLE_HS_SERVICE) {
+  tt_int_op(periodic_event_is_enabled(item), OP_EQ, 0);
+}
+  }
+
+ done:
+  if (to_remove) {
+remove_service(get_hs_service_map(), to_remove);
+  }
+  hs_free_all();
+}
+
 #define PE_TEST(name) \
   { #name, test_pe_## name , TT_FORK, NULL, NULL }
 
@@ -260,6 +316,7 @@ struct testcase_t periodic_event_tests[] = {
   PE_TEST(initialize),
   PE_TEST(launch),
   PE_TEST(get_roles),
+  PE_TEST(hs_service),
 
   END_OF_TESTCASES
 };

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


[tor-commits] [tor/master] main: Don't rescan main loop events if not initialized

2018-04-27 Thread nickm
commit 3ab017b10c64e090a5a3f197315ddcdbc6de698c
Author: David Goulet 
Date:   Fri Apr 27 11:14:33 2018 -0400

main: Don't rescan main loop events if not initialized

This is done because it makes our life easier with unit tests. Also, a 
rescan
on an uninitialized event list will result in a stacktrace.

Signed-off-by: David Goulet 
---
 src/or/main.c | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/src/or/main.c b/src/or/main.c
index c1103edb3..10f26c954 100644
--- a/src/or/main.c
+++ b/src/or/main.c
@@ -1553,6 +1553,13 @@ rescan_periodic_events(const or_options_t *options)
 {
   tor_assert(options);
 
+  /* Avoid scanning the event list if we haven't initialized it yet. This is
+   * particularly useful for unit tests in order to avoid initializing main
+   * loop events everytime. */
+  if (!periodic_events_initialized) {
+return;
+  }
+
   int roles = get_my_roles(options);
 
   for (int i = 0; periodic_events[i].name; ++i) {



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


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

2018-04-27 Thread translation
commit 3ff8fd45c3d28579d7339ad90f8c8929cf71f195
Author: Translation commit bot 
Date:   Fri Apr 27 15:50:38 2018 +

Update translations for support-topics
---
 ja.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ja.json b/ja.json
index 54f01c9c8..919fc6a31 100644
--- a/ja.json
+++ b/ja.json
@@ -27,7 +27,7 @@
 "connecting": {
"path": "#connectingtotor",
"control": "connectingtotor",
-   "label": "Connecting To Tor"
+   "label": "Torに接続しています"
 },
 "censorship": {
"path": "#censorship",

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


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

2018-04-27 Thread translation
commit 409c8d4166bb3e1d05f6a7680c657cc6895a1a9c
Author: Translation commit bot 
Date:   Fri Apr 27 15:50:46 2018 +

Update translations for support-tormessenger
---
 ja.json | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ja.json b/ja.json
index bbad42d5c..7e6d722fb 100644
--- a/ja.json
+++ b/ja.json
@@ -8,8 +8,8 @@
 "messenger-2": {
"id": "#messenger-2",
"control": "messenger-2",
-   "title": "What platforms is Tor Messenger available on?",
-   "description": "Tor Messenger (beta) is currently 
available on Linux, Windows, and OSX."
+   "title": "Tor Messengerはどのプラットフォーム
に対応していますか?",
+   "description": "Tor Messenger 
(beta)は現在Linux,Windows,OSXに対応しています。"
 },
 "messenger-3": {
"id": "#messenger-3",

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


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

2018-04-27 Thread translation
commit 558d66e0ac4e80f4db447b16fd83cdee17ed319a
Author: Translation commit bot 
Date:   Fri Apr 27 15:50:30 2018 +

Update translations for support-tbb
---
 ja.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ja.json b/ja.json
index 556a31c5d..848488771 100644
--- a/ja.json
+++ b/ja.json
@@ -242,7 +242,7 @@
 "tbb-40": {
"id": "#tbb-40",
"control": "tbb-40",
-   "title": "Does Tor Browser use a different circuit for each website?",
+   "title": 
"TorブラウザはそれぞれのWebサイトごとに異なるサーキットを使用しますか?",
"description": "In Tor Browser, every domain gets its 
own circuit. ​https://www.torproject.org/projects/torbrowser/design/#identifier-linkability\;>The
 Design and Implementation of Tor Browser document has further 
details regarding this issue."
 },
 "tbb-41": {

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


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

2018-04-27 Thread translation
commit 12b20c58fa9f31054d2457e1d879bb91e7adc73e
Author: Translation commit bot 
Date:   Fri Apr 27 15:50:22 2018 +

Update translations for support-miscellaneous
---
 ja.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ja.json b/ja.json
index d497cbdde..acaa7e58d 100644
--- a/ja.json
+++ b/ja.json
@@ -32,7 +32,7 @@
 "misc-6": {
"id": "#misc-6",
"control": "misc-6",
-   "title": "Does Tor keep logs?",
+   "title": "Torはログを保持しますか?",
"description": "Tor doesn't keep any logs that could 
identify a particular user. We do take some safe measurements of how the 
network functions, which you can check out at https://metrics.torproject.org/\;>​Tor Metrics."
 },
 "misc-7": {

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


[tor-commits] [translation/tor-browser-manual] Update translations for tor-browser-manual

2018-04-27 Thread translation
commit 3e6da7605de712106391d4fb5f5bffabd2ecaa32
Author: Translation commit bot 
Date:   Fri Apr 27 15:49:40 2018 +

Update translations for tor-browser-manual
---
 ja/ja.po | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/ja/ja.po b/ja/ja.po
index 1762d5868..4e9c7afc6 100644
--- a/ja/ja.po
+++ b/ja/ja.po
@@ -8,12 +8,13 @@
 # Hussein Hassan , 2017
 # daisuke osada (daiskeh) , 2017
 # Steve Dougherty, 2018
+# ishikawa satoru , 2018
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "POT-Creation-Date: 2016-12-06 16:36-0600\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: Steve Dougherty, 2018\n"
+"Last-Translator: ishikawa satoru , 2018\n"
 "Language-Team: Japanese (https://www.transifex.com/otf/teams/1519/ja/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -1005,7 +1006,7 @@ msgstr ""
 
 #: secure-connections.page:81
 msgid "Username and password used for authentication."
-msgstr ""
+msgstr "認証のためのユーザ名とパスワード"
 
 #: secure-connections.page:92
 msgid "Data being transmitted."

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


[tor-commits] [translation/tails-greeter-2] Update translations for tails-greeter-2

2018-04-27 Thread translation
commit 0bc1a7f83aa7a2c9d2a34e4fb12246506d30177e
Author: Translation commit bot 
Date:   Fri Apr 27 15:49:24 2018 +

Update translations for tails-greeter-2
---
 ja/ja.po | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ja/ja.po b/ja/ja.po
index ba8f8cf1e..6c66969fd 100644
--- a/ja/ja.po
+++ b/ja/ja.po
@@ -10,7 +10,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2018-03-01 20:26+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: TEN CO , 2018\n"
+"Last-Translator: ishikawa satoru , 2018\n"
 "Language-Team: Japanese (https://www.transifex.com/otf/teams/1519/ja/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -145,7 +145,7 @@ msgstr ""
 
 #: ../data/greeter.ui.h:32
 msgid "Enter your passphrase to unlock the persistent storage"
-msgstr ""
+msgstr "永続ストレージを解除するためのパスフレーズをå…
¥åŠ›ã—てください"
 
 #: ../data/greeter.ui.h:33 ../tailsgreeter/gui.py:478
 #: ../tailsgreeter/gui.py:528

___
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 'ticket25376_034_031_squashed'

2018-04-27 Thread nickm
commit 3a47dfed349ee2c05f30ba142d3583772fa2287f
Merge: cc74dc006 d6903e9e8
Author: Nick Mathewson 
Date:   Fri Apr 27 09:28:43 2018 -0400

Merge branch 'ticket25376_034_031_squashed'

 changes/ticket25376_25762  | 10 ++
 src/or/hibernate.c | 10 +-
 src/or/main.c  | 78 +-
 src/or/main.h  |  1 +
 src/or/periodic.h  | 15 ++--
 src/test/test_periodic_event.c |  4 +++
 6 files changed, 84 insertions(+), 34 deletions(-)

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


[tor-commits] [tor/master] main: Add mainloop callback event flags

2018-04-27 Thread nickm
commit 05d314f888dd96840d92fbcc513974487485f4cb
Author: David Goulet 
Date:   Thu Apr 26 14:20:31 2018 -0400

main: Add mainloop callback event flags

Implement the ability to set flags per events which influences the set up of
the event.

This commit only adds one flag which is "need network" meaning that the 
event
is not enabled if tor has disabled the network or if hibernation mode.

Signed-off-by: David Goulet 
---
 changes/ticket25376_25762  | 10 ++
 src/or/main.c  | 75 ++
 src/or/periodic.h  | 15 +++--
 src/test/test_periodic_event.c |  4 +++
 4 files changed, 73 insertions(+), 31 deletions(-)

diff --git a/changes/ticket25376_25762 b/changes/ticket25376_25762
new file mode 100644
index 0..b3ebf56d3
--- /dev/null
+++ b/changes/ticket25376_25762
@@ -0,0 +1,10 @@
+  o Major feature (main loop, CPU usage):
+- Previously, tor would enable at startup all possible main loop event
+  regardless if it needed them. For instance, directory authorities
+  callbacks were fired up even for client only. We have now refactored this
+  whole interface to only enable the appropriate callbacks depending on 
what
+  are tor roles (client only, relay, hidden service, etc.). Furthermore,
+  these events now depend on DisableNetwork or the hibernation state in
+  order to enable them. This is a big step towards reducing client CPU 
usage
+  by reducing the amount of wake ups the daemon does. Closes ticket 25376
+  and 25762.
diff --git a/src/or/main.c b/src/or/main.c
index a7896fafa..c7bd720cc 100644
--- a/src/or/main.c
+++ b/src/or/main.c
@@ -1362,54 +1362,65 @@ CALLBACK(write_stats_file);
 #undef CALLBACK
 
 /* Now we declare an array of periodic_event_item_t for each periodic event */
-#define CALLBACK(name, r) PERIODIC_EVENT(name, r)
+#define CALLBACK(name, r, f) PERIODIC_EVENT(name, r, f)
 
 STATIC periodic_event_item_t periodic_events[] = {
   /* Everyone needs to run those. */
-  CALLBACK(add_entropy, PERIODIC_EVENT_ROLE_ALL),
-  CALLBACK(check_expired_networkstatus, PERIODIC_EVENT_ROLE_ALL),
-  CALLBACK(clean_caches, PERIODIC_EVENT_ROLE_ALL),
-  CALLBACK(fetch_networkstatus, PERIODIC_EVENT_ROLE_ALL),
-  CALLBACK(heartbeat, PERIODIC_EVENT_ROLE_ALL),
-  CALLBACK(launch_descriptor_fetches, PERIODIC_EVENT_ROLE_ALL),
-  CALLBACK(reset_padding_counts, PERIODIC_EVENT_ROLE_ALL),
-  CALLBACK(retry_listeners, PERIODIC_EVENT_ROLE_ALL),
-  CALLBACK(rotate_x509_certificate, PERIODIC_EVENT_ROLE_ALL),
-  CALLBACK(write_stats_file, PERIODIC_EVENT_ROLE_ALL),
+  CALLBACK(add_entropy, PERIODIC_EVENT_ROLE_ALL, 0),
+  CALLBACK(check_expired_networkstatus, PERIODIC_EVENT_ROLE_ALL, 0),
+  CALLBACK(clean_caches, PERIODIC_EVENT_ROLE_ALL, 0),
+  CALLBACK(fetch_networkstatus, PERIODIC_EVENT_ROLE_ALL,
+   PERIODIC_EVENT_FLAG_NEED_NET),
+  CALLBACK(heartbeat, PERIODIC_EVENT_ROLE_ALL, 0),
+  CALLBACK(launch_descriptor_fetches, PERIODIC_EVENT_ROLE_ALL,
+   PERIODIC_EVENT_FLAG_NEED_NET),
+  CALLBACK(reset_padding_counts, PERIODIC_EVENT_ROLE_ALL, 0),
+  CALLBACK(retry_listeners, PERIODIC_EVENT_ROLE_ALL,
+   PERIODIC_EVENT_FLAG_NEED_NET),
+  CALLBACK(rotate_x509_certificate, PERIODIC_EVENT_ROLE_ALL, 0),
+  CALLBACK(write_stats_file, PERIODIC_EVENT_ROLE_ALL, 0),
 
   /* Routers (bridge and relay) only. */
-  CALLBACK(check_descriptor, PERIODIC_EVENT_ROLE_ROUTER),
-  CALLBACK(check_ed_keys, PERIODIC_EVENT_ROLE_ROUTER),
-  CALLBACK(check_for_reachability_bw, PERIODIC_EVENT_ROLE_ROUTER),
-  CALLBACK(check_onion_keys_expiry_time, PERIODIC_EVENT_ROLE_ROUTER),
-  CALLBACK(clean_consdiffmgr, PERIODIC_EVENT_ROLE_ROUTER),
-  CALLBACK(expire_old_ciruits_serverside, PERIODIC_EVENT_ROLE_ROUTER),
-  CALLBACK(retry_dns, PERIODIC_EVENT_ROLE_ROUTER),
-  CALLBACK(rotate_onion_key, PERIODIC_EVENT_ROLE_ROUTER),
+  CALLBACK(check_descriptor, PERIODIC_EVENT_ROLE_ROUTER,
+   PERIODIC_EVENT_FLAG_NEED_NET),
+  CALLBACK(check_ed_keys, PERIODIC_EVENT_ROLE_ROUTER, 0),
+  CALLBACK(check_for_reachability_bw, PERIODIC_EVENT_ROLE_ROUTER,
+   PERIODIC_EVENT_FLAG_NEED_NET),
+  CALLBACK(check_onion_keys_expiry_time, PERIODIC_EVENT_ROLE_ROUTER, 0),
+  CALLBACK(clean_consdiffmgr, PERIODIC_EVENT_ROLE_ROUTER, 0),
+  CALLBACK(expire_old_ciruits_serverside, PERIODIC_EVENT_ROLE_ROUTER,
+   PERIODIC_EVENT_FLAG_NEED_NET),
+  CALLBACK(retry_dns, PERIODIC_EVENT_ROLE_ROUTER, 0),
+  CALLBACK(rotate_onion_key, PERIODIC_EVENT_ROLE_ROUTER, 0),
 
   /* Authorities (bridge and directory) only. */
-  CALLBACK(downrate_stability, PERIODIC_EVENT_ROLE_AUTHORITIES),
-  CALLBACK(launch_reachability_tests, PERIODIC_EVENT_ROLE_AUTHORITIES),
-  CALLBACK(save_stability, PERIODIC_EVENT_ROLE_AUTHORITIES),
+  CALLBACK(downrate_stability, PERIODIC_EVENT_ROLE_AUTHORITIES, 0),
+  CALLBACK(launch_reachability_tests, PERIODIC_EVENT_ROLE_AUTHORITIES,
+   

[tor-commits] [tor/master] hibernation: Rescan the event list on state change

2018-04-27 Thread nickm
commit d6903e9e87ffd39846b7cacebcfc8bae71f3ca5f
Author: David Goulet 
Date:   Thu Apr 26 15:00:19 2018 -0400

hibernation: Rescan the event list on state change

When we change the hibernation state, rescan the main loop event list 
because
the new state might affect the events.

Signed-off-by: David Goulet 
---
 src/or/hibernate.c | 10 +-
 src/or/main.c  |  3 +--
 src/or/main.h  |  1 +
 3 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/src/or/hibernate.c b/src/or/hibernate.c
index 9fed33855..c4ae63acc 100644
--- a/src/or/hibernate.c
+++ b/src/or/hibernate.c
@@ -,10 +,18 @@ getinfo_helper_accounting(control_connection_t *conn,
 static void
 on_hibernate_state_change(hibernate_state_t prev_state)
 {
-  (void)prev_state; /* Should we do something with this? */
   control_event_server_status(LOG_NOTICE,
   "HIBERNATION_STATUS STATUS=%s",
   hibernate_state_to_string(hibernate_state));
+
+  /* We are changing hibernation state, this can affect the main loop event
+   * list. Rescan it to update the events state. We do this whatever the new
+   * hibernation state because they can each possibly affect an event. The
+   * initial state means we are booting up so we shouldn't scan here because
+   * at this point the events in the list haven't been initialized. */
+  if (prev_state != HIBERNATE_STATE_INITIAL) {
+rescan_periodic_events(get_options());
+  }
 }
 
 #ifdef TOR_UNIT_TESTS
diff --git a/src/or/main.c b/src/or/main.c
index c7bd720cc..b5a701713 100644
--- a/src/or/main.c
+++ b/src/or/main.c
@@ -150,7 +150,6 @@ static int run_main_loop_until_done(void);
 static void process_signal(int sig);
 static void shutdown_did_not_work_callback(evutil_socket_t fd, short event,
void *arg) ATTR_NORETURN;
-static void rescan_periodic_events(const or_options_t *options);
 
 /* START VARIABLES **/
 
@@ -1549,7 +1548,7 @@ teardown_periodic_events(void)
 
 /** Do a pass at all our periodic events, disable those we don't need anymore
  * and enable those we need now using the given options. */
-static void
+void
 rescan_periodic_events(const or_options_t *options)
 {
   tor_assert(options);
diff --git a/src/or/main.h b/src/or/main.h
index 33ef40ce4..2447339fb 100644
--- a/src/or/main.h
+++ b/src/or/main.h
@@ -62,6 +62,7 @@ void reset_all_main_loop_timers(void);
 void reschedule_descriptor_update_check(void);
 void reschedule_directory_downloads(void);
 void mainloop_schedule_postloop_cleanup(void);
+void rescan_periodic_events(const or_options_t *options);
 
 MOCK_DECL(long,get_uptime,(void));
 MOCK_DECL(void,reset_uptime,(void));



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


[tor-commits] [webwml/master] Remove mozilla fellow job posting

2018-04-27 Thread hiro
commit 7bdac79da25acec5a9ece963bd3ef50aeec512fb
Author: hiro 
Date:   Fri Apr 27 13:36:23 2018 +0200

Remove mozilla fellow job posting
---
 about/en/jobs.wml | 14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/about/en/jobs.wml b/about/en/jobs.wml
index 55cea46f..877e312d 100644
--- a/about/en/jobs.wml
+++ b/about/en/jobs.wml
@@ -12,14 +12,14 @@
   
 The Tor Project is always looking for more great people to join our 
team!
 
-#At the moment, we don't have any official open positions. Please check 
back
-# soon, though! In the meantime, you may want to glance at our
-#volunteers page.
+At the moment, we don't have any official open positions. Please check 
back
+ soon, though! In the meantime, you may want to glance at our
+volunteers page.
 
-Specifically, we're looking for the following people currently:
-
-  User Advocate (Mozilla 
fellowship)
-
+#Specifically, we're looking for the following people currently:
+#
+#  User Advocate (Mozilla 
fellowship)
+#
 
 In the past, we looked for the following people:
 

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


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

2018-04-27 Thread translation
commit be2728197b3bf3674950499da1401c586991ee76
Author: Translation commit bot 
Date:   Fri Apr 27 10:50:37 2018 +

Update translations for support-topics_completed
---
 es.json | 20 ++--
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/es.json b/es.json
index 3b2ad71b7..86813a614 100644
--- a/es.json
+++ b/es.json
@@ -5,18 +5,18 @@
"label": "Preguntas más frecuentes"
 },
 "tbb": {
-   "path": "#tor-browser",
-   "control": "tor-browser",
+   "path": "\n#tbb",
+   "control": "tbb",
"label": "Navegador Tor"
 },
 "tormessenger": {
-   "path": "#tor-messenger",
-   "control": "tor-messenger",
+   "path": "#tormessenger",
+   "control": "tormessenger",
"label": "Tor Messenger"
 },
 "tormobile": {
-   "path": "#tor-mobile",
-   "control": "tor-mobile",
+   "path": "#tormobile",
+   "control": "tormobile",
"label": "Tor Mobile"
 },
 "gettor": {
@@ -25,8 +25,8 @@
"label": "GetTor"
 },
 "connecting": {
-   "path": "#connecting-to-tor",
-   "control": "connecting-to-tor",
+   "path": "#connectingtotor",
+   "control": "connectingtotor",
"label": "Conectar a Tor"
 },
 "censorship": {
@@ -45,8 +45,8 @@
"label": "Operadores"
 },
 "onionservices": {
-   "path": "#onion-services",
-   "control": "onion-services",
+   "path": "#onionservices",
+   "control": "servicios onion",
"label": "Servicios onion"
 },
 "misc": {

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


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

2018-04-27 Thread translation
commit 84e2e5007310568a995068136e12f32f3dec85fe
Author: Translation commit bot 
Date:   Fri Apr 27 10:50:30 2018 +

Update translations for support-topics
---
 es.json | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/es.json b/es.json
index 37f95470e..86813a614 100644
--- a/es.json
+++ b/es.json
@@ -5,7 +5,7 @@
"label": "Preguntas más frecuentes"
 },
 "tbb": {
-   "path": "#tbb",
+   "path": "\n#tbb",
"control": "tbb",
"label": "Navegador Tor"
 },
@@ -46,7 +46,7 @@
 },
 "onionservices": {
"path": "#onionservices",
-   "control": "onionservices",
+   "control": "servicios onion",
"label": "Servicios onion"
 },
 "misc": {

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