Tor  0.4.3.0-alpha-dev
Data Fields
hs_service_config_t Struct Reference

#include <hs_service.h>

Data Fields

uint32_t version
 
unsigned int hs_version_explicitly_set: 1
 
smartlist_tports
 
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
 
smartlist_tclients
 
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 196 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 233 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 247 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 229 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 241 of file hs_service.h.

Referenced by config_service(), 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 209 of file hs_service.h.

Referenced by config_generic_service(), config_service(), 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().

◆ hs_version_explicitly_set

unsigned int hs_version_explicitly_set

Have we explicitly set HiddenServiceVersion?

Definition at line 202 of file hs_service.h.

Referenced by config_service().

◆ is_client_auth_enabled

unsigned int is_client_auth_enabled

True iff the client auth is enabled.

Definition at line 225 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 237 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 218 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 214 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 222 of file hs_service.h.

Referenced by config_service_v3(), 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().

◆ ports

smartlist_t* ports

◆ version

uint32_t version

Protocol version of the service. Specified by HiddenServiceVersion option.

Definition at line 199 of file hs_service.h.

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


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