Anzeige

25 Jahre alter Unix-Fehler behoben

Fehler betrifft alle BSD-Varianten

OpenBSD-Entwickler Marc Balmer hat einen Fehler im Betriebssystem, der bereits seit 1983 besteht, behoben. Der Fehler hatte zur Folge, dass ein Samba-Server abstürzte, wenn er Dateien von einem MS-DOS-Dateisystem anbieten sollte. Laut Balmer findet sich der Fehler in allen BSD-Varianten.

Aufmerksam gemacht wurde Balmer durch einen OpenBSD-Anwender, der ihm berichtete, dass der Samba-Dateiserver abstürzte, als er ein MS-DOS-Dateisystem freigeben sollte. Dabei handelte es sich um einen selbstkompilierten Samba, nicht um ein OpenBSD-Paket, berichtet Balmer in seinem Blog. Dennoch wollte er das Problem verfolgen.

Anzeige

Die Samba-Entwickler, mit denen Balmer Kontakt aufnahm, gaben an, dass ihre Software tatsächlich einen Workaround nutzt, um auf BSD-Systemen auf die Verzeichnisse zuzugreifen. Der Programmcode zum Lesen von Verzeichnissen sei in allen BSDs fehlerhaft.

Samba verwendet die Funktionen telldir()/readdir() sowie seekdir()/readdir(), um einen internen Cache aufzubauen, was vor allem dazu dient, den Verzeichniszugriff für Windows-Clients zu beschleunigen. Dafür geht die Software mit readdir() wiederholt über ein Verzeichnis und speichert die Werte intern. Später werden diese Daten genutzt, um mit seekdir() die Verzeichnisposition aufzufinden und mit readdir() die eigentlichen Daten zu lesen. Wird nun zwischen dem Erstellen des Caches und dem Zugriff eine Datei entfernt, kann es vorkommen, dass der Cache nicht mehr an die richtige Stelle zeigt, womit telldir() nicht mehr richtig funktioniert.

Samba verwendet daher einen Workaround, in dessen Kommentar steht, dass FreeBSD, OpenBSD und eventuell auch NetBSD die unlink()-Funktion nicht richtig handhaben. Durch die Änderungen am Quelltext würden auch Leistungs- und Speicherprobleme unter BSD behoben.

Während sich das Leistungsproblem zumindest für OpenBSD als nicht vorhanden entpuppte, untersuchte Balmer den seekdir()-Fehler weiter, fand ihn und behob ihn. Tatsächlich gaben die Funktionen unter Umständen falsche Werte zurück. Dieser Fehler entstand allerdings schon, als 4.2BSD veröffentlicht wurde - im August 1983. Laut Balmer steckt er daher in allen BSD-Varianten, also auch in MacOS X.

Der für seine Arbeit an BSD bekannte Marshall Kirk McKusick, der die *dir()-Bibliothek entwickelt hat, schrieb an Balmer: "du hast vermutlich einen meiner Fehler behoben :-)". Bevor es die *dir()-Befehle gab, griffen Programme einfach direkt auf Verzeichnisse zu. Damals habe er 22 Programme - ein hoher Prozentsatz der vorhandenen Unix-Programme dieser Zeit - aktualisieren müssen, damit sie die *dir()-Aufrufe verwenden, schreibt McKusick.

Balmer hat den Fehler nach eigenen Angaben auch FreeBSD, NetBSD und DragonflyBSD gemeldet, die ihn bereits behoben haben. Bei Apple kenne er niemanden, sie würden es schon mitbekommen, schreibt er in den Kommentaren zu seinem Blog-Eintrag.


eye home zur Startseite
phpwutz 13. Jun 2008

naja, sind ja News - die solln ja auch interessant klingen, nicht? also einfach mal ein...

Peter Smith 15. Mai 2008

siehe Themazeile

X-Man 14. Mai 2008

Unbekannter Golem.de-Mitarbeiter: "DU SOLLST SCHEISSE FRESSEN !!!"

Lord_Pinhead 14. Mai 2008

