Browse Source

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.
Nick Mathewson 5 years ago
parent
commit
31897a256c
6 changed files with 27 additions and 15 deletions
  1. 0 13
      src/common/compat.h
  2. 1 0
      src/common/include.am
  3. 22 0
      src/common/socks5_status.h
  4. 2 1
      src/or/reasons.h
  5. 1 1
      src/test/test_socks.c
  6. 1 0
      src/tools/tor-resolve.c

+ 0 - 13
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. */

+ 1 - 0
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				\

+ 22 - 0
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

+ 2 - 1
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) */
-

+ 1 - 1
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
 };
-

+ 1 - 0
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>