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.
This commit is contained in:
Nick Mathewson 2018-06-29 10:59:23 -04:00
parent 080069c7b3
commit 31897a256c
6 changed files with 27 additions and 15 deletions

View File

@ -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. */

View File

@ -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 \

View File

@ -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

View File

@ -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) */

View File

@ -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
};

View File

@ -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>