I did some research on how to enable jabber on your Pre.
First some technical background on how the mojo messenger implements google talk: By using a dbus connection to LibpurpleAdapter, a LGPL-licensed open source program that palm wrote and publishes on opensource.palm.com.
LibpurpleAdapter links against libpurple, the messaging library of the pidgin project.
Inside LibpurpleAdapter, there is an explicit check, e.g. if your username contains an '...@hostname.com' part which does not end to gmail.com, it will strip the hostname and explicitly set talk.google.com:
=================
if (strcmp(prplProtocolId, "prpl-jabber") == 0 && g_str_has_suffix(transportFriendlyUserName, "@gmail.com") == FALSE) { /* * Special case for gmail... don't try to connect to theraghavans.com if the username is n...@theraghavans.com * Always connect to gmail. */ purple_account_set_string(account, "connect_server", "talk.google.com"); } =================
Unfortunately I don't have a cross compilation for the Pre around, especially not one that has the libpurple headers and other dependencies to actually do the build.
So binary patching LibpurpleAdapter was the option of choice. The version on my device (WebOS 1.1.3) has md5sum 193cb9b09b12282baf5267f8a6a8c76b
the first jump needs to change from a BNE into a BE, i.e. it needs to change from 1a000003 to 0a000003
If we do this using a hex editor of our choice (offset 0x5fff from beginning of the executable file is the byte in my case), then I can make it connect to other jabber servers. I can actually see the packets on the ppp0 device using tcpdump/tshark.
However, at least with the jabber server that I tried, there is some problem in parsing the XML that is generated form the pre.
Feel free to try for yourself.
-- - Harald Welte <lafo...@gnumonks.org> http://laforge.gnumonks.org/ =========================================================================== = "Privacy in residential applications is a desirable marketing option." (ETSI EN 300 175-7 Ch. A6)
On Fri, Oct 23, 2009 at 9:43 AM, Harald Welte <lafo...@gnumonks.org> wrote:
> Hi!
> I did some research on how to enable jabber on your Pre.
> First some technical background on how the mojo messenger implements google > talk: By using a dbus connection to LibpurpleAdapter, a LGPL-licensed open source > program that palm wrote and publishes on opensource.palm.com.
> LibpurpleAdapter links against libpurple, the messaging library of the pidgin > project.
> Inside LibpurpleAdapter, there is an explicit check, e.g. if your username > contains an '...@hostname.com' part which does not end to gmail.com, it will strip > the hostname and explicitly set talk.google.com:
> =================
> if (strcmp(prplProtocolId, "prpl-jabber") == 0 && g_str_has_suffix(transportFriendlyUserName, "@gmail.com") > == FALSE) > { > /* > * Special case for gmail... don't try to connect to theraghavans.com if the username is n...@theraghavans.com > * Always connect to gmail. > */ > purple_account_set_string(account, "connect_server", "talk.google.com"); > } > =================
> Unfortunately I don't have a cross compilation for the Pre around, especially > not one that has the libpurple headers and other dependencies to actually do > the build.
> So binary patching LibpurpleAdapter was the option of choice. The version on > my device (WebOS 1.1.3) has md5sum 193cb9b09b12282baf5267f8a6a8c76b
> the first jump needs to change from a BNE into a BE, i.e. it needs to change > from 1a000003 to 0a000003
> If we do this using a hex editor of our choice (offset 0x5fff from beginning of > the executable file is the byte in my case), then I can make it connect to > other jabber servers. I can actually see the packets on the ppp0 device using > tcpdump/tshark.
> However, at least with the jabber server that I tried, there is some problem in > parsing the XML that is generated form the pre.
> Feel free to try for yourself.
> -- > - Harald Welte <lafo...@gnumonks.org> http://laforge.gnumonks.org/ > =========================================================================== = > "Privacy in residential applications is a desirable marketing option." > (ETSI EN 300 175-7 Ch. A6)
On Fri, Oct 23, 2009 at 9:43 AM, Harald Welte <lafo...@gnumonks.org> wrote:
> Hi!
> I did some research on how to enable jabber on your Pre.
> First some technical background on how the mojo messenger implements google > talk: By using a dbus connection to LibpurpleAdapter, a LGPL-licensed open source > program that palm wrote and publishes on opensource.palm.com.
> LibpurpleAdapter links against libpurple, the messaging library of the pidgin > project.
> Inside LibpurpleAdapter, there is an explicit check, e.g. if your username > contains an '...@hostname.com' part which does not end to gmail.com, it will strip > the hostname and explicitly set talk.google.com:
> =================
> if (strcmp(prplProtocolId, "prpl-jabber") == 0 && g_str_has_suffix(transportFriendlyUserName, "@gmail.com") > == FALSE) > { > /* > * Special case for gmail... don't try to connect to theraghavans.com if the username is n...@theraghavans.com > * Always connect to gmail. > */ > purple_account_set_string(account, "connect_server", "talk.google.com"); > } > =================
> Unfortunately I don't have a cross compilation for the Pre around, especially > not one that has the libpurple headers and other dependencies to actually do > the build.
> So binary patching LibpurpleAdapter was the option of choice. The version on > my device (WebOS 1.1.3) has md5sum 193cb9b09b12282baf5267f8a6a8c76b
> the first jump needs to change from a BNE into a BE, i.e. it needs to change > from 1a000003 to 0a000003
> If we do this using a hex editor of our choice (offset 0x5fff from beginning of > the executable file is the byte in my case), then I can make it connect to > other jabber servers. I can actually see the packets on the ppp0 device using > tcpdump/tshark.
> However, at least with the jabber server that I tried, there is some problem in > parsing the XML that is generated form the pre.
> Feel free to try for yourself.
> -- > - Harald Welte <lafo...@gnumonks.org> http://laforge.gnumonks.org/ > =========================================================================== = > "Privacy in residential applications is a desirable marketing option." > (ETSI EN 300 175-7 Ch. A6)
On Fri, Oct 23, 2009 at 12:03:28PM -0500, Ryan M. Hope wrote:
> Isn't jabber one of the protocols already supported by greg_roll's work?
no, it is not. Also, I could not find the source code for "his work" anywhere, and in fact with firefox you cannot even access the live.com page where he's hosting the ipk's...
-- - Harald Welte <lafo...@gnumonks.org> http://laforge.gnumonks.org/ =========================================================================== = "Privacy in residential applications is a desirable marketing option." (ETSI EN 300 175-7 Ch. A6)
> On Fri, Oct 23, 2009 at 12:03:28PM -0500, Ryan M. Hope wrote: >> Isn't jabber one of the protocols already supported by greg_roll's >> work?
> no, it is not. Also, I could not find the source code for "his > work" anywhere, > and in fact with firefox you cannot even access the live.com page > where he's > hosting the ipk's...
On Fri, Oct 23, 2009 at 04:43:14PM +0200, Harald Welte wrote: > However, at least with the jabber server that I tried, there is some problem in > parsing the XML that is generated form the pre.
This might have been a temporary problem with the jabber server that I was trying to use. Right now, it works perfectly fine with the binary patch described in my mail from October 23rd.
I'm happily jabbering every day, no problems whatsoever!
-- - Harald Welte <lafo...@gnumonks.org> http://laforge.gnumonks.org/ =========================================================================== = "Privacy in residential applications is a desirable marketing option." (ETSI EN 300 175-7 Ch. A6)
For those of us who aren't developers / comfortable messing with
binary code, can you provide a patch that would enable this
functionality? My company uses Jabber for corporate messaging now,
and I'd like to use my Pre for such.
On Oct 31, 8:06 am, Harald Welte <lafo...@gnumonks.org> wrote:
> On Fri, Oct 23, 2009 at 04:43:14PM +0200, Harald Welte wrote:
> > However, at least with the jabber server that I tried, there is some problem in
> > parsing the XML that is generated form the pre.
> This might have been a temporary problem with the jabber server that I was
> trying to use. Right now, it works perfectly fine with the binary patch described in my mail from October 23rd.
> I'm happily jabbering every day, no problems whatsoever!
> --
> - Harald Welte <lafo...@gnumonks.org> http://laforge.gnumonks.org/ > =========================================================================== =
> "Privacy in residential applications is a desirable marketing option."
> (ETSI EN 300 175-7 Ch. A6)