> For the complete documentation index, see [llms.txt](https://book.bsdcn.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://book.bsdcn.org/release/freebsd-5.0-release/5.0-errata.md).

# FreeBSD 5.0-RELEASE 勘误

**FreeBSD 项目**

版权所有 © 2000, 2001, 2002, 2003 FreeBSD 文档项目

```ini
$FreeBSD: src/release/doc/en_US.ISO8859-1/errata/article.sgml,v 1.38 2003/04/29 20:39:38 hrs Exp $
```

本文档列出了 FreeBSD 5.0-RELEASE 的勘误项，包含发行后才发现或发行周期后期才确定而未能纳入发行文档的重要信息。这些信息包括安全公告，以及与可能影响其运行或可用性的软件或文档相关的消息。在安装此版本 FreeBSD 之前，应始终查阅本文档的最新版本。

FreeBSD 5.0-RELEASE 的勘误文档将维护至 FreeBSD 5.1-RELEASE 发布。

## 1 引言

本勘误文档包含有关 FreeBSD 5.0-RELEASE 的“最新消息”。在安装此版本之前，请务必查阅本文档，以了解发行后才发现的或已经发现并修复的问题。

随发行版实际分发的任何勘误文档（例如 CDROM 发行版中的）按定义已过时，但其他副本会在互联网上保持更新，应作为此版本的“当前勘误”查阅。这些其他勘误副本位于 [http://www.FreeBSD.org/releases/](http://www.freebsd.org/releases/)，以及任何保持此位置最新镜像的站点。

FreeBSD 5-CURRENT 的源代码和二进制快照也包含本文档的最新副本（截至快照时的版本）。

有关所有 FreeBSD CERT 安全公告的列表，请参见 [http://www.FreeBSD.org/security/](http://www.freebsd.org/security/) 或 [ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/](ftp://ftp.freebsd.org/pub/FreeBSD/CERT/)。

## 2 安全公告

**CVS** 中可远程利用的漏洞可能允许攻击者在 CVS 服务器上执行任意命令。更多详情请参见安全公告 [FreeBSD-SA-03:01](ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-03:01.cvs.asc)。

对 **OpenSSL** 的基于时序的攻击可能允许非常强大的攻击者在某些情况下访问明文。此问题在 FreeBSD 5.0-CURRENT 中通过升级到 **OpenSSL** 0.9.7 已修复。在受支持的安全修复分支上，此问题通过导入 **OpenSSL** 0.9.6i 已修复。更多详情请参见安全公告 [FreeBSD-SA-03:02](ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-03:02.openssl.asc)。

可能可以恢复“syncookies”功能实现所使用的共享密钥。这降低了其在应对 TCP SYN 洪泛拒绝服务攻击时的有效性。解决方法信息和修复请参见安全公告 [FreeBSD-SA-03:03](ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-03:03.syncookies.asc)。

由于 **sendmail** 头部解析中的缓冲区溢出，远程攻击者可以创建特制消息，可能导致 [sendmail(8)](http://www.freebsd.org/cgi/man.cgi?query=sendmail\&sektion=8\&manpath=FreeBSD+5.0-current) 以运行它的用户（通常是 `root`）的权限执行任意代码。更多信息（包括补丁指针）请参见安全公告 [FreeBSD-SA-03:04](ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-03:04.sendmail.asc) 和 [FreeBSD-SA-03:07](ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-03:07.sendmail.asc)。

XDR 编码器/解码器执行了错误的边界检查，可能允许远程攻击者造成拒绝服务。修复信息请参见安全公告 [FreeBSD-SA-03:05](ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-03:05.xdr.asc)。

**OpenSSL** 被发现存在两个最近披露的攻击漏洞。受支持的安全分支的解决方法和补丁信息请参见安全公告 [FreeBSD-SA-03:06](ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-03:06.openssl.asc)。

## 3 最新消息

### GEOM

内核中基于 [geom(4)](http://www.freebsd.org/cgi/man.cgi?query=geom\&sektion=4\&manpath=FreeBSD+5.0-current) 的磁盘分区代码不允许覆盖已打开的分区。这通常阻止了使用 `disklabel -B` 更新磁盘上的引导块，因为 `a` 分区与引导块存储的空间重叠。建议的解决方法是从备用磁盘、CDROM 或 fixit 软盘引导。

### [dump(8)](http://www.freebsd.org/cgi/man.cgi?query=dump\&sektion=8\&manpath=FreeBSD+5.0-current)

当使用扇区大小大于 512 字节的磁盘介质（例如 [gbde(4)](http://www.freebsd.org/cgi/man.cgi?query=gbde\&sektion=4\&manpath=FreeBSD+5.0-current) 加密磁盘）时，[dump(8)](http://www.freebsd.org/cgi/man.cgi?query=dump\&sektion=8\&manpath=FreeBSD+5.0-current) 程序无法识别较大的扇区大小，无法转储分区。一种可能的解决方法是以原始格式复制整个文件系统并转储副本。例如，可以转储存储在常规文件中的文件系统：

```sh
# dd if=/dev/ad0s1d.bde of=/junk/ad0.dd bs=1m
# dump 0f - /junk/ad0.dd | ...
```

更简单的解决方法是使用 [tar(1)](http://www.freebsd.org/cgi/man.cgi?query=tar\&sektion=1\&manpath=FreeBSD+5.0-current) 或 [cpio(1)](http://www.freebsd.org/cgi/man.cgi?query=cpio\&sektion=1\&manpath=FreeBSD+5.0-current) 进行备份。

### [mly(4)](http://www.freebsd.org/cgi/man.cgi?query=mly\&sektion=4\&manpath=FreeBSD+5.0-current)

在安装到 [mly(4)](http://www.freebsd.org/cgi/man.cgi?query=mly\&sektion=4\&manpath=FreeBSD+5.0-current) 支持的 RAID 阵列时，报告了 FreeBSD 5.0 快照安装过程中的挂起问题，这些硬件配置在 FreeBSD 4.7-RELEASE 下似乎工作正常。这些问题在 FreeBSD 5.0-CURRENT 中已修复。

### NETNCP/Netware 文件系统支持

NETNCP 和 nwfs 似乎尚未适配 KSE，因此无法工作。这些在 FreeBSD 5.0-CURRENT 中已修复。

### [iir(4)](http://www.freebsd.org/cgi/man.cgi?query=iir\&sektion=4\&manpath=FreeBSD+5.0-current) 控制器

安装期间，[iir(4)](http://www.freebsd.org/cgi/man.cgi?query=iir\&sektion=4\&manpath=FreeBSD+5.0-current) 控制器似乎能正确探测，但找不到磁盘设备。

### [truss(1)](http://www.freebsd.org/cgi/man.cgi?query=truss\&sektion=1\&manpath=FreeBSD+5.0-current) 竞争条件

[truss(1)](http://www.freebsd.org/cgi/man.cgi?query=truss\&sektion=1\&manpath=FreeBSD+5.0-current) 似乎在调试启动期间存在竞争条件，可能导致 [truss(1)](http://www.freebsd.org/cgi/man.cgi?query=truss\&sektion=1\&manpath=FreeBSD+5.0-current) 在进程退出前无法附加到进程。症状是 [truss(1)](http://www.freebsd.org/cgi/man.cgi?query=truss\&sektion=1\&manpath=FreeBSD+5.0-current) 报告无法打开支持正在调试的进程的 [procfs(5)](http://www.freebsd.org/cgi/man.cgi?query=procfs\&sektion=5\&manpath=FreeBSD+5.0-current) 节点。似乎还存在一个 bug，如果 [execve(2)](http://www.freebsd.org/cgi/man.cgi?query=execve\&sektion=2\&manpath=FreeBSD+5.0-current) 返回 `ENOENT`，[truss(1)](http://www.freebsd.org/cgi/man.cgi?query=truss\&sektion=1\&manpath=FreeBSD+5.0-current) 会挂起。似乎还存在另一个竞争条件，[truss(1)](http://www.freebsd.org/cgi/man.cgi?query=truss\&sektion=1\&manpath=FreeBSD+5.0-current) 在启动时偶尔会返回“`PIOCWAIT: Input/output error`”。此修复对进程执行处理有较大改变，因此已推迟到 5.0 之后。

### 安装程序中的磁盘分区

报告了 [sysinstall(8)](http://www.freebsd.org/cgi/man.cgi?query=sysinstall\&sektion=8\&manpath=FreeBSD+5.0-current) 磁盘分区中的一些 bug。在 i386 上观察到的一个问题是，[sysinstall(8)](http://www.freebsd.org/cgi/man.cgi?query=sysinstall\&sektion=8\&manpath=FreeBSD+5.0-current) 无法在更改 FDISK 类型分区的类型后重新计算磁盘上剩余的可用空间。

### 过时的文档

在某些情况下，文档（如 FAQ 或手册）尚未更新以考虑 FreeBSD 5.0-RELEASE 的功能。仍需文档的领域包括 [gbde(8)](http://www.freebsd.org/cgi/man.cgi?query=gbde\&sektion=8\&manpath=FreeBSD+5.0-current) 和新的“fast IPsec”实现。

### SMB 文件系统

尝试卸载 smbfs 共享可能失败并出现“`Device busy`”错误，即使挂载点实际上并未繁忙。解决方法是继续尝试卸载共享，直到最终成功。此 bug 在 5.0-CURRENT 中已修复。

强制卸载（`umount -f`）smbfs 共享可能导致内核恐慌。此 bug 在 5.0-CURRENT 中已修复。

### [fstat(2)](http://www.freebsd.org/cgi/man.cgi?query=fstat\&sektion=2\&manpath=FreeBSD+5.0-current)

当对已连接的套接字文件描述符调用时，[fstat(2)](http://www.freebsd.org/cgi/man.cgi?query=fstat\&sektion=2\&manpath=FreeBSD+5.0-current) 应在 `struct stat` 的 `st_size` 成员中返回可供读取的字节数。但是，在 TCP 套接字上 `st_size` 总是被错误地报告为 `0`。此 bug 在 5.0-CURRENT 中已修复。

### 内核事件队列

[kqueue(2)](http://www.freebsd.org/cgi/man.cgi?query=kqueue\&sektion=2\&manpath=FreeBSD+5.0-current) 的 `EVFILT_READ` 过滤器错误地指示 TCP 套接字上有 `0` 字节可供读取，无论实际可用的字节数是多少。`EVFILT_READ` 的标志 `NOTE_LOWAT` 在 TCP 套接字上也已损坏。此 bug 在 5.0-CURRENT 中已修复。

### POSIX 命名信号量

FreeBSD 5.0-RELEASE 引入了对 POSIX 命名信号量的支持，但实现中包含一个严重 bug，导致 [sem\_open(3)](http://www.freebsd.org/cgi/man.cgi?query=sem_open\&sektion=3\&manpath=FreeBSD+5.0-current) 错误处理同一进程多次打开同一信号量，并导致 [sem\_close(3)](http://www.freebsd.org/cgi/man.cgi?query=sem_close\&sektion=3\&manpath=FreeBSD+5.0-current) 使调用程序崩溃。此 bug 在 5.0-CURRENT 中已修复。

### **/dev/tty** 权限

FreeBSD 5.0-RELEASE 在 **/dev/tty** 权限处理方面存在一个小 bug。这可以通过以非 `root`、非 `tty` 组用户登录，并使用 [su(1)](http://www.freebsd.org/cgi/man.cgi?query=su\&sektion=1\&manpath=FreeBSD+5.0-current) 切换到第二个非 `root`、非 `tty` 组用户来触发。[ssh(1)](http://www.freebsd.org/cgi/man.cgi?query=ssh\&sektion=1\&manpath=FreeBSD+5.0-current) 将失败，因为它无法打开 **/dev/tty**。此 bug 在 5.0-CURRENT 中已修复。

### [growfs(8)](http://www.freebsd.org/cgi/man.cgi?query=growfs\&sektion=8\&manpath=FreeBSD+5.0-current)

[growfs(8)](http://www.freebsd.org/cgi/man.cgi?query=growfs\&sektion=8\&manpath=FreeBSD+5.0-current) 不再适用于 [vinum(4)](http://www.freebsd.org/cgi/man.cgi?query=vinum\&sektion=4\&manpath=FreeBSD+5.0-current) 卷（推测也不适用于 [geom(4)](http://www.freebsd.org/cgi/man.cgi?query=geom\&sektion=4\&manpath=FreeBSD+5.0-current) 实体），因为这些子系统不再伪造磁盘标签，但 [growfs(8)](http://www.freebsd.org/cgi/man.cgi?query=growfs\&sektion=8\&manpath=FreeBSD+5.0-current) 坚持要检查标签。

### IPFW

[ipfw(4)](http://www.freebsd.org/cgi/man.cgi?query=ipfw\&sektion=4\&manpath=FreeBSD+5.0-current) 的 `skipto` 规则与 `log` 关键字一起使用时不起作用。[ipfw(4)](http://www.freebsd.org/cgi/man.cgi?query=ipfw\&sektion=4\&manpath=FreeBSD+5.0-current) 的 `uid` 规则也无法正常工作。这些 bug 在 5.0-CURRENT 中已修复。

### 密码和 [adduser(8)](http://www.freebsd.org/cgi/man.cgi?query=adduser\&sektion=8\&manpath=FreeBSD+5.0-current)

[adduser(8)](http://www.freebsd.org/cgi/man.cgi?query=adduser\&sektion=8\&manpath=FreeBSD+5.0-current) 无法正确处理设置包含特殊 shell 字符的用户密码。此问题在 5.0-CURRENT 中已修复。

### [xl(4)](http://www.freebsd.org/cgi/man.cgi?query=xl\&sektion=4\&manpath=FreeBSD+5.0-current)

[xl(4)](http://www.freebsd.org/cgi/man.cgi?query=xl\&sektion=4\&manpath=FreeBSD+5.0-current) 驱动程序存在时序 bug，可能在尝试配置接口时导致内核恐慌（或其他问题）。此 bug 在 5.0-CURRENT 中已修复。

### ISC DHCP

**ISC DHCP** 更新至 3.0.1rc11。此更新实际上是 FreeBSD 5.0-RELEASE 的一部分，但未在发行说明中记录。

### [amd(8)](http://www.freebsd.org/cgi/man.cgi?query=amd\&sektion=8\&manpath=FreeBSD+5.0-current) 互操作性

5.0-RELEASE 的非阻塞 RPC 代码中包含一些 bug。这些 bug 最明显的副作用是 [amd(8)](http://www.freebsd.org/cgi/man.cgi?query=amd\&sektion=8\&manpath=FreeBSD+5.0-current) 用户无法从 5.0-RELEASE 服务器挂载卷。此 bug 在 5.0-CURRENT 中已修复。

### nsswitch

记录新增 **nsswitch** 支持的发行说明给出了旧的解析器配置文件的错误名称。应该列为 **/etc/host.conf**。

### Mailman

最近，邮件列表从 majordomo 更改为当前使用的 Mailman 列表服务器。有关使用新邮件列表的更多信息，请访问 [FreeBSD Mailman 信息页](http://www.freebsd.org/mailman/listinfo/)。

***

本文件及其他与发行相关的文档可从 [http://snapshots.jp.FreeBSD.org/](http://snapshots.jp.freebsd.org/) 下载。

如有关于 FreeBSD 的问题，请先阅读 [文档](http://www.freebsd.org/docs.html)，再联系 <questions@FreeBSD.org>。

所有 FreeBSD 5-CURRENT 用户应订阅 <current@FreeBSD.org> 邮件列表。

如有关于此文档的问题，请发送电子邮件至 <doc@FreeBSD.org>。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://book.bsdcn.org/release/freebsd-5.0-release/5.0-errata.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
