Mercurial > prosody-modules
view mod_report_forward/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 | 744127959dd1 |
| children |
line wrap: on
line source
--- labels: - 'Stage-Beta' summary: 'Forward spam/abuse reports to a JID' --- This module forwards spam/abuse reports (e.g. those submitted by users via XEP-0377 via mod_spam_reporting) to one or more JIDs. ## Configuration Install and enable the module the same as any other: ```lua modules_enabled = { --- "report_forward"; --- } ``` There are two main options. You can set `report_forward_to` which accepts a list of JIDs to send all reports to (default is empty): ```lua report_forward_to = { "admin@example.net", "antispam.example2.com" } ``` You can also control whether the module sends a report to the server from which the spam/abuse originated (default is `true`): ```lua report_forward_to_origin = false ``` The module looks up an abuse report address using XEP-0157 (only XMPP addresses are accepted). If it fails to find any suitable destination, it will fall back to sending the report to the domain itself unless `report_forward_to_origin_fallback` is disabled (set to `false`). If the fallback is disabled, it will log a warning and not send the report. ## Protocol This section is intended for developers. XEP-0377 assumes the report is embedded within another protocol such as XEP-0191, and doesn't specify a format for communicating "standalone" reports. This module transmits them inside a `<message>` stanza, and adds a `<jid/>` element (borrowed from XEP-0268): ```xml <message from="prosody.example" to="destination.example"> <report xmlns="urn:xmpp:reporting:1" reason="urn:xmpp:reporting:spam"> <jid xmlns="urn:xmpp:jid:0">spammer@bad.example</jid> <text> Never came trouble to my house like this. </text> </report> </message> ``` It may also include the reported message, if this has been indicated by the user, wrapped in a XEP-0297 `<forwarded/>` element: ```xml <message from="prosody.example" to="destination.example"> <report reason="urn:xmpp:reporting:spam" xmlns="urn:xmpp:reporting:1"> <jid xmlns="urn:xmpp:jid:0">spammer@bad.example</jid> <text>Never came trouble to my house like this.</text> </report> <forwarded xmlns="urn:xmpp:forward:0"> <message from="spammer@bad.example" to="victim@prosody.example" type="chat" xmlns="jabber:client"> <body>Spam, Spam, Spam, Spam, Spam, Spam, baked beans, Spam, Spam and Spam!</body> </message> </forwarded> </message> ``` ## Compability Prosody-Version Status ----------------- ---------------------- trunk Works as of 07.12.22 0.12 Works
