commit 31897a256c129c12c5a406e630d0d4aaeb7728fd Author: Nick Mathewson nickm@torproject.org Date: Fri Jun 29 10:59:23 2018 -0400
Extract socks5_status_t
I'm not sure of the best place to put this header long-term, since both or/*.c and tools/tor-resolve.c use it. --- src/common/compat.h | 13 ------------- src/common/include.am | 1 + src/common/socks5_status.h | 22 ++++++++++++++++++++++ src/or/reasons.h | 3 ++- src/test/test_socks.c | 2 +- src/tools/tor-resolve.c | 1 + 6 files changed, 27 insertions(+), 15 deletions(-)
diff --git a/src/common/compat.h b/src/common/compat.h index 6ac958c01..48e6d916a 100644 --- a/src/common/compat.h +++ b/src/common/compat.h @@ -68,19 +68,6 @@
/* ===== Net compatibility */
-/** Specified SOCKS5 status codes. */ -typedef enum { - SOCKS5_SUCCEEDED = 0x00, - SOCKS5_GENERAL_ERROR = 0x01, - SOCKS5_NOT_ALLOWED = 0x02, - SOCKS5_NET_UNREACHABLE = 0x03, - SOCKS5_HOST_UNREACHABLE = 0x04, - SOCKS5_CONNECTION_REFUSED = 0x05, - SOCKS5_TTL_EXPIRED = 0x06, - SOCKS5_COMMAND_NOT_SUPPORTED = 0x07, - SOCKS5_ADDRESS_TYPE_NOT_SUPPORTED = 0x08, -} socks5_reply_status_t; - /* ===== OS compatibility */
/* This needs some of the declarations above so we include it here. */ diff --git a/src/common/include.am b/src/common/include.am index 9bc9bb65b..899e76364 100644 --- a/src/common/include.am +++ b/src/common/include.am @@ -54,6 +54,7 @@ COMMONHEADERS = \ src/common/compat_libevent.h \ src/common/handles.h \ src/common/procmon.h \ + src/common/socks5_status.h \ src/common/timers.h \ src/common/token_bucket.h \ src/common/util.h \ diff --git a/src/common/socks5_status.h b/src/common/socks5_status.h new file mode 100644 index 000000000..74b9c9102 --- /dev/null +++ b/src/common/socks5_status.h @@ -0,0 +1,22 @@ +/* Copyright (c) 2003-2004, Roger Dingledine + * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson. + * Copyright (c) 2007-2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +#ifndef TOR_SOCKS5_STATUS_H +#define TOR_SOCKS5_STATUS_H + +/** Specified SOCKS5 status codes. */ +typedef enum { + SOCKS5_SUCCEEDED = 0x00, + SOCKS5_GENERAL_ERROR = 0x01, + SOCKS5_NOT_ALLOWED = 0x02, + SOCKS5_NET_UNREACHABLE = 0x03, + SOCKS5_HOST_UNREACHABLE = 0x04, + SOCKS5_CONNECTION_REFUSED = 0x05, + SOCKS5_TTL_EXPIRED = 0x06, + SOCKS5_COMMAND_NOT_SUPPORTED = 0x07, + SOCKS5_ADDRESS_TYPE_NOT_SUPPORTED = 0x08, +} socks5_reply_status_t; + +#endif diff --git a/src/or/reasons.h b/src/or/reasons.h index d9516a3e2..8f4d7c6bc 100644 --- a/src/or/reasons.h +++ b/src/or/reasons.h @@ -12,6 +12,8 @@ #ifndef TOR_REASONS_H #define TOR_REASONS_H
+#include "common/socks5_status.h" + const char *stream_end_reason_to_control_string(int reason); const char *stream_end_reason_to_string(int reason); socks5_reply_status_t stream_end_reason_to_socks5_response(int reason); @@ -29,4 +31,3 @@ const char *bandwidth_weight_rule_to_string(enum bandwidth_weight_rule_t rule); const char *end_reason_to_http_connect_response_line(int endreason);
#endif /* !defined(TOR_REASONS_H) */ - diff --git a/src/test/test_socks.c b/src/test/test_socks.c index 1d2c0cf2b..3e4528af2 100644 --- a/src/test/test_socks.c +++ b/src/test/test_socks.c @@ -10,6 +10,7 @@ #include "test/test.h" #include "test/log_test_helpers.h" #include "or/socks_request_st.h" +#include "common/socks5_status.h"
typedef struct socks_test_data_t { socks_request_t *req; @@ -1047,4 +1048,3 @@ struct testcase_t socks_tests[] = {
END_OF_TESTCASES }; - diff --git a/src/tools/tor-resolve.c b/src/tools/tor-resolve.c index 15be12af8..408803462 100644 --- a/src/tools/tor-resolve.c +++ b/src/tools/tor-resolve.c @@ -9,6 +9,7 @@ #include "lib/net/address.h" #include "lib/log/torlog.h" #include "lib/sandbox/sandbox.h" +#include "common/socks5_status.h"
#include <stdio.h> #include <stdlib.h>