diff options
| author | fiaxh <git@lightrise.org> | 2026-04-24 11:09:10 +0200 |
|---|---|---|
| committer | fiaxh <git@lightrise.org> | 2026-04-24 11:17:43 +0200 |
| commit | 9abf8f6869bc35c76bdfa86416012d4e7f0dda78 (patch) | |
| tree | 3c3f7628d7fdc5410113a8efc6b96a4372c6d80b /libdino/src/service | |
| parent | c5ba4275ae68dd558108ce273dafa1bf890259e8 (diff) | |
Add support for Sasl2 + Bind2
Diffstat (limited to 'libdino/src/service')
| -rw-r--r-- | libdino/src/service/connection_manager.vala | 5 | ||||
| -rw-r--r-- | libdino/src/service/module_manager.vala | 11 |
2 files changed, 14 insertions, 2 deletions
diff --git a/libdino/src/service/connection_manager.vala b/libdino/src/service/connection_manager.vala index c8b5c4ed..5e92dec9 100644 --- a/libdino/src/service/connection_manager.vala +++ b/libdino/src/service/connection_manager.vala @@ -231,12 +231,13 @@ public class ConnectionManager : Object { stream.attached_modules.connect((stream) => { stream_attached_modules(account, stream); change_connection_state(account, ConnectionState.CONNECTED); - -// stream.get_module(Xep.Muji.Module.IDENTITY).join_call(stream, new Jid("test@muc.poez.io"), true); }); stream.get_module(Sasl.Module.IDENTITY).received_auth_failure.connect((stream, node) => { set_connection_error(account, new ConnectionError(ConnectionError.Source.SASL, null)); }); + stream.get_module(Xep.ExtensibleSaslProfile.Module.IDENTITY).received_auth_failure.connect((stream, node) => { + set_connection_error(account, new ConnectionError(ConnectionError.Source.SASL, null)); + }); string connection_uuid = connections[account].uuid; stream.received_node.connect(() => { diff --git a/libdino/src/service/module_manager.vala b/libdino/src/service/module_manager.vala index 64be76e1..127f2d93 100644 --- a/libdino/src/service/module_manager.vala +++ b/libdino/src/service/module_manager.vala @@ -46,8 +46,19 @@ public class ModuleManager { lock(module_map) { module_map[account] = new ArrayList<XmppStreamModule>(); module_map[account].add(new Iq.Module()); + + var sasl2_module = new Xep.ExtensibleSaslProfile.Module(account.bare_jid.localpart, account.password); + module_map[account].add(sasl2_module); module_map[account].add(new Sasl.Module(account.bare_jid.to_string(), account.password)); module_map[account].add(new Xep.StreamManagement.Module()); + + var bind2_sasl2_activation = new Xep.Bind2.Sasl2Activation(); + bind2_sasl2_activation.inline_activation_providers[Xep.MessageCarbons.NS_URI] = new Xep.MessageCarbons.Bind2Activation(); + bind2_sasl2_activation.inline_activation_providers[Xep.StreamManagement.NS_URI] = new Xep.StreamManagement.Bind2Activation(); + + sasl2_module.inline_activation_providers[Xep.Bind2.NS_URI] = bind2_sasl2_activation; + sasl2_module.inline_activation_providers[Xep.StreamManagement.NS_URI] = new Xep.StreamManagement.Sasl2Activation(); + module_map[account].add(new Bind.Module(account.resourcepart)); module_map[account].add(new Session.Module()); module_map[account].add(new Roster.Module()); |
