tor  0.4.1.0-alpha-dev
Data Structures | Typedefs | Enumerations | Functions
hs_client.h File Reference
#include "lib/crypt_ops/crypto_ed25519.h"
#include "feature/hs/hs_descriptor.h"
#include "feature/hs/hs_ident.h"

Go to the source code of this file.

Data Structures

struct  hs_client_service_authorization_t
 

Typedefs

typedef struct hs_client_service_authorization_t hs_client_service_authorization_t
 

Enumerations

enum  hs_client_fetch_status_t {
  HS_CLIENT_FETCH_ERROR = -1, HS_CLIENT_FETCH_LAUNCHED = 0, HS_CLIENT_FETCH_HAVE_DESC = 1, HS_CLIENT_FETCH_NO_HSDIRS = 2,
  HS_CLIENT_FETCH_NOT_ALLOWED = 3, HS_CLIENT_FETCH_MISSING_INFO = 4, HS_CLIENT_FETCH_PENDING = 5
}
 

Functions

void hs_client_note_connection_attempt_succeeded (const edge_connection_t *conn)
 
void hs_client_launch_v3_desc_fetch (const ed25519_public_key_t *onion_identity_pk, const smartlist_t *hsdirs)
 
int hs_client_decode_descriptor (const char *desc_str, const ed25519_public_key_t *service_identity_pk, hs_descriptor_t **desc)
 
int hs_client_any_intro_points_usable (const ed25519_public_key_t *service_pk, const hs_descriptor_t *desc)
 
int hs_client_refetch_hsdesc (const ed25519_public_key_t *identity_pk)
 
void hs_client_dir_info_changed (void)
 
int hs_client_send_introduce1 (origin_circuit_t *intro_circ, origin_circuit_t *rend_circ)
 
void hs_client_circuit_has_opened (origin_circuit_t *circ)
 
int hs_client_receive_rendezvous_acked (origin_circuit_t *circ, const uint8_t *payload, size_t payload_len)
 
int hs_client_receive_introduce_ack (origin_circuit_t *circ, const uint8_t *payload, size_t payload_len)
 
int hs_client_receive_rendezvous2 (origin_circuit_t *circ, const uint8_t *payload, size_t payload_len)
 
void hs_client_desc_has_arrived (const hs_ident_dir_conn_t *ident)
 
extend_info_ths_client_get_random_intro_from_edge (const edge_connection_t *edge_conn)
 
int hs_config_client_authorization (const or_options_t *options, int validate_only)
 
int hs_client_reextend_intro_circuit (origin_circuit_t *circ)
 
void hs_client_close_intro_circuits_from_desc (const hs_descriptor_t *desc)
 
void hs_client_purge_state (void)
 
void hs_client_free_all (void)
 

Detailed Description

Header file containing client data for the HS subsytem.

Definition in file hs_client.h.

Typedef Documentation

◆ hs_client_service_authorization_t

Client-side configuration of authorization for a service.

Function Documentation

◆ hs_client_note_connection_attempt_succeeded()

void hs_client_note_connection_attempt_succeeded ( const edge_connection_t conn)

A circuit just finished connecting to a hidden service that the stream conn has been waiting for. Let the HS subsystem know about this.

Definition at line 1251 of file hs_client.c.

References connection_edge_is_rendezvous_stream(), and tor_assert().

◆ hs_client_refetch_hsdesc()

int hs_client_refetch_hsdesc ( const ed25519_public_key_t identity_pk)

Launch a connection to a hidden service directory to fetch a hidden service descriptor using identity_pk to get the necessary keys.

A hs_client_fetch_status_t code is returned.

Definition at line 1354 of file hs_client.c.