# FreeBSD/i386 5.2.1-RELEASE リリースノート

### FreeBSD プロジェクト

Copyright © 2000, 2001, 2002, 2003, 2004 FreeBSD ドキュメンテーション プロジェクト

$FreeBSD: src/release/doc/ja_JP.eucJP/relnotes/common/new.sgml,v 1.95.2.2 2004/03/05 04:11:23 rushani Exp $

この FreeBSD 5.2.1-RELEASE 用リリースノートには、 5-CURRENT 開発ブランチの FreeBSD ベースシステムに対する最近の 変更点の概要が含まれています。 FreeBSD カーネルおよびユーザーランドにおける変更点、 前のリリース以降に発行されたセキュリティ勧告が書かれています。 また、アップグレードの際の注意点も載せてあります。

## 1. はじめに

この文書は i386 ハードウェアプラットフォーム用 FreeBSD 5.2.1-RELEASE のリリースノートです。 これは FreeBSD に最近追加、変更、削除された機能について解説したものであり、 FreeBSD の前のバージョンからのアップグレードについても言及しています。

この FreeBSD 5.2.1-RELEASE 配布物は ``ポイントリリース'' であり、FreeBSD 5.2-RELEASE で発見された いくつかの問題 (主にバグ) の修正をおこなったものです。

FreeBSD release の 5-CURRENT 系列をはじめて利用するユーザは、まず ``FreeBSD 5.2.1-RELEASE 初期利用者の手引き'' をご覧ください。 この文書は (FreeBSD 配布ファイルの一部として、 もしくは FreeBSD ウェブサイト上の) リリースノートと同じ場所に置かれており、 FreeBSD 4-STABLE 開発ブランチをベースにしたリリースと比較して、 FreeBSD 5.2.1-RELEASE を利用する際の利点と欠点について重要な情報が書かれています。

FreeBSD をインストールする前に、必ずそのリリースの errata 文書をお読みください。 errata 文書には、リリース工程の最後やリリース後に判明した ``最新の'' 情報が書かれています。 通常これに含まれているのは、既知のバグ、セキュリティ勧告、 文書の訂正です。FreeBSD 5.2.1-RELEASE の最新版 errata 文書は、FreeBSD ウェブサイトから入手できます。

## 2. 更新情報

この節では 5.1-RELEASE 以降に新たに追加・変更された ユーザに影響する機能について説明します。 これには他のブランチ (FreeBSD 5.1-RELEASE 以降) へと 最近マージされた機能に加えて、5-CURRENT ブランチ に固有の項目も含まれます。

リリースノートには、 5.1-RELEASE 以降に出されたセキュリティ勧告、 新しいドライバやハードウェア対応、 新しいコマンドやオプション、重要なバグフィックスや寄贈ソフトウェア のアップグレード、 ports/packages やリリースエンジニアリング工程に関する大きな変更点が 書かれています。リリースノートには、リリース間に加えられた FreeBSD の全変更点が書かれているわけではありません。 記載されている情報は、セキュリティ勧告、ユーザに影響のある変更、 既存の構造に対する大きな改良点が中心としたものです。

FreeBSD に加えられた変更点のうち、 スペースの都合上ここに書かれていないものも多数存在します。 それらはたとえば文書の修正や改良、ごく影響の小さいバグの修正、 監査で見つかったセキュリティ上好ましくないスタイルで書かれたコードの修正、 ソースコードの整理などです。

[5.2.1] という印は、このポイントリリースで追加された リリースノートの項目を表しています。

### 2.1. セキュリティ勧告

realpath(3) 関数の実装にあった 1 バイトのバッファオーバフローを引き起こすバグが修正されました。 この修正は FreeBSD 5.1-RELEASE の公開前に行われました (したがって、5.1-RELEASE には影響がありません) が、リリース文書には記載されていませんでした。 詳細はセキュリティ勧告 FreeBSD-SA-03:08 をご覧ください。 [MFC 済]

カーネルに不正なシグナルの配送を可能にするバグが修正されました。 このバグは、カーネルパニックを引き起こしたり、 特定の状況ではカーネルメモリを不正に改変できる可能性があります。 詳細はセキュリティ勧告 FreeBSD-SA-03:09 をご覧ください。 [MFC 済]

カーネルメモリの内容が漏洩する可能性がある iBCS2 エミュレーションモジュールのバグが修正されました。 なお、このモジュールはデフォルトでは有効になっていません。 詳細はセキュリティ勧告 FreeBSD-SA-03:10 をご覧ください。 [MFC 済]

OpenSSH のバッファを管理する コードにあったクラッシュを引き起こす可能性があるバグが修正されました。 詳細はセキュリティ勧告 FreeBSD-SA-03:12 をご覧ください。 [MFC 済]

