mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-11 18:29:05 +01:00
Update Tor patch to 0.2.9.11.
This commit is contained in:
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/src/or/control.c b/src/or/control.c
|
diff --git a/src/or/control.c b/src/or/control.c
|
||||||
index 220e7e5..a54c8a2 100644
|
index c8c5062..f38ba23 100644
|
||||||
--- a/src/or/control.c
|
--- a/src/or/control.c
|
||||||
+++ b/src/or/control.c
|
+++ b/src/or/control.c
|
||||||
@@ -176,6 +176,8 @@ static int handle_control_hsfetch(control_connection_t *conn, uint32_t len,
|
@@ -196,6 +196,8 @@ static int handle_control_hsfetch(control_connection_t *conn, uint32_t len,
|
||||||
const char *body);
|
const char *body);
|
||||||
static int handle_control_hspost(control_connection_t *conn, uint32_t len,
|
static int handle_control_hspost(control_connection_t *conn, uint32_t len,
|
||||||
const char *body);
|
const char *body);
|
||||||
@@ -11,10 +11,10 @@ index 220e7e5..a54c8a2 100644
|
|||||||
static int handle_control_add_onion(control_connection_t *conn, uint32_t len,
|
static int handle_control_add_onion(control_connection_t *conn, uint32_t len,
|
||||||
const char *body);
|
const char *body);
|
||||||
static int handle_control_del_onion(control_connection_t *conn, uint32_t len,
|
static int handle_control_del_onion(control_connection_t *conn, uint32_t len,
|
||||||
@@ -3725,6 +3727,33 @@ handle_control_hspost(control_connection_t *conn,
|
@@ -4246,6 +4248,33 @@ handle_control_hspost(control_connection_t *conn,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
+/** Called when we get an HSFORGET command: parse the hidden service's onion
|
+/** Called when we get an HSFORGET command: parse the hidden service's onion
|
||||||
+ * address and purge any cached state related to the service. */
|
+ * address and purge any cached state related to the service. */
|
||||||
+static int
|
+static int
|
||||||
@@ -45,7 +45,7 @@ index 220e7e5..a54c8a2 100644
|
|||||||
/** Called when we get a ADD_ONION command; parse the body, and set up
|
/** Called when we get a ADD_ONION command; parse the body, and set up
|
||||||
* the new ephemeral Onion Service. */
|
* the new ephemeral Onion Service. */
|
||||||
static int
|
static int
|
||||||
@@ -4396,6 +4425,9 @@ connection_control_process_inbuf(control_connection_t *conn)
|
@@ -5065,6 +5094,9 @@ connection_control_process_inbuf(control_connection_t *conn)
|
||||||
} else if (!strcasecmp(conn->incoming_cmd, "+HSPOST")) {
|
} else if (!strcasecmp(conn->incoming_cmd, "+HSPOST")) {
|
||||||
if (handle_control_hspost(conn, cmd_data_len, args))
|
if (handle_control_hspost(conn, cmd_data_len, args))
|
||||||
return -1;
|
return -1;
|
||||||
@@ -56,13 +56,13 @@ index 220e7e5..a54c8a2 100644
|
|||||||
int ret = handle_control_add_onion(conn, cmd_data_len, args);
|
int ret = handle_control_add_onion(conn, cmd_data_len, args);
|
||||||
memwipe(args, 0, cmd_data_len); /* Scrub the private key. */
|
memwipe(args, 0, cmd_data_len); /* Scrub the private key. */
|
||||||
diff --git a/src/or/rendcache.c b/src/or/rendcache.c
|
diff --git a/src/or/rendcache.c b/src/or/rendcache.c
|
||||||
index d4bdd68..b9d79b8 100644
|
index aa69d73..473a6a4 100644
|
||||||
--- a/src/or/rendcache.c
|
--- a/src/or/rendcache.c
|
||||||
+++ b/src/or/rendcache.c
|
+++ b/src/or/rendcache.c
|
||||||
@@ -535,6 +535,34 @@ rend_cache_lookup_entry(const char *query, int version, rend_cache_entry_t **e)
|
@@ -587,6 +587,34 @@ rend_cache_lookup_v2_desc_as_service(const char *query, rend_cache_entry_t **e)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
+/** Remove any cached descriptors for <b>service_id</b>. */
|
+/** Remove any cached descriptors for <b>service_id</b>. */
|
||||||
+void
|
+void
|
||||||
+rend_cache_remove_entry(const char *service_id)
|
+rend_cache_remove_entry(const char *service_id)
|
||||||
@@ -95,25 +95,25 @@ index d4bdd68..b9d79b8 100644
|
|||||||
* copy the pointer to it to *<b>desc</b>. Return 1 on success, 0 on
|
* copy the pointer to it to *<b>desc</b>. Return 1 on success, 0 on
|
||||||
* well-formed-but-not-found, and -1 on failure.
|
* well-formed-but-not-found, and -1 on failure.
|
||||||
diff --git a/src/or/rendcache.h b/src/or/rendcache.h
|
diff --git a/src/or/rendcache.h b/src/or/rendcache.h
|
||||||
index 0512058..2c8ebfd 100644
|
index 270b614..69d1b1b 100644
|
||||||
--- a/src/or/rendcache.h
|
--- a/src/or/rendcache.h
|
||||||
+++ b/src/or/rendcache.h
|
+++ b/src/or/rendcache.h
|
||||||
@@ -56,6 +56,7 @@ void rend_cache_purge(void);
|
@@ -61,6 +61,7 @@ void rend_cache_purge(void);
|
||||||
void rend_cache_free_all(void);
|
void rend_cache_free_all(void);
|
||||||
int rend_cache_lookup_entry(const char *query, int version,
|
int rend_cache_lookup_entry(const char *query, int version,
|
||||||
rend_cache_entry_t **entry_out);
|
rend_cache_entry_t **entry_out);
|
||||||
+void rend_cache_remove_entry(const char *service_id);
|
+void rend_cache_remove_entry(const char *service_id);
|
||||||
|
int rend_cache_lookup_v2_desc_as_service(const char *query,
|
||||||
|
rend_cache_entry_t **entry_out);
|
||||||
int rend_cache_lookup_v2_desc_as_dir(const char *query, const char **desc);
|
int rend_cache_lookup_v2_desc_as_dir(const char *query, const char **desc);
|
||||||
/** Return value from rend_cache_store_v2_desc_as_{dir,client}. */
|
|
||||||
typedef enum {
|
|
||||||
diff --git a/src/or/rendclient.c b/src/or/rendclient.c
|
diff --git a/src/or/rendclient.c b/src/or/rendclient.c
|
||||||
index a39e518..909e47f 100644
|
index a93bc94..f311e1f 100644
|
||||||
--- a/src/or/rendclient.c
|
--- a/src/or/rendclient.c
|
||||||
+++ b/src/or/rendclient.c
|
+++ b/src/or/rendclient.c
|
||||||
@@ -32,6 +32,9 @@ static extend_info_t *rend_client_get_random_intro_impl(
|
@@ -32,6 +32,9 @@ static extend_info_t *rend_client_get_random_intro_impl(
|
||||||
const rend_cache_entry_t *rend_query,
|
const rend_cache_entry_t *rend_query,
|
||||||
const int strict, const int warnings);
|
const int strict, const int warnings);
|
||||||
|
|
||||||
+static void purge_hid_serv_from_last_hid_serv_requests(
|
+static void purge_hid_serv_from_last_hid_serv_requests(
|
||||||
+ const char *onion_address);
|
+ const char *onion_address);
|
||||||
+
|
+
|
||||||
@@ -123,7 +123,7 @@ index a39e518..909e47f 100644
|
|||||||
@@ -43,6 +46,15 @@ rend_client_purge_state(void)
|
@@ -43,6 +46,15 @@ rend_client_purge_state(void)
|
||||||
rend_client_purge_last_hid_serv_requests();
|
rend_client_purge_last_hid_serv_requests();
|
||||||
}
|
}
|
||||||
|
|
||||||
+/** Purge all cached state relating to the given hidden service. */
|
+/** Purge all cached state relating to the given hidden service. */
|
||||||
+void
|
+void
|
||||||
+rend_client_purge_hidden_service(const char *onion_address)
|
+rend_client_purge_hidden_service(const char *onion_address)
|
||||||
@@ -137,14 +137,17 @@ index a39e518..909e47f 100644
|
|||||||
* send the introduction request. */
|
* send the introduction request. */
|
||||||
void
|
void
|
||||||
diff --git a/src/or/rendclient.h b/src/or/rendclient.h
|
diff --git a/src/or/rendclient.h b/src/or/rendclient.h
|
||||||
index 124433e..b27d2db 100644
|
index b8f8c2f..b1da48c 100644
|
||||||
--- a/src/or/rendclient.h
|
--- a/src/or/rendclient.h
|
||||||
+++ b/src/or/rendclient.h
|
+++ b/src/or/rendclient.h
|
||||||
@@ -15,6 +15,7 @@
|
@@ -15,6 +15,7 @@
|
||||||
#include "rendcache.h"
|
#include "rendcache.h"
|
||||||
|
|
||||||
void rend_client_purge_state(void);
|
void rend_client_purge_state(void);
|
||||||
+void rend_client_purge_hidden_service(const char *onion_address);
|
+void rend_client_purge_hidden_service(const char *onion_address);
|
||||||
|
|
||||||
void rend_client_introcirc_has_opened(origin_circuit_t *circ);
|
void rend_client_introcirc_has_opened(origin_circuit_t *circ);
|
||||||
void rend_client_rendcirc_has_opened(origin_circuit_t *circ);
|
void rend_client_rendcirc_has_opened(origin_circuit_t *circ);
|
||||||
|
--
|
||||||
|
2.9.3
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user