Joachim Merkel <[EMAIL PROTECTED]> wrote on 26.06.04:

> Michael Heydekamp ([EMAIL PROTECTED]) schrieb:

> ["X-XP-Box"]
>> Augenscheinlich ist das ein Nachtragsfix f�r die umfangreichen
>> �nderungen zum Thema "forcebox" vom 24.04.2002, deren Dokumentation
>> f�r sich genommen schon nicht alle Szenarien vollst�ndig beschreibt
>> (weil viel zu viele).

> Das ist insofern f�r mich eine neuer Ansporn, mich auch mal
> wieder mit forcebox zu befassen, das war ja seinerzeit eine
> Riesengeschichte. Mir ist dabei n�mlich vor kurzem gelungen
> eine Nachricht komplett zu verhunzen, mal sehen, ob ich das
> reproduzieren kann.

Ok, la� h�ren.

>> Erst sp�ter habe ich mich nochmal dieses Themas angenommen und selbst
>> weitere umfassende �nderungen vorgenommen, die aber noch nicht fertig
>> und daher auch noch nicht committet sind.

> Das ist mir auch noch in Erinnerung, da� es nur vorl�ufig
> abgeschlossen wurde.

Zum Zeitpunkt des urspr�nglichen forcebox-Commits hatten wir schon
gedacht, alles erschlagen zu haben.

Was aber seinerzeit �berhaupt nicht bedacht und getestet wurde, waren
z.B. Dinge wie Verteiler (die User mit adre�-inkompatiblen Netztypen
enthalten k�nnen) und Antworten auf Postings mit Followup-To:-Header,
bei denen XP sog. "Phantom-Server" erzeugt bzw. verwendet.

Beides extrem aufwendig in den Griff zu kriegen, da habe ich schon
seitenweise Routinen komplett neu geschrieben.  Das betrifft nicht nur
forcebox, sondern das gesamte Handling von Followup-To: und Verteilern
an sich.

Ich h�nge mal einen Ausschnitt (!) der hier dazu bereits dokumentierten
�nderungen dran, das gibt vielleicht einen kleinen Eindruck.

Mir graut schon davor, daran wieder ankn�pfen zu m�ssen...

> Vielleicht stellen wir diesen snapshot-Eintrag insofern etwas
> unter Vorbehalt, indem man einen entsprechenden Hinweis eintr�gt.

Der Fix als solcher ist OK (es wurde halt nur f�r Fido etwas
nachtr�glich implementiert, was f�r die anderen Netztypen ohnehin
bereits implementiert war).

Man m��te wohl sagen, da� auch bei Fido jetzt "X-XP-BOX" erzeugt wird,
u.a. (!) mit der Folge, da� bei N/W/R aus Unversandt-Brett eine vorher
mit "o" im Sendefenster erzwungene Serverbox jetzt beachtet und nicht
mehr zur�ckgesetzt wird.  Die �brigen konkreten Folgen dokumentiert man
halt nicht, solange man sie nicht untersucht und zusammengetragen hat.

Getestet haben wir seinerzeit halt prim�r mit RFC und ZConnect.


        Michael
