einklich.net  > Usenet > Netscape

26. Feb. 2004

Navigation:

Das Nutznetz

Mit Netscape im Nutznetz

Was macht Netscape falsch?

Wenn du weißt, was eine Message-ID ist, kannst du hier weiterlesen. Ansonsten muss ich erst einmal etwas ausholen - Achtung, jetzt kommt ein bisschen Technik.

Jeder Artikel im Usenet besitzt sozusagen ein amtliches Kennzeichen, die sogenannte Message-ID. Die steht im „Briefkopf“ und wird vom Newsreader normalerweise nicht mit dargestellt - in Netscape nur dann, wenn du Ansicht|Kopfzeilen|alle anwählst (dann heißt sie „Nachrichten-ID“) oder dir mit Strg-U die Originalfassung des Artikels ansiehst (so geht der über das Netz!).

Ein Newsserver kann unterschiedliche Artikel nur anhand ihrer Message-IDs auseinanderhalten. Daher ist es sehr wichtig, dass jede Message-ID wirklich im gesamten Usenet nur einem einzigen Artikel gehört. Und zwar nicht nur heute, sondern mindestens zwei Jahre in die Vergangenheit und in die Zukunft (das ist die Minimal-Anforderung. Am Besten natürlich für immer).

Sonst könnte Folgendes passieren:

Folgendes Szenario ist zugegebenermaßen sehr unwahrscheinlich, aber eben nicht völlig ausgeschlossen.

Ein User, nennen wir ihn Daniel, schreibt um 18 Uhr einen Artikel und schickt ihn ab. Sein Newsreader vergibt dafür die Message-ID, sagen wir, <alw8e4fav1waf@newsserver.de>. Normalerweise ist er innerhalb von wenigen Minuten im gesamten Usenet verteilt, da die Server ständig in Kontakt sind. So weit, so schön.

Um 18.03 schreibt ein anderer User namens Thorsten ebenfalls einen Artikel in eine komplett andere NG zu einem komplett anderen Thema, schickt ihn ab - und der Server seines Providers verweigert die Annahme, weil Thorstens Newsreader sich zufällig auch für die Message-ID <alw8e4fav1waf@newsserver.de> entschieden hat! Der Server sieht sich nur die Message-ID an und sagt: "Den Artikel hab ich schon, danke!"

Thorsten wundert sich, aber er schreibt gleich einen neuen Artikel mit dem selben Inhalt, der eine andere Message-ID bekommt und daher wahrscheinlich durchgehen wird - und erzählt abends seinen Kumpels was über die schlechte Software, die mal geht und mal nicht. Aber nichts Schlimmes ist passiert.

Wenn Daniel und Thorsten aber ihre Artikel fast gleichzeitig abschicken (d.h. innerhalb weniger Minuten), wird - rein statistisch - das halbe Usenet mit Thorstens Artikel und die andere Hälfte mit Daniels Artikel beglückt werden.

Und jetzt kommt's noch schlimmer. Ein dritter User, nämlich Marcus, schreibt eine Antwort auf Thorstens Artikel und schickt sie ab. Im "Briefkopf" von Marcus' Artikel steht jetzt: "Dies ist ein Followup auf Message-ID: <alw8e4fav1waf@newsserver.de>". Das kommt natürlich auch auf alle Server, die unter dieser Message-ID nicht Thorstens, sondern Daniels Artikel gespeichert haben. Diesen Servern bleibt jetzt nichts anderes übrig (Computer sind ja doof), als allen ihren Usern (also der halben weltweiten Usenet-Gemeinde) Marcus' Artikel als Antwort auf Daniels Artikel zu verkaufen, worauf Marcus wahrscheinlich mehrere böse E-Mails erhält, wie er denn so einen völlig themenfremden Scheiß hat schreiben können - und sich seinerseits schwer wundert, was die alle von ihm wollen, denn auf "seinem" Server stimmt die Zuordnung!

Und wie vermeidet man das?

Man geht ungefähr so vor wie bei deutschen Kfz-Kennzeichen. Dort gibt es viele nummernvergebende Stellen, für jede Stadt und jeden Landkreis eine. Dabei ist der Teil vor dem Bindestrich jeder Stelle fest zugeordnet, den Teil dahinter kann sie sich ausdenken (natürlich jede Kombination nur ein Mal). Ohne dass sich die vielen Stellen ständig absprechen müssen, ist auf diese Weise eine Eindeutigkeit garantiert - Kennzeichen, die mit S- beginnen, werden eben nur von der entsprechenden Stuttgarter Behörde vergeben, und die verlässt sich darauf, dass keine andere Stelle spaßeshalber Kennzeichen mit S- ausgibt.

