Monday, October 12, 2009

Yahoo Messenger Protocol

Recently I had to update a client messenger SDK so that it can log in to Yahoo Messenger service because Yahoo changed their messenger protocol and they no longer support older versions of the protocol. The latest YM9 uses YMSG v16, whereas the messenger SDK that I had to update used v12. So, I had to analyze and change quite a lot of things like login mechanism, buddy list parsing, presence, contact authorization, messaging etc. The login mechanism is explained here. I also found help by looking into Pidgin/Libpurple source code.