 UKAWP.TXT ͻ
                                                         
  Dokumentation zum UKAW/UKAD-Patchtool UKAWP.EXE v1.01  
  (c) 2005-2006 FreeXP <support@freexp.de>               
                                             21.01.2006  
ͼ

   Dieser Text liegt im Zeichensatz IBM437 vor und sollte
   mit einem DOS-Programm betrachtet und gelesen werden
   (oder z.B. mit dem internen Lister des Total Commander,
   dort mit "s" den "ASCII-Zeichensatz" aktivieren).



I.    Hintergrund und Zweck
===========================

Seit Jahren und zum Unmut vieler User verndern die Mail/News-Clients
UKAW und UKAD willkrlich und ungefragt die Software-Header aller
XP-Versionen, fgen neue Header hinzu und vernichten in den derzeit
aktuellen Versionen v3.50 (UKAW) bzw. v2.50 (UKAD) sogar Header, ohne
da dies alles irgendwo dokumentiert wre (was es aber auch nicht viel
besser machen wrde).

Dabei handelt es sich nicht (nur) um gerade nicht mehr zu tolerierende
Header-"Kosmetik", sondern darum, da das in bestimmten Fllen stmper-
hafte (weil unvollstndige) Verndern und Entfernen von Headern seitens
UKAW/UKAD zu gravierenden technischen Problemen fhren kann (und auch
konkret dazu gefhrt hat). Wer das alles schon wei oder gar nicht so
genau wissen will, mge bei Abschnitt III weiterlesen.

Je nach Version fallen die nderungen unterschiedlich aus (Details dazu
in Abschnitt II), in den o.g. aktuellen Versionen sind sie am weitrei-
chendsten und stellen sich wie folgt dar:

1. Alle mit "X-XP-" und "X-RFC-" beginnenden Header (und damit die vom
   FreeXP-UUZ erzeugten Header "X-XP-Version:" und "X-RFC-Converter:")
   werden ausgehend wie eingehend ohne Hinweis gelscht. :-( Mehr dazu
   weiter unten in diesem sowie den folgenden Abschnitten.

2. Die Header "X-Nntp-Client:" (News) bzw. "X-BSmtp-Client:" (Mails)
   werden zustzlich erzeugt und enthalten neben lstiger Eigenwerbung
   die IP des absendenden Systems.

3. Bei den Headern "X-Mailer:", "X-Newsreader:" und "User-Agent:" wird
   an den Programmnamen "CrossPoint" der String "/Agent" angehngt, der
   Name der jeweiligen XP-Entwicklungslinie  (OpenXP, XP2, FreeXP etc.)
   in eckige Klammern eingeschlossen und am Ende des Headers ein "via
   NNTP" (News) bzw. "via BSMTP" oder "via SMTP" (Mails) angehngt. Je
   nach Beschaffenheit des von XP erzeugten Original-Headers sind UKAW
   und UKAD (offenbar mangels eines geeigneten Parsers) zudem bisweilen
   auch nicht in der Lage, smtliche Informationen aus dem Original-
   Header korrekt zu bernehmen, und vernichten daher mitunter Versions-
   nummer, Registrierungsvermerk sowie alle brigen Bestandteile des
   ursprnglichen Headers.

Dieses ohnehin kaum zu tolerierende Verhalten ist im Falle des Headers
"User-Agent:" besonders fatal, weil zum einen die Syntax der von
UKAW/UKAD erzeugten Header nicht mit der Spezifikation im USEFOR-Draft
(Nachfolgeentwurf zu RFC1036) konform ist, und zum anderen der resul-
tierende "User-Agent:"-Header vollkommen verstmmelt ist, wenn der
originale Header bereits in einer mit dieser Spezifikation konformen
Syntax vorlag (zuerst der originale, dann der daraus von UKAW/UKAD
produzierte Headerinhalt am Beispiel eines Postings):

  --------------------------------------------------------------------
  FreeXP (CrossPoint)/3.40-RC3 (R/C816; DOS16/Win98 [XMS]; 1409031629)
  CrossPoint/Agent [FreeXP], via NNTP
  --------------------------------------------------------------------

Die aktuelle Version 3.40.2 des Enhanced UUZ/II von FreeXP sowie OpenXP
seit v3.70.3 (September 2001) erzeugen per Default eben solche
"User-Agent:"-Header, so da in diesem Fall zwingender Handlungsbedarf
besteht, um keine verstmmelten und gleichzeitig syntaktisch ungltigen
Headerzeilen zu produzieren, fr die Dritte aus einer verstndlichen
Unkenntnis heraus sicher nicht UKAW/UKAD, sondern die verwendete XP-
Version verantwortlich machen werden, obwohl diese daran vllig
unschuldig ist.


Ein noch greres und erst krzlich offenkundig gewordenes Problem
besteht seit UKAW v3.50 bzw. UKAD v2.50:

In ihrem destruktiven Bemhen, alle mit "X-XP-" und "X-RFC-" beginnenden
Headerzeilen zu vernichten, bercksichtigen UKAW/UKAD nicht, da diese
gem RFC2822 gefaltet sein knnen (was bei Mails dann der Fall sein
sollte, wenn sie lnger als 78 Zeichen sind). Es wird nur die erste
Zeile entfernt, alle brigen bleiben erhalten und werden vom ZC<=>RFC-
Konvertierer UUZ wie von allen anderen Newsreadern logischerweise der
Headerzeile zugerechnet, die sich zuflligerweise vor dem Header, den
UKAW/UKAD entfernen wollten, befindet. Da dies nicht nur bei ausgehen-
den, sondern sogar auch bei eingehenden Nachrichten geschieht, werden
nicht nur defekte Nachrichten versandt, sondern die Header ursprnglich
korrekt versandter Nachrichten nachtrglich zerstrt. Konkretes Beispiel
- werden folgende Headerzeilen (Auszug) in einer Mail versandt ...

  ----------------------------------------------------------------------
  Content-Transfer-Encoding: quoted-printable
  X-XP-Version: FreeXP (CrossPoint)/3.40-RC3 (R/C816; DOS16/Win98 [XMS];
   1409031629)
  ----------------------------------------------------------------------

... dann entfernen UKAW/UKAD beim Empfang nur die mit "X-XP-Version:"
beginnende Zeile. Die eigentlich noch zum selben Header gehrende Zeile
mit dem Inhalt "1409031629)" bleibt erhalten, so da der folgende defek-
te Header entsteht:

  -------------------------------------------
  Content-Transfer-Encoding: quoted-printable
   1409031629)
  -------------------------------------------