Bei den Message-IDs ist es ähnlich (nur umgekehrt). Eine Message-ID besteht aus zwei Teilen, die durch ein "@" getrennt sind - deshalb sieht sie ein wenig aus wie eine E-Mail-Adresse. Das @ entspricht dem Bindestrich in den Kfz-Kennzeichen. In diesem Fall ist es aber der Teil hinter dem @, der nur von einer einzigen ID-vergebenden Stelle verwendet werden darf (so wie das S für Stuttgart). Diesen hinteren Teil nennt man FQDN [Fully Qualified Domain Name], und das muss ein gültiger, dieser Stelle gehörender Domain-Name sein. Den Teil davor kann sich diese ID-vergebende Stelle dann ausdenken, wie die Stuttgarter Kfz-Meldestelle - aber jede Kombination nur ein Mal, versteht sich.

Verstanden. Und was macht mein Netscape jetzt falsch?

Er erzeugt für jeden Artikel selbst eine Message-ID und benutzt für den hinteren Teil, also den FQDN, einfach den hinteren Teil deiner E-Mail-Adresse. Wenn du z.B. eine Adresse auf "gmx.de" hast, gehen auch all deine Usenet-Artikel mit Message-IDs in der Form: <irgendwas-ausgedachtes@gmx.de> raus. Wenn du bedenkst, wie viele User GMX-Mailaccounts haben, und wie viele Netscapes diesen FQDN, der nicht ihnen gehört, für eine Message-ID missbrauchen, dann ist es nur eine Frage der Wahrscheinlichkeit, wann sich mal zufällig zwei Netscapes den selben vorderen Teil ausdenken - und das Nutznetz wird unbenutzbar.

(Der einzige Fall, in dem das geht (und den die Netscape-Entwickler wahrscheinlich als Normalfall angenommen haben), ist der, dass du eine E-Mail-Adresse auf einer Domain hast, die dir selbst gehört, etwa in der Form "post-an-mich@mein-name.de". Dann enden alle Message-IDs mit dem FQDN "mein-name.de", der in diesem Fall ja wirklich eindeutig dir gehört - und alles ist in Ordnung, deine Message-IDs sind gültig. Aber auch wirklich nur dann!)

Und was mache ich dagegen?

Das Erzeugen von Message-IDs kannst du Netscape auf drei Arten abgewöhnen:

  1. Du setzt unter Bearbeiten | Einstellungen | Mail und Foren deine Mailadresse in "Anführungszeichen"

  2. Du fügst an der selben Stelle einen Leerschritt hinten an deine Mailadresse an.

Diese beiden Maßnahmen (welche bei dir funktioniert, kommt auf deine Netscape-Version an - musst du ausprobieren) sorgen dafür, dass der Programmteil, der die Message-ID erzeugen soll, „stecken bleibt“. Es wird also keine Message-ID mehr erzeugt.

Nachteil: Auch der Absender-Eintrag deiner E-Mails sieht jetzt anders aus. Darauf könnte dein Mailserver allergisch reagieren. Dann solltest du die nächste Möglichkeit nutzen:

  1. Es gibt ein Patch für das Netscape-Programm. Das baut den Netscape so um, dass er zwar weiterhin eine Message-ID erzeugt, diese Headerzeile aber anders nennt - sie heißt dann nicht mehr „Message-ID“, sondern „X-Messy-ID“ und wird nicht als Message-ID gewertet.

    Herunterladen kannst du das Patch bei http://whdkramer.home.pages.de/hamster/ncmidoff.zip.

    Dies sollte in den meisten Fällen die einfachste Variante sein, und es gibt bei Mails keine Probleme. Beachte aber die beiliegende Gebrauchsanweisung ncmidoff.txt - und mach von der Datei netscape.exe vorher eine Sicherungskopie!

Zum Ausprobieren schickst du einen Artikel an de.test und schaust dir die Message-ID an (Strg-U) - wenn sie nach dem @ anders lautet als deine E-Mail-Adresse im Absender, hattest du Erfolg.

Dein Artikel geht dann ohne Message-ID an deinen Einwahl-Newsserver, worauf dieser (dazu ist er verpflichtet) ihm sofort eine Message-ID verpasst - mit seinem FQDN, der garantiert gültig ist.

Bei T-Online sieht das dann z.B. so aus: "Message-ID: <8co4ps$b3p$1@news00.btx.dtag.de>". Das ist weltweit eindeutig, solange dieser Server (der als einziger auf der Welt den FQDN "news00.btx.dtag.de" verwenden darf) den vorderen Teil "8co4ps$b3p$1" nicht noch einmal vergibt, aber das passiert i.d.R. nicht, weil darin eine Zeitcodierung enthalten ist.