Tor  0.4.7.0-alpha-dev
Functions
hs_ident.c File Reference

Contains circuit and connection identifier code for the whole HS subsystem. More...

#include "lib/crypt_ops/crypto_util.h"
#include "feature/hs/hs_ident.h"

Go to the source code of this file.

Functions

hs_ident_circuit_ths_ident_circuit_new (const ed25519_public_key_t *identity_pk)
 
void hs_ident_circuit_free_ (hs_ident_circuit_t *ident)
 
hs_ident_circuit_ths_ident_circuit_dup (const hs_ident_circuit_t *src)
 
hs_ident_dir_conn_ths_ident_dir_conn_dup (const hs_ident_dir_conn_t *src)
 
void hs_ident_dir_conn_free_ (hs_ident_dir_conn_t *ident)
 
void hs_ident_dir_conn_init (const ed25519_public_key_t *identity_pk, const ed25519_public_key_t *blinded_pk, hs_ident_dir_conn_t *ident)
 
hs_ident_edge_conn_ths_ident_edge_conn_new (const ed25519_public_key_t *identity_pk)
 
void hs_ident_edge_conn_free_ (hs_ident_edge_conn_t *ident)
 
int hs_ident_intro_circ_is_valid (const hs_ident_circuit_t *ident)
 

Detailed Description

Contains circuit and connection identifier code for the whole HS subsystem.

Definition in file hs_ident.c.

Function Documentation

◆ hs_ident_circuit_dup()

hs_ident_circuit_t* hs_ident_circuit_dup ( const hs_ident_circuit_t src)

For a given circuit identifier src, return a newly allocated copy of it. This can't fail.

Definition at line 37 of file hs_ident.c.

◆ hs_ident_circuit_free_()

void hs_ident_circuit_free_ ( hs_ident_circuit_t ident)

Free the given circuit identifier.

Definition at line 25 of file hs_ident.c.

◆ hs_ident_circuit_new()

hs_ident_circuit_t* hs_ident_circuit_new ( const ed25519_public_key_t identity_pk)

Return a newly allocated circuit identifier. The given public key is copied identity_pk into the identifier.

Definition at line 16 of file hs_ident.c.

Referenced by create_intro_circuit_identifier(), and create_rp_circuit_identifier().

◆ hs_ident_dir_conn_dup()

hs_ident_dir_conn_t* hs_ident_dir_conn_dup ( const hs_ident_dir_conn_t src)

For a given directory connection identifier src, return a newly allocated copy of it. This can't fail.

Definition at line 47 of file hs_ident.c.

◆ hs_ident_dir_conn_free_()

void hs_ident_dir_conn_free_ ( hs_ident_dir_conn_t ident)

Free the given directory connection identifier.

Definition at line 56 of file hs_ident.c.

◆ hs_ident_dir_conn_init()

void hs_ident_dir_conn_init ( const ed25519_public_key_t identity_pk,
const ed25519_public_key_t blinded_pk,
hs_ident_dir_conn_t ident 
)

Initialized the allocated ident object with identity_pk and blinded_pk. None of them can be NULL since a valid directory connection identifier must have all fields set.

Definition at line 69 of file hs_ident.c.

Referenced by directory_launch_v3_desc_fetch(), and hs_service_upload_desc_to_dir().

◆ hs_ident_edge_conn_free_()

void hs_ident_edge_conn_free_ ( hs_ident_edge_conn_t ident)

Free the given edge connection identifier.

Definition at line 93 of file hs_ident.c.

◆ hs_ident_edge_conn_new()

hs_ident_edge_conn_t* hs_ident_edge_conn_new ( const ed25519_public_key_t identity_pk)

Return a newly allocated edge connection identifier. The given public key identity_pk is copied into the identifier.

Definition at line 84 of file hs_ident.c.

◆ hs_ident_intro_circ_is_valid()

int hs_ident_intro_circ_is_valid ( const hs_ident_circuit_t ident)

Return true if the given ident is valid for an introduction circuit.

Definition at line 104 of file hs_ident.c.