diff options
author | Danny van Heumen <danny@dannyvanheumen.nl> | 2015-01-20 19:28:31 +0100 |
---|---|---|
committer | Danny van Heumen <danny@dannyvanheumen.nl> | 2015-04-03 21:37:01 +0200 |
commit | 89e35bf75c3420553ebbf6efbbff3c4d6f55ee05 (patch) | |
tree | 844d6189f0e044808c251de967ca8953ff643926 /src/net/java/sip/communicator/impl/protocol/irc | |
parent | 71d61592c32789006d31c297ddf35d95c973924c (diff) | |
download | jitsi-89e35bf75c3420553ebbf6efbbff3c4d6f55ee05.zip jitsi-89e35bf75c3420553ebbf6efbbff3c4d6f55ee05.tar.gz jitsi-89e35bf75c3420553ebbf6efbbff3c4d6f55ee05.tar.bz2 |
Started work on SASL authentication panel in IRC account configuration.
Diffstat (limited to 'src/net/java/sip/communicator/impl/protocol/irc')
4 files changed, 55 insertions, 1 deletions
diff --git a/src/net/java/sip/communicator/impl/protocol/irc/IrcConnection.java b/src/net/java/sip/communicator/impl/protocol/irc/IrcConnection.java index 09b7f83..5c56e6e 100644 --- a/src/net/java/sip/communicator/impl/protocol/irc/IrcConnection.java +++ b/src/net/java/sip/communicator/impl/protocol/irc/IrcConnection.java @@ -218,8 +218,31 @@ public class IrcConnection } else { + // FIXME correctly determine capabilities and SASL authentication + // enabled return new SaslNegotiator(user, password, null); } + // FIXME DEBUG CODE remove +// final ArrayList<Capability> caps = new ArrayList<Capability>(); +// caps.add(new SimpleCapability("away-notify")); +// if (password != null) +// { +// caps.add(new SaslCapability(true, null, user, password)); +// } +// return new CompositeNegotiator(caps, new CompositeNegotiator.Host() +// { +// @Override +// public void reject(Capability cap) +// { +// LOGGER.warn("REJECTED: " + cap.getId()); +// } +// +// @Override +// public void acknowledge(Capability cap) +// { +// LOGGER.warn("ACKED: " + cap.getId()); +// } +// }); } /** diff --git a/src/net/java/sip/communicator/impl/protocol/irc/ProtocolProviderFactoryIrcImpl.java b/src/net/java/sip/communicator/impl/protocol/irc/ProtocolProviderFactoryIrcImpl.java index fb8e0ef..e599440 100644 --- a/src/net/java/sip/communicator/impl/protocol/irc/ProtocolProviderFactoryIrcImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/irc/ProtocolProviderFactoryIrcImpl.java @@ -37,6 +37,26 @@ public class ProtocolProviderFactoryIrcImpl public static final String CONTACT_PRESENCE_TASK = "CONTACT_PRESENCE_TASK"; /** + * Property indicating SASL is enabled. + */ + public static final String SASL_ENABLED = "SASL_ENABLED"; + + /** + * Property for SASL user name. + */ + public static final String SASL_USERNAME = "SASL_USERNAME"; + + /** + * Property for SASL password. + */ + public static final String SASL_PASSWORD = "SASL_PASSWORD"; + + /** + * Property for SASL authorization role. + */ + public static final String SASL_ROLE = "SASL_ROLE"; + + /** * Constructor. */ public ProtocolProviderFactoryIrcImpl() diff --git a/src/net/java/sip/communicator/impl/protocol/irc/ProtocolProviderServiceIrcImpl.java b/src/net/java/sip/communicator/impl/protocol/irc/ProtocolProviderServiceIrcImpl.java index cc2261c..78eb485 100644 --- a/src/net/java/sip/communicator/impl/protocol/irc/ProtocolProviderServiceIrcImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/irc/ProtocolProviderServiceIrcImpl.java @@ -264,6 +264,15 @@ public class ProtocolProviderServiceIrcImpl accountID.getAccountPropertyBoolean( ProtocolProviderFactoryIrcImpl.CONTACT_PRESENCE_TASK, true); + boolean saslEnabled = accountID.getAccountPropertyBoolean( + ProtocolProviderFactoryIrcImpl.SASL_ENABLED, false); + String saslUser = accountID.getAccountPropertyString( + ProtocolProviderFactoryIrcImpl.SASL_USERNAME); + String saslPass = accountID.getAccountPropertyString( + ProtocolProviderFactoryIrcImpl.SASL_PASSWORD); + String saslRole = accountID.getAccountPropertyString( + ProtocolProviderFactoryIrcImpl.SASL_ROLE); + //if we don't - retrieve it from the user through the security authority if (serverPassword == null && passwordRequired) { @@ -388,7 +397,8 @@ public class ProtocolProviderServiceIrcImpl IrcActivator.getConfigurationService(); if (configSvc == null) { - return false; + // Assuming maximum use of configured proxy server is desirable. + return true; } // FIXME implement support for option to enable SOCKS5 DNS resolving return true; diff --git a/src/net/java/sip/communicator/impl/protocol/irc/irc.provider.manifest.mf b/src/net/java/sip/communicator/impl/protocol/irc/irc.provider.manifest.mf index 8ae471e..88c1bce 100644 --- a/src/net/java/sip/communicator/impl/protocol/irc/irc.provider.manifest.mf +++ b/src/net/java/sip/communicator/impl/protocol/irc/irc.provider.manifest.mf @@ -25,5 +25,6 @@ Import-Package: org.osgi.framework, com.ircclouds.irc.api.state, com.ircclouds.irc.api.commands, com.ircclouds.irc.api.negotiators, + com.ircclouds.irc.api.negotiators.capabilities, org.apache.commons.lang3, org.apache.commons.codec.binary |