Se ha lanzado la versión de la sistema operativo de código abierto y multiplataforma basado en UNIX OpenBSD 7.1. El proyecto OpenBSD fue fundado por Theo de Raadt en 1995 después de un conflicto con los desarrolladores de NetBSD, que resultó en que se le cerrara el acceso al repositorio CVS de NetBSD. Tras esto, Theo de Raadt, junto con un grupo de colaboradores, creó un nuevo sistema operativo de código abierto basado en el árbol de fuentes de NetBSD, cuyos principales objetivos de desarrollo son la portabilidad (se soportan 13 plataformas de hardware), la estandarización, el funcionamiento correcto, la seguridad proactiva y la integración de funciones criptográficas. El tamaño de la imagen ISO completa para la instalación del sistema base OpenBSD 7.1 es de 580 MB.
Además del propio sistema operativo, el proyecto OpenBSD es conocido por sus componentes, que se han difundido en otros sistemas y se han consolidado como algunas de las soluciones más seguras y de calidad. Entre ellos se encuentran: LibreSSL (un fork de OpenSSL), OpenSSH, el filtro de paquetes PF, los demonios de enrutamiento OpenBGPD y OpenOSPFD, el servidor NTP OpenNTPD, el correo electrónico servidor OpenSMTPD, el multiplexor de terminales de texto (similar a GNU screen) tmux, el demonio identd con implementación del protocolo IDENT, la alternativa BSDL al paquete GNU groff — mandoc, el protocolo para la organización de sistemas tolerantes a fallos CARP (Common Address Redundancy Protocol), un servidor http ligero, la herramienta de sincronización de archivos OpenRSYNC.
Principales mejoras:
- Se ha anunciado que la compatibilidad con ordenadores Mac equipados con el chip ARM Apple M1 (Apple Silicon), como los Apple M1 Pro/Max y Macs con Apple T2, está lista para su uso. Se han añadido controladores para SPI, I2C, el controlador DMA, el teclado, el panel táctil, así como la gestión de energía y rendimiento. Se ha garantizado la compatibilidad con Wi-Fi, GPIO, framebuffer, USB, pantalla y unidades NVMe.
- Se ha mejorado el soporte para la arquitectura ARM64. Se han añadido controladores gpiocharger, gpioleds y gpiokeys, que proporcionan soporte para cargas, retroiluminación y botones conectados a GPIO (como se ha hecho en el Pinebook Pro). Se han incorporado nuevos controladores: mpfclock (controlador de reloj de PolarFire SoC MSS), cdsdhc (controlador de host Cadence SD/SDIO/eMMC), mpfiic (controlador I2C de PolarFire SoC MSS) y mpfgpio (GPIO de PolarFire SoC MSS).
- Se ha mejorado el soporte para la arquitectura RISC-V 64, para la que se han incluido controladores uhid y fido, garantizando el soporte para la instalación en discos con GPT.
- En la utilidad mount_msdos, el uso de nombres de archivos largos está habilitado por defecto.
- Se ha reescrito el código del recolector de basura para sockets unix.
- El sysctl hw.perfpolicy está configurado por defecto en "auto", lo que implica que se habilitará el modo de máximo rendimiento al conectar la alimentación de red y se utilizará un algoritmo adaptativo al funcionar con batería.
- Soporte mejorado para sistemas multiprocesador (SMP). Los filtros de eventos de canales anónimos, kqread, sonido y sockets se han trasladado a la categoría de mp-safe, así como el mecanismo BPF. Las llamadas al sistema poll, select, ppoll y pselect han sido reescritas y ahora se implementan sobre kqueue. Las llamadas al sistema kevent, getsockname, getpeername, accept y accept4 han sido despojadas de bloqueos. Se ha agregado una interfaz del núcleo para funciones atómicas load y store, que permiten el uso de tipos int y long en elementos de estructuras a las que se aplica el conteo de referencias.
- La implementación del marco drm (Direct Rendering Manager) ha sido sincronizada con el núcleo Linux 5.15.26 (la versión anterior fue 5.10.65). En el controlador inteldrm se ha añadido soporte para chips Intel basados en las microarquitecturas Elkhart Lake, Jasper Lake y Rocket Lake. En el controlador amdgpu se ha implementado soporte para APU/GPU Van Gogh, Rembrandt «Yellow Carp» Ryzen 6000, Navi 22 «Navy Flounder», Navi 23 «Dimgrey Cavefish» y Navi 24 «Beige Goby».
- En la biblioteca FreeType se ha incluido el renderizado de fuentes subpíxeles.
- Se ha añadido la utilidad realpath para mostrar la ruta absoluta a un archivo.
- Se ha añadido el comando 'ls rogue' a la utilidad rcctl para mostrar procesos en segundo plano que están en ejecución pero no están incluidos en rc.conf.local.
- En BPFtrace se ha implementado soporte para variables en las verificaciones. Se han añadido los scripts kprofile.bt para el perfilado de la pila del núcleo y runqlat.bt para identificar retrasos en el funcionamiento del planificador.
- En libc se ha añadido el soporte para RFC6840, que define el soporte para la bandera AD y la configuración ‘trust-ad’ para DNSSEC.
- En apm y apmd se ha incluido la predicción del tiempo de recarga de la batería.
- Se ha proporcionado la capacidad de almacenar la base de datos capability en /etc/login.conf.d para facilitar la adición de clases de cuentas personalizadas desde paquetes.
- En malloc se ha asegurado la cache de regiones de memoria de entre 128k y 2M.
- En el archivador pax se ha implementado el soporte para encabezados extendidos con datos mtime, atime y ctime.
- En las utilidades gzip y gunzip se ha añadido la opción '-k' para conservar el archivo original.
- En la utilidad openrsync se han añadido opciones: ‘—compare-dest’ para verificar la existencia de archivos en directorios adicionales; ‘—max-size’ y ‘—min-size’ para limitar el tamaño de los archivos.
- Se ha añadido el comando seq para generar secuencias de números.
- Se ha trasladado la implementación de funciones trigonométricas de FreeBSD 13 (se han desactivado las implementaciones en ensamblador para x86).
- Se ha trasladado la implementación de las funciones lrint, lrintf, llrint y llrintf desde FreeBSD (anteriormente se utilizaba la implementación de NetBSD).
- En la utilidad fdisk se han señalado numerosos cambios y correcciones relacionados con el trabajo con particiones de disco.
- Se ha añadido soporte para nuevo hardware, incluyendo el controlador Intel PCH GPIO (para las plataformas Cannon Lake H y Tiger Lake H), NXP PCF85063A/TP RTC, Synopsys Designware UART, Ethernet 2.5Gb de Intel, SIMCom SIM7600, RTL8156B, MediaTek MT7601U USB wifi, BCM4387 wifi.
- Se incluyen firmware re-licenciado para los chips inalámbricos Realtek, permitiendo el uso de los controladores rsu, rtwn y urtwn sin necesidad de cargar manualmente los firmware.
- Los controladores ixl (Intel Ethernet 700), ix (Intel 82598/82599/X540/X550) y aq (Aquantia AQC1xx) han añadido soporte para el procesamiento de hardware de etiquetas VLAN y cálculo/verificación de sumas de comprobación para IPv4, TCP4/6 y UDP4/6.
- Se ha añadido un controlador de sonido para los chips Intel Jasper Lake. Se ha incluido soporte para el controlador de juegos XBox One.
- En la pila inalámbrica IEEE 802.11 se ha implementado soporte para canales de 40MHz para el modo 802.11n y soporte inicial para el estándar 802.11ac (VHT). Para los controladores se ha añadido un controlador opcional para el escaneo en segundo plano. Al seleccionar un punto de acceso, las prioridades ahora son para los puntos con canales de 5GHz, y sólo después se seleccionan los puntos con canales de 2GHz.
- Se ha reescrito la implementación del controlador vxlan, que ahora funciona de manera independiente del subsistema del puente.
- Se ha reestructurado la lógica del instalador para llamar a la utilidad pkg_add, reduciendo la intensidad de movimiento de archivos durante el proceso de actualización. En el archivo install.site se documenta el proceso de configuración de la instalación y actualización. Se han añadido firmware permitidos para la redistribución en productos de terceros para todas las arquitecturas. Se ha utilizado la utilidad fw_update para instalar firmware propietarios disponibles en el medio de instalación.
- En xterm, por razones de seguridad, se ha deshabilitado por defecto el seguimiento del mouse.
- En usbhidctl y usbhidaction se ha proporcionado aislamiento de acceso al sistema de archivos mediante la llamada del sistema unveil.
- En dhcpd se ha garantizado por defecto la vinculación también a las interfaces de red que se encuentran inactivas (‘down’), para asegurar la recepción de paquetes inmediatamente después de que la interfaz de red sea activada.
- En OpenSMTPD (smtpd) se ha habilitado por defecto la verificación TLS para conexiones salientes 'smtps://' y 'smtp+tls://'.
- En httpd se ha implementado la verificación de la versión del protocolo, se ha añadido la posibilidad de definir archivos propios con textos de error y se ha mejorado el procesamiento de datos en formato comprimido, incluyendo la opción gzip-static en httpd.conf para la entrega de archivos precomprimidos con el indicador gzip en el encabezado content-encoding.
- En IPsec, en el parámetro proto de iked.conf se ha permitido especificar una lista de protocolos. Se ha añadido el comando "show certinfo" a la utilidad ikectl para mostrar los centros de certificación y certificados confiables. Se ha mejorado el procesamiento de mensajes fragmentados en iked.
- En rpki-client se ha añadido soporte para la verificación de claves públicas BGPsec Router y se ha mejorado la verificación de certificados X509. Se ha añadido un caché de archivos verificados. También se ha mejorado la compatibilidad con la RFC 6488.
- Se ha añadido el parámetro "port" en bgpd, que se puede usar en las secciones "listen on" y "neighbor" para vincular a un número de puerto de red no estándar. Se ha realizado una refactorización del código para trabajar con RIB (Routing Information Base), llevada a cabo con la vista de asegurar el soporte multipath en el futuro.
- En el multiplexor de terminal tmux se han ampliado las capacidades para la salida en color. Se han añadido los comandos pane-border-format, cursor-colour y cursor-style.
- En LibreSSL se ha realizado la portación desde OpenSSL del soporte para la RFC 3779 (extensiones X.509 para direcciones IP y sistemas autónomos) y el mecanismo de Certificate Transparency (un registro público independiente de todos los certificados emitidos y revocados, que permite auditar de forma independiente todos los cambios y acciones de los centros de certificación, así como rastrear inmediatamente cualquier intento de creación encubierta de registros falsos). Se ha mejorado significativamente la compatibilidad con OpenSSL 1.1 y se han utilizado nombres de cifrado idénticos a los de OpenSSL para TLSv1.3. Muchas funciones se han trasladado para usar calloc(). Se ha añadido una gran cantidad de nuevas llamadas en libssl y libcrypto.
- Se ha actualizado el paquete OpenSSH. Puede consultar un resumen detallado de las mejoras en las reseñas de OpenSSH 8.9 y OpenSSH 9.0. La utilidad scp se ha configurado por defecto para usar SFTP en lugar del obsoleto protocolo SCP/RCP.
- El número de puertos para la arquitectura AMD64 fue de 11301 (antes 11325), para aarch64 — 11081 (antes 11034), para i386 — 10136 (antes 10248). Entre las versiones de aplicaciones en los puertos: Asterisk 16.25.1, 18.11.1 y 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 y 11.2.0, GNOME 41.5, Go 1.17.7, JDK 8u322, 11.0.14 y 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 y 5.3.6, MariaDB 10.6.7, Mono 6.12.0.122, Firefox 99.0 y ESR 91.8.0, Thunderbird 91.8.0, Mutt 2.2.2 y NeoMutt 20211029, Node.js 16.14.2, OpenLDAP 2.4.59, PHP 7.4.28, 8.0.17 y 8.1.4, Postfix 3.5.14, PostgreSQL 14.2, Python 2.7.18, 3.8.13, 3.9.12 y 3.10.4, Qt 5.15.2 y 6.0.4, R 4.1.2, Ruby 2.7.5, 3.0.3 y 3.1.1, Rust 1.59.0, SQLite 2.8.17 y 3.38.2, Shotcut 21.10.31, Sudo 1.9.10, Suricata 6.0.4, Tcl/Tk 8.5.19 y 8.6.8, TeX Live 2021, Vim 8.2.4600 y Neovim 0.6.1, Xfce 4.16.
- Se han actualizado los componentes de terceros que forman parte de OpenBSD 7.1:
- El stack gráfico Xenocara basado en X.Org 7.7 con xserver 1.21.1 + parches, 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 (+ parches)
- GCC 4.2.1 (+ parches) y 3.3.6 (+ parches)
- Perl 5.32.1 (+ parches)
- NSD 4.4.0
- Unbound 1.15.0
- Ncurses 5.7
- Binutils 2.17 (+ parches)
- Gdb 6.3 (+ parche)
- Awk 12.10.2021
- Expat 2.4.7
Fuente: opennet.ru
