Openfire Subscription Plugin

Not sure if this is the right area to post this. Sorry in advance

I have two servers, S1 and S2. One user on each, U1 and U2. I have subscriptions blocked on S2, and open on S1.

When I attempt to add a contact between servers with U1 and U2, the following happens:

If U1 adds U2, then U2 gets an accept/reject box. Upon accepting, U1 can see U2 in his list, with an online status. U2 sees U1 in his list, but he is shown as offline. This is probably because U1 never gets an accept/reject box.

if I check U2 roster in S2, I can see U1 name from S1, with a subscription type of “from”. If I update this to “both” and relog both clients, nothing changes. Likewise, if I check U1 roster in S1, I can see U2 name from S2, with a subscription type of “to”. If I update this to “both” and relog both clients, then the U2 is deleted from U1’s list (but still in the roster), and U2 on S2 can now see the status of U1 on S1.

On the other server, If U2 adds U1, then the subscription is rejected. This would be expected, except that U2 is on the whitelist for subscriptions.

Now, if I disable the subscription plugin on S2, and initiate from either server, one user adding another, then they both get an accept/reject box and they both see each others’ status as online. When this happens, U1’s roster on S1 has U2 on S2 with subscription type “both” and vice versa.

It appears that as long as the subscription plugin is active, even with the user in a whitelist, the U2 will not receive status information about U1 precisely because the subscription request that should be happening from U2 to U1 is being blocked.

Any workarounds?

I’m using Openfire 3.6.4 and Spark 2.5.8 on both servers.