summaryrefslogtreecommitdiff
path: root/src/or/hs_intropoint.h
diff options
context:
space:
mode:
authorDavid Goulet <dgoulet@torproject.org>2017-02-03 15:30:46 -0500
committerNick Mathewson <nickm@torproject.org>2017-08-08 20:29:33 -0400
commit00a02a3a59f6e44619e6caed150b001acae37231 (patch)
tree5b58a26b283d85688b8f4d524a0c67562c93b47a /src/or/hs_intropoint.h
parentc4ba4d4cc8a1d31f78d1dc54c7851bed32a25e5c (diff)
downloadtor-00a02a3a59f6e44619e6caed150b001acae37231.tar.gz
tor-00a02a3a59f6e44619e6caed150b001acae37231.zip
prop224: Service v3 descriptor creation and logic
This commit adds the functionality for a service to build its descriptor. Also, a global call to build all descriptors for all services is added to the service scheduled events. Signed-off-by: David Goulet <dgoulet@torproject.org>
Diffstat (limited to 'src/or/hs_intropoint.h')
-rw-r--r--src/or/hs_intropoint.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/or/hs_intropoint.h b/src/or/hs_intropoint.h
index bfb1331ba0..2e11de1b54 100644
--- a/src/or/hs_intropoint.h
+++ b/src/or/hs_intropoint.h
@@ -13,11 +13,11 @@
#include "torcert.h"
/* Authentication key type in an ESTABLISH_INTRO cell. */
-enum hs_intro_auth_key_type {
+typedef enum {
HS_INTRO_AUTH_KEY_TYPE_LEGACY0 = 0x00,
HS_INTRO_AUTH_KEY_TYPE_LEGACY1 = 0x01,
HS_INTRO_AUTH_KEY_TYPE_ED25519 = 0x02,
-};
+} hs_intro_auth_key_type_t;
/* INTRODUCE_ACK status code. */
typedef enum {
@@ -30,6 +30,9 @@ typedef enum {
/* Object containing introduction point common data between the service and
* the client side. */
typedef struct hs_intropoint_t {
+ /* Does this intro point only supports legacy ID ?. */
+ unsigned int is_only_legacy : 1;
+
/* Authentication key certificate from the descriptor. */
tor_cert_t *auth_key_cert;
/* A list of link specifier. */
@@ -47,6 +50,9 @@ MOCK_DECL(int, hs_intro_send_intro_established_cell,(or_circuit_t *circ));
/* also used by rendservice.c */
int hs_intro_circuit_is_suitable_for_establish_intro(const or_circuit_t *circ);
+hs_intropoint_t *hs_intro_new(void);
+void hs_intro_free_content(hs_intropoint_t *ip);
+
#ifdef HS_INTROPOINT_PRIVATE
#include "hs/cell_establish_intro.h"