Index: head/release/doc/en_US.ISO8859-1/relnotes/article.sgml =================================================================== --- head/release/doc/en_US.ISO8859-1/relnotes/article.sgml (revision 143135) +++ head/release/doc/en_US.ISO8859-1/relnotes/article.sgml (revision 143136) @@ -1,812 +1,859 @@ &os;/&arch; &release.current; Release Notes The &os; Project $FreeBSD$ 2000 2001 2002 2003 2004 2005 The &os; Documentation Project The release notes for &os; &release.current; contain a summary of the changes made to the &os; base system since &release.branch; is created. This document lists applicable security advisories that were issued since the last release, as well as significant changes to the &os; kernel and userland. Some brief remarks on upgrading are also presented. Introduction This document contains the release notes for &os; &release.current; on the &arch.print; hardware platform. It describes recently added, changed, or deleted features of &os;. It also provides some notes on upgrading from previous versions of &os;. The &release.type; distribution to which these release notes apply represents the latest point along the &release.branch; development branch since &release.branch; is created. Some pre-built, binary &release.type; distributions along this branch can be found at . ]]> The &release.type; distribution to which these release notes apply represents a point along the &release.branch; development branch between &release.prev; and the future &release.next;. Some pre-built, binary &release.type; distributions along this branch can be found at . ]]> This distribution of &os; &release.current; is a &release.type; distribution. It can be found at or any of its mirrors. More information on obtaining this (or other) &release.type; distributions of &os; can be found in the Obtaining &os; appendix to the &os; Handbook. ]]> All users are encouraged to consult the release errata before installing &os;. The errata document is updated with late-breaking information discovered late in the release cycle or after the release. Typically, it contains information on known bugs, security advisories, and corrections to documentation. An up-to-date copy of the errata for &os; &release.current; can be found on the &os; Web site. What's New This section describes the most user-visible new or changed features in &os; since &release.prev;. In general, changes described here are unique to the &release.branch; branch unless specifically marked as &merged; features. Typical release note items document recent security advisories issued after &release.prev.historic;, new drivers or hardware support, new commands or options, major bug fixes, or contributed software upgrades. They may also list changes to major ports/packages or release engineering practices. Clearly the release notes cannot list every single change made to &os; between releases; this document focuses primarily on security advisories, user-visible changes, and major architectural improvements. Security Advisories A bug in the &man.fetch.1; utility, which allows a malicious HTTP server to cause arbitrary portions of the client's memory to be overwritten, has been fixed. For more information, see security advisory FreeBSD-SA-04:16.fetch. &merged; A bug in &man.procfs.5; and &man.linprocfs.5; which could allow a malicious local user to read parts of kernel memory or perform a local denial of service attack by causing a system panic, has been fixed. For more information, see security advisory FreeBSD-SA-04:17.procfs. &merged; Kernel Changes Support for 80386 processors (the I386_CPU kernel configuration option) has been removed. Users running this class of CPU should use &os; 5.X or earlier. The loader tunable debug.mpsafevm has been enabled by default. &merged; &man.memguard.9;, a kernel memory allocator designed to help detect tamper-after-free scenarios, has been added. This must be explicitly enabled via options DEBUG_MEMGUARD, plus small kernel modifications. It is generally intended for use by kernel developers. A number of bugs have been fixed in the ULE scheduler. &merged; Fine-grained locking to allow much of the VFS stack to run without the Giant lock has been added. This is enabled by default on the alpha, amd64, and i386 architectures, and can be disabled by setting the loader tunable (and sysctl variable) debug.mpsafevfs to 0. A bug in Inter-Processor Interrupt (IPI) handling, which could cause SMP systems to crash under heavy load, has been fixed. More details are contained in errata note FreeBSD-EN-05:03.ipi. &merged; System V IPC objects (message queues, semaphores, and shared memory) now have support for Mandatory Access Control policies, notably &man.mac.biba.4;, &man.mac.mls.4;, &man.mac.stub.4;, and &man.mac.test.4;. Memory allocation for legacy PCI bridges has been limited to the top 32MB of RAM. Many older, legacy bridges only allow allocation from this range. This change only applies to devices which do not have their memory assigned by the BIOS. This change fixes the bad Vcc error of CardBus bridges (&man.pccbb.4;). &merged; The &man.sysctl.3; MIBs beginning with debug now require the kernel option options SYSCTL_DEBUG. This option is disabled by default. The generic &man.tty.4; driver interface has been added and many device drivers including &man.cx.4; ({tty,cua}x), &man.cy.4; ({tty,cua}c), &man.digi.4; ({tty,cua}D), &man.rc.4; ({tty,cua}m), &man.rp.4; ({tty,cua}R), &man.sab.4; ({tty,cua}z), &man.si.4; ({tty,cua}A), &man.sio.4; ({tty,cua}d), sx ({tty,cua}G), &man.uart.4; ({tty,cua}u), &man.ubser.4; ({tty,cua}y), &man.ucom.4; ({tty,cua}U), and &man.ucycom.4; ({tty,cua}y) have been rewritten to use it. Note that /etc/remote and /etc/ttys have been updated as well. + The &man.vkbd.4; driver has been added. This driver + provides a software loopback mechanism that can implement + a virtual AT keyboard similar to what the &man.pty.4; driver + does for terminals. + The default HZ parameter (which controls various kernel timers) has been increased from 100 to 1000 on the i386 and ia64. It has been reduced from 1024 to 1000 on the amd64 to reduce synchronization effects with other system clocks. The maximum length of shell commands has changed from 128 bytes to PAGE_SIZE. By default, this value is either 4KB (i386, pc98, amd64, and powerpc) or 8KB (sparc64 and ia64). As a result, compatibility modules need to be rebuilt to stay synchronized with data structure changes in the kernel. Boot Loader Changes A serial console-capable version of boot0 has been added. It can be written to a disk using &man.boot0cfg.8; and specifying /boot/boot0sio as the argument to the option. cdboot now works around a BIOS problem observed on some systems when booting from USB CDROM drives. The autoboot loader command now supports the prompt parameter. A loader menu option to set hint.atkbd.0.flags=0x1 has been added. This setting allows USB keyboards to work if no PS/2 keyboard is attached. Hardware Support + The acpi_snc driver, + which supports Sony Notebook Controller on various + Sony laptops has been added. + The &man.auxio.4; driver has been to drive some auxiliary I/O functions found on various SBus/EBus &ultrasparc; models. &merged; A framework for flexible processor speed control has been added. It provides methods for various drivers to control CPU power utilization by adjusting the processor speed. More details can be found in the &man.cpufreq.4; manual page. &merged; Currently supported drivers include acpi_perf (ACPI CPU performance states), ichss (Intel SpeedStep for ICH), and acpi_throttle (ACPI CPU throttling). Support for the OLDCARD subsystem has been removed. The NEWCARD system is now used for all PCCARD device support. The pcii driver has been added to support GPIB-PCIIA IEEE-488 cards. The &man.pbio.4; driver, which supports direct access to the Intel 8255A programmable peripheral interface (PPI) chip running in mode 0 (simple I/O) has been added. The &man.psm.4; driver now has improved support for Synaptics Touchpad users. It now has better tracking of slow-speed movement and support for various extra buttons and dials. These features can be tuned with the hw.psm.synaptics.* hierarchy of sysctl variables. The rtc driver has been added to support the MC146818-compatible clock found on some &ultrasparc; II and III models. &merged; The &man.uart.4; driver is now enabled in the GENERIC kernel, and is now the default driver for serial ports. The ofw_console, &man.sab.4;, and zs drivers are now disabled in the GENERIC kernel. &merged; The &man.uplcom.4; driver now supports handling of the CTS signal. The &man.ehci.4; driver has been improved. Multimedia Support The &man.snd.audiocs.4; driver has been added to support the Crystal Semiconductor CS4231 audio controller found on &ultrasparc; workstations. &merged; The &man.uaudio.4; driver now has some added functionality, including volume control on more inputs and recording capability on some devices. Network Interface Support The &man.ath.4; driver has been updated to split the transmit rate control algorithm into a separate module. Either device ath_rate_onoe or device ath_rate_amrr must be included in the kernel configuration when using the &man.ath.4; driver. The &man.bge.4; driver now supports the &man.altq.4; framework. The &man.cp.4; driver is now MPSAFE. &merged; The &man.ctau.4; driver is now MPSAFE. &merged; The &man.cx.4; driver is now MPSAFE. &merged; The &man.dc.4; driver now supports the &man.altq.4; framework. In the &man.em.4; driver, hardware support for VLAN tagging is now disabled by default due to some interactions between this feature and promiscuous mode. &merged; Ethernet flow control is now disabled by default in the &man.fxp.4; driver, to prevent problems with a system panics or is left in the kernel debugger. &merged; + The gx(4) driver has been removed because + it is no longer maintained actively and + the &man.em.4; supports all of the supported hardware. + The &man.hme.4; driver is now MPSAFE. &merged; The &man.ndis.4; device driver wrapper now supports &windows;/x86-64 binaries on amd64 systems. &merged; The &man.sf.4; driver now has support for device polling and &man.altq.4;. &merged; Several programming errors in the &man.sk.4; driver have been corrected. These bugs were particular to SMP systems, and could cause panics, page faults, aborted SSH connections, or corrupted file transfers. More details can be found in errata note FreeBSD-EN-05:02.sk. &merged; The &man.sk.4; driver now has support for &man.altq.4;. This driver also now supports jumbo frames on Yukon-based interfaces. &merged; The &man.vge.4; driver now has support for device polling (&man.polling.4;). Support for 802.11 devices in the &man.wlan.4; framework has been greatly overhauled. In addition to architectural changes, it includes completed 802.11g, WPA, 802.11i, 802.1x, WME/WMM, AP-side power-saving, and plugin frameworks for cryptography modules, authenticators, and access control. Note in particular that WEP now requires the wlan_wep module to be loaded (or compiled) into the kernel. Network Protocols The MTU feedback in IPv6 has been disabled when the sender writes data that must be fragmented. &merged; The Common Address Redundancy Protocol (CARP) has been implemented. CARP comes from OpenBSD and allows multiple hosts to share an IP address, providing high availability and load balancing. For more information, see the &man.carp.4; manual page. The &man.ipfw.4; IPDIVERT option is now available as a kernel loadable module. If this module is not loaded, &man.ipfw.4; will refuse to install divert rules and &man.natd.8; will return the error message protocol not supported. &man.ipfw.8; now supports classification and tagging of &man.altq.4; packets via a divert socket, as well as the TCP data length. The &man.ipfw.8; ipfw fwd rule now supports the full packet destination manipulation when the kernel option options IPFIREWALL_FORWARD_EXTENDED is specified in addition to options IPFIRWALL_FORWARD. This kernel option disables all restrictions to ensure proper behavior for locally generated packets and allows redirection of packets destined to locally configured IP addresses. Note that &man.ipfw.8; rules have to be carefully crafted to make sure that things like PMTU discovery do not break. Ongoing work is reducing the use of the Giant lock by the network protocol stack and improving the locking strategies. A new &man.ng.netflow.4; NetGraph node allows a router running &os; to do NetFlow version 5 exports. &merged; The &man.sppp.4; driver now includes Frame Relay support. &merged; A bug in TCP that sometimes caused RST packets to be ignored if the receive window was zero bytes has been fixed. &merged; Several bugs in the TCP SACK implementation have been fixed. &merged; RFC 1644 T/TCP support has been removed. This is because the design is based on a weak security model that can easily permit denial-of-service attacks. This TCP extension has been considered a defective one in a recent Internet Draft. Random ephemeral port number allocation has led to some problems with port reuse at high connection rates. This feature is now disabled during periods of high connection rates; whenever new connections are created faster than net.inet.ip.portrange.randomcps per second, port number randomization is disabled for the next net.inet.ip.portrange.randomtime seconds. The default values for these two sysctl variables are 10 and 45, respectively. &merged; Fine-grained locking has been applied to many of the data structures in the IPX/SPX protocol stack. While not fully MPSAFE at this point, it is generally safe to use IPX/SPX without the Giant lock (in other words, the debug.mpsafenet sysctl variable may be set to 1). Disks and Storage The &man.amr.4; driver is now safe for use on systems using &man.pae.4;. &merged; The SHSEC GEOM class has been added. It provides for the sharing of a secret between multiple GEOM providers. All of these providers must be present in order to reveal the secret. This feature is controlled by the &man.gshsec.8; utility. &merged; The &man.hptmv.4; driver, which supports the HighPoint RocketRAID 182x series, has been added. &merged; The &man.matcd.4; driver has been removed. &merged; The default SCSI boot-time probe delay in the GENERIC kernel has been reduced from fifteen seconds to five seconds. + The old vinum(4) subsystem has been removed + in favor of the new &man.geom.4;-based version. + The &man.wd.4; driver has been removed. The &man.ata.4; driver has been found to work well enough on the pc98 platform that there is no need for the older &man.wd.4; driver. Information about newly-mounted cd9660 file systems (such as the presence of Rockridge extensions) is now only printed if the kernel was booted in verbose mode. This change was made to reduce the amount of (generally unnecessary) kernel log messages. &merged; File Systems The autofs(9) file system and the userland library &man.libautofs.3; have been added. A kernel panic in the NFS server has been fixed. More details can be found in errata note FreeBSD-EN-05:01.nfs. &merged; Contributed Software ACPI-CA has been updated from 20040527 to 20041119. &merged; Userland Changes The &man.burncd.8; utility now allows commands (such as eject) to take place after fixating a disk. The create command of the &man.gpt.8; utility now supports a command-line flag to force creation of a GPT even when there is an MBR record on a disk. &merged; The &man.ifconfig.8; utility has been restructured. It is now more modular and flexible with respect to supporting interface-specific functionality. The 802.11 support has been updated to support recent changes to the 802.11 subsystem and drivers. Support for abbreviated forms of a number of &man.ipfw.8; options has been deprecated. Warnings are printed to stderr indicating the correct full form when one of these abbreviations is detected. The on-disk format of LC_CTYPE files has - been changed to be machine-indepedent. + been changed to be machine-independent. The libarchive library (as well as the &man.tar.1; command that uses it) now has support for reading ISO images (with optional RockRidge extensions) and ZIP archives (with deflate and none compression). &merged; The default stack sizes in libpthread and libc_r have been increased. On 32-bit platforms, the main thread receives a 2MB stack size by default, with other threads receiving a 1MB stack size by default. On 64-bit platforms, the default stack sizes are 4MB and 2MB respectively. A number of new functions have been implemented in the &man.math.3; library. These include &man.ceill.3;, &man.floorl.3;, &man.ilogbl.3;, &man.fma.3; and variants, &man.lrint.3; and variants, and &man.lround.3; and variants. &merged; + The libxpg4 library has been removed + because all of the functionality was merged into + libc for a long time. + All binaries linked with libxpg4 + must be recompiled or use &man.libmap.conf.5;. + Note that the &os; base system has no such binaries. + The &man.newfs.8; utility now supports a flag to suppress the creation of a .snap directory on new file systems. This feature is intended for use on memory or vnode file systems that will not require snapshot support. &merged; The NO_NIS compile-time knob for userland has been added. As its name implies, enabling this Makefile variable will cause NIS support to be excluded from various programs and will cause the NIS utilities to not be built. &merged; The &man.mkuzip.8; utility, which compresses file system images for use with GEOM_UZIP &man.geom.4; module, has been added. &merged; + A separate directory has been added for &man.named.8; + dynamic zones which is owned by the bind user + (for creation of the zone journal file). + For more detail, see an example dynamic zone in the sample + &man.named.conf.5;. &merged; + The &man.newsyslog.8; utility now supports a option to specify an alternate root for log files similar to DESTDIR in the BSD make process. This only affects log file paths, not configuration file () or archive directory () paths. The &man.ncal.1; utility now supports a flag to generate a calendar for a specified month in the current year. &merged; The libgpib library has been added to give userland access to GPIB devices (using the the pcii driver) via the ibfoo API. The &man.mknod.8; utility is now deprecated. Device nodes have been managed by the &man.devfs.5; device file system since &os; 5.0. The &man.moused.8; daemon now supports virtual scrolling, in which mouse motions made while holding down the middle mouse button are interpreted as scrolling. This feature is enabled with the flag. &merged; For years, &os; has used Makefile variables of the form NOFOO and NO_FOO. For consistency, those variables using the former naming convention have been converted to the NO_FOO form. The file /usr/share/mk/bsd.compat.mk has a complete list of these variables; it also implements some temporary backward compatibility for the old names. The &man.ppp.8; program now implements an parameter, which allows LCP ECHOs to be enabled independently of LQR reports. Older versions of &man.ppp.8; would revert to LCP ECHO mode on negotiation failure. It is now necessary to specify enable echo to get this behavior. &merged; The &man.rm.1; utility now supports an option that asks for confirmation (once) if recursively removing directories or if more than 3 files are listed in the command line. &merged; + The &man.rm.1; utility now suppresses diagnostic messages + when it attempts to remove a non-existent directory + with the and options + specified. This behavior is required by + Version 3 of the Single UNIX Specification (SUSv3). + An &man.rpmatch.3; library function has been added to check a string for being an affirmative or negative response in the current locale. The &man.rtld.1; dynamic linker now supports specifying library replacements via the LD_LIBMAP environment variable. This variable will override the entries in &man.libmap.conf.5;. &merged; The rune(3) non-standard multibyte and wide character support interface has been removed. + The &man.strftime.3; function now supports some GNU extensions + such as -(no padding), + _(use space as padding), + and 0(zero padding). + The &man.syslog.3; function is now thread-safe. &merged; The &man.syslogd.8; utility now opens an additional domain socket (/var/run/logpriv by default), with 0600 permissions to be used by privileged programs. This prevents privileged programs from locking when the domain sockets run out of buffer space due to a local denial-of-service attack. &merged; The option of &man.tail.1; utility now supports more than one file at a time. &merged; The &man.telnet.1; and &man.telnetd.8; programs now support the option for specifying a numeric TOS byte. Prepending a + character to port numbers passed to &man.telnet.1; program will now disable option negotiation and allow the transfer of characters with the high bit set. This feature is intended to support the fairly common use of &man.telnet.1; as a protocol tester. The &man.tcpdrop.8; command, which closes a selected TCP connection, has been added. It was obtained from OpenBSD. &man.whois.1; now supports a flag for querying whois.krnic.net (the National Internet Development Agency of Korea), which holds details of IP address allocations within Korea. &merged; The option of the &man.xargs.1; command has been changed to confirm IEEE Std 1003.1-2004. The standard requires that the constructed arguments cannot grow larger than 255 bytes. <filename>/etc/rc.d</filename> Scripts &man.rc.conf.5; now supports changes of network interface names at boot time. For example: ifconfig_fxp0_name="net0" ifconfig_net0="inet 10.0.0.1/16" The rc.d/moused script now starts/stops/checks a specific device when the device name is given as the second argument to the script: &prompt.root; /etc/rc.d/moused start ums0 To use different &man.rc.conf.5; knobs with different mice, use the device name as part of the knob. For example, if the mouse device is /dev/ums0 the following lines can be used: moused_ums0_enable=yes moused_ums0_flags="-z 4" moused_ums0_port="/dev/ums0" + + &man.rc.conf.5; now supports tmpmfs_flags + and varmfs_flags variables. + These can be used to pass extra options to the &man.mdmfs.8; utility, + to customize the finer details of the &man.md.4; file system creation, + such as to turn on/off softupdates, to specify a default owner + for the file system, and so on. Contributed Software FILE has been updated from 4.10 to 4.12. GNU readline has been updated from version 4.3 to version 5.0. Heimdal has been updated from 0.6.1 to 0.6.3. &merged; lukemftp has been updated from a 26 April 2004 snapshot from OpenBSD's sources to a snapshot as of 19 February 2005. A snapshot of netcat from OpenBSD as of 4 February 2005 has been added. More information can be found in the &man.nc.1; manual page. &merged; OpenPAM has been updated from the Eelgrass release to the Feterita release. OpenSSH has been updated from 3.8p1 to 3.9p1. OpenSSL has been updated from 0.9.7d to 0.9.7e. &merged; sendmail has been updated from version 8.13.1 to version 8.13.3. &merged; The timezone database has been updated from the tzdata2004e release to the tzdata2004g release. &merged; Ports/Packages Collection Infrastructure The &man.pkg.version.1; utility now supports a flag to suppress the output of the port version comparison characters <, =, and >. The ports/INDEX* files, which kept an index of all of the entries in the ports collection, have been removed from the CVS repository. &merged; These files were generated only infrequently, and therefore were usually out-of-date and inaccurate. Users requiring an index file (such as for use by programs such as &man.portupgrade.1;) have two alternatives for obtaining a copy: Build an index file based on the current ports tree by running make index from the top of the ports/ tree. Fetch an index file over the network by running make fetchindex from the top of the ports/ tree. This index file will (typically) be accurate to within a day. Release Engineering and Integration The supported version of the GNOME desktop environment has been updated from 2.6.2 to 2.8.3. &merged; Users of older versions of the GNOME desktop (x11/gnome2) must take particular care in upgrading. Simply upgrading it from the &os; Ports Collection with &man.portupgrade.1; (sysutils/portupgrade) will cause serious problems. GNOME desktop users should read the instructions carefully at and use the gnome_upgrade.sh script to properly upgrade to GNOME 2.8.3. For casual users of the various GNOME libraries, &man.portupgrade.1; should be sufficient. The supported version of the KDE desktop environment has been updated from 3.3.0 to 3.3.2. &merged; The supported version of Xorg has been updated from 6.7.0 to 6.8.1. &merged; Documentation Manual pages in the base system have received a number of cleanups, both for content and presentation. Cross-references are more correct and consistent, standard section headings are now used throughout, and markup has been cleaned up. Upgrading from previous releases of &os; Source upgrades to &os; &release.current; are only supported from &os; 5.3-RELEASE or later. Users of older systems wanting to upgrade &release.current; will need to update to &os; 5.3 or newer first, then to &os; &release.current;. Upgrading &os; should, of course, only be attempted after backing up all data and configuration files. Index: head/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml =================================================================== --- head/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml (revision 143135) +++ head/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml (revision 143136) @@ -1,812 +1,859 @@ &os;/&arch; &release.current; Release Notes The &os; Project $FreeBSD$ 2000 2001 2002 2003 2004 2005 The &os; Documentation Project The release notes for &os; &release.current; contain a summary of the changes made to the &os; base system since &release.branch; is created. This document lists applicable security advisories that were issued since the last release, as well as significant changes to the &os; kernel and userland. Some brief remarks on upgrading are also presented. Introduction This document contains the release notes for &os; &release.current; on the &arch.print; hardware platform. It describes recently added, changed, or deleted features of &os;. It also provides some notes on upgrading from previous versions of &os;. The &release.type; distribution to which these release notes apply represents the latest point along the &release.branch; development branch since &release.branch; is created. Some pre-built, binary &release.type; distributions along this branch can be found at . ]]> The &release.type; distribution to which these release notes apply represents a point along the &release.branch; development branch between &release.prev; and the future &release.next;. Some pre-built, binary &release.type; distributions along this branch can be found at . ]]> This distribution of &os; &release.current; is a &release.type; distribution. It can be found at or any of its mirrors. More information on obtaining this (or other) &release.type; distributions of &os; can be found in the Obtaining &os; appendix to the &os; Handbook. ]]> All users are encouraged to consult the release errata before installing &os;. The errata document is updated with late-breaking information discovered late in the release cycle or after the release. Typically, it contains information on known bugs, security advisories, and corrections to documentation. An up-to-date copy of the errata for &os; &release.current; can be found on the &os; Web site. What's New This section describes the most user-visible new or changed features in &os; since &release.prev;. In general, changes described here are unique to the &release.branch; branch unless specifically marked as &merged; features. Typical release note items document recent security advisories issued after &release.prev.historic;, new drivers or hardware support, new commands or options, major bug fixes, or contributed software upgrades. They may also list changes to major ports/packages or release engineering practices. Clearly the release notes cannot list every single change made to &os; between releases; this document focuses primarily on security advisories, user-visible changes, and major architectural improvements. Security Advisories A bug in the &man.fetch.1; utility, which allows a malicious HTTP server to cause arbitrary portions of the client's memory to be overwritten, has been fixed. For more information, see security advisory FreeBSD-SA-04:16.fetch. &merged; A bug in &man.procfs.5; and &man.linprocfs.5; which could allow a malicious local user to read parts of kernel memory or perform a local denial of service attack by causing a system panic, has been fixed. For more information, see security advisory FreeBSD-SA-04:17.procfs. &merged; Kernel Changes Support for 80386 processors (the I386_CPU kernel configuration option) has been removed. Users running this class of CPU should use &os; 5.X or earlier. The loader tunable debug.mpsafevm has been enabled by default. &merged; &man.memguard.9;, a kernel memory allocator designed to help detect tamper-after-free scenarios, has been added. This must be explicitly enabled via options DEBUG_MEMGUARD, plus small kernel modifications. It is generally intended for use by kernel developers. A number of bugs have been fixed in the ULE scheduler. &merged; Fine-grained locking to allow much of the VFS stack to run without the Giant lock has been added. This is enabled by default on the alpha, amd64, and i386 architectures, and can be disabled by setting the loader tunable (and sysctl variable) debug.mpsafevfs to 0. A bug in Inter-Processor Interrupt (IPI) handling, which could cause SMP systems to crash under heavy load, has been fixed. More details are contained in errata note FreeBSD-EN-05:03.ipi. &merged; System V IPC objects (message queues, semaphores, and shared memory) now have support for Mandatory Access Control policies, notably &man.mac.biba.4;, &man.mac.mls.4;, &man.mac.stub.4;, and &man.mac.test.4;. Memory allocation for legacy PCI bridges has been limited to the top 32MB of RAM. Many older, legacy bridges only allow allocation from this range. This change only applies to devices which do not have their memory assigned by the BIOS. This change fixes the bad Vcc error of CardBus bridges (&man.pccbb.4;). &merged; The &man.sysctl.3; MIBs beginning with debug now require the kernel option options SYSCTL_DEBUG. This option is disabled by default. The generic &man.tty.4; driver interface has been added and many device drivers including &man.cx.4; ({tty,cua}x), &man.cy.4; ({tty,cua}c), &man.digi.4; ({tty,cua}D), &man.rc.4; ({tty,cua}m), &man.rp.4; ({tty,cua}R), &man.sab.4; ({tty,cua}z), &man.si.4; ({tty,cua}A), &man.sio.4; ({tty,cua}d), sx ({tty,cua}G), &man.uart.4; ({tty,cua}u), &man.ubser.4; ({tty,cua}y), &man.ucom.4; ({tty,cua}U), and &man.ucycom.4; ({tty,cua}y) have been rewritten to use it. Note that /etc/remote and /etc/ttys have been updated as well. + The &man.vkbd.4; driver has been added. This driver + provides a software loopback mechanism that can implement + a virtual AT keyboard similar to what the &man.pty.4; driver + does for terminals. + The default HZ parameter (which controls various kernel timers) has been increased from 100 to 1000 on the i386 and ia64. It has been reduced from 1024 to 1000 on the amd64 to reduce synchronization effects with other system clocks. The maximum length of shell commands has changed from 128 bytes to PAGE_SIZE. By default, this value is either 4KB (i386, pc98, amd64, and powerpc) or 8KB (sparc64 and ia64). As a result, compatibility modules need to be rebuilt to stay synchronized with data structure changes in the kernel. Boot Loader Changes A serial console-capable version of boot0 has been added. It can be written to a disk using &man.boot0cfg.8; and specifying /boot/boot0sio as the argument to the option. cdboot now works around a BIOS problem observed on some systems when booting from USB CDROM drives. The autoboot loader command now supports the prompt parameter. A loader menu option to set hint.atkbd.0.flags=0x1 has been added. This setting allows USB keyboards to work if no PS/2 keyboard is attached. Hardware Support + The acpi_snc driver, + which supports Sony Notebook Controller on various + Sony laptops has been added. + The &man.auxio.4; driver has been to drive some auxiliary I/O functions found on various SBus/EBus &ultrasparc; models. &merged; A framework for flexible processor speed control has been added. It provides methods for various drivers to control CPU power utilization by adjusting the processor speed. More details can be found in the &man.cpufreq.4; manual page. &merged; Currently supported drivers include acpi_perf (ACPI CPU performance states), ichss (Intel SpeedStep for ICH), and acpi_throttle (ACPI CPU throttling). Support for the OLDCARD subsystem has been removed. The NEWCARD system is now used for all PCCARD device support. The pcii driver has been added to support GPIB-PCIIA IEEE-488 cards. The &man.pbio.4; driver, which supports direct access to the Intel 8255A programmable peripheral interface (PPI) chip running in mode 0 (simple I/O) has been added. The &man.psm.4; driver now has improved support for Synaptics Touchpad users. It now has better tracking of slow-speed movement and support for various extra buttons and dials. These features can be tuned with the hw.psm.synaptics.* hierarchy of sysctl variables. The rtc driver has been added to support the MC146818-compatible clock found on some &ultrasparc; II and III models. &merged; The &man.uart.4; driver is now enabled in the GENERIC kernel, and is now the default driver for serial ports. The ofw_console, &man.sab.4;, and zs drivers are now disabled in the GENERIC kernel. &merged; The &man.uplcom.4; driver now supports handling of the CTS signal. The &man.ehci.4; driver has been improved. Multimedia Support The &man.snd.audiocs.4; driver has been added to support the Crystal Semiconductor CS4231 audio controller found on &ultrasparc; workstations. &merged; The &man.uaudio.4; driver now has some added functionality, including volume control on more inputs and recording capability on some devices. Network Interface Support The &man.ath.4; driver has been updated to split the transmit rate control algorithm into a separate module. Either device ath_rate_onoe or device ath_rate_amrr must be included in the kernel configuration when using the &man.ath.4; driver. The &man.bge.4; driver now supports the &man.altq.4; framework. The &man.cp.4; driver is now MPSAFE. &merged; The &man.ctau.4; driver is now MPSAFE. &merged; The &man.cx.4; driver is now MPSAFE. &merged; The &man.dc.4; driver now supports the &man.altq.4; framework. In the &man.em.4; driver, hardware support for VLAN tagging is now disabled by default due to some interactions between this feature and promiscuous mode. &merged; Ethernet flow control is now disabled by default in the &man.fxp.4; driver, to prevent problems with a system panics or is left in the kernel debugger. &merged; + The gx(4) driver has been removed because + it is no longer maintained actively and + the &man.em.4; supports all of the supported hardware. + The &man.hme.4; driver is now MPSAFE. &merged; The &man.ndis.4; device driver wrapper now supports &windows;/x86-64 binaries on amd64 systems. &merged; The &man.sf.4; driver now has support for device polling and &man.altq.4;. &merged; Several programming errors in the &man.sk.4; driver have been corrected. These bugs were particular to SMP systems, and could cause panics, page faults, aborted SSH connections, or corrupted file transfers. More details can be found in errata note FreeBSD-EN-05:02.sk. &merged; The &man.sk.4; driver now has support for &man.altq.4;. This driver also now supports jumbo frames on Yukon-based interfaces. &merged; The &man.vge.4; driver now has support for device polling (&man.polling.4;). Support for 802.11 devices in the &man.wlan.4; framework has been greatly overhauled. In addition to architectural changes, it includes completed 802.11g, WPA, 802.11i, 802.1x, WME/WMM, AP-side power-saving, and plugin frameworks for cryptography modules, authenticators, and access control. Note in particular that WEP now requires the wlan_wep module to be loaded (or compiled) into the kernel. Network Protocols The MTU feedback in IPv6 has been disabled when the sender writes data that must be fragmented. &merged; The Common Address Redundancy Protocol (CARP) has been implemented. CARP comes from OpenBSD and allows multiple hosts to share an IP address, providing high availability and load balancing. For more information, see the &man.carp.4; manual page. The &man.ipfw.4; IPDIVERT option is now available as a kernel loadable module. If this module is not loaded, &man.ipfw.4; will refuse to install divert rules and &man.natd.8; will return the error message protocol not supported. &man.ipfw.8; now supports classification and tagging of &man.altq.4; packets via a divert socket, as well as the TCP data length. The &man.ipfw.8; ipfw fwd rule now supports the full packet destination manipulation when the kernel option options IPFIREWALL_FORWARD_EXTENDED is specified in addition to options IPFIRWALL_FORWARD. This kernel option disables all restrictions to ensure proper behavior for locally generated packets and allows redirection of packets destined to locally configured IP addresses. Note that &man.ipfw.8; rules have to be carefully crafted to make sure that things like PMTU discovery do not break. Ongoing work is reducing the use of the Giant lock by the network protocol stack and improving the locking strategies. A new &man.ng.netflow.4; NetGraph node allows a router running &os; to do NetFlow version 5 exports. &merged; The &man.sppp.4; driver now includes Frame Relay support. &merged; A bug in TCP that sometimes caused RST packets to be ignored if the receive window was zero bytes has been fixed. &merged; Several bugs in the TCP SACK implementation have been fixed. &merged; RFC 1644 T/TCP support has been removed. This is because the design is based on a weak security model that can easily permit denial-of-service attacks. This TCP extension has been considered a defective one in a recent Internet Draft. Random ephemeral port number allocation has led to some problems with port reuse at high connection rates. This feature is now disabled during periods of high connection rates; whenever new connections are created faster than net.inet.ip.portrange.randomcps per second, port number randomization is disabled for the next net.inet.ip.portrange.randomtime seconds. The default values for these two sysctl variables are 10 and 45, respectively. &merged; Fine-grained locking has been applied to many of the data structures in the IPX/SPX protocol stack. While not fully MPSAFE at this point, it is generally safe to use IPX/SPX without the Giant lock (in other words, the debug.mpsafenet sysctl variable may be set to 1). Disks and Storage The &man.amr.4; driver is now safe for use on systems using &man.pae.4;. &merged; The SHSEC GEOM class has been added. It provides for the sharing of a secret between multiple GEOM providers. All of these providers must be present in order to reveal the secret. This feature is controlled by the &man.gshsec.8; utility. &merged; The &man.hptmv.4; driver, which supports the HighPoint RocketRAID 182x series, has been added. &merged; The &man.matcd.4; driver has been removed. &merged; The default SCSI boot-time probe delay in the GENERIC kernel has been reduced from fifteen seconds to five seconds. + The old vinum(4) subsystem has been removed + in favor of the new &man.geom.4;-based version. + The &man.wd.4; driver has been removed. The &man.ata.4; driver has been found to work well enough on the pc98 platform that there is no need for the older &man.wd.4; driver. Information about newly-mounted cd9660 file systems (such as the presence of Rockridge extensions) is now only printed if the kernel was booted in verbose mode. This change was made to reduce the amount of (generally unnecessary) kernel log messages. &merged; File Systems The autofs(9) file system and the userland library &man.libautofs.3; have been added. A kernel panic in the NFS server has been fixed. More details can be found in errata note FreeBSD-EN-05:01.nfs. &merged; Contributed Software ACPI-CA has been updated from 20040527 to 20041119. &merged; Userland Changes The &man.burncd.8; utility now allows commands (such as eject) to take place after fixating a disk. The create command of the &man.gpt.8; utility now supports a command-line flag to force creation of a GPT even when there is an MBR record on a disk. &merged; The &man.ifconfig.8; utility has been restructured. It is now more modular and flexible with respect to supporting interface-specific functionality. The 802.11 support has been updated to support recent changes to the 802.11 subsystem and drivers. Support for abbreviated forms of a number of &man.ipfw.8; options has been deprecated. Warnings are printed to stderr indicating the correct full form when one of these abbreviations is detected. The on-disk format of LC_CTYPE files has - been changed to be machine-indepedent. + been changed to be machine-independent. The libarchive library (as well as the &man.tar.1; command that uses it) now has support for reading ISO images (with optional RockRidge extensions) and ZIP archives (with deflate and none compression). &merged; The default stack sizes in libpthread and libc_r have been increased. On 32-bit platforms, the main thread receives a 2MB stack size by default, with other threads receiving a 1MB stack size by default. On 64-bit platforms, the default stack sizes are 4MB and 2MB respectively. A number of new functions have been implemented in the &man.math.3; library. These include &man.ceill.3;, &man.floorl.3;, &man.ilogbl.3;, &man.fma.3; and variants, &man.lrint.3; and variants, and &man.lround.3; and variants. &merged; + The libxpg4 library has been removed + because all of the functionality was merged into + libc for a long time. + All binaries linked with libxpg4 + must be recompiled or use &man.libmap.conf.5;. + Note that the &os; base system has no such binaries. + The &man.newfs.8; utility now supports a flag to suppress the creation of a .snap directory on new file systems. This feature is intended for use on memory or vnode file systems that will not require snapshot support. &merged; The NO_NIS compile-time knob for userland has been added. As its name implies, enabling this Makefile variable will cause NIS support to be excluded from various programs and will cause the NIS utilities to not be built. &merged; The &man.mkuzip.8; utility, which compresses file system images for use with GEOM_UZIP &man.geom.4; module, has been added. &merged; + A separate directory has been added for &man.named.8; + dynamic zones which is owned by the bind user + (for creation of the zone journal file). + For more detail, see an example dynamic zone in the sample + &man.named.conf.5;. &merged; + The &man.newsyslog.8; utility now supports a option to specify an alternate root for log files similar to DESTDIR in the BSD make process. This only affects log file paths, not configuration file () or archive directory () paths. The &man.ncal.1; utility now supports a flag to generate a calendar for a specified month in the current year. &merged; The libgpib library has been added to give userland access to GPIB devices (using the the pcii driver) via the ibfoo API. The &man.mknod.8; utility is now deprecated. Device nodes have been managed by the &man.devfs.5; device file system since &os; 5.0. The &man.moused.8; daemon now supports virtual scrolling, in which mouse motions made while holding down the middle mouse button are interpreted as scrolling. This feature is enabled with the flag. &merged; For years, &os; has used Makefile variables of the form NOFOO and NO_FOO. For consistency, those variables using the former naming convention have been converted to the NO_FOO form. The file /usr/share/mk/bsd.compat.mk has a complete list of these variables; it also implements some temporary backward compatibility for the old names. The &man.ppp.8; program now implements an parameter, which allows LCP ECHOs to be enabled independently of LQR reports. Older versions of &man.ppp.8; would revert to LCP ECHO mode on negotiation failure. It is now necessary to specify enable echo to get this behavior. &merged; The &man.rm.1; utility now supports an option that asks for confirmation (once) if recursively removing directories or if more than 3 files are listed in the command line. &merged; + The &man.rm.1; utility now suppresses diagnostic messages + when it attempts to remove a non-existent directory + with the and options + specified. This behavior is required by + Version 3 of the Single UNIX Specification (SUSv3). + An &man.rpmatch.3; library function has been added to check a string for being an affirmative or negative response in the current locale. The &man.rtld.1; dynamic linker now supports specifying library replacements via the LD_LIBMAP environment variable. This variable will override the entries in &man.libmap.conf.5;. &merged; The rune(3) non-standard multibyte and wide character support interface has been removed. + The &man.strftime.3; function now supports some GNU extensions + such as -(no padding), + _(use space as padding), + and 0(zero padding). + The &man.syslog.3; function is now thread-safe. &merged; The &man.syslogd.8; utility now opens an additional domain socket (/var/run/logpriv by default), with 0600 permissions to be used by privileged programs. This prevents privileged programs from locking when the domain sockets run out of buffer space due to a local denial-of-service attack. &merged; The option of &man.tail.1; utility now supports more than one file at a time. &merged; The &man.telnet.1; and &man.telnetd.8; programs now support the option for specifying a numeric TOS byte. Prepending a + character to port numbers passed to &man.telnet.1; program will now disable option negotiation and allow the transfer of characters with the high bit set. This feature is intended to support the fairly common use of &man.telnet.1; as a protocol tester. The &man.tcpdrop.8; command, which closes a selected TCP connection, has been added. It was obtained from OpenBSD. &man.whois.1; now supports a flag for querying whois.krnic.net (the National Internet Development Agency of Korea), which holds details of IP address allocations within Korea. &merged; The option of the &man.xargs.1; command has been changed to confirm IEEE Std 1003.1-2004. The standard requires that the constructed arguments cannot grow larger than 255 bytes. <filename>/etc/rc.d</filename> Scripts &man.rc.conf.5; now supports changes of network interface names at boot time. For example: ifconfig_fxp0_name="net0" ifconfig_net0="inet 10.0.0.1/16" The rc.d/moused script now starts/stops/checks a specific device when the device name is given as the second argument to the script: &prompt.root; /etc/rc.d/moused start ums0 To use different &man.rc.conf.5; knobs with different mice, use the device name as part of the knob. For example, if the mouse device is /dev/ums0 the following lines can be used: moused_ums0_enable=yes moused_ums0_flags="-z 4" moused_ums0_port="/dev/ums0" + + &man.rc.conf.5; now supports tmpmfs_flags + and varmfs_flags variables. + These can be used to pass extra options to the &man.mdmfs.8; utility, + to customize the finer details of the &man.md.4; file system creation, + such as to turn on/off softupdates, to specify a default owner + for the file system, and so on. Contributed Software FILE has been updated from 4.10 to 4.12. GNU readline has been updated from version 4.3 to version 5.0. Heimdal has been updated from 0.6.1 to 0.6.3. &merged; lukemftp has been updated from a 26 April 2004 snapshot from OpenBSD's sources to a snapshot as of 19 February 2005. A snapshot of netcat from OpenBSD as of 4 February 2005 has been added. More information can be found in the &man.nc.1; manual page. &merged; OpenPAM has been updated from the Eelgrass release to the Feterita release. OpenSSH has been updated from 3.8p1 to 3.9p1. OpenSSL has been updated from 0.9.7d to 0.9.7e. &merged; sendmail has been updated from version 8.13.1 to version 8.13.3. &merged; The timezone database has been updated from the tzdata2004e release to the tzdata2004g release. &merged; Ports/Packages Collection Infrastructure The &man.pkg.version.1; utility now supports a flag to suppress the output of the port version comparison characters <, =, and >. The ports/INDEX* files, which kept an index of all of the entries in the ports collection, have been removed from the CVS repository. &merged; These files were generated only infrequently, and therefore were usually out-of-date and inaccurate. Users requiring an index file (such as for use by programs such as &man.portupgrade.1;) have two alternatives for obtaining a copy: Build an index file based on the current ports tree by running make index from the top of the ports/ tree. Fetch an index file over the network by running make fetchindex from the top of the ports/ tree. This index file will (typically) be accurate to within a day. Release Engineering and Integration The supported version of the GNOME desktop environment has been updated from 2.6.2 to 2.8.3. &merged; Users of older versions of the GNOME desktop (x11/gnome2) must take particular care in upgrading. Simply upgrading it from the &os; Ports Collection with &man.portupgrade.1; (sysutils/portupgrade) will cause serious problems. GNOME desktop users should read the instructions carefully at and use the gnome_upgrade.sh script to properly upgrade to GNOME 2.8.3. For casual users of the various GNOME libraries, &man.portupgrade.1; should be sufficient. The supported version of the KDE desktop environment has been updated from 3.3.0 to 3.3.2. &merged; The supported version of Xorg has been updated from 6.7.0 to 6.8.1. &merged; Documentation Manual pages in the base system have received a number of cleanups, both for content and presentation. Cross-references are more correct and consistent, standard section headings are now used throughout, and markup has been cleaned up. Upgrading from previous releases of &os; Source upgrades to &os; &release.current; are only supported from &os; 5.3-RELEASE or later. Users of older systems wanting to upgrade &release.current; will need to update to &os; 5.3 or newer first, then to &os; &release.current;. Upgrading &os; should, of course, only be attempted after backing up all data and configuration files.