Mercurial > hg
changeset 429:0bb3d37579aa
Enable proxy support
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Sat, 10 Sep 2005 14:53:01 +0200 |
parents | 4470868f90e5 |
children | d03663d2e7d9 |
files | mcabber/mcabberrc.example mcabber/src/main.c |
diffstat | 2 files changed, 25 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mcabber/mcabberrc.example Sat Sep 10 14:51:57 2005 +0200 +++ b/mcabber/mcabberrc.example Sat Sep 10 14:53:01 2005 +0200 @@ -19,6 +19,14 @@ set resource = mcabber #set priority = 3 +# Proxy +# mcabber can use a proxy if it supports the CONNECT method +# The proxy_user/proxy_pass variables are optional. +#set proxy_host = "proxy-hostname" +#set proxy_port = 3128 +#set proxy_user = "username" +#set proxy_pass = "password" + # Keepalive # If you need a ping/keepalive to leave your connection open, you # can use the pinginterval. Setting this option to 0 disables the ping.
--- a/mcabber/src/main.c Sat Sep 10 14:51:57 2005 +0200 +++ b/mcabber/src/main.c Sat Sep 10 14:53:01 2005 +0200 @@ -46,6 +46,7 @@ void mcabber_connect(void) { const char *username, *password, *resource, *servername; + const char *proxy_host; char *jid; int ssl; unsigned int port; @@ -54,6 +55,7 @@ username = settings_opt_get("username"); password = settings_opt_get("password"); resource = settings_opt_get("resource"); + proxy_host = settings_opt_get("proxy_host"); if (!servername) { scr_LogPrint(LPRINT_NORMAL, "Server name has not been specified!"); @@ -81,6 +83,21 @@ if (port) scr_LogPrint(LPRINT_NORMAL|LPRINT_DEBUG, " using port %d", port); + if (proxy_host) { + int proxy_port = settings_opt_get_int("proxy_port"); + if (proxy_port <= 0 || proxy_port > 65535) { + scr_LogPrint(LPRINT_LOGNORM, "Invalid proxy port: %d", proxy_port); + } else { + const char *proxy_user, *proxy_pass; + proxy_user = settings_opt_get("proxy_user"); + proxy_pass = settings_opt_get("proxy_pass"); + // Proxy initialization + cw_setproxy(proxy_host, proxy_port, proxy_user, proxy_pass); + scr_LogPrint(LPRINT_NORMAL|LPRINT_DEBUG, " using proxy %s:%d", + proxy_host, proxy_port); + } + } + jid = compose_jid(username, servername, resource); jc = jb_connect(jid, servername, port, ssl, password); g_free(jid);