aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/dcc/broker.cpp
diff options
context:
space:
mode:
authorGravatar Szymon Tomasz Stefanek2010-06-02 14:57:24 +0000
committerGravatar Szymon Tomasz Stefanek2010-06-02 14:57:24 +0000
commit0edeeda7aa5ba240293cc2055666042b3e1a59fc (patch)
tree25c39452c7762a4eeafb836b8dab7d84820fe40f /src/modules/dcc/broker.cpp
parentSome fixes in classeditor + code improvements in tablewidget kvs class (diff)
downloadKVIrc-0edeeda7aa5ba240293cc2055666042b3e1a59fc.tar.gz
KVIrc-0edeeda7aa5ba240293cc2055666042b3e1a59fc.tar.bz2
KVIrc-0edeeda7aa5ba240293cc2055666042b3e1a59fc.zip
DCC works. Support 64bit resume offsets. Add option for routers that remap DCC SEND but not DCC RESUME. Some cleanups...
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@4417 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules/dcc/broker.cpp')
-rw-r--r--src/modules/dcc/broker.cpp25
1 files changed, 11 insertions, 14 deletions
diff --git a/src/modules/dcc/broker.cpp b/src/modules/dcc/broker.cpp
index 2b82d8a5a..820fc781d 100644
--- a/src/modules/dcc/broker.cpp
+++ b/src/modules/dcc/broker.cpp
@@ -957,18 +957,17 @@ bool KviDccBroker::handleResumeRequest(KviDccRequest * dcc,const char * filename
KviDccZeroPortTag * t = findZeroPortTag(QString(szZeroPortTag));
if(t)
{
- //debug("FOUND");
// valid zero port resume request
- if(filePos < t->m_uFileSize)
- {
- //debug("VALID");
- // ok!
- t->m_uResumePosition = filePos;
+ if(filePos >= t->m_uFileSize)
+ return false; // invalid resume size
+
+ // ok!
+ t->m_uResumePosition = filePos;
- KviStr szBuffy;
- KviServerParser::encodeCtcpParameter(filename,szBuffy);
+ KviStr szBuffy;
+ KviServerParser::encodeCtcpParameter(filename,szBuffy);
- dcc->ctcpMsg->msg->console()->connection()->sendFmtData(
+ dcc->ctcpMsg->msg->console()->connection()->sendFmtData(
"PRIVMSG %s :%cDCC ACCEPT %s %s %u %s%c",
dcc->ctcpMsg->msg->console()->connection()->encodeText(dcc->ctcpMsg->pSource->nick()).data(),
0x01,
@@ -976,12 +975,10 @@ bool KviDccBroker::handleResumeRequest(KviDccRequest * dcc,const char * filename
port,
filePos,
szZeroPortTag,
- 0x01);
+ 0x01
+ );
- return true;
- } else {
- return false; // invalid resume size
- }
+ return true;
}
}
//debug("NOT A ZeRO PORT");