X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/2d129d8e8a31317a35f2ddf0a5a888fecbe3649b..114a251878bd8d087bbe468d20876db48841f8cf:/proxy.c diff --git a/proxy.c b/proxy.c index 9e3684ce..0760e7e8 100644 --- a/proxy.c +++ b/proxy.c @@ -5,9 +5,9 @@ * code and the higher level backend. */ -#include - #include +#include +#include #define DEFINE_PLUG_METHOD_MACROS #include "putty.h" @@ -153,7 +153,7 @@ static void sk_proxy_set_frozen (Socket s, int is_frozen) * so we have to check each time. */ while (!ps->freeze && bufchain_size(&ps->pending_input_data) > 0) { - char * data; + void *data; int len; bufchain_prefix(&ps->pending_input_data, &data, &len); plug_receive(ps->plug, 0, data, len); @@ -312,7 +312,7 @@ Socket new_connection(SockAddr addr, char *hostname, int port, int privport, int oobinline, int nodelay, Plug plug) { - static struct socket_function_table socket_fn_table = { + static const struct socket_function_table socket_fn_table = { sk_proxy_plug, sk_proxy_close, sk_proxy_write, @@ -324,7 +324,7 @@ Socket new_connection(SockAddr addr, char *hostname, sk_proxy_socket_error }; - static struct plug_function_table plug_fn_table = { + static const struct plug_function_table plug_fn_table = { plug_proxy_closing, plug_proxy_receive, plug_proxy_sent, @@ -639,14 +639,14 @@ int proxy_socks4_negotiate (Proxy_Socket p, int change) int length; char * command; - if (sk_addrtype(p->remote_addr) != AF_INET) { + if (sk_addrtype(p->remote_addr) != ADDRTYPE_IPV4) { plug_closing(p->plug, "Proxy error: SOCKS version 4 does" " not support IPv6", PROXY_ERROR_GENERAL, 0); return 1; } length = strlen(cfg.proxy_username) + 9; - command = (char*) malloc(length); + command = (char*) smalloc(length); strcpy(command + 8, cfg.proxy_username); command[0] = 4; /* version 4 */ @@ -660,7 +660,7 @@ int proxy_socks4_negotiate (Proxy_Socket p, int change) sk_addrcopy(p->remote_addr, command + 4); sk_write(p->sub_socket, command, length); - free(command); + sfree(command); p->state = 1; return 0; @@ -929,7 +929,7 @@ int proxy_socks5_negotiate (Proxy_Socket p, int change) char command[22]; int len; - if (sk_addrtype(p->remote_addr) == AF_INET) { + if (sk_addrtype(p->remote_addr) == ADDRTYPE_IPV6) { len = 10; command[3] = 1; /* IPv4 */ } else {