Mercurial > hg
comparison mcabber/src/main.c @ 429:0bb3d37579aa
Enable proxy support
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Sat, 10 Sep 2005 14:53:01 +0200 |
parents | 5692c3a13202 |
children | 2ea7591584ab |
comparison
equal
deleted
inserted
replaced
428:4470868f90e5 | 429:0bb3d37579aa |
---|---|
44 | 44 |
45 | 45 |
46 void mcabber_connect(void) | 46 void mcabber_connect(void) |
47 { | 47 { |
48 const char *username, *password, *resource, *servername; | 48 const char *username, *password, *resource, *servername; |
49 const char *proxy_host; | |
49 char *jid; | 50 char *jid; |
50 int ssl; | 51 int ssl; |
51 unsigned int port; | 52 unsigned int port; |
52 | 53 |
53 servername = settings_opt_get("server"); | 54 servername = settings_opt_get("server"); |
54 username = settings_opt_get("username"); | 55 username = settings_opt_get("username"); |
55 password = settings_opt_get("password"); | 56 password = settings_opt_get("password"); |
56 resource = settings_opt_get("resource"); | 57 resource = settings_opt_get("resource"); |
58 proxy_host = settings_opt_get("proxy_host"); | |
57 | 59 |
58 if (!servername) { | 60 if (!servername) { |
59 scr_LogPrint(LPRINT_NORMAL, "Server name has not been specified!"); | 61 scr_LogPrint(LPRINT_NORMAL, "Server name has not been specified!"); |
60 return; | 62 return; |
61 } | 63 } |
78 /* Connect to server */ | 80 /* Connect to server */ |
79 scr_LogPrint(LPRINT_NORMAL|LPRINT_DEBUG, "Connecting to server: %s", | 81 scr_LogPrint(LPRINT_NORMAL|LPRINT_DEBUG, "Connecting to server: %s", |
80 servername); | 82 servername); |
81 if (port) | 83 if (port) |
82 scr_LogPrint(LPRINT_NORMAL|LPRINT_DEBUG, " using port %d", port); | 84 scr_LogPrint(LPRINT_NORMAL|LPRINT_DEBUG, " using port %d", port); |
85 | |
86 if (proxy_host) { | |
87 int proxy_port = settings_opt_get_int("proxy_port"); | |
88 if (proxy_port <= 0 || proxy_port > 65535) { | |
89 scr_LogPrint(LPRINT_LOGNORM, "Invalid proxy port: %d", proxy_port); | |
90 } else { | |
91 const char *proxy_user, *proxy_pass; | |
92 proxy_user = settings_opt_get("proxy_user"); | |
93 proxy_pass = settings_opt_get("proxy_pass"); | |
94 // Proxy initialization | |
95 cw_setproxy(proxy_host, proxy_port, proxy_user, proxy_pass); | |
96 scr_LogPrint(LPRINT_NORMAL|LPRINT_DEBUG, " using proxy %s:%d", | |
97 proxy_host, proxy_port); | |
98 } | |
99 } | |
83 | 100 |
84 jid = compose_jid(username, servername, resource); | 101 jid = compose_jid(username, servername, resource); |
85 jc = jb_connect(jid, servername, port, ssl, password); | 102 jc = jb_connect(jid, servername, port, ssl, password); |
86 g_free(jid); | 103 g_free(jid); |
87 | 104 |