Bei der Interpretation des Headers wird die zweite Zeile nun logischer-
weise der Headerzeile "Content-Transfer-Encoding:" zugerechnet und daher
zu ...

  -------------------------------------------------------
  Content-Transfer-Encoding: quoted-printable 1409031629)
  -------------------------------------------------------

... entfaltet. Folge: Die Nachricht wird vom UUZ (und wahrscheinlich
auch anderen News- und Mailreadern) nicht mehr korrekt decodiert, weil
es eine Codierung "quoted-printable 1409031629)" nicht gibt, und die
Mail ist je nach Menge der codierten Zeichen im Text weitgehend unles-
bar.

Eine andere (und ebenfalls real vorgekommene) Folge kann sein, da
zufllig vor "X-XP-Version:" befindliche "X-Face:"-Header von anderen
News- und Mailreadern nicht mehr korrekt decodiert werden knnen.
Weitere unkalkulierbare und bisher noch nicht bekannte Folgen knnen
nicht ausgeschlossen werden. Schon wegen dieser technischen Sabotage
seitens UKAW/UKAD ist der Einsatz des vorliegenden Patchtools im Falle
der Versionen UKAW v3.50 und UKAD v2.50 nicht nur dringend ratsam,
sondern zwingend notwendig.


Ein ganz hnlicher - technisch nicht ganz so kritischer, dafr aber in
allen bisher erschienenen UKAW/UKAD-Versionen existenter - Bug besteht
hinsichtlich der unter 3. beschriebenen nderung der Software-Header
"X-Mailer:", "X-Newsreader:" und "User-Agent:": Sollte der originale
Software-Header aufgrund seiner Lnge gefaltet gewesen sein, erzeugen
UKAW/UKAD einen fehlerhaften RFC-Header, weil alle gefalteten Zeilen
ignoriert werden und durch das seitens UKAW/UKAD vorgenommene Hinzufgen
seiner eigenen Header nun meist diesen zugerechnet werden.

