OpenVPN
Macros | Functions
socks.c File Reference
#include "syshead.h"
#include "common.h"
#include "misc.h"
#include "win32.h"
#include "socket.h"
#include "fdmisc.h"
#include "proxy.h"
#include "memdbg.h"
Include dependency graph for socks.c:

Go to the source code of this file.

Macros

#define UP_TYPE_SOCKS   "SOCKS Proxy"
 

Functions

void socks_adjust_frame_parameters (struct frame *frame, int proto)
 
struct socks_proxy_infosocks_proxy_new (const char *server, const char *port, const char *authfile)
 
void socks_proxy_close (struct socks_proxy_info *sp)
 
static bool socks_username_password_auth (struct socks_proxy_info *p, socket_descriptor_t sd, volatile int *signal_received)
 
static bool socks_handshake (struct socks_proxy_info *p, socket_descriptor_t sd, volatile int *signal_received)
 
static bool recv_socks_reply (socket_descriptor_t sd, struct openvpn_sockaddr *addr, volatile int *signal_received)
 
static int port_from_servname (const char *servname)
 
void establish_socks_proxy_passthru (struct socks_proxy_info *p, socket_descriptor_t sd, const char *host, const char *servname, volatile int *signal_received)
 
void establish_socks_proxy_udpassoc (struct socks_proxy_info *p, socket_descriptor_t ctrl_sd, socket_descriptor_t udp_sd, struct openvpn_sockaddr *relay_addr, volatile int *signal_received)
 
void socks_process_incoming_udp (struct buffer *buf, struct link_socket_actual *from)
 
int socks_process_outgoing_udp (struct buffer *buf, const struct link_socket_actual *to)
 

Macro Definition Documentation

◆ UP_TYPE_SOCKS

#define UP_TYPE_SOCKS   "SOCKS Proxy"

Definition at line 50 of file socks.c.

Referenced by socks_username_password_auth().

Function Documentation

◆ establish_socks_proxy_passthru()

void establish_socks_proxy_passthru ( struct socks_proxy_info p,
socket_descriptor_t  sd,
const char *  host,
const char *  servname,
volatile int *  signal_received 
)

◆ establish_socks_proxy_udpassoc()

void establish_socks_proxy_udpassoc ( struct socks_proxy_info p,
socket_descriptor_t  ctrl_sd,
socket_descriptor_t  udp_sd,
struct openvpn_sockaddr relay_addr,
volatile int *  signal_received 
)

Definition at line 507 of file socks.c.

References CLEAR, D_LINK_ERRORS, M_ERRNO, msg, MSG_NOSIGNAL, recv_socks_reply(), SIGUSR1, socks_handshake(), and ssize_t.

Referenced by phase2_socks_client().

◆ port_from_servname()

static int port_from_servname ( const char *  servname)
static

Definition at line 424 of file socks.c.

References service.

Referenced by establish_socks_proxy_passthru().

◆ recv_socks_reply()

static bool recv_socks_reply ( socket_descriptor_t  sd,
struct openvpn_sockaddr addr,
volatile int *  signal_received 
)
static

◆ socks_adjust_frame_parameters()

void socks_adjust_frame_parameters ( struct frame frame,
int  proto 
)

Definition at line 53 of file socks.c.

References frame_add_to_extra_link(), and PROTO_UDP.

Referenced by do_init_frame().

◆ socks_handshake()

static bool socks_handshake ( struct socks_proxy_info p,
socket_descriptor_t  sd,
volatile int *  signal_received 
)
static

◆ socks_process_incoming_udp()

void socks_process_incoming_udp ( struct buffer buf,
struct link_socket_actual from 
)

◆ socks_process_outgoing_udp()

int socks_process_outgoing_udp ( struct buffer buf,
const struct link_socket_actual to 
)

◆ socks_proxy_close()

void socks_proxy_close ( struct socks_proxy_info sp)

Definition at line 91 of file socks.c.

References free.

Referenced by uninit_proxy_dowork().

◆ socks_proxy_new()

struct socks_proxy_info* socks_proxy_new ( const char *  server,
const char *  port,
const char *  authfile 
)

◆ socks_username_password_auth()

static bool socks_username_password_auth ( struct socks_proxy_info p,
socket_descriptor_t  sd,
volatile int *  signal_received 
)
static