Libyahoo2: Getting up to speed

From WorkOutWiki2009

Jump to: navigation, search

Contents

Proposer

Siddhesh Poyarekar is a hacker who contributes to Ayttm and libyahoo2.

Purpose

Getting libyahoo2 back to its original feature set.

Abstract

libyahoo2 has recently been updated to authenticate using the latest protocol. This has broken some features, which we will be attempting to fix during this workout.

Pre-requisites

Languages, tools to be known

  • ANSI C
  • Packet dump analysis (tcpdump/wireshark)

Getting and compiling the code

Get the sources from our svn repository:

svn co https://libyahoo2.svn.sourceforge.net/svnroot/libyahoo2 libyahoo2

libyahoo2 does not need too many exotic dependencies and should build on a pretty basic system as well.

Links to overall design/architecture

Go through slides of a previous Talk by Philip Tellis to understand how the code is laid out.

Pre-event planning

I need someone to get a couple of Windows based laptops to be able to get protocol dumps for the latest Yahoo! messenger. This will help us get started with task 5.

Tasks

  1. Implement support for updating yahoo address book information
  2. Ignore/unignore buddy
  3. Chat room support
  4. Buddy picture support
  5. Analyse the web messaging structure of the latest yahoo messenger and see the feasibility of moving libyahoo2 to that messaging structure. If time permits, we could actually do it too.
  6. build and test on various platforms (solaris, *bsd, windows, etc.)

Existing work

I have taken packet dumps with wireshark, of the following actions from interactions of Gyache with the Yahoo! server:

  • Getting chat room list
  • Receiving messages from rooms
  • Fetch Avatar
  • Set Picture

and anything else that may have come up during the dump

Why look at packet dumps instead of the code? That's because I want to avoid wading through a lot of other crap (its filthy filthy UI for example) to get to what I really want. People are welcome to wade through their code and write patches if necessary, but be sure to give credit in comments wherever you pick up code from gyache, pidgin, etc.

Getting in touch

  • #libyahoo2 on irc.freenode.net
  • Libyahoo2 Users List
  • Siddhesh Poyarekar (siddhesh dot poyarekar at gmail dot com)

Progress

  • Siddhesh 09:14, 1 December 2009 (UTC): Ignore/Unignore already works, so that is one task less.
  • Siddhesh 09:46, 1 December 2009 (UTC): Implemented BUZZ inside the library. Accessible as yahoo_send_buzz and ext_yahoo_got_buzz.
  • Gaurav (Tazz) 12:20, 1 December 2009 (UTC): Generated dumps with his official Yahoo! messenger on windows
  • Siddhesh 12:28, 1 December 2009 (UTC): Figured out what the missing id is in the yahoo_set_yab response. Now to code it in
  • Siddhesh 13:27, 1 December 2009 (UTC): Update yahoo address book take 1 done. The library can now correctly add or update your nickname for your buddy. Current TODO: add/update some more information from the address book (email, first name, last name, etc.)

13:34, 1 December 2009 (UTC): Changes committed

Participants

  • Siddhesh Poyarekar
Personal tools