Iris and iChat
Ok, so we can do this now:

That’s presence using Link-Local Messaging (a.k.a. Apple’s Bonjour Chat protocol, now documented in JEP-0174). Presence is delivered via local DNS Service Discovery. Chat is done via peer-to-peer Jabber.
Doing Bonjour presence is not all that new actually. The JDNS subsystem has been able to do it since last year. What is notable this time around is that I’m doing it via the new Iris DNS API, which is an abstraction layer, and JDNS is just one possible backend. And there’s also an avatar / buddy icon. That’s good old icon_32.png from Psi.
If you want to try it yourself, have a look at the irisnet command-line tool (now committed to the CVS). Quite a few rough edges remain, but it should work. Here is what I ran:
./irisnet pserv justin@ubuntu _presence._tcp 5298 "txtvers=1,1st=Justin,port.p2pj=5298,status=dnd, msg=coding on iris stuff, phsh=b12eebe7b5a2f2673aba2f6eb0f3264939a78f67" -a null:icon_32.png
Yeah, it’s pretty long.
It is supposed to be a single line, but I’ve broken it up for readability. “irisnet pserv” means to publish a service. Then it goes: JID, service type, port, list of attributes. The -a means to add an extra DNS record, in this case the avatar image (yeah, iChat delivers avatars over DNS, don’t ask questions).
The value of the phsh attribute is the SHA1 hash of the avatar image in hexidecimal. I used the ‘sha1sum’ program to do this, which is present on most Linux installations at least:
$ sha1sum icon_32.png b12eebe7b5a2f2673aba2f6eb0f3264939a78f67 icon_32.png
I don’t know when we’ll see Link-Local Messaging in Psi, but it shouldn’t be too hard to do at this point.


Hi,
just in case people land here looking for Leapfrog / SAPO MSG for Mac. The project is now open, go to http://trac.softwarelivre.sapo.pt/sapo_msg_mac/ for code and other docs.
Best regards, and justin sorry for intruding :)
- spam
- offensive
- disagree
- off topic
Like