| Summary: | kopete disconnected from yahoo every 10 minutes | ||
|---|---|---|---|
| Product: | [Unmaintained] kopete | Reporter: | alexander.pshenichnikov |
| Component: | Yahoo Plugin | Assignee: | Kopete Developers <kopete-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | colemichae |
| Priority: | NOR | ||
| Version First Reported In: | 0.80.2 | ||
| Target Milestone: | --- | ||
| Platform: | Fedora RPMs | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: | patch for yahoo protocol library | ||
|
Description
alexander.pshenichnikov
2009-11-03 03:39:43 UTC
Created attachment 38562 [details]
patch for yahoo protocol library
Yahoo protocol implementation uses one hour "ping" timeout. Actually it's too long, we get disconnected after 10 minutes! This patch is for kopete/protocols/yahoo/libkyahoo/client.cpp. Just changed timeout value from one hour to one minute. It helps in my case.
This is a real bug.. Ok what i have discovered we send what is called a ping, actually its an alive statement to the server which Yahoo expects every so often, it does not have to be sent every minute but the Yahoo Client Version 10 sends it every minute. There is an actual Ping message which can be captured if you are very patient and wait, it is sent every hour from the Yahoo Client. If Yahoo does not receive this it sends a disconnect notice to the client. I am now testing a mod which sends both the Ping and the Alive message.. The new code has been uploaded to the trunk and can be tested I have tested it and myself i am no longer getting disconnect notices from the yahoo service.. SVN commit 1079333 by mattr: BUG: 212855 BUG: 156296 Added two files for the fix. protocols/yahoo/libkyahoo/alivetask.h protocols/yahoo/libkyahoo/alivetask.cpp The code from ping.h and cpp now actually resides in those files, and the ping task actually sends the ping not the alive message, Alive messages are sent to keep communcation between Yahoo and the client, but the Ping keeps you connected to the service so as they dont send a disconnect after the hour. I have set the time out to 59 minutes for the alive and the alive to 1 minute. M +2 -1 CMakeLists.txt A alivetask.cpp pingtask.cpp#1079332 [License: LGPL (v2+)] A alivetask.h pingtask.cpp#1079332 [License: LGPL (v2+)] M +20 -3 client.cpp M +6 -0 client.h M +1 -2 pingtask.cpp M +1 -1 ymsgprotocol.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1079333 |