In lteren UKAW/UKAD-Versionen ist dieser Bug wohl deshalb nur nie zum
Vorschein gekommen, weil die gleichzeitig eingesetzten (und ebenfalls
lteren) XP/UUZ-Versionen keine Software-Header erzeugt haben, die wegen
ihrer Lnge fr das Falten berhaupt in Frage gekommen wren (und/oder
weil der beteiligte UUZ lange Headerzeilen generell nicht gefaltet hat).


Das vorliegende Patchtool setzt allen Headervernderungen seitens UKAW
und UKAD endgltig ein Ende und ist vor dem Hintergrund der oben be-
schriebenen UKAW/UKAD-Bugs primr als echter Bugfix-Patch zu betrachten.
Mit demselben Tool lt sich der Patch auch wieder rckgngig machen.
Bei welchen Kombinationen aus UKAW/UKAD- und XP/UUZ-Version das Tool
warum eingesetzt werden sollte, folgt im Detail im nchsten Abschnitt.



II.   Einsatzbereich und Notwendigkeit
======================================

Der Einsatz des Patchtools ist im Interesse sauberer, von unntigem
Ballast befreiter und unvernderter, vor allem aber der Vermeidung
defekter RFC-Header prinzipiell immer sinvoll und empfehlenswert. In
bestimmten Fllen (sehr alte UKAW/UKAD-Version in Kombination mit
relativ neuer XP/UUZ-Version) kann der Patch berflssig sein, schadet
aber dann auch nichts.

Das Patchtool ist erfolgreich getestet mit den aktuellen Versionen v3.50
(UKAW) und v2.50 (UKAD) sowie mit etlichen lteren UKAW-Versionen bis
hinunter zu UKAW v1.90. Es sollte daher mit allen UKAW- und UKAD-Versio-
nen funktionieren, die bei XP-Benutzern aktuell noch im Einsatz sind
(abweichende Erfahrungsberichte hierzu sind willkommen).

Je nach Kombination aus verwendeter UKAW/UKAD- sowie XP/UUZ-Version
ergeben sich, wie schon oben angedeutet, hinsichtlich der Notwendigkeit
des Einsatzes dieses Patchtools unterschiedliche Bewertungen, die nach-
folgend in einer Matrix zusammengefat sind:

                       Ŀ
                        FreeXP E-UUZ/II   OpenXP ab  andere XP/UUZ- 
                        ab v3.40.2        v3.70.3    Versionen (XP2,
                        (auch mit XP2)    (09/2001)  OpenXP/16)     
Ĵ
 (1) UKAW bis v2.40    nicht notwendig,  nicht un-  sinnvoll/      
     UKAD bis v1.60    wenn "User-       tersttzt  optional       
 Agent:" aktiv, Ĵ
 (2) UKAW v2.43-v2.95  ansonsten siehe   nicht                     
     UKAD v1.65-v1.95  "andere Vers."    notwendig    dringend     
  empfohlen   Ĵ
 (3) UKAW v3.00-v3.38               zwingend                        
     UKAD v2.00-v2.38               notwendig                       
Ĵ
 (4) UKAW v3.50        zwingend notwen-        zwingend             
     UKAD v2.50        dig (alle E-UUZ)        notwendig            
Ĵ
 Hinweis: Nicht jede UKAW/UKAD-Version ist mit jeder XP-Version lauf- 
          fhig. Hierber sind kaum gesicherte Aussagen mglich, da   
          sogar ltere UKAW-Versionen mit neueren XP2-Versionen bis-  
          weilen die Arbeit verweigern. Als halbwegs sicher kann gel- 
          ten, da ab UKAW v2.75 bzw. UKAD v1.78 diese mit allen Ver- 
          sionen der bekannten XP-Entwicklungslinien OpenXP, XP2 und  
          FreeXP kooperieren. Im Zweifel hilft nur Ausprobieren.      


Zu den jeweiligen UKAW/UKAD-Kategorien ist folgendes anzumerken:

(1) Diese UKAW/UKAD-Versionen verndern den Inhalt des originalen
    MAILER:-Headers "nur" insoweit, als da sie an den Header einen
    Zusatz "via NNTP" oder "via (B)SMTP" anhngen. Da diese Versionen
    den Header "User-Agent:" noch nicht kennen, verndern sie nur
    Nachrichten mit den RFC-Headern "X-Mailer:" oder "X-Newsreader:",
    und erzeugen auch nur bei Nachrichten mit diesen Headern die zustz-
    lichen Headerzeilen "X-Nntp-Client:" (News) und "X-BSmtp-Client:"
    (Mails).

    Insofern ist der Einsatz des Patchtools bei XP/UUZ-Versionen, die
    einen Header "User-Agent:" erzeugen, bei diesen UKAW/UKAD-Versionen
    nicht erforderlich. Sofern der Header "User-Agent:" mit dem Schalter
    "-noUAgent" beim E-UUZ/II von FreeXP deaktiviert worden sein sollte,
    gilt dieselbe Bewertung wie fr "andere XP/UUZ-Versionen".

