diff options
| author | 2008-09-27 16:29:29 +0000 | |
|---|---|---|
| committer | 2008-09-27 16:29:29 +0000 | |
| commit | 8e2afb36313bfc0fefe4811cc59b732da4f0ded8 (patch) | |
| tree | ac1f015310e6f8cb6cd5515ac9be565a1c91091f /src | |
| parent | fix for #245 (trunk/4.0 version) (diff) | |
| download | KVIrc-8e2afb36313bfc0fefe4811cc59b732da4f0ded8.tar.gz KVIrc-8e2afb36313bfc0fefe4811cc59b732da4f0ded8.tar.bz2 KVIrc-8e2afb36313bfc0fefe4811cc59b732da4f0ded8.zip | |
added doxygen comments;
renamed function;
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@2586 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src')
| -rw-r--r-- | src/kvilib/irc/kvi_ircserverdb.cpp | 77 | ||||
| -rw-r--r-- | src/kvilib/net/kvi_netutils.cpp | 2 | ||||
| -rw-r--r-- | src/kvilib/net/kvi_netutils.h | 2 | ||||
| -rw-r--r-- | src/kvirc/kernel/kvi_ircconnection.cpp | 12 | ||||
| -rw-r--r-- | src/kvirc/kernel/kvi_ircconnectiontargetresolver.cpp | 10 | ||||
| -rw-r--r-- | src/kvirc/kernel/kvi_irclink.cpp | 91 | ||||
| -rw-r--r-- | src/kvirc/kernel/kvi_irclink.h | 167 | ||||
| -rw-r--r-- | src/kvirc/kernel/kvi_ircsocket.cpp | 6 | ||||
| -rw-r--r-- | src/kvirc/kvs/kvi_kvs_coresimplecommands_sz.cpp | 2 | ||||
| -rw-r--r-- | src/modules/dcc/marshal.cpp | 4 | ||||
| -rw-r--r-- | src/modules/dcc/utils.cpp | 4 | ||||
| -rw-r--r-- | src/modules/objects/class_socket.cpp | 4 | ||||
| -rw-r--r-- | src/modules/options/optw_proxy.cpp | 2 |
13 files changed, 246 insertions, 137 deletions
diff --git a/src/kvilib/irc/kvi_ircserverdb.cpp b/src/kvilib/irc/kvi_ircserverdb.cpp index 85959886a..53a38ccde 100644 --- a/src/kvilib/irc/kvi_ircserverdb.cpp +++ b/src/kvilib/irc/kvi_ircserverdb.cpp @@ -23,18 +23,16 @@ //============================================================================= - -#include <QApplication> -#include <QLayout> -#include <QMessageBox> -#include <QCheckBox> - #include "kvi_ircserverdb.h" #include "kvi_config.h" #include "kvi_locale.h" #include "kvi_netutils.h" #include "kvi_nickserv.h" +#include <QApplication> +#include <QLayout> +#include <QMessageBox> +#include <QCheckBox> KviServerDataBase::KviServerDataBase() { @@ -47,20 +45,26 @@ KviServerDataBase::KviServerDataBase() KviServerDataBase::~KviServerDataBase() { delete m_pRecords; - if(m_pAutoConnectOnStartupServers)delete m_pAutoConnectOnStartupServers; - if(m_pAutoConnectOnStartupNetworks)delete m_pAutoConnectOnStartupNetworks; + if(m_pAutoConnectOnStartupServers) + delete m_pAutoConnectOnStartupServers; + if(m_pAutoConnectOnStartupNetworks) + delete m_pAutoConnectOnStartupNetworks; } void KviServerDataBase::clearAutoConnectOnStartupServers() { - if(!m_pAutoConnectOnStartupServers)return; + if(!m_pAutoConnectOnStartupServers) + return; + delete m_pAutoConnectOnStartupServers; m_pAutoConnectOnStartupServers = 0; } void KviServerDataBase::clearAutoConnectOnStartupNetworks() { - if(!m_pAutoConnectOnStartupNetworks)return; + if(!m_pAutoConnectOnStartupNetworks) + return; + delete m_pAutoConnectOnStartupNetworks; m_pAutoConnectOnStartupNetworks = 0; } @@ -71,12 +75,12 @@ void KviServerDataBase::clear() m_szCurrentNetwork = ""; } -void KviServerDataBase::addNetwork(KviNetwork *n) +void KviServerDataBase::addNetwork(KviNetwork * n) { m_pRecords->replace(n->name(),n); } -KviNetwork * KviServerDataBase::findNetwork(const QString &szName) +KviNetwork * KviServerDataBase::findNetwork(const QString & szName) { KviNetwork * r = m_pRecords->find(szName); return r; @@ -85,17 +89,21 @@ KviNetwork * KviServerDataBase::findNetwork(const QString &szName) KviNetwork * KviServerDataBase::currentNetwork() { KviNetwork * r = 0; - if(!m_szCurrentNetwork.isEmpty())r = m_pRecords->find(m_szCurrentNetwork); - if(r)return r; + if(!m_szCurrentNetwork.isEmpty()) + r = m_pRecords->find(m_szCurrentNetwork); + if(r) + return r; KviPointerHashTableIterator<QString,KviNetwork> it(*m_pRecords); r = it.current(); - if(!r)return 0; + if(!r) + return 0; + m_szCurrentNetwork = r->name(); return r; } -bool KviServerDataBase::makeCurrentBestServerInNetwork(const QString &szNetName,KviNetwork * r,QString &szError) +bool KviServerDataBase::makeCurrentBestServerInNetwork(const QString & szNetName, KviNetwork * r, QString & szError) { m_szCurrentNetwork = szNetName; // find a round-robin server in that network @@ -106,10 +114,11 @@ bool KviServerDataBase::makeCurrentBestServerInNetwork(const QString &szNetName, return false; } - for(KviServer * s = r->m_pServerList->first();s;s = r->m_pServerList->next()) + for(KviServer * s = r->m_pServerList->first(); s; s = r->m_pServerList->next()) { if(s->m_szDescription.contains("random",Qt::CaseInsensitive) || - (s->m_szDescription.contains("round",Qt::CaseInsensitive) && s->m_szDescription.contains("robin",Qt::CaseInsensitive))) + (s->m_szDescription.contains("round",Qt::CaseInsensitive) && + s->m_szDescription.contains("robin",Qt::CaseInsensitive))) { r->setCurrentServer(s); return true; @@ -118,17 +127,17 @@ bool KviServerDataBase::makeCurrentBestServerInNetwork(const QString &szNetName, // no explicit round robin... try some common names - QString tryAlso1,tryAlso2,tryAlso3; + QString szTryAlso1, szTryAlso2, szTryAlso3; - KviQString::sprintf(tryAlso1,"irc.%Q.org",&szNetName); - KviQString::sprintf(tryAlso2,"irc.%Q.net",&szNetName); - KviQString::sprintf(tryAlso3,"irc.%Q.com",&szNetName); + KviQString::sprintf(szTryAlso1,"irc.%Q.org",&szNetName); + KviQString::sprintf(szTryAlso2,"irc.%Q.net",&szNetName); + KviQString::sprintf(szTryAlso3,"irc.%Q.com",&szNetName); - for(KviServer * ss = r->m_pServerList->first();ss;ss = r->m_pServerList->next()) + for(KviServer * ss = r->m_pServerList->first(); ss; ss = r->m_pServerList->next()) { - if(KviQString::equalCI(ss->m_szHostname,tryAlso1) || - KviQString::equalCI(ss->m_szHostname,tryAlso2) || - KviQString::equalCI(ss->m_szHostname,tryAlso3)) + if(KviQString::equalCI(ss->m_szHostname,szTryAlso1) || + KviQString::equalCI(ss->m_szHostname,szTryAlso2) || + KviQString::equalCI(ss->m_szHostname,szTryAlso3)) { r->setCurrentServer(ss); return true; @@ -139,8 +148,7 @@ bool KviServerDataBase::makeCurrentBestServerInNetwork(const QString &szNetName, return true; } - -bool KviServerDataBase::makeCurrentServer(KviServerDefinition * d,QString &szError) +bool KviServerDataBase::makeCurrentServer(KviServerDefinition * d, QString & szError) { KviServer * pServer = 0; @@ -185,7 +193,7 @@ bool KviServerDataBase::makeCurrentServer(KviServerDefinition * d,QString &szErr while((r = it.current())) { - for(srv = r->serverList()->first();srv && (!pServer);srv = r->serverList()->next()) + for(srv = r->serverList()->first(); srv && (!pServer); srv = r->serverList()->next()) { if(KviQString::equalCI(srv->hostName(),d->szServer)) { @@ -245,9 +253,12 @@ search_finished: if(r && pServer) { - if(!d->szNick.isEmpty())pServer->m_szNick = d->szNick; - if(!d->szPass.isEmpty())pServer->m_szPass = d->szPass; // don't clear the pass! - if(!d->szInitUMode.isEmpty())pServer->m_szInitUMode = d->szInitUMode; + if(!d->szNick.isEmpty()) + pServer->m_szNick = d->szNick; + if(!d->szPass.isEmpty()) + pServer->m_szPass = d->szPass; // don't clear the pass! + if(!d->szInitUMode.isEmpty()) + pServer->m_szInitUMode = d->szInitUMode; m_szCurrentNetwork = r->name(); r->setCurrentServer(pServer); @@ -257,7 +268,7 @@ search_finished: // no such server: is it a valid ip address or hostname ? bool bIsValidIPv4 = KviNetUtils::isValidStringIp(d->szServer); #ifdef COMPILE_IPV6_SUPPORT - bool bIsValidIPv6 =KviNetUtils::isValidStringIp_V6(d->szServer); + bool bIsValidIPv6 = KviNetUtils::isValidStringIPv6(d->szServer); #else bool bIsValidIPv6 = false; #endif diff --git a/src/kvilib/net/kvi_netutils.cpp b/src/kvilib/net/kvi_netutils.cpp index 5d6f4ae42..0a9e42d8c 100644 --- a/src/kvilib/net/kvi_netutils.cpp +++ b/src/kvilib/net/kvi_netutils.cpp @@ -520,7 +520,7 @@ namespace KviNetUtils return (inet_pton(AF_INET6,KviQString::toUtf8(szStringIp).data(),(void *)address) == 1); } - bool isValidStringIp_V6(const QString &szIp) + bool isValidStringIPv6(const QString &szIp) { struct in6_addr address; if(szIp.isEmpty())return false; diff --git a/src/kvilib/net/kvi_netutils.h b/src/kvilib/net/kvi_netutils.h index bf5631d69..8133a252e 100644 --- a/src/kvilib/net/kvi_netutils.h +++ b/src/kvilib/net/kvi_netutils.h @@ -80,7 +80,7 @@ namespace KviNetUtils KVILIB_API bool binaryIpToStringIp(struct in_addr in,QString &szBuffer); KVILIB_API bool getInterfaceAddress(const QString &szInterfaceName,QString &szBuffer); #ifdef COMPILE_IPV6_SUPPORT - KVILIB_API bool isValidStringIp_V6(const QString &szStringIp); + KVILIB_API bool isValidStringIPv6(const QString &szStringIp); KVILIB_API bool stringIpToBinaryIp_V6(const QString &szStringIp,struct in6_addr * address); KVILIB_API bool binaryIpToStringIp_V6(struct in6_addr in,QString &szBuffer); #endif diff --git a/src/kvirc/kernel/kvi_ircconnection.cpp b/src/kvirc/kernel/kvi_ircconnection.cpp index 0de07cc32..15acb0a22 100644 --- a/src/kvirc/kernel/kvi_ircconnection.cpp +++ b/src/kvirc/kernel/kvi_ircconnection.cpp @@ -721,10 +721,12 @@ void KviIrcConnection::resolveLocalHost() #ifdef COMPILE_IPV6_SUPPORT if(server()->isIPv6()) { - if(KviNetUtils::isValidStringIp_V6(KVI_OPTION_STRING(KviOption_stringLocalHostIp)))bGotIp = true; + if(KviNetUtils::isValidStringIPv6(KVI_OPTION_STRING(KviOption_stringLocalHostIp))) + bGotIp = true; } else { #endif - if(KviNetUtils::isValidStringIp(KVI_OPTION_STRING(KviOption_stringLocalHostIp)))bGotIp = true; + if(KviNetUtils::isValidStringIp(KVI_OPTION_STRING(KviOption_stringLocalHostIp))) + bGotIp = true; #ifdef COMPILE_IPV6_SUPPORT } #endif @@ -811,7 +813,7 @@ void KviIrcConnection::userInfoReceived(const QString &szUserName,const QString #ifdef COMPILE_IPV6_SUPPORT if((KviNetUtils::isValidStringIp(m_pUserInfo->hostIp()) && KviNetUtils::isRoutableIpString(m_pUserInfo->hostIp())) || - KviNetUtils::isValidStringIp_V6(m_pUserInfo->hostIp())) + KviNetUtils::isValidStringIPv6(m_pUserInfo->hostIp())) #else if((KviNetUtils::isValidStringIp(m_pUserInfo->hostIp()) && KviNetUtils::isRoutableIpString(m_pUserInfo->hostIp()))) @@ -830,7 +832,7 @@ void KviIrcConnection::userInfoReceived(const QString &szUserName,const QString { // lookup the new hostname then... #ifdef COMPILE_IPV6_SUPPORT - if(KviNetUtils::isValidStringIp(szHostName) || KviNetUtils::isValidStringIp_V6(szHostName)) + if(KviNetUtils::isValidStringIp(szHostName) || KviNetUtils::isValidStringIPv6(szHostName)) #else if(KviNetUtils::isValidStringIp(szHostName)) #endif @@ -840,7 +842,7 @@ void KviIrcConnection::userInfoReceived(const QString &szUserName,const QString m_pUserInfo->setHostIp(szHostName); } else #ifdef COMPILE_IPV6_SUPPORT - if(KviNetUtils::isValidStringIp(szUnmaskedHost) || KviNetUtils::isValidStringIp_V6(szUnmaskedHost)) + if(KviNetUtils::isValidStringIp(szUnmaskedHost) || KviNetUtils::isValidStringIPv6(szUnmaskedHost)) #else if(KviNetUtils::isValidStringIp(szUnmaskedHost)) #endif diff --git a/src/kvirc/kernel/kvi_ircconnectiontargetresolver.cpp b/src/kvirc/kernel/kvi_ircconnectiontargetresolver.cpp index 6716906ed..219baf6d2 100644 --- a/src/kvirc/kernel/kvi_ircconnectiontargetresolver.cpp +++ b/src/kvirc/kernel/kvi_ircconnectiontargetresolver.cpp @@ -181,7 +181,7 @@ void KviIrcConnectionTargetResolver::lookupProxyHostname() #ifdef COMPILE_IPV6_SUPPORT if(m_pTarget->proxy()->isIPv6()) { - bValidIp = KviNetUtils::isValidStringIp_V6(m_pTarget->proxy()->m_szIp); + bValidIp = KviNetUtils::isValidStringIPv6(m_pTarget->proxy()->m_szIp); } else { #endif bValidIp = KviNetUtils::isValidStringIp(m_pTarget->proxy()->m_szIp); @@ -203,7 +203,7 @@ void KviIrcConnectionTargetResolver::lookupProxyHostname() #ifdef COMPILE_IPV6_SUPPORT if(m_pTarget->proxy()->isIPv6()) { - bValidIp = KviNetUtils::isValidStringIp_V6(m_pTarget->proxy()->m_szHostname); + bValidIp = KviNetUtils::isValidStringIPv6(m_pTarget->proxy()->m_szHostname); } else { #endif bValidIp = KviNetUtils::isValidStringIp(m_pTarget->proxy()->m_szHostname); @@ -309,7 +309,7 @@ void KviIrcConnectionTargetResolver::lookupServerHostname() #ifdef COMPILE_IPV6_SUPPORT if(m_pTarget->server()->isIPv6()) { - bValidIp = KviNetUtils::isValidStringIp_V6(m_pTarget->server()->m_szIp); + bValidIp = KviNetUtils::isValidStringIPv6(m_pTarget->server()->m_szIp); } else { #endif bValidIp = KviNetUtils::isValidStringIp(m_pTarget->server()->m_szIp); @@ -328,7 +328,7 @@ void KviIrcConnectionTargetResolver::lookupServerHostname() #ifdef COMPILE_IPV6_SUPPORT if(m_pTarget->server()->isIPv6()) { - bValidIp = KviNetUtils::isValidStringIp_V6(m_pTarget->server()->m_szHostname); + bValidIp = KviNetUtils::isValidStringIPv6(m_pTarget->server()->m_szHostname); } else { #endif bValidIp = KviNetUtils::isValidStringIp(m_pTarget->server()->m_szHostname); @@ -455,7 +455,7 @@ bool KviIrcConnectionTargetResolver::validateLocalAddress(const QString &szAddre #ifdef COMPILE_IPV6_SUPPORT if(m_pTarget->server()->isIPv6()) { - if(KviNetUtils::isValidStringIp_V6(szAddress)) + if(KviNetUtils::isValidStringIPv6(szAddress)) { szBuffer = szAddress; return true; diff --git a/src/kvirc/kernel/kvi_irclink.cpp b/src/kvirc/kernel/kvi_irclink.cpp index a1c6b3775..5273b80d8 100644 --- a/src/kvirc/kernel/kvi_irclink.cpp +++ b/src/kvirc/kernel/kvi_irclink.cpp @@ -23,7 +23,6 @@ //============================================================================= - #include "kvi_irclink.h" #include "kvi_dns.h" #include "kvi_locale.h" @@ -52,10 +51,9 @@ #include <QTimer> -extern KVIRC_API KviServerDataBase * g_pServerDataBase; -extern KVIRC_API KviProxyDataBase * g_pProxyDataBase; -extern KVIRC_API KviGarbageCollector * g_pGarbageCollector; - +extern KVIRC_API KviServerDataBase * g_pServerDataBase; +extern KVIRC_API KviProxyDataBase * g_pProxyDataBase; +extern KVIRC_API KviGarbageCollector * g_pGarbageCollector; KviIrcLink::KviIrcLink(KviIrcConnection * pConnection) @@ -64,10 +62,9 @@ KviIrcLink::KviIrcLink(KviIrcConnection * pConnection) m_pConnection = pConnection; m_pTarget = pConnection->target(); m_pConsole = m_pConnection->console(); + m_pSocket = 0; - m_pLinkFilter = 0; - m_pResolver = 0; m_pReadBuffer = 0; // incoming data buffer @@ -79,9 +76,13 @@ KviIrcLink::KviIrcLink(KviIrcConnection * pConnection) KviIrcLink::~KviIrcLink() { - if(m_pResolver)delete m_pResolver; + if(m_pResolver) + delete m_pResolver; + destroySocket(); - if(m_pReadBuffer)kvi_free(m_pReadBuffer); + + if(m_pReadBuffer) + kvi_free(m_pReadBuffer); } @@ -92,9 +93,6 @@ KviIrcLink::~KviIrcLink() void KviIrcLink::linkFilterDestroyed() { - // ops.. the link filter has been destroyed without permission :D - // this should NEVER happen (?) - m_pLinkFilter = 0; m_pConsole->output(KVI_OUT_SYSTEMWARNING, __tr2qs("Ops... for some reason the link filter object has been destroyed")); @@ -117,15 +115,17 @@ void KviIrcLink::destroySocket() } } -void KviIrcLink::createSocket(const QString &szLinkFilterName) +void KviIrcLink::createSocket(const QString & szLinkFilterName) { destroySocket(); // make sure we do not leak memory m_pSocket = new KviIrcSocket(this); - if(szLinkFilterName.isEmpty())return; + if(szLinkFilterName.isEmpty()) + return; - if(KviQString::equalCI(szLinkFilterName,"irc"))return; + if(KviQString::equalCI(szLinkFilterName,"irc")) + return; m_pLinkFilter = (KviMexLinkFilter *)g_pModuleExtensionManager->allocateExtension("linkfilter", szLinkFilterName.toUtf8().data(),m_pConsole,0,this,szLinkFilterName.toUtf8().data()); @@ -154,6 +154,7 @@ void KviIrcLink::abort() m_pSocket->abort(); return; } + if(m_pResolver) { m_pResolver->abort(); @@ -164,7 +165,9 @@ void KviIrcLink::abort() void KviIrcLink::start() { m_eState = Connecting; - if(m_pResolver)delete m_pResolver; // this should never happen + if(m_pResolver) + delete m_pResolver; // this should never happen + m_pResolver = new KviIrcConnectionTargetResolver(m_pConnection); connect(m_pResolver,SIGNAL(terminated()),this,SLOT(resolverTerminated())); m_pResolver->start(m_pTarget); @@ -196,10 +199,10 @@ void KviIrcLink::resolverTerminated() if(iErr != KviError_success) { - QString strDescription(KviError::getDescription(iErr)); + QString szStrDescription(KviError::getDescription(iErr)); m_pConsole->output(KVI_OUT_SYSTEMERROR, __tr2qs("Failed to start the connection: %Q"), - &strDescription); + &szStrDescription); // &(KviError::getDescription(iErr))); m_eState = Idle; @@ -213,18 +216,18 @@ void KviIrcLink::resolverTerminated() // Incoming data processing // -void KviIrcLink::processData(char * buffer,int len) +void KviIrcLink::processData(char * buffer, int iLen) { if(m_pLinkFilter) { - m_pLinkFilter->processData(buffer,len); + m_pLinkFilter->processData(buffer,iLen); return; } - register char *p=buffer; - char *beginOfCurData = buffer; - int bufLen = 0; - char *messageBuffer = (char *)kvi_malloc(1); + register char * p = buffer; + char * cBeginOfCurData = buffer; + int iBufLen = 0; + char * cMessageBuffer = (char *)kvi_malloc(1); while(*p) { @@ -232,23 +235,23 @@ void KviIrcLink::processData(char * buffer,int len) { //found a CR or LF... //prepare a message buffer - bufLen = p - beginOfCurData; + iBufLen = p - cBeginOfCurData; //check for previous unterminated data if(m_uReadBufferLen > 0) { __range_valid(m_pReadBuffer); - messageBuffer = (char *)kvi_realloc(messageBuffer,bufLen + m_uReadBufferLen + 1); - kvi_memmove(messageBuffer,m_pReadBuffer,m_uReadBufferLen); - kvi_memmove((void *)(messageBuffer + m_uReadBufferLen),beginOfCurData,bufLen); - *(messageBuffer + bufLen + m_uReadBufferLen) = '\0'; + cMessageBuffer = (char *)kvi_realloc(cMessageBuffer,iBufLen + m_uReadBufferLen + 1); + kvi_memmove(cMessageBuffer,m_pReadBuffer,m_uReadBufferLen); + kvi_memmove((void *)(cMessageBuffer + m_uReadBufferLen),cBeginOfCurData,iBufLen); + *(cMessageBuffer + iBufLen + m_uReadBufferLen) = '\0'; m_uReadBufferLen = 0; kvi_free(m_pReadBuffer); m_pReadBuffer = 0; } else { __range_invalid(m_pReadBuffer); - messageBuffer = (char *)kvi_realloc(messageBuffer,bufLen + 1); - kvi_memmove(messageBuffer,beginOfCurData,bufLen); - *(messageBuffer + bufLen) = '\0'; + cMessageBuffer = (char *)kvi_realloc(cMessageBuffer,iBufLen + 1); + kvi_memmove(cMessageBuffer,cBeginOfCurData,iBufLen); + *(cMessageBuffer + iBufLen) = '\0'; } m_uReadPackets++; @@ -264,8 +267,8 @@ void KviIrcLink::processData(char * buffer,int len) // the disconnect and thus destroying the irc context). // For now we try to rely on the remaining parts to handle correctly // such conditions. Let's see... - if(strlen(messageBuffer)>0) - m_pConnection->incomingMessage(messageBuffer); + if(strlen(cMessageBuffer) > 0) + m_pConnection->incomingMessage(cMessageBuffer); if(m_pSocket->state() != KviIrcSocket::Connected) { @@ -276,12 +279,12 @@ void KviIrcLink::processData(char * buffer,int len) // // We handle it by simply returning control to readData() which // will return immediately (and safely) control to Qt - kvi_free(messageBuffer); + kvi_free(cMessageBuffer); return; } while(*p && ((*p=='\r')||(*p=='\n')) )p++; - beginOfCurData = p; + cBeginOfCurData = p; } else p++; } @@ -290,30 +293,30 @@ void KviIrcLink::processData(char * buffer,int len) //beginOfCurData points to '\0' if we have //no more stuff to parse , or points to something //different than '\r' or '\n'... - if(*beginOfCurData) + if(*cBeginOfCurData) { //Have remaining data...in the local buffer - bufLen = p - beginOfCurData; + iBufLen = p - cBeginOfCurData; if(m_uReadBufferLen > 0) { //and there was more stuff saved... (really slow connection) __range_valid(m_pReadBuffer); - m_pReadBuffer =(char *)kvi_realloc(m_pReadBuffer,m_uReadBufferLen + bufLen); - kvi_memmove((void *)(m_pReadBuffer+m_uReadBufferLen),beginOfCurData,bufLen); - m_uReadBufferLen += bufLen; + m_pReadBuffer =(char *)kvi_realloc(m_pReadBuffer,m_uReadBufferLen + iBufLen); + kvi_memmove((void *)(m_pReadBuffer+m_uReadBufferLen),cBeginOfCurData,iBufLen); + m_uReadBufferLen += iBufLen; } else { // __range_invalid(m_pReadBuffer); - m_uReadBufferLen = bufLen; + m_uReadBufferLen = iBufLen; m_pReadBuffer =(char *)kvi_malloc(m_uReadBufferLen); - kvi_memmove(m_pReadBuffer,beginOfCurData,m_uReadBufferLen); + kvi_memmove(m_pReadBuffer,cBeginOfCurData,m_uReadBufferLen); } //The m_pReadBuffer contains at max 1 irc message... //that can not be longer than 510 bytes (the message is not CRLF terminated) // FIXME: Is this limit *really* valid on all servers ? if(m_uReadBufferLen > 510) debug("WARNING: Receiving an invalid irc message from server."); } - kvi_free(messageBuffer); + kvi_free(cMessageBuffer); } ///////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/src/kvirc/kernel/kvi_irclink.h b/src/kvirc/kernel/kvi_irclink.h index ba5bf9c10..fb778157d 100644 --- a/src/kvirc/kernel/kvi_irclink.h +++ b/src/kvirc/kernel/kvi_irclink.h @@ -24,8 +24,15 @@ // //============================================================================= +/** +* \file kvi_irclink.h +* \author Szymon Stefanek +* \brief Middle stack protocol for IRC connection +*/ + #include "kvi_settings.h" #include "kvi_qstring.h" + #include <QObject> class KviConsole; @@ -39,20 +46,44 @@ class KviIrcConnectionTargetResolver; class KviDataBuffer; class KviMexLinkFilter; - +/** +* \class KviIrcLink +* \brief Middle stack class for IRC connection +* +* This class gets data from KviIrcSocket and pass it to KviIrcConnection +*/ class KVIRC_API KviIrcLink : public QObject { friend class KviIrcConnection; // upper protocol in the stack friend class KviIrcSocket; // lower protocol in the stack Q_OBJECT public: - enum State { Idle, Connecting, Connected }; + /** + * \enum State + */ + enum State { + Idle, /**< Socket idling */ + Connecting, /**< Socket connecting */ + Connected /**< Socket connected */ + }; protected: - // only KviConsole can create this - // pConsole must NOT be null - // pServer is a shallow pointer: Connection makes a copy of it internally, must NOT be null - // pProxy may be null if a proxy is not desired. Connection makes a copy of it internally + /** + * \brief Constructs the IrcLink object + * + * Only KviConsole can create this. + * pConsole must NOT be null; + * pServer is a shallow pointer: Connection makes a copy of it internally, + * must NOT be null; + * pProxy may be null if a proxy is not desired. Connection makes a copy + * of it internally; + * \param pConnection The pointer to the KviIrcConnection class + * \return KviIrcLink + */ KviIrcLink(KviIrcConnection * pConnection); + + /** + * \brief Destroys the IrcLink object + */ ~KviIrcLink(); private: KviIrcConnection * m_pConnection; // shallow, never null @@ -69,54 +100,116 @@ private: KviIrcConnectionTargetResolver * m_pResolver; // owned public: - // da socket(): may be null! + /** + * \brief Returns the socket + * + * May be null! + * \return KviIrcSocket * + */ KviIrcSocket * socket(){ return m_pSocket; }; - // da connection: never null + + /** + * \brief Returns the connection object + * + * Never null + * \return KviIrcConnection * + */ KviIrcConnection * connection(){ return m_pConnection; }; - // da console: never null + + /** + * \brief Returns the console + * + * Never null + * \return KviConsole * + */ KviConsole * console(){ return m_pConsole; }; + + /** + * \brief Returns the state of the socket + * \return State + */ State state(){ return m_eState; }; protected: - // - // interface for KviIrcConnection (up) - // - - // This is used by KviIrcConnection::send*() - // This should be used to intercept the outgoing packets - // when implementing a new protocol + /** + * \brief Sends a data packet + * + * This is used by KviIrcConnection::send*() + * This should be used to intercept the outgoing packets when implementing + * a new protocol. + * It's an interface for KviIrcConnection (upper protocol in stack) + * \param pData The pointer to the data packet + * \return bool + */ virtual bool sendPacket(KviDataBuffer * pData); - // this aborts any connection or attempt + + /** + * \brief Aborts any connection or attempt + * \return void + */ void abort(); protected: - // - // local overridables (called internally) - // - - // This is the function used to start a connection attempt. - // It starts the server or proxy DNS lookup - // The function MUST be asynchronous: it must return succesfully - // and report any error by using m_pConnection->linkAttemptFailed() + /** + * \brief Starts a connection attempt. + * + * It starts the server or proxy DNS lookup. + * The function MUST be asynchronous: it must return succesfully and + * report any error by using m_pConnection->linkAttemptFailed() + * It's called internally and it's overridable + * \return void + */ void start(); protected: - // - // interface for KviIrcSocket (down) - // - - // This is called by KviIrcSocket to process a packet - // of raw data from the server. The buffer is iLength+1 - // bytes long and contains a null terminator - void processData(char * buffer,int iLength); - // this is called at each state change + /** + * \brief Process a packet of raw data from the server + * + * This is called by KviIrcSocket. + * The buffer is iLength+1 bytes long and contains a null terminator + * It's an interface for KviIrcSocket (lower protocol in stack) + * \param buffer The buffer :) + * \param iLength The length of the buffer + * \return void + */ + void processData(char * buffer, int iLength); + + /** + * \brief Called at each state change + * \return void + */ void socketStateChange(); protected slots: + /** + * \brief Called when the link filter has been destroyed without permission :D + * + * This should NEVER happen (?) + * This is part of the KviIrcSocket management + * \return void + */ void linkFilterDestroyed(); private: + /** + * \brief Destroys the socket + * \return void + */ void destroySocket(); - void createSocket(const QString &szLinkFilterName); + + /** + * \brief Creates the socket + * \param szLinkFilterName The source linkfilter name + * \return void + */ + void createSocket(const QString & szLinkFilterName); signals: - void connectionFailed(); // the connection attempt has failed + /** + * \brief Emitted when the connection attempt has failed + * \return void + */ + void connectionFailed(); private slots: + /** + * \brief Called when the DNS lookup has terminated + * \return void + */ void resolverTerminated(); }; -#endif //!_KVI_IRCLINK_H_ +#endif //_KVI_IRCLINK_H_ diff --git a/src/kvirc/kernel/kvi_ircsocket.cpp b/src/kvirc/kernel/kvi_ircsocket.cpp index f78578cc2..293751452 100644 --- a/src/kvirc/kernel/kvi_ircsocket.cpp +++ b/src/kvirc/kernel/kvi_ircsocket.cpp @@ -277,7 +277,7 @@ int KviIrcSocket::startConnection(KviServer *srv,KviProxy * prx,const char * bin // IPv6 proxy :) (STILL QUITE UNTESTED ?) #ifdef COMPILE_IPV6_SUPPORT bTargetIPv6 = true; - if(!KviNetUtils::isValidStringIp_V6(m_pProxy->ip()))return KviError_invalidProxyAddress; + if(!KviNetUtils::isValidStringIPv6(m_pProxy->ip()))return KviError_invalidProxyAddress; // SOCKSv4 does not support IPV6 addresses if(m_pProxy->protocol() == KviProxy::Socks4)return KviError_socksV4LacksIPv6Support; #else @@ -296,7 +296,7 @@ int KviIrcSocket::startConnection(KviServer *srv,KviProxy * prx,const char * bin if(m_pIrcServer->isIPv6()) { // We have an IPv6 server host (Interesting if proxy is IPv4) - if( !KviNetUtils::isValidStringIp_V6(m_pIrcServer->ip()) )return KviError_invalidIpAddress; + if( !KviNetUtils::isValidStringIPv6(m_pIrcServer->ip()) )return KviError_invalidIpAddress; if(!m_pProxy)bTargetIPv6 = true; // otherwise the proxy rules } else { #endif @@ -897,7 +897,7 @@ void KviIrcSocket::proxySendTargetDataV5() ( KviNetUtils::isValidStringIp(m_pIrcServer->ip()) #ifdef COMPILE_IPV6_SUPPORT - || KviNetUtils::isValidStringIp_V6(m_pIrcServer->ip()) + || KviNetUtils::isValidStringIPv6(m_pIrcServer->ip()) #endif ) diff --git a/src/kvirc/kvs/kvi_kvs_coresimplecommands_sz.cpp b/src/kvirc/kvs/kvi_kvs_coresimplecommands_sz.cpp index e6f50d330..d1915650a 100644 --- a/src/kvirc/kvs/kvi_kvs_coresimplecommands_sz.cpp +++ b/src/kvirc/kvs/kvi_kvs_coresimplecommands_sz.cpp @@ -276,7 +276,7 @@ namespace KviKvsCoreSimpleCommands d->szLinkFilter = szSocketFilter; d->bPortIsOk = (uPort > 0); #ifdef COMPILE_IPV6_SUPPORT - d->bUseIPv6 = (KVSCSC_pSwitches->find('i',"ipv6") != 0) || KviNetUtils::isValidStringIp_V6(szServer); + d->bUseIPv6 = (KVSCSC_pSwitches->find('i',"ipv6") != 0) || KviNetUtils::isValidStringIPv6(szServer); #else d->bUseIPv6 = false; #endif diff --git a/src/modules/dcc/marshal.cpp b/src/modules/dcc/marshal.cpp index 4219a86a0..55ad6ecfa 100644 --- a/src/modules/dcc/marshal.cpp +++ b/src/modules/dcc/marshal.cpp @@ -126,7 +126,7 @@ void KviDccMarshal::doListen() if(!KviNetUtils::isValidStringIp(m_szIp)) { #ifdef COMPILE_IPV6_SUPPORT - if(!KviNetUtils::isValidStringIp_V6(m_szIp)) + if(!KviNetUtils::isValidStringIPv6(m_szIp)) { emit error(KviError_invalidIpAddress); return; @@ -300,7 +300,7 @@ void KviDccMarshal::doConnect() if(!KviNetUtils::isValidStringIp(m_szIp)) { #ifdef COMPILE_IPV6_SUPPORT - if(!KviNetUtils::isValidStringIp_V6(m_szIp)) + if(!KviNetUtils::isValidStringIPv6(m_szIp)) { emit error(KviError_invalidIpAddress); return; diff --git a/src/modules/dcc/utils.cpp b/src/modules/dcc/utils.cpp index 888b6d668..6ac655906 100644 --- a/src/modules/dcc/utils.cpp +++ b/src/modules/dcc/utils.cpp @@ -62,7 +62,7 @@ bool dcc_module_get_listen_ip_address(KviCommand *c,KviConsole * pConsole,QStrin return true; } #ifdef COMPILE_IPV6_SUPPORT - if(kvi_isValidStringIp_V6(KVI_OPTION_STRING(KviOption_stringDccListenDefaultInterface).toUtf8().data())) + if(kvi_isValidStringIPv6(KVI_OPTION_STRING(KviOption_stringDccListenDefaultInterface).toUtf8().data())) { szListenIp = KVI_OPTION_STRING(KviOption_stringDccListenDefaultInterface); } else { @@ -130,7 +130,7 @@ bool dcc_kvs_get_listen_ip_address(KviKvsModuleCommandCall *c,KviConsole * pCons return true; } #ifdef COMPILE_IPV6_SUPPORT - if(KviNetUtils::isValidStringIp_V6(KVI_OPTION_STRING(KviOption_stringDccListenDefaultInterface).toUtf8().data())) + if(KviNetUtils::isValidStringIPv6(KVI_OPTION_STRING(KviOption_stringDccListenDefaultInterface).toUtf8().data())) { szListenIp = KVI_OPTION_STRING(KviOption_stringDccListenDefaultInterface); } else { diff --git a/src/modules/objects/class_socket.cpp b/src/modules/objects/class_socket.cpp index 333e17d72..5f3856f58 100644 --- a/src/modules/objects/class_socket.cpp +++ b/src/modules/objects/class_socket.cpp @@ -511,7 +511,7 @@ bool KviKvsObject_socket::functionConnect(KviKvsObjectFunctionCall *c) #ifdef COMPILE_IPV6_SUPPORT - if(KviNetUtils::isValidStringIp(m_szRemoteIp) || KviNetUtils::isValidStringIp_V6(m_szRemoteIp)) + if(KviNetUtils::isValidStringIp(m_szRemoteIp) || KviNetUtils::isValidStringIPv6(m_szRemoteIp)) #else if(KviNetUtils::isValidStringIp(m_szRemoteIp)) #endif @@ -572,7 +572,7 @@ bool KviKvsObject_socket::functionListen(KviKvsObjectFunctionCall *c) if(KviNetUtils::isValidStringIp(m_szLocalIp))bGotIp = true; else { #ifdef COMPILE_IPV6_SUPPORT - if(KviNetUtils::isValidStringIp_V6(m_szLocalIp)) + if(KviNetUtils::isValidStringIPv6(m_szLocalIp)) { bGotIp = true; m_bIPv6 = true; diff --git a/src/modules/options/optw_proxy.cpp b/src/modules/options/optw_proxy.cpp index db6a111fb..5ebbc7979 100644 --- a/src/modules/options/optw_proxy.cpp +++ b/src/modules/options/optw_proxy.cpp @@ -259,7 +259,7 @@ void KviProxyOptionsWidget::saveLastItem() if(m_pIPv6Check->isChecked()) { if((!KviQString::equalCI(tmpAddr,"0:0:0:0:0:0:0:0")) && - KviNetUtils::isValidStringIp_V6(tmpAddr)) + KviNetUtils::isValidStringIPv6(tmpAddr)) { m_pLastEditedItem->m_pProxyData->m_szIp = tmpAddr; } |
