tor-commits
Threads by month
- ----- 2025 -----
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
November 2019
- 20 participants
- 2923 discussions

[tor/master] Move netstatus (mainloop) state fields into mainloop's state.
by nickm@torproject.org 07 Nov '19
by nickm@torproject.org 07 Nov '19
07 Nov '19
commit 280a9a476031db7c5c5923b0ad9b23e475abeae9
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Tue Nov 5 11:58:31 2019 -0500
Move netstatus (mainloop) state fields into mainloop's state.
---
src/app/config/or_state_st.h | 7 -----
src/app/config/statefile.c | 7 +----
src/app/config/statefile.h | 2 ++
src/core/include.am | 2 ++
src/core/mainloop/.may_include | 4 ++-
src/core/mainloop/mainloop_state.inc | 19 +++++++++++++
src/core/mainloop/mainloop_state_st.h | 23 ++++++++++++++++
src/core/mainloop/mainloop_sys.c | 52 +++++++++++++++++++++++++++++++++++
src/core/mainloop/netstatus.c | 5 ++--
src/core/mainloop/netstatus.h | 7 +++--
src/test/test_mainloop.c | 20 +++++++++++---
11 files changed, 126 insertions(+), 22 deletions(-)
diff --git a/src/app/config/or_state_st.h b/src/app/config/or_state_st.h
index 27cc936c7..6bfad3edb 100644
--- a/src/app/config/or_state_st.h
+++ b/src/app/config/or_state_st.h
@@ -89,13 +89,6 @@ struct or_state_t {
/** When did we last rotate our onion key? "0" for 'no idea'. */
time_t LastRotatedOnionKey;
- /** Number of minutes since the last user-initiated request (as defined by
- * the dormant net-status system.) Set to zero if we are dormant. */
- int MinutesSinceUserActivity;
- /** True if we were dormant when we last wrote the file; false if we
- * weren't. "auto" on initial startup. */
- int Dormant;
-
/**
* State objects for individual modules.
*
diff --git a/src/app/config/statefile.c b/src/app/config/statefile.c
index 3e793ff40..af64dd47c 100644
--- a/src/app/config/statefile.c
+++ b/src/app/config/statefile.c
@@ -132,9 +132,6 @@ static const config_var_t state_vars_[] = {
VAR("CircuitBuildTimeBin", LINELIST_S, BuildtimeHistogram, NULL),
VAR("BuildtimeHistogram", LINELIST_V, BuildtimeHistogram, NULL),
- V(MinutesSinceUserActivity, POSINT, NULL),
- V(Dormant, AUTOBOOL, "auto"),
-
END_OF_CONFIG_VARS
};
@@ -177,7 +174,7 @@ static const config_format_t state_format = {
static config_mgr_t *state_mgr = NULL;
/** Return the configuration manager for state-file objects. */
-static const config_mgr_t *
+STATIC const config_mgr_t *
get_state_mgr(void)
{
if (PREDICT_UNLIKELY(state_mgr == NULL)) {
@@ -334,7 +331,6 @@ or_state_set(or_state_t *new_state)
get_circuit_build_times_mutable(),global_state) < 0) {
ret = -1;
}
- netstatus_load_from_state(global_state, time(NULL));
return ret;
}
@@ -527,7 +523,6 @@ or_state_save(time_t now)
entry_guards_update_state(global_state);
rep_hist_update_state(global_state);
circuit_build_times_update_state(get_circuit_build_times(), global_state);
- netstatus_flush_to_state(global_state, now);
if (accounting_is_enabled(get_options()))
accounting_run_housekeeping(now);
diff --git a/src/app/config/statefile.h b/src/app/config/statefile.h
index 515c90a52..60171f8d1 100644
--- a/src/app/config/statefile.h
+++ b/src/app/config/statefile.h
@@ -31,6 +31,8 @@ STATIC struct config_line_t *get_transport_in_state_by_name(
STATIC void or_state_free_(or_state_t *state);
#define or_state_free(st) FREE_AND_NULL(or_state_t, or_state_free_, (st))
STATIC or_state_t *or_state_new(void);
+struct config_mgr_t;
+STATIC const struct config_mgr_t *get_state_mgr(void);
#endif /* defined(STATEFILE_PRIVATE) */
#endif /* !defined(TOR_STATEFILE_H) */
diff --git a/src/core/include.am b/src/core/include.am
index a69914619..193b10a1c 100644
--- a/src/core/include.am
+++ b/src/core/include.am
@@ -245,6 +245,8 @@ noinst_HEADERS += \
src/core/mainloop/cpuworker.h \
src/core/mainloop/mainloop.h \
src/core/mainloop/mainloop_pubsub.h \
+ src/core/mainloop/mainloop_state.inc \
+ src/core/mainloop/mainloop_state_st.h \
src/core/mainloop/mainloop_sys.h \
src/core/mainloop/netstatus.h \
src/core/mainloop/periodic.h \
diff --git a/src/core/mainloop/.may_include b/src/core/mainloop/.may_include
index 79d6a130a..580e6d0a8 100644
--- a/src/core/mainloop/.may_include
+++ b/src/core/mainloop/.may_include
@@ -2,6 +2,7 @@
orconfig.h
+lib/conf/*.h
lib/container/*.h
lib/dispatch/*.h
lib/evloop/*.h
@@ -17,4 +18,5 @@ lib/geoip/*.h
lib/sandbox/*.h
lib/compress/*.h
-core/mainloop/*.h
\ No newline at end of file
+core/mainloop/*.h
+core/mainloop/*.inc
\ No newline at end of file
diff --git a/src/core/mainloop/mainloop_state.inc b/src/core/mainloop/mainloop_state.inc
new file mode 100644
index 000000000..34a37caaa
--- /dev/null
+++ b/src/core/mainloop/mainloop_state.inc
@@ -0,0 +1,19 @@
+
+/**
+ * @file mainloop_state.inc
+ * @brief Declare configuration options for the crypto_ops module.
+ **/
+
+/** Holds state for the mainloop, corresponding to part of the state
+ * file in Tor's DataDirectory. */
+BEGIN_CONF_STRUCT(mainloop_state_t)
+
+/** Number of minutes since the last user-initiated request (as defined by
+ * the dormant net-status system.) Set to zero if we are dormant. */
+CONF_VAR(MinutesSinceUserActivity, POSINT, 0, NULL)
+
+/** True if we were dormant when we last wrote the file; false if we
+ * weren't. "auto" on initial startup. */
+CONF_VAR(Dormant, AUTOBOOL, 0, "auto")
+
+END_CONF_STRUCT(mainloop_state_t)
diff --git a/src/core/mainloop/mainloop_state_st.h b/src/core/mainloop/mainloop_state_st.h
new file mode 100644
index 000000000..44c816fba
--- /dev/null
+++ b/src/core/mainloop/mainloop_state_st.h
@@ -0,0 +1,23 @@
+/* Copyright (c) 2001 Matej Pfajfar.
+ * Copyright (c) 2001-2004, Roger Dingledine.
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2019, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/**
+ * @file mainloop_state_st.h
+ * @brief Declare a state structure for mainloop-relevant fields
+ **/
+
+#ifndef TOR_CORE_MAINLOOP_MAINLOOP_STATE_ST_H
+#define TOR_CORE_MAINLOOP_MAINLOOP_STATE_ST_H
+
+#include "lib/conf/confdecl.h"
+
+#define CONF_CONTEXT STRUCT
+#include "core/mainloop/mainloop_state.inc"
+#undef CONF_CONTEXT
+
+typedef struct mainloop_state_t mainloop_state_t;
+
+#endif /* !defined(TOR_CORE_MAINLOOP_MAINLOOP_STATE_ST_H) */
diff --git a/src/core/mainloop/mainloop_sys.c b/src/core/mainloop/mainloop_sys.c
index f14ecb261..7d763866d 100644
--- a/src/core/mainloop/mainloop_sys.c
+++ b/src/core/mainloop/mainloop_sys.c
@@ -12,6 +12,10 @@
#include "core/or/or.h"
#include "core/mainloop/mainloop_sys.h"
#include "core/mainloop/mainloop.h"
+#include "core/mainloop/mainloop_state_st.h"
+#include "core/mainloop/netstatus.h"
+#include "lib/conf/conftypes.h"
+#include "lib/conf/confdecl.h"
#include "lib/subsys/subsys.h"
@@ -28,10 +32,58 @@ subsys_mainloop_shutdown(void)
tor_mainloop_free_all();
}
+/** Declare a list of state variables for mainloop state. */
+#define CONF_CONTEXT TABLE
+#include "core/mainloop/mainloop_state.inc"
+#undef CONF_CONTEXT
+
+/** Magic number for mainloop state objects */
+#define MAINLOOP_STATE_MAGIC 0x59455449
+
+/**
+ * Format object for mainloop state.
+ **/
+static config_format_t mainloop_state_fmt = {
+ .size = sizeof(mainloop_state_t),
+ .magic = { "mainloop_state",
+ MAINLOOP_STATE_MAGIC,
+ offsetof(mainloop_state_t, magic)
+ },
+ .vars = mainloop_state_t_vars,
+};
+
+/**
+ */
+static int
+mainloop_set_state(void *arg)
+{
+ const mainloop_state_t *state = arg;
+ tor_assert(state->magic == MAINLOOP_STATE_MAGIC);
+
+ netstatus_load_from_state(state, approx_time());
+
+ return 0;
+}
+
+static int
+mainloop_flush_state(void *arg)
+{
+ mainloop_state_t *state = arg;
+ tor_assert(state->magic == MAINLOOP_STATE_MAGIC);
+
+ netstatus_flush_to_state(state, approx_time());
+
+ return 0;
+}
+
const struct subsys_fns_t sys_mainloop = {
.name = "mainloop",
.supported = true,
.level = 5,
.initialize = subsys_mainloop_initialize,
.shutdown = subsys_mainloop_shutdown,
+
+ .state_format = &mainloop_state_fmt,
+ .set_state = mainloop_set_state,
+ .flush_state = mainloop_flush_state,
};
diff --git a/src/core/mainloop/netstatus.c b/src/core/mainloop/netstatus.c
index c34e613d1..a7a1927d8 100644
--- a/src/core/mainloop/netstatus.c
+++ b/src/core/mainloop/netstatus.c
@@ -12,6 +12,7 @@
#include "core/or/or.h"
#include "core/mainloop/netstatus.h"
#include "core/mainloop/mainloop.h"
+#include "core/mainloop/mainloop_state_st.h"
#include "app/config/config.h"
#include "feature/hibernate/hibernate.h"
@@ -115,7 +116,7 @@ is_participating_on_network(void)
* Update 'state' with the last time at which we were active on the network.
**/
void
-netstatus_flush_to_state(or_state_t *state, time_t now)
+netstatus_flush_to_state(mainloop_state_t *state, time_t now)
{
state->Dormant = ! participating_on_network;
if (participating_on_network) {
@@ -130,7 +131,7 @@ netstatus_flush_to_state(or_state_t *state, time_t now)
* Update our current view of network participation from an or_state_t object.
**/
void
-netstatus_load_from_state(const or_state_t *state, time_t now)
+netstatus_load_from_state(const mainloop_state_t *state, time_t now)
{
time_t last_activity;
if (state->Dormant == -1) { // Initial setup.
diff --git a/src/core/mainloop/netstatus.h b/src/core/mainloop/netstatus.h
index ce3d2e23f..62fd77b42 100644
--- a/src/core/mainloop/netstatus.h
+++ b/src/core/mainloop/netstatus.h
@@ -22,8 +22,11 @@ time_t get_last_user_activity_time(void);
void set_network_participation(bool participation);
bool is_participating_on_network(void);
-void netstatus_flush_to_state(or_state_t *state, time_t now);
-void netstatus_load_from_state(const or_state_t *state, time_t now);
+struct mainloop_state_t;
+
+void netstatus_flush_to_state(struct mainloop_state_t *state, time_t now);
+void netstatus_load_from_state(const struct mainloop_state_t *state,
+ time_t now);
void netstatus_note_clock_jumped(time_t seconds_diff);
#endif /* !defined(TOR_NETSTATUS_H) */
diff --git a/src/test/test_mainloop.c b/src/test/test_mainloop.c
index ed6b8a9b6..e8225db8e 100644
--- a/src/test/test_mainloop.c
+++ b/src/test/test_mainloop.c
@@ -13,9 +13,13 @@
#include "test/test.h"
#include "test/log_test_helpers.h"
+#include "lib/confmgt/confmgt.h"
+
#include "core/or/or.h"
#include "core/mainloop/connection.h"
#include "core/mainloop/mainloop.h"
+#include "core/mainloop/mainloop_state_st.h"
+#include "core/mainloop/mainloop_sys.h"
#include "core/mainloop/netstatus.h"
#include "feature/hs/hs_service.h"
@@ -24,6 +28,8 @@
#include "app/config/statefile.h"
#include "app/config/or_state_st.h"
+#include "app/main/subsysmgr.h"
+
static const uint64_t BILLION = 1000000000;
static void
@@ -287,7 +293,13 @@ static void
test_mainloop_dormant_load_state(void *arg)
{
(void)arg;
- or_state_t *state = or_state_new();
+ or_state_t *or_state = or_state_new();
+ mainloop_state_t *state;
+ {
+ int idx = subsystems_get_state_idx(&sys_mainloop);
+ tor_assert(idx >= 0);
+ state = config_mgr_get_obj_mutable(get_state_mgr(), or_state, idx);
+ }
const time_t start = 1543956575;
reset_user_activity(0);
@@ -326,14 +338,14 @@ test_mainloop_dormant_load_state(void *arg)
tt_i64_op(get_last_user_activity_time(), OP_EQ, start);
done:
- or_state_free(state);
+ or_state_free(or_state);
}
static void
test_mainloop_dormant_save_state(void *arg)
{
(void)arg;
- or_state_t *state = or_state_new();
+ mainloop_state_t *state = tor_malloc_zero(sizeof(mainloop_state_t));
const time_t start = 1543956575;
// Can we save a non-dormant state correctly?
@@ -352,7 +364,7 @@ test_mainloop_dormant_save_state(void *arg)
tt_int_op(state->MinutesSinceUserActivity, OP_EQ, 0);
done:
- or_state_free(state);
+ tor_free(state);
}
#define MAINLOOP_TEST(name) \
1
0
commit de7053b8967db64ae2a871d11b12afbcb9b1f8a6
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Thu Nov 7 07:42:58 2019 -0500
Adjustments to 32406 per review
When we are failing because of a lack of a _required_ engine, note
that the engine was "required".
When engines are disabled, any required engine should cause a
failure.
---
src/lib/crypt_ops/crypto_openssl_mgt.c | 8 +++++++-
src/test/conf_examples/crypto_accel_req/error | 2 +-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/lib/crypt_ops/crypto_openssl_mgt.c b/src/lib/crypt_ops/crypto_openssl_mgt.c
index d7a3e0692..f028422ac 100644
--- a/src/lib/crypt_ops/crypto_openssl_mgt.c
+++ b/src/lib/crypt_ops/crypto_openssl_mgt.c
@@ -290,6 +290,11 @@ crypto_openssl_init_engines(const char *accelName,
(void)accelName;
(void)accelDir;
log_warn(LD_CRYPTO, "No OpenSSL hardware acceleration support enabled.");
+ if (accelName && accelName[0] == '!') {
+ log_warn(LD_CRYPTO, "Unable to load required dynamic OpenSSL engine "
+ "\"%s\".", accelName+1);
+ return -1;
+ }
return 0;
#else
ENGINE *e = NULL;
@@ -312,7 +317,8 @@ crypto_openssl_init_engines(const char *accelName,
e = ENGINE_by_id(accelName);
}
if (!e) {
- log_warn(LD_CRYPTO, "Unable to load dynamic OpenSSL engine \"%s\".",
+ log_warn(LD_CRYPTO, "Unable to load %sdynamic OpenSSL engine \"%s\".",
+ required?"required ":"",
accelName);
if (required)
return -1;
diff --git a/src/test/conf_examples/crypto_accel_req/error b/src/test/conf_examples/crypto_accel_req/error
index 7fab0c8da..e12e00291 100644
--- a/src/test/conf_examples/crypto_accel_req/error
+++ b/src/test/conf_examples/crypto_accel_req/error
@@ -1 +1 @@
-Unable to load dynamic OpenSSL engine "nonexistent_chartreuse_accelerator"
+Unable to load required dynamic OpenSSL engine "nonexistent_chartreuse_accelerator"
1
0

07 Nov '19
commit c550990400cbab450eaead69f6dd5261b89b484f
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Wed Nov 6 11:19:27 2019 -0500
Add a test for 32406 (AccelName with "!").
This also lets us test a failing set_options().
---
src/test/conf_examples/crypto_accel_req/error | 1 +
src/test/conf_examples/crypto_accel_req/expected_nss | 2 ++
src/test/conf_examples/crypto_accel_req/torrc | 3 +++
3 files changed, 6 insertions(+)
diff --git a/src/test/conf_examples/crypto_accel_req/error b/src/test/conf_examples/crypto_accel_req/error
new file mode 100644
index 000000000..7fab0c8da
--- /dev/null
+++ b/src/test/conf_examples/crypto_accel_req/error
@@ -0,0 +1 @@
+Unable to load dynamic OpenSSL engine "nonexistent_chartreuse_accelerator"
diff --git a/src/test/conf_examples/crypto_accel_req/expected_nss b/src/test/conf_examples/crypto_accel_req/expected_nss
new file mode 100644
index 000000000..f3e172f64
--- /dev/null
+++ b/src/test/conf_examples/crypto_accel_req/expected_nss
@@ -0,0 +1,2 @@
+AccelName !nonexistent_chartreuse_accelerator
+HardwareAccel 1
diff --git a/src/test/conf_examples/crypto_accel_req/torrc b/src/test/conf_examples/crypto_accel_req/torrc
new file mode 100644
index 000000000..981d9116f
--- /dev/null
+++ b/src/test/conf_examples/crypto_accel_req/torrc
@@ -0,0 +1,3 @@
+
+AccelName !nonexistent_chartreuse_accelerator
+HardwareAccel 1
1
0

[translation/support-portal] https://gitweb.torproject.org/translation.git/commit/?h=support-portal
by translation@torproject.org 07 Nov '19
by translation@torproject.org 07 Nov '19
07 Nov '19
commit b843f597105955b4b48e847beaaaf5d108f10709
Author: Translation commit bot <translation(a)torproject.org>
Date: Thu Nov 7 13:54:08 2019 +0000
https://gitweb.torproject.org/translation.git/commit/?h=support-portal
---
contents+it.po | 24 ++++++++++++++++++++++--
1 file changed, 22 insertions(+), 2 deletions(-)
diff --git a/contents+it.po b/contents+it.po
index 7d11a892f..175ddfcbd 100644
--- a/contents+it.po
+++ b/contents+it.po
@@ -14,6 +14,7 @@
# Emma Peel, 2019
# Giuseppe Curto <giuseppe.curto(a)gmail.com>, 2019
# Davide Sant <spuuu(a)outlook.it>, 2019
+# Luke <94lukecatellani(a)gmail.com>, 2019
#
msgid ""
msgstr ""
@@ -21,7 +22,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-06 16:24+CET\n"
"PO-Revision-Date: 2018-10-02 22:41+0000\n"
-"Last-Translator: Davide Sant <spuuu(a)outlook.it>, 2019\n"
+"Last-Translator: Luke <94lukecatellani(a)gmail.com>, 2019\n"
"Language-Team: Italian (https://www.transifex.com/otf/teams/1519/it/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -94,7 +95,7 @@ msgstr "Varie"
#: https//support.torproject.org/get-in-touch/
#: (content/get-in-touch/contents+en.lrtopic.title)
msgid "Get in Touch"
-msgstr ""
+msgstr "Mettiti in contatto"
#: https//support.torproject.org/apt/ (content/apt/contents+en.lrtopic.title)
msgid "Debian Repository"
@@ -231,6 +232,9 @@ msgid ""
"Installing new add-ons may affect Tor Browser in unforeseen ways and "
"potentially make your Tor Browser fingerprint unique."
msgstr ""
+"Installare nuovi componenti aggiuntivi può influire su Tor Browser in modi "
+"imprevisti e potenzialmente rendere unica l'impronta digitale del tuo Tor "
+"Browser. "
#: https//support.torproject.org/faq/faq-3/
#: (content/faq/faq-3/contents+en.lrquestion.description)
@@ -241,6 +245,9 @@ msgid ""
"activities can be deanonymized and tracked even though you are using Tor "
"Browser."
msgstr ""
+"Se la tua copia di Tor Browser ha un'impronta digitale unica, le tue "
+"attività di navigazione possono essere deanonimizzate e monitorate anche se "
+"stai utilizzando Tor Browser."
#: https//support.torproject.org/faq/faq-3/
#: (content/faq/faq-3/contents+en.lrquestion.description)
@@ -250,6 +257,8 @@ msgid ""
"Basically, each browser's settings and features create what is called a "
"\"browser fingerprint\"."
msgstr ""
+"Fondamentalmente, le impostazioni e le funzionalità di ciascun browser "
+"creano quella che viene chiamata \"impronta digitale del browser\"."
#: https//support.torproject.org/faq/faq-3/
#: (content/faq/faq-3/contents+en.lrquestion.description)
@@ -259,6 +268,8 @@ msgid ""
"Most browsers inadvertently create a unique fingerprint for each user which "
"can be tracked across the internet."
msgstr ""
+"La maggior parte dei browser crea inavvertitamente un'impronta digitale "
+"unica per ogni utente che può essere tracciata su Internet."
#: https//support.torproject.org/faq/faq-3/
#: (content/faq/faq-3/contents+en.lrquestion.description)
@@ -268,6 +279,8 @@ msgid ""
"Tor Browser is specifically engineered to have a nearly identical (we're not"
" perfect!) fingerprint across it's users."
msgstr ""
+"Tor Browser è specificatamente progettato per avere un'impronta digitale "
+"quasi identica (non siamo perfetti!) tra tutti i suoi utenti. "
#: https//support.torproject.org/faq/faq-3/
#: (content/faq/faq-3/contents+en.lrquestion.description)
@@ -277,6 +290,9 @@ msgid ""
"This means each Tor Browser user looks like every other Tor Browser user, "
"making it difficult to track any individual user."
msgstr ""
+"Ciò significa che ogni utente di Tor Browser assomiglia a qualsiasi altro "
+"utente di Tor Browser, rendendo difficile il tracciamento di ogni singolo "
+"utente."
#: https//support.torproject.org/faq/faq-3/
#: (content/faq/faq-3/contents+en.lrquestion.description)
@@ -286,6 +302,8 @@ msgid ""
"There's also a good chance a new add-on will increase the attack surface of "
"Tor Browser."
msgstr ""
+"C'è inoltre una buona probabilità che un nuovo componente aggiuntivo aumenti"
+" la superficie di attacco di Tor Browser."
#: https//support.torproject.org/faq/faq-3/
#: (content/faq/faq-3/contents+en.lrquestion.description)
@@ -295,6 +313,8 @@ msgid ""
"This may allow sensitive data to be leaked or allow an attacker to infect "
"Tor Browser."
msgstr ""
+"Ciò può causare la perdita di dati sensibili o consentire a un utente "
+"malintenzionato di infettare Tor Browser."
#: https//support.torproject.org/faq/faq-3/
#: (content/faq/faq-3/contents+en.lrquestion.description)
1
0

[translation/policies-code_of_conducttxtpot] https://gitweb.torproject.org/translation.git/commit/?h=policies-code_of_conducttxtpot
by translation@torproject.org 07 Nov '19
by translation@torproject.org 07 Nov '19
07 Nov '19
commit 18a17fc8f795ea8b1ccfa6fe6b2f98d96fd7a2ca
Author: Translation commit bot <translation(a)torproject.org>
Date: Thu Nov 7 13:47:07 2019 +0000
https://gitweb.torproject.org/translation.git/commit/?h=policies-code_of_co…
---
code_of_conduct+it.po | 69 ++++++++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 65 insertions(+), 4 deletions(-)
diff --git a/code_of_conduct+it.po b/code_of_conduct+it.po
index 2332e28c2..f964f90df 100644
--- a/code_of_conduct+it.po
+++ b/code_of_conduct+it.po
@@ -524,7 +524,7 @@ msgstr ""
#. type: Bullet: ' * '
#: ../code_of_conduct.txt:177
msgid "Deliberately pushing against someone's stated boundaries."
-msgstr ""
+msgstr "Infastidire e/o contrastare in maniera deliberata le credenze altrui."
#. type: Bullet: ' * '
#: ../code_of_conduct.txt:179
@@ -606,6 +606,13 @@ msgid ""
"involved in any discussion or documentation of the incident. More about the "
"Community Council can be found in the guidelines [2]."
msgstr ""
+"In ogni caso, se senti che c'è un conflitto di interessi con qualsiasi "
+"membro del consiglio, puoi contattare i membri individualmente. Le chiavi "
+"GPG dei membri del consiglio sono elencate nella Community Council wiki. Se "
+"c'è un conflitto di interessi, il membro del consiglio coinvolto si dovrà "
+"dimettere. Conseguentemente, non verrà coinvolto in nessuna discussione o "
+"documento riguardante l'incidente. Ulteriori informazioni riguardo il "
+"Community Council possono essere trovate nelle linee guida [2]. "
#. type: Plain text
#: ../code_of_conduct.txt:215
@@ -614,6 +621,8 @@ msgid ""
"6. What to do if you witness unacceptable behavior\n"
"============================================================\n"
msgstr ""
+"6. Cosa fare se sei testimone di un comportamento inaccettabile\n"
+"============================================================\n"
#. type: Plain text
#: ../code_of_conduct.txt:230
@@ -632,6 +641,20 @@ msgid ""
"danger or harm to anyone. More information about the Community Council's "
"incident reporting and response policies can be found on their wiki [1]."
msgstr ""
+"Se sei vittima o testimone di un comportamento inaccettabile, o hai altre "
+"preoccupazioni, ti preghiamo di avvisare il Community Council il più presto "
+"possibile. Puoi contattare il Community Council di persona o all'indirizzo "
+"tor-community-council(a)lists.torproject.org. Gli attuali membri del consiglio"
+" sono elencati nella wiki [1]. La risposta del Community Council riguardo "
+"gli incidenti varierà caso per caso. Il consiglio compirà ogni sforzo per "
+"rispondere immediatamente all'incidente. Il consiglio darà priorità alla "
+"sicurezza della persona danneggiata o a rischio. Le persone danneggiate o "
+"che sono a rischio di danno possono ritirare la denuncia dell'incidente in "
+"qualsiasi momento. Non faremo mai nulla senza il consenso della persona "
+"danneggiata o a rischio, tranne nelle situazioni in cui c'è una minaccia di "
+"pericolo imminente per qualcuno. Maggiori informazioni sulle politiche di "
+"segnalazione e risposta degli incidenti del Community Council sono "
+"disponibili sulla wiki [1]."
#. type: Plain text
#: ../code_of_conduct.txt:233
@@ -640,6 +663,8 @@ msgid ""
"7. What the person reporting a violation can expect\n"
"============================================================\n"
msgstr ""
+"7. Cosa può aspettarsi la persona che segnala una violazione\n"
+"============================================================\n"
#. type: Plain text
#: ../code_of_conduct.txt:242
@@ -653,6 +678,15 @@ msgid ""
"format. The next steps in an incident response will vary on a case-by-case "
"basis."
msgstr ""
+"Il Community Council pone la priorità sulla salvaguardia e il benessere di "
+"ogni persona che si sente offesa o che potrebbe essere in pericolo di essere"
+" offesa. Chiunque riporti un problema al Community Council può aspettarsi "
+"che il proprio report verrà preso in seria considerazione. La risposta "
+"iniziale potrebbe essere sia in forma scritta che verbale. Se l'incidente "
+"non dovesse richiedere una soluzione immediata, allora un report per "
+"iscritto può essere condiviso con il Community Council in formato criptato. "
+"I passi seguenti nel processo di risposta agli incidenti potrà variare in "
+"base al caso in questione."
#. type: Plain text
#: ../code_of_conduct.txt:245
@@ -661,6 +695,8 @@ msgid ""
"8. How the Community Council responds to incidents\n"
"============================================================\n"
msgstr ""
+"8. Come il Community Council risponde agli incidenti\n"
+"============================================================\n"
#. type: Plain text
#: ../code_of_conduct.txt:252
@@ -672,6 +708,12 @@ msgid ""
"appealed by following the appeals process in the Community Council "
"Guidelines [1]."
msgstr ""
+"Se un membro della community intraprende comportamenti inaccettabili, il "
+"Community Council può attuare qualsiasi azione ritenga appropriata, incluso "
+"ma non limitato a un avvertimento, una mediazione informale, un ban "
+"temporaneo o un'espulsione permanente dalla community. Qualsiasi azione e "
+"decisione del Community Council può essere appellata seguendo la procedura "
+"di ricorso nelle linee guida del Community Council [1]."
#. type: Plain text
#: ../code_of_conduct.txt:255
@@ -680,11 +722,14 @@ msgid ""
"9. Scope of this document\n"
"============================================================\n"
msgstr ""
+"9. L'ambito di questo documento\n"
+"============================================================\n"
#. type: Plain text
#: ../code_of_conduct.txt:258
msgid "This code of conduct covers all community participants:"
msgstr ""
+"Questo codice di condotta riguarda tutti i partecipanti della community:"
#. type: Bullet: ' - '
#: ../code_of_conduct.txt:260
@@ -704,17 +749,17 @@ msgstr "altri ospiti"
#. type: Plain text
#: ../code_of_conduct.txt:266
msgid "when interacting:"
-msgstr ""
+msgstr "Quando si interagisce:"
#. type: Bullet: ' - '
#: ../code_of_conduct.txt:268
msgid "in all online and in-person community venues"
-msgstr ""
+msgstr "in tutte le community venues online ed in persona"
#. type: Bullet: ' - '
#: ../code_of_conduct.txt:270
msgid "in one-on-one communications that relate to community work"
-msgstr ""
+msgstr "nelle comunicazioni private che riguardano il lavoro della community"
#. type: Plain text
#: ../code_of_conduct.txt:277
@@ -726,6 +771,13 @@ msgid ""
"this Code while we are working on Tor, and take care not to undermine it in "
"the rest of our time."
msgstr ""
+"Questo codice di condotta e le relative procedure si applicano anche a "
+"comportamenti inaccettabili che si verificano al di fuori del campo di "
+"applicazione delle attività della community quando tale comportamento ha il "
+"potenziale per influenzare negativamente la sicurezza e il benessere dei "
+"membri della community. Come membri della Tor community, sosteniamo e "
+"seguiamo questo Codice mentre lavoriamo a Tor, e facciamo attenzione a non "
+"minarlo nel resto del nostro tempo."
#. type: Plain text
#: ../code_of_conduct.txt:280
@@ -734,6 +786,8 @@ msgid ""
"10. License and attribution\n"
"============================================================\n"
msgstr ""
+"10. Licenza ed attribuzione\n"
+"============================================================\n"
#. type: Plain text
#: ../code_of_conduct.txt:284
@@ -741,6 +795,8 @@ msgid ""
"This code of conduct is shared under a Creative Commons CC-BY-SA 4.0 "
"International license."
msgstr ""
+"Questo codice di condotta è distribuito con una licenza Internazionale "
+"Creative Commons CC-BY-SA 4.0."
#. type: Plain text
#: ../code_of_conduct.txt:287
@@ -748,6 +804,9 @@ msgid ""
"This code of conduct uses some language and framing from the Citizen Code of"
" Conduct, which is shared under a CC-BY-SA license: citizencodeofconduct.org"
msgstr ""
+"Questo codice di condotta utilizza un linguaggio e un formato dal Citizen "
+"Code of Conduct, che è distribuito sotto una licenza CC-BY-SA: "
+"citizencodeofconduct.org"
#. type: Plain text
#: ../code_of_conduct.txt:289
@@ -755,3 +814,5 @@ msgid ""
"[1] https://trac.torproject.org/projects/tor/wiki/org/CommunityCouncil [2] "
"https://gitweb.torproject.org/community/policies.git/tree/community_council…"
msgstr ""
+"[1] https://trac.torproject.org/projects/tor/wiki/org/CommunityCouncil [2] "
+"https://gitweb.torproject.org/community/policies.git/tree/community_council…"
1
0

[translation/support-portal] https://gitweb.torproject.org/translation.git/commit/?h=support-portal
by translation@torproject.org 07 Nov '19
by translation@torproject.org 07 Nov '19
07 Nov '19
commit 5f13efb5dc86b8cb00da0c5414772af229de0260
Author: Translation commit bot <translation(a)torproject.org>
Date: Thu Nov 7 13:23:31 2019 +0000
https://gitweb.torproject.org/translation.git/commit/?h=support-portal
---
contents+ka.po | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 53 insertions(+), 3 deletions(-)
diff --git a/contents+ka.po b/contents+ka.po
index d491b5e30..e6fe79ef8 100644
--- a/contents+ka.po
+++ b/contents+ka.po
@@ -322,6 +322,10 @@ msgid ""
"[NoScript](https://noscript.net) — and adding anything else could "
"deanonymize you."
msgstr ""
+"Tor-ბრაუზერს ისედაც მოყვება საჭირო დამატებები თან — [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-თან გამოყენების შესახებ, შეგიძლიათ იხილოთ [ჩვენს "
+"ვიკიში](https://trac.torproject.org/projects/tor/wiki/doc/TorPlusVPN)."
#: https//support.torproject.org/about/backdoor/
#: (content/about/backdoor/contents+en.lrquestion.title)
@@ -1128,6 +1134,8 @@ msgid ""
"For example, `torbrowser-install-win64-9.0.1_en-US.exe` is accompanied by "
"`torbrowser-install-win64-9.0.1_en-US.exe.asc`."
msgstr ""
+"მაგალითად, „torbrowser-install-win64-9.0.1_en-US.exe“ ფაილს თან ახლავს ფაილი"
+" „torbrowser-install-win64-9.0.1_en-US.exe.asc“."
#: https//support.torproject.org/tbb/how-to-verify-signature/
#: (content/tbb/how-to-verify-signature/contents+en.lrquestion.description)
@@ -1368,6 +1376,8 @@ msgid ""
"gpgv --keyring .\tor.keyring Downloads\torbrowser-install-win64-9.0.1_en-"
"US.exe.asc Downloads\torbrowser-install-win64-9.0.1_en-US.exe"
msgstr ""
+"gpgv --keyring .\tor.keyring Downloads\torbrowser-install-win64-9.0.1_en-"
+"US.exe.asc Downloads\torbrowser-install-win64-9.0.1_en-US.exe"
#: https//support.torproject.org/tbb/how-to-verify-signature/
#: (content/tbb/how-to-verify-signature/contents+en.lrquestion.description)
@@ -1375,6 +1385,8 @@ msgid ""
"gpgv --keyring ./tor.keyring ~/Downloads/TorBrowser-9.0.1-osx64_en-"
"US.dmg{.asc,}"
msgstr ""
+"gpgv --keyring ./tor.keyring ~/Downloads/TorBrowser-9.0.1-osx64_en-"
+"US.dmg{.asc,}"
#: https//support.torproject.org/tbb/how-to-verify-signature/
#: (content/tbb/how-to-verify-signature/contents+en.lrquestion.description)
@@ -1390,6 +1402,8 @@ msgid ""
"gpgv --keyring ./tor.keyring ~/Downloads/tor-browser-linux64-9.0.1_en-"
"US.tar.xz{.asc,}"
msgstr ""
+"gpgv --keyring ./tor.keyring ~/Downloads/tor-browser-linux64-9.0.1_en-"
+"US.tar.xz{.asc,}"
#: https//support.torproject.org/tbb/how-to-verify-signature/
#: (content/tbb/how-to-verify-signature/contents+en.lrquestion.description)
@@ -1563,6 +1577,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)
@@ -1770,6 +1786,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-ქსელის გავლით, "
+"გაეცანით [Tails-ის პირდაპირ](https://tails.boum.org/) გასაშვებ სისტემას, "
+"რომელიც ნებისმიერ კომპიუტერზე შეგიძლიათ გაუშვათ პირდაპირ USB-მეხსიერებიდან "
+"ან DVD-დისკიდან."
#: https//support.torproject.org/tbb/tbb-15/
#: (content/tbb/tbb-15/contents+en.lrquestion.title)
@@ -1825,6 +1845,9 @@ msgid ""
"selection to Tor; overriding the entry/exit nodes can compromise your "
"anonymity."
msgstr ""
+"თქვენ მაღალი დონის უსაფრთხოებას მიიღებთ მხოლოდ იმ შემთხვევაში, როცა Tor-ს "
+"აძლევთ საშუალებას, თავად შეარჩიოს კავშირი Tor-ქსელში; შემავალი/გამავალი "
+"კვანძების ცვლილებამ ან ჩასწორებამ, შეიძლება გაამხილოს თქვენი ვინაობა."
#: https//support.torproject.org/tbb/tbb-16/
#: (content/tbb/tbb-16/contents+en.lrquestion.description)
@@ -1891,6 +1914,8 @@ msgid ""
"There is something called the [TorBSD project](https://www.torbsd.org/), but"
" their Tor Browser is not officially supported."
msgstr ""
+"არსებობს პროექტი სახელწოდებით [TorBSD](https://www.torbsd.org/), მაგრამ Tor-"
+"ბრაუზერი არაა ოფიციალურად მხარდაჭერილი."
#: https//support.torproject.org/tbb/tbb-19/
#: (content/tbb/tbb-19/contents+en.lrquestion.title)
@@ -1988,6 +2013,10 @@ msgid ""
"parameters) and [paper](https://www-"
"users.cs.umn.edu/~hoppernj/single_guard.pdf) on entry guards."
msgstr ""
+"ვრცლად, მცველი გადამცემების მუშაობის შესახებ, იხილეთ [სტატია "
+"სვეტზე](https://blog.torproject.org/improving-tors-anonymity-changing-guard-"
+"parameters) და [მასალა](https://www-"
+"users.cs.umn.edu/~hoppernj/single_guard.pdf) შემავალი მცველების თაობაზე."
#: https//support.torproject.org/tbb/tbb-20/
#: (content/tbb/tbb-20/contents+en.lrquestion.title)
@@ -2143,6 +2172,8 @@ msgid ""
"[DuckDuckGo](https://duckduckgo.com/) is the default search engine in Tor "
"Browser."
msgstr ""
+"[DuckDuckGo](https://duckduckgo.com/) არის ნაგულისხმევი საძიებო სისტემა Tor-"
+"ბრაუზერში."
#: https//support.torproject.org/tbb/tbb-23/
#: (content/tbb/tbb-23/contents+en.lrquestion.description)
@@ -2151,6 +2182,9 @@ msgid ""
"searches. Learn more about [DuckDuckGo privacy "
"policy](https://duckduckgo.com/privacy)."
msgstr ""
+"DuckDuckGo არ აღრიცხავს მისი მომხმარებლების მოქმედებებს და არ ინახავს "
+"არანაირ მონაცემებს ძიების შესახებ. ვრცლად, იხილეთ [DuckDuckGo-ს პირადი "
+"მონაცემების დაცვის დებულება](https://duckduckgo.com/privacy)."
#: https//support.torproject.org/tbb/tbb-24/
#: (content/tbb/tbb-24/contents+en.lrquestion.title)
@@ -2161,6 +2195,7 @@ msgstr "ხარვეზს გადავაწყდი DuckDuckGo-სთ
#: (content/tbb/tbb-24/contents+en.lrquestion.description)
msgid "Please see the [DuckDuckGo support portal](https://duck.co/help)."
msgstr ""
+"გთხოვთ, ეწვიოთ [DuckDuckGo-ს მხარდაჭერის გვერდს](https://duck.co/help)."
#: https//support.torproject.org/tbb/tbb-24/
#: (content/tbb/tbb-24/contents+en.lrquestion.description)
@@ -2172,6 +2207,8 @@ msgid ""
"If you believe this is a Tor Browser issue, please report it on our [bug "
"tracker](https://trac.torproject.org/)."
msgstr ""
+"თუ თვლით, რომ ეს ხარვეზი Tor-ბრაუზერს უკავშირდება, გთხოვთ მოგვახსენოთ ჩვენს "
+"[ხარვეზების აღმნუსხავში](https://trac.torproject.org/)."
#: https//support.torproject.org/tbb/tbb-25/
#: (content/tbb/tbb-25/contents+en.lrquestion.title)
@@ -2181,7 +2218,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 "გთხოვთ, იხილოთ [NoScript-ის ხ.დ.კ.](https://noscript.net/faq)."
#: https//support.torproject.org/tbb/tbb-26/
#: (content/tbb/tbb-26/contents+en.lrquestion.title)
@@ -2194,6 +2231,8 @@ msgid ""
"Please see the [HTTPS Everywhere FAQ](https://www.eff.org/https-"
"everywhere/faq)."
msgstr ""
+"გთხოვთ, იხილოთ [HTTPS Everywhere-ის ხ.დ.კ.](https://www.eff.org/https-"
+"everywhere/faq)."
#: https//support.torproject.org/tbb/tbb-27/
#: (content/tbb/tbb-27/contents+en.lrquestion.title)
@@ -2288,7 +2327,7 @@ msgstr ""
#: https//support.torproject.org/tbb/tbb-29/
#: (content/tbb/tbb-29/contents+en.lrquestion.description)
msgid ""
-msgstr ""
+msgstr ""
#: https//support.torproject.org/tbb/tbb-29/
#: (content/tbb/tbb-29/contents+en.lrquestion.description)
@@ -2335,7 +2374,7 @@ msgstr ""
#: https//support.torproject.org/tbb/tbb-29/
#: (content/tbb/tbb-29/contents+en.lrquestion.description)
msgid ""
-msgstr ""
+msgstr ""
#: https//support.torproject.org/tbb/tbb-30/
#: (content/tbb/tbb-30/contents+en.lrquestion.title)
@@ -2452,6 +2491,8 @@ msgid ""
"If you'd like to become a relay, please see our [Tor Relay "
"Guide](https://trac.torproject.org/projects/tor/wiki/TorRelayGuide)."
msgstr ""
+"თუ სურვილი გაქვთ გახდეთ გადამცემი, გთხოვთ იხილოთ ჩვენი [Tor-გადამცემის "
+"სახელმძღვანელო](https://trac.torproject.org/projects/tor/wiki/TorRelayGuide)."
#: https//support.torproject.org/tbb/tbb-34/
#: (content/tbb/tbb-34/contents+en.lrquestion.title)
@@ -2688,6 +2729,8 @@ msgid ""
"[Learn more about the design of Tor "
"Browser](https://www.torproject.org/projects/torbrowser/design/)."
msgstr ""
+"[იხილეთ ვრცლად, Tor-ბრაუზერის იერსახის "
+"შესახებ](https://www.torproject.org/projects/torbrowser/design/)."
#: https//support.torproject.org/tbb/tbb-40/
#: (content/tbb/tbb-40/contents+en.lrquestion.title)
@@ -2706,6 +2749,10 @@ msgid ""
"Browser](https://www.torproject.org/projects/torbrowser/design/#identifier-"
"linkability) document further explains the thinking behind this design."
msgstr ""
+"[Tor-ბრაუზერის იერსახისა და "
+"შემუშავების](https://www.torproject.org/projects/torbrowser/design"
+"/#identifier-linkability) მასალებში უკეთაა ახსნილი, თუ რა შინაარსია ჩადებული"
+" მასში."
#: https//support.torproject.org/tbb/tbb-41/
#: (content/tbb/tbb-41/contents+en.lrquestion.title)
@@ -2753,6 +2800,9 @@ msgid ""
"Tor Browser is built using [Firefox ESR](https://www.mozilla.org/en-"
"US/firefox/organizations/), so errors regarding Firefox may occur."
msgstr ""
+"Tor-ბრაუზერი დაფუძნებულია [Firefox ESR-ზე](https://www.mozilla.org/en-"
+"US/firefox/organizations/), ასე რომ, შესაძლოა ადგილი ჰქონდეს Firefox-სთან "
+"დაკავშირებულ შეცდომებს."
#: https//support.torproject.org/tbb/tbb-42/
#: (content/tbb/tbb-42/contents+en.lrquestion.description)
1
0

[translation/policies-code_of_conducttxtpot] https://gitweb.torproject.org/translation.git/commit/?h=policies-code_of_conducttxtpot
by translation@torproject.org 07 Nov '19
by translation@torproject.org 07 Nov '19
07 Nov '19
commit 311dd99857c8c96114fbdeb3a6483e29fa2f76e3
Author: Translation commit bot <translation(a)torproject.org>
Date: Thu Nov 7 13:16:55 2019 +0000
https://gitweb.torproject.org/translation.git/commit/?h=policies-code_of_co…
---
code_of_conduct+it.po | 27 +++++++++++++++++++++++++--
1 file changed, 25 insertions(+), 2 deletions(-)
diff --git a/code_of_conduct+it.po b/code_of_conduct+it.po
index d6b31aad8..2332e28c2 100644
--- a/code_of_conduct+it.po
+++ b/code_of_conduct+it.po
@@ -386,11 +386,13 @@ msgid ""
"Posting or threatening to post other people’s personally identifying "
"information (\"doxing\") without their consent."
msgstr ""
+"Pubblicare o minacciare di pubblicare informazioni personali di altre "
+"persone (\"doxing\") senza il loro consenso. "
#. type: Bullet: ' * '
#: ../code_of_conduct.txt:127
msgid "Personal insults or attacks, particularly those related to:"
-msgstr ""
+msgstr "Insulti o attacchi personali, in particolare quelli relativi a:"
#. type: Bullet: ' - '
#: ../code_of_conduct.txt:129
@@ -474,6 +476,9 @@ msgid ""
"information. You should have someone's consent before recording these "
"things, and before posting them publicly."
msgstr ""
+"Fotografie inappropriate, registrazioni audio, o registrazioni di "
+"informazioni personali. Dovresti avere il consenso di qualcuno prima di "
+"registrare queste cose, e prima di postarle pubblicamente. "
#. type: Bullet: ' * '
#: ../code_of_conduct.txt:164
@@ -481,6 +486,8 @@ msgid ""
"Inappropriate physical contact. You should have someone’s consent before "
"touching them."
msgstr ""
+"Contatto fisico inappropriato. Dovresti avere il consenso di qualcuno prima "
+"di toccarlo. "
#. type: Bullet: ' * '
#: ../code_of_conduct.txt:167
@@ -488,17 +495,22 @@ msgid ""
"Unwelcome sexual attention: this includes sexualized comments or jokes, "
"inappropriate touching, groping, and unwelcome sexual advances."
msgstr ""
+"Attenzioni sessuali indesiderate: questo include commenti o battute "
+"sessuali, contatto fisico inappropriato, palpeggiare, e insistere."
#. type: Bullet: ' * '
#: ../code_of_conduct.txt:169
msgid "Deliberate intimidation, stalking or following (online or in person)."
msgstr ""
+"Intimidazione deliberata, stalking o inseguimento (online o di persona)."
#. type: Bullet: ' * '
#: ../code_of_conduct.txt:172
msgid ""
"Deliberately undermining the spirit of this code while following the letter."
msgstr ""
+"Minare deliberatamente lo spirito di questo codice seguendo però le "
+"istruzioni. "
#. type: Bullet: ' * '
#: ../code_of_conduct.txt:175
@@ -506,6 +518,8 @@ msgid ""
"Sustained disruption of any community events, including talks, "
"presentations, and online conversations."
msgstr ""
+"Interruzione ripetuta di ogni evento della community, incluse conferenze, "
+"presentazioni, e conversazioni online. "
#. type: Bullet: ' * '
#: ../code_of_conduct.txt:177
@@ -515,7 +529,7 @@ msgstr ""
#. type: Bullet: ' * '
#: ../code_of_conduct.txt:179
msgid "Advocating for, or encouraging, any of the above behavior."
-msgstr ""
+msgstr "Sostenere o incoraggiare qualsiasi dei comportamenti sopra indicati. "
#. type: Plain text
#: ../code_of_conduct.txt:182
@@ -535,6 +549,10 @@ msgid ""
"authority. People in formal or informal leadership roles must model the "
"highest standards of behavior."
msgstr ""
+"Non tollereremo comportamenti inaccettabili da parte di nessun membro della "
+"community. Non faremo eccezioni nè per gli sponsor nè per quelli con "
+"autorità decisionale. Le persone con ruoli di leadership formali o informali"
+" devono rappresentare i più alti standard di comportamento."
#. type: Plain text
#: ../code_of_conduct.txt:192
@@ -543,6 +561,9 @@ msgid ""
"expected to comply immediately. Please don't step in on someone else's "
"behalf without their consent."
msgstr ""
+"Chiunque sotto richiesta di terminare un comportamento inaccettabile deve "
+"ottemperare immediatamente. Per favore non intervenire per conto di qualcun "
+"altro senza il suo consenso."
#. type: Plain text
#: ../code_of_conduct.txt:195
@@ -562,6 +583,8 @@ msgid ""
"and information can be found on the Community Council wiki [1]. You can "
"contact the whole Community council:"
msgstr ""
+"Il Community Council è un organo eletto dai Tor Core Contributors che può fornire assistenza nella risoluzione dei conflitti all'interno della community. Le politiche e le informazioni del Community Council sono disponibili sulla wiki [1]. \n"
+"Puoi contattare l'intero Community Council:"
#. type: Bullet: ' - '
#: ../code_of_conduct.txt:203
1
0

07 Nov '19
commit 582cee723a86e44f140a5057152df06659c36e71
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Thu Nov 7 08:13:31 2019 -0500
Fix various doxygen comments in feature/hs.
---
src/feature/hs/hs_circuit.c | 54 ++++++++++++------------
src/feature/hs/hs_circuitmap.c | 63 ++++++++++++++--------------
src/feature/hs/hs_common.c | 8 ++--
src/feature/hs/hs_config.c | 22 +++++-----
src/feature/hs/hs_control.c | 18 ++++----
src/feature/hs/hs_dos.c | 26 ++++++------
src/feature/hs/hs_intropoint.c | 30 ++++++-------
src/feature/hs/hs_intropoint.h | 9 ++--
src/feature/hs/hs_service.c | 8 ++--
src/feature/hs/hs_service.h | 6 +++
src/feature/hs/hsdir_index_st.h | 7 ++--
src/feature/hs_common/replaycache.h | 13 ++++--
src/feature/hs_common/shared_random_client.c | 19 ++++-----
13 files changed, 147 insertions(+), 136 deletions(-)
diff --git a/src/feature/hs/hs_circuit.c b/src/feature/hs/hs_circuit.c
index e1e9c7c79..9d21acf42 100644
--- a/src/feature/hs/hs_circuit.c
+++ b/src/feature/hs/hs_circuit.c
@@ -40,7 +40,7 @@
#include "feature/nodelist/node_st.h"
#include "core/or/origin_circuit_st.h"
-/* A circuit is about to become an e2e rendezvous circuit. Check
+/** A circuit is about to become an e2e rendezvous circuit. Check
* <b>circ_purpose</b> and ensure that it's properly set. Return true iff
* circuit purpose is properly set, otherwise return false. */
static int
@@ -67,7 +67,7 @@ circuit_purpose_is_correct_for_rend(unsigned int circ_purpose,
return 1;
}
-/* Create and return a crypt path for the final hop of a v3 prop224 rendezvous
+/** Create and return a crypt path for the final hop of a v3 prop224 rendezvous
* circuit. Initialize the crypt path crypto using the output material from the
* ntor key exchange at <b>ntor_key_seed</b>.
*
@@ -101,7 +101,7 @@ create_rend_cpath(const uint8_t *ntor_key_seed, size_t seed_len,
return cpath;
}
-/* We are a v2 legacy HS client: Create and return a crypt path for the hidden
+/** We are a v2 legacy HS client: Create and return a crypt path for the hidden
* service on the other side of the rendezvous circuit <b>circ</b>. Initialize
* the crypt path crypto using the body of the RENDEZVOUS1 cell at
* <b>rend_cell_body</b> (which must be at least DH1024_KEY_LEN+DIGEST_LEN
@@ -152,7 +152,7 @@ create_rend_cpath_legacy(origin_circuit_t *circ, const uint8_t *rend_cell_body)
return hop;
}
-/* Append the final <b>hop</b> to the cpath of the rend <b>circ</b>, and mark
+/** Append the final <b>hop</b> to the cpath of the rend <b>circ</b>, and mark
* <b>circ</b> ready for use to transfer HS relay cells. */
static void
finalize_rend_circuit(origin_circuit_t *circ, crypt_path_t *hop,
@@ -193,7 +193,7 @@ finalize_rend_circuit(origin_circuit_t *circ, crypt_path_t *hop,
}
}
-/* For a given circuit and a service introduction point object, register the
+/** For a given circuit and a service introduction point object, register the
* intro circuit to the circuitmap. This supports legacy intro point. */
static void
register_intro_circ(const hs_service_intro_point_t *ip,
@@ -211,7 +211,7 @@ register_intro_circ(const hs_service_intro_point_t *ip,
}
}
-/* Return the number of opened introduction circuit for the given circuit that
+/** Return the number of opened introduction circuit for the given circuit that
* is matching its identity key. */
static unsigned int
count_opened_desc_intro_point_circuits(const hs_service_t *service,
@@ -243,7 +243,7 @@ count_opened_desc_intro_point_circuits(const hs_service_t *service,
return count;
}
-/* From a given service, rendezvous cookie and handshake info, create a
+/** From a given service, rendezvous cookie and handshake info, create a
* rendezvous point circuit identifier. This can't fail. */
STATIC hs_ident_circuit_t *
create_rp_circuit_identifier(const hs_service_t *service,
@@ -282,7 +282,7 @@ create_rp_circuit_identifier(const hs_service_t *service,
return ident;
}
-/* From a given service and service intro point, create an introduction point
+/** From a given service and service intro point, create an introduction point
* circuit identifier. This can't fail. */
static hs_ident_circuit_t *
create_intro_circuit_identifier(const hs_service_t *service,
@@ -299,7 +299,7 @@ create_intro_circuit_identifier(const hs_service_t *service,
return ident;
}
-/* For a given introduction point and an introduction circuit, send the
+/** For a given introduction point and an introduction circuit, send the
* ESTABLISH_INTRO cell. The service object is used for logging. This can fail
* and if so, the circuit is closed and the intro point object is flagged
* that the circuit is not established anymore which is important for the
@@ -349,7 +349,7 @@ send_establish_intro(const hs_service_t *service,
memwipe(payload, 0, sizeof(payload));
}
-/* Return a string constant describing the anonymity of service. */
+/** Return a string constant describing the anonymity of service. */
static const char *
get_service_anonymity_string(const hs_service_t *service)
{
@@ -360,7 +360,7 @@ get_service_anonymity_string(const hs_service_t *service)
}
}
-/* For a given service, the ntor onion key and a rendezvous cookie, launch a
+/** For a given service, the ntor onion key and a rendezvous cookie, launch a
* circuit to the rendezvous point specified by the link specifiers. On
* success, a circuit identifier is attached to the circuit with the needed
* data. This function will try to open a circuit for a maximum value of
@@ -469,7 +469,7 @@ launch_rendezvous_point_circuit(const hs_service_t *service,
extend_info_free(info);
}
-/* Return true iff the given service rendezvous circuit circ is allowed for a
+/** Return true iff the given service rendezvous circuit circ is allowed for a
* relaunch to the rendezvous point. */
static int
can_relaunch_service_rendezvous_point(const origin_circuit_t *circ)
@@ -516,7 +516,7 @@ can_relaunch_service_rendezvous_point(const origin_circuit_t *circ)
return 0;
}
-/* Retry the rendezvous point of circ by launching a new circuit to it. */
+/** Retry the rendezvous point of circ by launching a new circuit to it. */
static void
retry_service_rendezvous_point(const origin_circuit_t *circ)
{
@@ -565,7 +565,7 @@ retry_service_rendezvous_point(const origin_circuit_t *circ)
return;
}
-/* Using the given descriptor intro point ip, the node of the
+/** Using the given descriptor intro point ip, the node of the
* rendezvous point rp_node and the service's subcredential, populate the
* already allocated intro1_data object with the needed key material and link
* specifiers.
@@ -622,7 +622,7 @@ setup_introduce1_data(const hs_desc_intro_point_t *ip,
/* Public API */
/* ========== */
-/* Return an introduction point circuit matching the given intro point object.
+/** Return an introduction point circuit matching the given intro point object.
* NULL is returned is no such circuit can be found. */
origin_circuit_t *
hs_circ_service_get_intro_circ(const hs_service_intro_point_t *ip)
@@ -637,7 +637,7 @@ hs_circ_service_get_intro_circ(const hs_service_intro_point_t *ip)
}
}
-/* Return an introduction point established circuit matching the given intro
+/** Return an introduction point established circuit matching the given intro
* point object. The circuit purpose has to be CIRCUIT_PURPOSE_S_INTRO. NULL
* is returned is no such circuit can be found. */
origin_circuit_t *
@@ -658,7 +658,7 @@ hs_circ_service_get_established_intro_circ(const hs_service_intro_point_t *ip)
return (TO_CIRCUIT(circ)->purpose == CIRCUIT_PURPOSE_S_INTRO) ? circ : NULL;
}
-/* Called when we fail building a rendezvous circuit at some point other than
+/** Called when we fail building a rendezvous circuit at some point other than
* the last hop: launches a new circuit to the same rendezvous point. This
* supports legacy service.
*
@@ -698,7 +698,7 @@ hs_circ_retry_service_rendezvous_point(origin_circuit_t *circ)
return;
}
-/* For a given service and a service intro point, launch a circuit to the
+/** For a given service and a service intro point, launch a circuit to the
* extend info ei. If the service is a single onion, and direct_conn is true,
* a one-hop circuit will be requested.
*
@@ -759,7 +759,7 @@ hs_circ_launch_intro_point(hs_service_t *service,
return ret;
}
-/* Called when a service introduction point circuit is done building. Given
+/** Called when a service introduction point circuit is done building. Given
* the service and intro point object, this function will send the
* ESTABLISH_INTRO cell on the circuit. Return 0 on success. Return 1 if the
* circuit has been repurposed to General because we already have too many
@@ -828,7 +828,7 @@ hs_circ_service_intro_has_opened(hs_service_t *service,
return ret;
}
-/* Called when a service rendezvous point circuit is done building. Given the
+/** Called when a service rendezvous point circuit is done building. Given the
* service and the circuit, this function will send a RENDEZVOUS1 cell on the
* circuit using the information in the circuit identifier. If the cell can't
* be sent, the circuit is closed. */
@@ -894,7 +894,7 @@ hs_circ_service_rp_has_opened(const hs_service_t *service,
memwipe(payload, 0, sizeof(payload));
}
-/* Circ has been expecting an INTRO_ESTABLISHED cell that just arrived. Handle
+/** Circ has been expecting an INTRO_ESTABLISHED cell that just arrived. Handle
* the INTRO_ESTABLISHED cell payload of length payload_len arriving on the
* given introduction circuit circ. The service is only used for logging
* purposes. Return 0 on success else a negative value. */
@@ -939,7 +939,7 @@ hs_circ_handle_intro_established(const hs_service_t *service,
return ret;
}
-/* We just received an INTRODUCE2 cell on the established introduction circuit
+/** We just received an INTRODUCE2 cell on the established introduction circuit
* circ. Handle the INTRODUCE2 payload of size payload_len for the given
* circuit and service. This cell is associated with the intro point object ip
* and the subcredential. Return 0 on success else a negative value. */
@@ -1006,7 +1006,7 @@ hs_circ_handle_introduce2(const hs_service_t *service,
return ret;
}
-/* Circuit <b>circ</b> just finished the rend ntor key exchange. Use the key
+/** Circuit <b>circ</b> just finished the rend ntor key exchange. Use the key
* exchange output material at <b>ntor_key_seed</b> and setup <b>circ</b> to
* serve as a rendezvous end-to-end circuit between the client and the
* service. If <b>is_service_side</b> is set, then we are the hidden service
@@ -1036,7 +1036,7 @@ hs_circuit_setup_e2e_rend_circ(origin_circuit_t *circ,
return 0;
}
-/* We are a v2 legacy HS client and we just received a RENDEZVOUS1 cell
+/** We are a v2 legacy HS client and we just received a RENDEZVOUS1 cell
* <b>rend_cell_body</b> on <b>circ</b>. Finish up the DH key exchange and then
* extend the crypt path of <b>circ</b> so that the hidden service is on the
* other side. */
@@ -1061,7 +1061,7 @@ hs_circuit_setup_e2e_rend_circ_legacy_client(origin_circuit_t *circ,
return 0;
}
-/* Given the introduction circuit intro_circ, the rendezvous circuit
+/** Given the introduction circuit intro_circ, the rendezvous circuit
* rend_circ, a descriptor intro point object ip and the service's
* subcredential, send an INTRODUCE1 cell on intro_circ.
*
@@ -1146,7 +1146,7 @@ hs_circ_send_introduce1(origin_circuit_t *intro_circ,
return ret;
}
-/* Send an ESTABLISH_RENDEZVOUS cell along the rendezvous circuit circ. On
+/** Send an ESTABLISH_RENDEZVOUS cell along the rendezvous circuit circ. On
* success, 0 is returned else -1 and the circuit is marked for close. */
int
hs_circ_send_establish_rendezvous(origin_circuit_t *circ)
@@ -1197,7 +1197,7 @@ hs_circ_send_establish_rendezvous(origin_circuit_t *circ)
return -1;
}
-/* We are about to close or free this <b>circ</b>. Clean it up from any
+/** We are about to close or free this <b>circ</b>. Clean it up from any
* related HS data structures. This function can be called multiple times
* safely for the same circuit. */
void
diff --git a/src/feature/hs/hs_circuitmap.c b/src/feature/hs/hs_circuitmap.c
index e34f564fb..0df451948 100644
--- a/src/feature/hs/hs_circuitmap.c
+++ b/src/feature/hs/hs_circuitmap.c
@@ -23,13 +23,13 @@
/************************** HS circuitmap code *******************************/
-/* This is the hidden service circuitmap. It's a hash table that maps
+/** This is the hidden service circuitmap. It's a hash table that maps
introduction and rendezvous tokens to specific circuits such that given a
token it's easy to find the corresponding circuit. */
static struct hs_circuitmap_ht *the_hs_circuitmap = NULL;
-/* This is a helper function used by the hash table code (HT_). It returns 1 if
- * two circuits have the same HS token. */
+/** This is a helper function used by the hash table code (HT_). It returns 1
+ * if two circuits have the same HS token. */
static int
hs_circuits_have_same_token(const circuit_t *first_circuit,
const circuit_t *second_circuit)
@@ -60,8 +60,9 @@ hs_circuits_have_same_token(const circuit_t *first_circuit,
first_token->token_len);
}
-/* This is a helper function for the hash table code (HT_). It hashes a circuit
- * HS token into an unsigned int for use as a key by the hash table routines.*/
+/** This is a helper function for the hash table code (HT_). It hashes a
+ * circuit HS token into an unsigned int for use as a key by the hash table
+ * routines.*/
static inline unsigned int
hs_circuit_hash_token(const circuit_t *circuit)
{
@@ -71,7 +72,7 @@ hs_circuit_hash_token(const circuit_t *circuit)
circuit->hs_token->token_len);
}
-/* Register the circuitmap hash table */
+/** Register the circuitmap hash table */
HT_PROTOTYPE(hs_circuitmap_ht, // The name of the hashtable struct
circuit_t, // The name of the element struct,
hs_circuitmap_node, // The name of HT_ENTRY member
@@ -83,7 +84,7 @@ HT_GENERATE2(hs_circuitmap_ht, circuit_t, hs_circuitmap_node,
#ifdef TOR_UNIT_TESTS
-/* Return the global HS circuitmap. Used by unittests. */
+/** Return the global HS circuitmap. Used by unittests. */
hs_circuitmap_ht *
get_hs_circuitmap(void)
{
@@ -136,7 +137,7 @@ get_circuit_with_token(hs_token_t *search_token)
return HT_FIND(hs_circuitmap_ht, the_hs_circuitmap, &search_circ);
}
-/* Helper function that registers <b>circ</b> with <b>token</b> on the HS
+/** Helper function that registers <b>circ</b> with <b>token</b> on the HS
circuitmap. This function steals reference of <b>token</b>. */
static void
hs_circuitmap_register_impl(circuit_t *circ, hs_token_t *token)
@@ -186,7 +187,7 @@ hs_circuitmap_register_circuit(circuit_t *circ,
hs_circuitmap_register_impl(circ, hs_token);
}
-/* Helper function for hs_circuitmap_get_origin_circuit() and
+/** Helper function for hs_circuitmap_get_origin_circuit() and
* hs_circuitmap_get_or_circuit(). Because only circuit_t are indexed in the
* circuitmap, this function returns object type so the specialized functions
* using this helper can upcast it to the right type.
@@ -220,7 +221,7 @@ hs_circuitmap_get_circuit_impl(hs_token_type_t type,
return found_circ;
}
-/* Helper function: Query circuitmap for origin circuit with <b>token</b> of
+/** Helper function: Query circuitmap for origin circuit with <b>token</b> of
* size <b>token_len</b> and <b>type</b>. Only returns a circuit with purpose
* equal to the <b>wanted_circ_purpose</b> parameter and if it is NOT marked
* for close. Return NULL if no such circuit is found. */
@@ -244,7 +245,7 @@ hs_circuitmap_get_origin_circuit(hs_token_type_t type,
return TO_ORIGIN_CIRCUIT(circ);
}
-/* Helper function: Query circuitmap for OR circuit with <b>token</b> of size
+/** Helper function: Query circuitmap for OR circuit with <b>token</b> of size
* <b>token_len</b> and <b>type</b>. Only returns a circuit with purpose equal
* to the <b>wanted_circ_purpose</b> parameter and if it is NOT marked for
* close. Return NULL if no such circuit is found. */
@@ -272,7 +273,7 @@ hs_circuitmap_get_or_circuit(hs_token_type_t type,
/**** Public relay-side getters: */
-/* Public function: Return v2 and v3 introduction circuit to this relay.
+/** Public function: Return v2 and v3 introduction circuit to this relay.
* Always return a newly allocated list for which it is the caller's
* responsability to free it. */
smartlist_t *
@@ -299,7 +300,7 @@ hs_circuitmap_get_all_intro_circ_relay_side(void)
return circuit_list;
}
-/* Public function: Return a v3 introduction circuit to this relay with
+/** Public function: Return a v3 introduction circuit to this relay with
* <b>auth_key</b>. Return NULL if no such circuit is found in the
* circuitmap. */
or_circuit_t *
@@ -311,7 +312,7 @@ hs_circuitmap_get_intro_circ_v3_relay_side(
CIRCUIT_PURPOSE_INTRO_POINT);
}
-/* Public function: Return v2 introduction circuit to this relay with
+/** Public function: Return v2 introduction circuit to this relay with
* <b>digest</b>. Return NULL if no such circuit is found in the circuitmap. */
or_circuit_t *
hs_circuitmap_get_intro_circ_v2_relay_side(const uint8_t *digest)
@@ -321,7 +322,7 @@ hs_circuitmap_get_intro_circ_v2_relay_side(const uint8_t *digest)
CIRCUIT_PURPOSE_INTRO_POINT);
}
-/* Public function: Return rendezvous circuit to this relay with rendezvous
+/** Public function: Return rendezvous circuit to this relay with rendezvous
* <b>cookie</b>. Return NULL if no such circuit is found in the circuitmap. */
or_circuit_t *
hs_circuitmap_get_rend_circ_relay_side(const uint8_t *cookie)
@@ -333,7 +334,7 @@ hs_circuitmap_get_rend_circ_relay_side(const uint8_t *cookie)
/** Public relay-side setters: */
-/* Public function: Register rendezvous circuit with key <b>cookie</b> to the
+/** Public function: Register rendezvous circuit with key <b>cookie</b> to the
* circuitmap. */
void
hs_circuitmap_register_rend_circ_relay_side(or_circuit_t *circ,
@@ -343,7 +344,7 @@ hs_circuitmap_register_rend_circ_relay_side(or_circuit_t *circ,
HS_TOKEN_REND_RELAY_SIDE,
REND_TOKEN_LEN, cookie);
}
-/* Public function: Register v2 intro circuit with key <b>digest</b> to the
+/** Public function: Register v2 intro circuit with key <b>digest</b> to the
* circuitmap. */
void
hs_circuitmap_register_intro_circ_v2_relay_side(or_circuit_t *circ,
@@ -354,7 +355,7 @@ hs_circuitmap_register_intro_circ_v2_relay_side(or_circuit_t *circ,
REND_TOKEN_LEN, digest);
}
-/* Public function: Register v3 intro circuit with key <b>auth_key</b> to the
+/** Public function: Register v3 intro circuit with key <b>auth_key</b> to the
* circuitmap. */
void
hs_circuitmap_register_intro_circ_v3_relay_side(or_circuit_t *circ,
@@ -367,7 +368,7 @@ hs_circuitmap_register_intro_circ_v3_relay_side(or_circuit_t *circ,
/**** Public servide-side getters: */
-/* Public function: Return v3 introduction circuit with <b>auth_key</b>
+/** Public function: Return v3 introduction circuit with <b>auth_key</b>
* originating from this hidden service. Return NULL if no such circuit is
* found in the circuitmap. */
origin_circuit_t *
@@ -392,9 +393,9 @@ hs_circuitmap_get_intro_circ_v3_service_side(const
return circ;
}
-/* Public function: Return v2 introduction circuit originating from this hidden
- * service with <b>digest</b>. Return NULL if no such circuit is found in the
- * circuitmap. */
+/** Public function: Return v2 introduction circuit originating from this
+ * hidden service with <b>digest</b>. Return NULL if no such circuit is found
+ * in the circuitmap. */
origin_circuit_t *
hs_circuitmap_get_intro_circ_v2_service_side(const uint8_t *digest)
{
@@ -416,7 +417,7 @@ hs_circuitmap_get_intro_circ_v2_service_side(const uint8_t *digest)
return circ;
}
-/* Public function: Return rendezvous circuit originating from this hidden
+/** Public function: Return rendezvous circuit originating from this hidden
* service with rendezvous <b>cookie</b>. Return NULL if no such circuit is
* found in the circuitmap. */
origin_circuit_t *
@@ -439,7 +440,7 @@ hs_circuitmap_get_rend_circ_service_side(const uint8_t *cookie)
return circ;
}
-/* Public function: Return client-side rendezvous circuit with rendezvous
+/** Public function: Return client-side rendezvous circuit with rendezvous
* <b>cookie</b>. It will look for circuits with the following purposes:
* a) CIRCUIT_PURPOSE_C_REND_READY: Established rend circuit (received
@@ -472,7 +473,7 @@ hs_circuitmap_get_rend_circ_client_side(const uint8_t *cookie)
return circ;
}
-/* Public function: Return client-side established rendezvous circuit with
+/** Public function: Return client-side established rendezvous circuit with
* rendezvous <b>cookie</b>. It will look for circuits with the following
* purposes:
*
@@ -514,7 +515,7 @@ hs_circuitmap_get_established_rend_circ_client_side(const uint8_t *cookie)
/**** Public servide-side setters: */
-/* Public function: Register v2 intro circuit with key <b>digest</b> to the
+/** Public function: Register v2 intro circuit with key <b>digest</b> to the
* circuitmap. */
void
hs_circuitmap_register_intro_circ_v2_service_side(origin_circuit_t *circ,
@@ -525,7 +526,7 @@ hs_circuitmap_register_intro_circ_v2_service_side(origin_circuit_t *circ,
REND_TOKEN_LEN, digest);
}
-/* Public function: Register v3 intro circuit with key <b>auth_key</b> to the
+/** Public function: Register v3 intro circuit with key <b>auth_key</b> to the
* circuitmap. */
void
hs_circuitmap_register_intro_circ_v3_service_side(origin_circuit_t *circ,
@@ -536,7 +537,7 @@ hs_circuitmap_register_intro_circ_v3_service_side(origin_circuit_t *circ,
ED25519_PUBKEY_LEN, auth_key->pubkey);
}
-/* Public function: Register rendezvous circuit with key <b>cookie</b> to the
+/** Public function: Register rendezvous circuit with key <b>cookie</b> to the
* circuitmap. */
void
hs_circuitmap_register_rend_circ_service_side(origin_circuit_t *circ,
@@ -547,7 +548,7 @@ hs_circuitmap_register_rend_circ_service_side(origin_circuit_t *circ,
REND_TOKEN_LEN, cookie);
}
-/* Public function: Register rendezvous circuit with key <b>cookie</b> to the
+/** Public function: Register rendezvous circuit with key <b>cookie</b> to the
* client-side circuitmap. */
void
hs_circuitmap_register_rend_circ_client_side(origin_circuit_t *or_circ,
@@ -591,7 +592,7 @@ hs_circuitmap_remove_circuit(circuit_t *circ)
circ->hs_token = NULL;
}
-/* Public function: Initialize the global HS circuitmap. */
+/** Public function: Initialize the global HS circuitmap. */
void
hs_circuitmap_init(void)
{
@@ -601,7 +602,7 @@ hs_circuitmap_init(void)
HT_INIT(hs_circuitmap_ht, the_hs_circuitmap);
}
-/* Public function: Free all memory allocated by the global HS circuitmap. */
+/** Public function: Free all memory allocated by the global HS circuitmap. */
void
hs_circuitmap_free_all(void)
{
diff --git a/src/feature/hs/hs_common.c b/src/feature/hs/hs_common.c
index cf98bea32..75f4385ee 100644
--- a/src/feature/hs/hs_common.c
+++ b/src/feature/hs/hs_common.c
@@ -305,9 +305,9 @@ hs_get_next_time_period_num(time_t now)
return hs_get_time_period_num(now) + 1;
}
-/* Get the number of the _previous_ HS time period, given that the current time
- * is <b>now</b>. If <b>now</b> is not set, we try to get the time from a live
- * consensus. */
+/** Get the number of the _previous_ HS time period, given that the current
+ * time is <b>now</b>. If <b>now</b> is not set, we try to get the time from a
+ * live consensus. */
uint64_t
hs_get_previous_time_period_num(time_t now)
{
@@ -725,7 +725,7 @@ build_blinded_key_param(const ed25519_public_key_t *pubkey,
memwipe(nonce, 0, sizeof(nonce));
}
-/* Using an ed25519 public key and version to build the checksum of an
+/** Using an ed25519 public key and version to build the checksum of an
* address. Put in checksum_out. Format is:
* SHA3-256(".onion checksum" || PUBKEY || VERSION)
*
diff --git a/src/feature/hs/hs_config.c b/src/feature/hs/hs_config.c
index 3b6caaec6..ed577daf7 100644
--- a/src/feature/hs/hs_config.c
+++ b/src/feature/hs/hs_config.c
@@ -34,7 +34,7 @@
#include "lib/encoding/confline.h"
#include "app/config/or_options_st.h"
-/* Using the given list of services, stage them into our global state. Every
+/** Using the given list of services, stage them into our global state. Every
* service version are handled. This function can remove entries in the given
* service_list.
*
@@ -70,7 +70,7 @@ stage_services(smartlist_t *service_list)
hs_service_stage_services(service_list);
}
-/* Validate the given service against all service in the given list. If the
+/** Validate the given service against all service in the given list. If the
* service is ephemeral, this function ignores it. Services with the same
* directory path aren't allowed and will return an error. If a duplicate is
* found, 1 is returned else 0 if none found. */
@@ -118,7 +118,7 @@ service_is_duplicate_in_list(const smartlist_t *service_list,
return ret;
}
-/* Helper function: Given an configuration option name, its value, a minimum
+/** Helper function: Given an configuration option name, its value, a minimum
* min and a maxium max, parse the value as a uint64_t. On success, ok is set
* to 1 and ret is the parsed value. On error, ok is set to 0 and ret must be
* ignored. This function logs both on error and success. */
@@ -173,7 +173,7 @@ helper_parse_circuit_id_protocol(const char *key, const char *value, int *ok)
return ret;
}
-/* Return the service version by trying to learn it from the key on disk if
+/** Return the service version by trying to learn it from the key on disk if
* any. If nothing is found, the current service configured version is
* returned. */
static int
@@ -191,7 +191,7 @@ config_learn_service_version(hs_service_t *service)
return version;
}
-/* Return true iff the given options starting at line_ for a hidden service
+/** Return true iff the given options starting at line_ for a hidden service
* contains at least one invalid option. Each hidden service option don't
* apply to all versions so this function can find out. The line_ MUST start
* right after the HiddenServiceDir line of this service.
@@ -273,7 +273,7 @@ config_has_invalid_options(const config_line_t *line_,
return ret;
}
-/* Validate service configuration. This is used when loading the configuration
+/** Validate service configuration. This is used when loading the configuration
* and once we've setup a service object, it's config object is passed to this
* function for further validation. This does not validate service key
* material. Return 0 if valid else -1 if invalid. */
@@ -304,7 +304,7 @@ config_validate_service(const hs_service_config_t *config)
return -1;
}
-/* Configuration funcion for a version 3 service. The line_ must be pointing
+/** Configuration funcion for a version 3 service. The line_ must be pointing
* to the directive directly after a HiddenServiceDir. That way, when hitting
* the next HiddenServiceDir line or reaching the end of the list of lines, we
* know that we have to stop looking for more options. The given service
@@ -423,7 +423,7 @@ config_service_v3(const config_line_t *line_,
return -1;
}
-/* Configure a service using the given options in line_ and options. This is
+/** Configure a service using the given options in line_ and options. This is
* called for any service regardless of its version which means that all
* directives in this function are generic to any service version. This
* function will also check the validity of the service directory path.
@@ -577,7 +577,7 @@ config_generic_service(const config_line_t *line_,
return -1;
}
-/* Configure a service using the given line and options. This function will
+/** Configure a service using the given line and options. This function will
* call the corresponding configuration function for a specific service
* version and validate the service against the other ones. On success, add
* the service to the given list and return 0. On error, nothing is added to
@@ -663,7 +663,7 @@ config_service(const config_line_t *line, const or_options_t *options,
return -1;
}
-/* From a set of <b>options</b>, setup every hidden service found. Return 0 on
+/** From a set of <b>options</b>, setup every hidden service found. Return 0 on
* success or -1 on failure. If <b>validate_only</b> is set, parse, warn and
* return as normal, but don't actually change the configured services. */
int
@@ -731,7 +731,7 @@ hs_config_service_all(const or_options_t *options, int validate_only)
return ret;
}
-/* From a set of <b>options</b>, setup every client authorization found.
+/** From a set of <b>options</b>, setup every client authorization found.
* Return 0 on success or -1 on failure. If <b>validate_only</b> is set,
* parse, warn and return as normal, but don't actually change the
* configured state. */
diff --git a/src/feature/hs/hs_control.c b/src/feature/hs/hs_control.c
index abb421345..461be3e1e 100644
--- a/src/feature/hs/hs_control.c
+++ b/src/feature/hs/hs_control.c
@@ -20,7 +20,7 @@
#include "feature/nodelist/node_st.h"
#include "feature/nodelist/routerstatus_st.h"
-/* Send on the control port the "HS_DESC REQUESTED [...]" event.
+/** Send on the control port the "HS_DESC REQUESTED [...]" event.
*
* The onion_pk is the onion service public key, base64_blinded_pk is the
* base64 encoded blinded key for the service and hsdir_rs is the routerstatus
@@ -57,7 +57,7 @@ hs_control_desc_event_requested(const ed25519_public_key_t *onion_pk,
memwipe(onion_address, 0, sizeof(onion_address));
}
-/* Send on the control port the "HS_DESC FAILED [...]" event.
+/** Send on the control port the "HS_DESC FAILED [...]" event.
*
* Using a directory connection identifier, the HSDir identity digest and a
* reason for the failure. None can be NULL. */
@@ -81,7 +81,7 @@ hs_control_desc_event_failed(const hs_ident_dir_conn_t *ident,
hsdir_id_digest, reason);
}
-/* Send on the control port the "HS_DESC RECEIVED [...]" event.
+/** Send on the control port the "HS_DESC RECEIVED [...]" event.
*
* Using a directory connection identifier and the HSDir identity digest.
* None can be NULL. */
@@ -103,7 +103,7 @@ hs_control_desc_event_received(const hs_ident_dir_conn_t *ident,
hsdir_id_digest);
}
-/* Send on the control port the "HS_DESC CREATED [...]" event.
+/** Send on the control port the "HS_DESC CREATED [...]" event.
*
* Using the onion address of the descriptor's service and the blinded public
* key of the descriptor as a descriptor ID. None can be NULL. */
@@ -124,7 +124,7 @@ hs_control_desc_event_created(const char *onion_address,
control_event_hs_descriptor_created(onion_address, base64_blinded_pk, -1);
}
-/* Send on the control port the "HS_DESC UPLOAD [...]" event.
+/** Send on the control port the "HS_DESC UPLOAD [...]" event.
*
* Using the onion address of the descriptor's service, the HSDir identity
* digest, the blinded public key of the descriptor as a descriptor ID and the
@@ -151,7 +151,7 @@ hs_control_desc_event_upload(const char *onion_address,
DIGEST256_LEN));
}
-/* Send on the control port the "HS_DESC UPLOADED [...]" event.
+/** Send on the control port the "HS_DESC UPLOADED [...]" event.
*
* Using the directory connection identifier and the HSDir identity digest.
* None can be NULL. */
@@ -169,7 +169,7 @@ hs_control_desc_event_uploaded(const hs_ident_dir_conn_t *ident,
control_event_hs_descriptor_uploaded(hsdir_id_digest, onion_address);
}
-/* Send on the control port the "HS_DESC_CONTENT [...]" event.
+/** Send on the control port the "HS_DESC_CONTENT [...]" event.
*
* Using the directory connection identifier, the HSDir identity digest and
* the body of the descriptor (as it was received from the directory). None
@@ -193,7 +193,7 @@ hs_control_desc_event_content(const hs_ident_dir_conn_t *ident,
hsdir_id_digest, body);
}
-/* Handle the "HSPOST [...]" command. The body is an encoded descriptor for
+/** Handle the "HSPOST [...]" command. The body is an encoded descriptor for
* the given onion_address. The descriptor will be uploaded to each directory
* in hsdirs_rs. If NULL, the responsible directories for the current time
* period will be selected.
@@ -248,7 +248,7 @@ hs_control_hspost_command(const char *body, const char *onion_address,
return ret;
}
-/* With a given <b>onion_identity_pk</b>, fetch its descriptor, optionally
+/** With a given <b>onion_identity_pk</b>, fetch its descriptor, optionally
* using the list of directory servers given in <b>hsdirs</b>, or a random
* server if it is NULL. This function calls hs_client_launch_v3_desc_fetch().
*/
diff --git a/src/feature/hs/hs_dos.c b/src/feature/hs/hs_dos.c
index d36ee97e6..529955b0e 100644
--- a/src/feature/hs/hs_dos.c
+++ b/src/feature/hs/hs_dos.c
@@ -31,21 +31,21 @@
#include "feature/hs/hs_dos.h"
-/* Default value of the allowed INTRODUCE2 cell rate per second. Above that
+/** Default value of the allowed INTRODUCE2 cell rate per second. Above that
* value per second, the introduction is denied. */
#define HS_DOS_INTRODUCE_DEFAULT_CELL_RATE_PER_SEC 25
-/* Default value of the allowed INTRODUCE2 cell burst per second. This is the
+/** Default value of the allowed INTRODUCE2 cell burst per second. This is the
* maximum value a token bucket has per second. We thus allow up to this value
* of INTRODUCE2 cell per second but the bucket is refilled by the rate value
* but never goes above that burst value. */
#define HS_DOS_INTRODUCE_DEFAULT_CELL_BURST_PER_SEC 200
-/* Default value of the consensus parameter enabling or disabling the
+/** Default value of the consensus parameter enabling or disabling the
* introduction DoS defense. Disabled by default. */
#define HS_DOS_INTRODUCE_ENABLED_DEFAULT 0
-/* INTRODUCE2 rejected request counter. */
+/** INTRODUCE2 rejected request counter. */
static uint64_t intro2_rejected_count = 0;
/* Consensus parameters. The ESTABLISH_INTRO DoS cell extension have higher
@@ -65,7 +65,7 @@ get_intro2_enable_consensus_param(const networkstatus_t *ns)
HS_DOS_INTRODUCE_ENABLED_DEFAULT, 0, 1);
}
-/* Return the parameter for the introduction rate per sec. */
+/** Return the parameter for the introduction rate per sec. */
STATIC uint32_t
get_intro2_rate_consensus_param(const networkstatus_t *ns)
{
@@ -74,7 +74,7 @@ get_intro2_rate_consensus_param(const networkstatus_t *ns)
0, INT32_MAX);
}
-/* Return the parameter for the introduction burst per sec. */
+/** Return the parameter for the introduction burst per sec. */
STATIC uint32_t
get_intro2_burst_consensus_param(const networkstatus_t *ns)
{
@@ -83,7 +83,7 @@ get_intro2_burst_consensus_param(const networkstatus_t *ns)
0, INT32_MAX);
}
-/* Go over all introduction circuit relay side and adjust their rate/burst
+/** Go over all introduction circuit relay side and adjust their rate/burst
* values using the global parameters. This is called right after the
* consensus parameters might have changed. */
static void
@@ -105,7 +105,7 @@ update_intro_circuits(void)
smartlist_free(intro_circs);
}
-/* Set consensus parameters. */
+/** Set consensus parameters. */
static void
set_consensus_parameters(const networkstatus_t *ns)
{
@@ -125,7 +125,7 @@ set_consensus_parameters(const networkstatus_t *ns)
* Public API.
*/
-/* Initialize the INTRODUCE2 token bucket for the DoS defenses using the
+/** Initialize the INTRODUCE2 token bucket for the DoS defenses using the
* consensus/default values. We might get a cell extension that changes those
* later but if we don't, the default or consensus parameters are used. */
void
@@ -141,7 +141,7 @@ hs_dos_setup_default_intro2_defenses(or_circuit_t *circ)
(uint32_t) approx_time());
}
-/* Called when the consensus has changed. We might have new consensus
+/** Called when the consensus has changed. We might have new consensus
* parameters to look at. */
void
hs_dos_consensus_has_changed(const networkstatus_t *ns)
@@ -155,7 +155,7 @@ hs_dos_consensus_has_changed(const networkstatus_t *ns)
set_consensus_parameters(ns);
}
-/* Return true iff an INTRODUCE2 cell can be sent on the given service
+/** Return true iff an INTRODUCE2 cell can be sent on the given service
* introduction circuit. */
bool
hs_dos_can_send_intro2(or_circuit_t *s_intro_circ)
@@ -206,14 +206,14 @@ hs_dos_can_send_intro2(or_circuit_t *s_intro_circ)
return true;
}
-/* Return rolling count of rejected INTRO2. */
+/** Return rolling count of rejected INTRO2. */
uint64_t
hs_dos_get_intro2_rejected_count(void)
{
return intro2_rejected_count;
}
-/* Initialize the onion service Denial of Service subsystem. */
+/** Initialize the onion service Denial of Service subsystem. */
void
hs_dos_init(void)
{
diff --git a/src/feature/hs/hs_intropoint.c b/src/feature/hs/hs_intropoint.c
index fe8486b1a..c3889004f 100644
--- a/src/feature/hs/hs_intropoint.c
+++ b/src/feature/hs/hs_intropoint.c
@@ -147,7 +147,7 @@ verify_establish_intro_cell(const trn_cell_establish_intro_t *cell,
return 0;
}
-/* Send an INTRO_ESTABLISHED cell to <b>circ</b>. */
+/** Send an INTRO_ESTABLISHED cell to <b>circ</b>. */
MOCK_IMPL(int,
hs_intro_send_intro_established_cell,(or_circuit_t *circ))
{
@@ -182,7 +182,7 @@ hs_intro_send_intro_established_cell,(or_circuit_t *circ))
return ret;
}
-/* Validate the cell DoS extension parameters. Return true iff they've been
+/** Validate the cell DoS extension parameters. Return true iff they've been
* bound check and can be used. Else return false. See proposal 305 for
* details and reasons about this validation. */
STATIC bool
@@ -244,7 +244,7 @@ cell_dos_extension_parameters_are_valid(uint64_t intro2_rate_per_sec,
return ret;
}
-/* Parse the cell DoS extension and apply defenses on the given circuit if
+/** Parse the cell DoS extension and apply defenses on the given circuit if
* validation passes. If the cell extension is malformed or contains unusable
* values, the DoS defenses is disabled on the circuit. */
static void
@@ -321,7 +321,7 @@ handle_establish_intro_cell_dos_extension(
return;
}
-/* Parse every cell extension in the given ESTABLISH_INTRO cell. */
+/** Parse every cell extension in the given ESTABLISH_INTRO cell. */
static void
handle_establish_intro_cell_extensions(
const trn_cell_establish_intro_t *parsed_cell,
@@ -457,7 +457,7 @@ handle_establish_intro(or_circuit_t *circ, const uint8_t *request,
return retval;
}
-/* Return True if circuit is suitable for being an intro circuit. */
+/** Return True if circuit is suitable for being an intro circuit. */
static int
circuit_is_suitable_intro_point(const or_circuit_t *circ,
const char *log_cell_type_str)
@@ -482,14 +482,14 @@ circuit_is_suitable_intro_point(const or_circuit_t *circ,
return 1;
}
-/* Return True if circuit is suitable for being service-side intro circuit. */
+/** Return True if circuit is suitable for being service-side intro circuit. */
int
hs_intro_circuit_is_suitable_for_establish_intro(const or_circuit_t *circ)
{
return circuit_is_suitable_intro_point(circ, "ESTABLISH_INTRO");
}
-/* We just received an ESTABLISH_INTRO cell in <b>circ</b>. Figure out of it's
+/** We just received an ESTABLISH_INTRO cell in <b>circ</b>. Figure out of it's
* a legacy or a next gen cell, and pass it to the appropriate handler. */
int
hs_intro_received_establish_intro(or_circuit_t *circ, const uint8_t *request,
@@ -523,7 +523,7 @@ hs_intro_received_establish_intro(or_circuit_t *circ, const uint8_t *request,
return -1;
}
-/* Send an INTRODUCE_ACK cell onto the circuit <b>circ</b> with the status
+/** Send an INTRODUCE_ACK cell onto the circuit <b>circ</b> with the status
* value in <b>status</b>. Depending on the status, it can be ACK or a NACK.
* Return 0 on success else a negative value on error which will close the
* circuit. */
@@ -567,7 +567,7 @@ send_introduce_ack_cell(or_circuit_t *circ, uint16_t status)
return ret;
}
-/* Validate a parsed INTRODUCE1 <b>cell</b>. Return 0 if valid or else a
+/** Validate a parsed INTRODUCE1 <b>cell</b>. Return 0 if valid or else a
* negative value for an invalid cell that should be NACKed. */
STATIC int
validate_introduce1_parsed_cell(const trn_cell_introduce1_t *cell)
@@ -613,7 +613,7 @@ validate_introduce1_parsed_cell(const trn_cell_introduce1_t *cell)
return -1;
}
-/* We just received a non legacy INTRODUCE1 cell on <b>client_circ</b> with
+/** We just received a non legacy INTRODUCE1 cell on <b>client_circ</b> with
* the payload in <b>request</b> of size <b>request_len</b>. Return 0 if
* everything went well, or -1 if an error occurred. This function is in charge
* of sending back an INTRODUCE_ACK cell and will close client_circ on error.
@@ -712,7 +712,7 @@ handle_introduce1(or_circuit_t *client_circ, const uint8_t *request,
return ret;
}
-/* Identify if the encoded cell we just received is a legacy one or not. The
+/** Identify if the encoded cell we just received is a legacy one or not. The
* <b>request</b> should be at least DIGEST_LEN bytes long. */
STATIC int
introduce1_cell_is_legacy(const uint8_t *request)
@@ -729,7 +729,7 @@ introduce1_cell_is_legacy(const uint8_t *request)
return 0;
}
-/* Return true iff the circuit <b>circ</b> is suitable for receiving an
+/** Return true iff the circuit <b>circ</b> is suitable for receiving an
* INTRODUCE1 cell. */
STATIC int
circuit_is_suitable_for_introduce1(const or_circuit_t *circ)
@@ -760,7 +760,7 @@ circuit_is_suitable_for_introduce1(const or_circuit_t *circ)
return 1;
}
-/* We just received an INTRODUCE1 cell on <b>circ</b>. Figure out which type
+/** We just received an INTRODUCE1 cell on <b>circ</b>. Figure out which type
* it is and pass it to the appropriate handler. Return 0 on success else a
* negative value and the circuit is closed. */
int
@@ -804,8 +804,8 @@ hs_intro_received_introduce1(or_circuit_t *circ, const uint8_t *request,
return -1;
}
-/* Clear memory allocated by the given intropoint object ip (but don't free the
- * object itself). */
+/** Clear memory allocated by the given intropoint object ip (but don't free
+ * the object itself). */
void
hs_intropoint_clear(hs_intropoint_t *ip)
{
diff --git a/src/feature/hs/hs_intropoint.h b/src/feature/hs/hs_intropoint.h
index 94ebf021e..f4d7ad263 100644
--- a/src/feature/hs/hs_intropoint.h
+++ b/src/feature/hs/hs_intropoint.h
@@ -12,15 +12,15 @@
#include "lib/crypt_ops/crypto_curve25519.h"
#include "feature/nodelist/torcert.h"
-/* Object containing introduction point common data between the service and
+/** Object containing introduction point common data between the service and
* the client side. */
typedef struct hs_intropoint_t {
- /* Does this intro point only supports legacy ID ?. */
+ /** Does this intro point only supports legacy ID ?. */
unsigned int is_only_legacy : 1;
- /* Authentication key certificate from the descriptor. */
+ /** Authentication key certificate from the descriptor. */
tor_cert_t *auth_key_cert;
- /* A list of link specifier. */
+ /** A list of link specifier. */
smartlist_t *link_specifiers;
} hs_intropoint_t;
@@ -64,4 +64,3 @@ STATIC bool cell_dos_extension_parameters_are_valid(
#endif /* defined(HS_INTROPOINT_PRIVATE) */
#endif /* !defined(TOR_HS_INTRO_H) */
-
diff --git a/src/feature/hs/hs_service.c b/src/feature/hs/hs_service.c
index d0fb77fda..5693cdb0f 100644
--- a/src/feature/hs/hs_service.c
+++ b/src/feature/hs/hs_service.c
@@ -509,7 +509,7 @@ service_intro_point_new(const node_t *node)
return NULL;
}
-/* Add the given intro point object to the given intro point map. The intro
+/** Add the given intro point object to the given intro point map. The intro
* point MUST have its RSA encryption key set if this is a legacy type or the
* authentication key set otherwise. */
STATIC void
@@ -1076,7 +1076,7 @@ load_service_keys(hs_service_t *service)
return ret;
}
-/* Check if the client file name is valid or not. Return 1 if valid,
+/** Check if the client file name is valid or not. Return 1 if valid,
* otherwise return 0. */
STATIC int
client_filename_is_valid(const char *filename)
@@ -1737,7 +1737,7 @@ build_service_desc_encrypted(const hs_service_t *service,
return 0;
}
-/* Populate the descriptor superencrypted section from the given service
+/** Populate the descriptor superencrypted section from the given service
* object. This will generate a valid list of hs_desc_authorized_client_t
* of clients that are authorized to use the service. Return 0 on success
* else -1 on error. */
@@ -2637,7 +2637,7 @@ run_build_descriptor_event(time_t now)
update_all_descriptors_intro_points(now);
}
-/* For the given service, launch any intro point circuits that could be
+/** For the given service, launch any intro point circuits that could be
* needed. This considers every descriptor of the service. */
static void
launch_intro_point_circuits(hs_service_t *service)
diff --git a/src/feature/hs/hs_service.h b/src/feature/hs/hs_service.h
index 193e08546..6c929c7ff 100644
--- a/src/feature/hs/hs_service.h
+++ b/src/feature/hs/hs_service.h
@@ -29,6 +29,7 @@
/** As described in the specification, service publishes their next descriptor
* at a random time between those two values (in seconds). */
#define HS_SERVICE_NEXT_UPLOAD_TIME_MIN (60 * 60)
+/** Maximum interval for uploading next descriptor (in seconds). */
#define HS_SERVICE_NEXT_UPLOAD_TIME_MAX (120 * 60)
/** Service side introduction point. */
@@ -316,6 +317,11 @@ void hs_service_free_all(void);
/* Service new/free functions. */
hs_service_t *hs_service_new(const or_options_t *options);
void hs_service_free_(hs_service_t *service);
+/**
+ * @copydoc hs_service_free_
+ *
+ * Additionally, set the pointer <b>s</b> to NULL.
+ **/
#define hs_service_free(s) FREE_AND_NULL(hs_service_t, hs_service_free_, (s))
MOCK_DECL(unsigned int, hs_service_get_num_services,(void));
diff --git a/src/feature/hs/hsdir_index_st.h b/src/feature/hs/hsdir_index_st.h
index 34ff84f91..0a0ac8ae6 100644
--- a/src/feature/hs/hsdir_index_st.h
+++ b/src/feature/hs/hsdir_index_st.h
@@ -12,16 +12,17 @@
#ifndef HSDIR_INDEX_ST_H
#define HSDIR_INDEX_ST_H
-/* Hidden service directory index used in a node_t which is set once we set
+/** Hidden service directory index used in a node_t which is set once we set
* the consensus. */
struct hsdir_index_t {
- /* HSDir index to use when fetching a descriptor. */
+ /** HSDir index to use when fetching a descriptor. */
uint8_t fetch[DIGEST256_LEN];
- /* HSDir index used by services to store their first and second
+ /** HSDir index used by services to store their first and second
* descriptor. The first descriptor is chronologically older than the second
* one and uses older TP and SRV values. */
uint8_t store_first[DIGEST256_LEN];
+ /** Newer index, for second descriptor. */
uint8_t store_second[DIGEST256_LEN];
};
diff --git a/src/feature/hs_common/replaycache.h b/src/feature/hs_common/replaycache.h
index 01f5e600c..812a05d26 100644
--- a/src/feature/hs_common/replaycache.h
+++ b/src/feature/hs_common/replaycache.h
@@ -14,16 +14,16 @@ typedef struct replaycache_t replaycache_t;
#ifdef REPLAYCACHE_PRIVATE
struct replaycache_t {
- /* Scrub interval */
+ /** Scrub interval */
time_t scrub_interval;
- /* Last scrubbed */
+ /** Last scrubbed */
time_t scrubbed;
- /*
+ /**
* Horizon
* (don't return true on digests in the cache but older than this)
*/
time_t horizon;
- /*
+ /**
* Digest map: keys are digests, values are times the digest was last seen
*/
digest256map_t *digests_seen;
@@ -34,6 +34,11 @@ struct replaycache_t {
/* replaycache_t free/new */
void replaycache_free_(replaycache_t *r);
+/**
+ * @copydoc replaycache_free_
+ *
+ * Additionally, set the pointer <b>r</b> to NULL.
+ **/
#define replaycache_free(r) \
FREE_AND_NULL(replaycache_t, replaycache_free_, (r))
replaycache_t * replaycache_new(time_t horizon, time_t interval);
diff --git a/src/feature/hs_common/shared_random_client.c b/src/feature/hs_common/shared_random_client.c
index 5772034c6..f5328e6e1 100644
--- a/src/feature/hs_common/shared_random_client.c
+++ b/src/feature/hs_common/shared_random_client.c
@@ -18,7 +18,7 @@
#include "feature/nodelist/networkstatus_st.h"
-/* Convert a given srv object to a string for the control port. This doesn't
+/** Convert a given srv object to a string for the control port. This doesn't
* fail and the srv object MUST be valid. */
static char *
srv_to_control_string(const sr_srv_t *srv)
@@ -32,7 +32,7 @@ srv_to_control_string(const sr_srv_t *srv)
return srv_str;
}
-/* Return the voting interval of the tor vote subsystem. */
+/** Return the voting interval of the tor vote subsystem. */
int
get_voting_interval(void)
{
@@ -51,7 +51,7 @@ get_voting_interval(void)
return interval;
}
-/* Given the current consensus, return the start time of the current round of
+/** Given the current consensus, return the start time of the current round of
* the SR protocol. For example, if it's 23:47:08, the current round thus
* started at 23:47:00 for a voting interval of 10 seconds.
*
@@ -78,7 +78,7 @@ get_start_time_of_current_round(void)
* Public API
*/
-/* Encode the given shared random value and put it in dst. Destination
+/** Encode the given shared random value and put it in dst. Destination
* buffer must be at least SR_SRV_VALUE_BASE64_LEN plus the NULL byte. */
void
sr_srv_encode(char *dst, size_t dst_len, const sr_srv_t *srv)
@@ -99,7 +99,7 @@ sr_srv_encode(char *dst, size_t dst_len, const sr_srv_t *srv)
strlcpy(dst, buf, dst_len);
}
-/* Return the current SRV string representation for the control port. Return a
+/** Return the current SRV string representation for the control port. Return a
* newly allocated string on success containing the value else "" if not found
* or if we don't have a valid consensus yet. */
char *
@@ -115,7 +115,7 @@ sr_get_current_for_control(void)
return srv_str;
}
-/* Return the previous SRV string representation for the control port. Return
+/** Return the previous SRV string representation for the control port. Return
* a newly allocated string on success containing the value else "" if not
* found or if we don't have a valid consensus yet. */
char *
@@ -131,7 +131,7 @@ sr_get_previous_for_control(void)
return srv_str;
}
-/* Return current shared random value from the latest consensus. Caller can
+/** Return current shared random value from the latest consensus. Caller can
* NOT keep a reference to the returned pointer. Return NULL if none. */
const sr_srv_t *
sr_get_current(const networkstatus_t *ns)
@@ -154,7 +154,7 @@ sr_get_current(const networkstatus_t *ns)
return NULL;
}
-/* Return previous shared random value from the latest consensus. Caller can
+/** Return previous shared random value from the latest consensus. Caller can
* NOT keep a reference to the returned pointer. Return NULL if none. */
const sr_srv_t *
sr_get_previous(const networkstatus_t *ns)
@@ -177,7 +177,7 @@ sr_get_previous(const networkstatus_t *ns)
return NULL;
}
-/* Parse a list of arguments from a SRV value either from a vote, consensus
+/** Parse a list of arguments from a SRV value either from a vote, consensus
* or from our disk state and return a newly allocated srv object. NULL is
* returned on error.
*
@@ -290,4 +290,3 @@ sr_state_get_protocol_run_duration(void)
int total_protocol_rounds = SHARED_RANDOM_N_ROUNDS * SHARED_RANDOM_N_PHASES;
return total_protocol_rounds * get_voting_interval();
}
-
1
0

[translation/tpo-web] https://gitweb.torproject.org/translation.git/commit/?h=tpo-web
by translation@torproject.org 07 Nov '19
by translation@torproject.org 07 Nov '19
07 Nov '19
commit 26fad83901ea8fa1233f5b9e8d0054915edbadad
Author: Translation commit bot <translation(a)torproject.org>
Date: Thu Nov 7 12:53:22 2019 +0000
https://gitweb.torproject.org/translation.git/commit/?h=tpo-web
---
contents+ml.po | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/contents+ml.po b/contents+ml.po
index 311da12f1..6e965b6c9 100644
--- a/contents+ml.po
+++ b/contents+ml.po
@@ -4,6 +4,7 @@
# abinabraham <mail2abin(a)aol.com>, 2019
# ameer pb <ameerpbekm(a)gmail.com>, 2019
# erinm, 2019
+# Emma Peel, 2019
#
msgid ""
msgstr ""
@@ -11,7 +12,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+0000\n"
-"Last-Translator: erinm, 2019\n"
+"Last-Translator: Emma Peel, 2019\n"
"Language-Team: Malayalam (https://www.transifex.com/otf/teams/1519/ml/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -668,7 +669,7 @@ msgid ""
"found in our %(link_to_faq)s"
msgstr ""
"വ്യാപാരമുദ്ര, പകർപ്പവകാശ അറിയിപ്പുകൾ, മൂന്നാം കക്ഷികൾ ഉപയോഗിക്കുന്നതിനുള്ള "
-"നിയമങ്ങൾ എന്നിവ ഞങ്ങളുടെ% %(link_to_faq)s കളിൽ കാണാം."
+"നിയമങ്ങൾ എന്നിവ ഞങ്ങളുടെ %(link_to_faq)s കളിൽ കാണാം."
#: lego/templates/navbar.html:21 templates/navbar.html:21
msgid "Menu"
1
0

[translation/tbmanual-contentspot] https://gitweb.torproject.org/translation.git/commit/?h=tbmanual-contentspot
by translation@torproject.org 07 Nov '19
by translation@torproject.org 07 Nov '19
07 Nov '19
commit 0da5b8c709e35a4b370942444c94c5b4b62828ef
Author: Translation commit bot <translation(a)torproject.org>
Date: Thu Nov 7 12:50:26 2019 +0000
https://gitweb.torproject.org/translation.git/commit/?h=tbmanual-contentspot
---
contents+ml.po | 237 +++++++++++++++++++++++++++++----------------------------
1 file changed, 119 insertions(+), 118 deletions(-)
diff --git a/contents+ml.po b/contents+ml.po
index 5e9eaab57..7683b866a 100644
--- a/contents+ml.po
+++ b/contents+ml.po
@@ -2,6 +2,7 @@
# abinabraham <mail2abin(a)aol.com>, 2019
# erinm, 2019
# ameer pb <ameerpbekm(a)gmail.com>, 2019
+# Emma Peel, 2019
#
msgid ""
msgstr ""
@@ -9,7 +10,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-07 10:08+CET\n"
"PO-Revision-Date: 2018-11-14 12:31+0000\n"
-"Last-Translator: ameer pb <ameerpbekm(a)gmail.com>, 2019\n"
+"Last-Translator: Emma Peel, 2019\n"
"Language-Team: Malayalam (https://www.transifex.com/otf/teams/1519/ml/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,7 +20,7 @@ msgstr ""
#: https//tb-manual.torproject.org/ (content/contents+en.lrshowcase.title)
msgid "Tor Browser User Manual"
-msgstr "ടോർ ബ്രൌസർ ഉപയോക്തൃ സഹായ ഗ്രന്ഥം "
+msgstr "ടോർ ബ്രൌസർ ഉപയോക്തൃ സഹായ ഗ്രന്ഥം"
#: https//tb-manual.torproject.org/menu/
#: (content/menu/contents+en.lrtopic.body)
@@ -79,7 +80,7 @@ msgstr "പരിക്രമണം"
#: https//tb-manual.torproject.org/menu/
#: (content/menu/contents+en.lrtopic.body)
msgid "Bridges"
-msgstr "ബ്രിഡ്ജുകൾ "
+msgstr "ബ്രിഡ്ജുകൾ"
#: https//tb-manual.torproject.org/menu/
#: (content/menu/contents+en.lrtopic.body)
@@ -89,7 +90,7 @@ msgstr "ഐഡന്റിറ്റികൾ നിയന്ത്രിക്
#: https//tb-manual.torproject.org/menu/
#: (content/menu/contents+en.lrtopic.body)
msgid "Onion Services"
-msgstr "ഒണിയൻ സേവനങ്ങൾ."
+msgstr "ഒണിയൻ സേവനങ്ങൾ"
#: https//tb-manual.torproject.org/menu/
#: (content/menu/contents+en.lrtopic.body)
@@ -104,7 +105,7 @@ msgstr "Security Settings"
#: https//tb-manual.torproject.org/menu/
#: (content/menu/contents+en.lrtopic.body)
msgid "Updating"
-msgstr "അപ്ഡേറ്റുചെയ്യുന്നു"
+msgstr "അപ് ഡേറ്റുചെയ്യുന്നു"
#: https//tb-manual.torproject.org/menu/
#: (content/menu/contents+en.lrtopic.body)
@@ -119,7 +120,7 @@ msgstr "ട്രബിൾഷൂട്ടിംഗ്"
#: https//tb-manual.torproject.org/menu/
#: (content/menu/contents+en.lrtopic.body)
msgid "Uninstalling"
-msgstr "അൺഇൻസ്റ്റാൾ ചെയ്യുന്നു"
+msgstr "അൺഇൻസ്റ്റാൾ ചെയ്യുന്നു"
#: https//tb-manual.torproject.org/menu/
#: (content/menu/contents+en.lrtopic.body)
@@ -152,8 +153,8 @@ msgid ""
"Using the Tor network has two main properties:"
msgstr ""
"നിങ്ങളുടെ സ്വകാര്യതയും അജ്ഞാതതയും പരിരക്ഷിക്കുന്നതിന് ടോർ ബ്രൌസർ ടോർ "
-"നെറ്റ്വർക്ക് ഉപയോഗിക്കുന്നു. ടോർ നെറ്റ്വർക്ക് ഉപയോഗിക്കുന്നതിന് രണ്ട് "
-"പ്രധാന ഗുണങ്ങളുണ്ട്:"
+"നെറ്റ്വർക്ക് ഉപയോഗിക്കുന്നു. ടോർ നെറ്റ്വർക്ക് ഉപയോഗിക്കുന്നതിന് രണ്ട് പ്രധാന"
+" ഗുണങ്ങളുണ്ട്:"
#: https//tb-manual.torproject.org/about/
#: (content/about/contents+en.lrtopic.body)
@@ -163,7 +164,7 @@ msgid ""
"names and addresses of the websites you visit."
msgstr ""
"* നിങ്ങളുടെ ഇന്റർനെറ്റ് സേവന ദാതാവിനും പ്രാദേശികമായി നിങ്ങളുടെ കണക്ഷൻ "
-"കാണുന്ന ആർക്കും, നിങ്ങൾ സന്ദർശിക്കുന്ന വെബ്സൈറ്റുകളുടെ പേരും വിലാസവും "
+"കാണുന്ന ആർക്കും, നിങ്ങൾ സന്ദർശിക്കുന്ന വെബ്സൈറ്റുകളുടെ പേരും വിലാസവും "
"ഉൾപ്പെടെ നിങ്ങളുടെ ഇന്റർനെറ്റ് പ്രവർത്തനം ട്രാക്കുചെയ്യാൻ കഴിയില്ല."
#: https//tb-manual.torproject.org/about/
@@ -174,9 +175,9 @@ msgid ""
"your real Internet (IP) address, and will not know who you are unless you "
"explicitly identify yourself."
msgstr ""
-"* നിങ്ങൾ ഉപയോഗിക്കുന്ന വെബ്സൈറ്റുകളുടെയും സേവനങ്ങളുടെയും ഓപ്പറേറ്റർമാരും അവ"
-" കാണുന്ന ആർക്കും നിങ്ങളുടെ യഥാർത്ഥ ഇന്റർനെറ്റ് (ഐപി) വിലാസത്തിന് പകരം ടോർ "
-"നെറ്റ്വർക്കിൽ നിന്ന് വരുന്ന ഒരു കണക്ഷൻ കാണും, നിങ്ങൾ സ്വയം വ്യക്തമായി "
+"* നിങ്ങൾ ഉപയോഗിക്കുന്ന വെബ്സൈറ്റുകളുടെയും സേവനങ്ങളുടെയും ഓപ്പറേറ്റർമാരും അവ "
+"കാണുന്ന ആർക്കും നിങ്ങളുടെ യഥാർത്ഥ ഇന്റർനെറ്റ് (ഐപി) വിലാസത്തിന് പകരം ടോർ "
+"നെറ്റ്വർക്കിൽ നിന്ന് വരുന്ന ഒരു കണക്ഷൻ കാണും, നിങ്ങൾ സ്വയം വ്യക്തമായി "
"തിരിച്ചറിയുന്നില്ലെങ്കിൽ നിങ്ങൾ ആരാണെന്ന് അറിയാൻ കഴിയില്ല."
#: https//tb-manual.torproject.org/about/
@@ -185,7 +186,7 @@ msgid ""
"In addition, Tor Browser is designed to prevent websites from "
"“fingerprinting” or identifying you based on your browser configuration."
msgstr ""
-"കൂടാതെ, ടോർ ബ്രൌസർ രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത് വെബ്സൈറ്റുകളെ “വിരലടയാളം” "
+"കൂടാതെ, ടോർ ബ്രൌസർ രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത് വെബ്സൈറ്റുകളെ “വിരലടയാളം” "
"തടയുന്നതിനോ നിങ്ങളുടെ ബ്രൌസർ കോൺഫിഗറേഷനെ അടിസ്ഥാനമാക്കി നിങ്ങളെ "
"തിരിച്ചറിയുന്നത് തടയുന്നതിനോ ആണ്."
@@ -216,7 +217,7 @@ msgid ""
"public Internet."
msgstr ""
"ഇന്റർനെറ്റിൽ നിങ്ങളുടെ സ്വകാര്യതയും സുരക്ഷയും മെച്ചപ്പെടുത്താൻ അനുവദിക്കുന്ന"
-" വെർച്വൽ ടണലുകളുടെ ഒരു ശൃംഖലയാണ് ടോർ. ടോർ നെറ്റ്വർക്കിലെ മൂന്ന് റാൻഡം "
+" വെർച്വൽ ടണലുകളുടെ ഒരു ശൃംഖലയാണ് ടോർ. ടോർ നെറ്റ്വർക്കിലെ മൂന്ന് റാൻഡം "
"സെർവറുകളിലൂടെ (* റിലേകൾ * എന്നും അറിയപ്പെടുന്നു) നിങ്ങളുടെ ട്രാഫിക് "
"അയച്ചുകൊണ്ട് ടോർ പ്രവർത്തിക്കുന്നു. സർക്യൂട്ടിലെ അവസാന റിലേ (“എക്സിറ്റ് "
"റിലേ”) തുടർന്ന് ട്രാഫിക് പൊതു ഇന്റർനെറ്റിലേക്ക് അയയ്ക്കുന്നു."
@@ -238,9 +239,9 @@ msgid ""
"three keys represent the layers of encryption between the user and each "
"relay."
msgstr ""
-"ടോറിലൂടെ വ്യത്യസ്ത വെബ്സൈറ്റുകളിലേക്ക് ബ്രൗസുചെയ്യുന്ന ഉപയോക്താവിനെ "
+"ടോറിലൂടെ വ്യത്യസ്ത വെബ്സൈറ്റുകളിലേക്ക് ബ്രൗസുചെയ്യുന്ന ഉപയോക്താവിനെ "
"മുകളിലുള്ള ചിത്രം വ്യക്തമാക്കുന്നു. ഗ്രീൻ മിഡിൽ കമ്പ്യൂട്ടറുകൾ ടോർ "
-"നെറ്റ്വർക്കിലെ റിലേകളെ പ്രതിനിധീകരിക്കുന്നു, മൂന്ന് കീകൾ ഉപയോക്താവും ഓരോ "
+"നെറ്റ്വർക്കിലെ റിലേകളെ പ്രതിനിധീകരിക്കുന്നു, മൂന്ന് കീകൾ ഉപയോക്താവും ഓരോ "
"റിലേയും തമ്മിലുള്ള എൻക്രിപ്ഷന്റെ പാളികളെ പ്രതിനിധീകരിക്കുന്നു."
#: https//tb-manual.torproject.org/downloading/
@@ -260,8 +261,8 @@ msgid ""
" Project website at https://www.torproject.org/download."
msgstr ""
"ടോർ ബ്രൌസർ ഡൗൺലോഡ് ചെയ്യുന്നതിനുള്ള ഏറ്റവും സുരക്ഷിതവും ലളിതവുമായ മാർഗ്ഗം "
-"https://www.torproject.org/download ലെ ഔദ്യോഗിക ടോർ പ്രോജക്റ്റ് "
-"വെബ്സൈറ്റിൽ നിന്നാണ്."
+"https://www.torproject.org/download ലെ ഔദ്യോഗിക ടോർ പ്രോജക്റ്റ് വെബ്സൈറ്റിൽ"
+" നിന്നാണ്."
#: https//tb-manual.torproject.org/downloading/
#: (content/downloading/contents+en.lrtopic.body)
@@ -280,7 +281,7 @@ msgid ""
"for example, it could be blocked on your network."
msgstr ""
"എന്നിരുന്നാലും, നിങ്ങൾക്ക് ടോർ പ്രോജക്റ്റ് വെബ്സൈറ്റ് ആക്സസ് ചെയ്യാൻ "
-"കഴിയാത്ത സാഹചര്യങ്ങളുണ്ടാകാം: ഉദാഹരണത്തിന്, ഇത് നിങ്ങളുടെ നെറ്റ്വർക്കിൽ "
+"കഴിയാത്ത സാഹചര്യങ്ങളുണ്ടാകാം: ഉദാഹരണത്തിന്, ഇത് നിങ്ങളുടെ നെറ്റ്വർക്കിൽ "
"തടഞ്ഞേക്കാം."
#: https//tb-manual.torproject.org/downloading/
@@ -289,8 +290,8 @@ msgid ""
"If this happens, you can use one of the alternative download methods listed "
"below."
msgstr ""
-"ഇത് സംഭവിക്കുകയാണെങ്കിൽ, ചുവടെ ലിസ്റ്റുചെയ്തിരിക്കുന്ന ഇതര ഡൗൺലോഡ് രീതികളിൽ"
-" ഒന്ന് നിങ്ങൾക്ക് ഉപയോഗിക്കാം."
+"ഇത് സംഭവിക്കുകയാണെങ്കിൽ, ചുവടെ ലിസ്റ്റുചെയ്തിരിക്കുന്ന ഇതര ഡൗൺലോഡ് രീതികളിൽ "
+"ഒന്ന് നിങ്ങൾക്ക് ഉപയോഗിക്കാം."
#: https//tb-manual.torproject.org/downloading/
#: (content/downloading/contents+en.lrtopic.body)
@@ -575,10 +576,10 @@ msgid ""
" You will then be taken to the [Circumvention](/circumvention) screen to "
"configure a pluggable transport."
msgstr ""
-"നിങ്ങളുടെ കണക്ഷനിൽ ടോർ നെറ്റ്വർക്കിലേക്കുള്ള ആക്സസ്സ് തടഞ്ഞോ സെൻസർ "
-"ചെയ്തിട്ടുണ്ടോ എന്ന് ആദ്യ സ്ക്രീൻ ചോദിക്കുന്നു. ഇങ്ങനെയാണെന്ന് നിങ്ങൾ "
+"നിങ്ങളുടെ കണക്ഷനിൽ ടോർ നെറ്റ്വർക്കിലേക്കുള്ള ആക്സസ്സ് തടഞ്ഞോ സെൻസർ "
+"ചെയ്തിട്ടുണ്ടോ എന്ന് ആദ്യ സ്ക്രീൻ ചോദിക്കുന്നു. ഇങ്ങനെയാണെന്ന് നിങ്ങൾ "
"വിശ്വസിക്കുന്നില്ലെങ്കിൽ, “ഇല്ല” തിരഞ്ഞെടുക്കുക. നിങ്ങളുടെ കണക്ഷൻ സെൻസർ "
-"ചെയ്തിട്ടുണ്ടെന്ന് നിങ്ങൾക്കറിയാമെങ്കിൽ, അല്ലെങ്കിൽ ടോർ നെറ്റ്വർക്കിലേക്ക് "
+"ചെയ്തിട്ടുണ്ടെന്ന് നിങ്ങൾക്കറിയാമെങ്കിൽ, അല്ലെങ്കിൽ ടോർ നെറ്റ്വർക്കിലേക്ക് "
"കണക്റ്റുചെയ്യാൻ നിങ്ങൾ ശ്രമിക്കുകയും പരാജയപ്പെടുകയും ചെയ്തു, മറ്റ് "
"പരിഹാരങ്ങളൊന്നും പ്രവർത്തിച്ചിട്ടില്ലെങ്കിൽ, “അതെ” തിരഞ്ഞെടുക്കുക. പ്ലഗ് "
"ചെയ്യാവുന്ന ഒരു ഗതാഗതം ക്രമീകരിക്കുന്നതിന് നിങ്ങളെ [സർക്കംവെൻഷൻ] (/ "
@@ -597,7 +598,7 @@ msgstr ""
"ചോദിക്കുന്നു. മിക്ക കേസുകളിലും, ഇത് ആവശ്യമില്ല. നിങ്ങളുടെ സിസ്റ്റത്തിലെ "
"മറ്റ് ബ്രൌസർകൾക്കും സമാന ക്രമീകരണങ്ങൾ ഉപയോഗിക്കുന്നതിനാൽ “അതെ” എന്ന് ഉത്തരം "
"നൽകേണ്ടതുണ്ടോ എന്ന് നിങ്ങൾക്ക് സാധാരണയായി അറിയാം. സാധ്യമെങ്കിൽ, "
-"മാർഗനിർദ്ദേശത്തിനായി നിങ്ങളുടെ നെറ്റ്വർക്ക് അഡ്മിനിസ്ട്രേറ്ററോട് "
+"മാർഗനിർദ്ദേശത്തിനായി നിങ്ങളുടെ നെറ്റ്വർക്ക് അഡ്മിനിസ്ട്രേറ്ററോട് "
"ആവശ്യപ്പെടുക. നിങ്ങളുടെ കണക്ഷൻ ഒരു പ്രോക്സി ഉപയോഗിക്കുന്നില്ലെങ്കിൽ, "
"“തുടരുക” ക്ലിക്കുചെയ്യുക."
@@ -619,7 +620,7 @@ msgstr "പരിക്രമണം"
#: https//tb-manual.torproject.org/circumvention/
#: (content/circumvention/contents+en.lrtopic.description)
msgid "What to do if the Tor network is blocked"
-msgstr "ടോർ നെറ്റ്വർക്ക് തടഞ്ഞാൽ എന്തുചെയ്യും"
+msgstr "ടോർ നെറ്റ്വർക്ക് തടഞ്ഞാൽ എന്തുചെയ്യും"
#: https//tb-manual.torproject.org/circumvention/
#: (content/circumvention/contents+en.lrtopic.body)
@@ -711,7 +712,7 @@ msgstr "<tr class=\"even\">"
#: https//tb-manual.torproject.org/circumvention/
#: (content/circumvention/contents+en.lrtopic.body)
msgid "Snowflake"
-msgstr "സ്നോഫ്ളൈക് "
+msgstr "സ്നോഫ്ളൈക് "
#: https//tb-manual.torproject.org/circumvention/
#: (content/circumvention/contents+en.lrtopic.body)
@@ -720,7 +721,7 @@ msgid ""
"WebRTC, a peer-to-peer protocol with built-in NAT punching."
msgstr ""
"ഫ്ലാഷ്പ്രോക്സിയിലെ ഒരു മെച്ചപ്പെടുത്തലാണ് സ്നോഫ്ലേക്ക്. അന്തർനിർമ്മിതമായ NAT"
-" പഞ്ചിംഗ് ഉള്ള പിയർ-ടു-പിയർ പ്രോട്ടോക്കോൾ വെബ്ആർടിസി വഴി ഇത് നിങ്ങളുടെ "
+" പഞ്ചിംഗ് ഉള്ള പിയർ-ടു-പിയർ പ്രോട്ടോക്കോൾ വെബ്ആർടിസി വഴി ഇത് നിങ്ങളുടെ "
"ട്രാഫിക് അയയ്ക്കുന്നു."
#: https//tb-manual.torproject.org/circumvention/
@@ -838,8 +839,8 @@ msgid ""
"addresses in order to use these transports."
msgstr ""
"സൗമ്യതയുള്ള മറ്റ് പ്ലഗബിൾ ട്രാൻസ്പോർട്ടുകൾ പാലങ്ങളെ ആശ്രയിക്കാത്ത വ്യത്യസ്ത "
-"ആന്റി സെൻസർഷിപ്പ് ടെക്നിക്കുകൾ ഉപയോഗിക്കുന്നു. ഈ ട്രാൻസ്പോർട്ടുകൾ "
-"ഉപയോഗിക്കുന്നതിന് നിങ്ങൾ ബ്രിഡ്ജ് വിലാസങ്ങൾ നേടേണ്ടതില്ല."
+"ആന്റി സെൻസർഷിപ്പ് ടെക്നിക്കുകൾ ഉപയോഗിക്കുന്നു. ഈ ട്രാൻസ്പോർട്ടുകൾ "
+"ഉപയോഗിക്കുന്നതിന് നിങ്ങൾ ബ്രിഡ്ജ് വിലാസങ്ങൾ നേടേണ്ടതില്ല."
#: https//tb-manual.torproject.org/bridges/
#: (content/bridges/contents+en.lrtopic.body)
@@ -926,8 +927,8 @@ msgid ""
"Once you have obtained some bridge addresses, you will need to enter them "
"into Tor Launcher."
msgstr ""
-"നിങ്ങൾ ചില ബ്രിഡ്ജ് വിലാസങ്ങൾ നേടിയുകഴിഞ്ഞാൽ, നിങ്ങൾ അവ ടോർ ലോഞ്ചറിൽ "
-"നൽകേണ്ടതുണ്ട്."
+"നിങ്ങൾ ചില ബ്രിഡ്ജ് വിലാസങ്ങൾ നേടിയുകഴിഞ്ഞാൽ, നിങ്ങൾ അവ ടോർ ലോഞ്ചറിൽ "
+"നൽകേണ്ടതുണ്ട്."
#: https//tb-manual.torproject.org/bridges/
#: (content/bridges/contents+en.lrtopic.body)
@@ -976,11 +977,11 @@ msgid ""
"trackers, and advertising beacons, all of which can link your activity "
"across different sites."
msgstr ""
-"നിങ്ങൾ ഒരു വെബ്സൈറ്റിലേക്ക് കണക്റ്റുചെയ്യുമ്പോൾ, ആ വെബ്സൈറ്റിന്റെ "
+"നിങ്ങൾ ഒരു വെബ്സൈറ്റിലേക്ക് കണക്റ്റുചെയ്യുമ്പോൾ, ആ വെബ്സൈറ്റിന്റെ "
"ഓപ്പറേറ്റർമാർക്ക് മാത്രമല്ല നിങ്ങളുടെ സന്ദർശനത്തെക്കുറിച്ചുള്ള വിവരങ്ങൾ "
-"റെക്കോർഡുചെയ്യാൻ കഴിയുക. മിക്ക വെബ്സൈറ്റുകളും ഇപ്പോൾ സോഷ്യൽ നെറ്റ്വർക്കിംഗ്"
-" “ലൈക്ക്” ബട്ടണുകൾ, അനലിറ്റിക്സ് ട്രാക്കറുകൾ, പരസ്യ ബീക്കണുകൾ എന്നിവ "
-"ഉൾപ്പെടെ നിരവധി മൂന്നാം കക്ഷി സേവനങ്ങൾ ഉപയോഗിക്കുന്നു, ഇവയെല്ലാം വ്യത്യസ്ത "
+"റെക്കോർഡുചെയ്യാൻ കഴിയുക. മിക്ക വെബ്സൈറ്റുകളും ഇപ്പോൾ സോഷ്യൽ നെറ്റ്വർക്കിംഗ് "
+"“ലൈക്ക്” ബട്ടണുകൾ, അനലിറ്റിക്സ് ട്രാക്കറുകൾ, പരസ്യ ബീക്കണുകൾ എന്നിവ ഉൾപ്പെടെ"
+" നിരവധി മൂന്നാം കക്ഷി സേവനങ്ങൾ ഉപയോഗിക്കുന്നു, ഇവയെല്ലാം വ്യത്യസ്ത "
"സൈറ്റുകളിലുടനീളം നിങ്ങളുടെ പ്രവർത്തനത്തെ ബന്ധിപ്പിക്കാൻ കഴിയും."
#: https//tb-manual.torproject.org/managing-identities/
@@ -992,8 +993,8 @@ msgid ""
" Browser includes some additional features that help you control what "
"information can be tied to your identity."
msgstr ""
-"ടോർ നെറ്റ്വർക്ക് ഉപയോഗിക്കുന്നത് നിങ്ങളുടെ കൃത്യമായ ലൊക്കേഷനും ഐപി വിലാസവും"
-" കണ്ടെത്തുന്നതിൽ നിന്ന് നിരീക്ഷകരെ തടയുന്നു, എന്നാൽ ഈ വിവരങ്ങളില്ലാതെ പോലും "
+"ടോർ നെറ്റ്വർക്ക് ഉപയോഗിക്കുന്നത് നിങ്ങളുടെ കൃത്യമായ ലൊക്കേഷനും ഐപി വിലാസവും "
+"കണ്ടെത്തുന്നതിൽ നിന്ന് നിരീക്ഷകരെ തടയുന്നു, എന്നാൽ ഈ വിവരങ്ങളില്ലാതെ പോലും "
"അവർക്ക് നിങ്ങളുടെ പ്രവർത്തനത്തിന്റെ വിവിധ മേഖലകളെ പരസ്പരം ബന്ധിപ്പിക്കാൻ "
"കഴിഞ്ഞേക്കും. ഇക്കാരണത്താൽ, നിങ്ങളുടെ ഐഡന്റിറ്റിയുമായി എന്ത് വിവരങ്ങളുമായി "
"ബന്ധിപ്പിക്കാൻ കഴിയുമെന്ന് നിയന്ത്രിക്കാൻ സഹായിക്കുന്ന ചില അധിക സവിശേഷതകൾ "
@@ -1013,7 +1014,7 @@ msgid ""
" be served over two different Tor circuits, so the tracker will not know "
"that both connections originate from your browser."
msgstr ""
-"ടോർ ബ്രൌസർ URL ബാറിലെ വെബ്സൈറ്റുമായുള്ള നിങ്ങളുടെ ബന്ധത്തെ "
+"ടോർ ബ്രൌസർ URL ബാറിലെ വെബ്സൈറ്റുമായുള്ള നിങ്ങളുടെ ബന്ധത്തെ "
"ചുറ്റിപ്പറ്റിയുള്ള നിങ്ങളുടെ വെബ് അനുഭവം കേന്ദ്രീകരിക്കുന്നു. ഒരേ മൂന്നാം "
"കക്ഷി ട്രാക്കിംഗ് സേവനം ഉപയോഗിക്കുന്ന രണ്ട് വ്യത്യസ്ത സൈറ്റുകളിലേക്ക് നിങ്ങൾ"
" കണക്റ്റുചെയ്യുകയാണെങ്കിൽപ്പോലും, ടോർ ബ്രൌസർ രണ്ട് വ്യത്യസ്ത ടോർ "
@@ -1028,10 +1029,10 @@ msgid ""
"single website in separate tabs or windows, without any loss of "
"functionality."
msgstr ""
-"മറുവശത്ത്, ഒരൊറ്റ വെബ്സൈറ്റ് വിലാസത്തിലേക്കുള്ള എല്ലാ കണക്ഷനുകളും ഒരേ ടോർ "
+"മറുവശത്ത്, ഒരൊറ്റ വെബ്സൈറ്റ് വിലാസത്തിലേക്കുള്ള എല്ലാ കണക്ഷനുകളും ഒരേ ടോർ "
"സർക്യൂട്ടിലൂടെ നിർമ്മിക്കപ്പെടും, അതായത് പ്രവർത്തനക്ഷമത നഷ്ടപ്പെടാതെ "
-"നിങ്ങൾക്ക് ഒരു വെബ്സൈറ്റിന്റെ വ്യത്യസ്ത പേജുകൾ പ്രത്യേക ടാബുകളിലോ "
-"വിൻഡോകളിലോ ബ്രൗസുചെയ്യാനാകും."
+"നിങ്ങൾക്ക് ഒരു വെബ്സൈറ്റിന്റെ വ്യത്യസ്ത പേജുകൾ പ്രത്യേക ടാബുകളിലോ വിൻഡോകളിലോ"
+" ബ്രൗസുചെയ്യാനാകും."
#: https//tb-manual.torproject.org/managing-identities/
#: (content/managing-identities/contents+en.lrtopic.body)
@@ -1064,7 +1065,7 @@ msgstr ""
"സ്വപ്രേരിതമായും ക്രമരഹിതമായും തിരഞ്ഞെടുത്തു. എന്നാൽ ഇത് സർക്യൂട്ടിലെ മറ്റ് "
"നോഡുകളിൽ നിന്ന് വ്യത്യസ്തമാണ്. പ്രൊഫൈലിംഗ് ആക്രമണങ്ങൾ ഒഴിവാക്കാൻ, മറ്റ് "
"നോഡുകളിൽ നിന്ന് വ്യത്യസ്തമായി 2-3 മാസത്തിനുശേഷം മാത്രമേ ഗാർഡ് നോഡ് "
-"മാറുന്നുള്ളൂ, അത് ഓരോ പുതിയ ഡൊമെയ്നിലും മാറുന്നു. ഗാർഡുകളെക്കുറിച്ചുള്ള "
+"മാറുന്നുള്ളൂ, അത് ഓരോ പുതിയ ഡൊമെയ്നിലും മാറുന്നു. ഗാർഡുകളെക്കുറിച്ചുള്ള "
"കൂടുതൽ വിവരങ്ങൾക്ക്, [പതിവുചോദ്യങ്ങൾ] പരിശോധിക്കുക "
"(https://www.torproject.org/docs/faq#EntryGuards) and [Support "
"Portal](https://support.torproject.org/tbb/tbb-2/)."
@@ -1082,8 +1083,8 @@ msgid ""
"that require usernames, passwords, or other identifying information."
msgstr ""
"വെബിൽ മൊത്തം ഉപയോക്തൃ അജ്ഞാതത്വം പ്രാപ്തമാക്കുന്നതിനാണ് ടോർ ബ്രൌസർ സർ "
-"രൂപകൽപ്പന ചെയ്തിരിക്കുന്നതെങ്കിലും, ഉപയോക്തൃനാമങ്ങൾ, പാസ്വേഡുകൾ അല്ലെങ്കിൽ "
-"തിരിച്ചറിയുന്ന മറ്റ് വിവരങ്ങൾ ആവശ്യമുള്ള വെബ്സൈറ്റുകൾക്കൊപ്പം ടോർ "
+"രൂപകൽപ്പന ചെയ്തിരിക്കുന്നതെങ്കിലും, ഉപയോക്തൃനാമങ്ങൾ, പാസ്വേഡുകൾ അല്ലെങ്കിൽ "
+"തിരിച്ചറിയുന്ന മറ്റ് വിവരങ്ങൾ ആവശ്യമുള്ള വെബ്സൈറ്റുകൾക്കൊപ്പം ടോർ "
"ഉപയോഗിക്കുന്നതിൽ അർത്ഥമുണ്ടാക്കുന്ന സാഹചര്യങ്ങളുണ്ടാകാം."
#: https//tb-manual.torproject.org/managing-identities/
@@ -1096,14 +1097,14 @@ msgid ""
"you reveal to the websites you browse. Logging in using Tor Browser is also "
"useful if the website you are trying to reach is censored on your network."
msgstr ""
-"ഒരു സാധാരണ ബ്രൌസർ ഉപയോഗിച്ച് നിങ്ങൾ ഒരു വെബ്സൈറ്റിലേക്ക് ലോഗിൻ "
+"ഒരു സാധാരണ ബ്രൌസർ ഉപയോഗിച്ച് നിങ്ങൾ ഒരു വെബ്സൈറ്റിലേക്ക് ലോഗിൻ "
"ചെയ്യുകയാണെങ്കിൽ, നിങ്ങളുടെ ഐപി വിലാസവും പ്രക്രിയയിലെ ഭൂമിശാസ്ത്രപരമായ "
"സ്ഥാനവും നിങ്ങൾ വെളിപ്പെടുത്തും. നിങ്ങൾ ഒരു ഇമെയിൽ അയയ്ക്കുമ്പോൾ പലപ്പോഴും "
-"ഇത് ബാധകമാണ്. ടോർ ബ്രൌസർ ഉപയോഗിച്ച് നിങ്ങളുടെ സോഷ്യൽ നെറ്റ്വർക്കിംഗ് "
+"ഇത് ബാധകമാണ്. ടോർ ബ്രൌസർ ഉപയോഗിച്ച് നിങ്ങളുടെ സോഷ്യൽ നെറ്റ്വർക്കിംഗ് "
"അല്ലെങ്കിൽ ഇമെയിൽ അക്കൗണ്ടുകളിലേക്ക് ലോഗിൻ ചെയ്യുന്നത് നിങ്ങൾ "
-"ബ്രൗസുചെയ്യുന്ന വെബ്സൈറ്റുകളിലേക്ക് ഏത് വിവരങ്ങൾ വെളിപ്പെടുത്തുന്നുവെന്ന് "
+"ബ്രൗസുചെയ്യുന്ന വെബ്സൈറ്റുകളിലേക്ക് ഏത് വിവരങ്ങൾ വെളിപ്പെടുത്തുന്നുവെന്ന് "
"കൃത്യമായി തിരഞ്ഞെടുക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു. നിങ്ങൾ എത്താൻ ശ്രമിക്കുന്ന "
-"വെബ്സൈറ്റ് നിങ്ങളുടെ നെറ്റ്വർക്കിൽ സെൻസർ ചെയ്തിട്ടുണ്ടെങ്കിൽ ടോർ ബ്രൗസർ "
+"വെബ്സൈറ്റ് നിങ്ങളുടെ നെറ്റ്വർക്കിൽ സെൻസർ ചെയ്തിട്ടുണ്ടെങ്കിൽ ടോർ ബ്രൗസർ "
"ഉപയോഗിച്ച് ലോഗിൻ ചെയ്യുന്നതും ഉപയോഗപ്രദമാണ്."
#: https//tb-manual.torproject.org/managing-identities/
@@ -1112,7 +1113,7 @@ msgid ""
"When you log in to a website over Tor, there are several points you should "
"bear in mind:"
msgstr ""
-"ടോറിലൂടെ നിങ്ങൾ ഒരു വെബ്സൈറ്റിലേക്ക് ലോഗിൻ ചെയ്യുമ്പോൾ, നിങ്ങൾ "
+"ടോറിലൂടെ നിങ്ങൾ ഒരു വെബ്സൈറ്റിലേക്ക് ലോഗിൻ ചെയ്യുമ്പോൾ, നിങ്ങൾ "
"ശ്രദ്ധിക്കേണ്ട നിരവധി കാര്യങ്ങളുണ്ട്:"
#: https//tb-manual.torproject.org/managing-identities/
@@ -1137,7 +1138,7 @@ msgid ""
msgstr ""
"* ടോർ ബ്രൌസർ പലപ്പോഴും നിങ്ങളുടെ കണക്ഷൻ ലോകത്തിന്റെ വിവിധ ഭാഗങ്ങളിൽ നിന്ന് "
"വരുന്നതുപോലെ ദൃശ്യമാക്കുന്നു. ബാങ്കുകൾ അല്ലെങ്കിൽ ഇമെയിൽ ദാതാക്കൾ പോലുള്ള "
-"ചില വെബ്സൈറ്റുകൾ ഇത് നിങ്ങളുടെ അക്കൗണ്ട് ഹാക്ക് ചെയ്യപ്പെടുകയോ വിട്ടുവീഴ്ച "
+"ചില വെബ്സൈറ്റുകൾ ഇത് നിങ്ങളുടെ അക്കൗണ്ട് ഹാക്ക് ചെയ്യപ്പെടുകയോ വിട്ടുവീഴ്ച "
"ചെയ്യപ്പെടുകയോ ചെയ്തതിന്റെ അടയാളമായി വ്യാഖ്യാനിക്കുകയും നിങ്ങളെ ലോക്ക് .ട്ട്"
" ചെയ്യുകയും ചെയ്യും. അക്കൗണ്ട് വീണ്ടെടുക്കലിനായി സൈറ്റിന്റെ ശുപാർശിത "
"നടപടിക്രമം പാലിക്കുക, അല്ലെങ്കിൽ ഓപ്പറേറ്റർമാരുമായി ബന്ധപ്പെടുകയും സാഹചര്യം "
@@ -1177,9 +1178,9 @@ msgid ""
msgstr ""
"നിങ്ങളുടെ തുടർന്നുള്ള ബ്രൌസർ പ്രവർത്തനം നിങ്ങൾ മുമ്പ് ചെയ്ത കാര്യങ്ങളുമായി "
"ബന്ധിപ്പിക്കുന്നതിൽ നിന്ന് തടയണമെങ്കിൽ ഈ ഓപ്ഷൻ ഉപയോഗപ്രദമാണ്. ഇത് "
-"തിരഞ്ഞെടുക്കുന്നത് നിങ്ങളുടെ എല്ലാ ഓപ്പൺ ടാബുകളും വിൻഡോകളും അടയ്ക്കും, "
+"തിരഞ്ഞെടുക്കുന്നത് നിങ്ങളുടെ എല്ലാ ഓപ്പൺ ടാബുകളും വിൻഡോകളും അടയ്ക്കും, "
"കുക്കികളും ബ്രൗസിംഗ് ചരിത്രവും പോലുള്ള എല്ലാ സ്വകാര്യ വിവരങ്ങളും "
-"മായ്ക്കുകയും എല്ലാ കണക്ഷനുകൾക്കും പുതിയ ടോർ സർക്യൂട്ടുകൾ ഉപയോഗിക്കുകയും "
+"മായ്ക്കുകയും എല്ലാ കണക്ഷനുകൾക്കും പുതിയ ടോർ സർക്യൂട്ടുകൾ ഉപയോഗിക്കുകയും "
"ചെയ്യും. എല്ലാ പ്രവർത്തനങ്ങളും ഡൗൺലോഡുകളും നിർത്തുമെന്ന് ടോർ ബ്രൌസർ "
"നിങ്ങൾക്ക് മുന്നറിയിപ്പ് നൽകും, അതിനാൽ “പുതിയ ഐഡന്റിറ്റി” "
"ക്ലിക്കുചെയ്യുന്നതിന് മുമ്പ് ഇത് കണക്കിലെടുക്കുക."
@@ -1208,14 +1209,14 @@ msgid ""
" affect your current connections to other websites."
msgstr ""
"നിങ്ങൾ ഉപയോഗിക്കുന്ന [എക്സിറ്റ് റിലേ] (/ about / # how-tor-works) നിങ്ങൾക്ക്"
-" ആവശ്യമുള്ള വെബ്സൈറ്റിലേക്ക് കണക്റ്റുചെയ്യാൻ കഴിയുന്നില്ലെങ്കിലോ ശരിയായി "
+" ആവശ്യമുള്ള വെബ്സൈറ്റിലേക്ക് കണക്റ്റുചെയ്യാൻ കഴിയുന്നില്ലെങ്കിലോ ശരിയായി "
"ലോഡുചെയ്യുന്നില്ലെങ്കിലോ ഈ ഓപ്ഷൻ ഉപയോഗപ്രദമാണ്. ഇത് തിരഞ്ഞെടുക്കുന്നത് "
"നിലവിൽ സജീവമായ ടാബ് അല്ലെങ്കിൽ വിൻഡോ പുതിയ ടോർ സർക്യൂട്ടിൽ വീണ്ടും "
-"ലോഡുചെയ്യുന്നതിന് കാരണമാകും. ഒരേ വെബ്സൈറ്റിൽ നിന്നുള്ള മറ്റ് ഓപ്പൺ ടാബുകളും"
-" വിൻഡോകളും വീണ്ടും ലോഡുചെയ്തുകഴിഞ്ഞാൽ പുതിയ സർക്യൂട്ട് ഉപയോഗിക്കും. ഈ "
-"ഓപ്ഷൻ ഒരു സ്വകാര്യ വിവരവും മായ്ക്കുകയോ നിങ്ങളുടെ പ്രവർത്തനം അൺലിങ്ക് "
-"ചെയ്യുകയോ ചെയ്യുന്നില്ല, മറ്റ് വെബ്സൈറ്റുകളിലേക്കുള്ള നിങ്ങളുടെ നിലവിലെ "
-"കണക്ഷനുകളെ ഇത് ബാധിക്കുന്നില്ല."
+"ലോഡുചെയ്യുന്നതിന് കാരണമാകും. ഒരേ വെബ്സൈറ്റിൽ നിന്നുള്ള മറ്റ് ഓപ്പൺ ടാബുകളും "
+"വിൻഡോകളും വീണ്ടും ലോഡുചെയ്തുകഴിഞ്ഞാൽ പുതിയ സർക്യൂട്ട് ഉപയോഗിക്കും. ഈ ഓപ്ഷൻ "
+"ഒരു സ്വകാര്യ വിവരവും മായ്ക്കുകയോ നിങ്ങളുടെ പ്രവർത്തനം അൺലിങ്ക് ചെയ്യുകയോ "
+"ചെയ്യുന്നില്ല, മറ്റ് വെബ്സൈറ്റുകളിലേക്കുള്ള നിങ്ങളുടെ നിലവിലെ കണക്ഷനുകളെ ഇത്"
+" ബാധിക്കുന്നില്ല."
#: https//tb-manual.torproject.org/managing-identities/
#: (content/managing-identities/contents+en.lrtopic.body)
@@ -1234,7 +1235,7 @@ msgstr "ഒണിയൻ സേവനങ്ങൾ"
#: https//tb-manual.torproject.org/onion-services/
#: (content/onion-services/contents+en.lrtopic.description)
msgid "Services that are only accessible using Tor"
-msgstr "ടോർ ഉപയോഗിച്ച് മാത്രം ആക്സസ്സുചെയ്യാനാകുന്ന സേവനങ്ങൾ"
+msgstr "ടോർ ഉപയോഗിച്ച് മാത്രം ആക്സസ്സുചെയ്യാനാകുന്ന സേവനങ്ങൾ"
#: https//tb-manual.torproject.org/onion-services/
#: (content/onion-services/contents+en.lrtopic.body)
@@ -1242,8 +1243,8 @@ msgid ""
"Onion services (formerly known as “hidden services”) are services (like "
"websites) that are only accessible through the Tor network."
msgstr ""
-"ടോർ നെറ്റ്വർക്കിലൂടെ മാത്രം ആക്സസ്സുചെയ്യാനാകുന്ന സേവനങ്ങളാണ് "
-"(വെബ്സൈറ്റുകൾ പോലുള്ളവ) ഒണിയൻ സേവനങ്ങൾ (മുമ്പ് “മറഞ്ഞിരിക്കുന്ന സേവനങ്ങൾ” "
+"ടോർ നെറ്റ്വർക്കിലൂടെ മാത്രം ആക്സസ്സുചെയ്യാനാകുന്ന സേവനങ്ങളാണ് (വെബ്സൈറ്റുകൾ "
+"പോലുള്ളവ) ഒണിയൻ സേവനങ്ങൾ (മുമ്പ് “മറഞ്ഞിരിക്കുന്ന സേവനങ്ങൾ” "
"എന്നറിയപ്പെട്ടിരുന്നത്)."
#: https//tb-manual.torproject.org/onion-services/
@@ -1273,7 +1274,7 @@ msgid ""
"connections)."
msgstr ""
"* ടോർ ഉപയോക്താക്കളും ഒണിയൻ സേവനങ്ങളും തമ്മിലുള്ള എല്ലാ ട്രാഫിക്കും "
-"എൻഡ്-ടു-എൻഡ് എൻക്രിപ്റ്റ് ചെയ്തിട്ടുള്ളതാണ്, അതിനാൽ [HTTPS വഴി "
+"എൻഡ്-ടു-എൻഡ് എൻക്രിപ്റ്റ് ചെയ്തിട്ടുള്ളതാണ്, അതിനാൽ [HTTPS വഴി "
"ബന്ധിപ്പിക്കുന്നതിനെ] (/ സുരക്ഷിത-കണക്ഷനുകളെ) കുറിച്ച് നിങ്ങൾ "
"വിഷമിക്കേണ്ടതില്ല."
@@ -1302,7 +1303,7 @@ msgid ""
"service in order to connect to it. An onion address is a string of 16 (and "
"in V3 format, 56) mostly random letters and numbers, followed by “.onion”."
msgstr ""
-"മറ്റേതൊരു വെബ്സൈറ്റിനെയും പോലെ, ഒരു ഒണിയൻ സേവനത്തിലേക്ക് "
+"മറ്റേതൊരു വെബ്സൈറ്റിനെയും പോലെ, ഒരു ഒണിയൻ സേവനത്തിലേക്ക് "
"കണക്റ്റുചെയ്യുന്നതിന് നിങ്ങൾ അതിന്റെ വിലാസം അറിയേണ്ടതുണ്ട്. ഒരു ഒണിയൻ വിലാസം"
" 16 (വി 3 ഫോർമാറ്റിൽ, 56) കൂടുതലും ക്രമരഹിതമായ അക്ഷരങ്ങളും അക്കങ്ങളുമാണ്, "
"അതിനുശേഷം “.onion”."
@@ -1316,11 +1317,11 @@ msgid ""
"website with https and onion service, it will show an icon of a green onion "
"and a padlock."
msgstr ""
-"ഒരു ഒണിയൻ സേവനം ഉപയോഗിക്കുന്ന ഒരു വെബ്സൈറ്റ് ആക്സസ്സുചെയ്യുമ്പോൾ, ടോർ "
-"ബ്രൗസർ നിങ്ങളുടെ കണക്ഷന്റെ അവസ്ഥ പ്രദർശിപ്പിക്കുന്ന പച്ച പച്ച ഉള്ളിയുടെ ഒരു "
-"ഐക്കൺ URL ബാറിൽ കാണിക്കും: സുരക്ഷിതവും ഒണിയൻ സേവനം ഉപയോഗിക്കുന്നതും. നിങ്ങൾ "
-"https, ഒണിയൻ സേവനം എന്നിവ ഉപയോഗിച്ച് ഒരു വെബ്സൈറ്റ് ആക്സസ് "
-"ചെയ്യുകയാണെങ്കിൽ, അത് പച്ച ഉള്ളിയുടെയും പാഡ്ലോക്കിന്റെയും ഐക്കൺ കാണിക്കും."
+"ഒരു ഒണിയൻ സേവനം ഉപയോഗിക്കുന്ന ഒരു വെബ്സൈറ്റ് ആക്സസ്സുചെയ്യുമ്പോൾ, ടോർ ബ്രൗസർ"
+" നിങ്ങളുടെ കണക്ഷന്റെ അവസ്ഥ പ്രദർശിപ്പിക്കുന്ന പച്ച പച്ച ഉള്ളിയുടെ ഒരു ഐക്കൺ "
+"URL ബാറിൽ കാണിക്കും: സുരക്ഷിതവും ഒണിയൻ സേവനം ഉപയോഗിക്കുന്നതും. നിങ്ങൾ https,"
+" ഒണിയൻ സേവനം എന്നിവ ഉപയോഗിച്ച് ഒരു വെബ്സൈറ്റ് ആക്സസ് ചെയ്യുകയാണെങ്കിൽ, അത് "
+"പച്ച ഉള്ളിയുടെയും പാഡ്ലോക്കിന്റെയും ഐക്കൺ കാണിക്കും."
#: https//tb-manual.torproject.org/onion-services/
#: (content/onion-services/contents+en.lrtopic.body)
@@ -1346,8 +1347,8 @@ msgid ""
"have allowed it to go offline without warning."
msgstr ""
"നിങ്ങൾക്ക് ഇപ്പോഴും ഒണിയൻ സേവനത്തിലേക്ക് കണക്റ്റുചെയ്യാൻ കഴിയുന്നില്ലെങ്കിൽ,"
-" പിന്നീട് വീണ്ടും ശ്രമിക്കുക. ഒരു താൽക്കാലിക കണക്ഷൻ പ്രശ്നമുണ്ടാകാം, "
-"അല്ലെങ്കിൽ മുന്നറിയിപ്പില്ലാതെ സൈറ്റ് ഓപ്പറേറ്റർമാർ ഇത് ഓഫ്ലൈനിൽ പോകാൻ "
+" പിന്നീട് വീണ്ടും ശ്രമിക്കുക. ഒരു താൽക്കാലിക കണക്ഷൻ പ്രശ്നമുണ്ടാകാം, "
+"അല്ലെങ്കിൽ മുന്നറിയിപ്പില്ലാതെ സൈറ്റ് ഓപ്പറേറ്റർമാർ ഇത് ഓഫ്ലൈനിൽ പോകാൻ "
"അനുവദിച്ചിരിക്കാം."
#: https//tb-manual.torproject.org/onion-services/
@@ -1379,14 +1380,14 @@ msgid ""
" verify this in the URL bar: if your connection is encrypted, the address "
"will begin with “https://”, rather than “http://”."
msgstr ""
-"ഒരു ലോഗിൻ പാസ്വേഡ് പോലുള്ള വ്യക്തിഗത വിവരങ്ങൾ ഇൻറർനെറ്റിലൂടെ എൻക്രിപ്റ്റ് "
+"ഒരു ലോഗിൻ പാസ്വേഡ് പോലുള്ള വ്യക്തിഗത വിവരങ്ങൾ ഇൻറർനെറ്റിലൂടെ എൻക്രിപ്റ്റ് "
"ചെയ്യാതെ സഞ്ചരിക്കുകയാണെങ്കിൽ, അത് ഒരു ചെവികൊടുക്കുന്നയാൾക്ക് വളരെ "
-"എളുപ്പത്തിൽ തടയാൻ കഴിയും. നിങ്ങൾ ഏതെങ്കിലും വെബ്സൈറ്റിലേക്ക് ലോഗിൻ "
+"എളുപ്പത്തിൽ തടയാൻ കഴിയും. നിങ്ങൾ ഏതെങ്കിലും വെബ്സൈറ്റിലേക്ക് ലോഗിൻ "
"ചെയ്യുകയാണെങ്കിൽ, സൈറ്റ് എച്ച്ടിടിപിഎസ് എൻക്രിപ്ഷൻ വാഗ്ദാനം ചെയ്യുന്നുവെന്ന്"
" ഉറപ്പാക്കണം, ഇത് ഇത്തരത്തിലുള്ള ഒളിഞ്ഞുനോട്ടത്തിൽ നിന്ന് പരിരക്ഷിക്കുന്നു. "
"നിങ്ങൾക്ക് ഇത് URL ബാറിൽ സ്ഥിരീകരിക്കാൻ കഴിയും: നിങ്ങളുടെ കണക്ഷൻ "
-"എൻക്രിപ്റ്റ് ചെയ്തിട്ടുണ്ടെങ്കിൽ, വിലാസം “http: //” എന്നതിനുപകരം “https: "
-"//” ൽ ആരംഭിക്കും."
+"എൻക്രിപ്റ്റ് ചെയ്തിട്ടുണ്ടെങ്കിൽ, വിലാസം “http: //” എന്നതിനുപകരം “https: //”"
+" ൽ ആരംഭിക്കും."
#: https//tb-manual.torproject.org/security-settings/
#: (content/security-settings/contents+en.lrtopic.title)
@@ -1404,8 +1405,8 @@ msgid ""
"By default, Tor Browser protects your security by encrypting your browsing "
"data."
msgstr ""
-"സ്ഥിരസ്ഥിതിയായി, നിങ്ങളുടെ ബ്രൗസിംഗ് ഡാറ്റ എൻക്രിപ്റ്റ് ചെയ്യുന്നതിലൂടെ ടോർ"
-" ബ്രൗസർ നിങ്ങളുടെ സുരക്ഷ പരിരക്ഷിക്കുന്നു."
+"സ്ഥിരസ്ഥിതിയായി, നിങ്ങളുടെ ബ്രൗസിംഗ് ഡാറ്റ എൻക്രിപ്റ്റ് ചെയ്യുന്നതിലൂടെ ടോർ "
+"ബ്രൗസർ നിങ്ങളുടെ സുരക്ഷ പരിരക്ഷിക്കുന്നു."
#: https//tb-manual.torproject.org/security-settings/
#: (content/security-settings/contents+en.lrtopic.body)
@@ -1512,7 +1513,7 @@ msgstr "###### സ്റ്റാൻഡേർഡ്"
#: (content/security-settings/contents+en.lrtopic.body)
msgid "* At this level, all Tor Browser and website features are enabled."
msgstr ""
-"* ഈ നിലയിൽ, എല്ലാ ടോർ ബ്രൗസറും വെബ്സൈറ്റ് സവിശേഷതകളും പ്രവർത്തനക്ഷമമാക്കി."
+"* ഈ നിലയിൽ, എല്ലാ ടോർ ബ്രൗസറും വെബ്സൈറ്റ് സവിശേഷതകളും പ്രവർത്തനക്ഷമമാക്കി."
#: https//tb-manual.torproject.org/security-settings/
#: (content/security-settings/contents+en.lrtopic.body)
@@ -1525,8 +1526,8 @@ msgid ""
"* This level disables website features that are often dangerous. This may "
"cause some sites to lose functionality."
msgstr ""
-"* പലപ്പോഴും അപകടകരമായ വെബ്സൈറ്റ് സവിശേഷതകൾ ഈ ലെവൽ അപ്രാപ്തമാക്കുന്നു. ഇത് "
-"ചില സൈറ്റുകളുടെ പ്രവർത്തനം നഷ്ടപ്പെടാൻ കാരണമായേക്കാം."
+"* പലപ്പോഴും അപകടകരമായ വെബ്സൈറ്റ് സവിശേഷതകൾ ഈ ലെവൽ അപ്രാപ്തമാക്കുന്നു. ഇത് "
+"ചില സൈറ്റുകളുടെ പ്രവർത്തനം നഷ്ടപ്പെടാൻ കാരണമായേക്കാം."
#: https//tb-manual.torproject.org/security-settings/
#: (content/security-settings/contents+en.lrtopic.body)
@@ -1550,7 +1551,7 @@ msgid ""
"* This level only allows website features required for static sites and "
"basic services."
msgstr ""
-"* സ്റ്റാറ്റിക് സൈറ്റുകൾക്കും അടിസ്ഥാന സേവനങ്ങൾക്കും ആവശ്യമായ വെബ്സൈറ്റ് "
+"* സ്റ്റാറ്റിക് സൈറ്റുകൾക്കും അടിസ്ഥാന സേവനങ്ങൾക്കും ആവശ്യമായ വെബ്സൈറ്റ് "
"സവിശേഷതകളെ മാത്രമേ ഈ ലെവൽ അനുവദിക്കൂ."
#: https//tb-manual.torproject.org/security-settings/
@@ -1566,18 +1567,18 @@ msgid ""
"to-play."
msgstr ""
"* എല്ലാ സൈറ്റുകളിലും ജാവാസ്ക്രിപ്റ്റ് സ്ഥിരസ്ഥിതിയായി അപ്രാപ്തമാക്കി; ചില "
-"ഫോണ്ടുകൾ, ഐക്കണുകൾ, ഗണിത ചിഹ്നങ്ങൾ, ഇമേജുകൾ എന്നിവ അപ്രാപ്തമാക്കി; "
-"ഓഡിയോ, വീഡിയോ (HTML5 മീഡിയ) ക്ലിക്ക്-ടു-പ്ലേ ആണ്."
+"ഫോണ്ടുകൾ, ഐക്കണുകൾ, ഗണിത ചിഹ്നങ്ങൾ, ഇമേജുകൾ എന്നിവ അപ്രാപ്തമാക്കി; ഓഡിയോ, "
+"വീഡിയോ (HTML5 മീഡിയ) ക്ലിക്ക്-ടു-പ്ലേ ആണ്."
#: https//tb-manual.torproject.org/updating/
#: (content/updating/contents+en.lrtopic.title)
msgid "UPDATING"
-msgstr "അപ്ഡേറ്റുചെയ്യുന്നു"
+msgstr "അപ്ഡേറ്റുചെയ്യുന്നു"
#: https//tb-manual.torproject.org/updating/
#: (content/updating/contents+en.lrtopic.description)
msgid "How to update Tor Browser"
-msgstr "ടോർ ബ്രൗസർ എങ്ങനെ അപ്ഡേറ്റുചെയ്യാം"
+msgstr "ടോർ ബ്രൗസർ എങ്ങനെ അപ്ഡേറ്റുചെയ്യാം"
#: https//tb-manual.torproject.org/updating/
#: (content/updating/contents+en.lrtopic.body)
@@ -1586,7 +1587,7 @@ msgid ""
"outdated version of the software, you may be vulnerable to serious security "
"flaws that compromise your privacy and anonymity."
msgstr ""
-"ടോർ ബ്രൗസർ എല്ലായ്പ്പോഴും അപ്ഡേറ്റ് ചെയ്തിരിക്കണം. സോഫ്റ്റ്വെയറിന്റെ "
+"ടോർ ബ്രൗസർ എല്ലായ്പ്പോഴും അപ്ഡേറ്റ് ചെയ്തിരിക്കണം. സോഫ്റ്റ്വെയറിന്റെ "
"കാലഹരണപ്പെട്ട പതിപ്പ് നിങ്ങൾ ഉപയോഗിക്കുന്നത് തുടരുകയാണെങ്കിൽ, നിങ്ങളുടെ "
"സ്വകാര്യതയെയും അജ്ഞാതതയെയും വിട്ടുവീഴ്ച ചെയ്യുന്ന ഗുരുതരമായ സുരക്ഷാ "
"കുറവുകൾക്ക് നിങ്ങൾ ഇരയാകാം."
@@ -1601,8 +1602,8 @@ msgid ""
msgstr ""
"ഒരു പുതിയ പതിപ്പ് പുറത്തിറങ്ങിയാൽ സോഫ്റ്റ്വെയർ അപ്ഡേറ്റ് ചെയ്യാൻ ടോർ ബ്രൗസർ "
"നിങ്ങളോട് ആവശ്യപ്പെടും: ടോർബട്ടൺ ഐക്കൺ ഒരു മഞ്ഞ ത്രികോണം പ്രദർശിപ്പിക്കും, "
-"ടോർ ബ്രൗസർ തുറക്കുമ്പോൾ ഒരു രേഖാമൂലമുള്ള അപ്ഡേറ്റ് സൂചകം നിങ്ങൾ കണ്ടേക്കാം."
-" നിങ്ങൾക്ക് സ്വയമേവ അല്ലെങ്കിൽ സ്വമേധയാ അപ്ഡേറ്റ് ചെയ്യാൻ കഴിയും."
+"ടോർ ബ്രൗസർ തുറക്കുമ്പോൾ ഒരു രേഖാമൂലമുള്ള അപ്ഡേറ്റ് സൂചകം നിങ്ങൾ കണ്ടേക്കാം. "
+"നിങ്ങൾക്ക് സ്വയമേവ അല്ലെങ്കിൽ സ്വമേധയാ അപ്ഡേറ്റ് ചെയ്യാൻ കഴിയും."
#: https//tb-manual.torproject.org/updating/
#: (content/updating/contents+en.lrtopic.body)
@@ -1644,8 +1645,8 @@ msgid ""
"When you are prompted to update Tor Browser, finish the browsing session and"
" close the program."
msgstr ""
-"ടോർ ബ്രൗസർ അപ്ഡേറ്റ് ചെയ്യാൻ നിങ്ങളോട് ആവശ്യപ്പെടുമ്പോൾ, ബ്രൗസിംഗ് സെഷൻ "
-"പൂർത്തിയാക്കി പ്രോഗ്രാം അടയ്ക്കുക."
+"ടോർ ബ്രൗസർ അപ്ഡേറ്റ് ചെയ്യാൻ നിങ്ങളോട് ആവശ്യപ്പെടുമ്പോൾ, ബ്രൗസിംഗ് സെഷൻ "
+"പൂർത്തിയാക്കി പ്രോഗ്രാം അടയ്ക്കുക."
#: https//tb-manual.torproject.org/updating/
#: (content/updating/contents+en.lrtopic.body)
@@ -1745,7 +1746,7 @@ msgid ""
"overwrite your previous Tor Browser files; ensure they are fully deleted "
"beforehand."
msgstr ""
-"* ടോർ ബ്രൌസർഇല്ലാതാക്കി വീണ്ടും ഇൻസ്റ്റാൾ ചെയ്യുക. അപ്ഡേറ്റ് "
+"* ടോർ ബ്രൌസർഇല്ലാതാക്കി വീണ്ടും ഇൻസ്റ്റാൾ ചെയ്യുക. അപ്ഡേറ്റ് "
"ചെയ്യുകയാണെങ്കിൽ, നിങ്ങളുടെ മുമ്പത്തെ ടോർ ബ്രൌസർ ഫയലുകൾ പുനരാലേഖനം "
"ചെയ്യരുത്; അവ പൂർണമായും ഇല്ലാതാക്കിയിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക."
@@ -1762,7 +1763,7 @@ msgid ""
"[Circumvention](/circumvention) section for possible solutions."
msgstr ""
"നിങ്ങൾക്ക് ഇപ്പോഴും കണക്റ്റുചെയ്യാൻ കഴിയുന്നില്ലെങ്കിൽ, നിങ്ങളുടെ "
-"ഇന്റർനെറ്റ് സേവന ദാതാവ് ടോർ നെറ്റ്വർക്കിലേക്കുള്ള കണക്ഷനുകൾ സെൻസർ "
+"ഇന്റർനെറ്റ് സേവന ദാതാവ് ടോർ നെറ്റ്വർക്കിലേക്കുള്ള കണക്ഷനുകൾ സെൻസർ "
"ചെയ്യുന്നുണ്ടാകാം. സാധ്യമായ പരിഹാരങ്ങൾക്കായി [ചുറ്റളവ്] (/ ചുറ്റളവ്) വിഭാഗം "
"വായിക്കുക."
@@ -1810,11 +1811,11 @@ msgid ""
"operators, or to an outside observer. For this reason, Flash is disabled by "
"default in Tor Browser, and enabling it is not recommended."
msgstr ""
-"വീഡിയോ ഉള്ളടക്കം പ്രദർശിപ്പിക്കുന്നതിന് Vimeo പോലുള്ള വീഡിയോ വെബ്സൈറ്റുകൾ "
+"വീഡിയോ ഉള്ളടക്കം പ്രദർശിപ്പിക്കുന്നതിന് Vimeo പോലുള്ള വീഡിയോ വെബ്സൈറ്റുകൾ "
"ഫ്ലാഷ് പ്ലേയർ പ്ലഗിൻ ഉപയോഗിക്കുന്നു. നിർഭാഗ്യവശാൽ, ഈ സോഫ്റ്റ്വെയർ ടോർ "
"ബ്രൗസറിൽ നിന്ന് സ്വതന്ത്രമായി പ്രവർത്തിക്കുന്നു, മാത്രമല്ല ടോർ ബ്രൗസറിന്റെ "
"പ്രോക്സി ക്രമീകരണങ്ങൾ അനുസരിക്കാൻ ഇത് എളുപ്പത്തിൽ കഴിയില്ല. അതിനാൽ നിങ്ങളുടെ"
-" യഥാർത്ഥ സ്ഥാനവും ഐപി വിലാസവും വെബ്സൈറ്റ് ഓപ്പറേറ്റർമാർക്കോ അല്ലെങ്കിൽ ഒരു "
+" യഥാർത്ഥ സ്ഥാനവും ഐപി വിലാസവും വെബ്സൈറ്റ് ഓപ്പറേറ്റർമാർക്കോ അല്ലെങ്കിൽ ഒരു "
"ബാഹ്യ നിരീക്ഷകനോ വെളിപ്പെടുത്താൻ ഇതിന് കഴിയും. ഇക്കാരണത്താൽ, ടോർ ബ്രൗസറിൽ "
"ഫ്ലാഷ് സ്ഥിരസ്ഥിതിയായി അപ്രാപ്തമാക്കി, ഇത് പ്രവർത്തനക്ഷമമാക്കുന്നത് ശുപാർശ "
"ചെയ്യുന്നില്ല."
@@ -1826,7 +1827,7 @@ msgid ""
"methods that do not use Flash. These methods may be compatible with Tor "
"Browser."
msgstr ""
-"ചില വീഡിയോ വെബ്സൈറ്റുകൾ (YouTube പോലുള്ളവ) ഫ്ലാഷ് ഉപയോഗിക്കാത്ത ഇതര വീഡിയോ "
+"ചില വീഡിയോ വെബ്സൈറ്റുകൾ (YouTube പോലുള്ളവ) ഫ്ലാഷ് ഉപയോഗിക്കാത്ത ഇതര വീഡിയോ "
"ഡെലിവറി രീതികൾ വാഗ്ദാനം ചെയ്യുന്നു. ഈ രീതികൾ ടോർ ബ്രൗസറുമായി പൊരുത്തപ്പെടാം."
#: https//tb-manual.torproject.org/plugins/
@@ -1843,9 +1844,9 @@ msgid ""
"browser, which might lead to deanonymization."
msgstr ""
"വീഡിയോ, ആനിമേഷൻ, ഓഡിയോ, സ്റ്റാറ്റസ് ടൈംലൈനുകൾ പോലുള്ള സംവേദനാത്മക ഘടകങ്ങൾ "
-"വാഗ്ദാനം ചെയ്യാൻ വെബ്സൈറ്റുകൾ ഉപയോഗിക്കുന്ന ഒരു പ്രോഗ്രാമിംഗ് ഭാഷയാണ് "
+"വാഗ്ദാനം ചെയ്യാൻ വെബ്സൈറ്റുകൾ ഉപയോഗിക്കുന്ന ഒരു പ്രോഗ്രാമിംഗ് ഭാഷയാണ് "
"ജാവാസ്ക്രിപ്റ്റ്. നിർഭാഗ്യവശാൽ, ജാവാസ്ക്രിപ്റ്റിന് ബ്രൗസറിന്റെ "
-"സുരക്ഷയ്ക്കെതിരായ ആക്രമണങ്ങൾ പ്രവർത്തനക്ഷമമാക്കാനും കഴിയും, ഇത് "
+"സുരക്ഷയ്ക്കെതിരായ ആക്രമണങ്ങൾ പ്രവർത്തനക്ഷമമാക്കാനും കഴിയും, ഇത് "
"ഡീനോണിമൈസേഷനിലേക്ക് നയിച്ചേക്കാം."
#: https//tb-manual.torproject.org/plugins/
@@ -1870,11 +1871,11 @@ msgid ""
msgstr ""
"വെബ് ബ്രൗസിംഗിൽ ഉയർന്ന സുരക്ഷ ആവശ്യമുള്ള ഉപയോക്താക്കൾ ടോർ ബ്രൗസറിന്റെ "
"[സെക്യൂരിറ്റി സ്ലൈഡർ] (/ സെക്യൂരിറ്റി-സ്ലൈഡർ) “സുരക്ഷിതം” (എച്ച്ടിടിപിഎസ് "
-"ഇതര വെബ്സൈറ്റുകൾക്ക് ജാവാസ്ക്രിപ്റ്റ് അപ്രാപ്തമാക്കുന്നു) അല്ലെങ്കിൽ "
-"“സുരക്ഷിതം” (എല്ലാവർക്കും അങ്ങനെ ചെയ്യും വെബ്സൈറ്റുകൾ). എന്നിരുന്നാലും, "
-"ജാവാസ്ക്രിപ്റ്റ് അപ്രാപ്തമാക്കുന്നത് പല വെബ്സൈറ്റുകളും ശരിയായി "
+"ഇതര വെബ്സൈറ്റുകൾക്ക് ജാവാസ്ക്രിപ്റ്റ് അപ്രാപ്തമാക്കുന്നു) അല്ലെങ്കിൽ "
+"“സുരക്ഷിതം” (എല്ലാവർക്കും അങ്ങനെ ചെയ്യും വെബ്സൈറ്റുകൾ). എന്നിരുന്നാലും, "
+"ജാവാസ്ക്രിപ്റ്റ് അപ്രാപ്തമാക്കുന്നത് പല വെബ്സൈറ്റുകളും ശരിയായി "
"പ്രദർശിപ്പിക്കുന്നതിൽ നിന്ന് തടയും, അതിനാൽ ടോർ ബ്രൗസറിന്റെ സ്ഥിരസ്ഥിതി "
-"ക്രമീകരണം എല്ലാ വെബ്സൈറ്റുകളും \"സ്റ്റാൻഡേർഡ്\" മോഡിൽ സ്ക്രിപ്റ്റുകൾ "
+"ക്രമീകരണം എല്ലാ വെബ്സൈറ്റുകളും \"സ്റ്റാൻഡേർഡ്\" മോഡിൽ സ്ക്രിപ്റ്റുകൾ "
"പ്രവർത്തിപ്പിക്കാൻ അനുവദിക്കുക എന്നതാണ്."
#: https//tb-manual.torproject.org/plugins/
@@ -1912,7 +1913,7 @@ msgstr ""
#: https//tb-manual.torproject.org/uninstalling/
#: (content/uninstalling/contents+en.lrtopic.title)
msgid "UNINSTALLING"
-msgstr "അൺഇൻസ്റ്റാൾ ചെയ്യുന്നു"
+msgstr "അൺഇൻസ്റ്റാൾ ചെയ്യുന്നു"
#: https//tb-manual.torproject.org/uninstalling/
#: (content/uninstalling/contents+en.lrtopic.description)
@@ -2053,7 +2054,7 @@ msgid ""
"Note that your operating system’s standard \"Uninstall\" utility is not "
"used."
msgstr ""
-"നിങ്ങളുടെ ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിന്റെ സ്റ്റാൻഡേർഡ് \"അൺഇൻസ്റ്റാൾ\" "
+"നിങ്ങളുടെ ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിന്റെ സ്റ്റാൻഡേർഡ് \"അൺഇൻസ്റ്റാൾ\" "
"യൂട്ടിലിറ്റി ഉപയോഗിക്കുന്നില്ലെന്നത് ശ്രദ്ധിക്കുക."
#: https//tb-manual.torproject.org/known-issues/
@@ -2081,12 +2082,12 @@ msgstr ""
#: https//tb-manual.torproject.org/known-issues/
#: (content/known-issues/contents+en.lrtopic.body)
msgid "* Webroot SecureAnywhere"
-msgstr "* വെബ്റൂട്ട് സുരക്ഷിതം എവിടെയും"
+msgstr "* വെബ്റൂട്ട് സുരക്ഷിതം എവിടെയും"
#: https//tb-manual.torproject.org/known-issues/
#: (content/known-issues/contents+en.lrtopic.body)
msgid "* Kaspersky Internet Security 2012"
-msgstr "* കാസ്പെർസ്കി ഇന്റർനെറ്റ് സുരക്ഷ 2012"
+msgstr "* കാസ്പെർസ്കി ഇന്റർനെറ്റ് സുരക്ഷ 2012"
#: https//tb-manual.torproject.org/known-issues/
#: (content/known-issues/contents+en.lrtopic.body)
@@ -2105,7 +2106,7 @@ msgid ""
"security reasons."
msgstr ""
"* അഡോബ് ഫ്ലാഷ് ആവശ്യമായ വീഡിയോകൾ ലഭ്യമല്ല. സുരക്ഷാ കാരണങ്ങളാൽ ഫ്ലാഷ് "
-"അപ്രാപ്തമാക്കി."
+"അപ്രാപ്തമാക്കി."
#: https//tb-manual.torproject.org/known-issues/
#: (content/known-issues/contents+en.lrtopic.body)
@@ -2132,7 +2133,7 @@ msgid ""
msgstr ""
"* ഉബുണ്ടുവിൽ ടോർ ബ്രൌസർ പ്രവർത്തിപ്പിക്കുന്നതിന്, ഉപയോക്താക്കൾ ഒരു ഷെൽ "
"സ്ക്രിപ്റ്റ് എക്സിക്യൂട്ട് ചെയ്യേണ്ടതുണ്ട്. \"ഫയലുകൾ\" (യൂണിറ്റിയുടെ "
-"എക്സ്പ്ലോറർ) തുറക്കുക, മുൻഗണനകൾ → ബിഹേവിയർ ടാബ് → സജ്ജമാക്കുക "
+"എക്സ്പ്ലോറർ) തുറക്കുക, മുൻഗണനകൾ → ബിഹേവിയർ ടാബ് → സജ്ജമാക്കുക "
"\"എക്സിക്യൂട്ടബിൾ ടെക്സ്റ്റ് ഫയലുകൾ തുറക്കുമ്പോൾ അവ പ്രവർത്തിപ്പിക്കുക\" "
"\"എല്ലാ സമയത്തും ചോദിക്കുക\" എന്നതിലേക്ക് സജ്ജമാക്കുക, തുടർന്ന് ശരി "
"ക്ലിക്കുചെയ്യുക."
@@ -2265,7 +2266,7 @@ msgstr ""
#: lego/templates/banner.html:10 templates/banner.html:10
msgid "Tracking, surveillance, and censorship are widespread online."
msgstr ""
-"പിന്തുടരൽ , നോട്ടം കൂടാതെ സെന്സര്ഷിപ്പ് എന്നിവ ഇന്റർനെറ്റിൽ "
+"പിന്തുടരൽ , നോട്ടം കൂടാതെ സെന്സര്ഷിപ്പ് എന്നിവ ഇന്റർനെറ്റിൽ "
"പരക്കെയുള്ളതാണ് ."
#: lego/templates/banner.html:14 templates/banner.html:14
@@ -2305,7 +2306,7 @@ msgid ""
"availability and use, and furthering their scientific and popular "
"understanding."
msgstr ""
-"സ്വതന്ത്രവും ഓപ്പൺ സോഴ്സ് അജ്ഞാതതയും സ്വകാര്യതാ സാങ്കേതികവിദ്യകളും "
+"സ്വതന്ത്രവും ഓപ്പൺ സോഴ്സ് അജ്ഞാതതയും സ്വകാര്യതാ സാങ്കേതികവിദ്യകളും "
"സൃഷ്ടിക്കുകയും വിന്യസിക്കുകയും ചെയ്യുന്നതിലൂടെ മനുഷ്യാവകാശങ്ങളും "
"സ്വാതന്ത്ര്യങ്ങളും മുന്നോട്ട് കൊണ്ടുപോകുക, അവയുടെ അനിയന്ത്രിതമായ ലഭ്യതയെയും "
"ഉപയോഗത്തെയും പിന്തുണയ്ക്കുക, അവരുടെ ശാസ്ത്രീയവും ജനകീയവുമായ ധാരണകൾ "
@@ -2323,11 +2324,11 @@ msgstr "ഇപ്പോൾ തന്നെ ധന സഹായം ചെയ്
#: lego/templates/footer.html:54 templates/footer.html:54
msgid "Subscribe to our Newsletter"
-msgstr "ഞങ്ങളുടെ വാർത്താക്കുറിപ്പ് സബ്സ്ക്രൈബുചെയ്യുക"
+msgstr "ഞങ്ങളുടെ വാർത്താക്കുറിപ്പ് സബ്സ്ക്രൈബുചെയ്യുക"
#: lego/templates/footer.html:55 templates/footer.html:55
msgid "Get monthly updates and opportunities from the Tor Project:"
-msgstr "ടോർ പ്രോജക്റ്റിൽ നിന്ന് പ്രതിമാസ അപ്ഡേറ്റുകളും അവസരങ്ങളും നേടുക:"
+msgstr "ടോർ പ്രോജക്റ്റിൽ നിന്ന് പ്രതിമാസ അപ്ഡേറ്റുകളും അവസരങ്ങളും നേടുക:"
#: lego/templates/footer.html:56 templates/footer.html:56
msgid "Sign up"
@@ -2340,7 +2341,7 @@ msgid ""
"found in our %(link_to_faq)s"
msgstr ""
"വ്യാപാരമുദ്ര, പകർപ്പവകാശ അറിയിപ്പുകൾ, മൂന്നാം കക്ഷികൾ ഉപയോഗിക്കുന്നതിനുള്ള "
-"നിയമങ്ങൾ എന്നിവ ഞങ്ങളുടെ% %(link_to_faq)s കളിൽ കാണാം."
+"നിയമങ്ങൾ എന്നിവ ഞങ്ങളുടെ %(link_to_faq)s കളിൽ കാണാം."
#: lego/templates/navbar.html:21 templates/navbar.html:21
msgid "Menu"
@@ -2356,7 +2357,7 @@ msgid ""
"The following visualization shows what information is visible to "
"eavesdroppers with and without Tor Browser and HTTPS encryption:"
msgstr ""
-"ടോർ ബ്രൌസർ, എച്ച്ടിടിപിഎസ് എൻക്രിപ്ഷൻ എന്നിവയ്ക്കൊപ്പവും അല്ലാതെയുമുള്ള "
+"ടോർ ബ്രൌസർ, എച്ച്ടിടിപിഎസ് എൻക്രിപ്ഷൻ എന്നിവയ്ക്കൊപ്പവും അല്ലാതെയുമുള്ള "
"കാവൽക്കാർക്ക് എന്ത് വിവരമാണ് ദൃശ്യമാകുന്നതെന്ന് ഇനിപ്പറയുന്ന വിഷ്വലൈസേഷൻ "
"കാണിക്കുന്നു:"
@@ -2422,12 +2423,12 @@ msgstr "യൂസർ / പി ഡബ്ലിയു "
#: lego/templates/secure-connections.html:47
#: templates/secure-connections.html:47
msgid "Username and password used for authentication."
-msgstr "പ്രാമാണീകരണത്തിനായി ഉപയോഗിക്കുന്ന ഉപയോക്തൃനാമവും പാസ്വേഡും."
+msgstr "പ്രാമാണീകരണത്തിനായി ഉപയോഗിക്കുന്ന ഉപയോക്തൃനാമവും പാസ്വേഡും."
#: lego/templates/secure-connections.html:51
#: templates/secure-connections.html:51
msgid "data"
-msgstr "വിവരം "
+msgstr "വിവരം"
#: lego/templates/secure-connections.html:54
#: templates/secure-connections.html:54
@@ -2437,7 +2438,7 @@ msgstr "ഡാറ്റ കൈമാറുന്നു."
#: lego/templates/secure-connections.html:58
#: templates/secure-connections.html:58
msgid "location"
-msgstr "സ്ഥലവിവരം "
+msgstr "സ്ഥലവിവരം"
#: lego/templates/secure-connections.html:61
#: templates/secure-connections.html:61
@@ -2445,7 +2446,7 @@ msgid ""
"Network location of the computer used to visit the website (the public IP "
"address)."
msgstr ""
-"വെബ്സൈറ്റ് സന്ദർശിക്കാൻ ഉപയോഗിക്കുന്ന കമ്പ്യൂട്ടറിന്റെ നെറ്റ്വർക്ക് സ്ഥാനം "
+"വെബ്സൈറ്റ് സന്ദർശിക്കാൻ ഉപയോഗിക്കുന്ന കമ്പ്യൂട്ടറിന്റെ നെറ്റ്വർക്ക് സ്ഥാനം "
"(പൊതു ഐപി വിലാസം)."
#: lego/templates/secure-connections.html:68
@@ -2476,7 +2477,7 @@ msgstr "ഈ പേജ് എഡിറ്റുചെയ്യുക"
#: templates/macros/topic.html:25
msgid "Suggest Feedback"
-msgstr "ഫീഡ്ബാക്ക് നിർദ്ദേശിക്കുക"
+msgstr "ഫീഡ്ബാക്ക് നിർദ്ദേശിക്കുക"
#: templates/macros/topic.html:26
msgid "Permalink"
1
0