diff options
author | Nick Mathewson <nickm@torproject.org> | 2020-10-07 08:38:30 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2020-10-07 08:38:30 -0400 |
commit | 40f0db75bd3617bc5c4fb76aa62adcf21cea9697 (patch) | |
tree | 246738c1697bbb2295e144a664a8e4ca27e6b892 /src | |
parent | 884cad3edffb644a3da8b1e7e704678225cfe4ac (diff) | |
parent | b404f085adb54f20c7a5084c2b92609dce422db1 (diff) | |
download | tor-40f0db75bd3617bc5c4fb76aa62adcf21cea9697.tar.gz tor-40f0db75bd3617bc5c4fb76aa62adcf21cea9697.zip |
Merge branch 'maint-0.3.5' into maint-0.4.3
Diffstat (limited to 'src')
-rw-r--r-- | src/feature/rend/rendservice.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/feature/rend/rendservice.c b/src/feature/rend/rendservice.c index 182e935fa1..12ff056678 100644 --- a/src/feature/rend/rendservice.c +++ b/src/feature/rend/rendservice.c @@ -131,6 +131,22 @@ static smartlist_t *rend_service_list = NULL; * service on config reload. */ static smartlist_t *rend_service_staging_list = NULL; +/** Helper: log the deprecation warning for version 2 only once. */ +static void +log_once_deprecation_warning(void) +{ + static bool logged_once = false; + if (!logged_once) { + log_warn(LD_REND, "DEPRECATED: Onion service version 2 are deprecated. " + "Please use version 3 which is the default now. " + "Currently, version 2 is planned to be obsolete in " + "the Tor version 0.4.6 stable series."); + logged_once = true; + } +} +/** Macro to make it very explicit that we are warning about deprecation. */ +#define WARN_ONCE_DEPRECATION() log_once_deprecation_warning() + /* Like rend_get_service_list_mutable, but returns a read-only list. */ static const smartlist_t* rend_get_service_list(const smartlist_t* substitute_service_list) @@ -732,6 +748,9 @@ rend_config_service(const config_line_t *line_, tor_assert(options); tor_assert(config); + /* We are about to configure a version 2 service. Warn of deprecation. */ + WARN_ONCE_DEPRECATION(); + /* Use the staging service list so that we can check then do the pruning * process using the main list at the end. */ if (rend_service_staging_list == NULL) { |