Issue 65: ICQ users shown as being offline
Status:  WontFix
Owner: ----
Closed:  Dec 2008
Reported by jadest...@gmail.com, Dec 9, 2007
 Posted by guest at 2007-05-13 18:29:59

When an ICQ user is away _AND_ has an away message set, the user's shown as
being offline. If the user is away and has no away message, the user is
shown as
being away.

There's also an exception which seems to be related (cbGetAway):

Unhandled error in Deferred:
Traceback (most recent call last):
  File "/var/lib/ejabberd/pyicq-t/src/tlib/oscar.py", line 642, in
dataReceived
    state=func(flap)
  File "/var/lib/ejabberd/pyicq-t/src/tlib/oscar.py", line 751, in
oscar_Data
    d.callback(snac)
  File
"/usr/pkg/lib/python2.4/site-packages/twisted/internet/defer.py", line
252, in callback
    self._startRunCallbacks(result)
  File
"/usr/pkg/lib/python2.4/site-packages/twisted/internet/defer.py", line
313, in _startRunCallbacks
    self._runCallbacks()
--- <exception caught here> ---
  File
"/usr/pkg/lib/python2.4/site-packages/twisted/internet/defer.py", line
338, in _runCallbacks
    self.result = callback(self.result, *args, **kw)
  File "/var/lib/ejabberd/pyicq-t/src/tlib/oscar.py", line 2427, in
_cbGetAway
    user, rest = self.parseUser(snac[5],1)
  File "/var/lib/ejabberd/pyicq-t/src/tlib/oscar.py", line 880, in
parseUser
    u = OSCARUser(name, warn, tlvs)
  File "/var/lib/ejabberd/pyicq-t/src/tlib/oscar.py", line 274, in
__init__
    self.onSince = struct.unpack('!L',v)[0]
struct.error: unpack str size does not match format

Looks to me like there was something changed in the ICQ protocol.
If the away users go online or remove their away message, everything works
again.

Posted by guest at 2007-05-25 04:28:15

Hi,

same problem here, with same error msg... 

Posted by guest at 2007-05-25 05:23:28

Hey,

for PyAim-t exists a patch for this exact issue. I adapted it to PyIcq-t and...
it seems to work. at least i didn't see the error back and i think there is at
least one user in my list away, which has been offline before. maybe i can tell
more in a few days, if i test with a user i had that issue with.

i will attach the patch so you can test on your own risk.
the original patch was can be found here:
http://b.airaim.com/profileaway.diff

Posted by guest at 2007-05-25 05:49:06

hm... well... it's not very near to perfect =\
i really have a few contacts more online now, which are in away-state and
invisible to me before, but i also have others not online anymore. so, it does
something, but not exactly what it should.

Posted by guest at 2007-05-25 06:15:30

hm... well... it's not very near to perfect =\
i really have a few contacts more online now, which are in away-state and
invisible to me before, but i also have others not online anymore. so, it does
something better than before, but not exactly everything.

i've just tested the patch for the PyAim-t and had the same issues. at
least one
contact, which was visible before is invisibel... =\


Posted by js at 2007-05-27 13:05:06

I modified the PyAIM-t patch a bit (it wasn't 100% compatible with PyICQ-t) and
it seems to work. Please try the attached patch.

Posted by js at 2007-05-27 13:07:39

Oh, please ignore the first few lines of the patch. These aren't needed, I just
changed these so I can start pyICQ-t in rc.local on my NetBSD box. ;)

Posted by js at 2007-05-27 13:37:11

The last fix fixed only Away and NA. I found out that for some strange reason
the UTF-8 decode failes for DND. I wrote another patch which just surpresses
this exception. It's more a workaround than a fix, but I finally see _ALL_
users
online again.

Posted by guest at 2007-05-28 20:42:47

thanks, it worked perfectly for me! ;)

Posted by guest at 2007-07-24 12:48:36

Actually I've got the same problem in 0.8a, which should be patched already
Any ideas?

Raptor

Posted by guest at 2007-10-30 11:41:49

Same with me. 0.8a + Debian.

Regards,

Michal


away_fix.patch
2.0 KB   View   Download
dnd_fix.patch
676 bytes   View   Download
patch.diff
1.8 KB   View   Download
Dec 12, 2008
Project Member #1 r000ns...@gmail.com
(No comment was entered for this change.)
Status: WontFix
Owner: ---