# FreeBSD/i386 4.11-RELEASE Release Notes

### The FreeBSD Project

Copyright © 2000, 2001, 2002, 2003, 2004, 2005 The FreeBSD Documentation Project

Copyright © 2002, 2003, 2004, 2005 The FreeBSD German Documentation Project

$FreeBSD$

Die Release Notes für FreeBSD 4.11-RELEASE enthalten eine Übersicht über alle Änderungen in FreeBSD seit der Version 4.10-RELEASE. Die Liste umfasst sowohl die Änderungen des Kernels als auch Änderungen der Benutzerprogramme; dazu kommen alle Sicherheitshinweise, die seit der letzten Version herausgegeben wurden. Einige kurze Anmerkungen zum Thema Aktualisierung wurden ebenfalls aufgenommen.

## 1. Einführung

Dieses Dokument enthält die Release Notes für FreeBSD 4.11-RELEASE auf i386 Systemen. Es beschreibt die Komponenten von FreeBSD, die seit 4.10-RELEASE hinzugefügt (oder geändert) wurden. Außerdem erhalten Sie Hinweise für die Aktualisierung Ihres FreeBSD-Systems.

Diese Distribution von FreeBSD 4.11-RELEASE ist eine release Distribution. Sie können Sie von ftp://ftp.FreeBSD.org/ und allen seinen Mirrors erhalten. Weitere Informationen, wie Sie diese (oder andere) release Distributionen von FreeBSD erhalten können, finden Sie im Anhang ``Bezugsquellen für FreeBSD'' des FreeBSD Handbuchs.

## 2. Neuerungen

Dieser Abschnitt beschreibt die für den Anwender offensichtlichsten Neuerungen und Änderungen in FreeBSD seit 4.10-RELEASE. Die Einträge dokumentieren neue Treiber bzw. Unterstützung für neue Hardware, neue Befehle oder Optionen, die Behebung wichtiger Fehler, und Aktualisierungen von Software Dritter. Sicherheitshinweise, die nach dem Erscheinen von 4.10-RELEASE herausgegeben wurden, sind ebenfalls aufgeführt.

### 2.1. Sicherheit

Bei der Abarbeitung verschiedener Linux-Systemaufrufe wurde ein Fehler behoben, der dazu führen konnte, dass ohne vorherige Prüfung auf Teile des Speichers zugegriffen werden konnte. Weiteres entnehmen Sie bitte dem Sicherheitshinweis FreeBSD-SA-04:13.

Eine Reihe von Programmierfehlern in CVS wurden durch die Aktualisierung auf CVS 1.11.17 behoben. Die Fehler gaben ungewollt Informationen preis, boten Möglichkeiten zu Denial-of-Service Angriffen und eventuell zur Ausführung beliebigen Codes. Weiteres lesen Sie bitte im Sicherheitshinweis FreeBSD-SA-04:14 nach.

Ein Fehler des Werkzeugs fetch(1) wurde behoben. Der Fehler erlaubte es böswilligen HTTP-Servern, beliebige Speicherbereiche des Clients zu überschreiben. Einzelheiten entnehmen Sie bitte dem Sicherheitshinweis FreeBSD-SA-04:16.

Ein Fehler in procfs(5) und linprocfs(5) wurde behoben. Ein böswilliger lokal angemeldeter Benutzer konnte die Verfügbarkeit des Systems durch Panics einschränken (Denial of Service) oder Teile des Kernelspeichers lesen. Weiteres entnehmen Sie bitte dem Sicherheitshinweis FreeBSD-SA-04:17.

### 2.2. Änderungen im Kernel

Der neue Treiber cp(4) unterstützt synchrone serielle Schnittstellenkarten der TAU-PCI Familie von Cronyx.

In mmap(2) wurde ein Fehler beseitigt, durch den mit PROT_NONE markierte Seiten unter bestimmten Umständen für den Lesezugriff freigegeben wurden.

Es wurden Fehler in den Funktionen `vm_object_madvise()`, `vm_object_sync()` und`contigmalloc()` der FreeBSD Speicherverwaltung beseitigt. Die Fehler in den Funktionen `vm_object_madvise()` und `vm_object_sync()` führten in verschiedenen Fällen zu falschen Speicherinhalten. Ein Fehler in der Funktion `contigmalloc()` konnte einen Stillstand (Panic) verursachen.

#### 2.2.1. Unterstützung für Prozessoren und Mainboards

Der Treiber pbio(4) wurde hinzugefügt. Er ermöglicht direkten Zugriff auf Intels 8255A Programmable Peripheral Interface (PPI) Chip im Modus 0 (simple I/O).

#### 2.2.2. Netzwerke und Netzwerkkarten

Der neue Treiber axe(4) unterstützt USB-Netzwerkkarten auf Basis des ASIX Electronics AX88172 USB 2.0 Chipsatzes.

Der Treiber bge(4) unterstützt jetzt auch Karten auf Basis der BCM5750 und BCM5751 Chipsätze.

