Mercurial > prosody-modules
annotate mod_offline_hints/mod_offline_hints.lua @ 3503:882180b459a0
mod_pubsub_post: Restructure authentication and authorization (BC)
This deprecates the default "superuser" actor model and makes the
default equivalent to the previous "request.id".
A single actor and secret per node is supported because HTTP and
WebHooks don't normally include any authorization identity.
Allowing authentication bypass when no secret is given should be
relatively safe when the actor is unprivileged, as will be unless
explicitly configured otherwise.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 30 Mar 2019 21:16:13 +0100 |
parents | e86315c9b5c4 |
children |
rev | line source |
---|---|
3500
e86315c9b5c4
offline_hints: discard no-store hinted messages at mod_offline
marc0s <marcos.devera@quobis.com>
parents:
diff
changeset
|
1 -- mod_offline_hints |
e86315c9b5c4
offline_hints: discard no-store hinted messages at mod_offline
marc0s <marcos.devera@quobis.com>
parents:
diff
changeset
|
2 -- |
e86315c9b5c4
offline_hints: discard no-store hinted messages at mod_offline
marc0s <marcos.devera@quobis.com>
parents:
diff
changeset
|
3 -- Copyright (C) 2019 Marcos de Vera Piquero <marcos.devera@quobis.com> |
e86315c9b5c4
offline_hints: discard no-store hinted messages at mod_offline
marc0s <marcos.devera@quobis.com>
parents:
diff
changeset
|
4 -- |
e86315c9b5c4
offline_hints: discard no-store hinted messages at mod_offline
marc0s <marcos.devera@quobis.com>
parents:
diff
changeset
|
5 -- This file is MIT/X11 licensed. |
e86315c9b5c4
offline_hints: discard no-store hinted messages at mod_offline
marc0s <marcos.devera@quobis.com>
parents:
diff
changeset
|
6 -- |
e86315c9b5c4
offline_hints: discard no-store hinted messages at mod_offline
marc0s <marcos.devera@quobis.com>
parents:
diff
changeset
|
7 -- A module to discard hinted messages with no-store at mod_offline |
e86315c9b5c4
offline_hints: discard no-store hinted messages at mod_offline
marc0s <marcos.devera@quobis.com>
parents:
diff
changeset
|
8 -- |
e86315c9b5c4
offline_hints: discard no-store hinted messages at mod_offline
marc0s <marcos.devera@quobis.com>
parents:
diff
changeset
|
9 |
e86315c9b5c4
offline_hints: discard no-store hinted messages at mod_offline
marc0s <marcos.devera@quobis.com>
parents:
diff
changeset
|
10 module:depends"offline"; |
e86315c9b5c4
offline_hints: discard no-store hinted messages at mod_offline
marc0s <marcos.devera@quobis.com>
parents:
diff
changeset
|
11 |
e86315c9b5c4
offline_hints: discard no-store hinted messages at mod_offline
marc0s <marcos.devera@quobis.com>
parents:
diff
changeset
|
12 local function handle_offline (event) |
e86315c9b5c4
offline_hints: discard no-store hinted messages at mod_offline
marc0s <marcos.devera@quobis.com>
parents:
diff
changeset
|
13 local stanza = event.stanza; |
e86315c9b5c4
offline_hints: discard no-store hinted messages at mod_offline
marc0s <marcos.devera@quobis.com>
parents:
diff
changeset
|
14 if (stanza:get_child("no-store", "urn:xmpp:hints") or |
e86315c9b5c4
offline_hints: discard no-store hinted messages at mod_offline
marc0s <marcos.devera@quobis.com>
parents:
diff
changeset
|
15 stanza:get_child("no-permanent-store", "urn:xmpp:hints")) then |
e86315c9b5c4
offline_hints: discard no-store hinted messages at mod_offline
marc0s <marcos.devera@quobis.com>
parents:
diff
changeset
|
16 module:log("debug", "Not storing offline stanza: %s (urn:xmpp:hints)", stanza); |
e86315c9b5c4
offline_hints: discard no-store hinted messages at mod_offline
marc0s <marcos.devera@quobis.com>
parents:
diff
changeset
|
17 return false; |
e86315c9b5c4
offline_hints: discard no-store hinted messages at mod_offline
marc0s <marcos.devera@quobis.com>
parents:
diff
changeset
|
18 end |
e86315c9b5c4
offline_hints: discard no-store hinted messages at mod_offline
marc0s <marcos.devera@quobis.com>
parents:
diff
changeset
|
19 return nil; |
e86315c9b5c4
offline_hints: discard no-store hinted messages at mod_offline
marc0s <marcos.devera@quobis.com>
parents:
diff
changeset
|
20 end |
e86315c9b5c4
offline_hints: discard no-store hinted messages at mod_offline
marc0s <marcos.devera@quobis.com>
parents:
diff
changeset
|
21 |
e86315c9b5c4
offline_hints: discard no-store hinted messages at mod_offline
marc0s <marcos.devera@quobis.com>
parents:
diff
changeset
|
22 module:hook("message/offline/handle", handle_offline); |
e86315c9b5c4
offline_hints: discard no-store hinted messages at mod_offline
marc0s <marcos.devera@quobis.com>
parents:
diff
changeset
|
23 |
e86315c9b5c4
offline_hints: discard no-store hinted messages at mod_offline
marc0s <marcos.devera@quobis.com>
parents:
diff
changeset
|
24 module:log("debug", "Module loaded"); |