X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=proxy.h;h=35c57982560b60b58f1a2ca3c329eccff2025d33;hb=0efa9febcaefb58ccd810a0aa8ed7b3a7f34db1c;hp=2bd522031b3bb1bb150f0421b587b5030dac1542;hpb=6bb121ecb910115abe2ccba60938d18cbf826934;p=PuTTY.git diff --git a/proxy.h b/proxy.h index 2bd52203..35c57982 100644 --- a/proxy.h +++ b/proxy.h @@ -77,10 +77,16 @@ struct Socket_proxy_tag { int sent_bufsize; /* accepting */ - void *accepting_sock; + OSSocket accepting_sock; /* configuration, used to look up proxy settings */ Config cfg; + + /* 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; @@ -100,4 +106,18 @@ extern int proxy_telnet_negotiate (Proxy_Socket, int); extern int proxy_socks4_negotiate (Proxy_Socket, int); 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); + +/* + * 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