Mercurial > pidgin
comparison src/proxy.c @ 5872:059d95c67cda
[gaim-migrate @ 6304]
The legendary Header File Cleanup! Files now only include what they need.
This should reduce the number of files that must recompile when a header
file changes. It's a lot nicer. Trust me on it. I also added a couple new
header files. I hope I didn't break TOO much!
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Sat, 14 Jun 2003 23:21:02 +0000 |
parents | 46d7ad0dfa26 |
children | 730015652f4d |
comparison
equal
deleted
inserted
replaced
5871:508adf90fbb9 | 5872:059d95c67cda |
---|---|
25 | 25 |
26 /* this is a little piece of code to handle proxy connection */ | 26 /* this is a little piece of code to handle proxy connection */ |
27 /* it is intended to : 1st handle http proxy, using the CONNECT command | 27 /* it is intended to : 1st handle http proxy, using the CONNECT command |
28 , 2nd provide an easy way to add socks support */ | 28 , 2nd provide an easy way to add socks support */ |
29 | 29 |
30 #ifdef HAVE_CONFIG_H | 30 #include "internal.h" |
31 #include "config.h" | 31 #include "debug.h" |
32 #endif | 32 #include "prefs.h" |
33 #include <stdio.h> | |
34 #include <stdlib.h> | |
35 #include <string.h> | |
36 #include <sys/types.h> | |
37 #include <sys/time.h> | |
38 | |
39 #ifndef _WIN32 | |
40 #include <sys/socket.h> | |
41 #include <netdb.h> | |
42 #include <netinet/in.h> | |
43 #include <arpa/inet.h> | |
44 #include <unistd.h> | |
45 #include <signal.h> | |
46 #else | |
47 #include <winsock.h> | |
48 #endif | |
49 | |
50 #include <fcntl.h> | |
51 #include <errno.h> | |
52 #include "gaim.h" | |
53 #include "proxy.h" | 33 #include "proxy.h" |
54 #include "prefs.h" | 34 #include "util.h" |
55 | |
56 #ifdef _WIN32 | |
57 #include "win32dep.h" | |
58 #endif | |
59 | 35 |
60 #define GAIM_READ_COND (G_IO_IN | G_IO_HUP | G_IO_ERR) | 36 #define GAIM_READ_COND (G_IO_IN | G_IO_HUP | G_IO_ERR) |
61 #define GAIM_WRITE_COND (G_IO_OUT | G_IO_HUP | G_IO_ERR | G_IO_NVAL) | 37 #define GAIM_WRITE_COND (G_IO_OUT | G_IO_HUP | G_IO_ERR | G_IO_NVAL) |
62 | 38 |
63 static GaimProxyInfo *global_proxy_info = NULL; | 39 static GaimProxyInfo *global_proxy_info = NULL; |
64 static gboolean global_proxy_info_from_prefs = FALSE; | 40 static gboolean global_proxy_info_from_prefs = FALSE; |
41 | |
42 static int opt_debug = 0; | |
65 | 43 |
66 struct PHB { | 44 struct PHB { |
67 GaimInputFunction func; | 45 GaimInputFunction func; |
68 gpointer data; | 46 gpointer data; |
69 char *host; | 47 char *host; |
595 struct timeval tv = { .tv_sec = 40 , .tv_usec = 0 }; | 573 struct timeval tv = { .tv_sec = 40 , .tv_usec = 0 }; |
596 FD_ZERO(&fds); | 574 FD_ZERO(&fds); |
597 FD_SET(child_in[0], &fds); | 575 FD_SET(child_in[0], &fds); |
598 rc = select(child_in[0]+1, &fds, NULL, NULL, &tv); | 576 rc = select(child_in[0]+1, &fds, NULL, NULL, &tv); |
599 if(!rc) { | 577 if(!rc) { |
600 if(opt_debug) | 578 if (opt_debug) |
601 fprintf(stderr,"dns[%d]: nobody needs me... =(\n", getpid()); | 579 fprintf(stderr,"dns[%d]: nobody needs me... =(\n", getpid()); |
602 break; | 580 break; |
603 } | 581 } |
604 rc = read(child_in[0], &dns_params, sizeof(dns_params)); | 582 rc = read(child_in[0], &dns_params, sizeof(dns_params)); |
605 if(rc < 0) { | 583 if(rc < 0) { |
1390 int i; | 1368 int i; |
1391 struct PHB *phb = data; | 1369 struct PHB *phb = data; |
1392 unsigned int len; | 1370 unsigned int len; |
1393 int error = ETIMEDOUT; | 1371 int error = ETIMEDOUT; |
1394 | 1372 |
1395 gaim_debug(GAIM_INFO, "socks5 proxy", "Connected.\n"); | 1373 gaim_debug(GAIM_DEBUG_INFO, "socks5 proxy", "Connected.\n"); |
1396 | 1374 |
1397 if (phb->inpa > 0) | 1375 if (phb->inpa > 0) |
1398 gaim_input_remove(phb->inpa); | 1376 gaim_input_remove(phb->inpa); |
1399 | 1377 |
1400 len = sizeof(error); | 1378 len = sizeof(error); |