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">
5 <!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN">
11 <title>&os; &release.current; Release Notes</title>
13 <corpauthor>The &os; Project</corpauthor>
15 <pubdate>$FreeBSD$</pubdate>
28 <holder role="mailto:doc@FreeBSD.org">The &os; Documentation Project</holder>
31 <legalnotice id="trademarks" role="trademarks">
42 <para>The release notes for &os; &release.current; contain a summary
43 of the changes made to the &os; base system on the
44 &release.branch; development line.
45 This document lists applicable security advisories that were issued since
46 the last release, as well as significant changes to the &os;
48 Some brief remarks on upgrading are also presented.</para>
53 <title>Introduction</title>
55 <para>This document contains the release notes for &os;
57 describes recently added, changed, or deleted features of &os;.
58 It also provides some notes on upgrading
59 from previous versions of &os;.</para>
61 <![ %release.type.current [
63 <para>The &release.type; distribution to which these release notes
64 apply represents the latest point along the &release.branch; development
65 branch since &release.branch; was created. Information regarding pre-built, binary
66 &release.type; distributions along this branch
67 can be found at <ulink url="&release.url;"></ulink>.</para>
71 <![ %release.type.snapshot [
73 <para>The &release.type; distribution to which these release notes
74 apply represents a point along the &release.branch; development
75 branch between &release.prev; and the future &release.next;.
77 pre-built, binary &release.type; distributions along this branch
78 can be found at <ulink url="&release.url;"></ulink>.</para>
82 <![ %release.type.release [
84 <para>This distribution of &os; &release.current; is a
85 &release.type; distribution. It can be found at <ulink
86 url="&release.url;"></ulink> or any of its mirrors. More
87 information on obtaining this (or other) &release.type;
88 distributions of &os; can be found in the <ulink
89 url="&url.books.handbook;/mirrors.html"><quote>Obtaining
90 &os;</quote> appendix</ulink> to the <ulink
91 url="&url.books.handbook;/">&os; Handbook</ulink>.</para>
95 <para>All users are encouraged to consult the release errata before
96 installing &os;. The errata document is updated with
97 <quote>late-breaking</quote> information discovered late in the
98 release cycle or after the release. Typically, it contains
99 information on known bugs, security advisories, and corrections to
100 documentation. An up-to-date copy of the errata for &os;
101 &release.current; can be found on the &os; Web site.</para>
105 <title>What's New</title>
107 <para>This section describes the most user-visible new or changed
108 features in &os; since &release.prev;.</para>
110 <para>Typical release note items document recent security
111 advisories issued after &release.prev;, new drivers or hardware
112 support, new commands or options, major bug fixes, or
113 contributed software upgrades. They may also list changes to
114 major ports/packages or release engineering practices. Clearly
115 the release notes cannot list every single change made to &os;
116 between releases; this document focuses primarily on security
117 advisories, user-visible changes, and major architectural
120 <sect2 id="security">
121 <title>Security Advisories</title>
123 <para>Problems described in the following security advisories have
124 been fixed. For more information, consult the individual
125 advisories available from
126 <ulink url="http://security.FreeBSD.org/"></ulink>.</para>
128 <informaltable frame="none" pgwide="0">
130 <colspec colwidth="1*">
131 <colspec colwidth="1*">
132 <colspec colwidth="3*">
135 <entry>Advisory</entry>
143 <entry><ulink url="http://security.freebsd.org/advisories/FreeBSD-SA-09:01.lukemftpd.asc"
144 >SA-09:01.lukemftpd</ulink></entry>
145 <entry>07 January 2009</entry>
146 <entry><para>Cross-site request forgery in
147 &man.lukemftpd.8;</para></entry>
151 <entry><ulink url="http://security.freebsd.org/advisories/FreeBSD-SA-09:02.openssl.asc"
152 >SA-09:02.openssl</ulink></entry>
153 <entry>07 January 2009</entry>
154 <entry><para>OpenSSL incorrectly checks for malformed
155 signatures</para></entry>
159 <entry><ulink url="http://security.freebsd.org/advisories/FreeBSD-SA-09:03.ntpd.asc"
160 >SA-09:03.ntpd</ulink></entry>
161 <entry>13 January 2009</entry>
162 <entry><para>ntpd cryptographic signature
163 bypass</para></entry>
167 <entry><ulink url="http://security.freebsd.org/advisories/FreeBSD-SA-09:04.bind.asc"
168 >SA-09:04.bind</ulink></entry>
169 <entry>13 January 2009</entry>
170 <entry><para>BIND DNSSEC incorrect checks for
171 malformed signatures</para></entry>
175 <entry><ulink url="http://security.freebsd.org/advisories/FreeBSD-SA-09:05.telnetd.asc"
176 >SA-09:05.telnetd</ulink></entry>
177 <entry>16 February 2009</entry>
178 <entry><para>telnetd code execution
179 vulnerability</para></entry>
183 <entry><ulink url="http://security.freebsd.org/advisories/FreeBSD-SA-09:06.ktimer.asc"
184 >SA-09:06.ktimer</ulink></entry>
185 <entry>23 March 2009</entry>
186 <entry><para>Local privilege escalation</para></entry>
190 <entry><ulink url="http://security.freebsd.org/advisories/FreeBSD-SA-09:07.libc.asc"
191 >SA-09:07.libc</ulink></entry>
192 <entry>04 April 2009</entry>
193 <entry><para>Information leak in &man.db.3;</para></entry>
197 <entry><ulink url="http://security.freebsd.org/advisories/FreeBSD-SA-09:08.openssl.asc"
198 >SA-09:08.openssl</ulink></entry>
199 <entry>22 April 2009</entry>
200 <entry><para>Remotely exploitable crash in
201 OpenSSL</para></entry>
209 <title>Kernel Changes</title>
211 <para>The &os; DTrace subsystem now supports a probe for
212 process execution.</para>
214 <para arch="amd64">The &os; kernel virtual address space has
215 been increased to 6GB and the ceiling on the kmem map size
216 to 3.6GB. Note that the ceiling as a fraction of the kernel
217 map size rather than an absolute quantity.</para>
219 <para>The &man.jail.8; subsystem has been updated. Changes include:</para>
223 <para>Multiple addresses of both IPv4 and IPv6 per jail has
224 been supported. It is even possible to have jails without
225 an IP address at all, which basically gives one a chrooted
226 environment with restricted process view and no
231 <para>SCTP (&man.sctp.4;) with IPv6 in jails has been supported.</para>
235 <para>Specific CPU binding by using &man.cpuset.1; has been supported.</para>
239 <para>A <literal>show jails</literal> subcommand in
240 &man.ddb.8; has been added.</para>
244 <para>Compatibility support which permits 32bit jail
245 binaries to be used on 64bit systems to manage jails has
250 <para>Note that both version numbers of
251 <literal>jail</literal> and <literal>prison</literal> in
252 the &man.jail.8; have been updated for the new
257 <para>The &man.jail.8; subsystem now supports SCTP (&man.sctp.4;)
258 with IPv6 in jails.</para>
260 <para>The &man.kld.4; now supports installing 32-bit system
261 call to the &os; system call translation layer from kernel
264 <para>The &man.ktr.4; now supports a new KTR tracepoint in the
265 <literal>KTR_CALLOUT</literal> class to note when a callout
266 routine finishes executing.</para>
268 <para>Types of variables used to track amount of allocated
269 System V shared memory from <literal>int</literal> to
270 <literal>size_t</literal>. This makes it possible to use more
271 than 2 GB shared memory segments on 64-bit architectures.
272 Please note the new BUGS section in &man.shmctl.2; and
273 <filename>/usr/src/UPDATING</filename> for limitations of this
274 temporal solution.</para>
276 <para>The &os; 32-bit system call translation layer now
277 supports installing 32-bit system calls for
278 <literal>VFS_AIO</literal>.</para>
280 <para arch="amd64,i386">The &os; virtual memory subsystem now
281 supports Superpages. The Superpages is a feature in modern
282 CPUs that enables each entry in the TLB (translation lookaside
283 buffer) to map a large physical memory region into a virtual
284 address space. This provides possible memory savings for
285 applications that share large amounts of memory between the
286 address spaces and performance improvements due to fewer TLB
290 <title>Boot Loader Changes</title>
292 <para>The &man.boot.8; now supports 4-byte volume ID that
293 certain versions of &windows; put into the MBR and invoking
294 PXE by pressing F6 key on some supported BIOSes.</para>
296 <para>The &man.loader.8; is now able to obtain DHCP options
297 via &man.kenv.2; variables in the case of network boot.</para>
299 <para>A bug in the &man.loader.8; has been fixed. Now the
300 following line works as expected:</para>
302 <programlisting>loader_conf_files="<replaceable>foo</replaceable> <replaceable>bar</replaceable> ${<replaceable>variable</replaceable>}"</programlisting>
306 <title>Hardware Support</title>
308 <para>The &man.acpi.4; subsystem now supports a &man.sysctl.8;
309 variable <varname>debug.batt.batt_sleep_ms</varname>. On
310 some laptops with smart batteries, enabling battery
311 monitoring software causes keystrokes from &man.atkbd.4; to
312 be lost. This sysctl variable adds a delay in millisecond
313 to the status checking code as a workaround.</para>
315 <para>The &man.acpi.asus.4; driver now supports Asus A8Sr
318 <para arch="powerpc">Support for the AltiVec, a floating point
319 and integer SIMD instruction set has been added.</para>
321 <para>The &man.cpuctl.4; driver, which provides a special
322 device <filename>/dev/cpuctl</filename> as an interface to
323 the system CPU and functionality to retrieve CPUID
324 information, read/write machine specific registers (MSR) and
325 perform CPU firmware updates.</para>
327 <para>The &man.cpufreq.4; driver now supports a
328 <varname>hw.est.msr_info</varname> loader tunable. When
329 this set to <literal>1</literal>, it attempts to build a
330 simple list containing just the high and low frequencies if
331 it cannot obtain a frequency list from either ACPI or the
332 static tables. This is disabled by default.</para>
334 <para arch="amd64,i386">CPU frequency change notifiers are now
335 disabled when the TSC is P-state invariant. Also, a new
337 <varname>kern.timecounter.invariant_tsc</varname> has been
338 added to force this behavior by setting it to
341 <para>In the &man.pci.4; subsystem INTx is now disabled when
342 MSI/MSIX is enabled. This change fixes interrupt storm
343 related issues.</para>
345 <para>A &man.sysctl.3; leaf node has a flag to tag itself as
349 <title>Multimedia Support</title>
351 <para>The &man.agp.4; now supports Intel G4X series graphics
354 <para>The DRM, a kernel module named Direct Rendering
355 Manager that gives direct hardware access to DRI clients,
356 has been updated. Support for AMD/ATI r500 and IGP based
357 chips, XGI V3XE/V5/V8, and Intel i915 chipsets has been
360 <para>A new loader tunable <varname>hw.drm.msi</varname>
361 which controls if DRM uses MSI or not. This is set to
362 <literal>1</literal> (enabled) by default.</para>
364 <para>The snd_au88x0(4) driver for Aureal Vortex
365 1/2/Advantage PCI has been removed because this was
366 broken for a long time.</para>
368 <para>The &man.snd.hda.4; driver has been updated. Changes
369 include: multiple codec per HDA bus, multiple functional
370 groups per codec, multiple audio devices per functional
371 group, digital (SPDIF/HDMI) audio input/output,
372 suspend/resume, and part of multichannel audio.</para>
374 <para>Note that due to added HDMI audio and logical audio
375 devices support, updated driver often provides several PCM
376 devices. In some cases it can make system default audio
377 device no longer corresponding to the users's habitual
378 audio connectors. In such cases the default device can be
379 specified in audio application setup or defined globally
380 via <varname>hw.snd.default_unit sysctl</varname>
381 as described in the &man.sound.4; manual page.</para>
385 <title>Network Interface Support</title>
387 <para arch="amd64,i386">The &man.ale.4; driver are now
388 included in the <filename>GENERIC</filename>
391 <para>The &man.ath.hal.4;, Atheros Hardware Access Layer,
392 has been updated to the open source version.</para>
394 <para>The &man.axe.4; driver has been improved in
395 performance by eliminating extra context switch and now
396 supports Apple USB Ethernet adapter.</para>
398 <para>The ciphy(4) driver now supports Vitesse VSC8211
401 <para>The &man.fxp.4; driver has been improved. Changes include:</para>
405 <para>The checksum offload feature can be controlled by
406 &man.ifconfig.8;.</para>
410 <para>Rx checksum offload support for 82559 or later
411 controllers has been added.</para>
415 <para>TSO (TCP Segmentation Offload) support for 82550
416 and 82551 controllers has been added.</para>
420 <para>WoL (Wake on LAN) support for 82550, 82551, 82558,
421 and 82559-based controllers has been added. Note that
422 ICH based controllers are treated as 82559, and 82557,
423 earlier revision of 82558, and 82559ER have no WOL
428 <para>VLAN hardware tag insertion/stripping support and
429 Tx/Rx checksum offload for VLAN frames support have
430 been added. Note that the VLAN hardware assistance is
431 available only on 82550 or 82551-based
436 <para>A bug in &man.igb.4; driver which prevents a tunable
437 <varname>hw.igb.ave_latency</varname> from working has
440 <para>The &man.jme.4; driver now supports newer JMicron
441 JMC250/JMC260 revisions.</para>
443 <para>The &man.msk.4; driver has been improved. An issue
444 which makes it hang up in a certain condition has been
447 <para>The &man.mxge.4; driver now supports some newer
448 revisions and 10GBASE-LRM and 10GBASE-Twinax media
451 <para>The &man.re.4; driver has been improved. It now
452 detects the link status.</para>
454 <para>The &man.rl.4; driver has been improved. It now
455 detects the link status and a bug which prevents it from
456 working on systems with more than 4GB memory has been
461 <sect3 id="net-proto">
462 <title>Network Protocols</title>
464 <para>IPv4 source address selection for unbound sockets has
465 been implemented as follows:</para>
469 <para>If we found a route, use the address corresponding
470 to the outgoing interface.</para>
474 <para>Otherwise we assume the foreign address is reachable
475 on a directly connected network and try to find a
476 corresponding interface to take the source address
481 <para>As a last resort use the default jail address.</para>
485 <para>This also changes the semantics of selecting the IP for
486 processes within a &man.jail.8; as it now uses the same
487 logic as outside the &man.jail.8;.</para>
489 <para>The &man.jail.8; subsystem now supports start with a
490 specific route FIB.</para>
492 <para>The &man.ng.netflow.4; Netgraph node now supports
493 ability to generate egress netflow instead or in addition to
494 ingress. A <literal>NGM_NETFLOW_SETCONFIG</literal> control
495 message has been added to control the new functionality.</para>
497 <para>The &man.tap.4;, Ethernet tunnel software network
498 interface now supports <literal>TAPGIFNAME</literal>
499 character device ioctl. This is a convenient shortcut to
500 obtain network interface name using file descriptor for
501 character device.</para>
503 <para>The domains list for handling the list of supported
504 domains in the &man.unix.4; (UNIX domain protocol family)
505 subsystem is now MPSAFE.</para>
509 <title>Disks and Storage</title>
511 <para>The &man.ata.4; driver now supports Marvell PATA M88SX6121.</para>
513 <para>The &man.ataraid.4; driver now has an initial support
514 for DDF metadata found on Adaptec HostRAID controllers.
515 Note that spares and rebuilds are not supported yet.</para>
517 <para>The &man.cam.4; SCSI subsystem now supports a sysctl
518 variable <varname>kern.cam.cd.retry_count</varname>. This
519 controls the number of retries for the CD media. When
520 trying to read scratched or damaged CDs and DVDs, the
521 default mechanism is sub-optimal, and programs like
522 <application>ddrescue</application> do much better if you
523 turn off the retries entirely since their algorithms do it
524 by themselves. This value is set to <literal>4</literal>
525 (for a total 5 attempts) by default. Setting to 0 turns off
526 all retry attempts.</para>
528 <para>A bug in the &man.ciss.4; driver which caused low
529 <quote>max device openings</quote> count that has led
530 to poor performance has been fixed.</para>
532 <para>An issue in the &man.gvinum.8; with access permissions
533 to underlying disks used by a gvinum plex has been fixed.
534 If the plex is a raid5 plex and is being written to, parity data might
535 have to be read from the underlying disks, requiring them to be opened for
536 reading as well as writing.</para>
538 <para>The &man.mmc.4; and &man.mmcsd.4; driver now support MMC
539 and SDHC cards, high speed timing, wide bus, and multiblock
542 <para>The &man.sdhci.4; driver has been added. This supports
543 PCI devices with class 8 and subclass 5 according to SD Host
544 Controller Specification.</para>
546 <para>The &man.sdhci.4; driver now supports kernel dumping and
547 a sysctl variable <varname>hw.sdhci.debug</varname> for debug
550 <para>The &man.mmc.4; &man.mmcsd.4;, and &man.sdhci.4; driver
551 are now included as a kernel module.</para>
555 <title>File Systems</title>
557 <para>The semantics of &man.acl.3; extended access control
558 list has been changed as follows:</para>
562 <para>The inode modification time (mtime) is not updated
563 when extended attribute are added, modified, or removed.</para>
567 <para>The inode access time (atime) is not updated
568 when extended attribute are queried.</para>
572 <para>The shared vnode locking for pathname lookups in
573 &man.VFS.9; subsystem has been improved. This is disabled
574 by default. Setting a sysctl variable
575 <varname>vfs.lookup_shared</varname> to <literal>1</literal>
576 enables it for better performance. Note that the
577 <literal>LOOKUP_SHARED</literal> equivalent to the sysctl
578 variable kernel option has been removed.</para>
582 <sect2 id="userland">
583 <title>Userland Changes</title>
585 <para>A bug in the &man.atacontrol.8; utility which prevents it
586 from working when <filename>/usr</filename> is not mounted or
587 invoked from <filename>/rescue</filename>, has been
590 <para>The &man.btpand.8; daemon from NetBSD has been added.
591 This daemon provides support for Bluetooth Network Access
592 Point (NAP), Group Ad-hoc Network (GN) and Personal Area
593 Network User (PANU) profiles.</para>
595 <para>The &man.config.8; utility now supports
596 multiple <varname>makeoption</varname> lines.</para>
598 <para>The &man.dirname.1; utility now accepts multiple arguments
599 in the same way that &man.basename.1; does.</para>
601 <para>The &man.du.1; utility now supports an <option>-l</option>
602 flag. When specified, the &man.du.1; counts a file with
603 multiple hard links as multiple different files.</para>
605 <para>The &man.dumpfs.8; utility now supports an
606 <option>-f</option> flag, which causes it to list all free
607 fragments in the file system by fragment (block) number. This
608 new mode does the necessary arithmetic to generate absolute
609 fragment numbers rather than than the cg-relative numbers
610 printed in the default mode.</para>
612 <para>If <option>-f</option> is passed once, contiguous fragment
613 ranges are collapsed into an X-Y format as free block lists are
614 currently printed in regular dumpfs output, but if specified twice,
615 all block numbers are printed individually, allowing both compact
616 and more script-friendly representation.</para>
618 <para>The &man.fetch.1; utility now supports an
619 <option>-i</option> flag which supports If-Modified-Since HTTP
620 1.1 request. If specified it will cause the file to be
621 downloaded only if it is more recent than the mtime of the
622 file. Also, <application>libfetch</application> now accepts
623 the mtime in the url structure and a flag to indicate when
624 this behavior is desired.</para>
626 <para>The &man.fsck.8; utility now supports a
627 <option>-D</option> flag for damaged recovery mode, which
628 will enable certain aggressive operations that can make
629 &man.fsck.8; to survive with file systems that has very
630 serious data damage, which is an useful last resort when on
631 disk data damage is very serious and causes &man.fsck.8; to
632 crash otherwise.</para>
634 <para>A bug in the &man.ipfw.8; utility which displays extra
635 messages for a NAT rule even when a <option>-q</option> flag
638 <para>The &man.ln.1; utility now supports a <option>-w</option>
639 flag to check if the source file actually exists. When the
640 flag is specified and the file does not exist, the &man.ln.1;
641 will put a warning message.</para>
643 <para>The &man.netstat.1; utility now reports &man.unix.4;
644 sockets listen queue statistics when an <option>-L</option>
647 <para>A bug in the &man.netstat.1; utility has been fixed. It
648 crashed with the following options in the previous
651 <screen>&prompt.user; netstat -m -N foo</screen>
653 <para>A bug in the &man.netstat.1; utility has been fixed. The
654 <option>-ss</option> now works in the icmp6 section as
657 <para>The &man.pciconf.8; utility now supports a
658 <option>-b</option> flag, which lists any base address
659 registers (BAR) that are assigned resources for each
662 <para>The &man.powerd.8; program has been improved. Changes
663 include reasonable CPU load estimation on SMP systems and a
664 new mode named as <literal>hiadaptive</literal> for AC-powered
665 systems which rises frequency twice faster, drops it 4 times
666 slower, prefers twice lower CPU load and has additional delay
667 before leaving the highest frequency after the period of
670 <para>The &man.stat.1; utility now displays an octal
671 representation of suid, sgid and sticky bits when an
672 <option>-x</option> flag is specified.</para>
674 <para>The &man.strndup.3; function has been added.</para>
676 <para>The &man.wc.1; utility now supports an <option>-L</option>
677 flag to output the number of characters in the longest input
680 <para>A bug in the &man.rpc.yppasswdd.8; program which leaves a
681 zombie process when a password or default shell is changed has
684 <sect3 id="rc-scripts">
685 <title><filename>/etc/rc.d</filename> Scripts</title>
692 <title>Contributed Software</title>
694 <para><application>ISC BIND</application> has been updated to
695 version 9.4.3-P2.</para>
697 <para>The timezone database has been updated from
698 the <application>tzdata2008h</application> release to
699 the <application>tzdata2009f</application> release.</para>
703 <title>Ports/Packages Collection Infrastructure</title>
705 <para>A bug in the &man.pkg.create.1; which prevents the
706 <option>-n</option> flag from working has been fixed.</para>
710 <title>Release Engineering and Integration</title>
712 <para>The supported version of
713 the <application>GNOME</application> desktop environment
714 (<filename role="package">x11/gnome2</filename>) has been
715 updated from 2.22 to 2.26.</para>
717 <para>The supported version of
718 the <application>KDE</application> desktop environment has
719 been updated from 3.5.10 (<filename
720 role="package">x11/kde3</filename>) to 4.2.2 (<filename
721 role="package">x11/kde4</filename>).</para>
725 <title>Documentation</title>
732 <title>Upgrading from previous releases of &os;</title>
734 <para arch="amd64,i386">Beginning with &os; 6.2-RELEASE, binary
735 upgrades between RELEASE versions (and snapshots of the various
736 security branches) are supported using the
737 &man.freebsd-update.8; utility. The binary upgrade procedure
738 will update unmodified userland utilities, as well as unmodified
739 GENERIC or SMP kernels distributed as a part of an official &os;
740 release. The &man.freebsd-update.8; utility requires that the
741 host being upgraded have Internet connectivity.</para>
743 <para>An older form of binary upgrade is supported through the
744 <command>Upgrade</command> option from the main
745 &man.sysinstall.8; menu on CDROM distribution media. This type
746 of binary upgrade may be useful on non-&arch.i386;,
747 non-&arch.amd64; machines or on systems with no Internet
750 <para>Source-based upgrades (those based on recompiling the &os;
751 base system from source code) from previous versions are
752 supported, according to the instructions in
753 <filename>/usr/src/UPDATING</filename>.</para>
756 <para>Upgrading &os; should, of course, only be attempted after
757 backing up <emphasis>all</emphasis> data and configuration