Make ext_orport.c relay-mode-only.

This commit is contained in:
Nick Mathewson
2020-02-18 13:20:19 -05:00
parent 1f958b6020
commit a1a3a4d585
3 changed files with 41 additions and 1 deletions
+3
View File
@@ -0,0 +1,3 @@
o Minor features (client-only compilation):
- Disable more code related to the ext_orport protocol when compiling
without support for relay mode. Closes ticket 33368.
+37
View File
@@ -31,6 +31,8 @@
#define EXT_OR_CONN_STATE_FLUSHING 5
#define EXT_OR_CONN_STATE_MAX_ 5
#ifdef HAVE_MODULE_RELAY
int connection_ext_or_start_auth(or_connection_t *or_conn);
void connection_or_set_ext_or_identifier(or_connection_t *conn);
@@ -45,6 +47,41 @@ int init_ext_or_cookie_authentication(int is_enabled);
char *get_ext_or_auth_cookie_file_name(void);
void ext_orport_free_all(void);
#else /* !defined(HAVE_MODULE_RELAY) */
static inline int
connection_ext_or_start_auth(or_connection_t *conn)
{
(void)conn;
tor_assert_nonfatal_unreached();
return -1;
}
static inline int
connection_ext_or_finished_flushing(or_connection_t *conn)
{
(void)conn;
tor_assert_nonfatal_unreached();
return -1;
}
static inline int
connection_ext_or_process_inbuf(or_connection_t *conn)
{
(void)conn;
tor_assert_nonfatal_unreached();
return -1;
}
#define connection_or_set_ext_or_identifier(conn) \
((void)(conn))
#define connection_or_remove_from_ext_or_id_map(conn) \
((void)(conn))
#define connection_or_clear_ext_or_id_map() \
STMT_NIL
#define get_ext_or_auth_cookie_file_name() \
(NULL)
#endif /* defined(HAVE_MODULE_RELAY) */
#ifdef EXT_ORPORT_PRIVATE
STATIC int connection_write_ext_or_command(connection_t *conn,
uint16_t command,
+1 -1
View File
@@ -2,7 +2,6 @@
# Legacy shared relay code: migrate to the relay module over time
LIBTOR_APP_A_SOURCES += \
src/feature/relay/dns.c \
src/feature/relay/ext_orport.c \
src/feature/relay/onion_queue.c \
src/feature/relay/router.c \
src/feature/relay/routerkeys.c \
@@ -12,6 +11,7 @@ LIBTOR_APP_A_SOURCES += \
# ADD_C_FILE: INSERT SOURCES HERE.
MODULE_RELAY_SOURCES = \
src/feature/relay/ext_orport.c \
src/feature/relay/routermode.c \
src/feature/relay/relay_config.c \
src/feature/relay/relay_periodic.c \