------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.kde.org/show_bug.cgi?id=113525
------- Additional Comments From chanika gmail com 2006-03-07 05:20 -------
SVN commit 516426 by chani:
CCBUG: 113525
better fix for msn filetransfers. much faster receiving from 7.5 users, but
might have issues with trillian n'stuff.
Thanks to Bartosz Fabianowski for this great patch :)
M +26 -31 incomingtransfer.cpp
--- branches/kopete/0.12/kopete/protocols/msn/incomingtransfer.cpp
#516425:516426
@ -99,9 +99,24 @
case Invitation:
// NOTE UDI: base identifier acknowledge
message, ignore.
// UDI: 200 OK message should follow.
- if(m_type == File){
+ if(m_type == File)
+ {
// FT: 200 OK acknowledged message.
- // Direct connection invitation should
follow.
+ // If this is the first connection
between the two clients, a direct connection invitation
+ // should follow. Otherwise, the file
transfer may start right away.
+ if(m_transfer)
+ {
+ QFile *destination = new
QFile(m_transfer->destinationURL().path());
+
if(!destination->open(IO_WriteOnly))
+ {
+
m_transfer->slotError(KIO::ERR_CANNOT_OPEN_FOR_WRITING, i18n("Cannot open file
for writing"));
+ m_transfer = 0l;
+
+ error();
+ return;
+ }
+ m_file = destination;
+ }
m_state = Negotiation;
}
break;
@ -249,38 +264,18 @
"Hashed-Nonce:
{00000000-0000-0000-0000-000000000000}\r\n"
"\r\n";
}
-
- acknowledge(message);
-
- if(m_transfer)
+
+ m_state = DataTransfer;
+
+ if (m_type != File)
{
- // NOTE The sending client can ask for a direct
connections
- // if one was established before.
- if(!m_file)
- {
- QFile *destionation = new
QFile(m_transfer->destinationURL().path());
- if(!destionation->open(IO_WriteOnly))
- {
- if(m_transfer){
-
m_transfer->slotError(KIO::ERR_CANNOT_OPEN_FOR_WRITING, i18n("Cannot open file
for writing"));
- m_transfer = 0l;
- }
-
- error();
- return;
- }
+ // NOTE For file transfers, the connection
invite *must not* be acknowledged in any way
+ // as this trips MSN 7.5
- m_file = destionation;
- }
- else
- {
- // TODO
- }
+ acknowledge(message);
+ // Send 200 OK message to the sending client.
+ sendMessage(OK, content);
}
-
- m_state = DataTransfer;
- // Send 200 OK message to the sending client.
- sendMessage(OK, content);
}
else if(body.startsWith("BYE"))
{
_______________________________________________
kopete-devel mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/kopete-devel