sendmail のバッファオーバフロー問題が修正されました。 詳細はセキュリティ勧告 FreeBSD-SA-03:13 をご覧ください。 [MFC 済]

ARP キャッシュコードにあった、カーネル資源を枯渇させ、 システムパニックを発生させる可能性があるバグが修正されました。 詳細はセキュリティ勧告 FreeBSD-SA-03:14 をご覧ください。 [MFC 済]

OpenSSH の PAM チャレンジ/レスポンス認証サブシステムにあったいくつかの誤りが修正されました。 これらのバグの影響には、さまざまなものが存在します。 詳細はセキュリティ勧告 FreeBSD-SA-03:15 をご覧ください。 [MFC 済]

カーネルメモリの内容が漏洩する可能性がある procfs(5) と linprocfs(5) のバグが修正されました。 詳細はセキュリティ勧告 FreeBSD-SA-03:17. をご覧ください。 [MFC 済]

OpenSSL にあった 4 種類の セキュリティ上の弱点が修正されました。 このバグは、リモートの攻撃者が OpenSSL を利用するアプリケーションをクラッシュさせたり、 アプリケーションの権限で任意のコードを実行できる可能性があります。 詳細はセキュリティ勧告 FreeBSD-SA-03:18 をご覧ください。 [MFC 済]

BIND において、サービス妨害の可能性があったバグが修正されました。 詳細はセキュリティ勧告 FreeBSD-SA-03:19 をご覧ください。 [MFC 済]

[5.2.1] ファイルシステムのスナップショットを作成すると、 対象ファイルシステムのフラグが初期値に戻ってしまうという、 mksnap_ffs(8) のバグが修正されました。 これによる影響の大小はシステムの利用形態によりますが、 拡張アクセス制御リストを無効にしたり、信頼できないファイルシステムに 置かれている setuid 実行ファイルの実行が可能になるおそれがあります。 dump(8) の -L オプションも、 mksnap_ffs(8) を利用するため、このバグによる影響を受けます。 ただし通常、 mksnap_ffs(8) を実行可能なのは スーパユーザと `operator` のメンバのみです。 詳細はセキュリティ勧告 FreeBSD-SA-04:01 をご覧ください。

[5.2.1] System V 共有メモリインタフェース (のうち shmat(2) システムコール) において、 未割当のカーネルメモリを参照する共有メモリセグメントをつくることができる、 というバグが修正されました。 ローカルの攻撃者がこれを悪用すると、カーネルメモリの一部に不正にアクセスすることが 可能になるため、結果としてセキュリティ上重要な情報の漏洩、アクセス制御機構の迂回や 高い権限の不正な獲得などに利用されるおそれがあります。 詳細はセキュリティ勧告 FreeBSD-SA-04:02 をご覧ください。[MFC 済]

### 2.2. カーネルの変更点

acpi(4) ドライバの CPU コンポーネントが、単一プロセッサシステム、SMP システムの両方で C1 から C3 のアイドル状態に対応しました。これは、プロセッサが アイドル状態の時に消費電力や発熱を抑制するための機能で、ACPI 2.0 に準拠したものです。また、スロットリング制御機能が ACPI 2.0 に対応するように更新されています。

コンソールを初期化する際に、 AT キーボードが接続されていない時でも atkbd(4) が AT キーボードを登録してしまうバグが修正されました。 これにより、USB キーボードのみが接続されているシステムで `kbdcontrol -k /dev/kbd1` を実行する必要はなくなっています。 [MFC 済]

Cronyx-Sigma シリアルインタフェース用の cx(4) ドライバが大きく修正・改良されました。この更新で ユーザランドの設定ユーティリティ cxconfig は、 sconfig(8) というユーティリティに置き換えられました。

[5.2.1] devfs(5) の path ルールがディレクトリに対しても 正しく動作するようになりました。

DRM カーネルモジュールが DRI CVS リポジトリの 2003 年 11 月 12 日時点のコードに更新されました。 この変更には、最近移植された SiS 300/305/540/630/730 ドライバの 統合と、SMPng のロック対応が含まれています。

新しく``ダムコンソール''ドライバ dcons(4) が追加されました。これは、ローカルとリモートコンソールに対応したもので、 dcons_crom(4) ドライバを使うことで FireWire 経由でアクセスすることが可能です。 ユーザからは、 dconschat(8) ユーティリティを使うことで dcons(4) デバイスにアクセスすることができます。

マルチバイト文字集合の変換メソッドに対応する LIBICONV カーネルオプションが追加されました。

hifn(4) ドライバが 7955 および 7956 チップセットの対称暗号機能に対応しました。 [MFC 済]

puc(4) (PCI Universal Communications) ドライバが ppc(4) ドライバを 経由したパラレルポートへの接続に対応しました。

