summaryrefslogtreecommitdiff
path: root/modules/mod_message_fake_id.lua
diff options
context:
space:
mode:
Diffstat (limited to 'modules/mod_message_fake_id.lua')
-rw-r--r--modules/mod_message_fake_id.lua21
1 files changed, 21 insertions, 0 deletions
diff --git a/modules/mod_message_fake_id.lua b/modules/mod_message_fake_id.lua
new file mode 100644
index 0000000..ed6e2b4
--- /dev/null
+++ b/modules/mod_message_fake_id.lua
@@ -0,0 +1,21 @@
+local st = require "util.stanza";
+local uuid_generate = require "util.uuid".generate;
+
+
+local function on_message(event)
+ if not event.origin.username then
+ return nil;
+ end
+
+ if not event.stanza.attr.id then
+ module:log("debug", "Faking message ID.");
+ event.stanza.attr.id = uuid_generate();
+ end
+end
+
+
+-- outgoing
+module:hook("pre-message/bare", on_message, 5432);
+module:hook("pre-message/full", on_message, 5432);
+module:hook("pre-message/host", on_message, 5432);
+