Mercurial > prosody-modules
comparison mod_s2s_never_encrypt_blacklist/mod_s2s_never_encrypt_blacklist.lua @ 924:0a78ac54bd03
mod_s2s_never_encrypt_blacklist: conn objects on libev carry a metatable, perhaps have starttls set to false instead of nil.
author | Marco Cirillo <maranda@lightwitch.org> |
---|---|
date | Thu, 07 Mar 2013 18:26:07 +0100 |
parents | 5f38d762d071 |
children | c08b424583c3 |
comparison
equal
deleted
inserted
replaced
923:5f38d762d071 | 924:0a78ac54bd03 |
---|---|
1 -- Filter out servers which gets choppy and buggy when it comes to starttls. | 1 -- Filter out servers which gets choppy and buggy when it comes to starttls. |
2 | 2 |
3 local bad_servers = module:get_option_set("tls_s2s_blacklist", {}) | 3 local bad_servers = module:get_option_set("tls_s2s_blacklist", {}) |
4 local bad_servers_ip = module:get_option_set("tls_s2s_blacklist_ip", {}) | 4 local bad_servers_ip = module:get_option_set("tls_s2s_blacklist_ip", {}) |
5 local libev = module:get_option_boolean("use_libevent") | |
5 | 6 |
6 local function disable_tls_for_baddies_in(event) | 7 local function disable_tls_for_baddies_in(event) |
7 local session = event.origin | 8 local session = event.origin |
8 if bad_servers:contains(session.from_host) or bad_servers_ip:contains(session.conn:ip()) then | 9 if bad_servers:contains(session.from_host) or bad_servers_ip:contains(session.conn:ip()) then |
9 module:log("debug", "disabling tls on incoming stream from %s...", tostring(session.from_host)); | 10 module:log("debug", "disabling tls on incoming stream from %s...", tostring(session.from_host)); |
10 session.conn.starttls = nil; | 11 if libev then session.conn.starttls = false; else session.conn.starttls = nil; end |
11 end | 12 end |
12 end | 13 end |
13 | 14 |
14 local function disable_tls_for_baddies_out(event) | 15 local function disable_tls_for_baddies_out(event) |
15 local session = event.origin | 16 local session = event.origin |
16 if bad_servers:contains(session.to_host) then | 17 if bad_servers:contains(session.to_host) then |
17 module:log("debug", "disabling tls on outgoing stream from %s...", tostring(session.to_host)); | 18 module:log("debug", "disabling tls on outgoing stream from %s...", tostring(session.to_host)); |
18 session.conn.starttls = nil; | 19 if libev then session.conn.starttls = false; else session.conn.starttls = nil; end |
19 end | 20 end |
20 end | 21 end |
21 | 22 |
22 module:hook("s2s-stream-features", disable_tls_for_baddies_in, 600) | 23 module:hook("s2s-stream-features", disable_tls_for_baddies_in, 600) |
23 module:hook("stanza/http://etherx.jabber.org/streams:features", disable_tls_for_baddies_out, 600) | 24 module:hook("stanza/http://etherx.jabber.org/streams:features", disable_tls_for_baddies_out, 600) |