diff mod_cloud_notify_encrypted/mod_cloud_notify_encrypted.lua @ 4333:97f369745ec7

mod_cloud_notify_encrypted: Use new direct access to notification element
author Matthew Wild <mwild1@gmail.com>
date Wed, 13 Jan 2021 15:01:59 +0000
parents 2e355540f8c8
children 41ac0941b217
line wrap: on
line diff
--- a/mod_cloud_notify_encrypted/mod_cloud_notify_encrypted.lua	Wed Jan 13 15:00:41 2021 +0000
+++ b/mod_cloud_notify_encrypted/mod_cloud_notify_encrypted.lua	Wed Jan 13 15:01:59 2021 +0000
@@ -94,15 +94,10 @@
 	local encrypted_payload = base64.encode(ciphers.new("AES-128-GCM"):encrypt(key_binary, iv):final(push_json)..string.rep("\0", 16));
 	local encrypted_element = st.stanza("encrypted", { xmlns = xmlns_push_encrypt, iv = base64.encode(iv) })
 		:text(encrypted_payload);
-	-- Replace the unencrypted notification with the encrypted one
-	event.notification_stanza
-		:get_child("pubsub", "http://jabber.org/protocol/pubsub")
-		:get_child("publish")
-		:get_child("item")
-		:remove_children("notification", xmlns_push)
-		:tag("notification", { xmlns = xmlns_push })
-			:add_child(encrypted_element)
-			:up();
+	-- Replace the unencrypted notification data with the encrypted one
+	event.notification_payload
+		:remove_children("x", "jabber:x:data")
+		:add_child(encrypted_element);
 end
 
 module:hook("cloud_notify/registration", handle_register);