Tor  0.4.5.0-alpha-dev
Data Fields
circpad_machine_conditions_t Struct Reference

#include <circuitpadding.h>

Data Fields

unsigned min_hops: 3
 
unsigned requires_vanguards: 1
 
unsigned reduced_padding_ok: 1
 
circpad_circuit_state_t apply_state_mask
 
circpad_purpose_mask_t apply_purpose_mask
 
circpad_circuit_state_t keep_state_mask
 
circpad_purpose_mask_t keep_purpose_mask
 

Detailed Description

This type specifies all of the conditions that must be met before a client decides to initiate padding on a circuit.

A circuit must satisfy every sub-field in this type in order to be considered to match the conditions.

Definition at line 156 of file circuitpadding.h.

Field Documentation

◆ apply_purpose_mask

circpad_purpose_mask_t apply_purpose_mask

Only apply a machine if the circuit's purpose matches one of the bits set in this bitmask

Definition at line 180 of file circuitpadding.h.

◆ apply_state_mask

circpad_circuit_state_t apply_state_mask

Only apply the machine if the circuit's state matches any of the bits set in this bitmask.

Definition at line 176 of file circuitpadding.h.

◆ keep_purpose_mask

circpad_purpose_mask_t keep_purpose_mask

Keep a machine if any of the circuits's state machine's match the bits set in this bitmask, but don't apply new machines if they match this mask.

Definition at line 190 of file circuitpadding.h.

Referenced by circpad_machine_conditions_keep().

◆ keep_state_mask

circpad_circuit_state_t keep_state_mask

Keep a machine if any of the circuits's state machine's match the bits set in this bitmask, but don't apply new machines if they match this mask.

Definition at line 185 of file circuitpadding.h.

Referenced by circpad_machine_conditions_keep().

◆ min_hops

unsigned min_hops

Only apply the machine if the circuit has at least this many hops

Definition at line 158 of file circuitpadding.h.

◆ reduced_padding_ok

unsigned reduced_padding_ok

This machine is ok to use if reduced padding is set in consensus or torrc. This machine will still be applied even if reduced padding is not set; this flag only acts to exclude machines that don't have it set when reduced padding is requested. Therefore, reduced padding machines should appear at the lowest priority in the padding machine lists (aka first in the list), so that non-reduced padding machines for the same purpose are given a chance to apply when reduced padding is not requested.

Definition at line 172 of file circuitpadding.h.

◆ requires_vanguards

unsigned requires_vanguards

Only apply the machine if vanguards are enabled

Definition at line 161 of file circuitpadding.h.


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