safe(4) ドライバが追加されました。 これは SafeNet 1141 ベース、1741 ベースの 暗号処理アクセラレータに対応しています。 [MFC 済]

> Warningこのドライバは試験的なものと考えられています。 使用には注意してください。

> Note: 公開鍵暗号機能には対応していません。

新しく uart(4) ドライバが追加されました。 これはさまざまな種類の UART (Universal Asynchronous Receiver/Transmitter) デバイスに対応したもので、 sio(4) ドライバに似ていますが、 対応しているデバイスの数がより多くなっています。 このドライバは ia64 や sparc64 といった、 いくつかのアーキテクチャでシリアルポートに対応するために必要です。

カーネルにソフトウェアウォッチドッグ機能が実装されました。 詳しくは watchdog(4) と watchdogd(8) をご覧ください。

スワップページャの実装が刷新されました。 ユーザに見える変更点は、 I/O スループット向上のためにレイアウトポリシが 固定幅のストライピングから複数デバイスのラウンドロビン方式に変更されたこと、 コンパイル時に指定していたスワップデバイス数の上限がなくなったこと、 メモリオーバヘッドが減少したことなどがあります。

#### 2.2.1. プラットフォーム固有のハードウェアの対応状況

割り込み経路の制御と SMP 対応を改良するため、 i386 マシン固有コードに大幅な変更がおこなわれました。 ユーザに影響する大きな変更点は、SMP カーネルが単一プロセッサシステムでも 動作するようになったこと、SMP 機能が `GENERIC` カーネルで、デフォルトで有効になったことの 2 つです。 また、options APIC_IO カーネルオプションは device apic に置き換えられています。

PAE 機能をある特定の量のメモリを搭載しているマシンで有効にした場合に、 カーネルがパニックさせる原因となる整数演算のオーバフローが修正されました。

浮動小数点エミュレーションが削除されました。

一部の Pentium 4 CPU、古い Pentium Pro と Pentium II CPU における問題への対処が追加されました。 この不具合による症状は、そのほとんどが メモリ破壊や原因不明のクラッシュとして現れていました。

(HyperThreading 機能における) 論理 CPU が、 BIOS 設定に応じて有効化されるようになりました (従来はデフォルトで無効になっており、 明示的に有効にする必要がありました)。

#### 2.2.2. ブートローダの変更

[5.2.1] BIOS に問題があるシステムでも、USB CDROM ドライブからの起動で `cdboot` が動作するようになりました。

#### 2.2.3. ネットワークインターフェイスの対応状況

ath(4) および ath_hal(4) ドライバが新しく追加されました。 これは、AR5210, AR5211, AR5212 ベースの 802.11a/b/g デバイスに対応しています。

bfe(4) ドライバが新しく追加されました。 これは、Broadcom BCM4401 ベースの Fast Ethernet アダプタに対応しています。

bge(4) が Broadcom 5705 ベースの Gigabit Ethernet NIC に対応しました。 [MFC 済]

bge(4) にあったバグが修正され、 10Mbps で正常に動作するようになりました。

em(4) ドライバが、ドライバを再コンパイルしなくても、 割込みの遅延量を sysctl 変数を利用して調整できるようになりました。

fatm(4) ドライバが新しく追加されました。これは Fore/Marconi PCA200 ATM カードに対応した NATM と NgATM 用のドライバです。

harp(4) ドライバが新しく追加されました。 これは HARP (Host ATM Research Platform) 用の仮想的な物理インタフェースドライバです。 システムのすべての NetGraph ATM インタフェースにアタッチし、 HARP スタックに、 各インタフェースに対応する物理インタフェースを提供します。

hatm(4) ドライバが新しく追加されました。 これは、Fore/Marconi HE155, HE622 ATM カードに対応しています。

hfa ドライバが、ファームウェアバージョン 4.1.12 に更新され、数個の CBR チャネルに対応しました。

patm(4) ドライバが新しく追加されました。 これは、IDT77252 ベースの ATM インタフェースに対応しています。

re(4) ドライバが追加されました。 これは、 RealTek RTL8139C+、RTL8169、RTL8169S、RTL8110S PCI Fast Ethernet コントローラおよび Gigabit Ethernet コントローラに対応しています。

sk(4) ドライバが SK-9521 V2.0 と 3COM 3C940 ベースの Gigabit Ethernet NIC に対応しました。 [MFC 済]

[5.2.1] sk(4) ドライバのマルチキャストモードおよび プロミスキャスモードに関係するバグが修正されました。

新しく utopia(4) ドライバが追加されました。 これは、多くの ATM-PHY チップで使われている 25MBit/sec, 155MBit/sec. 622MBit/sec の ATM 物理層の設定、状態・統計の取得に対応したものです。

wi(4) ドライバのサスペンド/レジューム対応が デバイスを down 状態にしている時にも正しく動作するようになりました。 [MFC 済]

