ayttm-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Ayttm-commits] CVS: ayttm/libproxy libproxy.h,1.2,1.3 proxy.c,1.2,1.3


From: Colin Leroy <address@hidden>
Subject: [Ayttm-commits] CVS: ayttm/libproxy libproxy.h,1.2,1.3 proxy.c,1.2,1.3
Date: Mon, 24 Mar 2003 04:54:38 -0500

Update of /cvsroot/ayttm/ayttm/libproxy
In directory subversions:/tmp/cvs-serv25056/libproxy

Modified Files:
        libproxy.h proxy.c 
Log Message:
Implement async connect
Fix status keeping online when login errors happene


Index: libproxy.h
===================================================================
RCS file: /cvsroot/ayttm/ayttm/libproxy/libproxy.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- libproxy.h  24 Jan 2003 10:15:35 -0000      1.2
+++ libproxy.h  24 Mar 2003 09:54:36 -0000      1.3
@@ -50,7 +50,7 @@
 
 /* connect function */
 extern int proxy_connect(int  sockfd, struct sockaddr *serv_addr, int
-                        addrlen ) ;
+                        addrlen, void *cb, void *data) ;
 
 /* proxy setting */
 extern int proxy_set_proxy(int proxy_type,char *proxy_host,int proxy_port);

Index: proxy.c
===================================================================
RCS file: /cvsroot/ayttm/ayttm/libproxy/proxy.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- proxy.c     1 Jan 2003 17:32:43 -0000       1.2
+++ proxy.c     24 Mar 2003 09:54:36 -0000      1.3
@@ -46,6 +46,8 @@
 
 #include "config.h"
 #include "libproxy.h"
+#include "tcp_util.h"
+
 static int proxy_inited=0;
 int proxy_type = PROXY_NONE;
 char *proxy_host;
@@ -700,7 +702,7 @@
    return (http_tunnel_init(sockfd, serv_addr, addrlen));       
 }
 
-int proxy_connect(int  sockfd, struct sockaddr *serv_addr, int addrlen )
+int proxy_connect(int  sockfd, struct sockaddr *serv_addr, int addrlen, void 
*cb, void *data)
 {
    int tmp;
    if (!proxy_inited)
@@ -708,9 +710,16 @@
 
    switch (proxy_type) {
       case PROXY_NONE:    /* No proxy */
-             tmp=(connect(sockfd,serv_addr,addrlen));
-              sleep(2);
-              return tmp;
+             if (!cb) {
+                     tmp=(connect(sockfd,serv_addr,addrlen));
+                     return tmp;
+             } else {
+                     struct sockaddr_in *sin = (struct sockaddr_in *)serv_addr;
+                     return ay_socket_new_async(
+                                     inet_ntoa(sin->sin_addr), 
+                                     ntohs(sin->sin_port), 
+                                     (ay_socket_callback)cb, data);     
+             }
              break;
       case PROXY_HTTP:    /* Http proxy */
          return ( http_connect(sockfd, serv_addr, addrlen) < 0 ? -1 : 0 );





reply via email to

[Prev in Thread] Current Thread [Next in Thread]