MY:
- Umfassende �nderungen und Korrekturen im Zusammenhang mit �ffentlichen
  Nachrichten (AMs), die Diskussion-In:-Header (RFC: Followup-To)
  enthalten:
  ----------------------------------------------------------------------
  1. Fix: Beim Beantworten mit "B" oder <Ctrl-B> werden jetzt immer die
     Schablonen (Kopf, Quote, Signatur) des Zielbretts verwendet.
     Existiert das Zielbrett nicht, werden die Schablonen des Bretts
     verwendet, in dem die zu beantwortende Nachricht liegt. Sind in der
     jeweiligen Brettgruppe keine Schablonen eingetragen, wird jetzt wie
     seit jeher in der Hilfe beschrieben die Standard-Quoteschablone
     QBRETT.XPS verwendet, die Kopf- und Signaturschablone entfallen.
     Bisher wurden immer die Schablonen des Quellbretts verwendet, und
     im Falle der Quote-Schablone die (falsche) Schablone QUOTETO.XPS,
     die eigentlich nur f�r Weiterleitungen gedacht ist. Relevant ist
     diese �nderung auch f�r das Beantworten von Nachrichten aus einem
     "MyMail"-Brett heraus.
  2. Fix: Eine Antwort auf eine �ffentliche Nachricht konnte unter
     zuf�lligen Umst�nden zu der Fehlermeldung "Unbekannte Serverbox:
     <Box> - Bitte �berpr�fen!" f�hren, wenn Zielbrett und Serverbox
     nicht (oder nicht mehr) existierten (Abfrage auf 'dbfound' fehlte).
     Eine Antwort war dann nicht mehr m�glich. :-(
  3. Fix: Bei einer Antwort in ein nicht existierendes Diskussion:-In-
     Brett wird jetzt nicht mehr die Stammbox als Serverbox benutzt,
     sondern die Box des Bretts, in dem die zu beantwortende Nachricht
     liegt. Bisher konnte es z.B. vorkommen, da� die Nachricht an eine
     Fido-Box gesandt wurde, obwohl es sich um eine Antwort auf ein RFC-
     Posting handelte.
  4. Fix: Bei einer Antwort auf eine Nachricht mit mehreren Diskussion-
     In:-Headern, von denen keines der Bretter bereits existierte, wurde
     die Nachricht gesplittet und es wurden �berfl�ssig viele Bretter
     angelegt. Jetzt wird die Nachricht als Crossposting
     zusammengehalten und nur das erste Brett angelegt.
  5. Fix: Bei demselben Szenario f�hrte der Aufruf des Kopien-Dialogs
     mit "k" und das anschlie�ende Verlassen mit <Esc> dazu, da� das
     Feld "Server" im Sendefenster leer war. Das erste Empf�ngerbrett
     wurde dann ohne Serverbox angelegt, die Nachricht an dieses Brett
     von den �brigen gesplittet und nur intern versandt. :-(
  6. Fix: Der Versuch eines Serverbox-Wechsels mit "o" im Sendefenster
     f�hrte zu keiner Reaktion (falls eines der Empf�ngerbretter bereits
     existierte) bzw. zu der Fehlermeldung "�nderung der Serverbox nicht
     m�glich - inkompatible Netztypen" (falls noch keines der Bretter
     existierte). Die Serverbox kann jetzt wie auch bei allen anderen
     Nachrichten ge�ndert und wieder zur�ckgesetzt werden; die sog.
     "Phantomserver" vor den Namen nicht existierender Bretter im
     Kopien-Dialog werden dabei jetzt automatisch angepa�t.
  7. Beim automatischen Anlegen eines nicht existierenden AM-Bretts
     wurde bisher die Brettgruppe verwendet, die das Quellbrett bzw. ein
     gleichnamiges und bereits gel�schtes, in der Datenbank aber noch
     vorhandenes Brett hatte.  Jetzt wird zus�tzlich darauf gepr�ft, ob
     die Brettgruppe gr��er "3" ist (und wenn nicht, das neue Brett mit
     Brettgruppe "3" angelegt), damit beim Beantworten aus MyMail-
     Brettern mit Brettgruppe "1" oder "2" nicht u.U. interne oder
     lokale AM-Bretter angelegt werden.
  XP4.PAS, XP6.PAS

MY:
- Fix: Sortierroutine f�r Kopienempf�nger-Liste komplett neu geschrie-
  ben. Es wird jetzt au�er der Serverbox auch der PM/AM-Status des
  Hauptempf�ngers ber�cksichtigt und die komplette Liste nach diesen
  beiden Kriterien zun�chst in "Bl�cke" gegliedert. Innerhalb jedes
  Blocks findet dann eine Sortierung nach Codierung (nur PMs) und
  Alphabet statt, wobei nicht existierende AM-Bretter mit "Phantom-
  servern" - k�nnen z.B. bei Nachrichten mit Diskussion-In:-Headern und
  Verteilern entstehen - hinter existierende Bretter sortiert werden.
  Damit ist jetzt endg�ltig gew�hrleistet, da� unter allen denkbaren
  Umst�nden alle Nachrichten zusammengehalten und als eine Nachricht
  (Cc: bzw. Crossposting) versandt werden, bei denen das netztechnisch
  m�glich und zul�ssig ist (ZC/RFC). Bisher konnten diverse Szenarien
  (z.B. das Hinzuf�gen weiterer Kopienempf�nger oder das Mischen von
  PM- und AM-Empf�ngern) immer noch dazu f�hren, da� die Nachrichten
  unn�tigerweise gesplittet (und damit mitunter auch unerw�nschte
  Bretter angelegt) wurden.
  Hinweis: Bei einer Antwort auf ein ZC/RFC-Posting mit einem oder
  -------- mehreren noch nicht in XP angelegten Diskussion-In:-Brettern
           und dem nachtr�glichen Hinzuf�gen einer Kopie an ein bereits
           angelegtes Brett mit derselben Serverbox wird die Nachricht
           zwar nicht mehr gesplittet, das erste nicht existierende
           Diskussion-In:-Brett aber trotzdem angelegt (obwohl dies
           aufgrund des nachtr�glich hinzugef�gten Bretts eigentlich
           nicht mehr n�tig w�re). Das ist Absicht, weil das als Kopie
           hinzugef�gte und bereits angelegte Brett nicht Bestandteil
           der urspr�nglichen Empf�ngerliste war und man i.d.R. den
           weiteren Verlauf der Diskussion im ersten Diskussion-In:-
           Brett weiterverfolgen m�chte (bestellt werden mu� dieses
           Brett dazu nat�rlich dennoch).
  XP6.PAS

MY:
- Neues read_verteiler beschreiben
  XPCC.PAS

MY:
- Umfassende �nderungen und Korrekturen im Zusammenhang mit dem
  Nachrichtenversand an Verteiler:
  ----------------------------------------------------------------------
  1. Fix: Der Versand �ber eine gemeinsame Serverbox an alle Empf�nger
     eines Verteilers (= Server im Verteiler eingetragen) wird nur noch
     dann durchgef�hrt, wenn alle Empf�nger demselben (bzw. im Falle
     einer RFC- oder ZConnect-Box einem adre�kompatiblen) Netztyp ange-
     h�ren wie die im Verteiler eingetragene Serverbox. Bisher konnte es
     z.B. passieren, da� Nachrichten an Fido-Empf�nger �ber eine RFC-
     Serverbox versandt wurden (bzw. wegen fehlerhafter Adressierung
     letztendlich eben nicht versandt wurden). Ist der Versand �ber eine
     gemeinsame Serverbox nicht m�glich, verh�lt sich XP jetzt so, als
     w�re im Verteiler gar keine Serverbox eingetragen gewesen (die
     Nachricht wird �ber die Serverboxen versandt, die den jeweiligen
     Empf�ngern in den Bretteinstellungen zugeordnet sind). Im Zusammen-
     hang mit der neuen Routine zum Sortieren von Kopienempf�ngern
     (s.o.) k�nnen damit jetzt in Verteilern AM- und PM-Empf�nger der
     unterschiedlichsten Netztypen gefahrlos und in beliebiger Reihen-
     folge miteinander gemischt werden - XP wird immer g�ltige und mit
     zueinander kompatiblen Daten (Absender, Empf�nger, Serverbox)
     versehene Nachrichten erzeugen und diese, soweit netztechnisch
     m�glich und zul�ssig, nicht unn�tig splitten, sondern als Mail mit
     Cc:-Empf�ngern bzw. als Posting mit Crossposting-Empf�ngern
     versenden.
  2. Fix: Bei einer Nachricht an einen Verteiler, der User unterschied-
     licher Serverboxen enthielt und bei dem aufgrund der im Verteiler
     eingetragenen Box eine gemeinsame Serverbox erzwungen wurde, f�hrte
     der Versuch, diese erzwungene Serverbox mit "o" und <Esc> zur�ckzu-
     setzen, zu einem leeren Feld "Server" im Sendefenster. Derselbe
     Effekt trat auf, wenn man mit "k" den Kopien-Dialog aufrief und
     einen weiteren Kopienempf�nger hinzuf�gte oder den Dialog mit <Esc>
     verlie�.
  3. Fix: Der Verteiler wird jetzt auf nicht (mehr) in XP vorhandene
     User/Bretter gepr�ft, ggf. eine Fehlermeldung ausgegeben sowie der
     Dialog zum Editieren des Verteilers aufgerufen, statt eine Nach-
     richt an nicht existierende User und/oder Bretter zu erzeugen. Nur
     wenn im Verteiler eine ZConnect- oder RFC-Serverbox eingetragen ist
     und es sich bei den nicht vorhandenen Eintr�gen ausschlie�lich um
     AM-Bretter handelt, dann wird stattdessen - unter Verwendung dieser
     Box als "Phantomserver" - die Nachricht als Crossposting versandt.
  4. Die im Verteiler enthaltenen User/Bretter werden nach dem Anlegen
     bzw. Editieren des Verteilers jetzt nicht mehr automatisch alpha-
     betisch sortiert; dadurch ist gew�hrleistet, da� der erste im
     Verteiler eingetragene Empf�nger immer auch der Hauptempf�nger der
     Nachricht wird (bisher war das vom User nicht zu beeinflussen).
     Ausnahme: Wenn der erste eingetragene Empf�nger ein nicht existie-
     rendes AM-Brett ist, sp�ter jedoch mindestens noch ein existieren-
     des AM-Brett folgt, das zum selben oder zu einem mit dem im Vertei-
     ler eingetragenen Server adre�kompatiblen und crosspostingf�higen
     Netztyp geh�rt, dann wird das existierende AM-Brett mit dem
     "�hnlichsten" Netztyp zum Hauptempf�nger und die Nachricht an das
     nicht existierende AM-Brett innerhalb der neuen Sortierroutine f�r
     Kopienempf�nger (s.o.) als Crossposting �ber den "Phantomserver"
     versandt. Damit wird vermieden, da� das nicht existierende AM-Brett
     neu angelegt wird.
  5. Im Verteiler k�nnen jetzt auch nicht existierende AM-Bretter
     hinzugef�gt werden, wenn dem Verteiler eine Serverbox eines
     crosspostingf�higen Netztyps zugewiesen ist.
  6. Verteiler-Nachrichten, bei denen der erste Empf�nger im Verteiler
     ein AM-Brett ist, werden in der Versandroutine jetzt auch als AMs
     statt als PMs behandelt (bisher bekam man z.B. bei den Zusatzfunk-
     tionen mit "u" im Sendefenster nicht den richtigen Dialog angeboten
     und konnte kein Followup-To: setzen, selbst wenn es sich beim
     ersten Empf�nger im Verteiler um eine RFC-Newsgroup handelte).
  7. Wenn es sich beim ersten Empf�nger eines Verteilers im Moment des
     Absendens um ein nicht in XP vorhandenes AM-Brett handelt, wird
     dieses jetzt mit Brettgruppe 3 (bisher: Brettgruppe 1) angelegt.
  8. Fix: Wenn der letzte in VERTEIL.DAT befindliche Verteiler nur mit
     einem statt mit zwei CRLFs abgeschlossen war, f�hrte ein Editieren
     dieses Verteilers in XP dazu, da� der bisherige letzte Eintrag in
     diesem Verteiler zu einem zus�tzlichen Eintrag des vorhergehenden
     Verteilers wurde.
  XP3.PAS, XP4W.INC, XP6.PAS, XPCC.PAS
------------------------------------------------------------------------
FreeXP Entwickler-Mailingliste
[EMAIL PROTECTED]
http://www.freexp.de/cgi-bin/mailman/listinfo/dev-list

Antwort per Email an