------- 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 kopete-devel@kde.org https://mail.kde.org/mailman/listinfo/kopete-devel