PyYahoo transport

10 views
Skip to first unread message

Vishal

unread,
Jun 7, 2008, 6:06:53 AM6/7/08
to py-transports
Hi Norman

Got a few feedback on Yahoo Transport and would request your help on
resolving this:

1. The presence notifications for adding the contacts is an isssue.
Even if a user authorises/adds the contact and logs back again he gets
the notifications. This should be one time authorisation right?

2. online status of useres. Even wtih the upgraded patch the status
thing is bit shaky. Sometimes it shows proper status and sometimes it
doesnt.

3. Messages are exchanged fine between users even if the person
connected on pyyahoo shows offline.

4. logging in to pyyahoo transport works prefectly fine. user gets
disconnected from pc client.

5. I get the following recrods too many times on the yahooerror.log

Traceback (most recent call last):
File "c:\yahoo-t-0.4\yahoo.py", line 1307, in <module>
connection.Process(1)
File "c:\yahoo-t-0.4\xmpp\dispatcher.py", line 122, in Process
self.Stream.Parse(data)
ExpatError: not well-formed (invalid token): line 65, column 687719

is this some kind of major error?

6. Yahoo transport discovery. This doesnt seem to work well. JWchat
doesnt show up the transport at all. PSI shows but doesnt allow to
register. Shows an error "feature not implemented", Pandion works
fine. can see the transport and register as well.

Kindly let me know

Thanks
Vishal

Norman Rasmussen

unread,
Jun 7, 2008, 2:23:53 PM6/7/08
to py-tra...@googlegroups.com
Hey Vishal

On Sat, Jun 7, 2008 at 12:06 PM, Vishal <sms...@gmail.com> wrote:
1. The presence notifications for adding the contacts is an isssue.
Even if a user authorises/adds the contact and logs back again he gets
the notifications. This should be one time authorisation right?

This should be once only, but if you ignore it the jabber server will remind you the next time you log in.
 
2. online status of useres. Even wtih the upgraded patch the status
thing is bit shaky. Sometimes it shows proper status and sometimes it
doesnt.

Can you reproduce the error reliably?
 
3. Messages are exchanged fine between users even if the person
connected on pyyahoo shows offline.

This is because yahoo supports offline messages (and the transports doesn't support blocking users when you remove authorization)
 
4. logging in to pyyahoo transport works prefectly fine. user gets
disconnected from pc client.

This is a limitation of the yahoo network.  If you want to connect multiple times, then use multiple xmpp clients and the same xmpp account (just with different resources).
 
5. I get the following recrods too many times on the yahooerror.log

Traceback (most recent call last):
 File "c:\yahoo-t-0.4\yahoo.py", line 1307, in <module>
   connection.Process(1)
 File "c:\yahoo-t-0.4\xmpp\dispatcher.py", line 122, in Process
   self.Stream.Parse(data)
ExpatError: not well-formed (invalid token): line 65, column 687719

is this some kind of major error?

Probably, can you dump the xml from this?  It looks like from "line 65, column 687719" that there is a lot of data being sent. (Although it might just be on one line)
 
6. Yahoo transport discovery. This doesnt seem to work well. JWchat
doesnt show up the transport at all. PSI shows but doesnt allow to
register. Shows an error "feature not implemented", Pandion works
fine. can see the transport and register as well.

What server are you using? Some servers don't pass certain client's xml namespaces correctly to the transport.  (older versions of ejabberd are prime examples)

--
- Norman Rasmussen
- Email: nor...@rasmussen.co.za
- Home page: http://norman.rasmussen.co.za/

Vishal

unread,
Jun 9, 2008, 5:54:45 AM6/9/08
to py-transports
Hi Norman

Thanks for your reply. Following details

This should be once only, but if you ignore it the jabber server will
remind
you the next time you log in.

This doesnt work as intended. Even if i authorise once and log back
again it asks again for authorisation request.

Can you reproduce the error reliably?

No. There are no specific patterns here. Will track this for any
specific patterns.


> 5. I get the following recrods too many times on the yahooerror.log

> Traceback (most recent call last):
> File "c:\yahoo-t-0.4\yahoo.py", line 1307, in <module>
> connection.Process(1)
> File "c:\yahoo-t-0.4\xmpp\dispatcher.py", line 122, in Process
> self.Stream.Parse(data)
> ExpatError: not well-formed (invalid token): line 65, column 687719


> is this some kind of major error?



Probably, can you dump the xml from this? It looks like from "line
65,
column 687719" that there is a lot of data being sent. (Although it
might
just be on one line)

