Mercurial > prosody-modules
annotate mod_register_oob_url/mod_register_oob_url.lua @ 4877:adc6241e5d16
mod_measure_process: Report the enforced limit
The soft limit is what the kernel actually enforces, while the hard
limit is is how far you can change the soft limit without privileges.
Unless the process dynamically adjusts the soft limit, knowing the hard
limit is not as useful as knowing the soft limit.
Reporting the soft limit and the number of in-use FDs allows placing
alerts on expressions like 'process_open_fds / process_max_fds >= 0.95'
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Tue, 18 Jan 2022 18:55:20 +0100 |
parents | a7c2df6b2662 |
children |
rev | line source |
---|---|
2860
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
1 -- Register via OOB URL |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
2 -- Copyright (c) 2018 Daniel Gultsch |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
3 -- |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
4 -- This module is MIT/X11 licensed |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
5 -- |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
6 |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
7 local st = require "util.stanza"; |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
8 local namespace = "http://jabber.org/features/iq-register" |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
9 local register_stream_feature = st.stanza("register", {xmlns=namespace}):up(); |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
10 local allow_registration = module:get_option_boolean("allow_registration", false); |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
11 local registration_url = module:get_option_string("register_oob_url", nil) |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
12 |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
13 if allow_registration then |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
14 module:log("info","obb registration is disabled as long as IBR is allowed. Set `allow_registration` to false") |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
15 end |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
16 |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
17 if not registration_url then |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
18 module:log("info","registration url not configured. Add `register_oob_url` to prosody.cfg") |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
19 end |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
20 |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
21 local function on_stream_features(event) |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
22 if not registration_url then |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
23 return |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
24 end |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
25 local session, features = event.origin, event.features; |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
26 if session.type == "c2s_unauthed" and not allow_registration then |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
27 features:add_child(register_stream_feature); |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
28 end |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
29 end |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
30 |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
31 local function on_registration_requested(event) |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
32 local session, stanza = event.origin, event.stanza |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
33 if session.type ~= "c2s_unauthed" or stanza.attr.type ~= "get" then |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
34 return |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
35 end |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
36 if not allow_registration and registration_url then |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
37 local reply = st.reply(stanza) |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
38 reply:query("jabber:iq:register") |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
39 :tag("x", {xmlns = "jabber:x:oob"}) |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
40 :tag("url"):text(registration_url); |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
41 return session.send(reply) |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
42 end |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
43 end |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
44 |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
45 module:hook("stream-features", on_stream_features) |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
46 module:hook("stanza/iq/jabber:iq:register:query", on_registration_requested, 1) |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
47 |
a7c2df6b2662
mod_registration_oob_url: inital commit. simple/straight forward module to advertise oob registration url
Daniel Gultsch <daniel@gultsch.de>
parents:
diff
changeset
|
48 -- vim: noexpandtab tabstop=4 shiftwidth=4 |