diff options
| author | 2010-02-13 11:21:16 +0000 | |
|---|---|---|
| committer | 2010-02-13 11:21:16 +0000 | |
| commit | 87bfbefebab8bf25cfcbfd0b4935d8e6822f4508 (patch) | |
| tree | a6cf3552c0a626845cc81a3a4f842438dbef83fb /src/kvilib/irc/kvi_ircserver.cpp | |
| parent | Try to check server extended capabilities using CAP LS and use STARTTLS if en... (diff) | |
| download | KVIrc-87bfbefebab8bf25cfcbfd0b4935d8e6822f4508.tar.gz KVIrc-87bfbefebab8bf25cfcbfd0b4935d8e6822f4508.tar.bz2 KVIrc-87bfbefebab8bf25cfcbfd0b4935d8e6822f4508.zip | |
server config: changed "supportsSTARTTLS" to "enabledSTARTTLS" and enabled by default; this option is now meaningful only as a way to force STARTTLS disabled on a server that supports it;
server config: added "enabledSASL", "SaslNick", "SaslPass" options
main config: added global "enable SASL" option
sparser: handle CAP LS, REQ, ACK, NAK, END
ircconnection: added SASL support (only PLAIN method is supported by now)
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@3958 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/kvilib/irc/kvi_ircserver.cpp')
| -rw-r--r-- | src/kvilib/irc/kvi_ircserver.cpp | 37 |
1 files changed, 31 insertions, 6 deletions
diff --git a/src/kvilib/irc/kvi_ircserver.cpp b/src/kvilib/irc/kvi_ircserver.cpp index ff81d171a..598fe99fc 100644 --- a/src/kvilib/irc/kvi_ircserver.cpp +++ b/src/kvilib/irc/kvi_ircserver.cpp @@ -87,6 +87,8 @@ KviServer::KviServer(const KviServer & serv) m_iProxy = serv.m_iProxy; m_szUserIdentityId = serv.m_szUserIdentityId; m_bAutoConnect = serv.m_bAutoConnect; + m_szSaslNick = serv.m_szSaslNick; + m_szSaslPass = serv.m_szSaslPass; if(serv.m_pAutoJoinChannelList) m_pAutoJoinChannelList = new QStringList(*(serv.m_pAutoJoinChannelList)); @@ -118,6 +120,8 @@ void KviServer::operator=(const KviServer & serv) m_szUserIdentityId = serv.m_szUserIdentityId; m_iProxy = serv.m_iProxy; m_bAutoConnect = serv.m_bAutoConnect; + m_szSaslNick = serv.m_szSaslNick; + m_szSaslPass = serv.m_szSaslPass; if(m_pAutoJoinChannelList) delete m_pAutoJoinChannelList; if(serv.m_pAutoJoinChannelList) @@ -154,7 +158,7 @@ void KviServer::generateUniqueId() QString KviServer::ircUri() { QString szUri("irc"); - if(useSSL() || supportsSTARTTLS()) szUri += "s"; + if(useSSL()) szUri += "s"; if(isIPv6()) szUri += "6"; szUri += "://"; szUri += m_szHostname; @@ -192,6 +196,10 @@ bool KviServer::load(KviConfig * cfg, const QString & szPrefix) m_szPass = cfg->readQStringEntry(szTmp); KviQString::sprintf(szTmp,"%QNick",&szPrefix); m_szNick = cfg->readQStringEntry(szTmp); + KviQString::sprintf(szTmp,"%QSaslPass",&szPrefix); + m_szSaslPass = cfg->readQStringEntry(szTmp); + KviQString::sprintf(szTmp,"%QSaslNick",&szPrefix); + m_szSaslNick = cfg->readQStringEntry(szTmp); KviQString::sprintf(szTmp,"%QRealName",&szPrefix); m_szRealName = cfg->readQStringEntry(szTmp); KviQString::sprintf(szTmp,"%QInitUmode",&szPrefix); @@ -224,8 +232,10 @@ bool KviServer::load(KviConfig * cfg, const QString & szPrefix) setCacheIp(cfg->readBoolEntry(szTmp,false)); // true ? KviQString::sprintf(szTmp,"%QSSL",&szPrefix); setUseSSL(cfg->readBoolEntry(szTmp,false)); - KviQString::sprintf(szTmp,"%QSupportsSTARTTLS",&szPrefix); - setSupportsSTARTTLS(cfg->readBoolEntry(szTmp,false)); + KviQString::sprintf(szTmp,"%QEnabledSTARTTLS",&szPrefix); + setEnabledSTARTTLS(cfg->readBoolEntry(szTmp,true)); + KviQString::sprintf(szTmp,"%QEnabledSASL",&szPrefix); + setEnabledSASL(cfg->readBoolEntry(szTmp,false)); KviQString::sprintf(szTmp,"%QProxy",&szPrefix); setProxy(cfg->readIntEntry(szTmp,-2)); KviQString::sprintf(szTmp,"%QUserIdentityId",&szPrefix); @@ -265,6 +275,16 @@ void KviServer::save(KviConfig * cfg, const QString & szPrefix) KviQString::sprintf(szTmp,"%QNick",&szPrefix); cfg->writeEntry(szTmp,m_szNick); } + if(!m_szSaslPass.isEmpty()) + { + KviQString::sprintf(szTmp,"%QSaslPass",&szPrefix); + cfg->writeEntry(szTmp,m_szSaslPass); + } + if(!m_szSaslNick.isEmpty()) + { + KviQString::sprintf(szTmp,"%QSaslNick",&szPrefix); + cfg->writeEntry(szTmp,m_szSaslNick); + } if(!m_szRealName.isEmpty()) { KviQString::sprintf(szTmp,"%QRealName",&szPrefix); @@ -330,10 +350,15 @@ void KviServer::save(KviConfig * cfg, const QString & szPrefix) KviQString::sprintf(szTmp,"%QSSL",&szPrefix); cfg->writeEntry(szTmp,useSSL()); } - if(supportsSTARTTLS()) + if(!enabledSTARTTLS()) + { + KviQString::sprintf(szTmp,"%QEnabledSTARTTLS",&szPrefix); + cfg->writeEntry(szTmp,enabledSTARTTLS()); + } + if(enabledSASL()) { - KviQString::sprintf(szTmp,"%QSupportsSTARTTLS",&szPrefix); - cfg->writeEntry(szTmp,supportsSTARTTLS()); + KviQString::sprintf(szTmp,"%QEnabledSASL",&szPrefix); + cfg->writeEntry(szTmp,enabledSASL()); } if(proxy()!=-2) { |
