view mod_s2s_status/README.md @ 6319:04c3273cb81f

mod_auth_cyrus: Add empty 'profile' table to SASL handler objects This is for compatibility with Prosody's built-in util.sasl objects. A SASL profile table usually includes methods supported by the backend, which can be used by SASL mechanism handlers to perform operations (such as testing the password). It also optionally contains a 'cb' field with channel binding method handlers. The Cyrus backend doesn't support channel binding, and doesn't have the same concept of auth backend methods (it handles all that internally, and Prosody has no insight or control over it). Thus, we create an empty profile which informs Prosody that the SASL handler does not support any of the auth or channel binding methods. Some features will not work, but they didn't work anyway. This just makes it explicit. This fixes a traceback in mod_sasl2_fast, which expected SASL handlers to always contain a 'profile' field.
author Matthew Wild <mwild1@gmail.com>
date Thu, 04 Sep 2025 10:14:46 +0100
parents fe081789f7b5
children
line wrap: on
line source

---
labels:
- 'Stage-Alpha'
summary: 'Track the status and health of s2s connections'
...

Introduction
============

Prosody already gives some insight into current s2s connections, e.g. via
the `s2s:show()` command in the console. This will tell you about all current
s2s connections.

However sometimes this is not enough. For example if an s2s connection fails
to establish, it won't show up - you have to go digging through the log file
looking for the errors instead.

This module maintains a record of recent connection attempts to a remote
domain. You can use this module to answer questions such as:

- Why did the last connection attempt to `example.com` fail?
- When did I last have a successful connection with `example.com`?
- Are my s2s connections generally stable?

**Note:** At the time of writing, this module is not yet finished, and should
be considered a proof-of-concept.

# Configuration

Just load the module as normal:

``` {.lua}
modules_enabled = {
  ...
  "s2s_status";
  ...
}
```

# Compatibility

trunk (0.12) and later, e.g. due to [60676b607b6d](https://hg.prosody.im/trunk/rev/60676b607b6d).