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