------- 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 michael.larouche kdemail net  2006-03-07 14:21 
-------
SVN commit 516513 by mlarouche:

Backport to KDE 3.5.2:

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/KDE/3.5/kdenetwork/kopete/protocols/msn/incomingtransfer.cpp 
#516512:516513
 @ -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

Reply via email to