view mod_srvinjection/README.markdown @ 4942:e7b9bc629ecc

mod_rest: Add special handling to catch MAM results from remote hosts Makes MAM queries to remote hosts works. As the comment says, MAM results from users' local archives or local MUCs are returned via origin.send() which is provided in the event and thus already worked. Results from remote hosts go via normal stanza routing and events, which need this extra handling to catch. This pattern of iq-set, message+, iq-result is generally limited to MAM. Closest similar thing might be MUC join, but to really handle that you would need the webhook callback mechanism.
author Kim Alvefur <zash@zash.se>
date Mon, 16 May 2022 19:47:09 +0200
parents 4d73a1a6ba68
children
line wrap: on
line source

---
labels:
- 'Stage-Beta'
summary: Manually specify SRV records
...

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

This Prosody plugin lets you manually override SRV records used for a
remote host.

Usage
=====

Simply add `"srvinjection"` to your `modules_enabled` list to enable.
Then add the `srvinjection` option to the global section.

Configuration
=============

The `srvinjection` option can be used as follows:

    srvinjection = {
      ["example.com"] = {"localhost", 5000};
      ["jabber.org"] = {"localhost", 5001};
    };

The format for individual items is
`["remote-hostname"] = {"srv-hostname", srv-port};`.

The special remote hostname `"*"` can be used as a wildcard:

        srvinjection = { ["*"] = {"xmpp-server.l.google.com", 5269} } -- Use Google's XMPP server for all hostnames

Reloading
=========

The module can be reloaded via the telnet console. Edit the config file
to make any updates.

You can reload the configuration from disk:

    config:reload()

And then reload the module to apply the configuration changes:

    module:reload("srvinjection", "*")

Compatibility
=============

  ----- -------
  0.8   Works
  0.7   Works
  0.6   Works
  ----- -------

How it works
============

The module replaces the `lookup` function of the `net.adns` module with
its own. The original is set back when the module is unloaded.