How do i dump the xml? The yahoo log error file doesnt have any xml
stuff there. Also recently am getting the following erros

Mon 09 Jun 2008 15:17:41 - CVS 1.69
Traceback (most recent call last):
File "c:\yahoo-t-0.4\yahoo.py", line 1351, in <module>
apply(each[1],each[2])
File "c:\yahoo-t-0.4\yahoo.py", line 910, in y_sendping
self.yahooqueue(yobj.fromjid, data)
File "c:\yahoo-t-0.4\yahoo.py", line 73, in yahooqueue
s = self.userlist[fromjid].sock
KeyError: 'user...@domain.com'


What server are you using? Some servers don't pass certain client's
xml
namespaces correctly to the transport. (older versions of ejabberd
are
prime examples)

am using jabberd on windows....will give it a try on openfire and
ejabberd and update you.

Kindly let me know

Regards
Vishal

Norman Rasmussen

unread,
Jun 9, 2008, 6:27:34 AM6/9/08
to py-tra...@googlegroups.com
On Mon, Jun 9, 2008 at 11:54 AM, Vishal <sms...@gmail.com> wrote:
This doesnt work as intended. Even if i authorise once and log back
again it asks again for authorisation request.

Maybe try, remove the auth and then reapprove the auth (the jabber server might be getting confused)
 
How do i dump the xml? The yahoo log error file doesnt have any xml
stuff there.

You'd need to run the transport with dumpProtocol enabled, and redirect it into a log file. (Warning: this will get pretty big!)
 
Also recently am getting the following errors


Mon 09 Jun 2008 15:17:41 - CVS 1.69
Traceback (most recent call last):
 File "c:\yahoo-t-0.4\yahoo.py", line 1351, in <module>
   apply(each[1],each[2])
 File "c:\yahoo-t-0.4\yahoo.py", line 910, in y_sendping
   self.yahooqueue(yobj.fromjid, data)
 File "c:\yahoo-t-0.4\yahoo.py", line 73, in yahooqueue
   s = self.userlist[fromjid].sock
KeyError: 'user...@domain.com'

This sounds like it's trying to maintain a connection that has already closed (which it shouldn't).  This should have been fixed in 1.69, but try the latest version just in case it helps.
 
am using jabberd on windows....will give it a try on openfire and
ejabberd and update you.

The transport is only tested on jabberd2, so you might have found something that jabberd1 doesn't like.

Vishal

unread,
Jun 9, 2008, 8:37:47 AM6/9/08
to py-transports
Hi Norman

Thanks for your inputs. will try the things you have mentioned and
update you asap.

One clarification i wanted from your side. Should the IP address be
the machine address or the live internet IP of the jabber server in
the following field?

<!-- The IP address of the main Jabber server -->
<mainServer>127.0.0.1</mainServer>

Norman Rasmussen

unread,
Jun 9, 2008, 9:08:09 AM6/9/08
to py-tra...@googlegroups.com
The mainServer config value is only used for the component connection, so it can be a private or local IP address of the server.


- Norman Rasmussen
- Email: nor...@rasmussen.co.za
- Home page: http://norman.rasmussen.co.za/

Vishal

unread,
Jun 9, 2008, 10:10:49 AM6/9/08
to py-transports
Hi Norman

Thanks for that. On the other issues will test it and update you.
Updating the yahoo.py has stopped the error being created in the error
log file as of now.

Today for the AIM transport am getting "Sorry. You do not appear to be
registered with this transport. Please register and try again. If you
are having trouble registering please contact your Jabber
administrator."

Till yesterday it was working fine. Is there some issue with the aim
gateway today which you would be aware about? Or do i need to do
something at my side?

Vishal

unread,
Jun 9, 2008, 10:54:17 AM6/9/08
to py-transports
Hi Norman

Getting this errors on AIM transport. Any suggestions please?

