Bug 64901 - yahoo plugin has stopped working
Summary: yahoo plugin has stopped working
Status: RESOLVED FIXED
Alias: None
Product: kopete
Classification: Applications
Component: Yahoo Plugin (show other bugs)
Version: 0.7.2
Platform: Debian testing Linux
: VHI grave
Target Milestone: ---
Assignee: Matt Rogers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-09-25 07:51 UTC by Amit Shah
Modified: 2003-12-06 05:10 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Backport of new libyahoo2 to 0.7.2 (2.01 KB, patch)
2003-09-30 01:27 UTC, Andreas Gerstlauer
Details
Patch to get the backport to compile under rh73 (WARNING, may not be correct patch) (2.05 KB, patch)
2003-09-30 11:19 UTC, Bob Tanner
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Amit Shah 2003-09-25 07:51:13 UTC
Version:           0.7.2 (using KDE KDE 3.1.3)
Installed from:    Debian testing/unstable Packages

Kopete shows that it is connected to yahoo (the icon glows), but it actually isn't. It worked till yesterday evening for me. By not working, I mean that no contacts are shown online.

I downloaded the new ymessenger deb and that thing works, so I guess this is due to the protocol change which was announced at every connect to yahoo for the past 2-3 weeks.
Comment 1 Ahmad CLEMENT 2003-09-25 11:02:38 UTC
I utilise Kopete, and i confirm, Yahoo plugins dont work. But ymessager and Gaim 
works perfectly. Sorry for my bad english. 
Comment 2 Andy Goossens 2003-09-25 14:23:18 UTC
Anyone using Yahoo with Kopete HEAD? Does the Yahoo plugin work? If yes, 
the Yahoo plugin might need to be backported to 0.7.x. 
Comment 3 Mike W 2003-09-25 15:44:06 UTC
its been working very rarely for me from CVS head in the last few days (when it 
actually started compiling again)... it seems if i leave kopete off all night 
and then connect, it works exactly once.. but like if i restart kopete or 
disconnect -> reconnect then the yahoo plugin will go online, but no one shows 
up in my CL... the console output says its connected... 
Comment 4 Matt Rogers 2003-09-25 16:11:25 UTC
Andy: the libyahoo backend and all relevant changes that were required to the yahoo 
plugin would have to be backported. We already agreed that we probably didn't want to 
do this. HEAD also has some serious bugs that i'm working on fixing. As an example, I 
deleted my contactlist.xml file and none of my contacts come back so contact list handling 
is completely foobared. 
 
 
 
Comment 5 David Terrell 2003-09-26 18:18:44 UTC
this basically means that Y! support will remain broken until when, January? 
When KDE 3.2 is released? 
Comment 6 Jorma Tuomainen 2003-09-26 18:47:11 UTC
Doesn't soun very good, I would rather have a badly working Y! support then 
none. 
Comment 7 Bob Tanner 2003-09-28 06:46:33 UTC
so, the core libyahoo developer(s) don't want to backport HEAD, I can 
understand that. 
 
Is it techincally possible to change the existing yahoo stuff to work with the 
new protocol changes? 
 
I mean, even of the HEAD code was backported, would yahoo allow kopete in?  
 
I'm reading they they locked things down pretty tight and all sorts of 3rd 
party IM clients are not able to get in now. 
Comment 8 Matt Rogers 2003-09-28 07:15:13 UTC
Subject:  yahoo plugin has stopped working

> ------- so, the core libyahoo developer(s) don't want to backport HEAD, I
> can understand that.
>

Actually, I plan on backporting as soon as I get it working. I don't think 
it's very fair to leave people using the 0.7.x series out to dry. It's just 
that the version used in the 0x

> Is it techincally possible to change the existing yahoo stuff to work with
> the new protocol changes?
>

Not that I know of.

> I mean, even of the HEAD code was backported, would yahoo allow kopete in?
>

