mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-14 07:03:44 +01:00
or: Cleanup or.h header of HSv2 code
Signed-off-by: David Goulet <dgoulet@torproject.org>
This commit is contained in:
parent
ca04e9b8ed
commit
90c1a1f8b1
@ -328,70 +328,9 @@ struct curve25519_public_key_t;
|
|||||||
* passed through from a destroy or truncate cell. */
|
* passed through from a destroy or truncate cell. */
|
||||||
#define END_CIRC_REASON_FLAG_REMOTE 512
|
#define END_CIRC_REASON_FLAG_REMOTE 512
|
||||||
|
|
||||||
/** Length of 'y' portion of 'y.onion' URL. */
|
|
||||||
#define REND_SERVICE_ID_LEN_BASE32 16
|
|
||||||
|
|
||||||
/** Length of 'y.onion' including '.onion' URL. */
|
|
||||||
#define REND_SERVICE_ADDRESS_LEN (16+1+5)
|
|
||||||
|
|
||||||
/** Length of a binary-encoded rendezvous service ID. */
|
|
||||||
#define REND_SERVICE_ID_LEN 10
|
|
||||||
|
|
||||||
/** Time period for which a v2 descriptor will be valid. */
|
|
||||||
#define REND_TIME_PERIOD_V2_DESC_VALIDITY (24*60*60)
|
|
||||||
|
|
||||||
/** Time period within which two sets of v2 descriptors will be uploaded in
|
|
||||||
* parallel. */
|
|
||||||
#define REND_TIME_PERIOD_OVERLAPPING_V2_DESCS (60*60)
|
|
||||||
|
|
||||||
/** Number of non-consecutive replicas (i.e. distributed somewhere
|
|
||||||
* in the ring) for a descriptor. */
|
|
||||||
#define REND_NUMBER_OF_NON_CONSECUTIVE_REPLICAS 2
|
|
||||||
|
|
||||||
/** Number of consecutive replicas for a descriptor. */
|
|
||||||
#define REND_NUMBER_OF_CONSECUTIVE_REPLICAS 3
|
|
||||||
|
|
||||||
/** Length of v2 descriptor ID (32 base32 chars = 160 bits). */
|
/** Length of v2 descriptor ID (32 base32 chars = 160 bits). */
|
||||||
#define REND_DESC_ID_V2_LEN_BASE32 BASE32_DIGEST_LEN
|
#define REND_DESC_ID_V2_LEN_BASE32 BASE32_DIGEST_LEN
|
||||||
|
|
||||||
/** Length of the base32-encoded secret ID part of versioned hidden service
|
|
||||||
* descriptors. */
|
|
||||||
#define REND_SECRET_ID_PART_LEN_BASE32 BASE32_DIGEST_LEN
|
|
||||||
|
|
||||||
/** Length of the base32-encoded hash of an introduction point's
|
|
||||||
* identity key. */
|
|
||||||
#define REND_INTRO_POINT_ID_LEN_BASE32 BASE32_DIGEST_LEN
|
|
||||||
|
|
||||||
/** Length of the descriptor cookie that is used for client authorization
|
|
||||||
* to hidden services. */
|
|
||||||
#define REND_DESC_COOKIE_LEN 16
|
|
||||||
|
|
||||||
/** Length of the base64-encoded descriptor cookie that is used for
|
|
||||||
* exchanging client authorization between hidden service and client. */
|
|
||||||
#define REND_DESC_COOKIE_LEN_BASE64 22
|
|
||||||
|
|
||||||
/** Length of client identifier in encrypted introduction points for hidden
|
|
||||||
* service authorization type 'basic'. */
|
|
||||||
#define REND_BASIC_AUTH_CLIENT_ID_LEN 4
|
|
||||||
|
|
||||||
/** Multiple of the number of clients to which the real number of clients
|
|
||||||
* is padded with fake clients for hidden service authorization type
|
|
||||||
* 'basic'. */
|
|
||||||
#define REND_BASIC_AUTH_CLIENT_MULTIPLE 16
|
|
||||||
|
|
||||||
/** Length of client entry consisting of client identifier and encrypted
|
|
||||||
* session key for hidden service authorization type 'basic'. */
|
|
||||||
#define REND_BASIC_AUTH_CLIENT_ENTRY_LEN (REND_BASIC_AUTH_CLIENT_ID_LEN \
|
|
||||||
+ CIPHER_KEY_LEN)
|
|
||||||
|
|
||||||
/** Maximum size of v2 hidden service descriptors. */
|
|
||||||
#define REND_DESC_MAX_SIZE (20 * 1024)
|
|
||||||
|
|
||||||
/** Legal characters for use in authorized client names for a hidden
|
|
||||||
* service. */
|
|
||||||
#define REND_LEGAL_CLIENTNAME_CHARACTERS \
|
|
||||||
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+-_"
|
|
||||||
|
|
||||||
/** Maximum length of authorized client names for a hidden service. */
|
/** Maximum length of authorized client names for a hidden service. */
|
||||||
#define REND_CLIENTNAME_MAX_LEN 16
|
#define REND_CLIENTNAME_MAX_LEN 16
|
||||||
|
|
||||||
@ -402,19 +341,10 @@ struct curve25519_public_key_t;
|
|||||||
/** Client authorization type that a hidden service performs. */
|
/** Client authorization type that a hidden service performs. */
|
||||||
typedef enum rend_auth_type_t {
|
typedef enum rend_auth_type_t {
|
||||||
REND_NO_AUTH = 0,
|
REND_NO_AUTH = 0,
|
||||||
REND_BASIC_AUTH = 1,
|
REND_V3_AUTH = 1, /* Dummy flag to allow adding v3 services on the
|
||||||
REND_STEALTH_AUTH = 2,
|
|
||||||
REND_V3_AUTH = 3, /* Dummy flag to allow adding v3 services on the
|
|
||||||
* control port */
|
* control port */
|
||||||
} rend_auth_type_t;
|
} rend_auth_type_t;
|
||||||
|
|
||||||
/** Client-side configuration of authorization for a hidden service. */
|
|
||||||
typedef struct rend_service_authorization_t {
|
|
||||||
uint8_t descriptor_cookie[REND_DESC_COOKIE_LEN];
|
|
||||||
char onion_address[REND_SERVICE_ADDRESS_LEN+1];
|
|
||||||
rend_auth_type_t auth_type;
|
|
||||||
} rend_service_authorization_t;
|
|
||||||
|
|
||||||
/* Stub because we can't include hs_ident.h. */
|
/* Stub because we can't include hs_ident.h. */
|
||||||
struct hs_ident_edge_conn_t;
|
struct hs_ident_edge_conn_t;
|
||||||
struct hs_ident_dir_conn_t;
|
struct hs_ident_dir_conn_t;
|
||||||
@ -1013,15 +943,9 @@ typedef struct vote_timing_t vote_timing_t;
|
|||||||
|
|
||||||
typedef struct microdesc_cache_t microdesc_cache_t;
|
typedef struct microdesc_cache_t microdesc_cache_t;
|
||||||
|
|
||||||
/********************************* rendcommon.c ***************************/
|
|
||||||
|
|
||||||
typedef struct rend_authorized_client_t rend_authorized_client_t;
|
|
||||||
typedef struct rend_encoded_v2_service_descriptor_t
|
|
||||||
rend_encoded_v2_service_descriptor_t;
|
|
||||||
|
|
||||||
/** The maximum number of non-circuit-build-timeout failures a hidden
|
/** The maximum number of non-circuit-build-timeout failures a hidden
|
||||||
* service client will tolerate while trying to build a circuit to an
|
* service client will tolerate while trying to build a circuit to an
|
||||||
* introduction point. See also rend_intro_point_t.unreachable_count. */
|
* introduction point. */
|
||||||
#define MAX_INTRO_POINT_REACHABILITY_FAILURES 5
|
#define MAX_INTRO_POINT_REACHABILITY_FAILURES 5
|
||||||
|
|
||||||
/** The minimum and maximum number of distinct INTRODUCE2 cells which a
|
/** The minimum and maximum number of distinct INTRODUCE2 cells which a
|
||||||
@ -1050,9 +974,6 @@ typedef struct rend_encoded_v2_service_descriptor_t
|
|||||||
* lifetime so this is a hard limit on the amount of time we do that. */
|
* lifetime so this is a hard limit on the amount of time we do that. */
|
||||||
#define MAX_INTRO_POINT_CIRCUIT_RETRIES 3
|
#define MAX_INTRO_POINT_CIRCUIT_RETRIES 3
|
||||||
|
|
||||||
typedef struct rend_intro_point_t rend_intro_point_t;
|
|
||||||
typedef struct rend_service_descriptor_t rend_service_descriptor_t;
|
|
||||||
|
|
||||||
/********************************* routerlist.c ***************************/
|
/********************************* routerlist.c ***************************/
|
||||||
|
|
||||||
typedef struct dir_server_t dir_server_t;
|
typedef struct dir_server_t dir_server_t;
|
||||||
|
@ -1930,12 +1930,6 @@ rend_auth_type_to_string(rend_auth_type_t auth_type)
|
|||||||
case REND_NO_AUTH:
|
case REND_NO_AUTH:
|
||||||
str = "NO_AUTH";
|
str = "NO_AUTH";
|
||||||
break;
|
break;
|
||||||
case REND_BASIC_AUTH:
|
|
||||||
str = "BASIC_AUTH";
|
|
||||||
break;
|
|
||||||
case REND_STEALTH_AUTH:
|
|
||||||
str = "STEALTH_AUTH";
|
|
||||||
break;
|
|
||||||
case REND_V3_AUTH:
|
case REND_V3_AUTH:
|
||||||
str = "REND_V3_AUTH";
|
str = "REND_V3_AUTH";
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user