Der Treiber em(4) unterstützt nun die die PCI Express Adapter 82541ER und 82546GB mit zwei Ports.

Der Treiber ixgb(4) wurde hinzugefügt. Der Treiber unterstützt PCI Gigabit Ethernet-Karten, die über einen Intel 82597EX Ethernet Controller verfügen.

Die neue Netgraph-Node ng_hub(4) unterstützt eine einfache Verteilung von Paketen, ähnlich einem Ethernet-Hub.

Im Treiber sk(4) wurde ein Fehler in der Handhabung von Jumbo-Frames behoben.

Der Treiber vr(4) unterstützt jetzt den polling(4) Modus.

Der polling(4) Modus kann jetzt für jedes Interface separat aktiviert werden. Diese Erweiterung wird zurzeit von den Treibern dc(4), fxp(4), em(4), nge(4), re(4), rl(4), sis(4), ste(4) und vr(4) unterstützt. Die Erweiterung wird mit ifconfig(8) gesteuert.

Ein Systemabsturz (panic), der auftrat, wenn net.inet.ip.rtexpire und/oder net.inet6.ip6.rtexpire auf 0 gesetzt waren, ist behoben.

#### 2.2.3. Netzwerk-Protokolle

Für die Auswahl eines nicht-privilegierten Ports wird jetzt eine von OpenBSD stammende Routine verwendet. Diese Routine ist standardmäßig aktiviert und kann über die Sysctl-Variable net.inet.ip.portrange.randomized abgeschaltet werden. Die zufällige Auswahl der Ports führt bei hohen Verbindungsraten zu einer schnellen Wiederverwendung von Ports und kann Probleme bereiten. Um die Sicherheit zufälliger Ports zu behalten, wird diese Funktion bei hohen Verbindungsraten abgestellt. Wenn die Verbindungsrate den Wert der Sysctl-Variablen net.inet.ip.portrange.randomcps (Vorgabe ist 10) übersteigt, wird die Funktion für die durch die Sysctl-Variablen net.inet.ip.portrange.randomtime gegebene Dauer (Vorgabe 45 Sekunden) abgestellt.

ipfw(4) unterstützt jetzt Lookup-Tables. Diese Erweiterung ist sehr nützlich, wenn große Mengen Adressen verarbeitet werden müssen, die sich nicht zusammenfassen lassen.

ipnat(8) besitzt nun Regeln, die andere als TCP- oder UPD-Pakete umleiten.

Die Handhabung von RST-Paketen im FreeBSD TCP/IP-Stack wurde verbessert. Die Änderung erschwert Angriffe und bleibt dennoch kompatibel zu den meisten TCP/IP-Stacks. Der verwendete Algorithmus lässt sich wie folgt beschreiben: Verbindungen im Zustand ESTABLISHED akzeptieren nur RST-Pakete mit der Sequenznummer (sequence number) aus last_ack_sent. Alle anderen Pakete werden verworfen. Verbindungen in anderen Zuständen werden beim Empfang eines RST-Pakets beendet; weitere Pakete werden verworfen. Dieser Algorithmus verletzt den RFC 793. Sie können das alte Verhalten aktivieren, wenn Sie die neue Sysctl-Variable net.inet.tcp.insecure_rst auf 1 setzen.

#### 2.2.4. Festplatten und Massenspeicher

Neu ist der Treiber ips(4). Der Treiber unterstützt IBM/Adaptec ServeRAID Controller.

Der Treiber mpt(4) unterstützt nun die LSI Logic FC929X Dual 2Gb/s Fibre Channel Karte.

Der Treiber trm(4) unterstützt nun DC395U2W-Controller. Die Probleme mit hohen Auslastungen sind behoben.

### 2.3. Benutzerprogramme

Wird cron(8) mit der neuen Option -j aufgerufen, verzögert das Programm die Ausführung von Cron-Jobs für normale Benutzer um eine kurze, zufällige Zeitspanne. Die ebenfalls neue Option -J stellt dieselbe Funktion für Cron-Jobs des Super-Users bereit. Zweck dieser Erweiterung ist es, Lastspitzen zu vermeiden, wenn viele Cron-Jobs zum gleichen Zeitpunkt starten sollen.

Der neue Schalter -m von fwcontrol(8) gibt nun das fwmem-Ziel vor.

Die Variable $inetd_flags in `/etc/defaults/rc.conf` enthält nun standardmäßig die Option -C 60.

Die Bibliothek libc stellt nun eui64(3) Funktionen bereit.

Die von ppp(8) genutzten Routinen für Link Quality Monitoring (LQM) wurden vollständig neu geschrieben. Das in RFC 1989 beschriebene LQM erlaubt PPP, die Qualität der Verbindung zu überwachen.

Wird bei ppp(8) das neue Kommando ``set rad_alive N'' benutzt, werden in regelmäßigen Abständen RADIUS Accounting Informationen an den RADIUS-Server gesendet.

