# TOC (Protokoll)

Das TOC-Protokoll (Talk to OSCAR Protocol) ist ein veraltetes Protokoll, das als Wrapper für das OSCAR-Protokoll benutzt wurde. Verwendet wurde es vor allem von Anbietern des AOL Instant Messengers, zeitweise einschließlich AOL selbst. Am 19. August 2005 stellte AOL den Support ein und verwendet es seitdem auch nicht mehr in seinen Clients. AOL veröffentlichte die Spezifikation, um Open-Source-Projekte zu fördern. Unter anderem entwickelte es auch eigene Clients, wie z. B. TiK und TAC.

## Geschichte

TOC wurde Ende 1998 unter der GNU General Public License von AOL als Instand Messaging Protokoll veröffentlicht. Zusammen mit dem auf Zeichenketten basierenden Protokoll veröffentlichten sie einen Tcl/Tk-Clienten namens TiK. Seit seiner Veröffentlichung wurden eine Reihe weiterer TOC-Clients für Linux geschrieben, als beliebtester galt Gaim.

## Hintergrund

TOC ist ein ASCII-basiertes Protokoll, im Gegensatz zu OSCAR, das binär ist. Es verfügt über deutlich weniger Features als OSCAR. Unter anderem fehlen Profilbilder, Datei-Übertragungen und die Möglichkeit, Werbung einzubinden.
Prinzipiell kann man einen TOC-Server als OSCAR-Client sehen, der Nachrichten übersetzt und weitergibt. TOC benutzt wie auch OSCAR FLAP. Der Server kann im HTTP-Modus arbeiten (Port 80), so dass man ihn von einem normalen Webserver nicht unterscheiden kann. Das liegt daran, dass FLAP gehackt wurde und auf Port 80 laufen kann. Wenn ein Client eine Verbindung aufbaut, schickt er anstatt eines HTTP-Request den String "FLAPON", gefolgt von zwei Zeilenumbrüchen, und der Server akzeptiert von da an FLAP-Nachrichten. Nachdem das Benutzer-Profil geladen wurde, erwartet der Server einen neuen Verbindungsaufbau des Clients, der dann auf einen ganz normalen HTTP-Server zugreifen kann, der das Benutzerprofil als HTML gespeichert hat.
In FLAP existieren zwei verschiedene Nachrichtensysteme. Client-to-Server-Nachrichten hatten ein Format, das der Unix-Kommandozeile ähnelt: Befehle mit Argumenten, die mit Whitespace, Backslash oder Escape-Zeichen getrennt sind. Server-to-Client-Nachrichten waren noch einfacher aufgebaut: ASCII-Strings die mit Doppelpunkt getrennt werden, wie das aus Unix-Konfigurationsdateien bekannt ist. Daher war es relativ einfach, die Nachrichten zu lesen bzw. versenden.

## TOC2

Das TOC2-Protokoll ist eine überarbeitete Version des "Talk to OSCAR"-Protokolls. Es wurde von AOL nie dokumentiert und wird nur in einigen AOL-Instant-Messenger-Clients verwendet. Im Gegensatz zu seinem Vorgänger wird TOC2 weiterhin von AOL unterstützt, so dass auch viele andere Clients auf TOC2 umgestiegen sind. Wie sein Vorgänger ist auch TOC2 ein ASCII-Protokoll und lässt etliche Feature von OSCAR außen vor, unter anderem Dateiübertragungen und Profilbilder.
Aufgrund der Ähnlichkeiten zwischen TOC1.0 und TOC2.0 werden sie eher durch ihre Unterschiede bestimmt, von denen es nur wenige gibt. Beispielsweise gab es in TOC1.0 einen Befehl toc_add_deny, allerdings gab es keinen Befehl wie toc_remove_deny. Das wurde in TOC2.0 korrigiert. Der Anmeldeprozess ist im Grunde genommen derselbe wie bei TOC1.0, jedoch mit einigen neuen Parametern: Version, eine Nummer und ein Code, der aus Benutzername und Passwort erstellt wurde. Der Zweck der Nummer ist unbekannt. Die Voreinstellung ist 160 und eine Änderung zeigt keine Wirkung.