]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - release/doc/en_US.ISO8859-1/relnotes/article.sgml
This commit was generated by cvs2svn to compensate for changes in r167961,
[FreeBSD/FreeBSD.git] / release / doc / en_US.ISO8859-1 / relnotes / article.sgml
1 <!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
2 <!ENTITY % articles.ent PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Articles Entity Set//EN">
3 %articles.ent;
4
5 <!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN">
6 %release;
7
8 <!-- Text constants which probably don't need to be changed.-->
9
10 <!-- The marker for MFCs. -->
11 <!ENTITY merged "[MERGED]">
12
13 <!-- Architecture names -->
14 <!ENTITY arch.amd64 "amd64">
15 <!ENTITY arch.arm "arm">
16 <!ENTITY arch.i386 "i386">
17 <!ENTITY arch.ia64 "ia64">
18 <!ENTITY arch.pc98 "pc98">
19 <!ENTITY arch.powerpc "powerpc">
20 <!ENTITY arch.sparc64 "sparc64">
21 <!ENTITY arch.sun4v "sun4v">
22
23 <!ENTITY % include.historic "IGNORE">
24 <!ENTITY % no.include.historic "IGNORE">
25 ]>
26
27 <article>
28 <articleinfo>
29   <title>&os; &release.current; Release Notes</title>
30
31   <corpauthor>The &os; Project</corpauthor>
32
33   <pubdate>$FreeBSD$</pubdate>
34
35   <copyright>
36     <year>2000</year>
37     <year>2001</year>
38     <year>2002</year>
39     <year>2003</year>
40     <year>2004</year>
41     <year>2005</year>
42     <year>2006</year>
43     <year>2007</year>
44     <holder role="mailto:doc@FreeBSD.org">The &os; Documentation Project</holder>
45   </copyright>
46
47   <legalnotice id="trademarks" role="trademarks">
48     &tm-attrib.freebsd;
49     &tm-attrib.ibm;
50     &tm-attrib.ieee;
51     &tm-attrib.intel;
52     &tm-attrib.sparc;
53     &tm-attrib.general;
54   </legalnotice>
55
56   <abstract>
57     <para>The release notes for &os; &release.current; contain a summary
58       of the changes made to the &os; base system on the
59       &release.branch; development line.
60       This document lists applicable security advisories that were issued since
61       the last release, as well as significant changes to the &os;
62       kernel and userland.
63       Some brief remarks on upgrading are also presented.</para>
64   </abstract>
65 </articleinfo>
66
67 <sect1 id="intro">
68   <title>Introduction</title>
69
70   <para>This document contains the release notes for &os;
71     &release.current;.  It
72     describes recently added, changed, or deleted features of &os;.
73     It also provides some notes on upgrading
74     from previous versions of &os;.</para>
75
76 <![ %release.type.current [
77
78   <para>The &release.type; distribution to which these release notes
79     apply represents the latest point along the &release.branch; development
80     branch since &release.branch; was created.  Information regarding pre-built, binary
81     &release.type; distributions along this branch
82     can be found at <ulink url="&release.url;"></ulink>.</para>
83
84 ]]>
85
86 <![ %release.type.snapshot [
87
88   <para>The &release.type; distribution to which these release notes
89     apply represents a point along the &release.branch; development
90     branch between &release.prev; and the future &release.next;.
91     Information regarding
92     pre-built, binary &release.type; distributions along this branch
93     can be found at <ulink url="&release.url;"></ulink>.</para>
94
95 ]]>
96
97 <![ %release.type.release [
98
99   <para>This distribution of &os; &release.current; is a
100     &release.type; distribution.  It can be found at <ulink
101     url="&release.url;"></ulink> or any of its mirrors.  More
102     information on obtaining this (or other) &release.type;
103     distributions of &os; can be found in the <ulink
104     url="&url.books.handbook;/mirrors.html"><quote>Obtaining
105     &os;</quote> appendix</ulink> to the <ulink
106     url="&url.books.handbook;/">&os;
107     Handbook</ulink>.</para>
108
109 ]]>
110
111   <para>All users are encouraged to consult the release errata before
112     installing &os;.  The errata document is updated with
113     <quote>late-breaking</quote> information discovered late in the
114     release cycle or after the release.  Typically, it contains
115     information on known bugs, security advisories, and corrections to
116     documentation.  An up-to-date copy of the errata for &os;
117     &release.current; can be found on the &os; Web site.</para>
118
119 </sect1>
120
121 <sect1 id="new">
122   <title>What's New</title>
123
124   <para>This section describes
125     the most user-visible new or changed features in &os;
126     since &release.prev;.
127     In general, changes described here are unique to the &release.branch;
128     branch unless specifically marked as &merged; features.
129   </para>
130
131   <para>Typical release note items
132     document recent security advisories issued after
133     &release.prev;,
134     new drivers or hardware support, new commands or options,
135     major bug fixes, or contributed software upgrades.  They may also
136     list changes to major ports/packages or release engineering
137     practices.  Clearly the release notes cannot list every single
138     change made to &os; between releases; this document focuses
139     primarily on security advisories, user-visible changes, and major
140     architectural improvements.</para>
141
142   <sect2 id="security">
143     <title>Security Advisories</title>
144
145     <para>A temporary file vulnerability in &man.texindex.1;, which
146       could allow a local attacker to overwrite files in the context
147       of a user running the &man.texindex.1; utility, has been fixed.
148       For more details see security advisory <ulink
149       url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:01.texindex.asc">FreeBSD-SA-06:01.texindex</ulink>. &merged;</para>
150
151     <para>A temporary file vulnerability in the &man.ee.1; text
152       editor, which could allow a local attacker to overwrite files in
153       the context of a user running &man.ee.1;, has been fixed.  For
154       more details see security advisory <ulink
155       url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:02.ee.asc">FreeBSD-SA-06:02.ee</ulink>. &merged;</para>
156
157     <para>Several vulnerabilities in the &man.cpio.1; utility have
158       been corrected.  For more
159       details see security advisory <ulink
160       url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:03.cpio.asc">FreeBSD-SA-06:03.cpio</ulink>. &merged;</para>
161
162     <para>An error in &man.ipfw.4; IP fragment handling, which could
163       cause a crash, has been fixed.  For more
164       details see security advisory <ulink
165       url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:04.ipfw.asc">FreeBSD-SA-06:04.ipfw</ulink>. &merged;</para>
166
167     <para>A potential buffer overflow in the IEEE 802.11 scanning code
168       has been corrected.  For more
169       details see security advisory <ulink
170       url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:05.80211.asc">FreeBSD-SA-06:05.80211</ulink>. &merged;</para>
171
172     <para>Two instances in which portions of kernel memory could be
173       disclosed to users have been fixed.  For more details see
174       security advisory <ulink
175       url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:06.kmem.asc">FreeBSD-SA-06:06.kmem</ulink>. &merged;</para>
176
177     <para>A logic bug in the IP fragment handling in &man.pf.4;, which
178       could cause a crash under certain circumstances, has been fixed.
179       For more details see security advisory <ulink
180       url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:07.pf.asc">FreeBSD-SA-06:07.pf</ulink>. &merged;</para>
181
182     <para>A logic bug in the NFS server code, which could cause a crash when
183       the server received a message with a zero-length payload, has been fixed.
184       For more details see security advisory <ulink
185       url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:10.nfs.asc">FreeBSD-SA-06:10.nfs</ulink>. &merged;</para>
186
187     <para>A programming error in the &man.fast.ipsec.4; implementation
188       results in the sequence number associated with a Security
189       Association not being updated, allowing packets to unconditionally
190       pass sequence number verification checks, has been fixed.
191       For more details see security advisory <ulink
192       url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:11.ipsec.asc">FreeBSD-SA-06:11.ipsec</ulink>. &merged;</para>
193
194     <para>A logic bug that could cause &man.opiepasswd.1; to allow an unprivileged
195       user to configure OPIE authentication for the root user under certain
196       circumstances, has been fixed.
197       For more details see security advisory <ulink
198       url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:12.opie.asc">FreeBSD-SA-06:12.opie</ulink>. &merged;</para>
199
200     <para>An asynchronous signal handling vulnerability in &man.sendmail.8;,
201       which could allow a remote attacker to execute arbitrary code with the
202       privileges of the user running sendmail, typically root, has been fixed.
203       For more details see security advisory <ulink
204       url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:13.sendmail.asc">FreeBSD-SA-06:13.sendmail</ulink>. &merged;</para>
205
206     <para>[&arch.amd64;, &arch.i386;] An information disclosure issue found in the
207       &os; kernel running on 7th- and 8th-generation AMD processors
208       has been fixed.  For more details see security advisory <ulink
209        url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:14.fpu.asc">FreeBSD-SA-06:14.fpu</ulink>. &merged;</para>
210
211     <para>A bug in &man.ypserv.8;, which effectively disabled the
212       <filename>/var/yp/securenets</filename> access control mechanism,
213       has been corrected.  More details are available in security
214       advisory
215       <ulink url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:15.ypserv.asc">FreeBSD-SA-06:15.ypserv</ulink>. &merged;</para>
216
217     <para>A bug in the smbfs file system, which could allow an
218       attacker to escape out of &man.chroot.2 environments on an smbfs
219       mounted file system, has been fixed.  For more details, see
220       security advisory
221       <ulink url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:16.smbfs.asc">FreeBSD-SA-06:16.smbfs</ulink>. &merged;</para>
222
223     <para>A potential denial of service problem in &man.sendmail.8;
224       caused by excessive recursion which leads to stack
225       exhaustion when attempting delivery of a malformed
226       MIME message, has been fixed.  For more details,
227       see security advisory <ulink
228       url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:17.sendmail.asc">FreeBSD-SA-06:17.sendmail</ulink>. &merged;</para>
229
230     <para>A potential buffer overflow condition in &man.sppp.4; has
231       been corrected.  For more details, see security advisory
232       <ulink url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:18.ppp.asc">FreeBSD-SA-06:18.ppp</ulink>. &merged;</para>
233
234     <para>An OpenSSL bug related to validation of PKCS#1 v1.5
235       signatures has been fixed.  For more details, see security
236       advisory
237       <ulink url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:19.openssl.asc">FreeBSD-SA-06:19.openssl</ulink>. &merged;</para>
238
239     <para>A potential denial of service attack against &man.named.8;
240       has been fixed.  For more details, see security advisory
241       <ulink url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:20.bind.asc">FreeBSD-SA-06:20.bind</ulink>. &merged;</para>
242
243     <para>Several programming errors have been fixed in &man.gzip.1;.
244       They could have the effect of causing a crash or an infinite
245       loop when decompressing files.  More information can be found in
246       security advisory
247       <ulink url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:21.gzip.asc">FreeBSD-SA-06:21.gzip</ulink>. &merged;</para>
248
249     <para>Several vulnerabilities have been fixed in OpenSSH.  More
250       details can be found in security advisory
251       <ulink url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:22.openssh.asc">FreeBSD-SA-06:22.openssh</ulink>. &merged;</para>
252
253     <para>Multiple errors in the OpenSSL &man.crypto.3; library have
254       been fixed.  Potential effects are varied, and are documented in
255       more detail in security advisory
256       <ulink url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:23.openssl.asc">FreeBSD-SA-06:23.openssl</ulink>. &merged;</para>
257
258     <para>A bug that could permit corrupt archives to cause an
259       infinite loop in &man.libarchive.3; and &man.tar.1; has been
260       fixed.  More details are available in
261       <ulink url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:24.libarchive.asc">FreeBSD-SA-06:24.libarchive</ulink>. &merged;</para>
262
263     <para>A bug that could allow users in
264       the <groupname>operator</groupname> group to read parts of kernel
265       memory has been corrected.  For more details, consult security
266       advisory
267       <ulink url="http://security.FreeBSD.org/advisories/FreeBSD-SA-06:25.kmem.asc">FreeBSD-SA-06:25.kmem</ulink>. &merged;</para>
268
269     <para>A bug in the <filename>jail</filename> startup script that
270       could permit privilege escalation via a symlink attack has been
271       fixed.  More information is available in
272       <ulink url="http://security.FreeBSD.org/advisories/FreeBSD-SA-07:01.jail.asc">FreeBSD-SA-07:01.jail</ulink>. &merged;</para>
273
274     <para>Two remote denials of service in BIND (one involving DNSSEC and
275       one involving recursive DNS queries) have been fixed.  For more
276       information, see security advisory
277       <ulink url="http://security.FreeBSD.org/advisories/FreeBSD-SA-07:02.bind.asc">FreeBSD-SA-07:02.bind</ulink>. &merged;</para>
278
279   </sect2>
280
281   <sect2 id="kernel">
282     <title>Kernel Changes</title>
283
284     <para>&man.acpi.4; now has support for the HPET time counter.  &merged;</para>
285
286     <para>The &man.acpi.ibm.4; driver now supports setting the fan control
287       mode to manual or automatic, and adjusting the fan speed if the
288       fan control mode is manual.  To enable manual control of the fan speed,
289       the sysctl variable <varname>dev.acpi_ibm.<replaceable>0</replaceable>.fan</varname>
290       needs to be set to zero (manual).  This should only be used with
291       extreme precaution, as disabling automatic fan control might
292       overheat the hardware and lead to permanent damage.</para>
293
294     <para>The &man.apm.4; suspend/resume support has been improved.</para>
295
296     <para>Security event auditing is now supported in the &os; kernel,
297       and is enabled by the <literal>AUDIT</literal> kernel
298       configuration option.  More information can be found in the
299       &man.audit.4; manual page.</para>
300
301     <para>The <literal>options COMPAT_43</literal> kernel
302       configuration option has been deemed unnecessary and has been
303       removed from <filename>GENERIC</filename> and related kernel
304       configurations.  This change may result in a small performance
305       increase for some workloads.</para>
306
307     <para>The &man.ddb.4; debugger now provides the <literal>show lock</literal>
308       command.  If the argument has a valid lock class,
309       this displays various information about the lock and calls a
310       new function pointer in lock_class (lc_ddb_show) to dump class-specific
311       information about the lock as well (such as the owner of a mutex or
312       xlock'ed sx lock).  &merged;</para>
313
314     <para>The &man.ddb.4; debugger now provides the <literal>show sleepq</literal>
315       command.  This takes a wait channel as an argument and looks
316       for a sleep queue associated with that wait channel.</para>
317
318     <para><filename>DEFAULTS</filename> kernel configuration files
319       for each platform have been added.  These files contain
320       directives that are implicitly included in all kernel
321       configurations, and generally include basic, mandatory
322       functionality for each platform.  &merged;</para>
323
324     <para>A bug in file descriptor handling such that a simple
325       <literal>close(0); dup(fd)</literal> sequence does not return
326       descriptor <literal>0</literal> in some cases, has been fixed.</para>
327
328     <para>The &man.firmware.9; subsystem has been added.  This
329       subsystem provides a mechanism
330       to load binary data into the kernel via a specially crafted module.
331       &merged;</para>
332
333     <para>The &man.gdb.1; remote debugging interface now supports
334       copying console messages to a remote debugger instance.
335       To enable this, set <literal>debug.gdbcons="1"</literal>
336       in <filename>loader.conf</filename>, enter <literal>boot -d;
337         gdb; step</literal> from the loader prompt,
338       then attach &man.gdb.1; from a remote machine.
339       The sysctl variable <varname>debug.gdbcons</varname> can be
340       used to turn on/off this functionality.</para>
341
342     <para>&man.hwpmc.4; and &man.pmcstat.8; now support profiling
343       of dynamically loaded kernel modules and
344       shared objects loaded with &man.dlopen.3;.
345       &man.pmcstat.8; can now log over a network socket
346       to a remote host.</para>
347
348     <para>Support for Kernel Scheduled Entities (KSE) is now a kernel
349       option (previously it was a mandatory feature in the kernel).
350       It is enabled in the GENERIC kernel (thus there is no change in
351       functionality) for all platforms except sun4v.</para>
352
353     <para>The &man.priv.9; kernel interface has been added.  Its purpose
354       is checking the availability of privilege for threads and credentials.
355       Unlike the existing &man.suser.9; interface, &man.priv.9; exposes a
356       named privilege identifier to the privilege checking code, allowing
357       more complex policies regarding the granting of privilege to be
358       expressed.</para>
359
360     <para>The &man.random.4; entropy device driver is now MPSAFE.
361       &merged;</para>
362
363     <para>&os; now supports concurrent &man.read.2;/&man.readv.2;
364       access to a file.</para>
365
366     <para>The ULE process scheduler has been revised to improve its
367       behavior, in particular interactivity under load.  This
368       implementation can commonly be referred to as <quote>ULE
369       2.0</quote>.</para>
370
371     <para>The experimental CORE process scheduler has been added,
372       enabled with the <literal>options SCHED_CORE</literal> kernel
373       configuration option.  It is forked from the &man.sched.ule.4;
374       scheduler, but
375       with a different algorithm for detecting an interactive process.
376       More information can be found in the &man.sched.core.4; manual
377       page.</para>
378
379     <para>The <literal>SIGCHLD</literal> signal queuing has been
380       added.  For each child process whose status has been changed,
381       a <literal>SIGCHLD</literal> instance is queued.  If the signal is still pending,
382       and the process changed status several times, the signal information
383       is updated to reflect the latest process status.
384       There is a loader tunable <varname>kern.sigqueue.queue_sigchild</varname>
385       which can control the behavior, setting it to zero disables the
386       <literal>SIGCHLD</literal> queuing feature.</para>
387
388     <para>[&arch.amd64;, &arch.i386;] Instead of including all of physical
389       memory in a kernel crash dump, the kernel now defaults to dumping only pages that are
390       actively mapped into kernel virtual memory.  A new
391       <varname>debug.minidump</varname> sysctl variable
392       can be used to turn off this behavior when set to zero. &merged;</para>
393
394     <para>A new sysctl variable <varname>kern.malloc_stats</varname>
395       has been added.  This allows exporting of kernel malloc
396       statistics via a binary structure stream.</para>
397
398     <para>A new sysctl variable <varname>kern.forcesigexit</varname>
399       has been added.  This forces a process
400       to sigexit if a trap signal is being held by the current thread or
401       ignored by the current process.  It is enabled by default.</para>
402
403     <para>The pcvt(4) driver, an alternative to &man.syscons.4;,
404       has been removed, as it had fallen out of sync with the rest
405       of the kernel.</para>
406
407     <para>RedZone, a buffer corruption protection for the kernel &man.malloc.9;
408       facility has been implemented.  This detects both buffer underflows and
409       overflows at runtime on &man.free.9; and &man.realloc.9;,
410       and prints backtraces from where memory was allocated and from where
411       it was freed.  For more details, see the &man.redzone.9; manual page.</para>
412
413     <para>A new sysctl variable <varname>security.mac.biba.interfaces_equal</varname>
414       which makes all network interfaces be created with the label
415       <literal>biba/equal(equal-equal)</literal>, has been added.
416       This is useful where programs such as &man.dhclient.8; and &man.ppp.8;.
417       which initialize network interfaces do not have any labeling support.
418       This variable is set as <literal>0</literal> (disabled) by default.
419       &merged;</para>
420
421     <para>A new sysctl variable <varname>vm.zone_stats</varname>
422       has been added.  This allows to export &man.uma.9; allocator
423       statistics via a binary structure stream.</para>
424
425     <para>The sysctl variable <varname>hw.pci.do_powerstate</varname>
426       has been changed from a boolean to a range.
427       <literal>0</literal> means no power management,
428       <literal>1</literal> means conservative power management which
429       any device class that has caused problems is added to the watch list,
430       <literal>2</literal> means aggressive power management where
431       any device class that is not fundamental to the system is added to the list,
432       and <literal>3</literal> means power them all down unconditionally.
433       The default is <literal>1</literal>.</para>
434
435     <para>[&arch.ia64;] The <filename>GENERIC</filename> kernel now enables
436       SMP support by default.</para>
437
438     <para>Sample kernel configuration files
439       <filename>src/sys/<replaceable>arch</replaceable>/conf/MAC</filename>
440       for the Mandatory Access Control framework have been added.</para>
441
442     <para><varname>POSIX_TIMERS</varname> support has been updated to 200112L.</para>
443
444     <para>An experimental support for POSIX message queue has been
445       implemented.</para>
446
447     <para>&os; now runs on the Xbox, whose architecture is nearly identical
448       to the i386.  For details of the latest development, see
449       <ulink url="http://www.FreeBSD.org/platforms/xbox.html"></ulink>.
450       &merged; </para>
451
452     <para>The locking strategy for UNIX domain sockets has been
453       revised to improve concurrency; this change has yielded
454       substantial performance improvements on various SMP workloads
455       (in particular, MySQL on 8-way &arch.amd64; systems) with little
456       or no measured overhead on UP systems.</para>
457
458     <para>Several minor but widespread changes to the Newbus API have
459       been made In order to support some on-going work with interrupt
460       filtering.  Because this change also breaks the kernel ABI, all
461       third-party device drivers will need to be modified and
462       recompiled.</para>
463
464     <sect3 id="boot">
465       <title>Boot Loader Changes</title>
466
467       <para>A new option <option>-S</option>,
468         which allows setting the <filename>boot2</filename>
469         serial console speed in the <filename>/boot.config</filename>
470         file or on the <prompt>boot:</prompt> prompt line,
471         has been added.</para>
472
473       <para>[&arch.amd64;, &arch.i386;] A new loader tunable
474         <varname>comconsole_speed</varname> to change
475         the serial console speed has been added.
476         If the previous stage boot loader requested a serial console,
477         then the default speed is determined from the current serial port
478         speed.  Otherwise it is set to 9600 or the value of
479         the <literal>BOOT_COMCONSOLE_SPEED</literal> kernel option.
480         &merged;</para>
481
482       <!-- Above this line, order boot loader changes by keyword-->
483
484       <para>[&arch.pc98;] A bootable CDROM loader has been implemented
485         for the pc98 platform. &merged;</para>
486
487       <para>[&arch.i386;] A bug in the i386 boot loader, which could
488         cause file system corruption if
489         a <filename>nextboot.conf</filename> file was used and landed
490         after cylinder 1023, has been fixed. &merged;</para>
491
492     </sect3>
493
494     <sect3 id="proc">
495       <title>Hardware Support</title>
496
497       <para>The &man.amdsmb.4; driver has been added.  It provides
498         support for the AMD-8111 SMBus 2.0 controller. &merged;</para>
499
500       <para>The &man.cardbus.4;, &man.pccard.4;,
501         &man.pccbb.4;, and &man.exca.4; drivers are now buildable
502         as kernel modules.</para>
503
504       <para>An &man.acpi.dock.4; driver has been added to provide
505         support for controlling laptop docking station functions via
506         ACPI.  &merged;</para>
507
508       <para>The &man.acpi.thermal.4; driver now supports
509         passive cooling. &merged;</para>
510
511       <para>The &man.acpi.thermal.4; driver now supports overriding
512         the <literal>_PSV</literal>, <literal>_HOT</literal>, and
513         <literal>_CRT</literal> temperature values.</para>
514
515     <para>Support for the alpha architecture has been removed.  Alpha
516       support will remain on the RELENG_5 and RELENG_6 codelines.</para>
517
518       <para>The &man.cardbus.4; driver now supports
519         <filename>/dev/cardbus<replaceable>%d</replaceable>.cis</filename>.</para>
520
521       <para>[&arch.i386;, &arch.pc98;] The &man.ce.4; driver,
522         which supports Cronyx Tau-PCI/32 adapters, has been added.
523         &merged;</para>
524
525       <para>The <literal>est</literal> &man.cpufreq.4; driver now supports
526         frequency control for the VIA C7-M family of processors.</para> 
527
528       <para>Support for the PadLock Security Co-processor in VIA C3,
529         Eden, and C7
530         processors has been added to the &man.crypto.9; subsystem.
531         More information can be found in the &man.padlock.4; manual
532         page.
533         &merged;</para>
534
535       <para>A bug which prevented the &man.ichsmb.4; kernel module
536         from unloading has been fixed.</para>
537
538       <para>[&arch.amd64;, &arch.i386;] Dual-core processors (such as the Intel
539         Core Duo) now have both cores available for use by
540         default in SMP-enabled kernels. &merged;</para>
541
542       <para>[&arch.amd64;, &arch.i386;] &man.ipmi.4;, an OpenIPMI compatible driver,
543         has been added.
544         OpenIPMI (Intelligent Platform Management Interface) is an open
545         standard designed to enable remote monitoring and control of server,
546         networking and telecommunication platforms. &merged;</para>
547
548       <para>The &man.kbdmux.4; driver has been integrated into &man.syscons.4; and
549         the <devicename>kbd</devicename> device driver.
550         By default &man.syscons.4; will look for the &man.kbdmux.4;
551         keyboard first, and then, if not found, look for any keyboard.
552         Switching to &man.kbdmux.4; can be done at boot time by loading
553         the <literal>kbdmux</literal> kernel module via &man.loader.8;,
554         or at runtime via &man.kldload.8; and releasing the active
555         keyboard.  &merged;</para>
556
557       <para>[&arch.amd64;, &arch.i386;] The &man.kbdmux.4; driver is now included in the
558         <filename>GENERIC</filename> kernel by default.
559         Also, the <quote>Boot FreeBSD with USB keyboard</quote>
560         menu item in the boot loader menu has been removed
561         since this fixes USB keyboard probing problems.
562         &merged;</para>
563
564       <para>The &man.nfsmb.4; driver, which supports the NVIDIA nForce
565         2/3/4 SMBus 2.0 controller, has been added.  &merged;</para>
566
567       <para>[&arch.ia64;] The loader tunable <varname>debug.mpsafevfs</varname>
568         is set to <literal>1</literal> by default.</para>
569
570       <para>The &man.sab.4; driver has been removed (it has been
571         superceded by the &man.scc.4; driver).</para>
572
573       <para>The &man.scc.4; driver has been added.
574         This provides generic support for serial communications
575         controllers and delegates the control over each channel
576         and mode to a subordinate driver such as &man.uart.4;.</para>
577
578       <para>[&arch.amd64;] The smbios(4) driver support for amd64 has been
579         added.</para>
580
581       <para>[&arch.sun4v;] &os; now has preliminary support for the Sun Microsystems
582         UltraSPARC-T1 architecture.  &os;/sun4v has been demonstrated
583         to run on the Sun Fire T1000 and Sun Fire T2000 servers.
584         More information can be found on the
585         <ulink url="http://www.FreeBSD.org/platforms/sun4v.html">sun4v
586         Project</ulink>
587         page.</para>
588
589       <para>The tnt4882(4) driver, which supports the National Instruments
590         PCI-GPIB card, has been added.</para>
591
592       <para>[&arch.amd64;, &arch.i386;, &arch.ia64;, &arch.sparc64;] The &man.uart.4; driver has been included in the
593         <filename>GENERIC</filename> kernel by default.
594         When both &man.sio.4; and &man.uart.4; can handle a given serial port,
595         &man.sio.4; will claim it.</para>
596
597       <para>The &man.uart.4; driver now supports LOM (Lights Out Management)
598         and RSC (Remote System Control) devices as consoles.</para>
599
600       <para>The zs driver has been removed.  Its functionality
601         has been superceded by that of the &man.uart.4; driver.</para>
602
603       <para>[&arch.i386;] A new loader tunable
604         <varname>hw.apic.enable_extint</varname> has been added.
605         This tunable can be used to disable masking of the ExtINT pin on the first
606         I/O APIC.  At least one chipset for the Intel Pentium III seems
607         to need this, even though all of the pins in the 8259As are masked.
608         The default is still to mask the ExtINT pin.</para>
609
610       <para>[&arch.i386;] Support has been improved for
611         so-called <quote>legacy-free</quote> hardware, in particular,
612         i386 systems without AT-style keyboard controllers such as the
613         Macbook Pro. &merged;</para>
614
615       <sect4 id="mm">
616         <title>Multimedia Support</title>
617
618         <para>The &man.agp.4; driver now supports ATI AGP chipsets.
619           &merged;</para>
620
621         <para>The new midi(4) driver which is based on NetBSD's one
622           has been added.  This supports &man.snd.cmi.4; and
623           &man.snd.emu10k1.4; drivers.</para>
624
625         <para>The &man.sound.4; driver now supports
626           wider range sampling rate, multiple precisions choice,
627           and 24/32 bit PCM format conversion.  &merged;</para>
628
629         <para>The &man.snd.als4000.4; driver is now MPSAFE.  &merged;</para>
630
631         <para>The &man.snd.atiixp.4; driver has been added.
632           This supports ATI IXP 200/300/400 series audio controllers.  &merged;</para>
633
634         <para>The &man.snd.atiixp.4; driver now supports
635           suspend and resume features.</para>
636
637         <para>The &man.snd.cmi.4; driver is now MPSAFE.</para>
638
639         <para>The &man.snd.emu10kx.4; driver has been added.  It
640           supports Creative SoundBlaster Live! and Audigy series sound
641           cards with optional pseudo-multichannel playback.</para>
642
643         <para>The &man.snd.envy24.4; driver has been added to support
644           the Envy24 series of audio chips.</para>
645
646         <para>The &man.snd.es137x.4; driver is now MPSAFE.  &merged;</para>
647
648         <para>The &man.snd.ich.4; driver is now MPSAFE.  &merged;</para>
649
650         <para>The &man.snd.hda.4; driver has been added.  It supports
651           devices that conform to revision 1.0 of the  Intel High Definition
652           Audio specification.</para>
653
654         <para>The &man.snd.solo.4; driver is now MPSAFE.  &merged;</para>
655
656         <para>The &man.snd.via8233.4; driver is now MPSAFE.  &merged;</para>
657
658         <para>The &man.snd.via82c686.4; driver is now MPSAFE.  &merged;</para>
659
660         <para>[&arch.amd64;] The &man.speaker.4; driver now supports &os;/amd64.  &merged;</para>
661
662         <para>The &man.uaudio.4; driver now supports 24/32 bit audio
663           formats and conversion.</para>
664       </sect4>
665
666       <sect4 id="net-if">
667         <title>Network Interface Support</title>
668
669         <para>The &man.ath.4; driver has been updated to
670           HAL version 0.9.20.3.  &merged;</para>
671
672         <para>[&arch.amd64;, &arch.i386;, &arch.pc98;, &arch.sparc64;]
673           The &man.ath.4;, &man.ath.hal.4;, and
674           <literal>ath_rate_sample</literal> drivers have been
675           included in the <filename>GENERIC</filename> kernel by
676           default. &merged;</para>
677
678         <para>[&arch.amd64;, &arch.i386;] The &man.bce.4; driver, which supports Broadcom
679           NetXtreme II (BCM5706/BCM5708) PCI/PCIe Gigabit Ethernet controllers,
680           has been added.  For more details, see &man.bce.4;. &merged;</para>
681
682         <para>A bug which prevents the &man.bfe.4; driver from working
683           on a system with over 1GB RAM has been fixed.  &merged;</para>
684
685         <para>The &man.bge.4; driver's Jumbo frame support is now MPSAFE.</para>
686
687         <para>The &man.bge.4; driver now supports big-endian
688           architectures such as sparc64.</para>
689
690         <para>The &man.bge.4; driver now supports &man.polling.4; mode.
691           &merged;</para>
692
693         <para>The &man.cm.4; driver is now MPSAFE.</para>
694
695         <para>The &man.cxgb.4; driver has been added.  It provides support for
696           10 Gigabit Ethernet adapters based on the Chelsio T3 and T3B chipsets.
697           </para>
698
699         <para>The &man.dc.4; driver is now MPSAFE. &merged;</para>
700
701         <para>The &man.de.4; driver has been converted to the &man.bus.dma.9;
702           API and is now MPSAFE.</para>
703
704         <para>The &man.ed.4; driver is now MPSAFE.</para>
705
706         <para>The &man.el.4; driver has been removed due to lack of use.</para>
707
708         <para>The &man.em.4; driver now supports big-endian
709           architectures such as sparc64.  &merged;</para>
710
711         <para>The &man.em.4; driver has been updated to
712           version 6.2.9 from Intel.  Among other changes, it now supports
713           80003, 82571, 82571EB and 82572 based adapters, as well as
714           onboard-NICs on ICH8-based motherboards. &merged;</para>
715
716         <para>The &man.em.4; driver now includes
717           initial support for suspend and resume features.</para>
718
719         <para>The performance of the &man.em.4; driver has been improved
720           by using a fast interrupt handler and taskqueue
721           instead of ithread handler.  This change can be disabled
722           by defining <literal>NO_EM_FASTINTR</literal> kernel option
723           for debugging purpose.</para>
724
725         <para>The firmware images needed by the &man.ipw.4; driver are now
726           part of the &os; base system.  For the loaded firmware to work the
727           license at <filename>/usr/share/doc/legal/intel_ipw/LICENSE</filename>
728           must be agreed to and <literal>legal.intel_ipw.license_ack=1</literal>
729           has to be added to <filename>/boot/loader.conf</filename>.
730           Prior versions of the driver used the firmware image in the
731           <filename role="package">net/ipw-firmware-kmod</filename>
732           port/package or the
733           <filename role="package">net/ipw-firmware</filename>
734           port/package. &merged;</para>
735
736         <para>The &man.iwi.4; driver now supports big-endian
737           architectures such as sparc64.</para>
738
739         <para>A number of improvements and bugfixes have been made to the
740           functionality of the &man.iwi.4; driver.  &merged;</para>
741           
742         <para>The firmware images needed by the &man.iwi.4; driver are now
743           part of the &os; base system.  For the loaded firmware to work the
744           license at <filename>/usr/share/doc/legal/intel_iwi/LICENSE</filename>
745           must be agreed to and <literal>legal.intel_iwi.license_ack=1</literal>
746           has to be added to <filename>/boot/loader.conf</filename>.
747           Prior versions of the driver used the firmware image in the
748           <filename role="package">net/iwi-firmware-kmod</filename>
749           port/package or the
750           <filename role="package">net/iwi-firmware</filename>
751           port/package. &merged;</para>
752
753         <para>The &man.le.4; driver, which supports AMD Am7900 LANCE
754           and Am79C9xx PCnet NICs,
755           has been added.  While the &man.lnc.4; driver also supports these
756           NICs, this driver has several advantages over it such as
757           MPSAFE, ALTQ, VLAN_MTU, ifmedia, and 32-bit DMA for PCI
758           variants.  This driver is based on NetBSD's implementation.
759           &merged;</para>
760
761         <para>The &man.lge.4; driver is now MPSAFE. &merged;</para>
762
763         <para>The lnc(4) driver has been removed.  The &man.le.4; and
764           &man.pcn.4; drivers support all devices that were supported
765           by lnc(4).</para>
766
767         <para>The &man.msk.4; driver has been added.  It supports
768           network interfaces using the Marvell/SysKonnect Yukon II
769           Gigabit Ethernet controller.  &merged;</para>
770
771         <para>The &man.my.4; driver is now MPSAFE. &merged;</para>
772
773         <para>The &man.my.4; driver now supports &man.altq.4;.  &merged;</para>
774
775         <para>[&arch.amd64;, &arch.i386;] The &man.mxge.4; driver,
776           which supports Myricom Myri10GE 10 Gigabit Ethernet
777           adapters, has been added.  For more details, see
778           &man.mxge.4;.</para>
779
780         <para>The &man.nfe.4; driver, an open-source driver for nForce
781           Ethernet devices, has been added, originally from
782           OpenBSD.</para>
783
784         <para>[&arch.arm;] The &man.npe.4; driver, which supports the
785            Intel XScale Network Processing Engine, has been
786            added. &merged;</para>
787
788         <para>The &man.nve.4; driver has been updated to version 1.0-0310
789           (23-Nov-2005).  It also now has &man.altq.4; support. &merged;</para>
790
791         <para>The &man.pcn.4; driver is now MPSAFE. &merged;</para>
792
793         <para>The &man.re.4; driver now supports the D-Link DGE-528(T)
794           Gigabit Ethernet card.</para>
795
796         <para>The &man.sf.4; driver is now MPSAFE. &merged;</para>
797
798         <para>The &man.sk.4; driver is now MPSAFE. &merged;</para>
799
800         <para>The &man.ste.4; driver is now MPSAFE.  &merged;</para>
801
802         <para>The &man.stge.4; driver has been added.  It supports the
803           Sundance/Tamarack TC9021 Gigabit Ethernet controller and was
804           ported from NetBSD.  &merged;</para>
805
806         <para>The &man.ti.4; driver now supports big-endian
807           architectures such as sparc64.</para>
808
809         <para>The &man.ufoma.4; driver for
810           FOMA (third generation mobile phone system by NTT DoCoMo, Inc.
811           in Japan) has been added.
812           This should support other third generation mobile phones
813           since the driver is based on USB Implementation Guideline
814           from MCPC (Mobile Computing Promotion Consortium) in Japan.</para>
815
816         <para>The vgapci(4) driver has been added.  This is a stub
817           device driver for VGA PCI devices and serves as a bus
818           so that other drivers such as drm(4),
819           &man.acpi.video.4;, and &man.agp.4; can attach to
820           it thus allowing multiple drivers for the same device.</para>
821
822         <para>The &man.vge.4; driver now supports &man.altq.4;.  &merged;</para>
823
824         <para>The &man.wi.4; driver is now buildable as
825           a kernel module.</para>
826
827         <para>[&arch.amd64;, &arch.i386;, &arch.pc98;] The &man.wlan.wep.4;,
828           &man.wlan.ccmp.4;, and &man.wlan.tkip.4; drivers
829           have been included in the <filename>GENERIC</filename>
830           kernel by default.</para>
831
832         <para>The network interface groups feature has been imported
833           from OpenBSD.  This feature allows an administrator to, for
834           example, apply firewall rules to an entire group of
835           interfaces.  More information can be found in
836           &man.ifconfig.8;.</para>
837
838         <para>The 802.11 protocol stack now has support for 900 MHz
839           cards, as well as quarter- and half-channel support
840           for 802.11a. &merged;</para>
841
842       </sect4>
843     </sect3>
844
845     <sect3 id="net-proto">
846       <title>Network Protocols</title>
847
848       <para>The &man.arp.4; retransmission algorithm has been
849         rewritten so that ARP requests are retransmitted without
850         suppression, while there is demand for such ARP entry.
851         Due to this change, a sysctl variable
852         <varname>net.link.ether.inet.host_down_time</varname>
853         has been removed.  &merged;</para>
854
855       <para>The &man.arp.4; protocol now supports a sysctl variable
856         <varname>net.link.ether.inet.log_arp_permanent_modify</varname>
857         to suppress logging of attempts to modify
858         permanent ARP entries.  &merged;</para>
859
860       <para>[&arch.amd64;, &arch.i386;, &arch.pc98;] An experimental BPF Just-In-Time compiler
861         has been implemented for both &man.bpf.4; and &man.ng.bpf.4;.
862         To enable this, the
863         <literal>options BPF_JITTER</literal> kernel option is needed.
864         The <varname>net.bpf_jitter.enable</varname>
865         can be used to disable this feature.</para>
866
867       <para>Multiple copies of a packet received via different
868         &man.bpf.4; listeners now all have identical
869         timestamps. &merged;</para>
870
871       <para>The &man.bpf.4; device now supports several new
872         &man.ioctl.2; calls to allow examining inbound vs. outbound
873         packets, as well as packets that have been injected onto the
874         network.</para>
875
876       <para>The bridge(4) driver has been removed from the tree.  Its
877         functionality has been completely replaced by
878         &man.if.bridge.4;.</para>
879
880       <para>The &man.enc.4; IPsec filtering pseudo-device has been
881         added.  It allows firewall packages using the &man.pfil.9;
882         framework to examine (and filter) IPsec traffic before
883         outbound encryption and after inbound decryption. &merged;</para>
884
885       <para>The &man.gre.4; driver, which is for GRE encapsulation
886         found in RFC 1701 and RFC 1702, now supports IPv6 over GRE.</para>
887
888       <para>The &man.if.bridge.4; driver now supports
889         creating SPAN ports, which transmit a copy of every frame
890         received by the bridge.  This feature can be enabled
891         by using &man.ifconfig.8;.  &merged;</para>
892
893       <para>The &man.if.bridge.4; driver now supports
894         RFC 3378 EtherIP.  This change makes it possible to
895         add &man.gif.4; interfaces to bridges, which will then
896         send and receive IP protocol 97 packets.
897         Packets are Ethernet frames with an EtherIP header prepended.
898         &merged;</para>
899
900       <para>The &man.if.bridge.4; driver now supports RSTP, the Rapid
901         Spanning Tree Protocol (802.1w). &merged;</para>
902
903       <para>A hard-coded limit on the number of IPv4 multicast group
904         memberships (formerly 20) has been removed.</para>
905
906       <para>The path MTU discovery for multicast packets in the &os;
907         IPv6 stack has been disabled by default.
908         Path MTU notification from a large number of multicast routers
909         can be a kind of distributed Denial-of-Service attack to a router.
910         This feature can be re-enabled by using a new sysctl variable
911         <varname>net.inet6.ip6.mcast_pmtu</varname>.  &merged;</para>
912
913       <para>IPv6 multicast forwarding is now dynamically loadable, via
914         the <filename>ip_mroute.ko</filename> module.</para>
915
916       <para>IPv6 link-local addresses are now enabled only
917         if <varname>ipv6_enable</varname> is set in &man.rc.conf.5;.
918         &merged;</para>
919
920       <para>The &man.ipfw.4; IP packet filter now supports IPv6.  &merged;</para>
921
922       <para>The &man.ipfw.4; firewall system now supports
923         a <literal>tablearg</literal> feature, which allows
924         values obtained from a table lookup to be used as part of a
925         rule.   &merged;
926         This feature can be used to optimize some rulesets
927         or to implement policy-based routing inside a firewall.
928         For example, the following rules will throw different
929         packets to different pipes:</para>
930
931       <programlisting>pipe 1000 config bw 1000Kbyte/s
932 pipe 4000 config bw 4000Kbyte/s
933 table 1 add x.x.x.x 1000
934 table 1 add x.x.x.y 4000
935 pipe tablearg ip from table(1) to any</programlisting>
936
937       <para>The &man.ipfw.4; packet filter now supports
938         <literal>tag</literal> and <literal>untag</literal> rule keywords.
939         When a packet matches a rule with the <literal>tag</literal>
940         keyword, the numeric tag for the given number in the range
941         from 0 to 65535 will be attached to the packet.
942         The tag acts as an internal marker (it is not sent out over
943         the wire) that can be used to identify these packets later on,
944         for example, by using <literal>tagged</literal>
945         rule option.  For more details, see &man.ipfw.8;. &merged;</para>
946
947       <para>The <literal>IPFIREWALL_FORWARD_EXTENDED</literal> kernel
948         option has been removed.  This option was used to permit
949         &man.ipfw.4; to redirect packets with local destinations.
950         This behavior is now always enabled when
951         the <literal>IPFIREWALL_FORWARD</literal> kernel option is
952         enabled. &merged;</para>
953
954       <para>The ip6fw(8) packet filter has been removed.  Since &man.ipfw.4; has gained
955         IPv6 support, it should be used instead.  Please note that some rules might need
956         to be adjusted.</para>
957
958       <para>The &man.natm.4;, Native Mode ATM protocol layer is now MPSAFE.</para>
959
960       <para>A new &man.ng.deflate.4; NetGraph node type has been
961         added.  It implements Deflate PPP compression. &merged;</para>
962
963       <para>The &man.ng.ether.4; Netgraph node no longer overwrites
964         the MAC address of outgoing frames by default. &merged;</para>
965
966       <para>The &man.ng.iface.4; Netgraph node now supports &man.altq.4;.
967         &merged;</para>
968
969       <para>A new &man.ng.pred1.4; NetGraph node type has been added
970         to implement Predictor-1 PPP compression. &merged;</para>
971
972       <para>The &man.ng.tag.4; Netgraph node has been added to
973         support the manipulation of mbuf tags attached to data in the
974         kernel.  &merged;</para>
975
976       <para>A bug has been fixed in which NFS over TCP would not reconnect
977         when the server sent a FIN.  This problem had occurred
978         with Solaris NFS servers.  &merged;</para>
979
980       <para>The default retransmit timer for NFS over TCP is now 60 seconds.
981         This change prevents the unnecessary retransmission of
982         non-idempotent NFS requests.  The <varname>nfs_access_cache</varname>
983         variable in &man.rc.conf.5; has also been changed to 60.</para>
984
985       <para>The default minimum number of nfsiod kernel threads
986         (&man.sysctl.8; variable <varname>vfs.nfs.iodmin</varname>)
987         has been changed from 4 to 0.</para>
988
989       <para>The sysctl variables <varname>net.inet.ip.portrange.reservedhigh</varname>
990         and <varname>net.inet.ip.portrange.reservedlow</varname>
991         can be used with IPv6 now. &merged;</para>
992
993       <para>A new sysctl variable <varname>net.inet.icmp.reply_from_interface</varname>
994         has been added.  This allows the &man.icmp.4;
995         reply to non-local packets to be generated with
996         the IP address the packet came through in.
997         This is useful for routers to show in &man.traceroute.8;
998         the actual path a packet has taken instead of
999         the possibly different return path.</para>
1000
1001       <para>A new sysctl variable <varname>net.inet.icmp.quotelen</varname>
1002         has been added.  This allows to change length of
1003         the quotation of the original packet in an ICMP reply.
1004         The minimum of 8 bytes is internally enforced.
1005         The maximum quotation is the remaining space in the
1006         reply mbuf.  This option is added in response to the
1007         issues raised in I-D
1008         <filename>draft-gont-icmp-payload-00.txt</filename>.</para>
1009
1010       <para>The &man.icmp.4; now always quotes the entire TCP header
1011         when responding and allocate an mbuf cluster if needed.
1012         This change fixes the TCP issues raised in I-D
1013         <filename>draft-gont-icmp-payload-00.txt</filename>.</para>
1014
1015       <para>A new socket option <literal>IP_MINTTL</literal> has been added.
1016         This may be used to set the minimum acceptable
1017         TTL a packet must have when received on a socket.
1018         All packets with a lower TTL are silently dropped.
1019         This works on already connected/connecting and
1020         listening sockets for RAW, UDP, and TCP.  This option
1021         is only really useful when set to <literal>255</literal>, preventing packets
1022         from outside the directly connected networks reaching
1023         local listeners on sockets.  Also, this option allows
1024         userland implementation of <quote>The Generalized TTL
1025           Security Mechanism (GTSM)</quote> found in RFC 3682.</para>
1026
1027       <para>The kernel &man.ppp.4; driver now supports IPv6.</para>
1028
1029       <para>Stealth forwarding now supports IPv6 as well as IPv4.
1030         This behavior can be controlled by using a new sysctl variable
1031         <varname>net.inet6.ip6.stealth</varname>.</para>
1032
1033       <para>Support has been added for the Stream Control Transmission
1034         Protocol (SCTP).  SCTP implements a reliable, message-oriented
1035         transport protocol, and is defined in RFC 3268.  It is enabled
1036         in &os; with the <literal>SCTP</literal> kernel option.</para>
1037
1038       <para>The <literal>IPV6_V6ONLY</literal> socket option
1039         now works for UDP.</para>
1040
1041       <para>The TCP bandwidth-delay product limiting feature has
1042         been disabled when the RTT is below a certain threshold.
1043         This optimization does not make sense on a LAN, as it has
1044         trouble figuring out the maximal bandwidth due to the coarse
1045         tick granularity.  A new sysctl variable
1046         <varname>net.inet.tcp.inflight.rttthresh</varname> specifies
1047         the threshold in milliseconds below which this feature
1048         will disengage.  It defaults to 10ms.  &merged;</para>
1049
1050       <para>The &os; network stack now has support for TCP
1051         Segmentation Offload (TSO).  TSO reduces the overhead of
1052         sending bulk TCP data by allowing a network interface to
1053         convert a large data transfer into multiple TCP segments to be
1054         sent on the network.  This functionality can be enabled or
1055         disabled on a per-interface basis with
1056         the <literal>tso</literal> and <literal>-tso</literal> flags
1057         to &man.ifconfig.8;.  Network interfaces and drivers
1058         supporting TSO currently include &man.em.4;,
1059         &man.mxge.4; and &man.cxgb.4;.</para>
1060
1061       <para>&os; now supports auto-sizing of TCP socket buffers.  This
1062         allows the socket buffer sizes to adapt dynamically to network
1063         conditions, rather than being set statically.  The behavior of
1064         this feature can be controlled using
1065         the <varname>net.inet.tcp.sendbuf_*</varname>
1066         and <varname>net.inet.tcp.recvbuf_*</varname> sysctl
1067         variables.</para>
1068
1069       <para>Support for &man.kqueue.2; operations has been added to
1070         the &man.tun.4; driver. &merged;</para>
1071
1072     </sect3>
1073
1074     <sect3 id="disks">
1075       <title>Disks and Storage</title>
1076
1077       <para>The &man.aac.4; driver now supports the Adaptec 2610SA SATA-RAID
1078         controller in some Hewlett-Packard machines.</para>
1079
1080       <para>The performance of the &man.amr.4; driver has been improved;
1081         it also now supports full 64-bit DMA.  While this feature is
1082         enabled by default, this can be forced off by setting the
1083         <varname>hw.amr.force_sg32</varname> loader tunable for
1084         debugging purpose.
1085         &merged;</para>
1086
1087       <para>The &man.amr.4; driver now supports the &man.ioctl.2; requests
1088         necessary for the Linux LSI MegaRaid tools in &os;'s Linux emulation
1089         environment.
1090         &merged;</para>
1091
1092       <para>The &man.arcmsr.4; driver has been updated to version
1093         1.20.00.13. &merged;</para>
1094
1095       <para>The &man.ata.4; driver now supports a workaround
1096         for some controllers whose DMA does not work properly
1097         in 48bit mode.  For affected controllers,
1098         PIO mode will be used for access to areas beyond 137GB.
1099         &merged;</para>
1100
1101       <para>The &man.ata.4; driver now supports the ITE IT8211F IDE controller,
1102         and the Promise PDC40718 and PDC40719 chip found in Promise
1103         Fasttrak TX4300.
1104         &merged;</para>
1105
1106       <para>The &man.ata.4; driver now supports DMA for kernel crash dumps,
1107         as well as crash dumping to an &man.ataraid.4; device.
1108         &merged;</para>
1109
1110       <para>The &man.ata.4; driver now supports USB mass storage class
1111         devices.  To enable it, a line <literal>device atausb</literal>
1112         in the kernel configuration file or loading the
1113         <filename>atausb</filename> kernel module is needed.
1114         Note that this functionality cannot coexist with the
1115         &man.umass.4; driver. &merged;</para>
1116
1117       <para>The &man.ataraid.4; driver now supports
1118         JMicron ATA RAID metadata.  &merged;</para>
1119
1120       <para>The <literal>GEOM_LABEL</literal> class now supports
1121         Ext2FS, NTFS, and ReiserFS.  &merged;</para>
1122
1123       <para>The <literal>GEOM_MIRROR</literal> class now supports
1124         kernel crash dumps to the GEOM providers.
1125         &merged;</para>
1126
1127       <para>The <literal>GEOM_MIRROR</literal> and <literal>GEOM_RAID3</literal>
1128         classes now support sysctl variables
1129         <varname>kern.geom.mirror.disconnect_on_failure</varname>
1130         and
1131         <varname>kern.geom.graid3.disconnect_on_failure</varname>
1132         to control whether failed components will be disconnected or not.
1133         The default value is <literal>1</literal> to preserve the current
1134         behavior, and if it is set to <literal>0</literal> such components
1135         are not disconnected and the kernel will try to still use them
1136         (only the first error will be logged).
1137         This is helpful for the case of multiple broken components (in
1138         different places), so actually all data is available.
1139         The broken components will be visible in <command>gmirror list</command>
1140         or <command>graid3 list</command> output with flag
1141         <literal>BROKEN</literal>.
1142         &merged;</para>
1143
1144       <para>The <literal>GEOM_MIRROR</literal> and <literal>GEOM_RAID3</literal>
1145         classes now use parallel I/O requests for synchronization
1146         to improve the performance.  New sysctl variables
1147         <varname>kern.geom.mirror.sync_requests</varname> and
1148         <varname>kern.geom.raid3.sync_requests</varname>
1149         define how many parallel I/O requests should be used.
1150         Also, the sysctl variables
1151         <varname>kern.geom.mirror.reqs_per_sync</varname>,
1152         <varname>kern.geom.mirror.syncs_per_sec</varname>,
1153         <varname>kern.geom.raid3.reqs_per_sync</varname>, and
1154         <varname>kern.geom.raid3.syncs_per_sec</varname>
1155         are deprecated and have been removed.
1156         &merged;</para>
1157
1158       <para>A new GEOM_MULTIPATH class has been added to support
1159         multiple access paths to disk devices.  The &man.gmultipath.8;
1160         utility has been added to control the behavior of disk devices
1161         using this feature.</para>
1162
1163       <para>A new GEOM class <literal>GEOM_ZERO</literal> has been added.
1164         It creates a very huge provider (41PB) <filename>/dev/gzero</filename>
1165         and is mainly useful for performance testing.
1166         On <literal>BIO_READ</literal> request it zero-fills
1167         <varname>bio_data</varname> and on <literal>BIO_WRITE</literal>
1168         it does nothing.
1169         &merged;</para>
1170
1171       <para>The GEOM class kernel module <filename>g_md.ko</filename>
1172         has been renamed to <filename>geom_md.ko</filename>
1173         for consistency.</para>
1174
1175       <para>[&arch.amd64;, &arch.i386;] The &man.hptmv.4; driver has been updated and now supports
1176         amd64 as well as PAE.</para>
1177
1178       <para>The &man.mfi.4; driver, which supports
1179         the LSI MegaRAID SAS controller family, has been added.
1180         &merged;</para>
1181
1182       <para>The &man.mpt.4; driver has been updated to support
1183         various new features such as RAID volume and RAID member
1184         state/settings reporting, periodic volume re-synchronization
1185         status reporting, and sysctl variables for volume
1186         re-synchronization rate, volume member write cache status,
1187         and volume transaction queue depth.</para>
1188
1189       <para>The &man.mpt.4; driver now supports SAS HBA (partially),
1190         64-bit PCI, and large data transfer.</para>
1191
1192       <para>The &man.twa.4; driver has been updated to the 9.3.0.1
1193         release on the 3ware Web site.  &merged;</para>
1194
1195       <para>A new GEOM-based disk encryption facility, GEOM_ELI, has been
1196         added.  It uses the &man.crypto.9; framework for hardware acceleration
1197         and supports different cryptographic algorithms.  See &man.geli.8; for
1198         more information. &merged;</para>
1199
1200       <para>The &man.geli.8; disk encryption system now supports loading keyfiles before the root
1201         file system is mounted.  &merged;
1202         For example, the following entries
1203         can be used in <filename>/boot/loader.conf</filename> to enable
1204         it:</para>
1205
1206       <programlisting>geli_da0_keyfile0_load="YES"
1207 geli_da0_keyfile0_type="da0:geli_keyfile0"
1208 geli_da0_keyfile0_name="/boot/keys/da0.key0"
1209 geli_da0_keyfile1_load="YES"
1210 geli_da0_keyfile1_type="da0:geli_keyfile1"
1211 geli_da0_keyfile1_name="/boot/keys/da0.key1"
1212 geli_da0_keyfile2_load="YES"
1213 geli_da0_keyfile2_type="da0:geli_keyfile2"
1214 geli_da0_keyfile2_name="/boot/keys/da0.key2"
1215
1216 geli_da1s3a_keyfile0_load="YES"
1217 geli_da1s3a_keyfile0_type="da1s3a:geli_keyfile0"
1218 geli_da1s3a_keyfile0_name="/boot/keys/da1s3a.key"</programlisting>
1219
1220       <para>&man.geli.8; is now able to perform data integrity
1221         verification (data authentication) of encrypted data stored on
1222         disk.  Note that the encryption algorithm is now specified to
1223         the &man.geli.8; control program using the <option>-e</option>
1224         option; the <option>-a</option> option is now used to specify
1225         the authentication algorithm. &merged;</para>
1226
1227       <para>The &man.umass.4; driver now supports
1228         <literal>PLAY_MSF</literal>,
1229         <literal>PLAY_TRACK</literal>,
1230         <literal>PLAY_TRACK_REL</literal>,
1231         <literal>PAUSE</literal>,
1232         <literal>PLAY_12</literal> commands so that
1233         the &man.cdcontrol.1; utility can handle a USB CD drive.</para>
1234     </sect3>
1235
1236     <sect3 id="fs">
1237       <title>File Systems</title>
1238
1239       <para>[&arch.amd64;, &arch.i386;, &arch.pc98;] The &man.linsysfs.5;
1240         pseudo-file system driver has been added.
1241         It provides a subset of the
1242         Linux <filename>sys</filename> file system, and is required for
1243         the correct operation of some Linux binaries (such as the LSI
1244         MegaRAID SAS utility). &merged;</para>
1245
1246       <para>A part of the FreeBSD NFS subsystem (the interface with
1247         the protocol stack and callouts, the NFS client side) is now MPSAFE.</para>
1248
1249       <para>Initial (read-only) support for SGI's XFS file system has been
1250         added.</para>
1251
1252       <para>The unionfs file system has been re-implemented.  This
1253         version solves many crashing and locking issues compared to
1254         the previous implementation.  It also adds
1255         new <quote>transparent</quote> and <quote>masquerade</quote>
1256         modes for automatically creating files in the upper file system
1257         layer of unions.  More information can be found in the
1258         &man.mount.unionfs.8; manual page.  &merged;</para>
1259
1260     </sect3>
1261   </sect2>
1262
1263   <sect2 id="userland">
1264     <title>Userland Changes</title>
1265
1266     <para>The addr2ascii() and ascii2addr() library calls, originally
1267       introduced by the INRIA IPv6 implementation, have been removed
1268       from <filename>libc</filename>.  They have no consumers in the
1269       &os; base system.  In a related change, support
1270       for <literal>AF_LINK</literal> addresses has been added to
1271       &man.getnameinfo.3;.</para>
1272
1273     <para>Padding of <varname>ai_addrlen</varname>
1274       in <varname>struct addrinfo</varname> has been removed,
1275       which was originally for the ABI compatibility.
1276       For example, this change breaks the ABI compatibility of the
1277       &man.getaddrinfo.3; function on 64-bit architectures, including
1278       &os;/amd64, &os;/ia64, and &os;/sparc64.</para>
1279
1280     <para>The &man.asf.8; utility has been revised and extended.  Now
1281       it can operate via several interfaces including &man.kvm.3;,
1282       which supports not only live systems, but also kernel crash dumps.
1283       &merged;</para>
1284
1285     <para>The &man.arp.8; utility now allows the <option>-i</option>
1286       option together with the <option>-d</option> and <option>-a</option> options
1287       to allow all entries for a given interface to be removed.</para>
1288
1289     <para>The OpenBSM userland tools, including &man.audit.8;,
1290       &man.auditd.8;,
1291       &man.auditreduce.1;, and
1292       &man.praudit.1;, have been added. &merged;</para>
1293
1294     <para>The &man.bsdiff.1; and &man.bspatch.1; utilities
1295       have been added.  These are tools for constructing and
1296       applying binary patches.  &merged;</para>
1297
1298     <para>The &man.bsnmpd.1; utility now supports the Host Resources
1299       MIB described in RFC 2790.  &merged;</para>
1300
1301     <para>&man.cached.8; has been added.  It is a daemon that caches
1302       the results of nsswitch lookups (such as those to the password,
1303       group, and services databases) for improved performance.</para>
1304
1305     <para>The &man.cmp.1; utility now supports an <option>-h</option>
1306       flag to compare the symbolic link itself rather than the
1307       file that the link points to. &merged;</para>
1308
1309     <para>The &man.config.8; utility now supports the <literal>nocpu</literal>
1310       directive, which cancels the effect of a
1311       previous <literal>cpu</literal> directive.  &merged;</para>
1312
1313     <para>The &man.config.8; utility now reads <filename>DEFAULTS</filename>
1314       kernel configuration file if it exists in the current directory
1315       before the specified configuration file.  &merged;</para>
1316
1317     <para>The &man.cp.1; utility now supports a <option>-l</option>
1318       option, which causes it to create hardlinks to the source files
1319       instead of copying them. &merged;</para>
1320
1321     <para>The &man.csh.1; utility now supports NLS catalogs.
1322       Note that this requires installing
1323       the <filename role="package">shells/tcsh_nls</filename> port.
1324       &merged;</para>
1325
1326     <para>The &man.csup.1; utility has been imported.
1327       This is an implementation of a CVSup-compatible client written
1328       in the C language.  Note that it currently supports checkout mode
1329       only. &merged;</para>
1330
1331     <para>The &man.dhclient.8; program now sends the host's name in
1332       DHCP requests if it is not specified in the configuration
1333       file. &merged;</para>
1334
1335     <para>The &man.devd.8; utility now supports a <option>-f</option> option
1336       to specify a configuration file.  &merged;</para>
1337
1338     <para>The &man.du.1; program now supports a <option>-n</option>
1339       flag, which causes it to ignore files and directories with
1340       the <literal>nodump</literal> flag set. &merged;</para>
1341
1342     <para>The &man.dump.8; and &man.restore.8; programs now attempt to
1343       save and restore extended attribute information on files.</para>
1344
1345     <para>The &man.fsdb.8; utility now supports changing the birth
1346       time of files on UFS2 file systems using the new 
1347       <literal>btime</literal> command. &merged;</para>
1348
1349     <para>The &man.fsdb.8; program now supports
1350       a <literal>findblk</literal> command, which finds the inode(s)
1351       owning a specific disk block. &merged;</para>
1352
1353     <para>The &man.find.1; program now supports <option>-Btime</option>
1354       and other related primaries, which can be used to create expressions
1355       based on a file's creation time. &merged;</para>
1356
1357     <para>A bug in the &man.find.1; program which prevents
1358       numeric arguments for <option>-user</option> and
1359       <option>-group</option> from working as expected
1360       has been fixed.</para>
1361
1362     <para>The &man.freebsd-update.8; utility, a tool for managing
1363       binary updates to the &os; base system, has been added. &merged;</para>
1364
1365     <para>The &man.ftpd.8; utility now creates a PID file
1366       <filename>/var/run/ftpd.pid</filename> even when
1367       no <option>-p</option> option is specified.  &merged;</para>
1368
1369     <para>The &man.gbde.8; utility now supports
1370       <option>-k</option> and <option>-K</option> options
1371       to specify a key file in addition to a passphrase.</para>
1372
1373     <para>The &man.getfacl.1; utility now supports
1374       a <option>-q</option> flag to suppress the per-file header
1375       comment listing the file name, owner, and group.
1376       &merged;</para>
1377
1378     <para>The &man.getent.1; utility has been imported from NetBSD.
1379       It retrieves and displays information from an administrative
1380       database (such as <filename>hosts</filename>) using the lookup
1381       order specified in &man.nsswitch.conf.5;. &merged;</para>
1382
1383     <para>The &man.gpt.8; utility now supports setting GPT partition labels.</para>
1384
1385     <para>The &man.gvinum.8; utility now supports commands
1386       to rename objects and to move a subdisk from
1387       one drive to another.  &merged;</para>
1388
1389     <para>The &man.gvinum.8; utility now supports the
1390       <command>resetconfig</command> sub-command.</para>
1391
1392     <para>An implementation of Generic Security Service API (GSS-API)
1393       version 2 and its C binding described in RFC2743 and RFC2744
1394       has been added.  This is a new extensible GSS-API layer which
1395       can support GSS-API plugins, similar the the Solaris
1396       implementation, and the Kerberos 5 GSS mechanism has
1397       been rewritten as a plugin library for the new implementation.</para>
1398
1399     <para>The &man.hccontrol.8; utility now supports HCI node
1400       autodetection.</para>
1401
1402     <para>The &man.id.1; utility now prints the effective user
1403       ID after the group ID.</para>
1404
1405     <para>The &man.id.1; utility now supports a <option>-A</option>
1406       flag to print process audit properties, including the audit user
1407       id. &merged;</para>
1408
1409     <para>The &man.ifconfig.8; utility now supports
1410       a <option>-k</option> flag to allow printing
1411       potentially sensitive keying material to standard output.
1412       This sensitive information will not be printed by default.</para>
1413
1414     <para>The &man.ifconfig.8; utility now supports a <option>-tunnel</option>
1415       parameter, which is just an alias for <option>deletetunnel</option>,
1416       yet is more convenient and easier to type.</para>
1417
1418     <para>The <option>-vlandev</option> parameter to &man.ifconfig.8;
1419       no longer requires a network interface as its argument.  The
1420       argument still is supported for backward compatibility, but
1421       is now deprecated and its use is discouraged.</para>
1422
1423     <para>The &man.iostat.8; utility now supports
1424       a <option>-x</option> flag (inspired by Solaris) to print
1425       extended disk statistics.  If the new <option>-z</option> flag is
1426       also specified, no output is made for disks with no
1427       activity. &merged;</para>
1428
1429     <para>The &man.ipfwpcap.8; utility has been added; it captures
1430       packets on a &man.divert.4; socket and writes them as
1431       &man.pcap.3; (also known as &man.tcpdump.1;) format data to a
1432       file or pipe.</para>
1433
1434     <para>The &man.jail.8; utility supports a <option>-J
1435         <replaceable>jid_file</replaceable></option> option to
1436       write out a JidFile, similar to a PidFile, containing
1437       the jailid, path, hostname, IP and the command used to start
1438       the jail.  &merged;</para>
1439
1440     <para>The &man.jail.8; program now supports a <option>-s</option>
1441       option to specify a jail's securelevel. &merged;</para>
1442
1443     <para>The &man.jexec.8; utility now supports <option>-u</option>
1444       and <option>-U</option> flags to specify username credentials
1445       under which a command should be executed. &merged;</para>
1446
1447     <para>The &man.kdump.1; program now supports a <option>-H</option>
1448       flag, which causes kdump to print an additional field holding
1449       the threadid.  &merged;</para>
1450
1451     <para>The &man.kdump.1; program now supports a <option>-s</option>
1452       flag to suppress the display of I/O data.  &merged;</para>
1453
1454     <para>The &man.kdump.1; program now supports printing
1455       flags in a system call argument by using symbol names.</para>
1456
1457     <para>The &man.kenv.1; utility now supports a <option>-q</option>
1458       flag to suppress warnings.</para>
1459
1460     <para>&man.kgdb.1; now supports a <option>-w</option>
1461       option to open kmem-based targets in read-write mode.
1462       This allows one to use kgdb on <filename>/dev/mem</filename>
1463       and be able to patch memory on a live system.</para>
1464
1465     <para>The &man.libarchive.3; library now supports
1466       POSIX.1e-style Extended Attributes.</para>
1467
1468     <para>The <application>libc</application> library now includes
1469       initial implementation of symbol maps and symbol version
1470       definitions.</para>
1471
1472     <para>The <application>libedit</application> library has been
1473       updated from the NetBSD source tree as of August 2005.</para>
1474
1475     <para>The <application>libm</application> library now includes
1476       initial implementation of symbol maps and symbol version
1477       definitions.</para>
1478
1479     <para>The &man.libmemstat.3; library has been added.
1480       This is for use by debugging and monitoring applications
1481       in tracking kernel memory statistics.  It provides an
1482       abstracted interface to &man.uma.9; and &man.malloc.9;
1483       statistics, wrapped around the binary stream sysctl variables
1484       for the allocators. &merged;</para>
1485
1486     <para>The &man.ln.1; utility now supports
1487       an <option>-F</option> flag, which deletes existing
1488       empty directories when creating symbolic links.
1489       &merged;</para>
1490
1491     <para>The &man.locate.1; utility now supports
1492       a <option>-0</option> flag to make this utility
1493       interoperable with &man.xargs.1;'s <option>-0</option> flag.
1494       &merged;</para>
1495
1496     <para>The &man.logger.1; utility now supports
1497       a <option>-P</option>, which specifies the port to which syslog
1498       messages should be sent. &merged;</para>
1499
1500     <para>The &man.ls.1; utility now supports
1501       an <option>-I</option> flag to disable the automatic
1502       <option>-A</option> flag for the superuser.  &merged;</para>
1503
1504     <para>The &man.ls.1; utility now supports
1505       an <option>-U</option> flag to use the file creation
1506       time for sorting. &merged;</para>
1507
1508     <para>A new &man.malloc.3; implementation has been introduced.
1509       This implementation, sometimes referred to
1510       as <quote>jemalloc</quote>, was designed to improve the
1511       performance of multi-threaded programs, particularly on SMP
1512       systems, while preserving the performance of single-threaded
1513       programs.  Due to the use of different algorithms and data
1514       structures, jemalloc may expose some previously-unknown bugs in
1515       userland code, although most of the &os; base system and common
1516       ports have been tested and/or fixed.</para>
1517
1518     <para>The &man.mdconfig.8; utility now supports producing
1519       device listings formatted as XML.  Currently, the
1520       <command>list</command> and <command>query</command>
1521       sub-commands support this feature.</para>
1522
1523     <para>The &man.mdconfig.8; utility's <option>-u</option> option
1524       now supports specifying multiple devices separated
1525       by comma character.</para>
1526
1527     <para>The &man.mdmfs.8; utility now supports a <option>-P</option> flag
1528       to allow skipping the &man.newfs.8; process
1529       when using a vnode-backed disk.</para>
1530
1531     <para>The &man.mdmfs.8; utility now supports a <option>-E</option> flag
1532       to allow to specify location of the &man.mdconfig.8;
1533       utility instead of using the default one
1534       (<filename>/sbin/mdconfig</filename>).</para>
1535
1536     <para>A new function &man.memmem.3; has been implemented in
1537       <filename>libc</filename>.  This is the binary equivalent to
1538       &man.strstr.3; and found in <filename>glibc</filename>.</para>
1539
1540     <para>The &man.mergemaster.8; utility now supports
1541       an <option>-A</option> option to explicitly specify
1542       an architecture to pass through to the underlying makefiles.
1543       &merged;</para>
1544
1545     <para>The &man.mount.8; <literal>nodev</literal> option has
1546       been removed.</para>
1547
1548     <para>The &man.mount.8; utility now supports &man.mqueuefs.5;.</para>
1549
1550     <para>A bug which prevents the &man.mount.8; utility from converting
1551       a read-only mount to read-write via <command>mount -u -o rw</command>,
1552       has been fixed.</para>
1553
1554     <para>The &man.mount.8; utility now supports a
1555       <literal>late</literal> keyword in &man.fstab.5;, along with a
1556       corresponding <option>-l</option> command-line option to specify
1557       that these <quote>late</quote> file systems should be
1558       mounted. &merged;</para>
1559
1560     <para>The &man.moused.8; daemon now supports an <option>-H</option> flag
1561       to enable horizontal virtual scrolling similar to the
1562       <option>-V</option> flag for vertical virtual scrolling.
1563       &merged;</para>
1564
1565     <para>The mrouted(8) multicast routing daemon has been removed
1566       from the &os; base system.  It implements the DVMRP multicast
1567       routing protocol, which has largely been replaced by PIM in many
1568       multicast installations.  The related map-mbone(8) and mrinfo(8)
1569       utilities have also been removed.  These programs are now
1570       available in the &os; Ports Collection
1571       as <filename role="package">net/mrouted</filename>.</para>
1572
1573     <para>The &man.netstat.1; utility now supports an
1574       <option>-h</option> flag for interface stats mode,
1575       which prints all interface statistics in human readable form. &merged;</para>
1576
1577     <para>The &man.netstat.1; utility now supports
1578       printing &man.ipsec.4; protocol statistics if the
1579       kernel was compiled with <literal>FAST_IPSEC</literal>
1580       rather than the KAME IPSEC stack.
1581       Note that the output of <command>netstat -s -p ipsec</command>
1582       differs depending on which stack is compiled into
1583       the kernel since they each keep different statistics.  &merged;</para>
1584
1585     <para>The <filename>/etc/nsswitch.conf</filename> file is now
1586       installed statically instead of being generated on every
1587       reboot.</para>
1588
1589     <para>The objformat(1) utility and getobjformat(3) library (the
1590       last remnants of a.out object file support) have been removed.</para>
1591
1592     <para>The &man.periodic.8; daily script now supports
1593       display of the status of &man.gmirror.8;, &man.graid3.8;,
1594       &man.gstripe.8;, and &man.gconcat.8; devices.
1595       Note that these are disabled by default.  &merged;</para>
1596
1597     <para>A new function, &man.pidfile.3;, which provides reliable
1598       pidfiles handling, has been implemented in
1599       <filename>libutil</filename>.  &merged;</para>
1600
1601     <para>The &man.ping.8; utility now supports a <quote>sweeping
1602         ping</quote> in which &man.icmp.4; payload of
1603       packets being sent is increased with given step.
1604       This is useful for testing problematic channels, MTU issues
1605       or traffic policing functions in networks.  &merged;</para>
1606
1607     <para>The &man.ping.8; command now supports a <option>-W</option>
1608       option to specify the maximum time to wait for an echo reply.
1609       &merged;</para>
1610
1611     <para>The &man.pkill.1; utility now supports a
1612       <option>-F</option> option which allows to
1613       restrict matches to a process whose PID is stored in the
1614       pidfile file.  When another new option <option>-L</option>
1615       is also specified, the pidfile file must be locked with the
1616       &man.flock.2; syscall or created with &man.pidfile.3;.</para>
1617
1618     <para>The &man.pkill.1; utility now supports a
1619       <option>-I</option> flag which works like <option>-i</option>
1620       of &man.rm.1;.  When this flag is specified, &man.pkill.1;
1621       will ask for confirmation before sending a signal to
1622       each matching process.</para>
1623
1624     <para>The &man.pkill.1; utility (also known as &man.pgrep.1;) has
1625       been moved from <filename>/usr/bin</filename>
1626       to <filename>/bin</filename> so that it can be used by startup
1627       scripts.  Symbolic links from its former location have been
1628       created for backward compatibility. &merged;</para>
1629
1630     <para>The &man.powerd.8; program now supports a
1631       <option>-P</option> option, which specifies a pidfile to use.</para>
1632
1633     <para>An extensible implementation of &man.printf.3;, compatible
1634       with GLIBC, has been added to <filename>libc</filename>.  It is
1635       only used if the environment variable
1636       <varname>USE_XPRINTF</varname> is defined, one of the extension
1637       functions is called, or the global variable
1638       <varname>__use_xprintf</varname> is set to a value greater than
1639       <literal>0</literal>.  Five extensions are currently supported:
1640       <literal>%H</literal> (hex dump),
1641       <literal>%T</literal> (<varname>time_t</varname> and
1642       time-related structures),
1643       <literal>%M</literal> (errno message),
1644       <literal>%Q</literal> (double-quoted, escaped string),
1645       <literal>%V</literal> (&man.strvis.3;-format string),
1646       &merged;</para>
1647
1648     <para>The DNS resolver library in &os;'s <application>libc</application>
1649       has been updated to that from BIND 9.3.3. &merged;</para>
1650
1651     <para>The &man.rfcomm.sppd.1; program now supports service names
1652       in addition to <option>-c</option> option with channel number.
1653       The supported names are: DUN (Dial-Up Networking), FAX (Fax),
1654       LAN (LAN Access Using PPP), and SP (Serial Port).  &merged;</para>
1655
1656     <para>The &man.rpcgen.1; utility now generates headers and stub files
1657       that can be used with ANSI C compilers by default.</para>
1658
1659     <para>The &man.rtld.1; runtime linker now supports ELF symbol versioning
1660       using GNU semantics.  This implementation aims to be compatible
1661       with symbol versioning support as implemented by GNU libc and
1662       documented in <ulink url="http://people.redhat.com/~drepper/symbol-versioning"></ulink>
1663       and LSB 3.0.  Also, <function>dlvsym()</function>
1664       function has been added to
1665       allow lookups for a specific version of a given symbol.</para>
1666
1667     <para>A bug in the &man.sed.1; utility which can cause
1668       incorrect calculation of pattern space length in some cases
1669       has been fixed.</para>
1670
1671     <para>The <option>-h</option> flag to &man.setfacl.1; now properly
1672       sets the ACL on a symbolic link, not the link target.</para>
1673
1674     <para>The &man.sh.1; utility now supports a <literal>times</literal>
1675       built-in command. &merged;</para>
1676
1677     <para>The &man.snapinfo.8; utility, which shows snapshot locations
1678       on UFS file systems, has been added.  &merged;</para>
1679
1680     <para>The &man.sockstat.1; utility, which shows connected and
1681       listening network sockets, now supports a new <option>-P</option>
1682       command-line option, which can be used to filter displayed sockets
1683       by protocol name (as listed in &man.protocols.5;).</para>
1684
1685     <para>The &man.strtonum.3; library function has been implemented
1686       based on OpenBSD's implementation.  This is an improved version of
1687       &man.strtoll.3;.  &merged;</para>
1688
1689     <para>The &man.sysctl.8; utility now supports a <option>-q</option>
1690       flag to suppress a limited set of warnings and errors.</para>
1691
1692     <para>The &man.tail.1; utility now supports a <option>-q</option>
1693       flag to suppress header lines when multiple files are
1694       specified. &merged;</para>
1695
1696     <para>The version of tcpslice in the &os; base system has been
1697       removed due to obsolescence.  A more up-to-date version can be
1698       found in the Ports Collection
1699       as <filename role="package">net/tcpslice</filename>.</para>
1700
1701     <para>The &man.time.1; utility now prints the time that a given
1702       command has been running if sent a <literal>SIGINFO</literal> signal.</para>
1703
1704     <para>The &man.traceroute.8; program now supports
1705       a <option>-D</option> flag, which causes it to display the
1706       differences between the sent and received
1707       packets. &merged;</para>
1708
1709     <para>The &man.traceroute.8; utility now supports
1710       a <option>-e</option> option, which sets a fixed destination
1711       port for probe packets.  This can be useful for tracing behind
1712       packet-filtering firewalls. &merged;</para>
1713
1714     <para>&man.traceroute.8; now decodes the complete set of ICMP
1715       unreachable messages in its output. &merged;</para>
1716
1717     <para>The &man.truss.1; utility now supports an <option>-s</option>
1718       flag for the same functionality as the strace utility
1719       (<filename role="package">devel/strace</filename>).</para>
1720
1721     <para>[&arch.powerpc;] The &man.truss.1; utility now supports &os;/powerpc.</para>
1722
1723     <para>The usbd(8) utility has been removed.
1724       The &man.devd.8; utility and its configuration
1725       file now support functionality which is equivalent to it.</para>
1726
1727     <para>The vnconfig(8) utility, which was long ago replaced by
1728       &man.mdconfig.8;, has been removed.</para>
1729
1730     <para>The &man.xargs.1; utility now supports a <option>-r</option>
1731       flag which makes the command execution when the standard input
1732       does not contain any non-whitespace-characters.  &merged;</para>
1733
1734     <para>The shared library version number of all libraries has
1735       been updated due to some possible ABI changes.  The libraries
1736       include: snmp_<replaceable>*</replaceable>, libdialog, libg2c, libobjc,
1737       libreadline, libregex, libstdc++, libkrb5, libalias, libarchive,
1738       libbegemot, libbluetooth, libbsnmp, libbz2, libc_r, libcrypt,
1739       libdevstat, libedit, libexpat, libfetch, libftpio, libgpib,
1740       libipsec, libkiconv, libmagic, libmp, libncp, libncurses,
1741       libnetgraph, libngatm, libopie, libpam, libpthread, libradius,
1742       libsdp, libsmb, libtacplus, libthr, libthread_db, libugidfw,
1743       libusbhid, libutil, libvgl, libwrap, libypclnt, libm, libcrypto,
1744       libssh, and libssl.</para>
1745
1746     <para>The <function>wcsdup()</function> function has been
1747       implemented.  This function is popular in Microsoft and GNU
1748       systems.</para>
1749
1750     <para>The &man.wpa.passphrase.8; utility has been added.  It
1751       generates a 256-bit pre-shared WPA key from an ASCII
1752       passphrase. &merged;</para>
1753
1754     <para>The compiler toolchain is now capable of generating
1755       executables for systems using the ARM processor. &merged;</para>
1756
1757     <sect3 id="rc-scripts">
1758       <title><filename>/etc/rc.d</filename> Scripts</title>
1759
1760       <para>The <filename>auditd</filename> script for
1761         OpenBSM &man.auditd.8; has been added. &merged;</para>
1762
1763       <para>The <filename>bluetooth</filename> script
1764         has been added.  This script will be called from
1765         &man.devd.8; in response to device attachment/detachment
1766         events and to stop/start particular device without unplugging
1767         it by hand.  The configuration parameters are in
1768         <filename>/etc/defaults/bluetooth.device.conf</filename>,
1769         and can be overridden by using
1770         <filename>/etc/bluetooth/<replaceable>$device</replaceable>.conf</filename>
1771         (where <replaceable>$device</replaceable> is <devicename>ubt0</devicename>,
1772         <devicename>btcc0</devicename>, and so on.)
1773         For more details, see &man.bluetooth.conf.5;.  &merged;</para>
1774
1775       <para>The <filename>ftpd</filename> script for
1776         stand-alone &man.ftpd.8; has been added.</para>
1777
1778       <para>The <filename>gbde_swap</filename> script has
1779         been removed in favor a new <filename>encswap</filename>
1780         script which also supports &man.geli.8; for swap
1781         encryption.</para>
1782
1783       <para>The <filename>geli</filename> and <filename>geli2</filename>
1784         scripts has been added for &man.geli.8; device
1785         configuration on boot.</para>
1786
1787       <para>The <filename>ike</filename> script for
1788         IPsec IKE daemon has been removed because no such daemon
1789         is included in the base system.</para>
1790
1791       <para>The <filename>hcsecd</filename> and
1792         <filename>sdpd</filename> scripts have been added
1793         for &man.hcsecd.8; and &man.sdpd.8; daemons.
1794         These daemons can run even if no Bluetooth devices
1795         are attached to the system, but both daemons depend on
1796         Bluetooth socket layer and thus disabled by default.
1797         Bluetooth sockets layer must be either loaded
1798         as a module or compiled into kernel before the daemons can run.
1799         &merged;</para>
1800
1801       <para>The <filename>hostapd</filename> script for
1802         &man.hostapd.8; has been added.  &merged;</para>
1803
1804       <para>The <filename>mdconfig</filename> script to
1805         handle vnode backed &man.md.4; devices has been added.
1806         This is a replacement of the <filename>ramdisk</filename>
1807         script, and all of variables in <varname>ramdisk_*</varname>
1808         have been changed to <varname>mdconfig_*</varname>.
1809         Also, two new &man.rc.conf.5; variables
1810         <varname>mdconfig_<replaceable>*</replaceable>_files</varname>
1811         and
1812         <varname>mdconfig_<replaceable>*</replaceable>_cmd</varname>
1813         have been added.  For example:</para>
1814
1815       <programlisting>mdconfig_md0="-t malloc -s 10m"
1816 mdconfig_md1="-t vnode -f /var/foo.img"</programlisting>
1817
1818       <para>The <filename>netif</filename> script now supports
1819         <varname>ipv4_addrs_<replaceable>ifn</replaceable></varname>
1820         variables,
1821         which add one or more IPv4 address from a ranged list in
1822         CIDR notation.  &merged;  For example:</para>
1823
1824       <programlisting>ipv4_addrs_ed0="192.168.0.1/24 192.168.1.1-5/28"</programlisting>
1825
1826       <para>The <filename>rcconf.sh</filename> script in <filename>/etc/rc.d</filename>
1827         has been removed and a variable <varname>early_late_divider</varname>,
1828         which designates the script to separate the early and late stages
1829         of the boot process, has been added.</para>
1830
1831       <para>The <filename>rc.initdiskless</filename> script now uses &man.tar.1;
1832         instead of &man.pax.1; because &man.pax.1; needs a writable
1833         temporary directory that may not be available when this script
1834         runs.</para>
1835
1836       <para>The <filename>pccard</filename> script has been removed
1837         since OLDCARD is deprecated.</para>
1838
1839       <para>The <filename>ppp-user</filename> script has been renamed to
1840         <filename>ppp</filename>.  &merged;</para>
1841
1842       <para>The <varname>removable_interfaces</varname> variable
1843         has been removed.</para>
1844
1845       <para>A new keyword <literal>NOAUTO</literal> in
1846         <varname>ifconfig_<replaceable>ifn</replaceable></varname>
1847         has been added. This prevents configuration of an interface
1848         at boot time or via <filename>/etc/pccard_ether</filename>,
1849         and allows <filename>/etc/rc.d/netif</filename>
1850         to be used to start and stop an interface
1851         on a purely manual basis.</para>
1852     </sect3>
1853   </sect2>
1854
1855   <sect2 id="contrib">
1856     <title>Contributed Software</title>
1857
1858     <para><application>Intel ACPI-CA</application>
1859       has been updated to 20070320.</para>
1860
1861     <para><application>BIND</application> has been updated from 9.3.1
1862       to 9.3.4. &merged;</para>
1863
1864     <para><application>BSNMPD</application> has been updated from
1865       1.11 to 1.12.</para>
1866
1867     <para><application>DRM</application> has
1868       been updated to a snapshot from DRI CVS as of 20060517.
1869       &merged;</para>
1870
1871     <para><application>FILE</application> has been updated from 4.12
1872       to 4.17.</para>
1873
1874     <para>The GNU version of <application>gzip</application> has been
1875       replaced with a modified version of gzip ported from NetBSD.
1876       &merged;</para>
1877
1878     <para><application>netcat</application> has been updated from the
1879       version in a 4 February 2005 OpenBSD snapshot to the version
1880       included in OpenBSD 3.9. &merged;</para>
1881
1882     <para><application>GCC</application> has been updated from 3.4.4
1883       to 3.4.6. &merged;</para>
1884
1885     <para><application>GNU Readline library</application> has been
1886       updated from 5.0 to 5.2 patch 1.</para>
1887
1888     <para><application>GNU Troff</application>
1889       has been updated from version 1.19 to version 1.19.2.
1890       &merged;</para>
1891
1892     <para><application>IPFilter</application> has been updated from
1893       4.1.8 to 4.1.13. &merged;</para>
1894
1895     <para><application>less</application> has been updated from v381
1896       to v394. &merged;</para>
1897
1898     <para><application>libpcap</application> has been updated from
1899       0.9.1 to 0.9.4. &merged;</para>
1900
1901     <para><application>lukemftpd</application> has been updated from a
1902       snapshot from NetBSD as of 9 August 2004 to a snapshot from
1903       NetBSD as of 31 August 2006. &merged;</para>
1904
1905     <para><application>OpenSSH</application> has been updated from
1906       4.2p1 to 4.5p1. &merged;</para>
1907
1908     <para><application>OpenSSL</application> has been updated from
1909       0.9.7e to 0.9.8e.</para>
1910
1911     <para><application>ncurses</application> has been updated from
1912       5.2-20010512 to 5.6-20061217.  ncurses now also has wide
1913       character support.</para>
1914
1915     <para><application>hostapd</application>
1916       has been updated from version 0.3.9 to version 0.4.8.
1917       &merged;</para>
1918
1919     <para><application>sendmail</application> has been updated from
1920       8.13.4 to 8.13.8. &merged;</para>
1921
1922     <para><application>tcpdump</application> has been updated from
1923       3.9.1 to 3.9.4. &merged;</para>
1924
1925     <para>The timezone database has been updated from the
1926       <application>tzdata2005l</application> release to the
1927       <application>tzdata2006n</application> release. &merged;</para>
1928
1929     <para><application>tip</application> has been updated to a
1930       snapshot from OpenBSD as of 20060831.</para>
1931
1932     <para>TrustedBSD <application>OpenBSM</application>,
1933       version 1.0 alpha 12, an implementation of the documented Sun Basic
1934       Security Module (BSM) Audit API and file format, as well as local
1935       extensions to support the Mac OS X and &os; operating systems
1936       has been added.  This also includes command line tools for audit
1937       trail reduction and conversion to text, as well as documentation
1938       of the commands, file format, and APIs.
1939       For this functionality, the <literal>AUDIT</literal> kernel option,
1940       <filename>/var/audit</filename> directory, and
1941       <literal>audit</literal> group have been added. &merged;</para>
1942
1943     <para><application>WPA Supplicant</application>
1944       has been updated from version 0.3.9 to version 0.4.8.
1945       &merged;</para>
1946
1947     <para><application>zlib</application>
1948       has been updated from version 1.2.2 to version 1.2.3. &merged;</para>
1949   </sect2>
1950
1951   <sect2 id="ports">
1952     <title>Ports/Packages Collection Infrastructure</title>
1953
1954     <para>&man.pkg.add.1; now supports an <option>-F</option>
1955       flag to disable checking whether the same package is already
1956       installed or not. &merged;</para>
1957
1958     <para>The &man.pkg.add.1; program now supports an <option>-P</option>
1959       flag, which is the same as the <option>-p</option> flag
1960       except that the given prefix is also used recursively for the
1961       dependency packages if any.  &merged;</para>
1962
1963     <para>The &man.pkg.add.1; and &man.pkg.create.1; utilities now support
1964       a <option>-K</option> flag to save packages to the current directory
1965       (or <varname>PKGDIR</varname> if defined) by default.
1966       &merged;</para>
1967
1968     <para>The &man.pkg.create.1; program now supports an <option>-x</option>
1969       flag to support basic regular expressions for package name,
1970       an <option>-E</option> flag for extended regular
1971       expressions, and a <option>-G</option> for exact matching.  &merged;</para>
1972
1973     <para>The &man.pkg.version.1; utility now supports an <option>-o</option>
1974       flag to show the origin recorded on package generation
1975       instead of the package name, and an <option>-O</option> flag
1976       to list packages with a specific registered origin.
1977       &merged;</para>
1978
1979     <para>The &man.portsnap.8; utility (<filename>sysutils/portsnap</filename>)
1980       has been added into the &os; base system.  This is a secure,
1981       easy to use, fast, lightweight, and generally good way for
1982       users to keep their ports trees up to date.  &merged;</para>
1983
1984     <para>A incorrect handling of <varname>HTTP_PROXY_AUTH</varname>
1985       in the &man.portsnap.8; utility has been fixed.  &merged;</para>
1986
1987     <para>The startup scripts from the <varname>local_startup</varname>
1988       directory now evaluated by using &man.rcorder.8; with scripts
1989       in the base system.  &merged;</para>
1990
1991     <para>The suffix of startup scripts from the Ports Collection
1992       has been removed.  This means <filename>foo.sh</filename>
1993       is renamed to <filename>foo</filename>, and now
1994       scripts whose name is something like
1995       <filename>foo.ORG</filename> will also be invoked.
1996       You are recommended to reinstall packages which install
1997       such scripts and remove extra files in the
1998       <varname>local_startup</varname> directory.  &merged;</para>
1999
2000     <para>New <filename>rc.conf</filename> variables,
2001       <varname>ldconfig_local_dirs</varname> and
2002       <varname>ldconfig_local32_dirs</varname> have been added.
2003       These hold lists of local &man.ldconfig.8; directories.
2004       &merged;</para>
2005
2006     <para>The <command>@cwd</command> command in
2007       <filename>pkg-plist</filename> now allows
2008       the case where no directory argument is given.  If no
2009       directory argument is given, it will set current
2010       working directory to the first prefix given by the
2011       <command>@cwd</command> command.  &merged;</para>
2012   </sect2>
2013
2014   <sect2 id="releng">
2015     <title>Release Engineering and Integration</title>
2016
2017     <para>The default partition sizing algorithm of the
2018       &man.sysinstall.8; utility has been changed.</para>
2019
2020     <itemizedlist>
2021       <listitem>
2022         <para>On systems where the disk capacity is larger than (3 * RAMsize + 10GB),
2023           the default sizes will now be as follows:</para>
2024
2025         <informaltable frame="none" pgwide="0">
2026           <tgroup cols="2">
2027             <colspec colwidth="1*">
2028             <colspec colwidth="2*">
2029             <thead>
2030               <row>
2031                 <entry>Partition</entry>
2032                 <entry>Size</entry>
2033               </row>
2034             </thead>
2035
2036             <tbody>
2037               <row><entry>swap</entry><entry>RAMsize * 2</entry></row>
2038               <row><entry><filename>/</filename></entry><entry>512 MB</entry></row>
2039               <row><entry><filename>/tmp</filename></entry><entry>512 MB</entry></row>
2040               <row><entry><filename>/var</filename></entry><entry>1024 MB + RAMsize</entry></row>
2041               <row><entry><filename>/usr</filename></entry><entry>the rest (8GB or more)</entry></row>
2042             </tbody>
2043           </tgroup>
2044         </informaltable>
2045       </listitem>
2046
2047       <listitem>
2048         <para>On systems where the disk capacity is larger than
2049           (RAMsize / 8 + 2 GB), the default sizes will be
2050           in the following ranges, with space allocated
2051           proportionally:</para>
2052
2053         <informaltable frame="none" pgwide="0">
2054           <tgroup cols="2">
2055             <colspec colwidth="1*">
2056             <colspec colwidth="2*">
2057             <thead>
2058               <row>
2059                 <entry>Partition</entry>
2060                 <entry>Size</entry>
2061               </row>
2062             </thead>
2063
2064             <tbody>
2065               <row><entry>swap</entry><entry>from RAMsize / 8 to RAMsize * 2</entry></row>
2066               <row><entry><filename>/</filename></entry><entry>from 256MB to 512MB</entry></row>
2067               <row><entry><filename>/tmp</filename></entry><entry>from 128MB to 512MB</entry></row>
2068               <row><entry><filename>/var</filename></entry><entry>from 128MB to 1024MB</entry></row>
2069               <row><entry><filename>/usr</filename></entry><entry>from 1536MB to 8192MB</entry></row>
2070             </tbody>
2071           </tgroup>
2072         </informaltable>
2073       </listitem>
2074
2075       <listitem>
2076         <para>On systems with even less disk space, the existing behavior is not
2077           changed.</para>
2078       </listitem>
2079     </itemizedlist>
2080
2081     <para>The &man.sysinstall.8; utility now displays the running &os;
2082       version in menu titles. &merged;</para>
2083
2084     <para>A new <literal>showconfig</literal>
2085       target has been added in <filename>src/Makefile</filename>
2086       to show the build configuration of the &os; source tree.</para>
2087
2088     <para>A <filename>/media</filename> directory has been
2089       added to contain mount points for removable media
2090       such as CDROMs, floppy disks, USB drives, and so on. &merged;</para>
2091
2092     <para>The <filename>src.conf</filename> file, which
2093       contains settings that will apply to every build involving
2094       the &os; source tree, has been added.
2095       For details, see &man.build.7; and &man.src.conf.5;.</para>
2096
2097     <para>The supported version of
2098       the <application>GNOME</application> desktop environment
2099       (<filename role="package">x11/gnome2</filename>) has been
2100       updated from 2.10.2 to 2.18.0.  As a part of this update, the
2101       default prefix for <application>GNOME</application> (and some
2102       related programs) has moved from
2103       <filename>/usr/X11R6</filename>
2104       to <filename>/usr/local</filename>.  &merged;</para>
2105
2106     <para>The supported version of
2107       the <application>KDE</application> desktop environment
2108       (<filename role="package">x11/kde3</filename>) has been
2109       updated from 3.4.2 to 3.5.6. &merged;</para>
2110
2111     <para>[&arch.amd64;, &arch.i386;] The supported Linux emulation now uses the
2112       libraries in the
2113       <filename role="package">emulators/linux_base-fc4</filename>
2114       package. &merged;</para>
2115
2116     <para>The supported version of
2117       the <application>Perl</application> interpreter
2118       (<filename role="package">lang/perl5.8</filename>) has been updated
2119       from 5.8.7 to 5.8.8. &merged;</para>
2120
2121     <para>The supported version of
2122       the <application>&xorg;</application> windowing system
2123       (<filename role="package">x11/xorg</filename>) has been updated
2124       from 6.8.2 to 6.9.0. &merged;</para>
2125
2126     <para>[&arch.pc98;] &os;/pc98 release CDROMs are now
2127       bootable on systems with some supported SCSI adapters.
2128       &merged;</para>
2129   </sect2>
2130
2131   <sect2 id="doc">
2132     <title>Documentation</title>
2133
2134     <para>Documentation of existing functionality has been improved by
2135       the addition of the following manual pages:
2136       &man.acpi.sony.4;, &man.device.get.sysctl.9;,
2137       &man.ext2fs.5;,
2138       &man.mca.8;,
2139       &man.nanobsd.8;,
2140       &man.snd.mss.4;, &man.snd.t4dwave.4;,
2141       &man.sysctl.9;.</para>
2142
2143     <para>The manual pages for <application>NTP</application>
2144       have been updated to 4.2.0, to match the version of
2145       code actually included in &os;. &merged;</para>
2146
2147     <para>Initial support for kernel subsystem API documentation generating
2148       framework using <filename role="package">devel/doxygen</filename>
2149       has been added into <filename>src/sys/doc/subsys</filename>.
2150       To generate the API document, type <command>make doxygen</command>
2151       in <filename>src/</filename> directory.</para>
2152   </sect2>
2153 </sect1>
2154
2155 <sect1 id="upgrade">
2156   <title>Upgrading from previous releases of &os;</title>
2157
2158   <para></para>
2159
2160   <important>
2161     <para>Upgrading &os; should, of course, only be attempted after
2162       backing up <emphasis>all</emphasis> data and configuration
2163       files.</para>
2164   </important>
2165 </sect1>
2166 </article>