(2) Diese UKAW/UKAD-Versionen verndern den Inhalt des originalen
    MAILER:-Headers zustzlich durch das Anhngen des Strings "/Agent"
    an den Programmnamen "CrossPoint" und das Einschlieen des Namens
    des XP-Derivats in eckige Klammern. Da dabei je nach Beschaffenheit
    des Original-Headers dessen smtliche Bestandteile verlorengehen
    knnen, ist der Einsatz des Patchtools dringend empfohlen. Auch
    diese Versionen kennen den Header "User-Agent:" noch nicht, so da
    diesbzgl. dasselbe gilt wie unter (1).

(3) Diese UKAW/UKAD-Versionen nehmen dieselben Vernderungen vor wie
    unter (1) und (2), kennen jetzt aber auch den Header "User-Agent:",
    verndern/zerstren ihn in gleicher Weise und erzeugen nun auch bei
    solchen Nachrichten die zustzlichen Headerzeilen "X-Nntp-Client:"
    (News) und "X-BSmtp-Client:" (Mails).

    Da die Spezifikation des "User-Agent:"-Headers nach einem "/"
    zwingend die Versionsnummer vorsieht und die Zeichen "[" und "]"
    gnzlich unzulssig sind, resultiert daraus ein ungltiger Header,
    und der Einsatz des Patchtools ist schon von daher zwingend notwen-
    dig. Auerdem ist es bei "User-Agent:"-Headern, die bereits in einer
    mit der Spezifikation konformen Syntax vorliegen, in ungepatchtem
    Zustand unvermeidlich, da UKAW/UKAD auer dem Namen des Programms
    ("CrossPoint") sowie der Entwicklungslinie (OpenXP, XP2, FreeXP)
    alle sonstigen Bestandteile des originalen Headers vernichten.

    Fr alle XP/UUZ-Versionen, die keinen Header "User-Agent:" erzeugen,
    gilt dieselbe Bewertung wie unter Kategorie (2), weil die Gestaltung
    von "X-Mailer:" und "X-Newsreader:" wahlfrei ist.

(4) Diese UKAW/UKAD-Versionen entfernen zustzlich alle mit "X-XP-" und
    "X-RFC-" beginnenden Headerzeilen. Da sie im Falle gefalteter
    Headerzeilen diese aber nicht vollstndig entfernen, kann es zu den
    im Abschnitt I. beschriebenen gravierenden technischen Problemen
    kommen. Sofern sichergestellt ist, da die verwendete XP/UUZ-Version
    keine mit "X-XP-" oder "X-RFC-" beginnenden Headerzeilen erzeugt
    bzw. diese nicht faltet, leitet sich hinsichtlich ausgehender Nach-
    richten dann daraus zwar keine zustzliche technische Notwendigkeit
    fr den Einsatz des Patchtools her - wohl aber hinsichtlich einge-
    hender Nachrichten, um die (ggf. teilweise) Vernichtung von Headern
    seitens UKAW/UKAD und damit die im Abschnitt I. beschriebenen Pro-
    bleme zu vermeiden.

    Hinweis: Im Falle des E-UUZ von FreeXP ist die Notwendigkeit fr den
    -------- Einsatz des Patches bei diesen UKAW/UKAD-Versionen unabhn-
             gig von der verwendeten E-UUZ-Version immer gegeben, da
             dieser in allen Versionen die Header "X-XP-Version:" (ab
             v3.40.2 optional abschaltbar, siehe Abschnitt IV.) und
             "X-RFC-Converter:" erzeugt, und sie seit jeher (nur in
             Mails) bei Bedarf auch faltet.



III.  Anwendung des Patchtools
==============================

UKAWP.EXE wird einfach in das Verzeichnis kopiert, in dem sich die UKAW-
Dateien E-AGENT.EXE, E-MAIL.EXE und E-NEWS.EXE bzw. die UKAD-Dateien
E-MAIL16.EXE und E-NEWS16.EXE befinden und ohne Parameter gestartet. Die
genannten Dateien werden (soweit vorhanden) gepatcht, danach werden sich
UKAW/UKAD wie folgt verhalten:

