From c0b0c818027d7070e7d1539a31e5d9fce2cb9f73 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Thu, 19 Mar 2020 00:10:15 +0100 Subject: mod_presence: Advertise support for Subscription Pre-Approval MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- plugins/mod_presence.lua | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/plugins/mod_presence.lua b/plugins/mod_presence.lua index e69c31a5..d6e2b2b7 100644 --- a/plugins/mod_presence.lua +++ b/plugins/mod_presence.lua @@ -30,6 +30,14 @@ local recalc_resource_map = require "util.presence".recalc_resource_map; 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"); -- cgit v1.2.3