view mod_srvinjection/README.markdown @ 5285:8e1f1eb00b58

mod_sasl2_fast: Fix harmless off-by-one error (invalidates existing tokens!) Problem: This was causing the key to become "<token>--cur" instead of the expected "<token>-cur". As the same key was used by the code to both set and get, it still worked. Rationale for change: Although it worked, it's unintended, inconsistent and messy. It increases the chances of future bugs due to the unexpected format. Side-effects of change: Existing '--cur' entries will not be checked after this change, and therefore existing FAST clients will fail to authenticate until they attempt password auth and obtain a new FAST token. Existing '--cur' entries in storage will not be cleaned up by this commit, but this is considered a minor issue, and okay for the relatively few FAST deployments.
author Matthew Wild <mwild1@gmail.com>
date Wed, 29 Mar 2023 16:12:15 +0100
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.