1. Die Header "X-Mailer:", "X-Newsreader:" und "User-Agent:", in denen
   sich XP eintrgt, werden von UKAW nicht mehr verndert, sondern 1:1
   im Originalzustand versandt.

2. Als ursprnglich gar nicht beabsichtigter, aber erfreulicher Nebenef-
   fekt von 1. werden die Header "X-Nntp-Client:" und "X-BSmtp-Client:",
   in denen sich UKAW verewigt und auch die IP des absendenden Systems
   eintrgt, nicht mehr erzeugt.

3. Der Header "X-RFC-Converter:", in dem sich der Enhanced UUZ von
   FreeXP eintrgt und der von UKAW v3.50 und UKAD v2.50 schlicht ver-
   nichtet wird, wird wieder 1:1 versandt. Gleichzeitig wird dadurch
   vermieden, da durch das unvollstndige Entfernen einer evtl. gefal-
   teten Headerzeile defekte RFC-Header erzeugt werden.

4. Dasselbe wie in 3. gilt fr den Header "X-XP-Version:". Eigentlich
   htte man den Header durch UKAW durchaus entfernen lassen knnen, da
   durch die in 1. beschriebene Folge des Patches keine Notwendigkeit
   mehr fr ihn besteht (die Version v1.00 dieses Patchtools hat dies
   deshalb und in Unkenntnis der Bugs in UKAW/UKAD per Default auch
   zugelassen). Durch das seitens UKAW/UKAD unvollstndige Entfernen
   gefalteter Header und die dadurch entstehenden technischen Probleme
   war dies in der aktuellen Version jedoch keine Option mehr.

5. Die jeweilige Versionsnummer von UKAW/UKAD wird von "vX.XXg" auf
   "vX.XXp" gepatcht, damit zur Laufzeit von UKAW/UKAD unmittelbar
   erkennbar ist, ob man mit der originalen oder einer von diesem Tool
   gepatchten Version arbeitet.

Die unter 3. und 4. aufgefhrten Punkte sind bei Versionen lter v3.50
(UKAW) bzw. v2.50 (UKAD) irrelevant, dort werden die genannten Header
auf jeden Fall 1:1 versandt.

Dieser Patch wirkt automatisch immer nur nur auf die Punkte, die fr die
jeweilige UKAW/UKAD-Version zutreffend sind. Er nimmt keine nderungen
am eigentlichen Programmablauf vor, sondern patcht nur im Klartext les-
bare Strings der Headerzeilen, die von UKAW/UKAD gendert oder vernich-
tet werden wollen.


Optional kann UKAWP.EXE mit folgenden Parametern aufgerufen werden:

  /r  Reversemodus: Das Patchen der Dateien wird zurckgenommen.

  /t  Turbomodus: Einige zustzliche Lesevorgnge werden ausgelassen,
      um das recht langsame Patchtool etwas zu beschleunigen. Dies hat
      keine Auswirkungen auf das Patchergebnis.


Hinsichtlich der Verwendbarkeit des Patchtools fr etwaige zuknftige
Versionen von UKAW/UKAD knnen keine Aussagen getroffen werden. Sofern
fr diese eine Anpassung erforderlich und berhaupt mglich ist, wird
dies in den einschlgigen Newsgroups (de.comm.software.crosspoint,
crosspoint.freexp.support) bekanntgegeben und eine aktualisierte Version
auf http://www.freexp.de/ zum Download angeboten werden.



IV.   Die Header "X-XP-Version:" und "X-RFC-Converter:"
=======================================================

Das Entfernen aller mit "X-XP-" und "X-RFC-" beginnenden Headerzeilen
in aus- und eingehenden Nachrichten seitens UKAW v3.50 und UKAD v2.50
war/ist eine gezielte Manahme gegen zwei vom E-UUZ von FreeXP erzeugte
Header (Beispiele):

  -------------------------------------------------------------------
  X-XP-Version: CrossPoint/FreeXP v3.40 RC3 (XMS) @ 1409031629 R/C816
  X-RFC-Converter: E-UUZ/II [FreeXP v3.40.2 RC4] @ 200512311950
  -------------------------------------------------------------------

