diff options
Diffstat (limited to 'libdino/src/service/module_manager.vala')
-rw-r--r-- | libdino/src/service/module_manager.vala | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/libdino/src/service/module_manager.vala b/libdino/src/service/module_manager.vala index ab268876..9a510662 100644 --- a/libdino/src/service/module_manager.vala +++ b/libdino/src/service/module_manager.vala @@ -33,18 +33,11 @@ public class ModuleManager { public ArrayList<Core.XmppStreamModule> get_modules(Account account, string? resource = null) { ArrayList<Core.XmppStreamModule> modules = new ArrayList<Core.XmppStreamModule>(); lock (module_map) { - if (!module_map.has_key(account)) { - initialize(account); - } - foreach (Core.XmppStreamModule module in module_map[account]) { - if (Bind.Module.IDENTITY.matches(module)) { - // TODO: argh?! - modules.add(new Bind.Module(resource == null ? account.resourcepart : resource)); - } else { - modules.add(module); - } - } + if (!module_map.has_key(account)) initialize(account); + foreach (Core.XmppStreamModule module in module_map[account]) modules.add(module); } + modules.add(new Bind.Module(resource == null ? account.resourcepart : resource)); + modules.add(new PlainSasl.Module(account.bare_jid.to_string(), account.password)); return modules; } @@ -52,8 +45,6 @@ public class ModuleManager { lock(module_map) { module_map[account] = new ArrayList<Core.XmppStreamModule>(); module_map[account].add(new Tls.Module()); - module_map[account].add(new PlainSasl.Module(account.bare_jid.to_string(), account.password)); - module_map[account].add(new Bind.Module(account.resourcepart)); module_map[account].add(new Roster.Module()); module_map[account].add(new Xep.ServiceDiscovery.Module.with_identity("client", "pc")); module_map[account].add(new Xep.PrivateXmlStorage.Module()); |