OpenBSD -current 修改日志
这主要是平台中立的部分修改列表(也就是大家经常询问的修改)。
平台特定的修改也会列出,有时会在特定平台页面提及。
有单独的页面列出 ports 的修改。
说明: 存在补丁的问题用红色标记。
OpenBSD 4.3 和 OpenBSD 4.4 之间的修改
- Improved SIS 96x chip detection in pciide(4), and added some 964/965 devices to the list of supported chipsets.
- Enabled km(4) on amd64 and i386 GENERIC kernels.
- New driver km(4) for sensors on the AMD Phenom and Opteron Barcelona CPUs.
- Spin up secondary cpu on more ppc systems.
- In the vesa(4) framebuffer code, do not alter mode parameter.
- It is now possible to enter static MPLS routes into the kernel with route(8).
- Plug three memory leaks in dc(1).
- Added PCI ids for the AMD64 Phenom/Opteron 8300 series and Griffin.
- Various cddb fixes to cdio(1).
- Added an acpithinkpad(4) driver for IBM/Lenovo laptops.
- For hppa, add a gecko(4) driver for the GeckoBOA BC GSC+ port.
- Bring macppc/powerpc closer to SMP.
- Adjust the output voltage for the bge(4) BCM5906 PHY, otherwise it might not get a link.
- Enable hardware TKIP+CCMP in RT2860-based ral(4) devices.
- Small optimization for TKIP phase 2 for little-endian architectures.
- In rcs(1), duplicate envstr and free it on error, instead of allocating for each argument and freeing each on error.
- Fix in gcc(1) for mips code generation to prevent user asm statements from being put in delay slots.
- Fixes for SH in gcc(1) when compiling PIC code and other optimizations.
- For i386, make ipending per-cpu.
- When allocating amd64 interrupt 'slots', always check all slots to see if we already allocated a slot for a particurlar pin.
- Plug potential mbuf leak in the NFS vfsops code.
- Boot loader argument parsing for amd64 was configuring serial console even when using a glass console. Fixed.
- Added another HSDPA MSM to the list of supported umsm(4) devices.
- Added support for more NM9845 variants in puc(4).
- Corrected the brk(2) prototype to match POSIX.
- Prevent overflow in rcs(1) if RCS_INIT and command line arguments exceed buffer size.
- Initial acpiasus(4) driver for ACPI based hotkeys.
- Fixed sgi IP30 serial console.
- Allow amd64 to use serial ports other than com0 for console.
- Make rthreads also return the proper values for failures in pthread_sigmask(3) and sigprocmask(2).
- spl(9) fixes for softnet interrupt handlers when dealing with the ifqueues.
- Fix for some ciss(4) firmwares that use different physical drive addressing.
- Make pthreads(3) code return the proper values upon failure for pthread_sigmask(3) and sigprocmask(2) in threaded programs.
- puc(4) 增加对 Netmos 6 端口版本的支持。
- 删除从未完成的预备 802.11 rln(4) 驱动。
- 改进基本的 LSR MPLS 支持。
- 在 NFS 中假定收到重复响应时,不映射 EEXIST 到成功返回代码。
- 增加 sysmerge(8),一个类似 mergemaster 的工具,在升级到新版本或快照之后帮助升级 /etc 和配置文件。
- 在 NFS 代码中关闭潜在的 mbuf 泄漏。
- 让 ftp-proxy(8) 在关闭 TCP 会话之前刷新输出缓冲区,修正代理吃掉 221 响应的问题。
- 让 syslogd(8) 在处理输入,将消息写入管道太慢时删除消息。
- 引入其它后台程序的日志 API,清理 rtadvd(8) 的日志。
- 修正 WPA/WPA2 在收到消息 3 和 WPA 时的处理。不退出鉴别而是忽略。
- P如果文件描述符大于 SHRT_MAX,阻止 libc 中 fdopen/fopen/freopen 的截断。
- 修正 ed(1) 的 SIGHUP 处理。
- 增加 adt7462 传感器的初始版本驱动 adt(4)。
- 允许低层 audio(4) 驱动指定默认取样格式,而不是 8 位单声道 8kHz 的 mulaw 编码。
- 在 hppa64 中重启时使用固件重置。
- 当 Xorg 无 xorg.conf 启动时,wskbd 是“user”,不尝试配置 xkb。
- 删除 hppa64 的 pluto(4),使用 hppa 的 astro(4) 驱动代替。
- 为 hppa64 增加正确的 bus_space_vaddr(9) 实现。
- 升级 xinit(1) 到 1.0.8, xkbcomp(1), xprop(1) 和 xset 到 1.0.4,以及 xrdb(1) 到 1.0.5。
- 将 hppa64 的控制台处理与 hppa 的代码同步。
- 使 amd64 和 i386 的串行引导处理直接与硬件通信,不依赖于 BIOS。
- bge(4) 只检查基于 BCM5704 的设备,为光纤适配器的 TBI 模式设置特别的寄存器配置。
- bge(4) 增加对基于 BCM5701 A0 和 B0 的 CRC 刊误。
- 对于 rl(4),确保同时设置了 RX Ok 和 Err 位时不调用 rl_rxeof() 两次。
- 修改 ELF 加载器,使用 LMA 作为各种段的加载地址。
- 升级 twm(1) 到 1.0.4。
- 升级 xenocara 中的 xf86-video-radeonhd 到 1.2.1, xf86-video-sis 到 0.10,以及 xrandr 到 1.2.3。
- 修正各种硬件配置中,xenocara 的 Mesa 在新分配的没有标记为可执行的内存中使用 SSE 导致的失败。
- 在 ahci(4) 中增加驱动标记,强制 SATA 1 传输协商。
- 为 tcpdump(8)增加方向过滤功能。
- 正确检查 opencvs(1) 客户端代码中的内存分配。
- 在 pr(1)中,如果出现由于错误消息缓冲失败导致的内存分配失败,就打印所有消息后退出。
- 允许 cal(1) 显示周序号。
- 为 uvideo(4) 增加功能,使用大小来清楚的标示 USB 描述符。
- 增加 sftp(1) 扩展 "statvfs@openssh.com" 和 "fstatvfs@openssh.com",实现 statvfs(2) 类似的操作。也为 sftp(1) 客户端增加了“df”命令,产生 df(1) 类似的文件系统 inode 和空间状况的显示。
- 扩展 if_ethersubr.c CRC 函数,支持更新运行的 CRC,也通过将某些函数标记为“pure”提高了性能。
- 让 FTDI 2232L 接入 uftdi(4)。
- 在 Mesa i965 代码中修正由于 realloc 导致的潜在段错误。
- 为 uath(4) 增加缺少的监控方式能力标记。
- 在 sparc64 中,确保 hardclock 在每个时钟嘀嗒都被调用,甚至丢失时。
- 让 security(8) 周期性检查 hostname.if(5) 是否所有人可读。
- 让 netstart(8) 在使用文件 hostname.if(5) 之前,检查它不是所有人可读的。
- 修正 libc 解析器,允许“_”位于 DNS 名称的中间。
- 让 xf86-input-keyboard 在没有 xorg.conf 启动时,获得 wscons 键盘映射名称,从而配置 XkbLayout 和 XkbOptions。
- 增加对 802.11i 四路握手协议和组钥握手协议的内核支持,增加 TKIP 和 CCMP 的软件实现,使 WPA/WPA2-PSK 可以用于 bwi(4), malo(4), ral(4), iwn(4), wpi(4), ural(4), rum(4), upgt(4), 和 zyd(4) 的各种状况,以及各种 hostap 模式。
- 修正 ehci(4) 超时处理。
- 改进 UltrasparcII 时钟嘀嗒管理,避免偶尔停止时钟失败的情况。
- 增加对 Ultra-25 和 Ultra-45 sparc64 中 Texas Instruments bq4802 实时时钟的支持。
- lmtemp(4) 驱动增加对 KM76 未测试的支持。
- 对某些 mgx(4) 视频卡支持二维加速。
- 加入 wpa-psk(8),一个从 ssid 和密语中生成 WPA-PSK 密钥的工具。
- 改写 NFS mbuf 写例程。
- Clear CPUF_RUNNING when halting a CPU on amd64 and i386 MP systems, fixes power-down problems.
- 改写 disklabel(8) 的帮助输出,使其能在一页中显示。
- 使用包装的基于 Luby-Rackoff 块密码算法随机置换生成器的 LCG 改进 libc DNS 解析器 ID 生成算法。
- 保护 ftp(1) 的 errno 不被其它函数复写。
- 确认交换分区加密代码获得正确的交换页面数量,它可能与在交换分区使用 miniroot 时不匹配。
- 在 xenocara 中升级 mkfontdir(1) 和 mkfontscale(1) 到 1.0.4 。
- 修正没有 DRM 设备却启用,X 尝试使用时,DRM 代码崩溃的问题。
- 与主版本库同步 pcc 编译器代码。
- 修正 ld.so(1) 当找到 lib 却不能加载时发生 DL_NOT_FOUND 错误时的问题。
- 让 vgrind(1) 输出到 groff(1),而不是 troff(1),从而我们默认使用 postscript 输出结束。
- 在 ipsec.conf(5) 中支持“include”标记。
- 在接口启动例程中,引入包缓解发送。
- 对于被 trunk(4) 使用的以太网设备,修正多播包和输入字节计数。
- 取保 tty 子系统代码擦净给予堆栈的缓冲区。
- 当 inode 或空间不够时,限制 FFS 每 2 秒发送一次消息。
- 使基于 sun4v 的 Sparc64 机器使用一个管理程序调用发送 IPI。它减少 20% 的内核编译时间 。
- azalia(4)增加对基于 AD1984 的设备通过扬声器插孔录音的支持。
- sdtemp(4) 增加对 Microchip MCP 98242 温度传感器的支持。
- cal(4) 增加标记 -m 用来从周一开始显示日期。
- ami(4) 阻止幻影设备通过总线出现。
- sdtemp(4) 增加对 Microchip MCP9805 JC-42.2 传感器的支持(未测试)。
- sdtemp(4) 驱动支持 NPX SE97 设备。
- 改进 ld.so(1) 对共享库在非 0 地址的支持。
- 增加 com(4) 发送到 fifo 缓冲区的大小。
- 初始导入 uvideo(4) 和 video(4)。uvideo(4) 是 USB 视频设备驱动,video(4) 是 V4L2 API 的设备中立层实现。
- 对 ehci(4) 在启动/关闭时挂起的各种修正。
- 在 i386 MP 内核中,对于有标记 SY_NOLOCK 的系统调用不获取大内核锁。
- 在 em(4) 中用每次调用例程时同步 TX 令牌,发送新包,来代替每个包都执行此动作。
- 修正 sparc64 内存访问,令 puc(4) 支持基于 T1000 的机器。
- 令 rshd(8) 不调用 setpwent()。
- 令 ahci(4) 可以卸载。
- 初始支持 SGI XBow bus 。
- 在 amd64 和 sparc64 中,对于有标记 SY_NOLOCK 的系统调用不获取大内核锁。
- 将 sdtemp(4) 增加到 alpha,amd64,armish 和 i386 的内核 GENERIC 中。
- 为 JDEC-JC-42.4 DIMM 温度传感器增加新的 sdtemp(4) 传感器驱动。
- 修正安装脚本中的 disklabel(8) -w -d <disk> 。
- 当多线程程序调用 vfork(2) 时,不调用
pthread_atfork(3)
处理器。
- 减少 tht(4) 的状态改变中断的最大数量 100/秒。
- 在 amd64 和 i386 中,将 it(4) 切换回 PnP 配置模式。
- 修正 lii(4) TXD 缓冲区重叠的问题。
- 在 sparc64 内核 GENERIC 和 RAMDISK 中增加 nsgphy(4)。
- cas(4) 驱动增加对 National Semiconductor Saturn 的支持。
- nsgphy(4) 驱动增加对 DP83865 PHY>DP83865 PHY 的支持。
- 安全性修正: 避免 sshd(8) 可能的 X11 转发连接劫持。
已经发布源代码补丁修正此问题。
[应用到稳定版本]
- 令 xdm(1) 在使用 bsd_auth(3) 时尽早的用零填充输出的 password 域。
- 令 bcrypt(3) 代码在返回时用零填充状态缓冲区。
- 修正在 chroot jai 中阻塞传递文件描述符的代码。
- ubsa(4) 驱动增加对 qualcomm 的 ZTE CMDMA MSM 调制解调器的支持。
- ld.so(1) 的 64 位修正。
- 将 Corege CG-WLUSB2GPX 增加到受支持的 rum(4) 设备列表。
- 精炼“netboot”接口组语义为从其启动的接口,未知时定义为根设备。
- 令MP 内核可以在基于 sun4v 的 sparc64 机器中工作。
- 升级区域信息代码到 tzcode2008a。
- 升级区域信息数据到 tzdata2008b。
- 重新在 amd64 和 i386 的内核 GENERIC 和 RAMDISK 中启用 lii(4)。
- 发布 OpenSSH 4.9。
- 在 vax 的引导块启用 ELF 加载。
- 补足 lii(4) 的 RXD 缓冲区,从而包在 128 字节对齐。使某些锁更简单。
- 升级 xenocara 的驱动 xf86-video-intel 到 2.2.1。
- 为 sparc64 机器的 sun4v 做了更多工作。内核 GENERIC 和 RAMDISK 现在可以启动,MP 内核尚不能工作。
- 为 amd64 和 i386 的串行控制台修正处理非默认速度的问题。
- 在 amd64 和 i386 的内核 GENERIC 中启用 kate(4)。
- 在 landisk 平台启用共享库。
- 在 sgi 机器加载内核失败时,进入 ARCS 用户交互模式,而不是重启。
- 为 AMD K8 增加新的温度传感器驱动 kate(4)。
- OpenSSH 版本升级到 4.9。
- 阻止 boggle(6) 在没有 tty 时的旋转。
- 在 atascsi 层中修正一个内存泄露问题。
- 对于 xenocara,使用 BSD Makefiles 替换基于 autotools 的构建。
- 阻止 macppc 在 pci_intr_map(9) 中崩溃。
- 如果在 sshd_config 中指定了 ForceCommand,让 ssh(1) 忽略 ~/.ssh/rc。
- 允许在 UKC,配置文件和 config(8) -e 中启用或禁用伪设备。
- 为 amd64 和 i386 的内核 GENERIC 的驱动 it(4) 增加端口 0x228。
- 增加 Sun 的专业 3D 卡驱动 ifb(4) 的最初版本。尚不能工作。
- 修正在 amd64 中设置了 XENOCARA_BUILD_DRI 时构建 libMesa 的问题。
- 在 config(8) 中,不认为禁用已经禁用的设备是一个修改,对于启用操作也是如此。
- 如果服务器支持,让 sftp(1) 优先使用 POSIX 改名风格,而不是 filexfer。
- 在 ddb(4) 中增加显示所有挂接的命令。
- 确认 eeprom(8) 在节点内容太大时也能遍历 OpenFirmware 树。
- 为 Intel G33 芯片组增加 AGP 支持。
- 在 amd64 和 i386 的内核 GENERIC 中启用 andl(4)。
- 为 andl(4) 驱动增加 Andigilog aSC7611 传感器的支持。
- 为 fd(4) 驱动增加 DIOCRLDINFO,DIOCGPDINFO 和 DIOCGPART 的支持。
- 为 audio(4) 播放和录音增加处理不同块大小的能力。
- 为 alpha,amd64,hppa 和 macppc 增加常数 MAXUSERS。
- 让 ksh(1) 的 ulimit 可以在单次调用中获取或设置多个参数。
- 为 re(4) 设备修正 VLAN 标签信息。
- 修正 mips64 异常处理中的竞争条件。
- 在 relayd(8) 中处理 HTTP 头 Content-Length 为 0 的情况。
- 让 xenocara 在“make build”的最后运行 fc-cache 以节约时间。
- 将 pppoe(4) 最大允许的 MTU 设置为连接的 Ethernet/VLAN 接口的 MTU。
- 在 boggle(6) 中增加 NxN 网格能力。
- 在 i386 GENERIC 内核中启用 fins(4)。
- 升级 xterm(1) 到版本 234。
- 在 fins(4) 中增加 Fintek F71805F LPC 传感器驱动。
- 将我们网络启动的所有接口加入“netboot”接口组。
- 确保 libc bcmp(3) 在有区别时返回 1。
- 更好的 spl(9) 加锁,对于 pppoe(4)。
- 修正 netstat(1) 处理参数 -I 的问题。
- 修正当远程 X11 客户在 IPv6 网络中使用 XDM-AUTHORIZATION-1 时 libX11 的 segfault。
- 修正 snmpd(8) 中当编码是 128 的幂时的错误。
- 在 uslcom(4) 驱动中支持 IRZ MC35pu GSM 终端。
- 从 sparc64 平台删除 KGDB 代码。
- 修正 df(1),从而可以显示大数值。
- 增加 _SC_SYS_PAGES 和 _SC_AVPHYS_PAGES 到 sysconf(3)。
- 为 arc4random 增加新 API,一个用随机数填充缓冲区,另一个返回五偏见的均匀分布随机数。
- 扩展 statfs 结构从而支持大文件系统,以及 statvfs(3)。
- 让 agp(4) 接入 vga(4),而不是 pchb(4)。
- 让 syslogd(8) 在循环中调用 waitpid(2) 直到全部子孙终结。
- 修正 sensorsd(8) 使时间总是向前,从而避免了报告的重复或丢失。
- 对于 snmpd(8),实现 HOST-RESOURCES MIB 的 hrSWRun 部分。
- 使 GENERIC.MP 能在 E10000 sparc64 机器上工作。
- 重写 sbus 范围寄存器,从而支持 sparc 平台的旧 XVideo 板卡。
- 在网络程序中,修正了各种 CMSG 相关的问题。
- 改进的 IP ID 和 named(8) 洗牌代码初始化。
- 在 cdce(4) 中,从 tv_usec 产生更好的 lladdr。
- 只允许 pppoe(4) 接口接入 Ethernet 或 Vlan 接口。
- 确保 acx(4),atw(4) 和 pgt(4) 不错误的增加输入包计数。
- 在 sparc64 中,如果没有发现实时时钟,就接入 prtc(4)。
- 对于 sensorsd(8),允许收到传感器状态后,在状态改变时调用程序。
- 增加符号 __data_start 到全部 ELF 架构,一致的标记可写段的开始。
- 当无参数运行 nfsd(8) 时,确保启动时有 4 个 UDP 服务器。
- 当接入的 cdce(4) 没有适当的 mac 地址时,使用 getmicrotime(9) 的 tv_usec 创建一个。
- 对于 audio(4),恰当设置缓冲区大小的高水位标记。
- 对于 PPPoE,在响应中返回 relay-sid,如果收到的话。
- 在 snmpd(8) 中修正无限循环。
- 阻止 mvme68k 启动媒体使用 68060 不支持的指令。
- 在 ftp(1) 的默认配置中,打开 keep-alive。
- 为 snmpd(8) 实现局部 HOST-RESOURCES-MIB。
- 在 ifstated(8) 中,修正当配置文件引用未声明的状态时的 NULL 废弃。
- 在 hppa RAMDISK 内核启用 ehci(4)。
- 为 sparc64 增加 sun4v IOMMU 系统管理程序和虚拟 PCI 主机桥接代码。
- 在 opencvs 中增加适当的版本库锁。
- 在远程配置时,如果指定的文件或目录不存在,阻止 opencvs 发送 "Directory" 相关信息。
- opencvs 增加支持 checkout/update -j。
- 为 sun4v 增加 sparc64 驱动,虚拟总线 vbus(4),虚拟实时时钟 vrtc(4) 和虚拟控制台 vcons(4)。
- 在 sparc64 平台,为 sun4v 增加 UltraSPARC 管理程序接口。
- 在用 ramdisk 安装的时候,让固件加载器也查找 /mnt/etc/firmware。
- 在 vi(1) 处理某种错误条件时,避免无限递归。
- 让 sparc64 检查 OFW 节点状态,从而在 OpenFirmware 中禁用的设备不会再被 OpenBSD 发现。
- 修正 vi(1) 在处理包含制表符号的很长的行时,“set nu” 导致 Segfault。
- 当本机名称以数字开始的时候,也允许响应 icmp6 节点信息。
- 在 config(8) UKC> 提示,当“lines”设置为 0 时不请求输入。
- 开始 4.3-current。
这个列表主要是平台中立的修改。特定平台的修改列表位于其平台页面。
如果你没有在那里找到,那么这些修改可能是没有文档或者已经在此处列出。
www@openbsd.org
$OpenBSD: plus.html,v 1.3 2008/05/12 07:23:53 tobias Exp $