ber die wirklichen Motive des UKAW-Autors kann man nur spekulieren. Da
aber die Grnde fr die Existenz dieser Headerzeilen (die wie gesagt je
nach Lnge in Mails auch gefaltet vorkommen knnen) offenbar nicht allen
gelufig sind, nachfolgend eine kurze "historische" Erluterung sowie
Hinweise, wann der Header "X-XP-Version:", der seit der aktuellen
Version v3.40.2 des E-UUZ/II anllich des vorliegenden Patchtools
sowie der beschriebenen UKAW-Bugs optional abschaltbar ist, deaktiviert
werden sollte und wann nicht:

Wie bereits ausfhrlich in diesem Dokument erlutert, haben alle
UKAW/UKAD-Versionen seit Jahren willkrliche und erhebliche Vernde-
rungen an Software-Headern vorgenommen und je nach Beschaffenheit des
originalen Headers ihren Inhalt weitgehend zerstrt. Dies lag i.d.R.
weder im Sinne der User (diesen stehen eigene Mittel zur Verfgung, um
ggf. den Header zu verndern oder zu entfernen) noch der an der Weiter-
entwicklung und dem Support einer XP-Version beteiligten Personen und
kann nur als bevormundende Manahme seitens UKAW/UKAD gewertet werden,
sich nicht nur in zustzlich erzeugten Headerzeilen, sondern unbedingt
und ohne Rcksicht auf Verluste auch im bereits von XP/UUZ erzeugten
Software-Header zu verewigen.

"X-XP-Version:" hat dieser unerwnschten Vernderung insofern entgegen-
gewirkt, als da es in diesem Header eine Kopie des originalen und von
XP selbst erzeugten MAILER:-Headers abgelegt hat. War kein MAILER:-
Header vorhanden, wurde "X-XP-Version:" nicht erzeugt, war der MAILER:-
Header vom User verndert worden, wurde in "X-XP-Version:" dieser vern-
derte Inhalt abgelegt.

Dadurch entstand zwar zunchst ein Header mit redundantem Inhalt, der
aber im Unterschied zu den eigentlichen Software-Headern ("X-Mailer:",
"X-Newsreader:", "User-Agent:") bis zur Version v3.38 (UKAW) bzw. v2.38
(UKAD) beim Versand nicht verndert wurde. Dadurch wurde er im Original-
zustand unbeschdigt bis zum Empfnger transportiert und konnte dort -
sofern dieser eine XP-Version zusammen mit dem E-UUZ von FreeXP (oder
einer Vorgngerversion des UUZ von OpenXP/16, die "X-XP-Version:" eben-
falls bereits untersttzt hat) eingesetzt hat - statt des eigentlichen
und von UKAW/UKAD vernderten Software-Headers in den MAILER:-Header
zurckgeschrieben werden. Damit befand sich die Nachricht in exakt dem
Zustand, in dem sie sich auch befunden htte, wenn UKAW/UKAD den
ursprnglichen Software-Header gar nicht erst verndert htten.

Mit anderen Worten: Htten UKAW/UKAD keine willkrlichen Vernderungen
an Software-Headern vorgenommen, htte es nie einen Anla und Grund fr
den Header "X-XP-Version:" gegeben. In den geschilderten Fllen ist er
hilfreich und in allen anderen schadet er nicht.

Da mit dem vorliegenden Patchtool UKAW/UKAD daran gehindert werden,
zuknftig Vernderungen an Software-Headern vorzunehmen, besteht beim
Einsatz einer gepatchten UKAW/UKAD-Version auch keine Notwendigkeit fr
"X-XP-Version:" mehr. Zwar wrden UKAW v3.50 und UKAD v2.50 den Header
normalerweise beim Versand entfernen, aber aus den weiter oben geschil-
derten Grnden (Bugs im Umgang mit gefoldeten Headerzeilen) kann man
ihnen dies nicht bedenkenlos berlassen. Daher stellt der Patch in der
vorliegenden Version (im Unterschied zur vorherigen Version) wie
beschrieben auch sicher, da UKAW/UKAD mit "X-XP-" beginnende Header
nicht mehr versuchen zu entfernen.

Stattdessen kann der Header "X-XP-Version:" seit der Version v3.40.2 des
E-UUZ/II von FreeXP mit dem Kommandozeilenparameter

  -noXPver

