The release of the free cross-platform UNIX-like operating system OpenBSD 7.1 has been announced. The OpenBSD project was founded by Theo de Raadt in 1995 after a conflict with the developers of NetBSD, which resulted in Theo losing access to the NetBSD CVS repository. After that, Theo de Raadt, along with a group of like-minded individuals, created a new open-source operating system based on the NetBSD source tree, with the main goals of development being portability (supporting 13 hardware platforms), standardization, correctness, proactive security, and integrated cryptographic tools. The size of the full installation ISO image of the base system OpenBSD 7.1 is 580 MB.
In addition to the operating system itself, the OpenBSD project is known for its components, which have been adopted in other systems and established themselves as some of the safest and highest-quality solutions. Among them are: LibreSSL (a fork of OpenSSL), OpenSSH, the packet filter PF, the OpenBGPD and OpenOSPFD routing daemons, the OpenNTPD NTP server, mail server OpenSMTPD, terminal multiplexer (similar to GNU screen) tmux, the identd daemon implementing the IDENT protocol, BSDL alternative to the GNU groff package — mandoc, protocol for organizing fault-tolerant systems CARP (Common Address Redundancy Protocol), lightweight HTTP server, and file synchronization utility OpenRSYNC. server Support for Raspberry Pi 5 boards has been added in the port for the ARM64 architecture, the acpicpu driver has been implemented, and apm (Advanced Power Management) and sysctl hw.cpuspeed are operational on devices with Qualcomm Snapdragon X Elite chips.
Key Improvements:
- Support for Mac computers equipped with Apple M1 ARM chips (Apple Silicon), such as Apple M1 Pro/Max and Apple T2 Macs, has been declared ready for use. Drivers for SPI, I2C, DMA controller, keyboard, touchpad, power and performance management have been added. Support for Wi-Fi, GPIO, framebuffer, USB, display, and NVMe drives has been provided.
- Improved support for the ARM64 architecture. Drivers for gpiocharger, gpioleds, and gpiokeys have been added, providing support for chargers, backlights, and buttons connected to GPIO (for example, as done in Pinebook Pro). New drivers added include: mpfclock (PolarFire SoC MSS clock controller), cdsdhc (Cadence SD/SDIO/eMMC host controller), mpfiic (PolarFire SoC MSS I2C controller), and mpfgpio (PolarFire SoC MSS GPIO).
- Enhanced support for the RISC-V 64 architecture, which includes uhid and fido drivers, with support for installation on disks with GPT.
- The mount_msdos utility now defaults to using long file names.
- The code for the garbage collector for Unix sockets has been rewritten.
- The sysctl hw.perfpolicy is now set to "auto" by default, which implies enabling full performance mode when connected to AC power and using an adaptive algorithm when running on battery.
- Enhanced support for multiprocessor systems (SMP). The event filters for unnamed channels, kqread, sound, and sockets have been upgraded to mp-safe, as well as the BPF mechanism. System calls poll, select, ppoll, and pselect have been rewritten and are now implemented on top of kqueue. System calls kevent, getsockname, getpeername, accept, and accept4 have been freed from locks. A kernel interface for the atomic load and store functions has been added, allowing the use of int and long types in structure elements subject to reference counting.
- The implementation of the drm (Direct Rendering Manager) framework is synchronized with Linux kernel 5.15.26 (the previous release was 5.10.65). Support for Intel chips based on Elkhart Lake, Jasper Lake, and Rocket Lake microarchitectures has been added to the inteldrm driver. The amdgpu driver has introduced support for the Van Gogh APU/GPU, Rembrandt 'Yellow Carp' Ryzen 6000, Navi 22 'Navy Flounder', Navi 23 'Dimgrey Cavefish', and Navi 24 'Beige Goby'.
- Subpixel rendering of fonts has been included in the FreeType library.
- A utility for realpath has been added to output the absolute path of a file.
- The rcctl utility has added the command 'ls rogue' to show background processes that are running but not included in rc.conf.local.
- BPFtrace has implemented support for variables for checks. The scripts kprofile.bt for profiling the kernel stack and runqlat.bt for identifying scheduler delays have been added to btrace.
- Support for RFC6840, defining support for the AD flag and the 'trust-ad' setting for DNSSEC, has been added to libc.
- The apm and apmd now include the display of predicted battery recharge time.
- The capability database can now be stored in /etc/login.conf.d to simplify the addition of custom account classes from packages.
- malloc now provides caching for memory regions ranging from 128k to 2M.
- Support for extended headers containing mtime, atime, and ctime data has been implemented in the pax archiver.
- The gzip and gunzip utilities have added the '-k' option to preserve the original file.
- The openrsync utility has added options: '--compare-dest' for checking file existence in additional directories; '--max-size' and '--min-size' for limiting file sizes.
- A seq command has been added to output sequences of numbers.
- The universal software implementation of trigonometric functions has been ported from FreeBSD 13 (the assembly implementations for x86 have been disabled).
- The implementations of lrint, lrintf, llrint and llrintf functions have been ported from FreeBSD (previously using the implementation from NetBSD).
- The fdisk utility has many changes and fixes related to working with disk partitions.
- Support has been added for new hardware, including the Intel PCH GPIO controller (for Cannon Lake H and Tiger Lake H platforms), NXP PCF85063A/TP RTC, Synopsys Designware UART, Intel 2.5Gb Ethernet, SIMCom SIM7600, RTL8156B, MediaTek MT7601U USB wifi, and BCM4387 wifi.
- The package includes re-licensed firmware for Realtek wireless chips, allowing the use of rsu, rtwn, and urtwn drivers without manual firmware loading.
- The ixl (Intel Ethernet 700), ix (Intel 82598/82599/X540/X550), and aq (Aquantia AQC1xx) drivers now include support for hardware processing of VLAN tags and calculation/checking of checksums for IPv4, TCP4/6, and UDP4/6.
- A sound driver for Intel Jasper Lake chips has been added, along with support for the Xbox One game controller.
- Support for 40MHz channels in 802.11n mode and initial support for the 802.11ac (VHT) standard has been implemented in the IEEE 802.11 wireless stack. Optional background scanning support has been added for the drivers. When selecting an access point, those on 5GHz channels are now prioritized, followed by those on 2GHz channels.
- The vxlan driver implementation has been rewritten to operate independently of the bridge subsystem.
- The installer logic for invoking the pkg_add utility has been redesigned to reduce file movement during updates. The process for installation and updates has been documented in the install.site file. Firmware that can be distributed in third-party products has been added for all architectures. The fw_update utility is used for installing proprietary firmware available on the installation media.
- In xterm, mouse tracking is disabled by default for security reasons.
- In usbhidctl and usbhidaction, file system access isolation has been secured using the unveil system call.
- In dhcpd, by default, the attachment to network interfaces that are in the 'down' state is ensured to allow packet reception immediately after the network interface is activated.
- In OpenSMTPD (smtpd), TLS verification for outgoing connections 'smtps://' and 'smtp+tls://' is enabled by default.
- httpd has implemented protocol version checks, added the ability to define custom files for error messages, and improved data handling in compressed form. A gzip-static option has also been added to httpd.conf for delivering pre-compressed files with the gzip flag set in the content-encoding header.
- In IPsec, the proto parameter in iked.conf now allows specifying a list of protocols. The ikectl utility has added the command 'show certinfo' to display trusted certificate authorities and certificates. Improved processing of fragmented messages has been implemented in iked.
- The rpki-client has added support for checking BGPsec Router open keys and enhanced X509 certificate verification. A cache for verified files has been introduced. Compatibility with RFC 6488 has been improved.
- bgpd has added a 'port' parameter that can be used in 'listen on' and 'neighbor' sections to bind to a non-standard network port number. Code refactoring has been done to work with RIB (Routing Information Base), with an eye towards future support for multipath.
- The tmux console window manager ('terminal multiplexer') has enhanced capabilities for colored output. New commands pane-border-format, cursor-colour, and cursor-style have been added.
- LibreSSL has ported support for RFC 3779 (X.509 extensions for autonomous systems) from OpenSSL and the Certificate Transparency mechanism (an independent public log of all issued and revoked certificates, allowing for independent audits of all changes and actions by certificate authorities, while enabling immediate tracking of any attempts at covertly creating fake entries). Compatibility with OpenSSL 1.1 has significantly improved, and identical cipher names to OpenSSL have been implemented for TLSv1.3. Many functions have been rewritten to use calloc(). A significant number of new calls have been added in libssl and libcrypto. (the key to connect to is specified, and iroh finds the associated host and establishes an encrypted connection using the QUIC protocol). Direct P2P connections are established whenever possible, but if not, it falls back to using relays, which are also employed for host discovery by keys. You can run your own relay or connect to public relays supported by the community. The OpenSSH package has been updated. A detailed overview of the improvements can be found in the OpenSSH 8.9 and OpenSSH 9.0 reviews. The scp utility has been switched by default to use SFTP instead of the outdated SCP/RCP protocol.
- The OpenSSH package has been updated. A detailed overview of the improvements can be found in the OpenSSH 8.9 and OpenSSH 9.0 reviews. The scp utility has been switched by default to use SFTP instead of the outdated SCP/RCP protocol.
- The number of ports for AMD64 architecture is 11301 (was 11325), for aarch64 — 11081 (was 11034), for i386 — 10136 (was 10248). Among the application versions in the ports: Asterisk 16.25.1, 18.11.1 and 19.3.1 Audacity 2.4.2 CMake 3.20.3 Chromium 100.0.4896.75 Emacs 27.2 FFmpeg 4.4.1 GCC 8.4.0 and 11.2.0 GNOME 41.5 Go 1.17.7 JDK 8u322, 11.0.14 and 17.0.2 KDE Applications 21.12.2 KDE Frameworks 5.91.0 Krita 5.0.2 LLVM/Clang 13.0.0 LibreOffice 7.3.2.2 Lua 5.1.5, 5.2.4 and 5.3.6 MariaDB 10.6.7 Mono 6.12.0.122 Firefox 99.0 and ESR 91.8.0 Thunderbird 91.8.0 Mutt 2.2.2 and NeoMutt 20211029 Node.js 16.14.2 OpenLDAP 2.4.59 PHP 7.4.28, 8.0.17 and 8.1.4 Postfix 3.5.14 PostgreSQL 14.2 Python 2.7.18, 3.8.13, 3.9.12 and 3.10.4 Qt 5.15.2 and 6.0.4 R 4.1.2 Ruby 2.7.5, 3.0.3 and 3.1.1 Rust 1.59.0 SQLite 2.8.17 and 3.38.2 Shotcut 21.10.31 Sudo 1.9.10 Suricata 6.0.4 Tcl/Tk 8.5.19 and 8.6.8 TeX Live 2021 Vim 8.2.4600 and Neovim 0.6.1 Xfce 4.16
- Updated components from third-party developers included in OpenBSD 7.1:
- The graphical stack Xenocara based on X.Org 7.7 with xserver 1.21.1 + patches, freetype 2.11.0, fontconfig 2.12.94, Mesa 21.3.7, xterm 369, xkeyboard-config 2.20, fonttosfnt 1.2.2.
- LLVM/Clang 13.0.0 (+ patches)
- GCC 4.2.1 (+ patches) and 3.3.6 (+ patches)
- Perl 5.32.1 (+ patches)
- NSD 4.4.0
- Unbound 1.15.0
- Ncurses 5.7
- Binutils 2.17 (+ patches)
- Gdb 6.3 (+ patch)
- Awk 12.10.2021
- Expat 2.4.7
Source: opennet.ru
