Data Fields
hs_service_config_t Struct Reference

#include <hs_service.h>

Data Fields

uint32_t version
unsigned int hs_version_explicitly_set: 1
char * directory_path
uint64_t max_streams_per_rdv_circuit
unsigned int max_streams_close_circuit: 1
unsigned int num_intro_points
unsigned int is_client_auth_enabled: 1
unsigned int allow_unknown_ports: 1
unsigned int is_single_onion: 1
unsigned int dir_group_readable: 1
unsigned int is_ephemeral: 1
hs_circuit_id_protocol_t circuit_id_protocol
unsigned int has_dos_defense_enabled: 1
uint32_t intro_dos_rate_per_sec
uint32_t intro_dos_burst_per_sec

Detailed Description

Service configuration. The following are set from the torrc options either set by the configuration file or by the control port. Nothing else should change those values.

Definition at line 205 of file hs_service.h.

Field Documentation

◆ allow_unknown_ports

unsigned int allow_unknown_ports

True iff we allow request made on unknown ports. Specified by HiddenServiceAllowUnknownPorts option.

Definition at line 242 of file hs_service.h.

Referenced by set_service_default_config().

◆ circuit_id_protocol

hs_circuit_id_protocol_t circuit_id_protocol

Does this service export the circuit ID of its clients?

Definition at line 256 of file hs_service.h.

Referenced by hs_service_exports_circuit_id().

◆ clients

smartlist_t* clients

List of hs_service_authorized_client_t's of clients that may access this service. Specified by HiddenServiceAuthorizeClient option.

Definition at line 238 of file hs_service.h.

Referenced by service_authorized_client_config_equal().

◆ dir_group_readable

unsigned int dir_group_readable

If true, allow group read permissions on the directory_path. Specified by HiddenServiceDirGroupReadable option.

Definition at line 250 of file hs_service.h.

Referenced by load_service_keys(), and set_service_default_config().

◆ directory_path

char* directory_path

Path on the filesystem where the service persistent data is stored. NULL if the service is ephemeral. Specified by HiddenServiceDir option.

Definition at line 218 of file hs_service.h.

Referenced by config_generic_service(), hs_ob_parse_config_file(), hs_service_get_version_from_key(), load_client_keys(), load_service_keys(), service_add_fnames_to_list(), service_clear_config(), service_escaped_dir(), service_is_duplicate_in_list(), and set_service_default_config().

◆ has_dos_defense_enabled

unsigned int has_dos_defense_enabled

DoS defenses. For the ESTABLISH_INTRO cell extension.

Definition at line 259 of file hs_service.h.

Referenced by build_establish_intro_extensions(), and set_service_default_config().

◆ hs_version_explicitly_set

unsigned int hs_version_explicitly_set

Have we explicitly set HiddenServiceVersion?

Definition at line 211 of file hs_service.h.

◆ is_client_auth_enabled

unsigned int is_client_auth_enabled

True iff the client auth is enabled.

Definition at line 234 of file hs_service.h.

Referenced by service_encode_descriptor().

◆ is_ephemeral

unsigned int is_ephemeral

◆ is_single_onion

unsigned int is_single_onion

If true, this service is a Single Onion Service. Specified by HiddenServiceSingleHopMode and HiddenServiceNonAnonymousMode options.

Definition at line 246 of file hs_service.h.

Referenced by build_service_desc_encrypted(), get_service_anonymity_string(), launch_intro_point_circuits(), launch_rendezvous_point_circuit(), and set_service_default_config().

◆ max_streams_close_circuit

unsigned int max_streams_close_circuit

If true, we close circuits that exceed the max_streams_per_rdv_circuit limit. Specified by HiddenServiceMaxStreamsCloseCircuit option.

Definition at line 227 of file hs_service.h.

Referenced by hs_service_add_ephemeral(), and set_service_default_config().

◆ max_streams_per_rdv_circuit

uint64_t max_streams_per_rdv_circuit

The maximum number of simultaneous streams per rendezvous circuit that are allowed to be created. No limit if 0. Specified by HiddenServiceMaxStreams option.

Definition at line 223 of file hs_service.h.

Referenced by hs_service_add_ephemeral(), and set_service_default_config().

◆ num_intro_points

unsigned int num_intro_points

How many introduction points this service has. Specified by HiddenServiceNumIntroductionPoints option.

Definition at line 231 of file hs_service.h.

Referenced by get_max_intro_circ_per_period(), hs_circ_service_intro_has_opened(), pick_needed_intro_points(), set_service_default_config(), and should_service_upload_descriptor().

◆ ob_master_pubkeys

smartlist_t* ob_master_pubkeys

If set, contains the Onion Balance master ed25519 public key (taken from an .onion addresses) that this tor instance serves as backend.

Definition at line 265 of file hs_service.h.

Referenced by ob_option_parse().

◆ ports

smartlist_t* ports

◆ version

uint32_t version

Protocol version of the service. Specified by HiddenServiceVersion option.

Definition at line 208 of file hs_service.h.

Referenced by build_service_desc_plaintext(), config_has_invalid_options(), config_learn_service_version(), and hs_service_add_ephemeral().

The documentation for this struct was generated from the following file: