aboutsummaryrefslogtreecommitdiff
path: root/xmpp-vala/src/core/xmpp_stream.vala
diff options
context:
space:
mode:
authorfiaxh <git@lightrise.org>2026-04-24 11:09:10 +0200
committerfiaxh <git@lightrise.org>2026-04-24 11:17:43 +0200
commit9abf8f6869bc35c76bdfa86416012d4e7f0dda78 (patch)
tree3c3f7628d7fdc5410113a8efc6b96a4372c6d80b /xmpp-vala/src/core/xmpp_stream.vala
parentc5ba4275ae68dd558108ce273dafa1bf890259e8 (diff)
Add support for Sasl2 + Bind2
Diffstat (limited to 'xmpp-vala/src/core/xmpp_stream.vala')
-rw-r--r--xmpp-vala/src/core/xmpp_stream.vala5
1 files changed, 4 insertions, 1 deletions
diff --git a/xmpp-vala/src/core/xmpp_stream.vala b/xmpp-vala/src/core/xmpp_stream.vala
index 54433b67..7b05a26e 100644
--- a/xmpp-vala/src/core/xmpp_stream.vala
+++ b/xmpp-vala/src/core/xmpp_stream.vala
@@ -22,6 +22,7 @@ public abstract class Xmpp.XmppStream : Object {
public XmppLog log = new XmppLog();
public bool negotiation_complete { get; set; default=false; }
+ public bool expect_further_negotiation_stanzas = false;
protected bool non_negotiation_modules_attached = false;
protected bool setup_needed = false;
protected bool disconnected = false;
@@ -99,6 +100,8 @@ public abstract class Xmpp.XmppStream : Object {
public async void loop() throws IOError {
while (true) {
+ expect_further_negotiation_stanzas = false;
+
if (setup_needed) {
yield setup();
}
@@ -112,7 +115,7 @@ public abstract class Xmpp.XmppStream : Object {
yield handle_stanza(node);
- if (!non_negotiation_modules_attached && negotiation_modules_done()) {
+ if (!expect_further_negotiation_stanzas && !non_negotiation_modules_attached && negotiation_modules_done()) {
attach_non_negotation_modules();
non_negotiation_modules_attached = true;
if (!negotiation_complete) {