# HG changeset patch # User Kim Alvefur # Date 1584573015 -3600 # Node ID 0cda5d5976079850d75045ed6aabc87ced8489d6 # Parent 76bb806cdd4bd55a635ade909876db3457ee26a1 mod_presence: Advertise support for Subscription Pre-Approval RFC 6121 ยง3.4 says: > If a server supports subscription pre-approvals, then it MUST > advertise the following stream feature during stream negotiation. The feature itself (#686) was added in f0e9e5bda415 diff -r 76bb806cdd4b -r 0cda5d597607 plugins/mod_presence.lua --- a/plugins/mod_presence.lua Wed Mar 18 17:42:56 2020 +0000 +++ b/plugins/mod_presence.lua Thu Mar 19 00:10:15 2020 +0100 @@ -30,6 +30,14 @@ local ignore_presence_priority = module:get_option_boolean("ignore_presence_priority", false); +local pre_approval_stream_feature = st.stanza("sub", {xmlns="urn:xmpp:features:pre-approval"}); +module:hook("stream-features", function(event) + local origin, features = event.origin, event.features; + if origin.username then + features:add_child(pre_approval_stream_feature); + end +end); + function handle_normal_presence(origin, stanza) if ignore_presence_priority then local priority = stanza:get_child("priority");