OpenBSD 5.8 发布,改进硬件支持

jopen 8年前

OpenBSD是一个从NetBSD衍生出来的类Unix操作系统。专案领导人Theo de Raadt在1995年]发起了OpenBSD专案,希望创造一个注重安全的操作系统,此外OpenBSD也以高品质的文件、坚持开放程式码以及严格的软 件授权著名。OpenBSD的吉祥物是河豚。

OpenBSD包含了一些在其他操作系统缺少或是选择性的安全功能,此外OpenBSD极度重视程式码的品质,任何对核心的修改都需要经过严格的程 式码审阅。OpenBSD可以在17种不同的硬件环境下运作,包含DEC Alpha、Intel i386、Hewlett-Packard PA-RISC、AMD64、Motorola 68000、PowerPC、Sun SPARC等。

OpenBSD 5.8 发布,改进硬件支持

OpenBSD 5.8 正式发布,此版本是第 38 个基于 CD-ROM 的版本(and 39th via FTP/HTTP)。此版本包括系统各个方面的新特性和一些重要改进。更多改进内容请看 发行说明或者是 errataDownload ( pkglist): amd64/install58.iso (220MB, SHA256), i386/install58.iso (210MB, SHA256)。

详细改进列表:

- Improved hardware support, including:      o New rtwn(4) driver for Realtek RTL8188CE wifi cards.      o New hpb(4) driver for HyperTransport bridges as found in the IBM        CPC945.      o The ugold(4) driver now supports TEMPerHUMV1.x temperature and        humidity sensors.      o Improved sensor support for the upd(4) driver for USB Power        Devices (UPS).      o Support for jumbo frames on re(4) devices using RTL8168C/D/E/F/G        and RTL8411, including PC Engines APU.      o re(4) now works with newer devices e.g. RTL8111GU.      o Partial support has been added for full-speed isochronous devices        in ehci(4), allowing USB 1.1 audio devices to be used on        EHCI-only systems in some cases.      o Improved macppc stability and G5 performances with MP kernels.      o acpicpu(4) uses ACPI C-state information to reduce power        consumption of idle CPUs.      o Kernel supports x86 AVX instructions on CPUs that have them.      o Avoid assigning low address to PCI BARs, fixing various issues on        machines whose BIOSes neglect to claim low memory.      o wscons(4) works with even more odd trackpads.      o Added pvbus(4) paravirtual device tree root on virtual machines        that are running on hypervisors.      o New octdwctwo(4) driver for USB support on OpenBSD/octeon.      o New amdcf(4) driver for embedded flash on OpenBSD/octeon.      o Support for RTL8188EU devices was added to the urtwn(4) driver.     - Removed hardware support:      o The lmc(4) driver for Lan Media Corporation SSI/T1/DS1/HSSI/DS3        devices has been removed.      o The san(4) driver for Sangoma Technologies AFT T1/E1 devices has        been removed.     - Generic network stack improvements:      o MTU of vlan(4) devices can now be set independently from the        parent interface's MTU.      o The same network range can now be assigned to multiple        interfaces, using interface priorities to choose between them.      o New MPLS pseudowire driver mpw(4).      o Much preparatory work for MP unlocking of the network stack.     - Installer improvements:      o The logic of the 'Allow root ssh login?' question has been        changed.         - The default answer is now 'no'.         - 'prohibit-password' has been added to the list of possible           answers.      o autoinstall(8) has been extended to allow         - hostname-mode.conf response file names.         - response files to be placed in a subdir of the webserver's           document root.         - passing a template file to disklabel(8) to automatically           partition the disk.      o ntpd(8) is now enabled by default at install time.      o DUID support has improved enough that new installs now use them        unconditionally.      o Installing sets from CD-ROM has been fixed if more than one        CD-ROM drive is present.      o The 'Which CD-ROM contains the install media?' question has been        removed. Available cdrom devices are now shown directly in the        'Location of sets?' prompt.     - Routing daemons and other userland network improvements:      o Many improvements and simplifications in ldpd(8), including        configuration reload and support for mpw(4) pseudowire interfaces.      o bgpd(8) now allows rules to match on the peer AS number.      o For terminated BGP sessions, bgpctl(8) now displays the number of        prefixes received on the last session.      o ospfd(8) now correctly handles carp(4) interfaces in "backup" mode        at startup.      o Log messages in bgpd(8) and ospfd(8) have been made more specific.      o The default Diffie-Hellman group for V*Ns configured by        ipsec.conf(5) has been changed to modp3072.      o New radiusd(8), Remote Authentication Dial In User Service        (RADIUS) daemon.     - Security improvements:      o sudo in base has been replaced with doas(1), sudo is available as        a package.      o file(1) has been replaced with a new modern implementation,        including sandbox and privilege separation.      o pax(1) (and tar(1) and cpio(1)) now prevent archive extraction        from escaping the current directory via symlinks; tar(1) without        -P option now strips up through any ".." path components.      o Static PIE support for sparc.      o Alpha switched to secure PLT.      o Improved kernel checks of ELF headers.      o Support for the NX (No-eXecute) bit on i386, resulting in much        better W^X enforcement in userland for hardware that has this        feature.      o Enforcement of W^X in the kernel address space on i386 when using        processors with the NX bit.      o Work started on a new process-containment facility called tame(2).     - Assorted improvements:      o The worm(6) now grows at a rate proportional to terminal size.      o dlclose(3) now unregisters handlers registered by a        pthread_atfork(3) call from the unloaded libraries.      o cp(1), mv(1), and pax(1) with the -rw option now preserve        timestamps with full nanosecond precision.      o pax(1) now detects failure to decompress an archive when reading        it and errors out immediately.      o nm(1) now supports the -D option for displaying the dynamic symbol        table.      o dump(8) now uses DUIDs in /etc/dumpdates when present and the -U        option has thus been removed.      o Corrected kdump(1) reporting of lseek(2) return value on ILP32        archs and getsockopt/setsockopt(2) level and optname arguments.        iovec, msghdr, and cmsghdr structures are now dumped.      o sed(1) -i option added.      o New, much simpler man.conf(5) configuration file format for        man(1), apropos(1), and makewhatis(8).      o When using man(1) with the less(1) pager, support the :t internal        command to search for definitions of keywords similar to what        ctags(1) provides.      o Improvements in checking of numeric option values in many        utilities.      o Upgraded to binutils version 2.17 with additional fixes.      o Improved correctness of poll(2) and poll(2) of O_RDONLY FIFO fds.      o Restored reporting of closed sockets by netstat(1) and systat(1).      o fdisk(8) now zeros correct GPT sector at end of disk.      o fdisk(8) now accepts 'T' sizes for terabytes.      o fdisk(8) repaired to work on 4K sector disks again.      o dhcpd(8) now logs correct giaddr and ciaddr information even when        DHCP relays are present.      o dhcpd(8) now accommodates Linux and MS clients by not sending        routers or static routes info when classless static routes are        sent.      o dhcpd(8) and dhclient(8) now accept hostnames beginning with a        digit.      o dhclient(8) no longer rejects leases with addresses overlapping        existing subnets on other interfaces. Kernel routing logic now        just works.      o Improvements to realloc(3) decrease system calls and increase        efficiency.      o The reaper now tears down dead processes without holding on to the        kernel lock. This greatly reduces latency and increases        performance on multi-processor systems.     - OpenBSD httpd(8):      o New features:         - Added support for matching and redirections with Lua           patterns(7).         - Implemented If-Modified-Since for conditional GET or HEAD           requests (RFC 7232).         - Added byte-range support for range requests (RFC 7233).         - Allowing to specify a global or per-location default media           type instead of application/octet-stream.         - Added support for HTTP Strict Transport Security (HSTS; RFC           6797).         - Added initial regression test suite based on relayd(8)'s           implementation.      o Fixes and improvements:         - TLS in httpd(8) and relayd(8) now defaults to TLSv1.2-only.         - Fixed support for large TLS keys or certificate bundles with           up to 16KB each.         - Fixed the Content-Length header for files larger than 2 GB on           32-bit architectures.         - Fixed translation of CGI environment variables in accordance           with RFCs 7230 and 3875.         - Improved memory usage and fixed possible memory exhaustion on           large file transfers.         - Added URL-encoding of specific CGI variables before using           them in the Location header.         - Prepend files or directories containing ":" with "./" in           directory indexes as per RFC 3986.         - Allowing to specify characters like "?" in the Location URI.         - Various other bug fixes and improvements.     - OpenSMTPD 5.4.4      o smtpd(8) reliability and bug fixes.      o NOTE: Some security risks were discovered and fixed after the        OpenBSD 5.8 release. See 5.8 errata 004.     - OpenSSH 7.0:      o Security:         - ssh(1): when forwarding X11 connections with           ForwardX11Trusted=no, connections made after           ForwardX11Timeout expired could be permitted and no longer           subject to XSECURITY restrictions because of an ineffective           timeout check in ssh(1) coupled with "fail open" behaviour in           the X11 server when clients attempted connections with           expired credentials. This problem was reported by Jann Horn.         - ssh-agent(1): fix weakness of agent locking (ssh-add -x) to           password guessing by implementing an increasing failure           delay, storing a salted hash of the password rather than the           password itself and using a timing-safe comparison function           for verifying unlock attempts. This problem was reported by           Ryan Castellucci.         - sshd(8): OpenSSH 6.8 and 6.9 incorrectly set TTYs to be           world-writable. Local attackers may be able to write           arbitrary messages to logged-in users, including terminal           escape sequences.         - sshd(8): fix circumvention of MaxAuthTries using           keyboard-interactive authentication. By specifying a long,           repeating keyboard-interactive "devices" string, an attacker           could request the same authentication method be tried           thousands of times in a single pass. The LoginGraceTime           timeout in sshd(8) and any authentication failure delays           implemented by the authentication mechanism itself were still           applied.      o Potentially-incompatible changes:         - Support for the legacy SSH version 1 protocol is disabled by           default at compile time.         - Support for the 1024-bit diffie-hellman-group1-sha1 key           exchange is disabled by default at run-time. It may be           re-enabled using the instructions at           http://www.openssh.com/legacy.html.         - Support for ssh-dss, ssh-dss-cert-* host and user keys is           disabled by default at run-time. These may be re-enabled           using the instructions at http://www.openssh.com/legacy.html.         - Support for the legacy v00 cert format has been removed.         - The default for the sshd_config(5) PermitRootLogin option has           changed from "yes" to "prohibit-password" (but the OpenBSD           installer defaults to "no").         - NOTE: 'PermitRootLogin prohibit-password' is subtly broken in           the OpenBSD 5.8 / OpenSSH 7.0; see 5.8 errata 001.      o New/changed features:         - ssh(1), sshd(8): promote chacha20-poly1305@openssh.com to be           the default cipher.         - sshd(8): support admin-specified arguments to           AuthorizedKeysCommand. (bz#2081)         - sshd(8): add AuthorizedPrincipalsCommand that allows           retrieving authorized principals information from a           subprocess rather than a file.         - ssh(1), ssh-add(1): support PKCS#11 devices with external PIN           entry devices. (bz#2240)         - sshd(8): allow GSSAPI host credential check to be relaxed for           multihomed hosts via GSSAPIStrictAcceptorCheck option.           (bz#928)         - ssh-keygen(1): support ssh-keygen -lF hostname to search           known_hosts and print key hashes rather than full keys.         - ssh-agent(1): add -D flag to leave ssh-agent(1) in foreground           without enabling debug mode. (bz#2381)         - ssh_config(5): add PubkeyAcceptedKeyTypes option to control           which public key types are available for user authentication.         - sshd_config(5): add HostKeyAlgorithms option to control which           public key types are offered for host authentications.         - ssh(1), sshd(8): extend Ciphers, MACs, KexAlgorithms,           HostKeyAlgorithms, PubkeyAcceptedKeyTypes and           HostbasedKeyTypes options to allow appending to the default           set of algorithms instead of replacing it. Options may now be           prefixed with a + to append to the default, e.g.           "HostKeyAlgorithms=+ssh-dss".      o The following significant bugs have been fixed in this release:         - ssh(1), sshd(8): deprecate legacy           SSH2_MSG_KEX_DH_GEX_REQUEST_OLD message and do not try to use           it against some 3rd-party SSH implementations that use it           (older PuTTY, WinSCP).         - Many fixes for problems caused by compile-time deactivation           of SSH1 support. (including bz#2369)         - ssh(1), sshd(8): cap DH-GEX group size at 4Kbits for Cisco           implementations as some would fail when attempting to use           group sizes greater than 4K. (bz#2209)         - ssh(1): fix out-of-bound read in EscapeChar configuration           option parsing. (bz#2396)         - sshd(8): fix application of PermitTunnel, LoginGraceTime,           AuthenticationMethods and StreamLocalBindMask options in           Match blocks.         - ssh(1), sshd(8): improve disconnection message on TCP reset.           (bz#2257)         - ssh(1): remove failed remote forwards established by           multiplexing from the list of active forwards. (bz#2363)         - sshd(8): make parsing of authorized_keys "environment="           options independent of PermitUserEnv being enabled. (bz#2329)         - sshd(8): fix post-auth crash with permitopen=none. (bz#2355)         - ssh(1), ssh-add(1), ssh-keygen(1): allow new-format private           keys to be encrypted with AEAD ciphers. (bz#2366)         - ssh(1): allow ListenAddress, Port and AddressFamily           configuration options to appear in any order. (bz#86)         - sshd(8): check for and reject missing arguments for           VersionAddendum and ForceCommand. (bz#2281)         - ssh(1), sshd(8): don't treat unknown certificate extensions           as fatal. (bz#2387)         - ssh-keygen(1): make stdout and stderr output consistent.           (bz#2325)         - ssh(1): mention missing DISPLAY environment in debug log when           X11 forwarding requested. (bz#1682)         - sshd(8): correctly record login when UseLogin is set.           (bz#378)         - sshd(8): add some missing options to sshd -T output and fix           output of VersionAddendum and HostCertificate. (bz#2346)         - Document and improve consistency of options that accept a           "none" argument: TrustedUserCAKeys, RevokedKeys (bz#2382),           AuthorizedPrincipalsFile (bz#2288).         - ssh(1): include remote username in debug output. (bz#2368)         - sshd(8): avoid compatibility problem with some versions of           Tera Term, which would crash when they received the hostkeys           notification message (hostkeys-00@openssh.com).         - sshd(8): mention ssh-keygen -E as useful when comparing           legacy MD5 host key fingerprints. (bz#2332)         - ssh(1): clarify pseudo-terminal request behaviour and use           make manual language consistent. (bz#1716)         - ssh(1): document that the TERM environment variable is not           subject to SendEnv and AcceptEnv. (bz#2386)         - ssh(1), sshd(8): add compatability workarounds for Cisco and           more PuTTY versions. (bz#2424)         - Fix some omissions and errors in the PROTOCOL and PROTCOL.mux           documentation relating to Unix domain socket forwarding.           (bz#2421, bz#2422)         - ssh(1): Improve the ssh(1) manual page to include a better           desciption of Unix domain socket forwarding. (bz#2423)         - ssh(1), ssh-agent(1): skip uninitialised PKCS#11 slots,           fixing failures to load keys when they are present. (bz#2427)         - ssh(1), ssh-agent(1): do not ignore PKCS#11 hosted keys that           wth empty CKA_ID. (bz#2429)         - sshd(8): clarify documentation for UseDNS option. (bz#2045)     - LibreSSL      o User-visible features:         - Reject all server DH keys smaller than 1024 bits.         - Multiple CVEs fixed including CVE-2015-0207, CVE-2015-0209,           CVE-2015-0286, CVE-2015-0287, CVE-2015-0288, CVE-2015-0289,           CVE-2015-1788, CVE-2015-1789, CVE-2015-1792.         - Protocol parsing conversions to BoringSSL's CRYPTO ByteString           (CBS) API.         - Added EC_curve_nid2nist and EC_curve_nist2nid from OpenSSL.         - Removed Dynamic Engine support.         - Removed MDC-2DES support.         - Switched openssl dhparam default from 512 to 2048 bits.         - Fixed openssl pkeyutl -verify to exit with a 0 on success.         - Fixed dozens of Coverity issues including dead code, memory           leaks, logic errors and more.         - Ensure that openssl(1) restores terminal echo state after           reading a password.         - Incorporated fix for OpenSSL issue #3683.         - Removed SSLv3 support from openssl(1).         - Modified tls_write in libtls to allow partial writes,           clarified with examples in the documentation.         - Removed RSAX engine.         - Tested SSLv3 removal with the OpenBSD ports tree and found           several applications that were not ready to build without           SSLv3 yet. For now, building a program that intentionally           uses SSLv3 will result in a linker warning.         - Added TLS_method, TLS_client_method and TLS_server_method as           a replacement for the SSLv23_*method calls.         - Default cert.pem, openssl.cnf, and x509v3.cnf files are now           installed under $sysconfdir/ssl or the directory specified by           --with-openssldir. Previous versions of LibreSSL left these           empty.         - NOTE: LibreSSL 2.2.2 in OpenBSD 5.8 incorrectly handles           ClientHello messages that do not include TLS extensions,           resulting in such handshakes being aborted. see 5.8 errata           002.      o Code improvements:         - Fix incorrect comparison function in openssl(1) certhash           command. Thanks to Christian Neukirchen / Void Linux.         - Removal of OPENSSL_issetugid and all library getenv calls.           Applications can and should no longer rely on environment           variables for changing library behavior. OPENSSL_CONF and           SSLEAY_CONF are still supported with the openssl(1) command,           but note that $ENV:: is no longer supported in .cnf files.         - libtls API and documentation additions.         - Various bug fixes and simplifications to libssl and           libcrypto.         - Reworked openssl(1) option handling.         - LibreSSL version define LIBRESSL_VERSION_NUMBER will now be           bumped for each portable release.         - Removed workarounds for TLS client padding bugs.         - Removed IE 6 SSLv3 workarounds.         - --with-enginesdir is removed as a configuration parameter.     - Syslogd:      o OpenBSD syslogd(8) can bind to explicitly given UDP or TCP sockets        to receive messages. TCP streams are accepted with the octet        counting or the non transparent framing method.      o Blocks in syslog.conf(5) started with +host process messages        created by certain hosts specifically.      o Handle situations when the file descriptor limit is exhausted        gracefully.      o Since libtls handles short writes smarter, syslogd(8) can use the        complete output buffer to save messages, coping with longer TLS        server down times without losing messages.     - Ports and packages:     Many pre-built packages for each architecture:      o alpha:    7093                  o powerpc:  8114      o amd64:    8866                  o sh:       133      o hppa:     5813                  o sparc:    3655      o i386:     8839                  o sparc64:  7851      o mips64:   4267                  o vax:      1959      o mips64el: 5922     - Some highlights:        o Chromium 44.0.2403.125          o Mozilla Thunderbird 38.1.0      o Emacs 21.4 and 24.5             o Node.js 0.10.35      o GCC 4.8.4 and 4.9.3             o OpenLDAP 2.3.43 and 2.4.41      o GHC 7.8.4                       o PHP 5.4.43, 5.5.27 and 5.6.11      o GNOME 3.14.2                    o Postfix 2.11.4      o Go 1.4.2                        o PostgreSQL 9.4.1      o Groff 1.22.3                    o Python 2.7.9 and 3.4.2      o JDK 1.7.0.80 and 1.8.0.45       o R 3.1.2      o KDE 3.5.10 and 4.14.3 (plus     o Ruby 1.8.7.374, 1.9.3.551,        KDE4 core updates)                2.0.0.598, 2.1.5, and 2.2.0      o LLVM/Clang 3.5 (20140228)       o Sendmail 8.15.2      o LibreOffice 4.4.4.3             o Tcl/Tk 8.5.18 and 8.6.4      o MariaDB 10.0.20                 o TeX Live 2014      o Mono 3.12.1                     o Vim 7.4.769      o Mozilla Firefox 38.1.1esr and   o Xfce 4.12        39.0.3     - As usual, steady improvements in manual pages and other documentation.     - The system includes the following major components from outside suppliers:      o Xenocara (based on X.Org 7.7 with xserver 1.16.4 + patches,        freetype 2.6, fontconfig 2.11.1, Mesa 10.2.9, xterm 314,        xkeyboard-config 2.14 and more)      o Gcc 4.2.1 (+ patches) and 3.3.6 (+ patches)      o Perl 5.20.2 (+ patches)      o SQLite 3.8.9 (+ patches)      o NSD 4.1.3      o Unbound 1.5.4      o Ncurses 5.7      o Binutils 2.17 (+ patches)      o Gdb 6.3 (+ patches)      o Less 458 (+ patches)      o Awk Aug 10, 2011 version

via distrowatch.com