Mercurial > prosody-modules
view mod_s2s_never_encrypt_blacklist/mod_s2s_never_encrypt_blacklist.lua @ 4738:5aee8d86629a
mod_bookmarks2: Fix handling of nick and password elements
This form of child retrieval fails when the stanza elements internally
don't have an 'xmlns' attribute, which can happen sometimes for some
reason, including when they have been constructed via the stanza builder
API. When that is the case then the explicit namespace arguemnt does not
match the nil value of the internal attribute. Calling `:get_child()`
without the namespace argument does the right thing here, with both nil
and the parent namespace as valid values for the internal attribute.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Wed, 03 Nov 2021 21:11:55 +0100 |
parents | 7dbde05b48a9 |
children |
line wrap: on
line source
-- Filter out servers which gets choppy and buggy when it comes to starttls. -- (C) 2011-2013, Marco Cirillo (LW.Org) local bad_servers = module:get_option_set("tls_s2s_blacklist", {}) local bad_servers_ip = module:get_option_set("tls_s2s_blacklist_ip", {}) local libev = module:get_option_boolean("use_libevent") local function disable_tls_for_baddies_in(event) local session = event.origin if bad_servers:contains(session.from_host) or bad_servers_ip:contains(session.conn:ip()) then module:log("debug", "disabling tls on incoming stream from %s...", tostring(session.from_host)); if libev then session.conn.starttls = false; else session.conn.starttls = nil; end end end local function disable_tls_for_baddies_out(event) local session = event.origin if bad_servers:contains(session.to_host) then module:log("debug", "disabling tls on outgoing stream from %s...", tostring(session.to_host)); if libev then session.conn.starttls = false; else session.conn.starttls = nil; end end end module:hook("s2s-stream-features", disable_tls_for_baddies_in, 600) module:hook("stanza/http://etherx.jabber.org/streams:features", disable_tls_for_baddies_out, 600)