


                     -------------------------------
                     Cross \\//         FreeXP v3.40
                           //\\ Point            DOS
                       universelle Pointsoftware  
                     -------------------------------


                    ZPR  -  ZCONNECT-Pufferreparierer


   ZPR ist Freeware. Sie drfen dieses Programm beliebig einsetzen
   und weiterverbreiten, unter der Voraussetzung, da es (a) nicht
   modifiziert wird und (b) die Weitergabe unentgeltlich erfolgt.

   Ich kann weder garantieren, da ZPR korrekt arbeitet oder
   irgendeinen bestimmten Zweck erfllt, noch bernehme ich die
   Verantwortung fr evtl. durch den Einsatz von ZPR verursachte
   Schden.

   (c) 1994-1999 Peter Mandrella, pm@daisy.de
   (c) 2000 OpenXP
   (c) 2001-2005 FreeXP

   ZCONNECT ist ein eingetragenes Warenzeichen der ZERBERUS GmbH,
   bzw. des derzeitigen Rechteinhabers.


   _____________________________ZPR___________________________________  i


   Inhalt                                                               i
   


   1.   Was ist ZPR?                                                    1


   2.   Aufruf                                                          2


   3.   Beispiele                                                       3


   4.   Headerzeilen                                                    4


   5.   bersicht aller Aktionen von ZPR                                5


   Anhang                                                               6

       A.   Versionsgeschichte                                          6


