Justin Bradford's patch for increased proxy robustness.
[u/mdw/putty] / proxy.h
diff --git a/proxy.h b/proxy.h
index 43d92cb..6e64114 100644 (file)
--- a/proxy.h
+++ b/proxy.h
@@ -4,8 +4,7 @@
  * A proxy layer, if necessary, wedges itself between the
  * network code and the higher level backend.
  *
- * Supported proxies: HTTP CONNECT, generic telnet
- * In progress: SOCKS
+ * Supported proxies: HTTP CONNECT, generic telnet, SOCKS 4 & 5
  */
 
 #ifndef PUTTY_PROXY_H
@@ -80,24 +79,6 @@ struct Socket_proxy_tag {
     /* accepting */
     void *accepting_sock;
 
-    /* spin locks, for the critical switch from negotiating
-     * to active state. we have to dump all of our pending
-     * buffers without new events (read, writes, etc) corrupting
-     * things. we should not have built up a large amount of
-     * pending data during negotiation, so hopefully this will
-     * not have a large effect on performance.
-     */
-
-    char lock_close;
-    char lock_write;
-    char lock_write_oob;
-    char lock_receive;
-    char lock_flush;
-    char lock_closing;
-    char lock_sent;
-    char lock_accepting;
-    char lock_freeze;
-
 };
 
 typedef struct Plug_proxy_tag * Proxy_Plug;
@@ -114,6 +95,7 @@ extern void proxy_activate (Proxy_Socket);
 
 extern int proxy_http_negotiate (Proxy_Socket, int);
 extern int proxy_telnet_negotiate (Proxy_Socket, int);
-extern int proxy_socks_negotiate (Proxy_Socket, int);
+extern int proxy_socks4_negotiate (Proxy_Socket, int);
+extern int proxy_socks5_negotiate (Proxy_Socket, int);
 
 #endif