aboutsummaryrefslogtreecommitdiffstats
path: root/protocols
diff options
context:
space:
mode:
authordequis <dx@dxzone.com.ar>2015-10-21 10:14:17 -0300
committerdequis <dx@dxzone.com.ar>2015-10-21 10:14:17 -0300
commit12f041de930a20a3df91f9f90c4fd518162ea82c (patch)
treebfe4f8b160ea4707d2600b73eb0e28d3b5f505c8 /protocols
parent3314ced0efff64ce4f92caf24b9272f5249c3a17 (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')
-rw-r--r--protocols/purple/purple.c7
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;