annotate mod_nooffline_noerror/mod_nooffline_noerror.lua @ 4651:8231774f5bfd

mod_cloud_notify_encrypted: Ensure body substring remains valid UTF-8 The `body:sub()` call risks splitting the string in the middle of a multi-byte UTF-8 sequence. This should have been caught by util.stanza validation, but that would have caused some havoc, at the very least causing the notification to not be sent. There have been no reports of this happening. Likely because this module isn't widely deployed among users with languages that use many longer UTF-8 sequences. The util.encodings.utf8.valid() function is O(n) where only the last sequence really needs to be checked, but it's in C and expected to be fast.
author Kim Alvefur <zash@zash.se>
date Sun, 22 Aug 2021 13:22:59 +0200
parents e0f3e29ab18a
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3928
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
1 -- Ignore disabled offline storage
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
2 --
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
3 -- Copyright (C) 2019-2020 Thilo Molitor
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
4 --
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
5 -- This project is MIT/X11 licensed. Please see the
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
6 -- COPYING file in the source package for more information.
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
7 --
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
8
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
9 -- depend on mod_mam to make sure mam is at least loaded and active
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
10 module:depends "mam";
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
11
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
12 -- ignore offline messages and don't return any error (the message will be already in MAM at this point)
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
13 -- this is *only* triggered if mod_offline is *not* loaded and completely ignored otherwise
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
14 module:hook("message/offline/handle", function(event)
3970
e0f3e29ab18a mod_nooffline_noerror: Fix for missing log
tmolitor <thilo@eightysoft.de>
parents: 3966
diff changeset
15 local log = event.origin and event.origin.log or module._log;
e0f3e29ab18a mod_nooffline_noerror: Fix for missing log
tmolitor <thilo@eightysoft.de>
parents: 3966
diff changeset
16 if log then
e0f3e29ab18a mod_nooffline_noerror: Fix for missing log
tmolitor <thilo@eightysoft.de>
parents: 3966
diff changeset
17 log("info", "Ignoring offline message (mod_offline seems *not* to be loaded)...");
e0f3e29ab18a mod_nooffline_noerror: Fix for missing log
tmolitor <thilo@eightysoft.de>
parents: 3966
diff changeset
18 end
3928
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
19 return true;
7e7ac4af6e0c mod_nooffline_noerror: New module that disables errors for disabled offline storage
tmolitor <thilo@eightysoft.de>
parents:
diff changeset
20 end, -100);