Modify

#88 closed defect (fixed)

Mobile AIM client messages don't show up on IRC.

Reported by: anonymous Owned by: Jelmer Vernooij
Priority: normal Milestone:
Component: OSCAR Version: 0.92
Keywords: AIM Cc:
IRC client+version: Client-independent Operating System: FreeBSD
OS version/distro:

Description

Messages sent from Mobile AIM clients will be processed incorrectly by BitlBee and show up simply as NUL on IRC.

Jelmer has a trace.

Attachments (0)

Change History (22)

comment:1 Changed at 2006-01-25T16:17:49Z by anonymous

I believe this is the same problem I'm having. Bitlbee doesn't support SMS (test messaging) via AIM.

AIM supports text messaging through special screennames -- those starting with a + and followed by the digits of the phone number (including country code). An example screen name would be +12125551212.

Through other clients (AOL Instant Messenger, Trillian, GAIM), I can send a message to a screename like this, and the user will receive a SMS (text message) on his phone from me. He can then reply, and I'll recive an IM from him.

This function doesn't work through Bitlbee, in either direction. Outbound, the sequence is:

   <me> add 3 +12125551212
   <root> User `+12125551212' added to your contact list as `12125551212'
   <me> 12125551212: test
   <root> TOC - Error: Gaim - Error: Your message to +12125551212 did not get sent: Not logged in

Inbound, if I SMS (text) a message to myself on AIM, I get a SMS back with:

   me:  (AIM response)  This user is not available.

comment:2 Changed at 2006-02-28T21:09:00Z by f0rked

Messages from mobile phone users show up as "(null)" for me.

comment:3 Changed at 2006-03-31T20:17:10Z by hiro@…

I second this. Can this be fixed?

comment:4 Changed at 2006-06-20T05:20:50Z by anonymous

I also noticed that people who are logged in via mobile devices do not show up on your buddy list.

I eventually figured out that this is because of the client version/type BitlBee is sending. I guess they didn't support any sort of mobile features. I grabbed the 'signature' for AIM 5.1 in the GAIM source and put it into BitlBee (protocols/oscar/aim.h) and now I see mobile users.

Note: I have no idea what this might break; but I don't use many 'advanced' features. All I really care about is receiving IMs when I'm 'in transit' and having a way to see them later. YMMV.

comment:5 Changed at 2006-09-04T20:05:54Z by anonymous

Just for the convenience of everyone else, here's the diff that needs to be applied. It's straight from the Gaim source as noted by the anonymous poster above. Whoever you are, thanks a bunch.

--- a/bitlbee-1.0.3/protocols/oscar/aim.h	2006-06-24 07:00:44.000000000 -0700
+++ b/bitlbee-1.0.3/protocols/oscar/aim.h	2006-09-04 06:20:24.000000000 -0700
@@ -143,6 +143,17 @@
 	  "en", \
 }
 
+#define AIM_CLIENTINFO_KNOWNGOOD_5_1_3036 { \
+	"AOL Instant Messenger, version 5.1.3036/WIN32", \
+	0x0109, \
+	0x0005, \
+	0x0001, \
+	0x0000, \
+	0x0bdc, \
+	"us", \
+	"en", \
+}
+
 /*
  * I would make 4.1.2010 the default, but they seem to have found
  * an alternate way of breaking that one. 
@@ -151,7 +162,7 @@
  * memory test, which may require you to have a WinAIM binary laying 
  * around. (see login.c::memrequest())
  */
-#define AIM_CLIENTINFO_KNOWNGOOD AIM_CLIENTINFO_KNOWNGOOD_3_5_1670
+#define AIM_CLIENTINFO_KNOWNGOOD AIM_CLIENTINFO_KNOWNGOOD_5_1_3036
 
 #ifndef TRUE
 #define TRUE 1

comment:6 Changed at 2006-10-22T13:56:01Z by wilmer

Component: BitlBeeOSCAR

comment:7 Changed at 2007-08-09T21:56:44Z by anonymous

+1 on this one (messages from mobile devices showing up as '(null)')... i'd be happy to help grab a trace, if someone can tell me how. i can reproduce quite reliably...

comment:8 in reply to:  7 Changed at 2007-08-10T23:02:27Z by anonymous

Replying to anonymous:

+1 on this one (messages from mobile devices showing up as '(null)')... i'd be happy to help grab a trace, if someone can tell me how. i can reproduce quite reliably...

ok, i haxxed it myself, although i'm sure this is not really a robust patch... if anybody is desperate to stop the (null)s , try this patch against bitlbee-1.1dev:

--- bitlbee-1.1dev/protocols/oscar/oscar.c      Sat Oct 21 15:54:53 2006
+++ bitlbee-1.1dev-HAX/protocols/oscar/oscar.c  Fri Aug 10 17:52:07 2007
@@ -1093,8 +1093,17 @@
                } else {
                        g_snprintf(tmp, BUF_LONG, "%s", args->msg);
                }
-       } else
+       } else {
                g_snprintf(tmp, BUF_LONG, "%s", args->msg);
+        
+        // hack to fix messages from mobile im... at least try to be
+        // safe enough to check that there's at least one message part to
+        // dereference... what's in there, though, is anybody's guess...
+        if (args->msg == NULL && args->mpmsg.numparts > 0) {
+            g_snprintf(tmp, BUF_LONG, "%s", args->mpmsg.parts[0].data);
+        }
+    }
+
 
        strip_linefeed(tmp);
        serv_got_im(gc, userinfo->sn, tmp, flags, time(NULL), -1);

comment:9 Changed at 2007-10-10T22:35:49Z by wilmer