It should. I don't know right now though cause yahoo is very broken. ;(

> I'm reading they they locked things down pretty tight and all sorts of 3rd
> party IM clients are not able to get in now.

I haven't read that anywhere, but I imagine you're right. Do you have some 
links or something I can read?

Comment 9 Bob Tanner 2003-09-28 07:50:02 UTC
http://gaim.sourceforge.net/ 
 
You may have noticed that Yahoo has ceased working. The fix in 0.69 (of which 
(slightly broken) source packages are currently available) was not adaquate. 
We're working on the new authentication method now; hopefully it will be 
cracked soon.  
 
http://www.trillian.cc/forums/announcement.php?s=68653500e62bdd3e1b430a581a7bbd83&forumid=27 
 
[Stupid sessions!] If the above url doesn't work, go to the Community section, 
click the announcements. 
 
Comment 10 Bob Tanner 2003-09-28 07:52:56 UTC
Sorry for the double entry. 
 
>> Is it techincally possible to change the existing yahoo stuff to work with  
>> the new protocol changes?  
>>  
>  
> Not that I know of.  
 
Does HEAD have the new yahoo protocol changes in it? 
 
Does the Yahoo plugin team know what needs to be changed to support the new 
protocol? 
Comment 11 Matt Rogers 2003-09-28 08:08:03 UTC
Yes, on the first count. Not quite sure on the second count. 
Comment 12 Andrew de Quincey 2003-09-28 16:44:17 UTC
Just checked; gaim now has support for the new yahoo authentication BTW.  
  
Comment 13 Matt Rogers 2003-09-29 08:19:50 UTC
Status update: Yahoo in HEAD did not have the latest up to date protocol changes in it. 
That's been fixed. Contact list handling is completely screwed, and so i'll work on that 
tomorrow. It's late here. 
Comment 14 Andreas Gerstlauer 2003-09-30 01:27:05 UTC
Created attachment 2636 [details]
Backport of new libyahoo2 to 0.7.2

For those interested, I backported the latest CVS HEAD changes (new libyahoo2) 
to the 0.7.2 version of kopete. Seems to work, at least for me here. Finally, I
can 
log in again... 
 
What is required is to copy the whole "libyahoo2" subdirectory plus the 
"kyahoo.cpp" and "kyahoo.h" files from HEAD into the 0.7.2 tree and then apply 
the attached patch (sorry, I didn't include all the kyahoo and libyahoo2
changes in 
the patch since I figured it's easier to just copy the files; if anybody needs
the 
patch, I can provide it). 
 
Hope that helps, 
  Andreas
Comment 15 Matt Rogers 2003-09-30 03:30:54 UTC
If somebody else beside Andreas could please test this method to see if it works, I'd be 
greatly appreciative. I want confirmation from one other person that it works before I 
backport it and 0.7.3 gets released. Thanks 
 
Comment 16 Bob Tanner 2003-09-30 09:52:51 UTC
Instead of making people copy libyahoo2, kyahoo.cpp, and kyahoo.h into the   
0.7.2 tree, could you just copy the above yourself and added them to the   
kdenetwork/kopete KDE_3_1_BRANCH in cvs?   
   
I might have to retract the above, looking at:   
   
	cvs co -l -rKDE_3_1_BRANCH kdenetwork   
   
It looks like protocols/yahoo/libyahoo2 is there. But the attached patch fails 
for me. Is the kopete in the KDE_3_1_BRANCH not kopete-0.7.2 ? 
 
 
   
   
Comment 17 Bob Tanner 2003-09-30 10:15:31 UTC
My mistake, I guess I need to be working on the: 
 
	cvs co -r kopete_0_7_branch kdenonbeta/kopete 
 
branch of code. It still looks like the libyahoo2 directory is on this branch, 
which is confusing from your last post. 
 
Your attached patch went in clean. 
 
But, under rh73 and gcc-2.96, I get the following: 
 
