Content deleted Content added
Neustradamus (talk | contribs) mNo edit summary |
m HTTP to HTTPS for SourceForge |
||
(40 intermediate revisions by 30 users not shown) | |||
Line 1:
{{
{{refimprove|date=July 2016}}
The '''TOC protocol''', or '''Talk to OSCAR protocol''', was a [[protocol (computing)|protocol]] used by some [[Third-party developer|third-party]] [[AOL Instant Messenger]] [[client (computing)|client]]s and several clients that [[AOL]] produced itself. Sometime near August 19, 2005, AOL discontinued support for the protocol and no longer uses it in any of the instant messaging clients it actively maintains, such as its Windows and Mac clients for the AOL Instant Messenger and [[ICQ]] systems. However, it once did produce several of its own TOC clients, including [[TiK]] and [[TAC (software)|TAC]] which are written in [[Tcl]]/[[Tk (computing)|Tk]], [[TNT (
TOC was an [[ASCII]]-based protocol, while OSCAR is a binary protocol. In addition, TOC contained fewer features than its OSCAR counterpart. OSCAR provides such functionality as [[buddy icon]]s, file transfer, and [[advertising]].
== How it works ==
TOC acted as a [[Wrapper pattern|wrapper]] for the OSCAR protocol. In the grand scheme of things, the TOC server was nothing but an OSCAR client that happened to listen on a [[Internet socket|socket]], translating messages between the two protocols. Upon login, the TOC client specified an OSCAR login server (presumably either
TOC used [[FLAP]] to encapsulate its messages just as OSCAR does, however, FLAP has been hacked in such a way that it can be implemented on the same port as an [[HTTP]] server. By default, the TOC server operated in HTTP mode, indistinguishable from a typical web server. If a connecting client, in place of an HTTP request, writes the string "
Once connected, two basic message formats for communications inside of FLAP existed. Client-to-server messages were sent in a format resembling a [[Unix]]-style command line: commands with [[Whitespace character|whitespace]]-separated arguments, [[quotation|quoting]] and [[backslash]] [[escape sequence]]s. Server-to-client messages were much simpler: they were sent as [[colon (punctuation)|colon]]-separated [[ASCII]] strings, in a manner similar to many [[Unix]] config files. Thus, it was quite easy to write a client, as the incoming messages were very easy to parse, and outgoing commands were easy to generate.
This is in contrast to OSCAR, which due to the binary representation of data can be more difficult to understand.
== TOC2 ==
The '''TOC2 protocol''' is an updated version of the TOC protocol, or "Talk to OSCAR" protocol. Its existence was never documented by [[AOL]] and it is only used in a few [[AOL Instant Messenger]] clients. Some clients are beginning to offer plugins for TOC2 in light of AOL's recent shutdown of their TOC servers. Like its predecessor, TOC2 is an ASCII protocol and lacks some features of [[OSCAR protocol|OSCAR]], but unlike TOC, TOC2 is known to support [[buddy icon]]s and receiving file transfers (not sending). TOC2 operates in essentially the same way as TOC, as a wrapper for OSCAR. [[Porting]] code from TOC to TOC2 is remarkably easy as well.
Because of the similarities between TOC1.0 and TOC2.0, they are better defined by their differences, of which there are only a few:
* In TOC1.0, connecting with an empty buddy list would make it so that others are not able to see you online. This has been corrected in TOC2.0.
* In TOC1.0, there is a toc_add_deny command, but no toc_remove_deny. TOC2.0 corrects this as well.
* The sign on process is basically the same as TOC1.0, but with a few new parameters: version, a number, and a code created based on the username and password. The purpose of the number is unknown. The default is 160 and it seems to have no effect if changed.
* Permitting and denying have been revamped and are much easier and full-featured in TOC2.0. The commands toc2_add_permit, toc2_remove_permit, toc2_add_deny, and toc2_remove_deny are all present and accessible at any time.
* Buddy list commands have also been improved. Group management is easier with the toc2_new_group and toc2_del_group commands. Also, it is possible to add or remove more than one buddy at a time, and choose the groups they are in.
* A few syntax changes have also been made, and parameters have been added to some commands. The uses of these parameters are still undetermined.
* Aside from this the only changes from TOC are the fact that a '2' was added on most commands both CLIENT->SERVER and vice versa. E.g. IM_IN2, UPDATE_BUDDY2, etc.
* TOC2 also limits the number of ScreenNames that can log in from a single IP address (10).
== See also ==
* [[Comparison of instant messaging protocols]]
== References ==▼
{{reflist}}▼
== External links ==
* [
* [
* [https://terraim.cvs.sourceforge.net/*checkout*/terraim/terraim/src/toc/TOC2.txt TOC2 Protocol specification] {{Webarchive|url=https://web.archive.org/web/20220315083217/http://terraim.cvs.sourceforge.net/*checkout*/terraim/terraim/src/toc/TOC2.txt |date=2022-03-15 }}
* [https://web.archive.org/web/20031008231606/http://gridley.res.carleton.edu/~straitm/final/ History of AIM, OSCAR and TOC]
=== Implementations ===
;TOC:
* [http://www.jamwt.com/Py-TOC/ Py-TOC] {{Webarchive|url=https://web.archive.org/web/20050308181006/http://jamwt.com/Py-TOC/ |date=2005-03-08 }} (python)
* [
* [
* [http://www.therisenrealm.com/scripts/bluetoc/ BlueTOC] (php)▼
* [http://tik.sourceforge.net Tik] (Tcl/Tk)
* [http://tnt.sourceforge.net TNT] (Emacs Lisp)
* [http://users.tmok.com/~smike/ TAC] (Tcl, non-GUI)
* [http://toc.oscar.aol.com AOL Quick Buddy Applet (TIC)] {{Webarchive|url=https://web.archive.org/web/20050415035028/http://toc.oscar.aol.com/ |date=2005-04-15 }} (Java Applet)
* [[naim]] (ncurses, non-GUI)
* [http://www.miniaim.net miniaim] (C++)
* [http://simpleaim.sourceforge.net SimpleAIM] (Java)
;TOC2:
* [https://github.com/Animadoria/TOCSharp TOCSharp] (C#)
* [https://github.com/mlehman/Fluent.Toc Fluent.Toc] (C#)
* [http://plaza.ufl.edu/dmitrid/perl/ Raven::Aim] (perl)
* [http://forums.miranda-im.org/showthread.php?3993-AIM-TOC2-Plugin Plugin for Miranda Instant Messenger] {{Webarchive|url=https://web.archive.org/web/20120326195542/http://forums.miranda-im.org/showthread.php?3993-AIM-TOC2-Plugin |date=2012-03-26 }}
* [https://sourceforge.net/projects/phptoclib PHPTocLib] (PHP)
* [http://terraim.sourceforge.net TerraIM] (C++)
* [[TNT (instant messenger)|TNT]] ([[Emacs Lisp]])
{{AOL Inc.}}
▲== References ==
▲{{reflist}}
[[Category:Instant messaging protocols]]
[[Category:AOL]]
|