This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
stellar-stellar/decoders/socks/socks_decoder_internal.h

56 lines
1.1 KiB
C

#include "stellar/socks_decoder.h"
#define SOCKS_FIELD_VER_4 4
#define SOCKS_FIELD_VER_5 5
#define SOCKS5_REQUEST_METHOD_MIN_LEN 3
#define SOCKS5_REQUEST_MIN_LEN 6
#define SOCKS_VERSION_TYPE_SOCKS4 4
#define SOCKS_VERSION_TYPE_SOCKS5 5
#define SOCKS_CMD_CONNECT 0x01
#define SOCKS_CMD_BIND 0x02
#define SOCKS_CMD_UDP 0x03
#define SOCKS5_RSV_DEFAULT 0
#define SOCKS_ATYPE_IP4 1
#define SOCKS_ATYPE_IP6 4
#define SOCKS_ATYPE_FQDN 3
#define SOCKS5_AUTH_NONE 0x00
#define SOCKS5_AUTH_PASS 0x02
#define SOCKS_LOG_MOUDLE "SOCKS_DECODER"
struct socks_decoder_info
{
int plugin_id;
int sess_exdata_idx;
struct stellar *st;
struct logger *log_handle;
int socks_decoder_topic_id;
int tcp_topic_id;
};
enum socks_establish_state
{
SS_BEGIN = 0,
SS_SUB,
SS_END,
SS_FAILED
};
enum socks_internal_state
{
STATE_INIT,
STATE_OPENING,
STATE_FAILED
};
struct socks_tunnel_stream
{
enum socks_internal_state state;
enum socks_establish_state client_state;
enum socks_establish_state server_state;
struct socks_info info;
};