----------------------------------------------------------------------------- ZPOINT -=*=- Das ZERBERUS 4 POINTCALL-Format -=*=- REC 150691 ----------------------------------------------------------------------------- Dieser Text basiert zu etwa 90% auf dem berühmten Text von brian_o'fish (Patrick Schaaf) von der MULI: "Per Anhalter durch das Zerberus-Netz" Version 2 vom 15.2.1991 Wir haben uns erlaubt diese hervorragende Beschreibung des alten Zerberus- Netcall-Formats zu verwenden, um das neue POINT-CALL Format zu definieren. Da dieses Format dem alten Netcall-Format stark ähnelt, wurden große Teile unverädert übernommen. Im Gegensatz zum "Hitchhiker" definieren wir in diesem Dokument nur das Format der PUFFER-Datei, nicht die Art der Übertragung dieser Datei. Diese ist gegenüber dem bisherigen Netcall unverändert. Warum ein eigenes Netcall-Format für Points? Viele Gründe sprechen dafür: - POINTs müßen keine Mails routen. Daher benötigen Sie auch nicht alle in einem Netcall vorhandenen Informationen. Insbesondere müssen POINTS sich nicht um die Vermeidung von Rekursionen (Dupes) kümmern und brauchen daher keine Verwaltung von MSG-IDs. - Mit dem hier definierten Format ist es möglich, vorhandene POINT-Programme mit minimalen Änderungen an das neue Zerberus-Netcall-System anzupassen. Das heißt: POINT-Programmierer haben die Wahl: entweder sie benutzen vollständig das neue Netcall- Protokoll, oder sie bleiben beim alten Verfahren mit den hier beschriebenen Änderungen. - Da das neue Zerberus-Netcall-Format noch diskutiert wird, POINT-Programmierer aber eine gewisse Vorlaufzeit brauchen, um auf Änderungen in so wesentlichen Teilen eines MailBox-Systems zu reagieren, erschien es sinnvoll, bereits jetzt die für Änderungen in POINT's wesentlichen Informationen zu veröffentlichen. Das gleiche Argument gilt natürlich auch für die Programmierer von "kompatiblen" Programmen. Nur liegen uns diese "Konkurenten" natürlich nicht so am Herzen wie die POINT-Programmierer, die schließlich UNSERE Kunden mit Software versorgen. ;-) MIT DIESER VERSION DES ALTEN ZERBERUS-NETCALLS KÖNNEN POINTS AUCH AN DIE NEUEN ZERBERUS-MAILER ANGESCHLOSSEN WERDEN. FÜR POINT-BENUTZER ERGEBEN SICH DARAUS KEINERLEI NACHTEILE. Was hat sich geändert? Vorab eine Übersicht, was das neue POINTCALL Format vom alten NETCALL-Format unterscheidet. Alle Point-Programmierer sollten die neuen Definitionen an diesen Stellen besonders aufmerksam studieren, um keine der wesentlichen Punkte zu übersehen. Die Längenbegrenzungen der Header-Felder wurden geändert. Groß- und Kleinschreibung wird nun grundsätzlich unterschieden. Sowohl Absender als auch Empfänger sollten gemischt groß- und kleingeschrieben werden können. Die Verwendung von MSG-IDs durch POINTS wurde klar definiert: sie wurde verboten. POINTs sollten nun vernünftige Absenderangaben erzeugen, da diese optional nicht von der Serverbox korrigiert werden. Schließlich wurde endlich auch (was immer schon klar war) das leidige Thema Zeichensatz und Zeilenende festgeschrieben. Das Format einer Nachricht: Eine Nachricht besteht aus Kopf, Zusatzinfos und Inhalt. In der gesamten Nachricht wird der IBM Zeichensatz verwendet. Zeilenenden sind durch ein CR (ASCII 13) gefolgt von einem LF (ASCII 10) markiert. Weicht diese Konvention von der des Betriebssystems ab, muß die Software entsprechende Konvertierungen vornehmen. Zeilen die nur mit einem CR bzw. nur mit einem LF enden, oder mit einem LF/CR, sind nicht erlaubt. Umlaute MÜSSEN als IBM-Zeichen oder in Duden-Umschreibung (ae, oe, ..., ss) konvertiert werden. Der Kopf enthaelt 8 Zeilen, die jeweils durch CR/LF beendet werden. Jede Zeile ist maximal 1000 Zeichen lang. Innerhalb einer Kopf-Zeile erscheinen KEINE Control-Zeichen (ASCII 0 bis 31). In ALLEN Kopf-Zeilen wird groß- und Kleinschreibung unterschieden! Ein Kopf sieht folgendermassen aus: ----------- Start o'Kopf ------------ ----------- End o'Kopf -------------- Die einzelnen Felder haben folgende Bedeutung: : Eine Zeichenkette ohne Leerzeichen. Es gibt drei moegliche Erscheinungsformen: Empfaenger ist ein User, der in der Mailbox eingetragen ist, die das Netcallfile erhalten wird. Username darf keinen Klammeraffen (@) enthalten. Beispiel: BRIAN_O'FISH Empfaenger ist ein Brett in der Box, die das Netcallfile erhalten wird. Damit die Nachricht ankommen kann, muss das Brett dort natuerlich vorhanden sein. Beispiel: /T-NETZ/BESCHEUERT @. Empfaenger ist der User im Netzsystem das über das Netzwerk erreicht wird. Beispiel: WOLFGANG@SOLARIS.ZER Diese Form kann auch verwendet werden, wenn . die Server-Box ist. Einfacher ist in diesem Fall aber die erste Erscheinungsform. Wichtig ist, daß auf jeden Fall eine benutzt wird - auch das ".ZER" muß explizit angegeben werden. In einer können mehrere Punkte "." auftreten. Der Nachrichtentitel. Eine beliebige Zeichenkette. Der Absender der Nachricht. Eine Zeichenkette ohne Leerzeichen. Der Absender sollte immer die Form @. haben. Das Serversystem ersetzt auf Wunsch nicht mehr (!) die Absenderangabe eines Points, sodaß nun auch mehrere Benutzer an einem Point arbeiten können. Points sollten aber Benutzernamen mit dem Server-Sysop besprechen, da sonst auf solche Nachrichten nicht geantwortet werden kann. [Und evtl. auch nicht/falsch abgerechnet werden....] Das Erstellungsdatum der Nachricht. Eine Zeichenkette nur aus Ziffern mit exakt 10 Zeichen Laenge ohne Leerzeichen dazwischen. Format: jjmmtthhmm jj = Jahr (00-99, gezaehlt seit 1900, ich weiss, 2000 ist nicht :-) mm = Monat (01-12) tt = Tag im Monat (01-31) hh = Stunde (00-23) mm = Minute (00-59) Es ist SEHR wichtig, dass das Format dieses Feldes stimmt, insbesondere die Laenge, da es sonst zu grossen Problemen auf dem Netz kommen kann. [Jede vernünftige Serverbox wird aber einen fehlerhaften Netcall nicht weiterleiten.] Der Nachrichtenpfad, den die Nachricht bereits gelaufen ist. Eine Zeichenkette ohne Leerzeichen. Format: !![...]! Die Systemnamen sind jeweils OHNE ihre Domain (.ZER) zu schreiben. Das eigene System wird immer am Ende angehaengt (umgekehrt wie bei UUCP!). Usernamen sollten im Pfad nicht auftauchen! Dieses Feld sollte von POINTs ignoriert werden und nur auf ausdrücklichen Befehl angezeigt werden. Wird eine Nachricht neu generiert, sollte der Pfad leergelassen werden (Leerzeile, keine Blanks!). Der Server löscht ihn auf jeden Fall und trägt sich selbst ein. Dies ist eine eindeutige Kennung der Nachricht. Der Theorie nach sollte sie NETZWEIT INNERHALB VON 2 JAHREN NIEMALS doppelt vorkommen. Das "Standard"-Format ist folgendes: @. Syntaktisch ist die MsgId eine GÜLTIGE Adresse. Sie dient Serversystemen zur Vermeidung von "Rekursionen" (Nachrichten die doppelt übertragen werden). POINTs kümmern sich nicht um MsgId's und sollten sie auch nur auf speziellen Befehl anzeigen. Bei neu erzeugten Nachrichten sollte die MsgId-Zeile leer gelassen werden (keine Blanks), der Server erzeugt sowiso eine neue MsgId. Der Nachrichtentyp, gibt die Weiterverarbeitung der Nachricht an. Ein einzelnes Zeichen, und zwar: T fuer Textnachrichten B fuer Binaernachrichten Alle anderen Zeichen fuehren bei Zerberus- und Kompatiblen Systemen zu erheblichen Problemen, also bitte keine eigenen Formate definieren, sonst koennen Sie ihr Netcallfile gleich loeschen (Einlesen wird an der Stelle mit Fehler abgebrochen). Das Format von Binaerdateien ist frei, bei Textdateien sollten Sie darauf achten (mit Ihrer Software bei der Erstellung der Message sicherstellen), dass Zeilen mit CR/LF beendet werden und IBM-Umlaute verwenden. ANSI- oder sonstige Steuerzeichen in Textnachrichten sind nicht erlaubt. Ausnahme: FF (ASCII 12) [Form Feed = Seitenende] und der Tabulator (ASCII 9). Tabulatorstops befinden sich in den Spalten 9, 17, 25, .... [im Abstand von 8] Diese Konvention ist BINDEND. Nicht mit CR/LF beendete Zeilen, andere als IBM-Umlaute oder andere Control-Zeichen werden als Fehler in der Software angesehen. Die Laenge der Message (der eigentlichen Nachricht) in Bytes. Wichtig bei empfangenen Netcallfiles: Vor der Zahl kann ein Leerzeichen stehen ! Beispiel eines Kopfes: ----------- Start o'Kopf ------------ /T-NETZ/BESCHEUERT Info: Das Zerberus-Netcallformat Brian_o'Fish@muli.saar.zer 9009071123 T 4223 ----------- End o'Kopf -------------- .... .... ... .... .... ... .... .... ..... ...... ..... ----------- End o'Text --------------