annotate mod_saslname/mod_saslname.lua @ 5296:0f5657db1cfc

mod_isolate_host: handle server-generated stanzas The hook for setting the no_host_isolation is only called for c2s sessions. This does not work for stanzas generated by the server, such as PEP notifications or presence probe answers. To handle that, we do per-stanza checks for the case that the origin is local.
author Jonas Schäfer <jonas@wielicki.name>
date Sat, 01 Apr 2023 12:03:08 +0200
parents e927d95512e8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1271
e927d95512e8 mod_saslname: XEP-0233 implementation
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 local hostname = module:get_option_string("sasl_hostname", module.host);
e927d95512e8 mod_saslname: XEP-0233 implementation
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2
e927d95512e8 mod_saslname: XEP-0233 implementation
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3 module:hook("stream-features", function(event)
e927d95512e8 mod_saslname: XEP-0233 implementation
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4 local features = event.features;
e927d95512e8 mod_saslname: XEP-0233 implementation
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5 local mechs = features:get_child("mechanisms", "urn:ietf:params:xml:ns:xmpp-sasl");
e927d95512e8 mod_saslname: XEP-0233 implementation
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6 if mechs then
e927d95512e8 mod_saslname: XEP-0233 implementation
Kim Alvefur <zash@zash.se>
parents:
diff changeset
7 mechs:tag("hostname", { xmlns = "urn:xmpp:domain-based-name:1" })
e927d95512e8 mod_saslname: XEP-0233 implementation
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8 :text(hostname):up();
e927d95512e8 mod_saslname: XEP-0233 implementation
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9 end
e927d95512e8 mod_saslname: XEP-0233 implementation
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10 end);