wi(4) ドライバが、Lucent 802.11b インタフェースで正しく動作するようになりました。

802.11 対応レイヤが、 拡張や新機能の追加が可能なように書き直されました。

xe(4) ドライバが CE2, CEM28, CEM33 カードに対応し、 マルチキャスト ( multicast(4)) データグラムに対応しました。また、 ドライバにあったいくつかのバグも修正されています。

数多くのネットワークドライバの割り込みハンドラが MPSAFE になりました。MPSAFE とは、ジャイアントロック (Giant lock) なしに動作可能という意味です。そのように変更されたドライバには、 ath(4), em(4), ep(4), fxp(4), sn(4), wi(4), sis(4) などがあります。

#### 2.2.4. ネットワークプロトコル

IPv4 プロトコル実装における ip_flow 機能が、 ip_fastforward 機能で置き換えられました。 ip_fastforward 機能は、 送出インタフェースに向かうパケットをキューや netisr を使わずに処理することで、単純なパケットの回送を高速化しようというものです。 処理できないパケットがあった場合、通常の ip_input ルーチンに渡されて処理されます。この機能は sysctl 変数 net.inet.ip.fastforwarding を 1 にすると有効になります。

IP_ONESBCAST オプションが追加されました。 これを有効にすると、特定のネットワークインタフェースに送られる すべての ip(4) ブロードキャストを、 強制的にリミテッドブロードキャストアドレスに向けることが可能です。

options IPFILTER 機能を有効にする際には、 options PFIL_HOOKS の追加が必要になりました。

ipfw(4) limit ルールの処理に含まれていた、 システムパニックを発生させる可能性のあるバグが修正されました。 [MFC 済]

ipfw(4) ルールに、カンマで区切られたアドレスリスト (たとえば 1.2.3.4, 5.6.7.8/30, 9.10.11.12/22) が使用できるようになりました。また、可読性を向上させるため、 カンマの後ろに空白文字を入れることも可能になっています。 [MFC 済]

ipfw(4) ルールに、C++ 風のコメントが書けるようになりました。 各コメントはルールと同じ場所に格納され、 ipfw(8) show コマンドでルールと一緒に表示させることができます。 [MFC 済]

ipfw(8) を使って、ルールセット 31 にある ipfw(4) ルールが変更できるようになりました。 従来のルールセット 31 は、デフォルトのルールを格納するために 使われる読みとり専用のルールセットでしたが、 この変更により `ipfw delete set 31` という コマンドを使って、ルールセット 31 を削除することができるようになっています。 ただし、このルールセットは `ipfw flush` コマンドでは削除されません。つまり、このルールセットを使うと、 一種の ``永続ルール'' を記述することが可能になります。 詳細については、 ipfw(8) に書かれています。 [MFC 済]

ng_atmpif(4) NetGraph ノードタイプが追加されました。 これは HARP 物理インタフェースをエミュレートし、 ハードウェアが実在しなくても HARP ATM スタックを動作させることができます。

カーネルが Protocol Independent Multicast ルーティング ( pim(4)) に対応しました。 [MFC 済]

FreeBSD の Bluetooth プロトコルスタックが更新されました。

- libsdp が BSD 風のライセンスで再実装されました。これは、 Linux BlueZ に含まれるコードが GPL で配布されていたためです。

- hccontrol(8) ユーティリティが Read/Write_Page_Scan_Mode、Read/Write_Page_Scan_Period_Mode という 4 個の新しいコマンドに対応しました。

- hcsecd(8) デーモンが、 リンクキーをディスクに保存するようになりました。 毎回、デバイスを合わせる必要はなくなっています。

- ng_hci(4) および ng_l2cap(4) カーネルモジュールに含まれていた、 解放されたデータ構造体にアクセスする可能性のあった NetGraph タイムアウト問題が修正されました。

- FreeBSD 5.1-RELEASE で構築できなかった ng_ubt(4) モジュールが修正されました。

- rfcomm_sppd(1) および rfcomm_pppd(8) が、 サーバから SDP 経由で RFCOMM チャネルを取得できるようになりました。 RFCOMM チャネルを手動で設定すると、これらのユーティリティは SDP 経由での取得をおこないません。

- Linux BlueZ SDP パッケージに含まれる sdptool ユーティリティに似た sdpcontrol(8) ユーティリティが追加されました。

IPv6 および IPsec のコードおける数多くの修正と更新が、 KAME プロジェクトから統合されました。

[5.2.1] KAME プロジェクトから統合された IPsec の実装に含まれていたバグが修正されました。このバグは、 まだ参照されているメモリオブジェクトを開放してしまうもので、 セキュリティポリシデータベース (SPD; Security Policy Database) をフラッシュした後に異常な動作をしたり カーネルパニックが発生するという症状を引き起こします。