deaktiviert werden. Da keine derzeit existierende XP-Version eine Konfi-
gurationsmglichkeit vorsieht, diesen Parameter bei einer Netcall-Kon-
vertierung an den UUZ zu bergeben, kann dies ab derselben Version des
E-UUZ wie fr fast alle brigen Parameter ber die Parameterdatei
UUZ.OPT geschehen (Details dazu siehe UUZ_TEST.TXT bzw. UUZ_ENH.TXT).
Dies liegt alleine in der Entscheidung des Users, denn der E-UUZ kann
nicht erkennen, ob berhaupt eine UKAW-Version zum Einsatz kommt, und
wenn ja, welche Version das ist und ob diese gepatcht ist oder nicht.

Aus der folgenden Matrix ist ersichtlich, bei welcher UKAW/UKAD-Version
der Header "X-XP-Version:" mit dem Kommandozeilenparameter "-noXPver"
deaktiviert werden sollte. Je nachdem, ob gleichzeitig der ebenfalls im
E-UUZ/II v3.40.2 neu eingefhrte Header "User-Agent:" aktiviert ist
(Default) oder nicht (Parameter "-noUAgent") und ob eine gepatchte oder
eine ungepatchte UKAW/UKAD-Version eingesetzt wird, ergeben sich unter-
schiedliche Empfehlungen bzw. Begrndungen:

                   Ŀ
                     E-UUZ/II ab v3.40.2     E-UUZ/II ab v3.40.2     
                     ("User-Agent:" aktiv)   ("User-Agent:" inaktiv) 
                     und OpenXP v3.70.3                              
Ĵ
 UKAW bis v2.95    "X-XP-Version:"          "X-XP-Version:" nicht   
 UKAD bis v1.95    deaktivieren (UKAW/UKAD  deaktivieren (UKAW/UKAD 
 (nicht gepatcht)  verndern Header nicht)  verndern Header)       
Ĵ
 UKAW bis v2.95           "X-XP-Version:" deaktivieren               
 UKAD bis v1.95           (UKAW/UKAD verndern Header nicht)         
 (gepatcht)                                                         
Ĵ
 UKAW v3.00-v3.38         "X-XP-Version:" nicht deaktivieren         
 UKAD v2.00-v2.38         (UKAD/UKAW verndern Header)               
 (nicht gepatcht)                                                   
Ĵ
 UKAW v3.00-v3.38         "X-XP-Version:" deaktivieren               
 UKAD v2.00-v2.38         (UKAW/UKAD verndern Header nicht)         
 (gepatcht)                                                         
Ĵ
 UKAW v3.50               "X-XP-Version:" deaktivieren               
 UKAD v2.50               (UKAW/UKAD erzeugen beim Entfernen         
 (nicht gepatcht)          u.U. defekte Header)                      
Ĵ
 UKAW v3.50               "X-XP-Version:" deaktivieren               
 UKAD v2.50               (UKAW/UKAD verndern Header nicht)         
 (gepatcht)                                                         


Zwar sollte bei insgesamt zwlf mglichen Kombinationen in nur dreien
davon der Header "X-XP-Version:" nicht deaktiviert werden, aber genau
die sind vermutlich die aktuell am hufigsten vorkommenden (nmlich
nicht gepatchte UKAW/UKAD-Versionen bis UKAW v3.38 bzw. UKAD v2.38).
U.a. deshalb mu der Header auch explizit deaktiviert (statt explizit
aktiviert) werden.

Die Versionen v3.50 (UKAW) und v2.50 (UKAD) sollten ausschlielich in
gepatchtem Zustand eingesetzt werden. Denn selbst bei deaktiviertem
Header "X-XP-Version:" wird immer noch der Header "X-RFC-Converter:"
erzeugt, bei dem prinzipiell dieselbe Gefahr besteht, von UKAW/UKAD
unvollstndig entfernt zu werden und dadurch zu einem defekten RFC-
Header zu fhren.

Fr Umgebungen, in denen ein anderer Client als UKAW eingesetzt wird,
knnen hinsichtlich des Headers "X-XP-Version:" hier keine klaren
Empfehlungen ausgesprochen werden. Auch Clients wie UKA_PPP, VSoup und
XPNews erzeugen mitunter suboptimale Headerkonstellationen, so da dies
vom User im Einzefall geprft und entschieden werden sollte.