Okay, can someone else who tried this patch post his findings here? People keep asking on IRC if this patch works and I keep asking them to try it out for me because I don't use AIM but NOBODY ever came back to me.

No news is good news? If you care about AIM and fixing this bug please just give some feedback...

comment:10 in reply to:  9 Changed at 2007-10-14T16:12:34Z by anonymous

Replying to wilmer:

Okay, can someone else who tried this patch post his findings here? People keep asking on IRC if this patch works and I keep asking them to try it out for me because I don't use AIM but NOBODY ever came back to me.

No news is good news? If you care about AIM and fixing this bug please just give some feedback...

I just tried it on 1.0.4 and when I logged on via SMS it did show me as online on bitlbee. I tried sending a message on bitlbee to myself - it did get sent to my phone. I then tried doing a reply on my phone and it did show up in bitlbee successfully. I haven't done enough testing to know what it might end up breaking (eg if somebody tries to use extra features added in the versions between 3.5.1670 and 5.1.3036)

comment:11 in reply to:  9 Changed at 2007-10-27T16:48:23Z by da@…

Replying to wilmer:

No news is good news? If you care about AIM and fixing this bug please just give some feedback...

I just ran into this bug when a friend who works for RIM/Blackberry updated his phone's AIM software. I could send to his phone; his phone would send (null) to bitlbee.

I tried the patch to 1.0.3 (the version used by Debian and Ubuntu) and it works perfectly. Thanks very much for the fix.

comment:12 Changed at 2007-11-04T23:16:04Z by Possum

I've confirmed the problem and solution on bitlbee versions 1.1dev on Gentoo and 1.0.4 on OpenBSD3.9. The patch mentioned above by anonymous was not very ebuild-friendly (I think it's just the date format in the headers), but this slightly modified patch does work in an ebuild and through OpenBSD's ports system:

--- protocols/oscar/oscar.c.orig    2007-11-02 16:17:46.000000000 -0400
+++ protocols/oscar/oscar.c 2007-11-02 16:18:36.000000000 -0400
@@ -1093,8 +1093,13 @@
        } else {
            g_snprintf(tmp, BUF_LONG, "%s", args->msg);
        }
-   } else
+   } else {
        g_snprintf(tmp, BUF_LONG, "%s", args->msg);
+       if (args->msg == NULL && args->mpmsg.numparts > 0) {
+           g_snprintf(tmp, BUF_LONG, "%s", args->mpmsg.parts[0].data);
+       }
+   }
+   
    
    strip_linefeed(tmp);
    serv_got_im(gc, userinfo->sn, tmp, flags, time(NULL), -1);

I would like to see this bug fixed, since several of my friends use AIM only from cell phone. I will post my findings to the relevant Gentoo bug as well.

comment:13 Changed at 2007-11-10T09:28:51Z by wilmer

Resolution: fixed
Status: newclosed

Okay, that one's fixed in a slightly modified form (one that uses more than just the first part, please tell me if this is a bad idea). See the current devel tree, r259.

comment:14 Changed at 2007-11-10T09:29:30Z by wilmer

[,259], that is. Trac-bzr comes up with strange revision numbers...

comment:15 Changed at 2008-07-16T20:44:55Z by Rocinante

Resolution: fixed
Status: closedreopened

Okay, I just installed 1.2.1 and still had this problem. I was able to fix it by applying the patch above (which adds the newer client identifier, comment #5) and now it works fine. SMS buddies are listed as online, and I can send and receive IMs to SMS numbers with no problem.

I don't know what affect this might have on other things elsewhere (such as if another "feature" of that newer client is tried against bitlbee, it might cause some problem) but the SMS issue is definitely not fixed without that patch.

comment:16 Changed at 2009-04-17T17:10:22Z by anonymous

Version 1.2.3 - only had to apply patch to CLIENTINFO as mentioned in a previous comment. Other patches to oscar.c were not required, but until aim.h was changed mobile clients weren't showing up.

comment:17 Changed at 2009-06-17T08:18:54Z by XWraithanX@…

Just tested on testing.bitlbee.org, still broken. Output of attempt to add buddy below:

01:12:34 @wraithan | add 0 +1XXX9574757 MyPhone2
01:12:34     @root | Adding `+1XXX9574757' to your contact list
01:12:34     @root | oscar - Error: Error while adding buddy: 0x000a

Area Code changed to XXX to protect my phone number.

Attempt to message via the nickname for the contact already in my buddy list (same phone number):

01:15:17     @root | oscar - Error: Your message to +1XXX9574757 did not get sent: Not logged in 

comment:18 Changed at 2009-06-17T23:36:46Z by wilmer

So apparently I never picked up the first patch posted here because I wasn't sure about its side effects.

I'm still not, but if I never try it, how to find out if it's good? :-)

Applied in changeset:devel,464.

comment:19 Changed at 2009-06-18T03:06:53Z by Chris McDonald <XWraithanX@…>

Running testing.bitlbee.org now, everything is working fine, going to continue using it for a couple days to make sure there isn't any side effects to the this patch.

comment:20 Changed at 2010-03-08T02:11:13Z by anonymous

So is this working on testing?

comment:21 Changed at 2010-05-12T04:36:31Z by firecat53

I was successfully using this on testing.bitlbee.org up until recently, and I now I see it's no longer working. Also tested on my local server with bitlbee stable and bitlbee-bzr. I can add contacts and see mobile numbers on my blist, but sending messages to them has no effect.

Thanks, Scott

comment:22 Changed at 2012-03-25T23:24:40Z by wilmer

Resolution: fixed
Status: reopenedclosed

Mobile messages seem to work and texting doesn't.

Modify Ticket

Action
as closed The owner will remain Jelmer Vernooij.
The resolution will be deleted.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.