IPv6 Advanced Sockets API 対応が RFC 2292 ではなく RFC 3542 (別名 RFC 2292bis) に準拠しました。 この API を使っているアプリケーションも、それに応じて更新されています。

[5.2.1] PFIL_HOOKS オプションが `GENERIC` カーネルにおいて デフォルトで有効になりました。 これにより、IPFilter が カーネルモジュールとして読み込まれた時にも、正しく動作するように なりました。

RFC 3484 に含まれているソースアドレス選択 (source address selection) 機能が追加されました。アドレス選択ポリシの設定には、 ip6addrctl(8) ユーティリティが使用できます。

TCP 実装に tcp_hostcache 機能が追加されました。 これは過去の TCP セションのパラメータをキャッシュし、 以降に発生する同一の送信元アドレス・送信先アドレスの接続において、 より適切な初期値を与えることを可能にします。 経路表に格納されていた、同じような情報は削除されました。

FreeBSD の TCP 実装に TCP セグメントのサイズと速度を制限するという形で、 ある種の TCP MSS 資源枯渇攻撃に対する対策が追加されました。 ひとつ目は TCP セグメントサイズの最大と最小を制限するもので、 sysctl 変数 net.inet.tcp.minmss (デフォルトは 216) で制御することができます。 ふたつ目は、セグメントの平均サイズが net.inet.tcp.minmss より小さい接続の 最大通信速度を制限するもので、 net.inet.tcp.minmssoverload 変数で制御することができます。 設定されたパケット速度を超える接続は、reset されて切断されます。 この機能は 5.2-RELEASE リリースサイクルの終りごろに追加されたため、 デフォルトでは、この接続速度の制限は無効になっていますが、 net.inet.tcp.minmssoverload に 0 でない 値を設定することで、手動で有効にすることができます。

#### 2.2.5. ディスク・記憶装置

amr(4) ドライバがクラッシュダンプ機構に対応しました。[MFC 済]

ata(4) ドライバが大きく書き直されました。 大きな変更の一つは、 ata(4) ドライバの ジャイアントカーネルロックが外されたことです。 従来、ATA のソフトウェア RAID システムは device atadisk を指定するだけで 自動的に利用できるようになっていましたが、 現在は、明示的にカーネルコンフィグファイルに device ataraid を追加する必要があります。

[5.2.1] ata(4) ドライバにあったバグの数々が修正されました。 特に、マスタ/スレーブ接続のデバイス検出が改善され、 タイムアウトによる問題などが解決しています。

ccd(4) が raw ディスクおよび、その他の geom(4) プロバイダに対して動作するようになりました。

da(4) ドライバが、USB デバイスと FireWire デバイスに 6 バイトコマンドを送出しないようになりました。 現在、この回避策は (不要になったと思われるため) 無効にされています。 従来の動作に戻すには、options DA_OLD_QUIRKS を カーネルコンフィグファイルに追加してください。 [MFC 済]

`geom_apple`, `geom_bde`, `geom_bsd`, `geom_gpt`, `geom_mbr`, `geom_pc98`, `geom_sunlabel`, `geom_vol_ffs` といった、さまざまある geom(4) モジュールが、 カーネルモジュールとして読み込み可能になりました。

マルチパスストレージデバイスの検出や、アクセスパス選択を可能にする GEOM_FOX モジュールが追加されました。

松下 CR-562 および CR-563 CD ドライブに対応した matcd(4) ドライバが、再び使えるようになりました。

twe(4) ドライバが 3ware 汎用 API に対応しました。 [MFC 済]

#### 2.2.6. ファイルシステム

cd9660、msdosfs、ntfs, udf ファイルシステムが マルチバイト文字変換に対応しました。 それぞれ、カーネルオプション CD9660_ICONV, MSDOSFS_ICONV, NTFS_ICONV, UDF_ICONV をカーネルコンフィグファイルに指定してください。

[5.2.1] まれに I/O が固まった状態に陥るという GEOM の バグが修正されました。

smbfs が 15 文字の NetBIOS 名で正しく動作するのを阻害していた いくつかの一つ違い (off-by-one) の誤りが修正されました。

テラバイトオーダのファイルシステムに対応するため、 statfs 構造体に含まれるいくつかのメンバ変数の大きさが、 32 ビットから 64 ビットに変更されました。

- この変更の前後でソースを使ってアップグレードする場合は、 次のソースアップグレード手順に従って作業し、 カーネルとユーザランドを同期させていなければなりません。

- statfs(2) システムコールの後方互換バージョンは、 COMPAT_FREEBSD4 カーネルオプションが追加されている場合にのみ利用できます。 このオプションを追加しておくことを強く推奨します。

