Software / code / prosody-modules
Annotate
mod_dwd/mod_dwd.lua @ 6305:1c62edeb9147
mod_pastebin: Update Readme
diff --git a/mod_pastebin/README.md b/mod_pastebin/README.md
--- a/mod_pastebin/README.md
+++ b/mod_pastebin/README.md
@@ -37,12 +37,14 @@ For example:
Pastes will be available by default at
`http://<your-prosody>:5280/pastebin/` by default.
-In Prosody 0.9 and later this can be changed with [HTTP
-settings](https://prosody.im/doc/http).
+Ports and path can be changed with [HTTP
+settings](https://prosody.im/doc/http), for example like:
-In 0.8 and older this can be changed with `pastebin_ports` (see below),
-or you can forward another external URL from your web server to Prosody,
-use `pastebin_url` to set that URL.
+``` {.lua}
+ http_paths = {
+ pastebin = "/$host-paste";
+ }
+```
# Discovery
@@ -82,27 +84,16 @@ The line and character tresholds are adv
pastebin_line_threshold The maximum number of lines a message may have before it is sent to the pastebin. (default 4 lines)
pastebin_trigger A string of characters (e.g. "!paste ") which if detected at the start of a message, always sends the message to the pastebin, regardless of length. (default: not set)
pastebin_expire_after Number of hours after which to expire (remove) a paste, defaults to 24. Set to 0 to store pastes permanently on disk.
- pastebin_ports List of ports to run the HTTP server on, same format as mod_httpserver's http_ports[^1]
- pastebin_url Base URL to display for pastebin links, must end with / and redirect to Prosody's built-in HTTP server[^2]
# Compatibility
- ------ -------
- trunk Works
+ ------ ---------------------
+ trunk Works as of 25-06-13
+ 13 Works
0.12 Works
- 0.11 Works
- 0.10 Works
- 0.9 Works
- 0.8 Works
- ------ -------
+ ------ ---------------------
# Todo
- Maximum paste length
- Web interface to submit pastes?
-
-[^1]: As of Prosody 0.9, `pastebin_ports` is replaced by `http_ports`,
- see [Prosody HTTP server documentation](https://prosody.im/doc/http)
-
-[^2]: See also
- [http_external_url](https://prosody.im/doc/http#external_url)
| author | Menel <menel@snikket.de> |
|---|---|
| date | Fri, 13 Jun 2025 11:39:58 +0200 |
| parent | 932:4e235e565693 |
| rev | line source |
|---|---|
| 928 | 1 local hosts = _G.hosts; |
| 2 local st = require "util.stanza"; | |
| 3 local nameprep = require "util.encodings".stringprep.nameprep; | |
| 4 local cert_verify_identity = require "util.x509".verify_identity; | |
| 5 | |
| 6 module:hook("stanza/jabber:server:dialback:result", function(event) | |
| 7 local origin, stanza = event.origin, event.stanza; | |
| 8 | |
| 9 if origin.cert_chain_status == "valid" and origin.type == "s2sin_unauthed" or origin.type == "s2sin" then | |
| 10 local attr = stanza.attr; | |
| 11 local to, from = nameprep(attr.to), nameprep(attr.from); | |
| 12 | |
| 13 local conn = origin.conn:socket() | |
| 14 local cert; | |
| 15 if conn.getpeercertificate then | |
| 16 cert = conn:getpeercertificate() | |
| 17 end | |
| 18 | |
| 19 if cert and hosts[to] and cert_verify_identity(from, "xmpp-server", cert) then | |
| 20 | |
| 21 -- COMPAT: ejabberd, gmail and perhaps others do not always set 'to' and 'from' | |
| 22 -- on streams. We fill in the session's to/from here instead. | |
| 23 if not origin.from_host then | |
| 24 origin.from_host = from; | |
| 25 end | |
| 26 if not origin.to_host then | |
| 27 origin.to_host = to; | |
| 28 end | |
| 29 | |
| 30 module:log("info", "Accepting Dialback without Dialback for %s", from); | |
|
932
4e235e565693
mod_bidi, mod_dwd, mod_s2s_idle_timeout: Update for recent 0.9 changes (612467e263af)
Matthew Wild <mwild1@gmail.com>
parents:
928
diff
changeset
|
31 module:fire_event("s2s-authenticated", { session = origin, host = from }); |
| 928 | 32 origin.sends2s( |
| 33 st.stanza("db:result", { from = attr.to, to = attr.from, id = attr.id, type = "valid" })); | |
| 34 | |
| 35 return true; | |
| 36 end | |
| 37 end | |
| 38 end, 100); | |
| 39 | |
| 40 |