#1340 mod_s2s: Allow holding queued stanzas until some condition is fulfilled
Reporter
Zash
Owner
Nobody
Created
Updated
Stars
★ (1)
Tags
Priority-Medium
Type-Enhancement
Status-New
Difficulty-Hard
Component-S2S
Zash
on
*Background*
Because s2s connections are normally unidirectional, you likely don't get replies on the same connection. A connection in the other direction might not even be set up. Thus it is not easy to know whether queued outgoing stanzas were delivered successfully or if there were errors that could not be delivered.
In the days before SASL EXTERNAL with certificates became common, establishing Dialback usually ensured that bidirectional connectivity worked before queued stanzas were sent.
*Feature*
A way to verify that bidirectional s2s is in working order before sending queued stanzas.
Zash
on
Using util.async to wait for a ping-promise in the `s2sout-establised` might work already.
Zash
on
Changes
tags Component-S2S
Zash
on
Using util.async to wait for a ping-promise in the `s2sout-establised` led to circular dependencies in my experiments.
*Background* Because s2s connections are normally unidirectional, you likely don't get replies on the same connection. A connection in the other direction might not even be set up. Thus it is not easy to know whether queued outgoing stanzas were delivered successfully or if there were errors that could not be delivered. In the days before SASL EXTERNAL with certificates became common, establishing Dialback usually ensured that bidirectional connectivity worked before queued stanzas were sent. *Feature* A way to verify that bidirectional s2s is in working order before sending queued stanzas.
Using util.async to wait for a ping-promise in the `s2sout-establised` might work already.
Using util.async to wait for a ping-promise in the `s2sout-establised` led to circular dependencies in my experiments.
Changes