Preséntase o lanzamento do sistema operativo gratuíto tipo UNIX OpenBSD 7.7. O proxecto OpenBSD foi fundado por Theo de Raadt en 1995 tras un conflito cos desenvolvedores de NetBSD, como resultado do cal a Theo se lle negou o acceso ao repositorio CVS de NetBSD. Despois diso, Theo de Raadt e un grupo de persoas afíns crearon un novo sistema operativo aberto baseado na árbore de fontes de NetBSD, cuxos principais obxectivos de desenvolvemento eran a portabilidade (soportan 13 plataformas de hardware), a estandarización, o funcionamento correcto, a seguridade proactiva. e ferramentas criptográficas integradas. A imaxe ISO de instalación completa do sistema base OpenBSD 7.7 é de 746 MB.
Ademais do propio sistema operativo, o proxecto OpenBSD é coñecido polos seus compoñentes, que se difundiron noutros sistemas e demostraron ser unha das solucións máis seguras e de alta calidade. Entre eles: LibreSSL (fork de OpenSSL), OpenSSH, filtro de paquetes PF, daemons de enrutamento OpenBGPD e OpenOSPFD, servidor OpenNTPD NTP, servidor de correo OpenSMTPD, multiplexor de terminal de texto (análogo á pantalla GNU) tmux, daemon identd con implementación do protocolo IDENT, alternativa BSDL Paquete GNU groff - mandoc, protocolo para organizar sistemas tolerantes a fallos CARP (Common Address Redundancy Protocol), servidor http lixeiro, utilidade de sincronización de ficheiros OpenRSYNC.
Principais cambios:
- A implementación do marco drm (Direct Rendering Manager) está sincronizada co kernel Linux 6.12.21 (na versión anterior - 6.6.52). O controlador inteldrm implementa soporte para a GPU utilizada nos procesadores Intel baseados na microarquitectura Arrow Lake. O controlador amdgpu actualizouse para admitir as GPU Ryzen AI 300 (Strix Point, Strix Halo, Krackan Point) e Radeon RX 9070 (Navi 48).
- O porto para a arquitectura ARM64 implementa soporte para o conxunto de instrucións vectoriales SVE (Scalable Vector Extension). Nos sistemas con chips Apple M1 ARM, establécense os estados de consumo de enerxía. No mecanismo de asignación de páxinas de memoria física (pmap), optimizáronse as operacións de lavado do búfer de tradución (TLB), o que acelerou a execución da proba de montaxe do núcleo en aproximadamente un 5%. No hardware que admite o cifrado QARMA3, o código de autenticación de punteiro (PAC) está habilitado para protexer o espazo do usuario.
- Nos sistemas x86_64, implementouse a compatibilidade co mecanismo AMD SEV (Secure Encrypted Virtualization), empregado nos sistemas de virtualización para a protección, para os sistemas invitados que executan QEMU. máquinas virtuais Por interferencias do hipervisor ou do administrador do sistema anfitrión. Engadiuse un comando para cargar o firmware no chip ao controlador PSP que se usa para configurar e iniciar sistemas invitados con AMD SEV activado.
- Nos sistemas x86_64, engadiuse a capacidade de asignar áreas de memoria maiores de 4 GB para DMA.
- Compatibilidade mellorada para arquitecturas RISC-V, Sparc64, HPPA, i386 e Powerpc64.
- Mellorado o manexo de situacións sen memoria (OOM).
- Mellorouse o mecanismo de rastrexo ptrace para permitir establecer puntos de interrupción en procesos multiproceso no depurador gdb. Engadíronse comandos para ler e escribir a área onde o proceso supervisado garda o estado do procesador cando se utiliza a instrución XSAVE.
- Engadiuse soporte para construcións multiliña aos scripts BT (BPFtrace ou Bug Tracing) utilizados no sistema de rastrexo btrace. Engadíronse perfís adicionais e nomeamento de intervalos de tempo (hz, us, ms, s) á utilidade btrace.
- Engadiuse o parámetro sysctl kern.audio.kbdcontrol, cando se establece en 0, as teclas de control de volume multimedia do teclado trataranse como teclas normais.
- Mellora a xestión de fallos e ampliación das comprobacións ao cambiar aos modos de suspensión e de espera.
- Reelaborouse o código para deter os procesos cando se recibe un sinal, o que resolveu os problemas de detención de procesos multiproceso que aparecían en paquetes como golang e mpv.
- Compatibilidade mellorada para sistemas multiprocesador (SMP). Os temporizadores de entrada e saída TCP agora están habilitados para funcionar en paralelo, e as chamadas ao sistema send() e recv() agora están configuradas para usar un bloqueo compartido. Varios fíos de usuario agora poden traballar en diferentes sockets en paralelo e a saída TCP xa non bloquea o procesamento de paquetes IP.
As chamadas ao sistema open, openat, ptsignal, psignal e prsignal, así como as kern.timeout_stats, kern.allowkmem, kern.video.record, net.inet.gre.allow, net.inet.gre.wccp, kern.global_ptrace, kern.wxtatllo, kern.wxtatllo, sy. bloqueo. Os controladores psp, wsmouse e wstpad, así como a estrutura video_filtops, foron transferidos á categoría mp-safe.
- O hipervisor VMM implementou a capacidade de usar acpipci para conectar buses PCI.
- Ofrece a posibilidade de definir unha política de rendemento alternativa (perfpolicy) para aplicar cando o sistema funciona con batería.
- O comando sysctl agora ten unha opción "-f file" para cargar todas as opcións dun ficheiro á vez. Nos scripts rc, úsase unha nova opción para cargar sysctl.conf como un todo, en lugar de analizalo liña por liña.
- O comando pkg_add implementa unha chamada a ldconfig se a lista de bibliotecas compartidas cambiou como resultado da instalación de novos paquetes.
- Engadido soporte para hardware novo. Compatibilidade mellorada para SoC MediaTek e Qualcomm Snapdragon (incluíndo X Elite). Compatibilidade mellorada para Samsung Galaxy Book4 Edge, ThinkPad T14 Gen 5, Vivobook, ThinkPad X1 Nano Gen 2, ThinkPad X13 e varios Chromebooks. Engadido controlador de xeo para Intel E810 Ethernet 1Gb/10Gb/25Gb/50Gb/100Gb e controlador ixv para funcións virtuais Intel Ethernet 82598EB, 82559 e X540. Continuou o traballo para trasladar as operacións de rede ao lado da tarxeta de rede.
- Sysupgrade ten un modo para a actualización sen conexión dos sistemas usando paquetes almacenados no sistema de ficheiros local.
- A utilidade fw_update actualizouse para permitir descargar (non instalar) firmware como usuario normal sen dereitos de root. Engadiuse a marca "-l" para listar controladores e ficheiros.
- O proceso sshd-auth ten activada a protección contra a explotación de vulnerabilidades, baseada na vinculación aleatoria do ficheiro executable en cada inicio do sistema (relink). O código recombinante fai que as compensacións de funcións sexan menos previsibles, polo que é máis difícil crear exploits que utilicen técnicas de programación orientadas a retorno.
- O proceso mountd está illado mediante a chamada do sistema unveil.
- A pila de rede implementa soporte para sockets AF_FRAME e a familia de protocolos IFT_ETHER, o que permite ás aplicacións enviar e recibir tramas Ethernet. Implementouse un novo método de hash para os paquetes UDP e TCP saíntes, que optimizou a distribución do tráfico entre as filas e acelerou significativamente (~20%) o envío de UDP para IPv4/IPv6 e TCP para IPv6. O dispositivo tun ten o TUNSCAP ioctl implementado e optimizouse a interacción entre o núcleo e o espazo do usuario. Implementouse unha caché de enrutamento separada para cada fluxo. O controlador vio ten activado o modo multicoa.
- A utilidade pfctl permite configurar interfaces de rede e colas cun rendemento superior a 4 Gbit.
- En iked, a implementación do protocolo IKEv2 para IPsec, engadiuse a opción "natt" para forzar o uso de nat-t.
- Relayd, un proceso en segundo plano para redirixir e equilibrar solicitudes, agora admite o lado do cliente Certificados TLS.
- A ferramenta de medición do rendemento da rede tcpbench engadiu compatibilidade con TLS.
- bgpd implementa soporte para RFC 8654 (BGP Extended Message), RFC 8538 (BGP Notification Message), a opción "reject as-set" está activada de forma predeterminada e ofrécese a caché Adj-RIB-Out.
- LibreSSL 4.1.0 engade soporte experimental para a arquitectura loongarch64, ofrece novas implementacións de ensambladores dos algoritmos SHA-1, SHA-256 e SHA-512 para a arquitectura amd64 (usando a instrución SHA-NI), novas implementacións de ensambladores de SHA-256 e SHA-512 para a extensión Aarch CEMD64, simplificando a extensión CEMD5. almacenamento en caché da lista de certificados revogados (CRL) e portouse a implementación ML-KEM 64 e 768 desde BoringSSL.
- Actualizouse OpenSSH. A lista de cambios pódese atopar no anuncio de OpenSSH 10 (eliminouse o soporte de sinatura dixital DSA, separáronse as operacións de autenticación nun proceso de autenticación sshd separado e úsase por defecto o algoritmo de intercambio de claves híbridas "mlkem768x25519-sha256").
- O número de portos para a arquitectura AMD64 foi 12593 (antes 12312), para aarch64 - 12446 (antes 12148), para i386 - 10429 (antes 10534). Entre as versións de aplicacións en portos:
- Asterisk 16.30.1, 18.26.1, 20.13.0 e 22.3.0
- Audacity 3.7.3
- CMake 3.31.6
- Chromium 135.0.7049.52
- Emacs 30.1
- ffmpeg 6.1.2
- GCC 8.4.0 e 11.2.0
- GNOME 47
- Vaia 1.24.1
- JDK 8u442, 11.0.26, 17.0.14 e 21.0.6
- KDE Gears 24.12.3
- Cadros de KDE 6.12.0
- Plasma de KDE 6.3.3
- Chalk 5.2.9
- LLVM/Clang 13.0.0, 16.0.6, 18.1.8, 19.1.7
- LibreOffice 25.2.1.2
- Lua 5.1.5, 5.2.4, 5.3.6, 5.4.7
- MariaDB 11.4.5
- Mono 6.12.0.199
- Mozilla Firefox 137.0 e ESR 128.9.0
- Mozilla Thunderbird 128.9.0
- Mutt 2.2.14 e NeoMutt 20250113
- Nodo.js 22.14.0
- OpenLDAP 2.6.9
- PHP 8.2.28, 8.3.19 e 8.4.5
- Postfix 3.10.1
- PostgreSQL 17.4
- Python 2.7.18 e 3.12.9
- Qt 5.15.16 (+ parches do proxecto KDE) e 6.8.2
- Ruby 3.2.8, 3.3.7, 3.4.2
- Ferruxe 1.86.0
- SQLite 3.49.1
- Disparo 25.01.25
- Sudo 1.9.16p1
- Meerkat 7.0.7
- Tcl/Tk 8.5.19 e 8.6.16
- Vim 9.1.1265 e Neovim 0.10.4
- Xfce 4.20.0
- Componentes de terceiros actualizados incluídos con OpenBSD 7.7:
- Pila de gráficos Xenocara baseada en X.Org 7.7 con xserver 21.1.16 + parches, freetype 2.13.3, fontconfig 2.15.0, Mesa 23.3.6, xterm 395, xkeyboard-config 2.20, fonttosfnt 1.2.4.
- LLVM/Clang 16.0.6 (+ parches)
- GCC 4.2.1 (+ parches) e 3.3.6 (+ parches)
- Perl 5.40.1 (+ parches)
- NSD 4.9.1
- Sen consolidar 1.22.0
- Ncurses 6.4
- Binutils 2.17 (+ parches)
- Gdb 6.3 (+ parches)
- Awk 20250116/XNUMX/XNUMX
- Expat 2.7.1
- zlib 1.3.1 (+ parches)
Fonte: opennet.ru