Der Header "X-RFC-Converter:" dient einem vllig anderen Zweck: Er soll
durch das Eintragen der E-UUZ-Version helfen, den Verursacher von Pro-
blemen bei Konvertierung, Transport, Codierung und Decodierung sowie der
Verletzung geltender Standards zu ermitteln. Des weiteren ist er hilf-
reich, um XP-User, die noch eine ltere und u.U. mit gravierenden Bugs
behaftete (mglicherweise sogar Datenverlust verursachende) Testversion
einsetzen, auf eine neuere Version hinweisen zu knnen. Oder im Falle
der vlligen Absenz dieses Headers XP-User auf die Existenz des E-UUZ
berhaupt erstmal aufmerksam machen zu knnen.

Zwar ist dafr eigentlich der Header "User-Agent:" (bzw. "X-Mailer:"
und "X-Newsreader:") vorgesehen, in dem sich auch die jeweilige
XP-Version eintrgt. Jedoch ist im besonderen Falle von XP in den
seltensten Fllen das Programm selbst, sondern fast immer der ZC<=>RFC-
Konvertierer UUZ als die entscheidende Schnittstelle der Verursacher
gravierender Probleme. Insofern kommt dem Header "X-RFC-Konverter:" vor
diesem Hintergrund eine weit hhere Bedeutung zu als "User-Agent:" oder
anderen Software-Headern.

Im Laufe der Zeit hat sich die Entwicklung des "Enhanced UUZ" (= E-UUZ)
von FreeXP von der Entwicklung des zugehrigen Hauptprogramms weitgehend
entkoppelt, so da von der verwendeten FreeXP-Version nicht mehr sicher
auf die Version des eingesetzten UUZ-Konvertierers geschlossen werden
kann. Hinzu kommt, da der E-UUZ von FreeXP auch mit XP2-Versionen ein-
gesetzt werden kann (und oft auch wird). Hier wren ohne diesen Header
Rckschlsse von der Programmversion auf den verwendeten UUZ dann gar
nicht mehr mglich.

Aus den genannten Grnden wird der Header "X-RFC-Converter:" erzeugt und
ist mit Bordmitteln (d.h. Kommandozeilenparameter) auch nicht zu deakti-
vieren. Es wird auch deutlich davon abgeraten, dies mit anderen Mitteln
zu tun, weil es schlicht nicht sinnvoll wre. Im Zusammenhang mit dem
vorliegenden Patch fr UKAW/UKAD wurde die Vernichtung dieses Headers
seitens UKAW/UKAD aber nicht nur deshalb deaktiviert, sondern auch, weil
er ebenfalls gefaltet vorkommen kann und infolge der Bugs von UKAW/UKAD
defekte RFC-Header erzeugt werden knnten.



V.    Bezugsquellen
===================

Dieses Tool ist zum Download verfgbar unter:

ftp://ftp.freexp.de/freexp/clients/ukawp.zip
http://www.freexp.de/freexp/clients/ukawp.zip

Das Archiv kann in unvernderter Form beliebig weitergegeben und
verteilt werden. UKAWP ist Freeware.



VI.   Autoren
=============

Michael Heydekamp <my@freexp.de> - Idee, Konzeption und Dokumentation
Martin Wodrich    <mw@freexp.de> - Programmierung, Tests



VII.  Disclaimer
================

nderungen vorbehalten, keine Garantien, Benutzung auf eigene Gefahr.
Feedback, Fragen, Anregungen, Bugreports etc. an <support@freexp.de>.

"CrossPoint" ist eine eingetragene Marke von Peter Mandrella.
"UKAW(g)" und "UKAD(g)" (c) 1999-2005 by Thomas Gohel



VIII. Versionsgeschichte
========================

v1.01  (21.01.2006)
-------------------
 - Ausfhrliche Dokumentation unter Bercksichtigung aktueller
   Erkenntnisse (UKAW/UKAD-Bugs mit gefalteten Headerzeilen)
 - Untersttzung von UKAD
 - UKAW/UKAD-Versionsnummer wird von "vX.XXg" auf "vX.XXp" gepatcht
 - Entfernung der Schalter "/x-xp" und "/x-rfc" wegen der Gefahr
   der Erzeugung defekter Headerzeilen (Bugs in UKAW/UKAD)
 - Das Programm wird erst auf Tastendruck gestartet bzw. der Start kann
   mit <Esc> verhindert werden.

v1.00  (09.06.2005)
-------------------
 - Erste Version des Patches (nur fr UKAW bis v3.50)
