Prosody is a modern XMPP communication server http://prosody.im
Find a file
Matthew Wild 86341e87d3 util.sasl: Preserve 'userdata' field between clones
The :clean_clone() method is designed to provide a new cloned SASL handler,
to be used when starting a fresh SASL negotiation on an existing connection.

The userdata field is currently populated by mod_saslauth with the "read-only"
information that the channel binding methods need to do their stuff.

When :clean_clone() does not preserve this, it causes tracebacks in the cb
profile handlers due to the property being nil.

This does mean that SASL handlers should now not be reused (even when cloned)
across different connections, if they ever could.
2025-03-06 13:34:37 +00:00
certs various: Update IETF RFC URLs for tools.ietf.org transition 2022-08-05 16:54:15 +02:00
core certmanager: Add more debug logging around cert indexing 2025-02-24 17:48:58 +00:00
doc doap: Update XEP-0421, only editorial changes and promoted to Stable 2025-02-14 20:55:49 +01:00
fallbacks fallbacks.bit: remove unused one-letter loop variables [luacheck] 2016-07-14 18:40:43 +08:00
man man/prosodyctl: Complete list of 'check' variants 2022-02-02 18:28:28 +01:00
net net.server_epoll: Improve readability of DANE noise 2025-02-27 21:36:43 +01:00
plugins mod_external_services: Also use TURN REST credential algo for 'turns' (thanks moreroid) 2025-03-01 16:19:43 +00:00
spec util.argparse: Add strict mode + tests 2025-02-17 18:24:23 +00:00
teal-src util.xtemplate: Use same argument order in filters even without 'args' 2024-10-16 16:15:05 +02:00
tools tools.dnsregistry: Comment out duplicate error codes 2025-02-09 16:26:22 +01:00
util util.sasl: Preserve 'userdata' field between clones 2025-03-06 13:34:37 +00:00
util-src util.signal: Factor out single #define that enables signalfd(2) use 2025-01-10 12:31:27 +01:00
.busted util.hashes: Add test vectors from RFC 6070 for PBKDF2 (aka SCRAM Hi()) 2019-04-19 14:12:28 +02:00
.editorconfig editorconfig: Include the command used to normalize *.xml 2023-07-15 10:41:30 +02:00
.hgignore hgignore: Stop ignoring *.report, these are no longer created since switching to busted 2017-10-22 14:39:59 +02:00
.lua-format lua-format: Let simple things be one line 2023-11-30 18:45:05 +01:00
.luacheckrc luacheck: Declare new config globals 2025-01-18 12:33:18 +01:00
.luacov .luacov: Add config for luacov, exclude spec/ 2018-10-11 10:39:11 +01:00
.semgrep.yml .semgrep.yml: Identify unprefixed module imports 2025-02-15 10:30:33 +00:00
AUTHORS AUTHORS: A small update... 2013-03-31 13:43:12 +01:00
CHANGES moduleapi: Allow soft dependencies via module:depends(mod, true) 2025-02-16 13:29:07 +00:00
configure configure: Fix quoting of $LUA_SUFFIX (thanks shellcheck/Zash) 2022-12-29 16:29:03 +00:00
CONTRIBUTING CONTRIBUTING: Add a short file referencing the online doc/contributing page 2019-04-03 01:09:21 +02:00
COPYING util.struct: Import Roberto 'struct' library v0.3 2022-03-04 15:03:02 +00:00
DEPENDS DEPENDS: Change link to https 2017-12-05 11:59:43 +01:00
GNUmakefile teal: Move into prosody namespace 2023-03-23 13:36:52 +01:00
HACKERS doc/coding_style.{txt,md}: Update coding style guide 2019-03-14 16:13:14 +00:00
INSTALL util.dependencies: Refer to 'apt' instead of 'apt-get' 2022-02-13 17:27:29 +01:00
loader.lua prosody.loader: Ensure already loaded modules are found in old and new namespaces 2023-03-17 15:11:26 +01:00
makefile prosody.loader: Allow loading modules under 'prosody' namespace (#1223) 2023-03-17 13:51:43 +01:00
prosody executables: Prefix module imports with prosody namespace 2023-03-17 16:29:54 +01:00
prosody.cfg.lua.dist prosody.cfg.lua.dist: Updates for 13.0+ 2025-02-14 14:47:11 +00:00
prosodyctl prosodyctl: Fix check for whether to show init system warning 2025-02-06 15:43:23 +00:00
README README: Reflow text to ~78 columns 2022-01-28 14:19:05 +01:00
TODO TODO: Remove statistics since this was done in 0.10 2019-01-21 21:30:54 +01:00

# Prosody IM Server

## Description

Prosody is a server for Jabber/XMPP written in Lua. It aims to be easy to use
and light on resources. For developers, it aims to give a flexible system on
which to rapidly develop added functionality or rapidly prototype new
protocols.

## Useful links

Homepage:        https://prosody.im/
Download:        https://prosody.im/download
Documentation:   https://prosody.im/doc/
Issue tracker:   https://issues.prosody.im/

Jabber/XMPP Chat:
               Address:
                 prosody@conference.prosody.im
               Web interface:
                 https://chat.prosody.im/

Mailing lists:
               User support and discussion:
                 https://groups.google.com/group/prosody-users

               Development discussion:
                 https://groups.google.com/group/prosody-dev

## Installation

See the accompanying INSTALL file for help on building Prosody from source.
Alternatively see our guide at https://prosody.im/doc/install