BSD的UNIX操作系统,OpenBSD 5.2 发布

jopen 11年前

可以通过以下渠道获取发布的文件:
  • 订购 CDROM 从他们的 ordering system.
  • See the information on The FTP page for a list of mirror machines.
  • Go to the pub/OpenBSD/5.2/ directory on one of the mirror sites.
  • Briefly read the rest of this document.
  • Have a look at The 5.2 Errata page for a list of bugs and workarounds.
  • See a detailed log of changes between the 5.1 and 5.2 releases.



更新情况:

这是一个部分列表,包含在OpenBSD 5.2 系统中的新功能。完整的列表请查看 changelog

  • pthreads(3) support:
    • The most significant change in this release is the replacement of the user-level uthreads by kernel-level rthreads, allowing multithreaded programs to utilize multiple CPUs/cores.
    • Use PTHREAD_MUTEX_STRICT_NP as default mutex type.
    • Added pthread spinlock and barrier routines.
    • Added pthread_mutex_timedlock(3) and sem_timedwait(3).
    • Added pthread_condattr_setclock(3).
    • Added support for live multi-threaded debugging in gdb(1).
    • Improved handling for rusage totals and interval timers in threaded processes.
    • Changed the RLIMIT_NPROC rlimit to count processes instead of threads.
    • Added a new system limit kern.maxthread for the max number of threads.
    • Closed race conditions in thread creation, and in fork(2) and open(2) in a threaded process.
    • Improved handling of threaded processes in ps(1), top(1), and fstat(1).
    • Changed the lock around dlopen() to be recursive, so that dl*() operations from atexit() handlers don't deadlock.
    • Many fixes to pthread attribute and mutex error checking and cancellation handling.

    </li>
  • 改进的硬件支持,其中包括:
    • Added hibernation support on i386. Currently only working on pciide(4) and wd(4) disks.
    • Improved support for ALPS based touchpads in wsmouse(4) and the synaptics(4) X.Org input driver.
    • Performance improvements with ix(4) Intel 10Gb Ethernet NICs.
    • Support for i350 based devices in em(4).
    • Flow control support for bnx(4).
    • Hardware watchdog and HPET support for tcpcib(4) (Intel Atom E600) as found in some embedded x86 systems.
    • urndis(4) supports additional Android devices.
    • Support for Winbond W83627UHG has been added to wbsio(4).
    • Support for the SMBus controller of the AMD CS5536 in glxpcib(4) and the NVIDIA MCP89 in nviic(4).
    • Support for AX88772B based devices has been added to axe(4).
    • Support for MCS7832 based devices has been added to mos(4).
    • Support for the Roland UM-ONE has been added to umidi(4).
    • Support for the AMD Hudson-2 chipset has been added to azalia(4) and piixpm(4).
    • Support for NetMos NM9820 cardbus serial cards has been added to com(4).
    • Support for Huawei Mobile E303 has been added to umsm(4).
    • The sgi port now supports the R4000 Indigo (IP20), Indy (IP22), R4000 Indigo2 (IP24) and POWER Indigo2 R10000 (IP28) families.
    • </ul>

      </li>
    • 通用网络协议栈的改进:
      • Increased TCP initial window to 14600 bytes as proposed in draft-ietf-tcpm-initcwnd.
      • Cleanup handling of sockaddrs in degenerate use cases.
      • Improved handling of error and limit cases in file descriptor passing.
      • Improved socketbuffer handling for AF_UNIX sockets.
      • Fix yet another file descriptor leak in message passing.
      • Improved error handling in socket splicing.
      • IPv6 privacy addresses now appear alongside SLAAC addresses.
      • Support for Extended Sequence Numbers has been added to the IPsec stack and iked(8).
      • Bridging two IPv4 networks over an IPv6 link with gif(4) is now possible.
      • </ul>

        </li>
      • 路由守护程序和其他用户级网络的改善:
        • sndiod(1), bgpd(8), dvmrpd(8), ftp-proxy(8), iked(8), iscsid(8), ldapd(8), ldpd(8), nsd(8), ospf6d(8), ospfd(8), relayd(8), ripd(8), snmpd(8), spamd(8), sshd(8), tcpbench(1) and tmux(1) now rate limit their accepting of new connections when experiencing file descriptor exhaustion.
        • Allow route(8) destination/prefixlen syntax for IPv6 routes.
        • ASCII packet dumping support in tcpdump(8).
        • Better etherip and BGP protocol support in tcpdump(8).
        • isakmpd(8) and tcpdump(8) now recognize additional Internet Key Exchange DH groups.
        • Various improvements in iked(8) including support for retransmits.
        • ipsecctl(8) now allows SA lifetimes to be specified in its ipsec.conf(5) file.
        • Rewrote tftpd(8) as a persistent, non-blocking daemon.
        • tftp(1) client now supports IPv6.
        • snmpd(8) now supports PF-MIB, UCD-DISKIO-MIB, and additional OIDs in HOST-RESOURCES-MIB.
        • bgpd(8) is now more robust to network instability.
        • Adjust the bgpd(8) route decision code to cover checks needed due to route reflection.
        • Various fixes to improve error reporting in bgpd(8) including support of RFC 6608.
        • For debugging purposes bgpctl(8) can load MRT dumps into bgpd(8).
        • Fixed distribution of MPLS V*N routes in bgpd(8).
        • Introduced a new option "selected" to the bgpctl(8) "show rib" command to show only selected routes.
        • Correctly support the LSA_TYPE_AREA_OPAQ and LSA_TYPE_AS_OPAQ types in ospfd(8).
        • Make relayd(8) able to handle transactions larger than 2GB in size.
        • Various bug fixes and better HTTP standard compliance in relayd(8).
        • rtadvd(8) can now advertise DNS servers and search paths in router advertisements.
        • rtadvd(8) can now send router advertisements with no prefix information using the noifprefix option.
        • ftp(1) client now allows the source IP address of the connection to be specified.
        • ypldap(8) now handles larger directories and is more tolerant when processing groups.
        • Added support for AF_INET6 to inet_net_pton(3) and inet_net_ntop(3).
        • </ul>

          </li>
        • pf(4) improvements:
          • pf(4) now ignores/preserves the lower 2 bits of the tos-header (used for Explicit Congestion Notification).
          • Allow more than 16 pflog(4) interfaces.
          • pf(4) now supports weighted least-states load balancing.
          • The prio and tos options are now part of the "set { }" block. See pf.conf(5).
          • Allow to set the tos on IPv6 packets.
          • Better demotion handling in pfsync(4) to prevent failovers without having a full state table.
          • Fixed printing of wildcard anchors in pfctl(8).
          • </ul>

            </li>
          • Assorted improvements:
            • Added nginx(8), an HTTP server, reverse proxy server and mail proxy server.
            • Added SQLite 3.7.13, a self-contained SQL database engine.
            • libpcap has been updated with several core functions from tcpdump.org's libpcap-1.2.0 API, without the clutter.
            • Disabled SSLv2 in OpenSSL.
            • Moved libtool(1) into the base system. Much work remains to be done.
            • Removed lint(1).
            • Removed the raid(4) RAIDframe driver and its corresponding raidctl(8) utility. RAIDframe has been superseded by softraid(4).
            • Added posix_spawn(3).
            • Added mbsnrtowcs(3) and wcsnrtombs(3).
            • Added getdelim(3) and getline(3).
            • More configuration variables for sysconf(3) and pathconf(2).
            • dirfd(3) is now a function instead of a macro.
            • posix_memalign(3) supports arbitrarily large alignments.
            • Improved realloc(3) performance.
            • ld.so(1) recognizes the DF_1_NOOPEN flag and refuses to dlopen(3) shared objects linked with "-z nodlopen".
            • Improved compliance and/or cleanliness of header files, particularly <dirent.h>, <time.h>, <sys/time.h>, <limits.h>, <arpa/inet.h>, <netinet/in.h>, and <sys/param.h>.
            • Improved kernel uvm memory allocator.
            • Added support for using AMT to provide console-over-Ethernet (c.f. the amtterm package).
            • Improved support for amd64 systems with many memory extents.
            • compat_linux(8) improvements: TLS-vs-clone and futex fixes, added support for statfs64(), tgkill(), gettid(), SOCK_CLOEXEC, and SOCK_NONBLOCK.
            • kdump(1) improvements, including the ability to show thread IDs and dumping of timespec, timeval, sigaction, rlimit, sigset, clockid, and fdset arguments and results.
            • Various improvements in smtpd(8): reliability fixes, new MTA client, new scheduler and improved queue logic, simplified smtpd.conf(5) syntax, better RFC compliance and several cosmetic changes.
            • The mg(1) emacs-like editor now supports cscope functionality. Also, backup files can now be saved to a user's home directory in addition to the current working directory.
            • Fixed operation of kvm_getfile2() (and therefore fstat(1) and pstat(8)) on kernel crash dumps.
            • Improved emacs-style key bindings and handling of large arrays in ksh(1).
            • halt(8) disables "suspend-on-lid-close" so that you don't accidentally suspend instead of shutting down.
            • Improvements to parallel make(1): added the .CHEAP and .EXPENSIVE special targets and fixed glitches in already-rebuilt logic.
            • The libusb package is able to access non-ugen(4) devices for some operations, allowing e.g. programming YubiKeys with a standard kernel.
            • Various improvements in tmux(1): a new unified tree view to select sessions or windows, new move-pane and renumber-windows commands, a history of pane layouts, simple output rate limiting, and custom formats (-F) have been extended and are now accepted by more commands.
            • fsck_msdos(8) now works on devices with non-512 byte sectors.
            • quotacheck(8) now works with DUID based fstab(5) files.
            • Numerous minor improvement to fdisk(8), including more sanity checking and better default partition sizing on large disks.
            • dhclient(8) now discards trailing NULs in option data, and in general parses option data with more paranoia.
            • Various improvements to dhclient(8) startup and timeout handling.
            • disklabel(8) does a better job of calculating physical memory during partition auto-allocation of devices with non-512 byte sectors.
            • SCSI errors are now correctly propagated to userland, e.g. mount(2) now reports specific errors such as trying to mount RW filesystems from RO media.
            • Improved FAT media handling: autorecognize such media even if the 0x55aa signature is missing and prevent the writing of an OpenBSD disklabel over the FAT data structures.
            • The MS-DOS FAT filesystem implementation gained a significant write speedup for large files (up to twice as fast).
            • </ul>

              </li>
            • OpenSSH 6.1:
              • New features:
                • sshd(8): This release turns on pre-auth sandboxing sshd by default for new installs, by setting UsePrivilegeSeparation=sandbox in sshd_config.
                • sshd-keygen(1): Add options to specify starting line number and number of lines to process when screening moduli candidates, allowing processing of different parts of a candidate moduli file in parallel.
                • sshd(8): The Match directive now supports matching on the local (listen) address and port upon which the incoming connection was received via LocalAddress and LocalPort clauses.
                • sshd(8): Extend sshd_config Match directive to allow setting AcceptEnv and {Allow,Deny}{Users,Groups}.
                • Add support for RFC6594 SSHFP DNS records for ECDSA key types. (bz#1978)
                • sshd-keygen(1): Allow conversion of RSA1 keys to public PEM and PKCS8.
                • sshd(8): Allow the sshd_config PermitOpen directive to accept "none" as an argument to refuse all port-forwarding requests.
                • sshd(8): Support "none" as an argument for AuthorizedPrincipalsFile.
                • sshd-keyscan(1): Look for ECDSA keys by default. (bz#1971)
                • sshd(8): Add "VersionAddendum" to sshd_config to allow server operators to append some arbitrary text to the server SSH protocol banner.
                • </ul> </li>
                • The following significant bugs have been fixed in this release:
                  • sshd(8) and ssh(1): Don't spin in accept() in situations of file descriptor exhaustion. Instead back off for a while.
                  • sshd(8) and ssh(1): Remove hmac-sha2-256-96 and hmac-sha2-512-96 MACs as they were removed from the specification. (bz#2023)
                  • sshd(8): Handle long comments in config files better. (bz#2025)
                  • ssh(1): Delay setting tty_flag so RequestTTY options are correctly picked up. (bz#1995)
                  • sshd(8): Fix handling of /etc/nologin incorrectly being applied to root on platforms that use login_cap.
                  • </ul> </li> </ul>

                    </li>
                  • Over 7600 ports, major performance and stability improvements in the package build process: