在 7 月和 8 月,FreeBSD 项目一直在努力整合 FreeBSD 5.0-RELEASE 的最后几项重要新功能。到目前为止,该版本看起来已经按计划将于 11 月底或 12 月初发布。精细锁定方面的工作仍在继续,特别是在 VFS 中,同时通过 KSE 工作改进了线程支持;如 GEOM、UFS2 和 TrustedBSD MAC 等功能也在逐步成熟,新增加的 ia64 和 sparc64 硬件移植接近生产级别。接下来的两个月,我们有很多令人期待的内容:更多 5.0 开发者预览版本,进一步的锁定和线程改进,以及对新支持架构的清理工作。Firewire 支持已经导入到主代码树中,ACPI/传统 PCI 代码也在进行大规模清理。此外,预计近期将导入新的 IPsec 硬件加速支持。
当新的开发者预览版发布时,请尝试使用它们!虽然我们知道 5.0-RELEASE 将面向“早期采用者”,但现在进行更多的测试,后期就可以减少很多清理工作。新功能令人兴奋,了解何时以及如何正确部署它们将变得非常重要。在接下来的两个月里,除了其他工作,发布工程团队将发布更新的发布计划,并为 FreeBSD 用户提供如何选择适合他们的 FreeBSD 版本的指导。请密切关注此事,并向我们提供反馈。
此外,欧洲的朋友们——我们期待在几个月后与你相见于 BSDCon Europe!
Scott Long, Robert Watson
链接
联系人:Maksim Yevmenkin <m_evmenkin@yahoo.com>
我很高兴地宣布,另个工程版已经可以下载,下载链接为 http://www.geocities.com/m_evmenkin/ngbt-fbsd-20020909.tar.gz
此版本包含几项重要更改,并支持 H4 UART 和 H2 USB 传输层、主机控制接口 (HCI)、链路层控制与适配协议 (L2CAP) 以及蓝牙套接字层。它还包括几个用户空间工具,可用于配置和测试蓝牙设备。此外,还提供了几个手册页。
现已支持服务发现协议 (SDP)。该版本包括 SDP 守护进程、配置工具和用户空间库(从 BlueZ-sdp-0.7 移植)。
现已支持 RFCOMM。此版本包括 rfcommd 守护进程,通过伪终端提供 RFCOMM 服务。这对旧应用程序不太有用,但现在可以通过蓝牙运行 PPP。此功能是从旧版 BlueZ-rfcommd-1.1(BlueZ 不再支持)移植的,并且仍存在一些 bug。
下一步是修复当前的 RFCOMM 支持,并开发新的内核中的 RFCOMM 和 BNEP(蓝牙网络封装协议)实现。此外,用户空间也需要更多的工作(更好的工具、库、文档等)。
链接
http://www.cuivre.fr.eu.org/~thomas/atapicam/
联系人:Thomas Quinot <thomas@FreeBSD.org>
ATAPI/CAM 模块可通过 SCSI 子系统 (CAM) 访问 ATAPI 设备(如 CD-ROM、CD-RW、DVD 驱动器、Iomega Zip 磁盘驱动器、磁带驱动器)。ATAPI/CAM 已经集成到 -CURRENT 中。该代码应该相当稳定(在过去的八个月里,许多测试者已经在 -STABLE 和 -CURRENT 中使用过该补丁),但在 SMP 机器上仍存在一些问题。测试人员非常欢迎。
此功能的 MFC(合并到稳定分支)可能会在 4.7 代码冻结后进行。
链接
联系人:Gregory Shapiro <gshapiro@FreeBSD.org>
BSDCon 2003 程序委员会邀请你提交关于与 BSD 派生系统和开源世界相关的原创且创新的论文。感兴趣的主题包括但不限于:
嵌入式 BSD 应用程序开发和部署
使用 BSD 系统的实际经验
在混合操作系统环境中使用 BSD
与非 BSD 操作系统的比较;技术、实用性、许可证(GPL 与 BSD)
跟踪非 BSD 系统上的开源开发
BSD 桌面应用
I/O 子系统和设备驱动开发
SMP 和内核线程
内核增强
网络与互联网服务
安全性
性能分析和调优
系统管理
BSD 的未来
请于 2003 年 4 月 1 日前提交扩展摘要。提交前务必查看扩展摘要的要求。评选将基于提交内容的质量以及该工作是否对社区有兴趣。
我们期待收到你的投稿!
联系人:Sam Leffler <sam@FreeBSD.org>
该项目的主要目标是修改 IPsec 协议,使用从 OpenBSD 导入的内核级加密子系统(请参见其他地方)。次要目标是对 IPsec 协议进行常规的性能调优。
近期的工作集中于提高性能。支持仍然仅限于 IPv4 协议,虽然 IPv6 支持已编写但尚未测试。
该工作已开始导入到 -current 分支。待 4.7 发布,将发布公开的针对 4.7 的补丁。
链接
http://www.freebsd.org/projects/c99/
联系人:Mike Barcroft <mike@FreeBSD.org>
联系人:FreeBSD-Standards 邮件列表 <standards@FreeBSD.org>
在 API 方面,已实现 fmtmsg(3),为 glob(3) 提供了对新参数的支持,已实现 ulimit(3),并且通过新增 30 个函数显著改善了宽字符/字符串支持(详见项目状态板)。工作进展顺利,目前正在为系统中的函数添加 C99 restrict 类型限定符。这允许编译器基于知道 restrict 限定的参数是给定对象的唯一引用(即它不会与其他参数重叠)进行额外优化。
几个头文件已更新为符合 POSIX.1-2001 标准,包含:<fmtmsg.h>
、<poll.h>
、<sys/mman.h>
和 <ulimit.h>
。已实现头文件 <cpio.h>
。头文件 <machine/ansi.h>
和 <machine/types.h>
被合并为一个头文件,以帮助简化变量类型的创建。
已重新实现 sh(1) 内建命令(command(1)),以符合 POSIX 标准。此外,几个先前已更新为符合标准的实用程序也被合并到 4-STABLE 分支。
链接
http://www.freebsd.org/donations/index.html
联系人:Michael Lucas <donations@FreeBSD.org>
在过去几个月中捐赠团队开始运作。陆续收到了设备捐赠,我们正在尽快将这些设备分配给 FreeBSD 提交者。现在我们在网站的相应部分提供了“提交者需求清单”。一些小型设备,如网卡,已分配给愿意编写支持代码的人。我们也有一些较大的捐赠(即实际服务器)准备分发给开发者,待确认运输信息后即可发放。
链接
联系人:Joe Marcus <marcus@FreeBSD.org>
联系人:Maxim Sobolev <sobomax@FreeBSD.org>
GNOME 2 桌面 Port 已经达到 2.0.2rc1 版本,预计将在 4.7-RELEASE 之前发布 2.0.2 正式版。Mozilla 1.1 已经移植,并与 Mozilla 1.0.1 一起存在于树中。GNOMENG 移植工作进展顺利,许多 Port 已经在 Edwin Groothuis 的帮助下迁移到新的基础设施。我们现在正在修复一些细节问题,待所有工作完成后,将 GNOMENG 作为默认选项。
Nautilus 中一个长期存在的烦恼问题也已得到修复。桌面上不再充满卷标图标,且可移动媒体(如 CD)现在应能正确处理。
链接
http://www.freebsd.org/security/
联系人:Jacques Vidrine <nectar@FreeBSD.org>
安全团队继续非常繁忙。6 月、7 月和 8 月期间,security-officer 邮件列表的流量为 1,230 条消息(每天超过 13 条消息)。这一数量远超 freebsd-hackers 邮件列表在同一时期的流量数!
自 6 月以来(即上次报告时),已发布了 9 个新的安全公告,并发布了 1 个安全通知,涉及了 25 个 Ports 问题。
FreeBSD 4.6.2-RELEASE 于 8 月 15 日发布。这是首次从安全分支创建点版本发布。尽管由于新发现的 bug 和一个导致跳过 4.6.1-RELEASE 的问题,计划有所延误,但从安全团队的角度来看,整个过程非常顺利。
在 9 月,FreeBSD 安全官员发布了新的 PGP 密钥(可以在 FTP 站点和手册中找到,ID 为 0xCA6CDFB2)。此举使得拥有对应私钥的人员与安全官员别名的成员列表保持一致,并解决了某些公钥服务器中过时 PGP 密钥损坏的问题。
链接
联系人:Sebastien Gioria <gioria@FreeBSD.org>
联系人:Marc Fonvieille <blackend@FreeBSD.org>
联系人:Stephane Legrand <stephane@FreeBSD-fr.ORG>
我们目前已翻译了新手册的近 50%(所有安装部分已翻译)。大部分文章也已翻译。
网站正在建设中,见 Web 服务器部分。我们现在需要将其集成到美国的 CVS 树中。
目前的一项重要任务是翻译最新的 FAQ,另外一个非常庞大的项目将是手册页的翻译。
链接
联系人:Poul-Henning Kamp <phk@FreeBSD.org>
GEOM 代码已经发展到一定阶段,在某些方面超过了我们当前的代码,但在其他方面仍然存在不足。目标是在 5.0-RELEASE 中将 GEOM 作为默认选项。
目前正在开发一个加密模块,该模块应能够保护磁盘分区免受几乎任何形式的攻击。
联系人:Sam Leffler <sam@FreeBSD.org>
这个项目的目标是导入 OpenBSD 的内核级加密子系统。该设施为计算加密哈希、密码和公钥操作提供内核和用户级访问硬件加密设备。该设施的主要客户端是内核 RNG(/dev/random)、网络协议(例如 IPSEC)和 OpenSSL(通过 /dev/crypto 设备)。
OpenSSL 0.9.7 beta 3 已导入并通过 OpenBSD 的源代码树进行了修补。这使得任何使用 -lcrypto 的用户级应用程序可以自动获得硬件加速的加密支持。否则,核心加密支持是稳定的,并且已经在 -stable 机器上使用了几个月。
该工作的导入已经开始进入 -current 树。待 4.7 版本发布,将发布一个面向 4.7 的公开补丁。计划在 4.8 中将该工作集成到 -stable 源代码树中。
链接
联系人:Makoto Matsushita <matusita@jp.FreeBSD.org>
项目按预期运行。4.5 和 4.6(.2) 的新安全分支快照已经发布。我已更新构建箱操作系统至最新的 5-current/4-stable,且没有任何错误。目前的一个问题是未来的 CPU 能力不足尚未解决——但情况并不太糟,我希望在下次报告中能传递好消息。
链接
联系人:Kazuo Horikawa <horikawa@FreeBSD.org>
我们一直在更新针对 4.7-RELEASE 的 RELENG_4。当 Port ja-man-1.1j_5 在 7 月底时出现问题时,Kumano-san 和 Mori-san 尝试将该 Port 更新为基于较新的 FreeBSD 基本系统的 man 命令。但由于新版本当时尚未完成,我们决定只修复 Port ja-man-1.1j_5,使其能够构建。
链接
联系人:Julian Elischer <julian@FreeBSD.org>
联系人:Jonathon Mini <mini@FreeBSD.org>
联系人:Dan Eischen <deischen@FreeBSD.org>
David Xu 和我一直在清理 KSE-III 中的工作,Jonathon 和 Dan 则在工作用户空间接口。用户空间库将在原型状态下尽快提交,并希望有一个使用该接口的工作测试程序与其一同发布。我刚刚提交了对内核线程运行状态的重构,简化或解决了一些最近遇到的问题。
希望在接下来的几周内,我们能够在独立的处理器上运行线程。目前,信号支持的基础工作正在发展中。Archie Cobbs 也将协助这项工作。我为所有开发者设置了一个邮件别名:kse@elischer.org
,目前由我手动管理。
链接
联系人:Antoine Beaupré <anarcat@anarcat.ath.cx>
联系人:Alexander Langer <alex@FreeBSD.org>
主要的 libh 开发服务器,原本托管 CVS 仓库和开发网页,已经损坏。系统升级后服务器崩溃并一直未能恢复。我们不得不将硬盘取出以进行正确的备份。我们将设置另一个服务器来替代它,并希望一切顺利。所以目前,Port 已损坏,因为 CVS 不可访问,开发网页也无法访问。我们正在努力解决,请耐心等待。
在一个积极的方面,Max 开始实现他提出的构建系统和 TCL API 的更改;LibH 正在切换到 SWIG 来实现其 TCL 绑定,这应该大大简化系统,并缩短构建时间。因此,Hui 子系统正在完全重写。就我而言,我在 rhtvision 上进行了几次测试构建和运行 LibH,但并没有达到我原先预期的效果,所以我放弃了这个想法。由于 7 月份我完全失去了网络访问,libh 的工作停滞了一个月。因此,LibH 目前有些混乱,但我们有很高的期望,能够很快发布一个新版本,充分利用新的 SWIG 绑定。
联系人:Mário Sérgio Fujikawa Ferreira <lioux@FreeBSD.org>
目前正在针对 FreeBSD -STABLE 分支开发 Carl Waldspurger 等人提出的另一种彩票调度算法的实现。这是作为巴西巴西利亚大学计算机科学毕业项目的一部分进行开发的。因此,其他实现尚未经过验证,以避免抄袭,但将在项目的后期阶段进行检查,以寻求更好的实现思路。目前,必要的调度内核结构的一部分已经完成,尽管缺乏内核文档,工作进展顺利。该项目的进一步成果将是简单的 -STABLE 分支内核调度器结构文档、将彩票调度器移植到 -CURRENT 分支,以及其他 Carl Waldspurger 等人提出的调度算法的额外实现。FreeBSD 社区的成员一直在并将继续在测试和提供反馈方面发挥重要作用。
链接
联系人:Harti Brandt <brandt@fokus.fhg.de>
最近发布了版本 1.2 。它应该可以在任何最近的 FreeBSD-current 上编译和运行。ATM 驱动程序已添加支持操作 SUNI 寄存器(例如,用于在 SONET 和 SDH 模式之间切换)。ngatmsig 包现在包含一个小而简单的呼叫控制模块,可以用来构建一个简单的 ATM 交换机。Netgraph 部分已修补,以使用官方的 Netgraph 锁定。
联系人:Brooks Davis <brooks@FreeBSD.org>
已经提交 ppp(4) 和 disc(4) 接口的克隆支持。为 disc 创建了一个手册页,disc 设备现在显示为 disc#,而不是 ds#。不过,pppd 仍需要一些工作才能理解克隆,尽管只要设备事先创建,应该就能正常工作。
在 API 方面,强制接口(例如 lo0)的管理由通用的克隆代码处理,因此 if_clone_destroy 与 NetBSD 的 API 一致,_modevent 不需要手动创建必要的设备。
目前,所有伪接口都已经转换为克隆 API,或者已经进行了自定义克隆(例如 sl(4) 使用自己的机制)。一些设备,如 tun(4) 和 tap/vmware,可能应该转换为使用克隆 API,而不是目前的临时 devfs 基础克隆系统。这将是一个适合初学者内核黑客的任务。此外,手册和 FAQ 在 5.0 发布之前也需要一些关于克隆的通用文档。
链接:http://www.root.org/~nate/freebsd/
联系人:Nate Lawson <nate@root.org>
已重写现有的 SCSI 目标代码。内核驱动程序变得更简单,所有功能都推迟到用户空间,只是将 CCB 从 SIM 传入传出。提供的用户空间模拟一个磁盘(RBC),I/O 操作通过一个备份文件进行。它取代了 /sys/cam/scsi/scsi_target*
和 /usr/share/examples/scsi_target
。
该代码目前处于 alpha 阶段,并且在 -current 上已知存在一些问题,尽管在 -stable 上似乎可以正常工作。请参阅包含的 README 以了解如何安装和测试。欢迎反馈!
链接
联系人:Scott Long <scottl@FreeBSD.org>
RAIDFrame 的工作曾停滞了一段时间,之后在初夏有所恢复,但又停滞了一段时间,现在又重新开始了。为了使其适应 SMPng 锁定模型并减少内核栈的滥用,已经完成了大量工作。我很高兴地说,当与基于文件的 'md' 磁盘一起使用时,它已经开始稳定运行。更令人兴奋的是,它终于开始在真实磁盘上也能正常工作。仍然需要进行大量清理,仍然存在一些粗糙的解决方案,但它实际上可能准备好迎接 FreeBSD 5.0 发布。FreeBSD 5-current 和 4-stable 的补丁已在网站上提供。虽然 4-stable 的补丁已有一年历史,但仍然适用并表现良好。
链接:http://www.freebsd.org/releng/
联系人:<re@FreeBSD.org>
发布工程(RE)团队完成并发布了 FreeBSD 4.6.2。这一“点版本”修复了 ATA 子系统中的一些重要错误,并解决了 FreeBSD 4.6 发布后出现的一些基本系统安全问题。与 FreeBSD 4.6.2 一同分发的发布文档包含更多细节。(注意:一些早期的文档和报告将此版本称为 4.6.1。)4.X 系列的下一个版本将是 FreeBSD 4.7,计划于 2002 年 10 月 1 日发布。
与此同时,工作正在继续进行,以开发 5.0-DP2 开发者预览快照,这是 FreeBSD 5.0 发布路径中的一个重要里程碑,计划于 11 月 20 日发布。随着 5.0 的临近,我们将更多地集中在系统的稳定性上,而不是添加新功能。为了帮助我们完成这一工作,开发者应与我们讨论计划在 -CURRENT 上添加的任何新功能,讨论将于 10 月 1 日开始。
链接
联系人:Edson Brandi <ebrandi.home@uol.com.br>
联系人:Mário Sérgio Fujikawa Ferreira <lioux@FreeBSD.org>
联系人:Ricardo Nascimento Ferreira <nightwish@techemail.com>
联系人:Diego Linke <gamk@gamk.com.br>
联系人:Jean Milanez Melo <jmelo@freebsdbrasil.com.br>
联系人:Patrick Tracanelli <eksffa@freebsdbrasil.com.br>
联系人:Alexandre Vasconcelos <alexandre@sspj.go.gov.br>
FreeBSD 巴西葡萄牙语文档项目正在与由 FUG-BR FreeBSD 巴西用户组成员组成的翻译小组合并。巴西项目决定在收到他们持续的优秀贡献后,成为 FUG-BR 下的一个官方小组。他们已经完成了 FreeBSD FAQ 的翻译,目前正在进行校对和 SGML“格式化”阶段。工作进展迅速:手册已经翻译了一半,文章也在进行中。之前的巴西项目很自豪成为这样一个专注小组的一部分。以上联系人代表新的翻译小组的当前官方联系人。我们希望在 FreeBSD 4.7 发布时,至少能有一部分工作完成。
联系人:Robert Watson <rwatson@FreeBSD.org>
联系人:TrustedBSD 讨论邮件列表 <trustedbsd-discuss@TrustedBSD.org>
过去几个月非常忙碌,进行了一系列开发、文档编写和公共关系活动。MAC 框架,即我们为 FreeBSD 提供的可插拔内核访问控制机制,已经成熟,并且在 7 月和 8 月期间,已经有大部分内容合并到了 FreeBSD 主树中。
进行了一些入口点的更改,包括:组件名称现在传递给 VFS 命名空间 VOP;在 vnodes 中积极缓存 MAC 标签;对主题重新标记时的 mmap 内存访问降级;检查 access()/eaccess();对 vnode 的读、写、ioctl、池进行检查,允许在 open() 后由有意识的策略撤销;对管道 IPC 对象的标记和访问控制检查;清理套接字/可见性检查;检查套接字的绑定、连接、监听等;许多锁定改进和断言,特别是对于 vnodes 和进程;框架现在支持对主题和对象的部分标签更新;'struct file' 中的凭证管理得到了改进,使得 active_cred 和 file_cred 更加明确区分,并显式传递给 MAC 框架;现在写操作使用缓存的凭证进行记账;socreate() 可以使用缓存凭证来标记套接字,修复了延迟的 nfs 套接字连接和使用 TCP 的重连;修正了与 proc1 的 kse 交互;vn_rdwr() 中增加了 IO_NOMACCHECK 标志,用于内部使用,以避免对 aio vnode 操作进行冗余或不正确的 MAC 检查;mac_syscall() 策略函数的 demux;su 默认不再更改 MAC 标签;mac_get_pid() 支持 ps 和 getpmac -p pid;mmap 撤销默认为“失败停止”;MAC_DEBUG 包裹原子标签计数器;支持 UFS2 扩展属性;首次将 LOMAC 移植到 MAC 框架;更新所有策略以适应这些更改;合并 KSE III;合并 nmount();ugidfw 升级,支持用户和组名称;libugidfw;许多命名空间和命名一致性改进;模块对 MAC 框架的依赖;大规模将 MAC 功能合并到 FreeBSD 主树中。KDE 界面用于常见管理活动。
在 STOS BSD 和 Darwin 安全研讨会上编写并教授了 MAC 框架的全天教程;MAC 框架架构和 API 指南的初稿现已包含在开发者手册中。
接下来的几个月将继续进行成熟度改进,标记和保护更多对象;VFS 性能改进;更好地支持 UFS2 EAs 和每个策略的单独 EA 条目;对 LOMAC 的改进支持;MLS 隔离区;IPsec 安全关联标记;SEBSD FLASK/TE 移植改进;以及更多内容。
联系人:Poul-Henning Kamp <phk@FreeBSD.org>
联系人:Kirk McKusick <mckusick@FreeBSD.org>
UFS2 文件系统接近功能完成:已添加扩展属性功能,包括新的复合修改 API,并且已通过基本测试。
链接
联系人:Matthew Dillon <dillon@FreeBSD.org>
目前正在进行工作,将一些与 vm_map 损坏相关的 bug 修复合并到 -stable。此项工作可能过于复杂,无法在 4.7 版本中完成,但预计将在冻结解除后提交。所涉及的损坏通常发生在大型内存系统上,尤其是在高负载下,并且通常会导致 vm_map 相关功能引发内核崩溃或内核页面错误 (KPF)。