kyahoo.cpp: In method `void YahooSession::slotLoginResponseReceiver 
(int, char *)': 
kyahoo.cpp:403: warning: unused parameter `int succ' 
kyahoo.cpp:403: warning: unused parameter `char *url' 
yahooaccount.cpp: In method `void YahooAccount::connect ()': 
yahooaccount.cpp:115: no matching function for call to 
`YahooSessionManager::createSession (QString, QString)' 
kyahoo.h:50: candidates are: YahooSession 
*YahooSessionManager::createSession (QString, QString, int) 
yahooaccount.cpp:118: no matching function for call to 
`YahooSession::sessionId ()' 
yahooaccount.cpp:142: no matching function for call to 
`YahooSession::login (yahoo_status)' 
kyahoo.h:114: candidates are: int YahooSession::login (QString, 
QString, int) 
 
 
 
Comment 18 Bob Tanner 2003-09-30 11:18:30 UTC
It would seem to me that the kyahoo.h:50 
 
YahooSession* createSession(const QString username, const QString password, 
int initial); 
 
That the "int initial" should be one of the enum types in 
libyahoo2/yahoo2_types.h, or am I reading this wrong? 
 
The patch removes the YAHOO_STATUS_AVAILABLE, I rolled back that chunk so the 
functional signatures match. 
 
yahooaccount.cpp:118  
 
		if(session_->sessionId() > 0) 
 
There is no API in YahooSession called sessionId(), closest I could find is 
Id()? I rolled that chunk of the patch back so the functional signatures match 
as well. 
 
Another small tweak and the patch attached and it compiles, but I still do not 
get any of my yahoo contacts.  
 
Not sure if the problem is because of the APIs don't match or if patch is 
suppose to make it use libyahoo2 and I rolled back the patches, so it's _not_ 
using libyahoo2. 
 
 
 
Comment 19 Bob Tanner 2003-09-30 11:19:55 UTC
Created attachment 2643 [details]
Patch to get the backport to compile under rh73 (WARNING, may not be correct patch)
Comment 20 Andreas Gerstlauer 2003-10-01 00:32:29 UTC
Hey Bob,  
sorry for the confusion but I think you didn't quite get what I meant.  
Here's the procedure:  
(a) Create a checkout of the kopete_0_7_branch somewhere, will end up  
    in directory "kdenonbeta" (alternatively, unpack the kopete-0.7.2  
    tarball which will create a directory kopete-0.7.2)  
(b) Create a checkout of the KDE_3_1_BRANCH, will end up in directory  
    "kdenetwork"  
(c) Copy -R kopete/protocols/yahoo/libyahoo2 from (b) to (a)  
(d) Copy kopete/protocols/yahoo/kyahoo.* from (b) to (a)  
(e) Apply my patch to (a)  
My bad, I guess I didn't make that clear enough....  
 
My patch applies to (a) (0_7_branch) to adapt it to the new kyahoo.h API. But 
obviously that can only work if you copy over the new kyahoo.h from (b) (CVS 
version).  
 
What your patch now does is simply revert my patch to make it compile with the 
old kyahoo.h again, i.e. you are back to square one so that can't work. 
  
Hope it works now!  
  Andreas  
  
Comment 21 Matt Rogers 2003-10-01 00:35:28 UTC
This has been fixed in CVS. Those of you who are running Kopete from CVS can just 
update and recompile and you should be able to connect. For those running Kopete 0.7.x, 
there will be a Kopete 0.7.3 release in the next couple of days to combat this issues. 
Thanks to all of those who helped test. 
Comment 22 Matt Rogers 2003-10-02 03:54:10 UTC
Subject: kopete_0_7_branch: kdenonbeta/kopete/protocols/yahoo [POSSIBLY UNSAFE]

CVS commit by mattr: 

backport of the fixes required so that the yahoo plugin works in the 0.7 
branch. 

I need testers!!! If you can checkout the 0.7 branch and compile from source
and test, I'd be much appreciated.  You can find instructions at
kopete.kde.org/index.php?page=cvs. If you're using anonymous CVS you might
have to wait for a few hours before it catches up.

Andreas: Thanks for the patch and the excellent instructions for backporting.

CCMAIL: 64901@bugs.kde.org


  A            libyahoo2/sha.c   1.1.2.1 [UNKNOWN]
  A            libyahoo2/sha.h   1.1.2.1 [no copyright]
  M +339 -216  kyahoo.cpp   1.33.2.2
  M +43 -49    kyahoo.h   1.16.2.2
  M +4 -3      yahooaccount.cpp   1.39.2.1
  M +0 -2      yahoostatus.cpp   1.18.2.1
  M +3 -3      libyahoo2/Makefile.am   1.6.6.1
  M +2 -2      libyahoo2/crypt.c   1.3.6.1
  M +2468 -355 libyahoo2/libyahoo2.c   1.11.2.3 [POSSIBLY UNSAFE: printf]
  M +678 -56   libyahoo2/sample_client.c   1.3.6.1 [POSSIBLY UNSAFE: popen,printf]
  M +88 -28    libyahoo2/yahoo2.h   1.6.2.1
  M +226 -5    libyahoo2/yahoo2_callbacks.h   1.4.6.1
  M +80 -12    libyahoo2/yahoo2_types.h   1.5.6.1
  M +176 -53   libyahoo2/yahoo_httplib.c   1.6.6.1 [POSSIBLY UNSAFE: printf,scanf]
  M +9 -5      libyahoo2/yahoo_httplib.h   1.2.8.1
  M +175 -76   libyahoo2/yahoo_list.c   1.3.6.1
  M +30 -16    libyahoo2/yahoo_list.h   1.3.6.1
  M +50 -0     libyahoo2/yahoo_util.c   1.2.6.1
  M +10 -3     libyahoo2/yahoo_util.h   1.3.6.1 [POSSIBLY UNSAFE: printf]
  R            libyahoo2/yahoo_connections.c   1.2
  R            libyahoo2/yahoo_connections.h   1.2



Comment 23 Bob Tanner 2003-10-02 07:42:41 UTC
Can confirm what's in cvs on the kopete_0_7_branch is working for rh73. 
 
** NOTE ** 
 
If you have another version of kopete installed and you try to run kopete from 
inside the compile directory, it won't work. Pounded my head on this one. 
 
Once I installed kopete into the directories where it is suppose to live 
everything worked. 
 
Comment 24 Christopher Zimmerman 2003-10-07 00:49:28 UTC
kopete_0_7_branch works with yahoo for gentoo-latest. 
Comment 25 Christopher Zimmerman 2003-10-07 03:48:29 UTC
There do seem to be some issues with the contact list.  Contacts no longer get 
marked as idle.   
Comment 26 Vladimir Atehortua 2003-12-05 23:38:22 UTC
I installed Mandrake 9.2, which comes with kopete 0.7.1.
both MSN and ICQ worked fine, imported my contacts from the MSN/ICQ servers, showed contacs on the list with proper status, etc. Yahoo, however, did not import my contacts from the yahoo server.

So I went to mandrake and got the official Mandrake upgrade of kopete in the form of rpms. Now "about kopete" says I have version 0.7.4

Nevertheless, the same thing still happens. Kopete connects co yahoo, sends messages to other yahoo users, they see me online, I receive their messages, I can reply to them... I just cannot get my yahoo contact list imported into copete, an dif I add a contact manually, it just does not show up.

I tried erasing contactlist.xml and kopeterc in my .kde configuration files, I reconfigured kopete again but same thing happens.
This page says it was fixed in version 0.7.3, so I'm lost.
Comment 27 Matt Rogers 2003-12-06 05:10:15 UTC
the problems with the contact list are fixed in CVS.