mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-11 05:33:47 +01:00
Extract rend_service_descriptor_t into its own header.
This commit is contained in:
parent
7d2d131afa
commit
22e9c64738
@ -87,6 +87,7 @@
|
|||||||
#include "or_connection_st.h"
|
#include "or_connection_st.h"
|
||||||
#include "or_circuit_st.h"
|
#include "or_circuit_st.h"
|
||||||
#include "origin_circuit_st.h"
|
#include "origin_circuit_st.h"
|
||||||
|
#include "rend_service_descriptor_st.h"
|
||||||
|
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
#include <pwd.h>
|
#include <pwd.h>
|
||||||
|
@ -56,6 +56,7 @@
|
|||||||
#include "dir_connection_st.h"
|
#include "dir_connection_st.h"
|
||||||
#include "dir_server_st.h"
|
#include "dir_server_st.h"
|
||||||
#include "entry_connection_st.h"
|
#include "entry_connection_st.h"
|
||||||
|
#include "rend_service_descriptor_st.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \file directory.c
|
* \file directory.c
|
||||||
|
@ -279,6 +279,7 @@ ORHEADERS = \
|
|||||||
src/or/rendcommon.h \
|
src/or/rendcommon.h \
|
||||||
src/or/rendmid.h \
|
src/or/rendmid.h \
|
||||||
src/or/rendservice.h \
|
src/or/rendservice.h \
|
||||||
|
src/or/rend_service_descriptor_st.h \
|
||||||
src/or/rephist.h \
|
src/or/rephist.h \
|
||||||
src/or/replaycache.h \
|
src/or/replaycache.h \
|
||||||
src/or/router.h \
|
src/or/router.h \
|
||||||
|
23
src/or/or.h
23
src/or/or.h
@ -4145,28 +4145,7 @@ typedef struct rend_intro_point_t {
|
|||||||
unsigned int circuit_established:1;
|
unsigned int circuit_established:1;
|
||||||
} rend_intro_point_t;
|
} rend_intro_point_t;
|
||||||
|
|
||||||
#define REND_PROTOCOL_VERSION_BITMASK_WIDTH 16
|
typedef struct rend_service_descriptor_t rend_service_descriptor_t;
|
||||||
|
|
||||||
/** Information used to connect to a hidden service. Used on both the
|
|
||||||
* service side and the client side. */
|
|
||||||
typedef struct rend_service_descriptor_t {
|
|
||||||
crypto_pk_t *pk; /**< This service's public key. */
|
|
||||||
int version; /**< Version of the descriptor format: 0 or 2. */
|
|
||||||
time_t timestamp; /**< Time when the descriptor was generated. */
|
|
||||||
/** Bitmask: which introduce/rendezvous protocols are supported?
|
|
||||||
* (We allow bits '0', '1', '2' and '3' to be set.) */
|
|
||||||
unsigned protocols : REND_PROTOCOL_VERSION_BITMASK_WIDTH;
|
|
||||||
/** List of the service's introduction points. Elements are removed if
|
|
||||||
* introduction attempts fail. */
|
|
||||||
smartlist_t *intro_nodes;
|
|
||||||
/** Has descriptor been uploaded to all hidden service directories? */
|
|
||||||
int all_uploads_performed;
|
|
||||||
/** List of hidden service directories to which an upload request for
|
|
||||||
* this descriptor could be sent. Smartlist exists only when at least one
|
|
||||||
* of the previous upload requests failed (otherwise it's not important
|
|
||||||
* to know which uploads succeeded and which not). */
|
|
||||||
smartlist_t *successful_uploads;
|
|
||||||
} rend_service_descriptor_t;
|
|
||||||
|
|
||||||
/********************************* routerlist.c ***************************/
|
/********************************* routerlist.c ***************************/
|
||||||
|
|
||||||
|
34
src/or/rend_service_descriptor_st.h
Normal file
34
src/or/rend_service_descriptor_st.h
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
/* Copyright (c) 2001 Matej Pfajfar.
|
||||||
|
* Copyright (c) 2001-2004, Roger Dingledine.
|
||||||
|
* Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
|
||||||
|
* Copyright (c) 2007-2017, The Tor Project, Inc. */
|
||||||
|
/* See LICENSE for licensing information */
|
||||||
|
|
||||||
|
#ifndef REND_SERVICE_DESCRIPTOR_ST_H
|
||||||
|
#define REND_SERVICE_DESCRIPTOR_ST_H
|
||||||
|
|
||||||
|
#define REND_PROTOCOL_VERSION_BITMASK_WIDTH 16
|
||||||
|
|
||||||
|
/** Information used to connect to a hidden service. Used on both the
|
||||||
|
* service side and the client side. */
|
||||||
|
struct rend_service_descriptor_t {
|
||||||
|
crypto_pk_t *pk; /**< This service's public key. */
|
||||||
|
int version; /**< Version of the descriptor format: 0 or 2. */
|
||||||
|
time_t timestamp; /**< Time when the descriptor was generated. */
|
||||||
|
/** Bitmask: which introduce/rendezvous protocols are supported?
|
||||||
|
* (We allow bits '0', '1', '2' and '3' to be set.) */
|
||||||
|
unsigned protocols : REND_PROTOCOL_VERSION_BITMASK_WIDTH;
|
||||||
|
/** List of the service's introduction points. Elements are removed if
|
||||||
|
* introduction attempts fail. */
|
||||||
|
smartlist_t *intro_nodes;
|
||||||
|
/** Has descriptor been uploaded to all hidden service directories? */
|
||||||
|
int all_uploads_performed;
|
||||||
|
/** List of hidden service directories to which an upload request for
|
||||||
|
* this descriptor could be sent. Smartlist exists only when at least one
|
||||||
|
* of the previous upload requests failed (otherwise it's not important
|
||||||
|
* to know which uploads succeeded and which not). */
|
||||||
|
smartlist_t *successful_uploads;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
@ -15,6 +15,8 @@
|
|||||||
#include "routerparse.h"
|
#include "routerparse.h"
|
||||||
#include "rendcommon.h"
|
#include "rendcommon.h"
|
||||||
|
|
||||||
|
#include "rend_service_descriptor_st.h"
|
||||||
|
|
||||||
/** Map from service id (as generated by rend_get_service_id) to
|
/** Map from service id (as generated by rend_get_service_id) to
|
||||||
* rend_cache_entry_t. */
|
* rend_cache_entry_t. */
|
||||||
STATIC strmap_t *rend_cache = NULL;
|
STATIC strmap_t *rend_cache = NULL;
|
||||||
|
@ -38,6 +38,7 @@
|
|||||||
#include "dir_connection_st.h"
|
#include "dir_connection_st.h"
|
||||||
#include "entry_connection_st.h"
|
#include "entry_connection_st.h"
|
||||||
#include "origin_circuit_st.h"
|
#include "origin_circuit_st.h"
|
||||||
|
#include "rend_service_descriptor_st.h"
|
||||||
|
|
||||||
static extend_info_t *rend_client_get_random_intro_impl(
|
static extend_info_t *rend_client_get_random_intro_impl(
|
||||||
const rend_cache_entry_t *rend_query,
|
const rend_cache_entry_t *rend_query,
|
||||||
|
@ -34,6 +34,7 @@
|
|||||||
#include "cpath_build_state_st.h"
|
#include "cpath_build_state_st.h"
|
||||||
#include "crypt_path_st.h"
|
#include "crypt_path_st.h"
|
||||||
#include "origin_circuit_st.h"
|
#include "origin_circuit_st.h"
|
||||||
|
#include "rend_service_descriptor_st.h"
|
||||||
|
|
||||||
/** Return 0 if one and two are the same service ids, else -1 or 1 */
|
/** Return 0 if one and two are the same service ids, else -1 or 1 */
|
||||||
int
|
int
|
||||||
|
@ -41,6 +41,7 @@
|
|||||||
#include "crypt_path_reference_st.h"
|
#include "crypt_path_reference_st.h"
|
||||||
#include "edge_connection_st.h"
|
#include "edge_connection_st.h"
|
||||||
#include "origin_circuit_st.h"
|
#include "origin_circuit_st.h"
|
||||||
|
#include "rend_service_descriptor_st.h"
|
||||||
|
|
||||||
struct rend_service_t;
|
struct rend_service_t;
|
||||||
static origin_circuit_t *find_intro_circuit(rend_intro_point_t *intro,
|
static origin_circuit_t *find_intro_circuit(rend_intro_point_t *intro,
|
||||||
|
@ -79,13 +79,14 @@
|
|||||||
#include "torcert.h"
|
#include "torcert.h"
|
||||||
#include "voting_schedule.h"
|
#include "voting_schedule.h"
|
||||||
|
|
||||||
#undef log
|
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
#include "dirauth/dirvote.h"
|
#include "dirauth/dirvote.h"
|
||||||
|
|
||||||
|
#include "rend_service_descriptor_st.h"
|
||||||
#include "tor_version_st.h"
|
#include "tor_version_st.h"
|
||||||
|
|
||||||
|
#undef log
|
||||||
|
#include <math.h>
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
/** List of tokens recognized in router descriptors */
|
/** List of tokens recognized in router descriptors */
|
||||||
|
@ -4,6 +4,9 @@
|
|||||||
#include "or.h"
|
#include "or.h"
|
||||||
#include "routerparse.h"
|
#include "routerparse.h"
|
||||||
#include "rendcommon.h"
|
#include "rendcommon.h"
|
||||||
|
|
||||||
|
#include "rend_service_descriptor_st.h"
|
||||||
|
|
||||||
#include "fuzzing.h"
|
#include "fuzzing.h"
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
#include "rendcommon.h"
|
#include "rendcommon.h"
|
||||||
#include "rend_test_helpers.h"
|
#include "rend_test_helpers.h"
|
||||||
|
|
||||||
|
#include "rend_service_descriptor_st.h"
|
||||||
|
|
||||||
void
|
void
|
||||||
generate_desc(int time_diff, rend_encoded_v2_service_descriptor_t **desc,
|
generate_desc(int time_diff, rend_encoded_v2_service_descriptor_t **desc,
|
||||||
char **service_id, int intro_points)
|
char **service_id, int intro_points)
|
||||||
|
@ -63,6 +63,7 @@ double fabs(double x);
|
|||||||
#include "crypto_curve25519.h"
|
#include "crypto_curve25519.h"
|
||||||
|
|
||||||
#include "or_circuit_st.h"
|
#include "or_circuit_st.h"
|
||||||
|
#include "rend_service_descriptor_st.h"
|
||||||
|
|
||||||
/** Run unit tests for the onion handshake code. */
|
/** Run unit tests for the onion handshake code. */
|
||||||
static void
|
static void
|
||||||
|
@ -11,6 +11,9 @@
|
|||||||
#include "routerlist.h"
|
#include "routerlist.h"
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "hs_common.h"
|
#include "hs_common.h"
|
||||||
|
|
||||||
|
#include "rend_service_descriptor_st.h"
|
||||||
|
|
||||||
#include "rend_test_helpers.h"
|
#include "rend_test_helpers.h"
|
||||||
#include "log_test_helpers.h"
|
#include "log_test_helpers.h"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user