summaryrefslogtreecommitdiff
path: root/src/core/or/origin_circuit_st.h
diff options
context:
space:
mode:
authorGeorge Kadianakis <desnacked@riseup.net>2021-03-17 13:43:47 +0200
committerGeorge Kadianakis <desnacked@riseup.net>2021-03-17 13:43:47 +0200
commitea781dc44fe9423af4197cfc1e07825d4366e491 (patch)
treee51025e4072730f3dbc6da45662bff4bd220d4a4 /src/core/or/origin_circuit_st.h
parentaa49562a0520ff3ddbbce9fc5e77acd8dd4a5812 (diff)
parent59bbf8cde9144ee5c8d060959e723a4bedfd6bb8 (diff)
downloadtor-ea781dc44fe9423af4197cfc1e07825d4366e491.tar.gz
tor-ea781dc44fe9423af4197cfc1e07825d4366e491.zip
Merge branch 'maint-0.4.5' into release-0.4.5
Diffstat (limited to 'src/core/or/origin_circuit_st.h')
-rw-r--r--src/core/or/origin_circuit_st.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/core/or/origin_circuit_st.h b/src/core/or/origin_circuit_st.h
index a45a6573dc..c40e84aed8 100644
--- a/src/core/or/origin_circuit_st.h
+++ b/src/core/or/origin_circuit_st.h
@@ -171,6 +171,18 @@ struct origin_circuit_t {
unsigned padding_negotiation_failed : 1;
/**
+ * If this flag is set, then a controller chose the first hop of this
+ * circuit's path, and it's okay to ignore checks that we'd usually do
+ * on this circuit's first hop.
+ *
+ * This flag is distinct from the CIRCUIT_PURPOSE_CONTROLLER purpose: the
+ * purpose indicates _what tor can use the circuit for_. Controller-created
+ * circuits can still have the CIRCUIT_PURPOSE_GENERAL purpose if Tor is
+ * allowed to attach streams to them.
+ */
+ unsigned first_hop_from_controller : 1;
+
+ /**
* Tristate variable to guard against pathbias miscounting
* due to circuit purpose transitions changing the decision
* of pathbias_should_count(). This variable is informational