mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-11 05:33:47 +01:00
Use an enum for INTRO_POINT_FAILURE_*
Safer, wiser, stronger! Signed-off-by: David Goulet <dgoulet@ev0ke.net>
This commit is contained in:
parent
d06af95ba3
commit
1070be8217
@ -125,7 +125,7 @@ rend_cache_failure_intro_entry_free(rend_cache_failure_intro_t *entry)
|
|||||||
/** Allocate a rend cache failure intro object and return it. <b>failure</b>
|
/** Allocate a rend cache failure intro object and return it. <b>failure</b>
|
||||||
* is set into the object. This function can not fail. */
|
* is set into the object. This function can not fail. */
|
||||||
static rend_cache_failure_intro_t *
|
static rend_cache_failure_intro_t *
|
||||||
rend_cache_failure_intro_entry_new(unsigned int failure)
|
rend_cache_failure_intro_entry_new(rend_intro_point_failure_t failure)
|
||||||
{
|
{
|
||||||
rend_cache_failure_intro_t *entry = tor_malloc(sizeof(*entry));
|
rend_cache_failure_intro_t *entry = tor_malloc(sizeof(*entry));
|
||||||
entry->failure_type = failure;
|
entry->failure_type = failure;
|
||||||
@ -309,7 +309,7 @@ not_found:
|
|||||||
* <b>failure</b> in that object. */
|
* <b>failure</b> in that object. */
|
||||||
static void
|
static void
|
||||||
cache_failure_intro_add(const uint8_t *identity, const char *service_id,
|
cache_failure_intro_add(const uint8_t *identity, const char *service_id,
|
||||||
unsigned int failure)
|
rend_intro_point_failure_t failure)
|
||||||
{
|
{
|
||||||
rend_cache_failure_t *fail_entry;
|
rend_cache_failure_t *fail_entry;
|
||||||
rend_cache_failure_intro_t *entry;
|
rend_cache_failure_intro_t *entry;
|
||||||
@ -376,7 +376,8 @@ validate_intro_point_failure(const rend_service_descriptor_t *desc,
|
|||||||
* <b>identity</b> and service ID <b>service_id</b>. If an entry already
|
* <b>identity</b> and service ID <b>service_id</b>. If an entry already
|
||||||
* exists in the cache, the failure type is changed with <b>failure</b>. */
|
* exists in the cache, the failure type is changed with <b>failure</b>. */
|
||||||
void
|
void
|
||||||
rend_cache_intro_failure_note(unsigned int failure, const uint8_t *identity,
|
rend_cache_intro_failure_note(rend_intro_point_failure_t failure,
|
||||||
|
const uint8_t *identity,
|
||||||
const char *service_id)
|
const char *service_id)
|
||||||
{
|
{
|
||||||
int found;
|
int found;
|
||||||
|
@ -34,7 +34,7 @@ typedef struct rend_cache_entry_t {
|
|||||||
|
|
||||||
/* Introduction point failure type. */
|
/* Introduction point failure type. */
|
||||||
typedef struct rend_cache_failure_intro_t {
|
typedef struct rend_cache_failure_intro_t {
|
||||||
unsigned int failure_type;
|
rend_intro_point_failure_t failure_type;
|
||||||
} rend_cache_failure_intro_t;
|
} rend_cache_failure_intro_t;
|
||||||
|
|
||||||
/** Cache failure object indexed by service ID. */
|
/** Cache failure object indexed by service ID. */
|
||||||
@ -65,7 +65,7 @@ rend_cache_store_status_t rend_cache_store_v2_desc_as_client(const char *desc,
|
|||||||
rend_cache_entry_t **entry);
|
rend_cache_entry_t **entry);
|
||||||
size_t rend_cache_get_total_allocation(void);
|
size_t rend_cache_get_total_allocation(void);
|
||||||
|
|
||||||
void rend_cache_intro_failure_note(unsigned int failure,
|
void rend_cache_intro_failure_note(rend_intro_point_failure_t failure,
|
||||||
const uint8_t *identity,
|
const uint8_t *identity,
|
||||||
const char *service_id);
|
const char *service_id);
|
||||||
void rend_cache_failure_purge(void);
|
void rend_cache_failure_purge(void);
|
||||||
|
@ -26,10 +26,6 @@ int rend_client_fetch_v2_desc(rend_data_t *query, smartlist_t *hsdirs);
|
|||||||
void rend_client_cancel_descriptor_fetches(void);
|
void rend_client_cancel_descriptor_fetches(void);
|
||||||
void rend_client_purge_last_hid_serv_requests(void);
|
void rend_client_purge_last_hid_serv_requests(void);
|
||||||
|
|
||||||
#define INTRO_POINT_FAILURE_GENERIC 0
|
|
||||||
#define INTRO_POINT_FAILURE_TIMEOUT 1
|
|
||||||
#define INTRO_POINT_FAILURE_UNREACHABLE 2
|
|
||||||
|
|
||||||
int rend_client_report_intro_point_failure(extend_info_t *failed_intro,
|
int rend_client_report_intro_point_failure(extend_info_t *failed_intro,
|
||||||
rend_data_t *rend_query,
|
rend_data_t *rend_query,
|
||||||
unsigned int failure_type);
|
unsigned int failure_type);
|
||||||
|
@ -12,6 +12,12 @@
|
|||||||
#ifndef TOR_RENDCOMMON_H
|
#ifndef TOR_RENDCOMMON_H
|
||||||
#define TOR_RENDCOMMON_H
|
#define TOR_RENDCOMMON_H
|
||||||
|
|
||||||
|
typedef enum rend_intro_point_failure_t {
|
||||||
|
INTRO_POINT_FAILURE_GENERIC = 0,
|
||||||
|
INTRO_POINT_FAILURE_TIMEOUT = 1,
|
||||||
|
INTRO_POINT_FAILURE_UNREACHABLE = 2,
|
||||||
|
} rend_intro_point_failure_t;
|
||||||
|
|
||||||
/** Free all storage associated with <b>data</b> */
|
/** Free all storage associated with <b>data</b> */
|
||||||
static INLINE void
|
static INLINE void
|
||||||
rend_data_free(rend_data_t *data)
|
rend_data_free(rend_data_t *data)
|
||||||
|
Loading…
Reference in New Issue
Block a user