annotate mod_invites_tracking/README.md @ 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 32f1f18f4874
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4394
32f1f18f4874 mod_invites_tracking: simple module to store who created an invite
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
1 ---
32f1f18f4874 mod_invites_tracking: simple module to store who created an invite
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
2 labels:
32f1f18f4874 mod_invites_tracking: simple module to store who created an invite
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
3 - 'Stage-Alpha'
32f1f18f4874 mod_invites_tracking: simple module to store who created an invite
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
4 summary: 'Store who created the invite to create a user account'
32f1f18f4874 mod_invites_tracking: simple module to store who created an invite
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
5 ...
32f1f18f4874 mod_invites_tracking: simple module to store who created an invite
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
6
32f1f18f4874 mod_invites_tracking: simple module to store who created an invite
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
7 Introduction
32f1f18f4874 mod_invites_tracking: simple module to store who created an invite
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
8 ============
32f1f18f4874 mod_invites_tracking: simple module to store who created an invite
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
9
32f1f18f4874 mod_invites_tracking: simple module to store who created an invite
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
10 Invites are an intermediate way between opening registrations completely and
32f1f18f4874 mod_invites_tracking: simple module to store who created an invite
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
11 closing registrations completely.
32f1f18f4874 mod_invites_tracking: simple module to store who created an invite
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
12
32f1f18f4874 mod_invites_tracking: simple module to store who created an invite
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
13 By letting users invite other users to the server, an administrator exposes
32f1f18f4874 mod_invites_tracking: simple module to store who created an invite
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
14 themselves again to the risk of abuse.
32f1f18f4874 mod_invites_tracking: simple module to store who created an invite
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
15
32f1f18f4874 mod_invites_tracking: simple module to store who created an invite
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
16 To combat that abuse more effectively, this module allows to store (outside
32f1f18f4874 mod_invites_tracking: simple module to store who created an invite
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
17 of the user’s information) who created an invite which was used to create the
32f1f18f4874 mod_invites_tracking: simple module to store who created an invite
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
18 user’s account.
32f1f18f4874 mod_invites_tracking: simple module to store who created an invite
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
19
32f1f18f4874 mod_invites_tracking: simple module to store who created an invite
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
20 Details
32f1f18f4874 mod_invites_tracking: simple module to store who created an invite
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
21 =======
32f1f18f4874 mod_invites_tracking: simple module to store who created an invite
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
22
32f1f18f4874 mod_invites_tracking: simple module to store who created an invite
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
23 Add to `modules_enabled`.
32f1f18f4874 mod_invites_tracking: simple module to store who created an invite
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
24
32f1f18f4874 mod_invites_tracking: simple module to store who created an invite
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
25 Caveats
32f1f18f4874 mod_invites_tracking: simple module to store who created an invite
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
26 =======
32f1f18f4874 mod_invites_tracking: simple module to store who created an invite
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
27
32f1f18f4874 mod_invites_tracking: simple module to store who created an invite
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
28 - The information is not deleted even when the associated user accounts are
32f1f18f4874 mod_invites_tracking: simple module to store who created an invite
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
29 deleted.
32f1f18f4874 mod_invites_tracking: simple module to store who created an invite
Jonas Schäfer <jonas@wielicki.name>
parents:
diff changeset
30 - Currently, there is no way to make any use of that information.