diff options
author | dequis <dx@dxzone.com.ar> | 2015-10-21 10:14:17 -0300 |
---|---|---|
committer | dequis <dx@dxzone.com.ar> | 2015-10-21 10:14:17 -0300 |
commit | 12f041de930a20a3df91f9f90c4fd518162ea82c (patch) | |
tree | bfe4f8b160ea4707d2600b73eb0e28d3b5f505c8 /protocols/purple/purple.c | |
parent | 3314ced0efff64ce4f92caf24b9272f5249c3a17 (diff) |
socks4a proxy support (like socks4 with remote DNS)
Fixes trac ticket 995 https://bugs.bitlbee.org/bitlbee/ticket/995
This is slightly pointless for the suggested use case (tor), since with
socks5 we already send a hostname instead of an IP address.
Either way, it was easy to implement, so I hope it helps.
Diffstat (limited to 'protocols/purple/purple.c')
-rw-r--r-- | protocols/purple/purple.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/protocols/purple/purple.c b/protocols/purple/purple.c index b00d3078..a24b064a 100644 --- a/protocols/purple/purple.c +++ b/protocols/purple/purple.c @@ -121,6 +121,12 @@ static void purple_init(account_t *acc) purple_blist_load(); purple_prefs_load(); + + if (proxytype == PROXY_SOCKS4A) { + /* do this here after loading prefs. yes, i know, it sucks */ + purple_prefs_set_bool("/purple/proxy/socks4_remotedns", TRUE); + } + dir_fixed = TRUE; } @@ -1403,6 +1409,7 @@ void purple_initmodule() if (proxytype != PROXY_NONE) { PurpleProxyInfo *pi = purple_global_proxy_get_info(); switch (proxytype) { + case PROXY_SOCKS4A: case PROXY_SOCKS4: purple_proxy_info_set_type(pi, PURPLE_PROXY_SOCKS4); break; |