- statfs(2) を使っているプログラムは、 再構築する必要があります。再構築が必要だと判明しているものには、 `devel/gnomevfs2`, `mail/postfix`, `security/cfg` などがあります。

ミシガン大学の Citi NFSv4 クライアント実装が統合され、 NFSv4 に対応しました。 詳細は、 mount_nfs4(8) および idmapd(8) のマニュアルページをご覧ください。

[5.2.1] NFSv4 クライアントが NFSv3 のみ、あるいは NFSv2 のみに 対応したサーバに NFSv4 操作をおこなおうとした場合にパニックする バグが修正されました。

#### 2.2.7. マルチメディアへの対応状況

### 2.3. ユーザランドの変更点

i386 専用の a.out コンパイラツールチェインが完全に削除されました。

acpiconf(8) に、バッテリの状態を表示する -i オプションが追加されました。

ACPI DSDT デバッガ acpidb(8) が追加されました。

arp(8) に、ARP エントリに対する操作の影響範囲を 特定のインタフェースに限定する -i オプションが追加されました。このオプションは、 情報を表示させる操作にのみ適用されます。多くのインタフェースを 搭載したルータなどに有用なオプションです。 [MFC 済]

asf(8) ユーティリティが追加されました。 これは、KLD から gdb(1) デバッグ環境にシンボルファイルをロードするためのものです。

atmconfig(8) が追加されました。 ATM ドライバと IP over ATM 機能の設定を行います。

chroot(8) が、chroot 環境で使うユーザとプライマリグループ、 グループリストの設定に対応しました。 設定にはそれぞれ、-u, -g, -G オプションを使います。 [MFC 済]

`compat4x.i386` ライブラリが、FreeBSD 4.9-RELEASE に対応したものに更新されました。

dhclient(8) が ネットワークインタフェースの状態をポーリングするようになり、 動作中のインタフェースに対してのみ DHCP 要求を送出するようになりました。 ポーリング間隔は -i オプションで制御することができます。

fsck(8) で作成される `lost+found` のデフォルトモードが、01777 から 0700 に変更されました。 [MFC 済]

fsck_ffs(8) および newfs(8) が、 各ファイルシステムのルートディレクトリに `operator` グループで `.snap` ディレクトリを作成するようになりました。 fsck_ffs(8), mksnap_ffs(8), dump(8) は、 それぞれのファイルシステムスナップショットをこのディレクトリに書き込みます。 この変更は、スナップショットの作成中にファイルシステムのルートディレクトリへの アクセスをロックしないようにするため、また、`root` 以外のユーザがスナップショットを作成できるようにするためのものです。

ffsinfo(8) ユーティリティが UFS2 ファイルシステムを解釈するに更新され、 再びベースシステムに含まれるようになりました。

iasl(8) ユーティリティが追加されました。 これは、ACPI Source Language (ASL) と ACPI Machine language (AML) の コンパイラ・逆コンパイラです。

ifconfig(8) に新しいオプション staticarp が追加されました。これは、そのインタフェースから ARP 要求の送出をしないよう指定するためのものです。

initgroups(3) ライブラリ関数の修正により、 login プロセスがプロセスの権限として、そのユーザが所属する すべての グループが設定できなかった場合、 ログインが失敗するようになりました。 現在のカーネルにおける制限は、16 グループです。 管理者は、ユーザが 16 グループ以上に所属していないことを 確認することをおすすめします。もし所属グループ数が 16 を超えていると、 ログインすることができなくなります。

ipfw(8) list および show コマンドで、ルール番号を範囲で指定することができるようになりました。 [MFC 済]

ipfw(8) に、実際の動作を行なわずにコマンドの文法だけをチェックする -n フラグが追加されました。[MFC 済]

kdump(1) に、特定のプロセスに対応するイベントのみを追跡する -p オプションと、ダンプ開始時点からの相対的な 時刻を表示する -E フラグが追加されました。

last(1) に、出力の行数を制限する -n フラグが追加されました。

`libalias` ライブラリ、 natd(8) および ppp(8) が Cisco Skinny Station プロトコルに対応しました。 このプロトコルは Cisco Call Manager と通信するために Cisco 製の IP 電話によって利用されています。 ただし現時点では、NAT ゲートウェイの後ろに Call Manager を置く構成には 対応していません。[MFC 済]

`libcipher` DES 暗号ライブラリが削除されました。 これらの機能はすべて `libcrypto` ライブラリで 提供されているもので、ベースシステムに含まれている `libcipher` を使っていたプログラムは、 すべて `libcrypto` を使うように変更されています。

カーネルに読み込み可能な文字集合変換テーブルの操作をおこなう `libkiconv` ライブラリが追加されました。

`libthr` 1:1 スレッドライブラリがデフォルトで構築されるようになりました。

