X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/blobdiff_plain/f7f9fb5cb0f779bc1a648b264805d7e12abc4260..3d5040f8f85f049cbb072a827a6184b4b4314b08:/proxy.h diff --git a/proxy.h b/proxy.h index 8f49e60b..10a8c677 100644 --- a/proxy.h +++ b/proxy.h @@ -30,6 +30,7 @@ struct Socket_proxy_tag { bufchain pending_oob_output_data; int pending_flush; bufchain pending_input_data; + int pending_eof; #define PROXY_STATE_NEW -1 #define PROXY_STATE_ACTIVE 0 @@ -80,7 +81,13 @@ struct Socket_proxy_tag { OSSocket accepting_sock; /* configuration, used to look up proxy settings */ - Config cfg; + Conf *conf; + + /* CHAP transient data */ + int chap_num_attributes; + int chap_num_attributes_processed; + int chap_current_attribute; + int chap_current_datalen; }; typedef struct Plug_proxy_tag * Proxy_Plug; @@ -104,6 +111,14 @@ extern int proxy_socks5_negotiate (Proxy_Socket, int); * This may be reused by local-command proxies on individual * platforms. */ -char *format_telnet_command(SockAddr addr, int port, const Config *cfg); +char *format_telnet_command(SockAddr addr, int port, Conf *conf); + +/* + * These are implemented in cproxy.c or nocproxy.c, depending on + * whether encrypted proxy authentication is available. + */ +extern void proxy_socks5_offerencryptedauth(char *command, int *len); +extern int proxy_socks5_handlechap (Proxy_Socket p); +extern int proxy_socks5_selectchap(Proxy_Socket p); #endif