Undefined condition.
The error condition is not one of those defined by the other
conditions in this list.
------
AIM connection lost! Reason: [Failure instance: Traceback (failure
with no frames): <class 'twisted.internet.error.ConnectionLost'>:
Connection to the other side was lost in a non-clean fashion.

Undefined condition.
The error condition is not one of those defined by the other
conditions in this list.
------
AIM connection lost! Reason: Connection rejected.

Not authorized.
The sender must provide proper credentials before being allowed to
perform the action, or has provided improper credentials.
Error. You must log into the transport before sending messages.

Regards
Vishal

Norman Rasmussen

unread,
Jun 9, 2008, 10:57:43 AM6/9/08
to py-tra...@googlegroups.com
On Mon, Jun 9, 2008 at 4:10 PM, Vishal <sms...@gmail.com> wrote:
Thanks for that. On the other issues will test it and update you.
Updating the yahoo.py has stopped the error being created in the error
log file as of now.

Good to hear this, perhaps the restart alone helped *shrug*
 
Today for the AIM transport am getting "Sorry. You do not appear to be
registered with this transport. Please register and try again. If you
are having trouble registering please contact your Jabber
administrator."

Till yesterday it was working fine. Is there some issue with the aim
gateway today which you would be aware about? Or do i need to do
something at my side?

Please start a new thread with a new subject.  I have no idea about the AIM transport.

Vishal

unread,
Jun 10, 2008, 5:49:41 AM6/10/08
to py-transports
Hi Norman

Regarding this isssue have traced a pattern....

2. online status of useres. Even wtih the upgraded patch the status
thing is bit shaky. Sometimes it shows proper status and sometimes it
doesnt.

Lets say User A is logged in to his Yahoo client from the PC and User
B is logged in to his Yahoo Transport on the Jabber server.

User A who is logged in form his Yahoo client from the PC has
"Available" prsence status. User B on yahoo trasnposrt has "Online"
prsence status.

User A can see User B online on yahoo and also his presence and also
gets a notifcation when user B logs in and can chat with user B
properly.

User B cant see user A "Available" status. User B sees User A as
offline/unknown status on his jabber client. But user B can chat with
user A. That is they both can exchange messages.

Now when User A changes his stauts to lets say " On the Phone" User B
on jabber client gets a status message that User A is online and sees
user A "On the phone" presence on his jabber client.

Once User A changes status then the status isusse is resolved and
works prefectly fine after that.

Does this giev you some kind of pattern? Am not sure if i explained it
clearly or not.

In short only after user A on yahoo client on desktop changes/updates
his status then it works fine. If User A doesnt update his status then
it doesnt work.

Kinldy Let me know

Thanks
Vishal

Norman Rasmussen

unread,
Jun 10, 2008, 8:05:48 AM6/10/08
to py-tra...@googlegroups.com, Frank Cort
Frank, can you have a look at this?


- Norman Rasmussen
- Email: nor...@rasmussen.co.za
- Home page: http://norman.rasmussen.co.za/

Vishal

unread,
Jun 13, 2008, 3:33:16 AM6/13/08
to py-transports
Hi Frank

If you need any further details kindly let me know. The basic issue is
that only after user on yahoo client on desktop changes/updates
his status then the presence/status updates happens on the jabber
client. If user on yahoo client on desktop doesnt update his status
then he shows offline to the user connected on Jabber client. Once
user on yahoo client on desktop has updated after that the presence/
status works absolutely fine. Seems the initial prsence/status of
yahoo user is not getting relayed properly to the jabber server

Vishal

Norman Rasmussen

unread,
Jun 14, 2008, 4:09:13 PM6/14/08
to py-tra...@googlegroups.com, Frank Cort
Hey Frank,

I got your other email, and I think you're right what you described (the incorrect privacy list interpretation), probably isn't Vishal's issue.  My guess is still (and confirmed by Vishal below), that it's the initial presence that isn't being detected correctly.

Just some ideas: Is there something different yahoo sends on very first login?  Maybe they stopped sending initial presence explicitly.  Do we need to do it manually in parse buddies now?  Could these changes be related to their old server close-down, or has the transport always acted in this way?

Cheers

Norman
--

Norman Rasmussen

unread,
Jun 14, 2008, 4:09:53 PM6/14/08
to py-tra...@googlegroups.com, Frank Cort
Hey Frank,

I got your other email, and I think you're right what you described (the incorrect privacy list interpretation), probably isn't Vishal's issue.  My guess is still (and confirmed by Vishal below), that it's the initial presence that isn't being detected correctly.

Just some ideas: Is there something different yahoo sends on very first login?  Maybe they stopped sending initial presence explicitly.  Do we need to do it manually in parse buddies now?  Could these changes be related to their old server close-down, or has the transport always acted in this way?

Cheers

Norman

On Fri, Jun 13, 2008 at 9:33 AM, Vishal <sms...@gmail.com> wrote:

--
Reply all
Reply to author
Forward
0 new messages