summaryrefslogtreecommitdiff
path: root/tools/_deprecated/Yahoo/src/libyahoo2/Docs
diff options
context:
space:
mode:
Diffstat (limited to 'tools/_deprecated/Yahoo/src/libyahoo2/Docs')
-rw-r--r--tools/_deprecated/Yahoo/src/libyahoo2/Docs/AUTHORS10
-rw-r--r--tools/_deprecated/Yahoo/src/libyahoo2/Docs/COPYING340
-rw-r--r--tools/_deprecated/Yahoo/src/libyahoo2/Docs/ChangeLog280
-rw-r--r--tools/_deprecated/Yahoo/src/libyahoo2/Docs/NEWS88
-rw-r--r--tools/_deprecated/Yahoo/src/libyahoo2/Docs/README442
-rw-r--r--tools/_deprecated/Yahoo/src/libyahoo2/Docs/TODO8
-rw-r--r--tools/_deprecated/Yahoo/src/libyahoo2/Docs/ymsg-9.txt326
7 files changed, 0 insertions, 1494 deletions
diff --git a/tools/_deprecated/Yahoo/src/libyahoo2/Docs/AUTHORS b/tools/_deprecated/Yahoo/src/libyahoo2/Docs/AUTHORS
deleted file mode 100644
index 2cc592900c..0000000000
--- a/tools/_deprecated/Yahoo/src/libyahoo2/Docs/AUTHORS
+++ /dev/null
@@ -1,10 +0,0 @@
-libyahoo2: library for Yahoo! Messenger new protocol
-
-Philip S Tellis <philip . tellis AT gmx . net> Maintainer
-Steve McAndrewSmith <steve AT finalge . org> Code cleanups
-Michaël Kamp <miksun AT users . sourceforge . net> Webcam Support
-Wayne Parrott <wayne_p AT pacific . net . au> Yahoo Chat
-Doug Davis <dougd AT airmail . net> Various Patches
-Konstantin Klyagin <konst AT konst . org. ua> Yahoo Search
-
-libyahoo2 is derivative of gaim: http://gaim.sourceforge.net/
diff --git a/tools/_deprecated/Yahoo/src/libyahoo2/Docs/COPYING b/tools/_deprecated/Yahoo/src/libyahoo2/Docs/COPYING
deleted file mode 100644
index fbdd65f6f8..0000000000
--- a/tools/_deprecated/Yahoo/src/libyahoo2/Docs/COPYING
+++ /dev/null
@@ -1,340 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) year name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
diff --git a/tools/_deprecated/Yahoo/src/libyahoo2/Docs/ChangeLog b/tools/_deprecated/Yahoo/src/libyahoo2/Docs/ChangeLog
deleted file mode 100644
index ecf16131c5..0000000000
--- a/tools/_deprecated/Yahoo/src/libyahoo2/Docs/ChangeLog
+++ /dev/null
@@ -1,280 +0,0 @@
-* Fri Jan 16 2003 Alan Humpherys
-- remove_handler also takes client_id
-
-* Wed Jan 14 2003 Doug Davis
-- fix auth
-
-* Mon Dec 29 2003 Philip Tellis 0.7.3
-- up version number
-
-* Thu Dec 25 2003 Philip Tellis
-- asynchronous writes as well (might break file send)
-- better support for webcam broadcast
-- webcam images sent in chunks rather than as a single image
-- check for EAGAIN on send, defer if it is returned
-- add handler returns a tag, which is passed to remove handler to remove it
-- api has changed
-
-* Wed Dec 10 2003 Philip Tellis
-- initialise some unintialised variables
-
-* Tue Dec 9 2003 Philip Tellis
-- Yahoo Search - by Konstantin Klyagin - centericq
-
-* Tue Dec 9 2003 Philip Tellis
-- Typing notification fix from Gena01
-- Don't send VERIFY as first packet, since we don't know what do
-do if it fails anyway.
-TODO revert when we figure this out
-
-* Wed Oct 22 2003 Philip Tellis
-- Identify failed login because of incorrect username
-
-* Wed Oct 8 2003 Philip Tellis
-- Fix bug with double processing of format string in error logging
-- log_level no longer global, use yahoo_get_log_level() instead (was
-only used internally)
-
-* Tue Sep 30 2003 Doug Davis
-- chat room logout and error code
-
-* Tue Sep 30 2003 Philip
-- fix for auth to work with big endian machines too
-
-* Mon Sep 29 2003 Philip
-- attribute new auth to Cerulean studios (which is where gaim got it from)
-
-* Sun Sep 28 2003 Philip 0.7.2-2
-- made yahoo_init do what it did before, and renamed the new yahoo_init
-to yahoo_init_with_attributes. This should help not break old code.
-
-* Sun Sep 28 2003 Philip
-- changed g_malloc0 to malloc - thanks to Pixador
-
-* Sun Sep 28 2003 Philip 0.7.2
-- Auth fixed by Sean Egan (gaim).
-
-* Sat Sep 27 2003 Philip
-- Added more fallback ports
-- Fix crash in process_auth
-
-* Wed Sep 24 2003 Philip
-- Messenger host name changed to scs.msg.yahoo.com
-
-* Mon Sep 22 2003 Philip
-- Forgot a strdup
-
-* Sat Sep 20 2003 Philip
-- Support protocol 0x0b
-
-* Sat Sep 20 2003 Philip
-- Formatting fixes and yahoo_list memory management fixes
-
-* Sat Sep 20 2003 Philip
-- No more extern vars (almost)
-- yahoo_init now takes optional key/value pairs to set server settings
-see the README or yahoo2.h for full details
-- These variables no longer need to be exported from the sourcefile that
-uses the library
-
-* Fri Sep 12 2003 Philip 0.7.1
-- configure checks for socket library and won't build sample client
-if not found
-
-* Thu Sep 11 2003 Philip
-- Up version number to 0x0a so that we don't get blocked
-
-* Thu Jun 5 2003 Philip
-- fix a bunch of memory leaks
-
-* Sun May 25 2003 Philip
-- Add option to disable building sample client
-
-* Sat May 24 2003 Philip 0.7.0-1
-- Fix configure error because of old missing script in distribution
-
-* Mon May 19 2003 Philip (version 0.7.0)
-- Update README
-- release 0.7.0
-
-* Tue May 6 2003 Mik
-- fixes for webcam uploading
-- extra callback for closing connection
-
-* Thu May 1 2003 Philip
-- allow closing of webcam connections
-- more reliable finding of webcam connections
-
-* Thu May 1 2003 Philip
-- send who's images along with webcam image
-
-* Thu May 1 2003 Philip
-- get idle time from server
-- changes to webcam support to not require the user to worry about keys and
-servers
-
-* Sun Apr 20 2003 Philip
-- fixes for multiple connects and bugs introduced when adding async connects
-
-* Sat Apr 19 2003 Philip
-- Add asynchronous connects
-- Each `id' represents a single login session and everything to do with it
-- add_handler and yahoo_(read|write)_ready take a void * data argument
-- possibly introduce many bugs :D
-
-* Thu Apr 10 2003 Wayne
-- Added callback for the list of chatrooms
-
-* Thu Mar 29 2003 Wayne
-- Added basic support for pulling down the list of chatrooms
-
-* Mon Mar 24 2003 Mik
-- Seperate webcam struct to public and private data
-- Rename webcam struct to yahoo_webcam
-
-* Fri Mar 21 2003 Philip
-- Don't dereference yd after it has been freed
-
-* Fri Mar 21 2003 Mik
-- Clean up webcam data when yahoo data is cleaned up
-- Added connection type to webcam
-- Removed static for callbacks in sample_client
-
-* Wed Mar 19 2003 Mik
-- Added perliminary webcam upload support
-- Added descriptions for the webcam functions
-
-* Tue Mar 18 2003 Wayne Parrott
-- Added preliminary yahoo chat support
-
-* Sun Mar 16 2003 Philip
-- Fixed double deletion problem with yab
-- Fixed memory leak with non-pager connections
-
-* Fri Mar 14 2003 Philip
-- Announce login success earlier
-
-* Thu Mar 13 2003 Mik
-- Add preliminary webcam support
-
-* Thu Mar 6 2003 Philip
-- Remove requests for unnecessary data in addressbook code
-
-* Tue Mar 4 2003 Philip
-- Fix read past end of string in yahoo_getyab
-
-* Wed Feb 19 2003 Philip (version 0.6.3)
-- Make dist depend on libyahoo2.spec and libyahoo2.pc
-- Change version number to 0.6.3
-
-* Thu Feb 13 2003 Philip
-- added check for null connection when reading from socket.
-thanks to Alan Humpherys
-
-* Thu Feb 6 2003 Philip
-- renamed yahoo_add_yab to yahoo_set_yab
-
-* Wed Feb 5 2003 Philip
-- Support for modifying an address book entry
-
-* Mon Jan 27 2003 Philip
-- Support for adding address book entry on the server
-
-* Thu Jan 24 2003 Philip
-- Download address book from server and fill in real_name field
-of yahoo_buddy
-
-* Tue Jan 21 2003 Philip
-- Added CHAT service codes from yach
-- Fixed the problem with Offline UTF-8 encoded messages
-it no longer sends an extra bell
-- Implemented group renaming
-
-* Sat Jan 18 2003 Philip
-- utf-8 encoding/decoding functions are in yahoo_util
-- detect whether it is utf-8 or not from utf-8 flag in message
-
-* Wed Jan 15 2003 Philip
-- added utf-8 decode to conference messages too. I need to move this into
-a separate function
-
-* Tue Jan 14 2003 Philip
-- changed the accent character hack to proper UTF-8 decode supplied by Alan
-
-* Mon Jan 13 2003 Philip Tellis
-- sample client handles accented characters correctly.
-
-* Thu Dec 18 2002 Philip Tellis
-- sample client now handles sending of bell with ^G and sounding of bell
-when it receives it
-
-* Tue Dec 10 2002 Philip Tellis (version 0.6.2)
-- Added some prototypes for snprintf, strdup and vsnprintf (when compiling
-with -ansi -pedantic and without glib
-- Updated version number for release
-
-* Mon Dec 9 2002 Philip Tellis
-- Changed u_char to unsigned char
-- Fixed yahoo_get16 and yahoo_get32 to work with big endian systems also
-
-* Tue Nov 19 2002 Philip Tellis
-- Added code to process a voice chat invite. Doesn't do anything.
-
-* Mon Nov 18 2002 Philip Tellis
-- Multiple offline messages are now received correctly
-- Memory leaks cleaned up
-- Check for glib-2 as well as glib-1
-- dropped port 21 from port scan
-- Added a spec file for RPM
-
-* Sat Nov 16 2002 Rodney Dawes
-- Make libyahoo2 versioned
-- Add a pkgconfig file
-- Install headers in $(pkgincludedir)
-- Make yahoo sample client a noinst program
-- Require autoconf >= 2.50
-- Cleanups in configure.ac
-
-* Wed Nov 13 2002 Philip Tellis
-- libyahoo2 now automatically scans ports 21, 23, 25 and 80 if it cannot
-connect on the default port.
-
-* Wed Nov 06 2002 Philip Tellis
-- added protocol documentation
-
-* Tue Nov 05 2002 Philip Tellis
-- compiles with -ansi and -pedantic
-
-* Sat Oct 19 2002 Philip Tellis
-- no longer strip colour/style codes from messages
-- added colour entry for any colour to yahoo2_types.h (Nelson Ferreira)
-
-
-* Fri Oct 18 2002 Philip Tellis (version 0.6.1)
-- fixed segfault on some weird notification packets
-- fixes for conference add invite
-- identity support for conferences
-
-- sample console client can handle conferencing
-
-* Wed Oct 9 2002 Philip Tellis (version 0.6)
-- Removed glib dependencies. Will use glib only if available
-- Configure time option --with-struct-callbacks to use a callback struct
-instead of callback functions (see yahoo2_callbacks.h and the README)
-- Code cleanups by Steve McAndrewSmith
-- Get identities from server
-- Activate/Deactivate identities
-- Use identities when sending messages
-- Fixed buffer overflow in key/value pair reading
-
-- sample console client no longer requires gtk!
-
-* Mon Jul 22 2002 Philip Tellis (version 0.5)
-- Added basic documentation to README
-- Several minor code fixes and cleanups
-
-* Sat Jul 20 2002 Philip Tellis (version 0.5.cvs)
-This is an initial public release as a separate library
-I'll put a feature list in later.
-0.5 is just a random version number, I figure it's got half the features
-of where it should be when complete.
diff --git a/tools/_deprecated/Yahoo/src/libyahoo2/Docs/NEWS b/tools/_deprecated/Yahoo/src/libyahoo2/Docs/NEWS
deleted file mode 100644
index e4021883a1..0000000000
--- a/tools/_deprecated/Yahoo/src/libyahoo2/Docs/NEWS
+++ /dev/null
@@ -1,88 +0,0 @@
-* 29-Dec-2003
-
-Releasing 0.7.3 with some new features thanks to Konst, Doug and Gena
-
-* 9-Dec-2003
-
-Well, we now have contributions from the CenterICQ and Miranda IM teams.
-Good going methinks.
-
-* 28-Sep-2003
-
-Releasing 0.7.2 with the new auth code. Fixed by gaim.
-
-* 12-Sep-2003
-
-Releasing 0.7.1 which has a newer protocol version number. This should hold
-for a while.
-
-* 19-May-2003
-
-Released 0.7. It has webcam support, yahoo chat support and a new connection
-handling system. Asynchronous connects are also possible.
-
-* 18-Mar-2003
-
-Michaël Kamp has added Webcam support, and Wayne Parrott has started on Yahoo
-Chat support. Things are starting to move.
-
-Welcome to these two new members of the team.
-
-
-* 19-Feb-2003
-
-Released 0.6.3 - no real changes from 11th Feb.
-
-
-* 11-Feb-2003
-
-Added address book support. Rodney Dawes helped make the library
-versioned. I've also added the htdocs to CVS to make updates easier.
-0.6.2 should come out Real Soon Now.
-
-The mailing list has been alive for a while. There's been some good
-discussions.
-
-Also added documentation for the YMSG-9 protocol and the Addressbook
-structure.
-
-libyahoo2 is used in Ayttm - a fork of everybuddy.
-
-There have been requests for a Java version/wrapper. Any volunteers?
-
-
-* 18-Oct-2002
-
-This is a service release, mainly to fix the segfault on certain error
-notification packets.
-
-
-* 9-Oct-2002
-
-0.6 has been released. Also just found out that libyahoo2 is also used in
-GNUYahoo
-
-
-* 28-Sep-2002
-
-Well, I added documentation some time ago. It's in the README file. I
-suppose people have found it.
-
-The good news now is that libyahoo2 is being used in many clients, the
-bad news is that there's very little discussion on the mailing list.
-
-From what has been reported to me, and what I've heard, it seems that
-libyahoo2 is being used in Everybuddy, Fire, Proteus, Kopete, centericq.
-
-
-Hope to come out with 0.6 Real Soon Now.
-
-
-* 20-Jul-2002
-
-Umm, ok, it's been in everybuddy for a few months, and now I'm releasing
-it as a separate project.
-
-libyahoo2 has its own life now.
-
-Philip
diff --git a/tools/_deprecated/Yahoo/src/libyahoo2/Docs/README b/tools/_deprecated/Yahoo/src/libyahoo2/Docs/README
deleted file mode 100644
index 281de5c7c3..0000000000
--- a/tools/_deprecated/Yahoo/src/libyahoo2/Docs/README
+++ /dev/null
@@ -1,442 +0,0 @@
-README for libyahoo2
-====================
-
-* Using the library
-
-Ok, here's a short, quick intro on how to use the library.
-Full documentation will come later.
-
-First include the two headers.
-
-#include <libyahoo2/yahoo2.h>
-#include <libyahoo2/yahoo2_callbacks.h>
-
-
-yahoo2.h contains functions that you can call. The data structures used
-are defined in yahoo2_types.h, which is included by yahoo2.h
-
-yahoo2_callbacks.h contains prototypes for functions that you *must*
-implement. *All* these functions must be implemented by your code. You
-can choose at configure time whether these are implemented as callback
-functions or as a callback structure.
-
-If compiled as a callback structure, you must call yahoo_register_callbacks
-before doing anything else.
-
-What each function is supposed to do and return is documented in
-yahoo2_callbacks.h
-
-
-
-Ok, assuming you've implemented all those functions to do what they're
-supposed to do, this is the process flow:
-
-1. Login
-
-Before logging in, you must initialise the connection by calling yahoo_init
-and passing the username and password of the account. yahoo_init returns
-a connection id that will be used to identify this connection for all other
-calls.
-
-You may use yahoo_init_with_attributes if you need to set any server settings.
-
-int yahoo_init(const char *username, const char *password);
-int yahoo_init_with_attributes(const char *username, const char *password, ...);
-
-The optional parameters to init are key/value pairs that specify server
-settings to use. This list must be NULL terminated - even if the list is
-empty. If a parameter isn't set, a default value will be used. Parameter
-keys are strings, parameter values are either strings or ints, depending on
-the key. Values passed in are copied, so you can use const/auto/static/
-pointers/whatever you want. Parameters are:
-
- NAME TYPE DEFAULT DESCRIPTION
- ------------------- ------- --------------------------- --------------
- pager_host char * scs.msg.yahoo.com
-
- pager_port int 5050
-
- filetransfer_host char * filetransfer.msg.yahoo.com
-
- filetransfer_port int 80
-
- webcam_host char * webcam.yahoo.com
-
- webcam_port int 5100
-
- webcam_description char * "" Webcam description
-
- local_host char * "" local IP address
- regardless of whether
- you're behind a
- firewall or not
-
- conn_type int Y_WCM_DSL see yahoo2_types.h
-
-
-You should set at least local_host if you intend to use webcams
-yahoo_init uses default values for all of the above.
-
-Remember to close the connection by calling yahoo_close when you no longer
-need it. This will free all resources allocated to the connection.
-
-void yahoo_close(int id);
-
-After initialising, you may call yahoo_login, with the id and the initial
-login status.
-
-void yahoo_login(int id, int initial);
-
-The initial status is one of enum yahoo_status (NOTE, only INVISIBLE and
-ONLINE are known to work at all times).
-
-When the login procedure is complete, the library will call
-ext_yahoo_login_response with a status code. See yahoo2_types for an
-enumeration of these codes.
-
-The buddy list and cookies will not be available at the time when
-ext_yahoo_login_response is called. You should wait for ext_yahoo_got_buddies
-and ext_yahoo_got_cookies.
-
-
-2. Buddies and Addressbook
-
-When the library receives the buddy list from the server, it will call
-ext_yahoo_got_buddies with the buddy list as a parameter. The library
-will call ext_yahoo_got_ignore when it receives the ignore list.
-
-- To get the buddy list at any other time, make a call to yahoo_get_buddylist,
-and use the return value of that call.
-
-- Similarly, for the ignorelist, call yahoo_get_ignorelist.
-
-These lists will be returned from the library's cache. To force a reload
-from the server, make a call to yahoo_get_list.
-
-Buddy nicknames and other contact information is stored in your yahoo address
-book. To retrieve this information, call yahoo_get_yab. call yahoo_set_yab
-to create or modify an addressbook entry. Call these functions only after
-ext_yahoo_got_cookies has been called.
-
-- To refresh the status of all buddies, make a call to yahoo_refresh.
-
-- To add a buddy, call yahoo_add_buddy:
-void yahoo_add_buddy(id, char *who, char *group);
-
-You can add a buddy to multiple groups by calling this function once for
-each group.
-
-- To remove a buddy, call yahoo_remove_buddy:
-void yahoo_remove_buddy(id, char *who, char *group);
-
-Remove buddy removes the buddy from the specified group. To completely
-remove a buddy, call this function for all groups that the buddy is in.
-
-- If a buddy adds you, and you do nothing, that buddy is accpeted (that's the
-way the protocol works). If you want to reject the buddy, make a call to
-yahoo_reject_buddy:
-
-void yahoo_reject_buddy(id, char * who, char *msg);
-
-where msg is the rejection message.
-
-- To change a buddy's group, call yahoo_change_buddy_group:
-void yahoo_change_buddy_group(id, char * who, char *old_group, char *new_group);
-
-- To ignore/unignore a buddy, call yahoo_ignore_buddy:
-void yahoo_ignore_buddy(id, char *who, int unignore);
-
-If unignore is TRUE, the buddy is unignored, if it is FALSE, the buddy is
-ignored.
-
-- You can also rename a group with:
-void yahoo_group_rename(id, char *old_group, char *new_group);
-
-
-
-
-3. Sending an IM
-
-To send an IM, make a call to yahoo_send_im
-
-void yahoo_send_im(int id, char * from, char *who, char *what, int utf8);
-
-id is the id that the connection is identified with, who is who you want
-to message, what is the message to be sent.
-
-The parameter from is the identity that you want to use to send the message.
-If this is NULL, your default identity will be used.
-
-utf8 is a boolean field that specifies whether the message you're sending
-has been encoded in utf8 or not. libyahoo2 will not do the encoding
-for you - you have to do it yourself.
-
-You may use the utility functions y_str_to_utf8 and y_utf8_to_str in
-yahoo_util to do this encoding. You must free the pointers returned by
-these functions.
-
-UTF8 encoding may also be used in messages received. It is not sent or
-received for invitations/rejection messages.
-
-You can also send typing notifications with yahoo_send_typing.
-
-
-4. Changing your status
-
-To change your status on the server, call yahoo_set_away.
-
-void yahoo_set_away(id, enum yahoo_status status, char *msg, int away);
-
-id is the identifying id, status is your new status.
-msg is a custom status message in case status == YAHOO_STATUS_CUSTOM
-and away is a flag that says whether the custom message is an away message
-or just a regular signature (this affects the kind of icon against your
-name in the official Yahoo Messenger client).
-
-
-5. Conferencing
-
-To start a conference, call yahoo_conference_invite with a list of initial
-members, the room name, and a welcome message.
-
-To add more people to the conference after it has started, call
-yahoo_conference_addinvite.
-
-If someone adds you to the conference, you can either accept by calling
-yahoo_conference_logon, or decline by calling yahoo_conference_decline
-
-You can log off from the conference by calling yahoo_conference_logoff.
-
-Send a message by calling yahoo_conference_message.
-
-The parameter from is the identity that you want to use to send the message.
-If this is NULL, your default identity will be used.
-
-NOTE: Except for yahoo_conference_addinvite, all conference functions take
-the list of members as an argument.
-
-Have a look at yahoo2_callbacks.h for conference callbacks. Beware that
-there's a chance you could get a conf_userjoin even before you get an
-invitation to that conference.
-
-
-6. File Transfer
-
-To send a file, call yahoo_send_file(id, who, msg, name, size).
-
-This will set up the initial file send connection and return a unix file
-descriptor that you must write to. You then write the file's contents to
-this fd.
-
-Receiving a file is similar. You will receive a call to ext_yahoo_got_file
-with the file's url as one of the parameters. When you are ready to start
-downloading the file, make a call to yahoo_get_url_handle:
-
- fd = yahoo_get_url_handle(id, url, &fname, &fsize);
-
-fname and fsize are used to store the file's name and size
-
-Yahoo's file transfer is implemented using HTTP. It can either be peer
-to peer or via the yahoo file transfer servers. The latter is used in
-case a peer to peer connection cannot be set up - for example, in the
-case of a firewall.
-
-libyahoo2 supports both types of file transfer for receiving, but only
-sends files using the yahoo file transfer server.
-
-If anyone's interested in implementing peer to peer file send, this is
-how it happens.
-
-First a PEERTOPEER packet is sent to check if it is possible. This will
-mark the connection between these two hosts as p2p compatible. No further
-PEERTOPEER packets will be sent between these two hosts for the duration
-that the connection is alive.
-
-After the first P2P packet, the initiater will start an HTTP server on
-some port (really any port), and send the url across to the other end.
-
-After this, the first host will always play the part of the server for
-all file transfers. If a transfer is from the server, it uses GET, if
-it is from the client to the server, it uses POST. There is no encoding
-used for POST.
-
-You'll still have to study it a bit, but IMO the major complexity is in
-putting a http server in the lib, and whether we want to do that.
-
-
-7. Webcam
-
-To make a request for a webcam feed, call yahoo_webcam_get_feed with the
-user's yahoo id. You call this function in response to someone's webcam
-invitation as well.
-
-void yahoo_webcam_get_feed(int id, const char *who);
-
-The response may take a while as there's a lot of work done from the time
-you make a request till the time you start receiving a feed. There is
-no feedback from the library during this time. The function returns
-immediately.
-
-To close an open feed, simply call yahoo_webcam_close_feed
-
-void yahoo_webcam_close_feed(int id, const char *who);
-
-NOTE: it is possible to have two open webcam feeds with a single user
-if you open a second without closing the first. Results are unpredictable
-if you call close on a non-unique id/who combination.
-
-Webcam broadcast has not been fully tested.
-
-To invite a user to view your webcam, call yahoo_webcam_invite with the
-user's yahoo_id
-
-void yahoo_webcam_invite(int id, const char *who);
-
-To close this user's connection, call yahoo_webcam_close_feed. To
-accept/reject a request from a user to view your webcam, call
-yahoo_webcam_accept_viewer:
-
-void yahoo_webcam_accept_viewer(int id, const char *who, int accept);
-
-accept may be 1 or 0.
-
-Consult yahoo2_callbacks for the callbacks that are called on webcam
-events.
-
-You will require to be able to decode jpeg2000 images to view the webcam
-feed. You could use a library like GraphicsMagick (BSD Licence) or jasper
-(possibly non-Free) to do this.
-
-8. Yahoo Chat
-
-To retrieve a list of yahoo chatrooms, call yahoo_get_chatrooms. The
-response callback will return the xml for the chatrooms. You must parse
-this yourself.
-
-To log in to a chat room, call yahoo_chat_logon, and to log off, call
-yahoo_chat_logoff. To send a chat message, call yahoo_chat_message.
-
-Chatting is similar to conferencing. Consult yahoo2_callbacks.h for the
-list of chat callbacks.
-
-
-9. Callbacks
-
-The library may request you to register io handlers using ext_yahoo_add_handler.
-Whenever an input condition occurs, you must call one of the callback functions.
-For a read condition, call yahoo_read_ready, for a write condition, call
-yahoo_write_ready.
-
-ext_yahoo_connect_async is an asynchronous connect call. It will register a
-callback function that must be called when the connect completes. This
-callback is of type yahoo_connect_callback. Consult yahoo2_callbacks.h for
-full details on what your async connect should return.
-
-You must also call yahoo_keepalive at regular intervals (10 minutes?) to keep
-the connection alive.
-
-
-10. Identities
-
-libyahoo2 will now get your identities from the server (if you don't know
-what that is, then you aren't using it). Use yahoo_get_identities to get
-your list of identities. libyahoo2 will also call ext_got_identities when
-it first gets the list of identities.
-
-To activate/deactivate an identity, call yahoo_set_identity_status:
- yahoo_set_identity_status(id, char * identity, int active);
-
-If active is non-zero, activate the identity, else deactivate it.
-
-If you try to activate/deactivate an identity that isn't yours, you'll
-get a call back to ext_yahoo_error with a custom error message. This
-message is from the yahoo servers. Don't complain to me about it. I
-know it sucks that we can't do translation of these strings.
-
-
-11. Search
-
-To search for contacts, use the two functions:
-
- yahoo_search(id, type, text, gender, agerange, photo, yahoo_only);
-and
- yahoo_search_again(id, int start);
-
-The first is used for a first time search. Check yahoo2_types.h for
-valid values for each of the parameters. text is a text string to
-search for.
-
-The search results are returned through ext_yahoo_got_search_result.
-
-Results are limited to 20 per query, so if you want to continue the
-search, call yahoo_search_again to get 20 more results. You may
-specify the start value, or use -1 to just get the next 20 results.
-
-
-12. Other functions
-
-You can call yahoo_get_cookie to get the cookies for your connection. I
-think these can be used when starting a browser to get information from
-the yahoo servers. See the comments in yahoo2.h for more information.
-
-You can also call yahoo_urldecode and yahoo_urlencode utility functions
-to url decode/encode a given string. This will be useful for getting the
-filename from a url in the file receive code.
-
-
-* Platforms
-
-libyahoo2 is known to compile on:
- - Debian 2.2 (linux 2.4) i386, Alpha, PPC RS/6000 and Sparc Ultra60
- - Redhat 6.0, 7.1 and 7.3 (linux 2.2 and 2.4)
- - MacOS X 10.1 PPC - G4
- - FreeBSD 4.6-Stable
- - Sun Solaris (8)
-
-Thanks to Sourceforge's compile farms for letting me test it there
-
-* Copyright
-
-libyahoo2 is Copyright (C) 2002-2004 Philip S Tellis
-Portions of this code was taken and adapted from the yahoo module for
-gaim released under the GNU GPL. This code is also released under the
-GNU GPL.
-
-This code is derivitive of Gaim <http://gaim.sourceforge.net>
-copyright (C) 1998-1999, Mark Spencer <markster@marko.net>
- 1998-1999, Adam Fritzler <afritz@marko.net>
- 1998-2002, Rob Flynn <rob@marko.net>
- 2000-2002, Eric Warmenhoven <eric@warmenhoven.org>
- 2001-2002, Brian Macke <macke@strangelove.net>
- 2001, Anand Biligiri S <abiligiri@users.sf.net>
- 2001, Valdis Kletnieks
- 2002, Sean Egan <bj91704@binghamton.edu>
- 2002, Toby Gray <toby.gray@ntlworld.com>
-
-This library also uses code from other libraries, namely:
- Portions from libfaim copyright 1998, 1999 Adam Fritzler
- <afritz@auk.cx>
- Portions of Sylpheed copyright 2000-2002 Hiroyuki Yamamoto
- <hiro-y@kcn.ne.jp>
-
-
-* Licence
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-
-You should have received a copy of the GNU General Public License
-along with this program in the file named Copying; if not, write to the
-Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-MA 02111-1307 USA
-
-
-* Warranty
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
diff --git a/tools/_deprecated/Yahoo/src/libyahoo2/Docs/TODO b/tools/_deprecated/Yahoo/src/libyahoo2/Docs/TODO
deleted file mode 100644
index f005ec9bf2..0000000000
--- a/tools/_deprecated/Yahoo/src/libyahoo2/Docs/TODO
+++ /dev/null
@@ -1,8 +0,0 @@
-Changing user profiles
-Voice Chat
-Video Chat
-
-
-Bugs:
-Check which pointers are freed by the lib and which must be freed by the
-client, and document these.
diff --git a/tools/_deprecated/Yahoo/src/libyahoo2/Docs/ymsg-9.txt b/tools/_deprecated/Yahoo/src/libyahoo2/Docs/ymsg-9.txt
deleted file mode 100644
index d017013d7d..0000000000
--- a/tools/_deprecated/Yahoo/src/libyahoo2/Docs/ymsg-9.txt
+++ /dev/null
@@ -1,326 +0,0 @@
-Yahoo Messenger Protocol v 9
-----------------------------
-
-The Yahoo Messenger Protocol is an application layer protocol running most
-of the time over TCP, but in some cases over HTTP as well. Throughout
-this document, we will speak about the YMSG packets, after stripping out
-any other protocol data, but will mention this other data if it is of
-relevance.
-
-This document is incomplete. For anything not mentioned here, refer to the
-source of libyahoo2.
-
-
-1. The YMSG packet structure
-
-The YMSG packet structure is as follows:
-
-(each byte is represented by 5 spaces in the following diagram,
-including the | at the end)
-
- <------- 4B -------><------- 4B -------><---2B--->
- +-------------------+-------------------+---------+
- | Y M S G | version | pkt_len |
- +---------+---------+---------+---------+---------+
- | service | status | session_id |
- +---------+-------------------+-------------------+
- | |
- : D A T A :
- | 0 - 65535* |
- +-------------------------------------------------+
-
-
-* 65535 is the theoretical limit, since the length field is two bytes
-long. Practically though, the data section does not exceed about 1000
-bytes.
-
-All numeric fields are stored in network byte order. i.e. Most
-significant byte first.
-
-YMSG - The first four bytes of all packets are always YMSG - the
- protocol name.
-
-version - The next four bytes are for the protocol version number.
- For version 9, these are 0x09 0x00 0x00 0x00
- NOTE: The last three bytes of this may just be padding bytes.
-
-pkt_len - A two byte value, in network byte order, stating how many bytes
- are in the _data_ section of the packet. In practice, this
- value does not exceed about 1000.
-
-service - This is an opcode that tells the client/server what kind of
- service is requested/being responded to. There are 45 known
- services. See the services section of this document for a
- full listing.
-
-status - In case of a response from the server, indicates the status
- of the request (success/failure/etc.). For a request, it is 0
- in most cases, except for packets that set the user's status
- (set status, typing notify, etc.)
-
-session - The session id is used primarily when connecting through a HTTP
-id proxy. It is set in all cases, but has no effect in a direct
- connection. When the client sends the first packet, it is 0,
- the server responds with a session id that is used by the client
- and the server in all further packets. The server may change
- the session id, in which case the client must use the new
- session id henceforth.
-
-DATA - The data section is pkt_len bytes long and consists of a series
- of key/value pairs. All keys are numeric strings. The packet
- contains their numeric values in the ASCII character set. e.g.
- 1 == 0x31, 21 == 0x32 0x31
-
- The maximum number of digits in a key is unknown, although keys
- of up to three digits have been seen.
-
- Every key and value is terminated by a two byte sequence of
- 0xc0 0x80. Some keys may have empty values.
-
- The actual keys sent, and their meanings depend on the service
- in use.
-
- e.g. The packet data to send an instant message looks like this:
-
- 0x30 0xc080 yahoo_id 0xc080 0x31 0xc080 active_id 0xc080 0x35
- 0xc080 recipient_id 0xc080 0x3134 0xc080 message_text 0xc080
-
- The 0xc080 byte sequence is a separator. The values 0x30, 0x31,
- 0x35 and 0x3134 are the keys. Convert them to their ASCII
- equivalents and you get 0, 1, 5, 14 (0x3134 == 0x31 0x34)
-
-
-2. Services
-
-There are 45 known services at the moment, although more may exist. All
-known services are listed below along with the hex values that they
-correspond to. Any service without a hex value is one more than the
-previous value. i.e. YAHOO_SERVICE_LOGOFF=0x02 and
-YAHOO_SERVICE_ISBACK=0x04.
-
- YAHOO_SERVICE_LOGON = 0x01
- YAHOO_SERVICE_LOGOFF
- YAHOO_SERVICE_ISAWAY
- YAHOO_SERVICE_ISBACK
- YAHOO_SERVICE_IDLE = 0x05
- YAHOO_SERVICE_MESSAGE
- YAHOO_SERVICE_IDACT
- YAHOO_SERVICE_IDDEACT
- YAHOO_SERVICE_MAILSTAT
- YAHOO_SERVICE_USERSTAT = 0x0a
- YAHOO_SERVICE_NEWMAIL
- YAHOO_SERVICE_CHATINVITE
- YAHOO_SERVICE_CALENDAR
- YAHOO_SERVICE_NEWPERSONALMAIL
- YAHOO_SERVICE_NEWCONTACT = 0x0f
- YAHOO_SERVICE_ADDIDENT = 0x10
- YAHOO_SERVICE_ADDIGNORE
- YAHOO_SERVICE_PING
- YAHOO_SERVICE_GROUPRENAME
- YAHOO_SERVICE_SYSMESSAGE = 0x14
- YAHOO_SERVICE_PASSTHROUGH2 = 0x16
- YAHOO_SERVICE_CONFINVITE = 0x18
- YAHOO_SERVICE_CONFLOGON
- YAHOO_SERVICE_CONFDECLINE = 0x1a
- YAHOO_SERVICE_CONFLOGOFF
- YAHOO_SERVICE_CONFADDINVITE
- YAHOO_SERVICE_CONFMSG
- YAHOO_SERVICE_CHATLOGON
- YAHOO_SERVICE_CHATLOGOFF = 0x1f
- YAHOO_SERVICE_CHATMSG = 0x20
- YAHOO_SERVICE_GAMELOGON = 0x28
- YAHOO_SERVICE_GAMELOGOFF
- YAHOO_SERVICE_GAMEMSG = 0x2a
- YAHOO_SERVICE_FILETRANSFER = 0x46
- YAHOO_SERVICE_VOICECHAT = 0x4a
- YAHOO_SERVICE_NOTIFY = 0x4b
- YAHOO_SERVICE_P2PFILEXFER = 0x4d
- YAHOO_SERVICE_PEERTOPEER = 0x4f
- YAHOO_SERVICE_AUTHRESP = 0x54
- YAHOO_SERVICE_LIST = 0x55
- YAHOO_SERVICE_AUTH = 0x57
- YAHOO_SERVICE_ADDBUDDY = 0x83
- YAHOO_SERVICE_REMBUDDY = 0x84
- YAHOO_SERVICE_IGNORECONTACT = 0x85
- YAHOO_SERVICE_REJECTCONTACT = 0x86
-
-Most of the service codes should be self explanatory. Those that aren't
-are listed here:
-
-IDACT/IDDEACT - activate/deactivate an identity
-NOTIFY - typing/game notification
-FILETRASNFER - transfer a file using the yahoo filetransfer server as an
- intermediate
-P2PFILEXFER - transfer a file between two peers, yahoo server not used
-PEERTOPEER - check if peer to peer connections are possible
-AUTH - Send initial login packet (username), response contains
- challenge string
-AUTHRESP - Send response to challenge string, or, if received from
- server, contains reason for login failure
-LOGON/LOGOFF - a buddy logged in/out
-
-
-3. Status codes
-
-The status code is a four byte value. Most status codes are two bytes
-long. The status codes (in decimal except for offline and typing) are:
-
- YAHOO_STATUS_AVAILABLE = 0
- YAHOO_STATUS_BRB
- YAHOO_STATUS_BUSY
- YAHOO_STATUS_NOTATHOME
- YAHOO_STATUS_NOTATDESK
- YAHOO_STATUS_NOTINOFFICE = 5
- YAHOO_STATUS_ONPHONE
- YAHOO_STATUS_ONVACATION
- YAHOO_STATUS_OUTTOLUNCH
- YAHOO_STATUS_STEPPEDOUT = 9
- YAHOO_STATUS_INVISIBLE = 12
- YAHOO_STATUS_CUSTOM = 99
- YAHOO_STATUS_IDLE = 999
- YAHOO_STATUS_OFFLINE = 0x5a55aa56
- YAHOO_STATUS_TYPING = 0x16
-
-You may choose either AVAILABLE or INVISIBLE as your initial login status.
-TYPING is used only when sending a TYPING notification packet.
-
-
-4. Session states
-
-A Yahoo session has two states, Authentication and Messaging.
-
-4.1. Authentication
-
-The session starts in the authentication state. The client sends the username
-to the server. The server responds with a challenge string. The client
-responds to this challenge with two response strings. If authentication is
-successful, the connection goes into the messaging state, else, an error
-response is sent back.
-
-4.2. Messaging state
-
-After successful authentication, the session goes into the messaging state.
-The server sends the buddy list, ignore list, identity list and a list of
-cookies to the client. These might all be sent in a single packet. It then
-sends the list of online buddies along with their status codes. All this is
-sent without the client requesting anything.
-
-At this time, any offline messages are also delivered to the client.
-
-In the messaging state, a client may send/receive messages, join conferences,
-send/receive files, change state, etc.
-
-Messaging state is terminated when the user goes offline by sending a LOGOFF
-packet.
-
-
-5. Requests
-
-5.1. Authentication
-
-The first packet sent from the client is the authentication request
-packet. This consists of the user's yahoo id, or any identity
-corresponding to that yahoo id. The AUTH packet has one key/value pair.
-
- service: YAHOO_SERVICE_AUTH
- status: YAHOO_STATUS_AVAILABLE
-
- 1: yahoo_id
-
-The server responds with a Challenge string. The client then hashes the
-username and password with this challenge string, and sends it back as an
-AUTH_RESP packet.
-
- service: YAHOO_SERVICE_AUTHRESP
- status: initial login status
-
- 0: yahoo_id
- 6: response_string_1
- 96: response_string_2
- 1: active_id
-
-
-5.2. Sending a message
-
- service: YAHOO_SERVICE_MESSAGE
- status: 0
-
- 0: yahoo_id
- 1: active_id
- 5: recipient_id
- 14: message to send
-
-5.3. Send typing start/stop notification
-
- service: YAHOO_SERVICE_NOTIFY
- status: YAHOO_STATUS_TYPING
-
- 4: active_id
- 5: recipient_id
- 13: 1 or 0 depending on whether this is a typing start or stop
- packet
- 14: <space>
- 49: TYPING /* The literal string */
-
-5.4. Set status
-
- service: YAHOO_SERVICE_ISBACK or YAHOO_SERVICE_ISAWAY
- status: the status to set to
-
- 10: status_code
- if custom_status:
- 19: custom away message
- 47: 0 or 1 depending on whether it is away or not
-
-
-5.5. Logoff
-
- service: YAHOO_SERVICE_LOGOFF
- status: YAHOO_STATUS_AVAILABLE
-
- no key value pairs
-
-5.6. Keep alive - sent every 20 minutes
-
- service: YAHOO_SERVICE_PING
- status: YAHOO_STATUS_AVAILABLE
-
- no key value pairs
-
-5.7. Add buddy
-
- service: YAHOO_SERVICE_ADDBUDDY
- status: YAHOO_STATUS_AVAILABLE
-
- 1: yahoo_id
- 7: buddy_to_add
- 65: group to add to
-
-5.8. Remove buddy
-
- service: YAHOO_SERVICE_REMBUDDY
- status: YAHOO_STATUS_AVAILABLE
-
- 1: yahoo_id
- 7: buddy_to_remove
- 65: group to remove from
-
-
-5.9. Reject buddy add
-
- service: YAHOO_SERVICE_REJECTCONTACT
- status: YAHOO_STATUS_AVAILABLE
-
- 1: yahoo_id
- 7: buddy_to_reject
- 14: reject message
-
-
------------------------------------------------------------------------
-
-What? Is that all?
-
- Use the source Luke!
-
------------------------------------------------------------------------
-