freebsd-dev/release/doc/en_US.ISO8859-1/relnotes/article.sgml
Hiroki Sato 716085e60c Update release notes:
SMP VFS enabled by default.
2005-02-23 16:37:22 +00:00

590 lines
22 KiB
Plaintext

<articleinfo>
<title>&os;/&arch; &release.current; Release Notes</title>
<corpauthor>The &os; Project</corpauthor>
<pubdate>$FreeBSD$</pubdate>
<copyright>
<year>2000</year>
<year>2001</year>
<year>2002</year>
<year>2003</year>
<year>2004</year>
<year>2005</year>
<holder role="mailto:doc@FreeBSD.org">The &os; Documentation Project</holder>
</copyright>
<abstract>
<para>The release notes for &os; &release.current; contain a summary
of the changes made to the &os; base system since &release.branch; is created.
This document lists applicable security advisories that were issued since
the last release, as well as significant changes to the &os;
kernel and userland.
Some brief remarks on upgrading are also presented.</para>
</abstract>
</articleinfo>
<sect1 id="intro">
<title>Introduction</title>
<para>This document contains the release notes for &os;
&release.current; on the &arch.print; hardware platform. It
describes recently added, changed, or deleted features of &os;.
It also provides some notes on upgrading
from previous versions of &os;.</para>
<![ %release.type.current [
<para>The &release.type; distribution to which these release notes
apply represents the latest point along the &release.branch; development
branch since &release.branch; is created. Some pre-built, binary
&release.type; distributions along this branch
can be found at <ulink url="&release.url;"></ulink>.</para>
]]>
<![ %release.type.snapshot [
<para>The &release.type; distribution to which these release notes
apply represents a point along the &release.branch; development
branch between &release.prev; and the future &release.next;. Some
pre-built, binary &release.type; distributions along this branch
can be found at <ulink url="&release.url;"></ulink>.</para>
]]>
<![ %release.type.release [
<para>This distribution of &os; &release.current; is a
&release.type; distribution. It can be found at <ulink
url="&release.url;"></ulink> or any of its mirrors. More
information on obtaining this (or other) &release.type;
distributions of &os; can be found in the <ulink
url="&url.books.handbook;/mirrors.html"><quote>Obtaining
&os;</quote> appendix</ulink> to the <ulink
url="&url.books.handbook;/">&os;
Handbook</ulink>.</para>
]]>
<para>All users are encouraged to consult the release errata before
installing &os;. The errata document is updated with
<quote>late-breaking</quote> information discovered late in the
release cycle or after the release. Typically, it contains
information on known bugs, security advisories, and corrections to
documentation. An up-to-date copy of the errata for &os;
&release.current; can be found on the &os; Web site.</para>
</sect1>
<sect1 id="new">
<title>What's New</title>
<para>This section describes
the most user-visible new or changed features in &os;
since &release.prev;.
In general, changes described here are unique to the &release.branch;
branch unless specifically marked as &merged; features.
</para>
<para>Typical release note items
document recent security advisories issued after
&release.prev.historic;,
new drivers or hardware support, new commands or options,
major bug fixes, or contributed software upgrades. They may also
list changes to major ports/packages or release engineering
practices. Clearly the release notes cannot list every single
change made to &os; between releases; this document focuses
primarily on security advisories, user-visible changes, and major
architectural improvements.</para>
<sect2 id="security">
<title>Security Advisories</title>
<para>A bug in the &man.fetch.1; utility which allows
a malicious HTTP server to cause arbitrary portions of the client's
memory to be overwritten, has been fixed.
For more information, see security advisory
<ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-04:16.fetch.asc">FreeBSD-SA-04:16.fetch</ulink>.
&merged;</para>
<para>A bug in &man.procfs.5; and &man.linprocfs.5;
which could cause a malicious local user could perform a local
denial of service attack by causing a system panic, or the user
could read parts of kernel memory, has been fixed.
For more information, see security advisory
<ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-04:17.procfs.asc">FreeBSD-SA-04:17.procfs</ulink>.
&merged;</para>
</sect2>
<sect2 id="kernel">
<title>Kernel Changes</title>
<para arch="i386">Support for 80386 processors (the
<literal>I386_CPU</literal> kernel configuration option) has
been removed. Users running this class of CPU should use &os;
5.<replaceable>X</replaceable> or earlier.</para>
<para>The loader tunable <varname>debug.mpsafevm</varname> has been
has been enabled by default.</para>
<para>&man.memguard.9;, a kernel memory allocator designed to help detect
<quote>tamper-after-free</quote> scenarios, has been added.
This must be explicitly enabled via <literal>options
DEBUG_MEMGUARD</literal>, plus small kernel modifications. It
is generally intended for use by kernel developers.</para>
<para>A number of bugs have been fixed in the ULE
scheduler. &merged;</para>
<para>Fine-grained locking to allow much of the VFS stack to run
without the Giant lock has been added. This is enabled by default
on alpha, amd64, and i386 architecture, and can be disabled
by setting the loader tunable (and sysctl variable)
<varname>debug.mpsafevfs</varname> to
<literal>0</literal>.</para>
<para arch="i386">A bug in Inter-Processor Interrupt (IPI)
handling, which could cause SMP systems to crash under heavy
load, has been fixed. More details are contained in errata note
<ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ERRATA/notices/FreeBSD-EN-05:03.ipi.asc">FreeBSD-EN-05:03.ipi</ulink>.
&merged;</para>
<para>System V IPC objects (message queues, semaphores, and shared
memory) now have support for Mandatory Access Control policies,
notably &man.mac.biba.4;, &man.mac.mls.4;, &man.mac.stub.4;, and
&man.mac.test.4;.</para>
<para arch="i386">Memory allocation for legacy PCI bridges has
been limited to the top 32MB of RAM. Many older, legacy bridges
only allow allocation from this range and this only applies
to devices which don't have their memory assigned by the BIOS.
This change fixes the <quote>bad Vcc</quote> error of CardBus
bridges (&man.pccbb.4;). &merged;</para>
<!-- Above this line, sort kernel changes by manpage/keyword-->
<sect3 id="boot">
<title>Boot Loader Changes</title>
<para arch="i386">A serial console-capable version of
<filename>boot0</filename> has been added. It can be written
to a disk using &man.boot0cfg.8; and specifying
<filename>/boot/boot0sio</filename> as the argument to the
<option>-b</option> option.</para>
<para arch="i386"><filename>cdboot</filename> now works around a
BIOS problem observed on some systems when booting from USB
CDROM drives.</para>
<para>The <command>autoboot</command> loader command
now supports the prompt parameter.</para>
<!-- Above this line, order boot loader changes by keyword-->
</sect3>
<sect3 id="proc">
<title>Hardware Support</title>
<para arch="sparc64">The &man.auxio.4; driver has been to drive
some auxiliary I/O functions found on various SBus/EBus
&ultrasparc; models. &merged;</para>
<para>A framework for flexible processor speed control has been
added. It provides methods for various drivers to control CPU
power utilization by adjusting the processor speed. More
details can be found in the &man.cpufreq.4; manual page.
Currently supported drivers include acpi_perf (ACPI CPU
performance states), ichss (Intel SpeedStep for ICH), and
acpi_throttle (ACPI CPU throttling).</para>
<para arch="i386">Support for the OLDCARD subsystem has
been removed. The NEWCARD system is now used for all PCCARD
device support.</para>
<para>The pcii driver has been added to support GPIB-PCIIA IEEE-488
cards.</para>
<para arch="i386">The &man.pbio.4; driver,
which supports direct access to
the Intel 8255A programmable peripheral interface (PPI)
chip running in mode 0 (simple I/O) has been added.</para>
<para>The &man.psm.4; driver now has improved support for
Synaptics Touchpad users. It now has better tracking of
slow-speed movement and now has support for various extra
buttons and dials. These features can be tuned with the
<varname>hw.psm.synaptics.<replaceable>*</replaceable></varname>
hierarchy of sysctl variables.</para>
<para arch="sparc64">The rtc driver has been added to support
the MC146818-compatible clock found on some &ultrasparc; II
and III models. &merged;</para>
<para arch="sparc64">The &man.uart.4; driver is now enabled in
the <filename>GENERIC</filename> kernel, and is now the
default driver for serial ports. The ofw_console,
&man.sab.4;, and zs drivers are now disabled in the
<filename>GENERIC</filename> kernel. &merged;</para>
<para>The &man.uplcom.4; driver now supports handling of the
<literal>CTS</literal> signal.</para>
<sect4 id="mm">
<title>Multimedia Support</title>
<para arch="sparc64">The &man.snd.audiocs.4; driver has been
added to support the Crystal Semiconductor CS4231 audio
controller found on &ultrasparc;
workstations. &merged;</para>
<para>The &man.uaudio.4; driver now has some added
functionality, including volume control on more inputs and
recording capability on some devices.</para>
</sect4>
<sect4 id="net-if">
<title>Network Interface Support</title>
<para>The &man.ath.4; driver has been updated to split the
transmit rate control algorithm into a separate module.
Either <literal>device ath_rate_onoe</literal> or
<literal>device ath_rate_amrr</literal> must be included in
the kernel configuration when using the &man.ath.4;
driver.</para>
<para>The &man.cp.4; driver is now MPSAFE. &merged;</para>
<para>The &man.ctau.4; driver is now MPSAFE. &merged;</para>
<para>The &man.cx.4; driver is now MPSAFE. &merged;</para>
<para>The &man.dc.4; driver now supports the &man.altq.4; framework.</para>
<para>In the &man.em.4; driver, hardware support for VLAN
tagging is now disabled by default due to some interactions
between this feature and promiscuous mode. &merged;</para>
<para>Ethernet flow control is now disabled by default in the
&man.fxp.4; driver, to prevent problems with a system panics
or is left in the kernel debugger. &merged;</para>
<para>The &man.hme.4; driver is now MPSAFE. &merged;</para>
<para arch="amd64">The &man.ndis.4; device driver wrapper now
supports &windows;/x86-64 binaries on amd64
systems. &merged;</para>
<para>The &man.sf.4; driver now has support for device polling
and &man.altq.4;. &merged;</para>
<para>Several programming errors in the &man.sk.4; driver have
been corrected. This bug was particular to SMP systems, and
could cause panics, page faults, aborted SSH connections, or
corrupted file transfers. More details can be found in
errata note
<ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ERRATA/notices/FreeBSD-EN-05:02.sk.asc">FreeBSD-EN-05:02.sk</ulink>.
&merged;</para>
<para>The &man.sk.4; driver now has support for &man.altq.4;.
This driver also now supports jumbo frames on Yukon-based
interfaces. &merged;</para>
<para>The &man.vge.4; driver now has support for device polling
(&man.polling.4;).</para>
<para>Support for 802.11 devices in the &man.wlan.4; has been
greatly overhauled. In addition to architectural changes,
it includes completed 802.11g, WPA, 802.11i, 802.1x,
WME/WMM, AP-side power-saving, and plugin frameworks for
cryptography modules, authenticators, and access control.
Note in particular that WEP now requires the
<filename>wlan_wep</filename> module to be loaded (or
compiled) into the kernel.</para>
</sect4>
</sect3>
<sect3 id="net-proto">
<title>Network Protocols</title>
<para>The MTU feedback in IPv6 has been disabled when the sender writes
data that must be fragmented. &merged;</para>
<para>CARP (Common Address Redundancy Protocol) has
been implemented. CARP comes from OpenBSD and allows
multiple hosts to share an IP address, providing
high availability and load balancing.
For more information, see &man.carp.4; manual page.</para>
<para>&man.ipfw.8; now supports classification and tagging
of the &man.altq.4;, packets via a divert socket,
and TCP data length.</para>
<para>Ongoing work is reducing the use of the Giant lock by the
network protocol stack and improving the locking
strategies.</para>
<para>The &man.sppp.4; driver now includes Frame Relay
support. &merged;</para>
<para>A bug in TCP that sometimes caused RST packets to
be ignored if the receive window was zero bytes has been
fixed. &merged;</para>
<para>Several bugs in the TCP SACK implementation have been
fixed. &merged;</para>
<para>RFC 1644 T/TCP support has been removed.</para>
<para>Random ephemeral port number allocation has led to some
problems with port reuse at high connection rates. This
feature is now disabled during periods of high connection
rates; whenever new connections are created faster than
<varname>net.inet.ip.portrange.randomcps</varname> per second,
port number randomization is disabled for the next
<varname>net.inet.ip.portrange.randomtime</varname>
seconds. The default values for these two sysctl variables
are <literal>10</literal> and <literal>45</literal>,
respectively.</para>
<para>Fine-grained locking has been applied to many of the data
structures in the IPX/SPX protocol stack. While not fully
MPSAFE at this point, it is generally safe to use IPX/SPX
without the Giant lock (in other words, the
<varname>debug.mpsafenet</varname> sysctl variable may be set
to <literal>1</literal>).</para>
</sect3>
<sect3 id="disks">
<title>Disks and Storage</title>
<para>The &man.amr.4; driver is now safe for use on systems
using &man.pae.4;. &merged;</para>
<para>The SHSEC GEOM class has been added. It provides for the
sharing of a secret between multiple GEOM providers. All of
these providers must be present in order to reveal the
secret. This feature is controlled by the &man.gshsec.8;
utility.</para>
<para>The &man.matcd.4; driver has been removed.</para>
<para>The default SCSI boot-time probe delay in the
<filename>GENERIC</filename> kernel has been reduced from
fifteen seconds to five seconds.</para>
<para arch="pc98">The &man.wd.4; driver has been removed. The
&man.ata.4; driver has been found to work well enough on the
pc98 platform that there is no need for the older &man.wd.4;
driver.</para>
<para>Information about newly-mounted cd9660 file systems (such
as the presence of Rockridge extensions) is now only printed
if the kernel was booted in verbose mode. This change was
made to reduce the amount of (generally unnecessary) kernel
log messages. &merged;</para>
</sect3>
<sect3 id="fs">
<title>File Systems</title>
<para>The autofs(9) file system and the userland library
&man.libautofs.3; have been added.</para>
<para>A kernel panic in the NFS server has been fixed. More
details can be found in errata note
<ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ERRATA/notices/FreeBSD-EN-05:01.nfs.asc">FreeBSD-EN-05:01.nfs</ulink>.
&merged;</para>
</sect3>
<sect3>
<title>Contributed Software</title>
<para><application>ACPI-CA</application> has been updated from
20040527 to 20041119. &merged;</para>
</sect3>
</sect2>
<sect2 id="userland">
<title>Userland Changes</title>
<para>The &man.burncd.8; utility now allows commands (such as
<command>eject</command>) to take place after fixating a
disk.</para>
<para>The <literal>create</literal> command of the &man.gpt.8;
utility now supports a <option>-f</option> command-line flag to
force creation of a GPT even when there is an MBR record on a
disk. &merged;</para>
<para>The &man.dump.8; utility now supports a <option>-n</option>
flag to suppress the creation of a <filename>.snap</filename>
directory on new file systems. This feature is intended for use
on memory or vnode file systems that will not require snapshot
support.</para>
<para>The &man.ifconfig.8; utility has been restructured. It is
now more modular and flexible with respect to supporting
interface-specific functionality. The 802.11 support has been
updated to support recent changes to the 802.11 subsystem and
drivers.</para>
<para>Support for abbreviated forms of a number of &man.ipfw.8;
options has been deprecated. Warnings are printed to stderr
indicated the correct full form when one of these abbreviations
is detected.</para>
<para>The <filename>libarchive</filename> library (as well as the
&man.tar.1; command that uses it) now has support for reading ISO
images (with optional RockRidge extensions) and ZIP archives
(with <literal>deflate</literal> and <literal>none</literal>
compression).</para>
<para>The <literal>NO_NIS</literal> compile-time knob for userland
has been added. As its name implies, enabling this
<filename>Makefile</filename> variable will cause NIS support to
be excluded from various programs and will cause the NIS
utilities to not be built. &merged;</para>
<para arch="i386">The &man.mkuzip.8;, which is a non-GPL
utility to compress file system images for use with
<literal>GEOM_UZIP</literal> &man.geom.4; module,
has been added.</para>
<para>The &man.newsyslog.8; utility now supports
a <option>-d</option> option to specify an alternate root for log files
similar to <varname>DESTDIR</varname> in the BSD make process.
This only affects log file paths, not config file (<option>-f</option>)
or archive directory (<option>-a</option>) paths.</para>
<para>The &man.ncal.1; utility now supports a <option>-m</option>
flag to generate a calendar for a specified month in the current
year. &merged;</para>
<para>The <filename>libgpib</filename> library has been added to
give userland access to GPIB devices (using the the pcii driver)
via the
<function>ib<replaceable>foo</replaceable></function>
API.</para>
<para>The &man.mknod.8; utility has been marked deprecated.
Device nodes have been managed by the &man.devfs.5; device file
system since &os; 5.0.</para>
<para>For years, &os; has used <filename>Makefile</filename>
variables of the form
<varname>NO<replaceable>FOO</replaceable></varname> and
<varname>NO_<replaceable>FOO</replaceable></varname>. For
consistency, those variables using the former naming convention
have been converted to the
<varname>NO_<replaceable>FOO</replaceable></varname> form. The
file <filename>/usr/share/mk/bsd.compat.mk</filename> has a
complete list of these variables; it also implements some
temporary backward compatibility for the old names.</para>
<para>The &man.ppp.8; program now implements an
<option>echo</option> parameter, which allows LCP ECHOs to be
enabled independently of LQR reports. Older versions of
&man.ppp.8; would revert to LCP ECHO mode on negotiation
failure. It is now necessary to specify <command>enable
echo</command> to get this behavior. &merged;</para>
<para>An &man.rpmatch.3; library function has been added to check
a string for being an affirmative or negative response in the
current locale.</para>
<para>The &man.telnet.1; and &man.telnetd.8; programs now support
the <option>-S</option> option for specifying a numeric TOS
byte.</para>
<para>The &man.tcpdrop.8; command, which closes a selected TCP
connection, has been added. It was obtained from
OpenBSD.</para>
<para>&man.whois.1; now supports
a <option>-k</option> flag
for querying <hostid role="fqdn">whois.krnic.net</hostid>
(the National Internet Development Agency of Korea)
which hold details of IP address allocations within
Korea. &merged;</para>
<sect3 id="rc-scripts">
<title><filename>/etc/rc.d</filename> Scripts</title>
<para></para>
</sect3>
</sect2>
<sect2 id="contrib">
<title>Contributed Software</title>
<para><application>FILE</application> has been updated from 4.10
to 4.12.</para>
<para><application>lukemftp</application> has been updated from a
26 April 2004 snapshot from OpenBSD's sources to a snapshot as
of 19 February 2005.</para>
<para>A snapshot of <application>netcat</application> from OpenBSD
as of 4 February 2005 has been added. More information can be
found in the &man.nc.1; manual page. &merged;</para>
<para><application>OpenPAM</application> has been updated from the
Eelgrass release to the Feterita release.</para>
<para><application>OpenSSH</application> has been updated from 3.8p1
to 3.9p1.</para>
<para><application>sendmail</application> has been updated from
version 8.13.1 to version 8.13.3. &merged;</para>
<para>The timezone database has been updated from the
<application>tzdata2004e</application> release to the
<application>tzdata2004g</application> release. &merged;</para>
</sect2>
<sect2 id="ports">
<title>Ports/Packages Collection Infrastructure</title>
<para></para>
</sect2>
<sect2 id="releng">
<title>Release Engineering and Integration</title>
<para></para>
</sect2>
<sect2 id="doc">
<title>Documentation</title>
<para>Manual pages in the base system have received a number of
cleanups, both for content and presentation. Cross-references
are more correct and consistent, standard section headings are
now used throughout, and markup has been cleaned up.</para>
</sect2>
</sect1>
<sect1 id="upgrade">
<title>Upgrading from previous releases of &os;</title>
<para></para>
<important>
<para>Upgrading &os; should, of course, only be attempted after
backing up <emphasis>all</emphasis> data and configuration
files.</para>
</important>
</sect1>