|  Tabellenverzeichnis                                                  8



   _____________________________ZPR___________________________________  1


   1.   Was ist ZPR?
   


   ZPR  ist  ein  Test-  und  Reparaturprogramm fr  ZConnect-Nachrichten-
   Pufferdateien, das speziell fr Points entwickelt wurde. (s. XPoint.Txt
   bei "Was hat es berhaupt mit diesen "Punkten" auf sich?").

   ZPR ist dazu geeignet, um

   o  defekte   Pufferdateien  formal  so  zu   reparieren,  da  sie  von
      Pointprogrammen verarbeitet werden knnen.

   o  Puffer  auf bestimmte Fehler in Nachrichtenheadern wie  z.B. falsche
      Datumsangaben, falsche Message-IDs etc. hin zu berprfen.


   ZPR ist NICHT dazu geeignet, um

   o  defekte  ZConnect-Puffer  in  einer   Mailbox  zu   reparieren,  die
      weiterverarbeitet  werden   sollen.  ZPR  stellt  zwar  die  formale
      Korrektheit von Puffern wieder her, aber es stellt in keinster Weise
      sicher, da die erzeugten Puffer vollstndig  ZConnect-konform  sind
      und da die  erzeugten Nachrichten  den  korrekten  Inhalt besitzen.
      Beim Beschdigen von Puffern gehen Informationen verloren, die durch
      einen Pufferreparierer nicht wiederhergestellt werden knnen.

   o  die  ZCONNECT-Konformitt einer Software durch  Testen der erzeugten
      Puffer zu berprfen.


   Fr das Verstndnis des folgenden Textes ist die Kenntnis des ZConnect-
   Nachrichtenformates ntig.  Eine Beschreibung von ZConnect erhalten Sie
   z.B.  im  Buchhandel  unter   der   ISBN   3-9802182-3-6   (Verlag  Art
   d'Ameublement).




   _____________________________ZPR___________________________________  2


   2.   Aufruf
   


   ZPR [-fhlrwz] [-dDatei] <Quelldatei> [Zieldatei]

   Die Dateinamen knnen Laufwerks-  und Pfadangaben enthalten. Wenn keine
   Zieldatei angegeben wird,  berschreibt ZPR beim Reparieren (Aufruf mit
   Parameter  -r)  die Quelldatei mit dem korrigierten  Puffer,  legt aber
|  eine Sicherungskopie mit der Endung BAK an.
   Die Schalter  knnen  in beliebiger  Reihenfolge  an  beliebiger Stelle
   stehen; mehrere Schalter drfen zusammengefat werden. Z.B.:

       ZPR -r PUFFER
       ZPR -h PUFFER -z
       ZPR EINGABE -hr AUSGABE -l


   Die Bedeutung der einzelnen Schalter ist:

   -d  Schreibt alle fehlerhaften Nachrichten in eine  eigene Datei  unter
       dem umittelbar auf  '-d'  folgenden Namen.  Die  Nachrichten werden
       unverndert kopiert. 

   -f  Protokolliert alle Fehler und  Warnungen,  die  auch am  Bildschirm
       angezeigt werden, in der Datei ZPR.LOG.

   -h  Strenge  Headerzeilen-berprfung.  Der   Inhalt  von   Adre-  und
       Datumszeilen,  Message-IDs, Dateinamen und  Telefonnummern wird auf
       ZCONNECT-Konformitt getestet.

   -l  Defekte Nachrichten werden nicht repariert, sondern entfernt.

   -r  Repariert den Puffer  (ansonsten wird er nur getestet). Bei  Angabe
       eines Zieldateinamens wird Schalter -r automatisch gesetzt.

   -w  Warnungen  unterdrcken.  Warnungen  werden  bei  Steuerzeichen  in
       Headerzeilen  und bei  Fehlern in  Adre-,  Datums und  Message-ID-
       Zeilen angezeigt, falls der Schalter "-h" nicht angegeben ist.

   -z  Zeigt   neben    den   Fehlermeldungen   auch   den   Inhalt    der
       fehlerhaften Headerzeilen an.


   ZPR gibt folgende Errorlevel zurck:

     0 = berprfter Puffer ist fehlerfrei
     1 = Puffer ist fehlerhaft
     2 = Parameter-Fehler oder berprfung abgebrochen




   _____________________________ZPR___________________________________  3


   3.   Beispiele
   


   ZPR <Datei>            berprft eine Datei  auf  formale  Korrektheit,
                          d.h.  ob sie von einem Pointprogramm verarbeitet
                          werden kann. 

   ZPR -h <Datei>         berprft    eine    Datei    detailliert    auf
                          Abweichungen vom  ZCONNECT-Standard.  Wenn keine
                          Fehler/Warnungen angezeigt  werden, bedeuet  das
                          allerdings nicht, da die Datei 100%ig ZCONNECT-
                          konform ist. 

   ZPR <Eingabedatei> <Ausgabedatei>
                          repariert die Eingabedatei formal, d.h. sie kann
                          anschlieend von einem Pointprogramm verarbeitet
                          werden.

   ZPR <Datei> -hd<Fehlerdatei>
                          kopiert   alle   als    nicht   ZCONNECT-konform
                          erkannten Nachrichten in die Fehlerdatei 




   _____________________________ZPR___________________________________  4


   4.   Headerzeilen
   


   Bei  Fehlermeldungen benennt  ZPR die  fehlerhaften  Zeilen durch  ihre
   ZCONNECT-Krzel.  Dies  sind im  Einzelnen (alle mit * gekennzeichneten
   Zeilen drfen mehrfach vorhanden sein):

   Tabelle 4-1  Headerzeilen
   
     ABS               Absender
   * ANTWORT-AN        Antwortadresse fr PMs
     BET               Betreff
   * BEZ               Message-ID(s) der Bezugsnachricht(en)
     CRYPT             Codierverfahren
     DDA               Dateidatum
   * DISKUSSION-IN     Antwortbrett fr ffentliche Nachrichten
   * EB                Empfangsbesttigungsanforderung
     EDA               Erstellungsdatum
   * EMP               Empfnger
     FILE              Dateiname
     KOM               Kommentarlnge
   * KOP               Kopienempfnger
     LEN               Gre des Nachrichteninhalts
     MID               Message-ID
     O-EDA             Original-Erstellungsdatum
     OAB               Originalabsender
   * OEM               Originalempfnger
     PRIO              Prioritt
     ROT               Routweg
     TELEFON           Telefonnummer(n) des Absenders
     TRACE             Testnachricht
   * VER               Vertreteradresse
     WAB               Weiterleit-Absender

   Alle hier nicht aufgefhrten  Headerzeilen werden von ZPR ignoriert und
   bei Schalter -r unverndert in die reparierte Datei bernommen.

   ABS,   BET,   EDA,  EMP,  LEN,  MID  und  ROT  sind  Pflichtzeilen.  Am
   Vorhandensein dieser sieben Zeilen erkennt ZPR einen gltigen Header.




   _____________________________ZPR___________________________________  5


   5.   bersicht aller Aktionen von ZPR
   


   ZPR fhrt die folgenden Test und Reparaturen durch:

   o  berprfung  der  Nachrichtenlngen,  d.h. formale  Korrektheit  des
      Puffers. Ggf. Anpassen von LEN an die tatschliche Nachrichtenlnge.

   o  Test  auf korrekte Zeilentrennungen -  alle Headerzeilen  mssen mit
      CR+LF getrennt sein. Ggf. Ergnzen von LF oder CR.

   o  Test der Headernamen auf  syntaktische  Korrektheit. Ggf.  Entfernen
      fehlerhafter Headerzeilen.

   o  Test auf mehrfaches Vorkommen von Zeilen, die  nur  einfach  erlaubt
      sind. Ggf. Entfernen aller unerlaubten Kopien.

   o  Test  auf Vorkommen  von  Headern,  die  nur  in  PMs  oder  in  AMs
      (Brettnachrichten) erlaubt sind, im  jeweils anderen Nachrichtentyp.
      Ggf.  Entfernen   nicht  erlaubter   Header.   [Ich  wei,  ZCONNECT
      beinhaltet diesbezglich keine exakten Vorschriften. Aber da  EB in
      einer  AM  oder DISKUSSION-IN in  einer PM  ein Fehler  ist,  sollte
      offensichtlich  sein]. Diese Tests  gelten nicht fr  kombinierte AM
      /PMs. 

   o  Test auf  Steuerzeichen innerhalb von Headerzeilen, d.h. Zeichen mit
      ASCII-Wert  kleiner 32 mit Ausnahme  von  TAB (#9).  Ggf.  Entfernen
      nicht erlaubter Zeichen. 

   o  Test von Datumszeilen (EDA, DDA, O-EDA) auf  korrektes  Format; ggf.
      Korrektur. 

   o  Test von Adrezeilen (ABS, ANTWORT-AN, OAB, WAB, VER, evtl. EMP, EB,
      KOP und OEM) auf (halbwegs) korrektes Format.

   o  Test  von  Brettnamen  (EMP,   OEM,   DISKUSSION-IN)  auf  korrektes
      Format. 

   o  Test von Message-IDs (MID) auf korrektes Format.

   o  Test  der  Kommentarlnge  (KOM)   auf  korrektes   Format  und  auf
      Plausibilitt. 

   o  Test  von Dateinamen (FILE) auf korrektes Format; ggf. Entfernen von
      Pfadnamen. 

   o  Test von Prioritt (PRIO) auf numerischen Inhalt; ggf. Setzen auf 0.

   o  Test von Telefonnummern (TELEFON) auf korrektes Format.


   _____________________________ZPR___________________________________  6


   Anhang
   


   A.   Versionsgeschichte
   

   v0.91  (11.08.1993)
   o  erste freigegebene Vorabversion

   v0.92
   o  Ausstieg bei Steuerzeichen in unbekannter Headerzeile beseitigt

   0.93  (20.10.1993)
   o  grerer Fehler bei Lngenkorrektur beseitigt;
      Tippfehler korrigiert..

   v1.0  (05.11.1993)
   o  noch ein paar Bugs bei der Suche nach gltigen
      Headern beseitigt

   v1.01  (28.11.1993)
   o  Syntaxberprfung der LEN-Zeile hinzugefgt
   o  Adreberprfung funktioniert jetzt auch bei von
      XP konvertierten RFC-Puffern
   o  Syntaxberprfung von BEZ entfernt

   v1.02  (15.12.1993)
   o  zu viele Leerzeichen vor Realname werden erkannt

   v1.03  (04.02.1994)
   o  Fehler bei Headersuche (RTE 201) beseitigt

   v1.04  (05.12.1994)
   o  Leerzeichen vor Headerzeilen werden entfernt
   o  Ungltige Headernamen werden erkannt
   o  Fehler bei Headerlngenkorrektur behoben
   o  lange Headerzeilen werden beim Reparieren nicht
      mehr gekrzt

   v1.05  (15.01.1995)
   o  Syntaxberprfung von EMP, OEM und DISKUSSION-IN
      hinzugefgt
   o  OS/2-Version

   v1.06  (05.06.1995)
   o  weniger strenge berprfung von Brettnamen

   v1.07  (07.06.1995)
   o  Fehler bei Puffern > 20,5 MB behoben

   v1.08  (19.06.1995)
   o  Fehler bei mehrfachem LEN behoben
   o  berprfung von TELEFON an ZCONNECT 3.1 angepat
   o  berprfung von KOM, KOP und VER hinzugefgt

   v1.09  (16.07.1996)

   _____________________________ZPR___________________________________  7


   o  Header, die mit einem Doppelpunkt beginnen, werden
      als fehlerhaft erkannt

   * = nderung, + = Neues Feature, ! = Bugfix, # = interne nderung

   v3.20/OpenXP (05.08.2000 - 01.01.2001)
   !  kleinere Bugs entfernt
   !  Anzeigefehler mit groen Puffern behoben
   *  keine externe Entwicklung mehr, sondern fester Bestandteil des
      OpenXP-Projekts, deswegen Versionsnummer angepasst
   *  Design der Doku vereinheitlicht

   v3.21/FreeXP  (30.09.2005)
   *  diverse Fehlerbehebungen
   *  Design der Dokumentation berarbeitet

|  v3.40 RC4/FreeXP  (31.10.2005)
|  *  diverse Fehlerbehebungen
|  *  Dokumentation aktualisiert


   _____________________________ZPR___________________________________  8


|  Tabellenverzeichnis
|  


   4-1  Headerzeilen                                                    4