`libwrap` および tcpdchk(8) が、 デフォルトで tcp_wrappers 拡張文法に対応するようになりました。

locale(1) ユーティリティが再実装され、POSIX 標準に準拠しました。新しく追加された -m オプションは 利用可能なすべてのコードセットを表示します。

-v フラグを指定して mount(8) ユーティリティを 実行した場合に、通常の情報に加えて各ファイルシステムのファイルシステム ID が表示されるようになりました。このファイルシステム ID は、 umount(8) ユーティリティでデバイスファイルや マウントポイントのパス名の代わりに使用することができます。 この機能を使うと、同じデバイス名やマウントポイント名を使って 複数のファイルシステムをマウントしている場合に、 アンマウントするファイルシステムを正確に指定することが可能です。

mount_cd9660(8), mount_ntfs(8), mount_udf(8) ユーティリティに -C オプションが追加されました。 これは Unicode ファイル名の変換先になるローカルの文字集合を指定するもので、 マルチバイト文字集合を指定することが可能です。

mount_msdosfs(8) ユーティリティに、 ファイルシステム中のディレクトリに対する最大のファイル許可属性を指定する -M オプションが追加されました。 [MFC 済]

mount_msdosfs(8) ユーティリティに、 MS-DOS コードページを指定する -D オプションと ローカル文字集合を指定する -L オプションが 追加されました。 これらのオプションはファイル名の文字集合変換に使われます。 これにより、`/usr/libdata/msdosfs` にあった 文字集合変換テーブルは廃止されました。

mount_nwfs(8), mount_portalfs(8), mount_smbfs(8) ユーティリティが `/sbin` から `/usr/sbin` に移動しました。

(以前はシェルスクリプトだった) nologin(8) プログラムが C 言語で再実装されました。

[5.2.1] NSS サポートのバグが修正されました。 `net/nss_ldap` などの サードパーティ製 NSS モジュールを使い、大量のメンバリストを含む グループが存在する場合に発生する問題が解決しています。

rc.conf(5) にある、 ntpd(8) の起動オプションを設定する変数 ntpd_flags がデフォルトで -f /var/db/ntpd.drift を含むようになりました。

ゲストログインに対応する pam_guest(8) PAM モジュールが追加されました。 これは pam_ftp(8) モジュールを置き換えるものです。

ps(1) と top(1) に、各プロセスのカーネルスレッドを表示する -H オプションが追加されました。

rarpd(8) にあった、 着脱可能な Ethernet NIC を認識しないというバグが修正されました。

repquota(8) に、ユーザとグループを数値で表示する -n フラグが追加されました。

rtld(1) がデフォルトで ``libmap'' 機能に対応するようになりました。 この変更により、コンパイル時の変数 WITH_LIBMAP は不要となり、廃止されています。 詳細は libmap.conf(5) をご覧ください。

savecore(8) に、コアダンプファイルが存在するかどうかのみを 表示する -C フラグが追加されました。

カーネルの全部分が ELF フォーマットに移行したことにより a.out フォーマットのツールチェインが使用されなくなったため、 不要になった symorder ユーティリティが削除されました。

sysinstall(8) にインストール中に 代替 MTA を選択する機能が追加されました。 現在、exim と Postfix を選択することができます。

sysinstall(8) の ``セキュリティプロファイル'' 対応が廃止されました。同等の機能は、 sshd(8) の項目を個々に設定したり、 システムのセキュアレベルを設定することで実現できます。

systat(1) が IPv6 および ICMPv6 のトラフィックを表示するようになりました。 [MFC 済]

uname(1) に、カーネル識別子を表示する -i フラグが追加されました。この識別子は、kern.ident という sysctl 変数からも得ることが可能です。

`/bin` および `/sbin` にあった多くのユーティリティは、 静的リンクされたクランチバイナリ (crunched binary) として `/rescue` にも置かれるようになりました。 このディレクトリの目的は sysinstall(8) でインストールされる `/stand` ディレクトリと同じようなものですが、 `/rescue` にはより多くのプログラムが置かれ、 buildworld/installworld の操作で更新されるようになっています。 詳細は rescue(8) をご覧ください。

`/bin` ディレクトリおよび `/sbin` ディレクトリにあるたくさんの実行ファイルが、 静的リンクではなく動的リンクで構築されるようになりました。 これにより、ベースシステムユーティリティが読み込み可能な PAM モジュールや NSS モジュールに対応できるようになりました。 また、共有ライブラリを使用することで ルートファイルシステムに必要とされるディスク容量が削減されました。 この機能は buildworld の際に 変数 NO_DYNAMICROOT を定義して無効にすることができます。 また、システムの修正や復旧作業用に、静的にリンクされ、 crunch された実行ファイルが、 `/rescue` ディレクトリに置かれています。