telnet irc.phat-net.de 6667 auf Dos macht doch Spaß >:p Wozu etwas anderes Starten...

Lord_Pinhead 14. Mai 2008

Würde mich auch nicht interessieren ;) Und wer sich darüber aufregt das eine News für...

Kommentieren



Anzeige

  1. Architect Microsoft Exchange / Lotus Notes (m/w)
    T-Systems International GmbH, Leinfelden-Echterdingen, Bonn, Bremen, Hamburg, München
  2. Fachanalyst/in
    Landeshauptstadt München, München
  3. Junior-Entwickler Microsoft Dynamics NAV (m/w)
    ORBIT, Bonn
  4. (Junior) Technical Consultant Automotive Vernetzte Dienste (m/w)
    T-Systems on site services GmbH, München, Gaimersheim, Leinfelden-Echterdingen

Detailsuche



Anzeige
Top-Angebote
  1. NEU: Blu-rays zum Sonderpreis
  2. NEU: 6 Blu-rays für 30 EUR
    (u. a. Der Hobbit, Der Herr der Ringe, Departed, Conjuring, Gran Torino)
  3. NEU: Angebote der Woche bei notebooksbilliger.de

Weitere Angebote


Folgen Sie uns
       

  1. Telefónica

    Nutzer im E-Plus-Netz surfen bald langsamer

  2. Download

    Netflix-Offline soll wohl noch dieses Jahr kommen

  3. Neue Windows Server

    Nano bedeutet viel mehr als einfach nur klein

  4. B150M Mortar Arctic

    MSI bringt weißes und günstiges Mainboard

  5. Homeland Security

    Frage nach Facebook-Konto bei Einreise in die USA geplant

  6. Weltraumteleskop

    Nasa verlängert Hubble-Mission

  7. Freedom 251

    3,30-Euro-Smartphone soll am 30. Juni kommen

  8. Mobiles Internet

    Telefónica schaltet LTE-Netz im Untergrund zusammen

  9. Videostreaming

    Fire TV spielt Amazons Videos wieder mit Mehrkanalklang

  10. Markenrechte

    Comodo will keine Rechte an Let's Encrypt



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Telefonabzocke: Dirty Harry erklärt mein Windows für kaputt
Telefonabzocke
Dirty Harry erklärt mein Windows für kaputt
  1. Security Ransomware-Bosse verdienen 90.000 US-Dollar pro Jahr
  2. Security-Studie Mit Schokolade zum Passwort
  3. Festnahme und Razzien Koordinierte Aktion gegen Cybercrime

Schulunterricht: "Wir zocken die ganze Zeit Minecraft"
Schulunterricht
"Wir zocken die ganze Zeit Minecraft"
  1. MCreator für Arduino Mit Klötzchen LEDs steuern
  2. Lifeboat-Community Minecraft-Spieler müssen sich neues Passwort craften
  3. Minecraft Befehlsblöcke und Mods für die Pocket Edition

Oneplus Three im Test: Ein Alptraum für die Android-Konkurrenz
Oneplus Three im Test
Ein Alptraum für die Android-Konkurrenz
  1. Android-Smartphone Diskussionen um Speichermanagement beim Oneplus Three
  2. Smartphones Oneplus soll keine günstigeren Modellreihen mehr planen
  3. Ohne Einladung Oneplus Three kommt mit 6 GByte RAM für 400 Euro

  1. Können E-Plus Nutzer weiterhin LTE nutzen?

    03040 | 12:58

  2. Re: Ich bin gespannt auf Zen (und Bristol Ridge)...

    Bouncy | 12:58

  3. Re: Bluetooth muss standard werden!

    Phreeze | 12:56

  4. Re: Dann kauft halt kein iPhone!

    DaObst | 12:56

  5. Re: Man muss schon die Namen der Eltern angeben

    AllAgainstAds | 12:56


  1. 12:45

  2. 12:29

  3. 12:05

  4. 12:02

  5. 11:36

  6. 11:27

  7. 11:21

  8. 10:56


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel