aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2018-06-29 10:59:23 -0400
committerNick Mathewson <nickm@torproject.org>2018-06-29 12:21:52 -0400
commit31897a256c129c12c5a406e630d0d4aaeb7728fd (patch)
tree568a062eddcad53272ca1d6156985a7d69828175
parent080069c7b37d398447fe63bb3941d4412587978c (diff)
downloadtor-31897a256c129c12c5a406e630d0d4aaeb7728fd.tar.gz
tor-31897a256c129c12c5a406e630d0d4aaeb7728fd.zip
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.
-rw-r--r--src/common/compat.h13
-rw-r--r--src/common/include.am1
-rw-r--r--src/common/socks5_status.h22
-rw-r--r--src/or/reasons.h3
-rw-r--r--src/test/test_socks.c2
-rw-r--r--src/tools/tor-resolve.c1
6 files changed, 27 insertions, 15 deletions
diff --git a/src/common/compat.h b/src/common/compat.h
index 6ac958c01f..48e6d916a3 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 9bc9bb65bd..899e76364f 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 0000000000..74b9c91023
--- /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 d9516a3e2b..8f4d7c6bcc 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 1d2c0cf2b5..3e4528af27 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 15be12af8e..408803462b 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>