### 2.4. 寄贈ソフトウェア

ACPI-CA コードが、 20030228 スナップショットから 20030619 スナップショットに更新されました。

amd がバージョン 6.0.7 から、バージョン 6.0.9 に更新されました。

Bell Labs 由来の awk が 2003 年 3 月 14 日時点のスナップショットから 2003 年 7 月 29 日時点のスナップショットに更新されました。

BIND がバージョン 8.3.4 から、バージョン 8.3.7 に更新されました。[MFC 済]

[5.2.1] CVS のバージョン 1.11.10 および 1.11.11 から、セキュリティの改善部分が 統合されました。具体的には、 ある形式で書かれた不正なモジュールのリクエストは拒否されるようになったこと、 `cvs pserver` モードを使用した場合に `root` による認証は拒否され syslog(3) 経由で記録が残るようになったことが含まれます。

GCC が、バージョン 3.2.2 から、2003 年 11 月 6 日における 3.3.3 の pre release snapshot に更新されました。

> Note: GCC の前のバージョンは、 最適化オプション -march=pentium4 が指定されていると誤ったコードを生成してしまいます。 今回の更新によりその問題は修正されたと考えられており、 以前行っていた CPUTYPE が p4 の場合の回避策は削除されました。

GNU Readline がバージョン 4.2 から、バージョン 4.3 に更新されました。

GNU Sort が textutils バージョン 2.0.21 から、バージョン 2.1 に更新されました。

Heimdal Kerberos がバージョン 0.5.1 からバージョン 0.6 に更新されました。

ISC DHCP クライアントがバージョン 3.0.1rc11 から、バージョン 3.0.1rc12 に更新されました。

lukemftp がバージョン 1.6beta2 から、NetBSD の 2003 年 11 月 11 日時点のスナップショットに更新されました。

OpenPAM が ``Dogwood'' リリースに更新されました。

OpenSSL がバージョン 0.9.7a から 0.9.7c に更新されました。 [MFC 済]

sendmail がバージョン 8.12.9 から 8.12.10 に更新されました。[MFC 済]

texinfo がバージョン 4.5 から、バージョン 4.6 に更新されました。 [MFC 済]

タイムゾーンデータベースが `tzdata2003a` リリースから `tzdata2003d` リリースに更新されました。[MFC 済]

### 2.5. Ports/Packages Collection インフラストラクチャ

`GNU_CONFIGURE` が定義されている場合、 ``WRKDIR`` 以下にある すべての `config.guess` および `config.sub` ファイルが、 ``PORTSDIR`/Template` にあるものと置き換えられるようになりました。 これは、古いバージョンのスクリプトを含む ports が、ia64 や amd64 などの新しいアーキテクチャで構築できるようにするための措置です。

### 2.6. リリースエンジニアリングと統合

GNOME の対応リリースが 2.2.1 から 2.4 に更新されました。 [MFC 済]

KDE の対応リリースが 3.1.2 から 3.1.4 に更新されました。 [MFC 済]

[5.2.1] `sysutils/kdeadmin3` port とその package がバージョン 3.1.4_1 に更新されました。 この更新では KUser を使うとシステム パスワードファイルから `root` ユーザが 削除されてしまう可能性のあるバグが修正されています。

### 2.7. ドキュメンテーション

情報の重複をなくし、内容管理の効率化をはかるため、 ハードウェアノートにある、 特定デバイスの記述をシステムのマニュアルページに移動しました。 このリリースの時点で、この作業はまだ進行中です。

トルコ語 (tr_TR.ISO8859-9) 翻訳プロジェクトが開始しました。

## 3. 前のリリースの FreeBSD からのアップグレード

現存する FreeBSD システムからアップグレードするユーザは ``FreeBSD 5.2.1-RELEASE 初期利用者のための手引き'' を読むことを 強く 推奨します。 この文書は、通常 `EARLY.TXT` という名前で 配布物に収録されており、 また、他のリリースノートが置かれているところにも一緒に置かれています。 この手引にはアップグレード時に注意を払うべき点に加え、 さらに重要な情報として、 FreeBSD 4.X システムを使い続ける場合と FreeBSD 5.X へのアップグレードした場合の、 それぞれの利点についてのまとめが書かれています。

> Important: FreeBSD のアップグレードは、もちろん、 すべての データと設定ファイルを バックアップしてからのみ行うべきです。

このファイルの他、リリース関連の文書は ftp://ftp.FreeBSD.org/ からダウンロードできます。

FreeBSD に関するお問い合わせは、<questions@FreeBSD.org> へ質問を投稿する前に解説文書をお読みください。

この文書の原文に関するお問い合わせは <doc@FreeBSD.org> まで、
日本語訳に関するお問い合わせは、<doc-jp@jp.FreeBSD.org> まで電子メールでお願いします。