In rarpd(8) wurde ein Fehler behoben, der verhinderte, dass der Dienst richtig lief, wenn eine Netzwerk-Schnittstelle mehr als eine IP-Adresse hatte.

syslogd(8) kennt nun die Facility LOG_NTP.

In pax(1) wurden verschiedene ``off-by-one'' Fehler und Pufferüberläufe entfernt.

Mit whois(1) lassen sich nun NORID (die norwegische Registrierungsstelle) und der deutsche whois-Server abfragen. Mit dem Schalter -k lässt sich die koreanische Registrierungsstelle `whois.krnic.net` (National Internet Development Agency of Korea) abfragen.

### 2.4. Zusätzliche Software

CVS wurde von der Version 1.11.15 auf die Version 1.11.17 aktualisiert.

sendmail wurde von der Version 8.12.11 auf die Version 8.13.1 aktualisiert.

Die Quellen von GNU patch wurden aus dem Verzeichnis `src/contrib/patch` entfernt. FreeBSD benutzt schon seit fast sieben Jahren die Quellen aus dem Verzeichnis `src/gnu/usr.bin/patch`.

Die Datenbank für die Zeitzonen wurde von der Version tzdata2004e auf die Version tzdata2004g aktualisiert.

### 2.5. Erzeugung von Releases und Integration

GNOME wurde von der Version 2.6 auf die Version 2.8.2 aktualisiert. Eine Liste der Änderungen jeder Komponente enthält die Nachricht unter der URL http://mail.gnome.org/archives/gnome-announce-list/2004-December/msg00026.html.

KDE wurde von der Version 3.2.2 auf die Version 3.3.2 aktualisiert.

Die Benutzerwerkzeuge der Linux-Binärkompatibilität wurden von `linux_base-6` (beruht auf Red Hat Linux 7.1) auf `linux_base-8` (beruht auf Red Hat Linux 8.0) aktualisiert.

Die Release des X Window System wurde auf XFree86 4.4.0 aktualisiert. Xorg X11R6.8.1 steht in der Ports-Collection zur Verfügung (`x11/xorg`).

Die Variable NOSECURE wurde aus der Datei `make.conf` entfernt. Sie konnte nicht mehr benutzt werden und wurde auch nicht mehr gepflegt. Wenn Sie die Variable NOSECURE benutzt haben, benutzen Sie stattdessen die Variable NOCRYPT.

## 3. Aktualisierung einer älteren Version von FreeBSD

Wenn Sie eine ältere Version von FreeBSD aktualisieren wollen, haben Sie drei Möglichkeiten:

- Die binäre Aktualisierung mit sysinstall(8). Diese Variante benötigt die wenigste Zeit, allerdings geht sie davon aus, dass Sie keine Optionen zur Kompilierung von FreeBSD genutzt haben.

- Die komplette Neuinstallation von FreeBSD. Dadurch führen Sie natürlich keine echte Aktualisierung durch und es ist auf jeden Fall nicht so bequem wie die binäre Aktualisierung, da Sie ihre Konfigurationsdaten in `/etc` selbst sichern und wiederherstellen müssen. Dennoch kann diese Option sinnvoll sein, wenn Sie die Aufteilung der Partitionen ändern wollen oder müssen.

- Mit dem Quellcode in `/usr/src`. Diese Variante ist flexibler, benötigt aber mehr Plattenplatz, Zeit, und Erfahrung. Weitere Informationen zu diesem Thema finden Sie im Kapitel ``Das komplette Basissystem neu bauen'' des FreeBSD Handbuchs. Eine Aktualisierung einer sehr alten Version von FreeBSD kann mit Problemen verbunden sein; in diesen Fällen ist es effektiver, eine binäre Aktualisierung oder eine komplette Neuinstallation durchzuführen.

Bitte lesen Sie den Inhalt der Datei `INSTALL.TXT` und zwar bevor Sie mit der Aktualisierung beginnen. Wenn Sie den Quellcode zur Aktualisierung nutzen, sollten Sie auf jeden Fall auch `/usr/src/UPDATING` lesen.

Zum guten Schluss: Wenn Sie auf eine der möglichen Arten die FreeBSD-Entwicklungszweige -STABLE oder -CURRENT nutzen, sollten Sie auf jeden Fall das Kapitel ``-CURRENT vs. -STABLE'' im FreeBSD Handbuch lesen.

> Wichtig: Sie sollten vor der Aktualisierung von FreeBSD auf jeden Fall Sicherheitskopien aller Daten und Konfigurationsdateien anlegen.

Diese Datei und andere Dokumente zu dieser Version sind bei ftp://ftp.FreeBSD.org/verfuegbar.

Wenn Sie Fragen zu FreeBSD haben, lesen Sie erst die Dokumentation, bevor Sie sich an <de-bsd-questions@de.FreeBSD.org> wenden.

Wenn Sie Fragen zu dieser Dokumentation haben, wenden Sie sich an <de-bsd-translators@de.FreeBSD.org>.