mod_presence: Advertise support for Subscription Pre-Approval
authorKim Alvefur <zash@zash.se>
Thu, 19 Mar 2020 00:10:15 +0100
changeset 10698 0cda5d597607
parent 10697 76bb806cdd4b
child 10699 52886aad9ee1
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
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");