The Yahoo! messenger voice chat system uses SIP. Its authentication, while purporting to be standard MD5-Digest, seems to actually involve some sort of "secret sauce" in the hash, rather than following the RFC.
I need somebody to reverse-engineer the Windows Yahoo! messenger client to discover exactly what goes into this hash, so that it can be replicated by a third-party interoperable client.
## Deliverables
1) A complete and fully-functional working program(s) - in executable form as well as complete source code of all work done - which can successfully predict the digest response of a Yahoo messenger client to a challenge from the SIP server. No code which calls into Yahoo binaries to compute this response will be accepted - it must be an entirely reverse-engineered, independent solution.
2) Deliverables must be in ready-to-run condition, as follows? (depending on the nature? of the deliverables):
a)? For web sites or? other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software? installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request. Alternatively, for this project, a working script to generate the digest response, given particular input, will be accepted.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
## Platform
The deliverable is primarily an algorithm; therefore the manner of its expression is up to the coder. Although I have access to both platforms, though, my primary workstation is Linux, and so a code fragment which can be compiled/executed here, as well as just examined, is preferable.
(This is not a hard-and-fast requirement; if you prefer to create a Windows-only program, be my guest, but I will reimplement the algorithm in TCL or something similar to check that it works).