WINE 8.4 inicia su soporte para Wayland

WINE 8.4

Como cada dos semanas en esta fase del desarrollo, y tras 8.3, WineHQ ha lanzado hace unas horas WINE 8.4. Aunque se introducen muchos cambios en estos lanzamientos, de hecho se introducen cientos, la mayoría de ellos son pequeñas mejoras que hacen que la ejecución de aplicaciones de Windows en otras plataformas sea más fiable, pero esta semana han destacado algo que salta a la vista con tan sólo mirar los puntos que han considerado dignos de mostrar por separado.

WineHQ suele destacar de entre 3-6 novedades en cada versión de desarrollo, y esta semana la primera es que se ha dado el paso inicial para soportar Wayland. Hasta ahora se ha podido usar, pero el soporte oficial ha empezado en WINE 8.4. Además, también han destacado limpiezas en el soporte IME, un número de correcciones de pruebas y correcciones de errores varias. Más abajo, en donde está todo lo que han hecho, nos hablan de 51 bugs corregidos y 344 cambios.

Bugs corregidos en WINE 8.4

  • Thief: the dark project se cuelga al pulsar la tecla ‘esc’ en el juego si X en modo 24bpp.
  • Hard Truck 2: King of The Road (GOG) las películas no se reproducen.
  • Amazon Games se instala pero no se inicia (¿necesita código de inicio WindowsFormsApplicationBase?).
  • Varias aplicaciones tienen un rendimiento muy pobre después de 4261369e5d8 (Secondhand Lands, SPORE).
  • t2embed:t2embed falla en Windows con la codificación UTF-8.
  • gdi32:font – test_EnumFonts() falla con Arial Bold en Windows en ruso.
  • advapi32:registry – test_enum_value() tiene un par de fallos raros en locales de sistema UTF-8.
  • shell32:shelllink – A save(NULL, TRUE) falla aleatoriamente en test_load_save() en Wine.
  • d3d9:device – test_wndproc() a veces obtiene un WM_DISPLAYCHANGE inesperado en Wine.
  • .test_WSARecv() falla al usar thunks wow64 [Wow64ApcRoutine() sobrescribe el valor de retorno establecido por NtContinue()].
  • La salida dxgi:dxgi es demasiado grande en debiant.
  • kernel32:sync – test_timer_queue() falla ocasionalmente al borrar el temporizador en Windows 10.
  • ntdll:info – test_query_kerndebug() falla en Windows 8 a 10 1709.
  • foobar2000 v1.6 se bloquea poco después del inicio en Wine 7.19 o superior.
  • d3drm:d3drm a veces se bloquea tras fallar la creación de la interfaz IDirect3DRMDevice* en Wine.
  • d3drm:d3drm a veces falla al crear un dispositivo de modo inmediato en Wine.
  • vbscript:run a veces falla en Windows UTF-8 locales.
  • d3d9:device a veces falla al crear un objeto D3D en Wine, se bloquea.
  • ntdll:wow64 de 64 bits falla en Windows 11.
  • La ntdll:wow64 de 32 bits falla en Windows 11.
  • winhttp:notification falla aleatoriamente en Wine.
  • user32:input – test_ToAscii() falla en la configuración regional hindi UTF-8.
  • ntdll:pipe – test_blocking() falla a veces en Wine cuando la tubería no está señalizada.
  • kernel32:console – test_wait() falla a veces en Windows 8+.
  • d3d12:d3d12 – test_desktop_window() falla en Windows 10 1709.
  • d3d12:d3d12 – test_create_device() obtiene un 0 refcount inesperado en Windows 10 1909+.
  • HS_hevo_gc 8.8.1.1 falla al iniciar.
  • desde wine 8.0 print ya no funciona.
  • nethack se bloquea.
  • regedit/regproc.c – export_key() no puede devolver TRUE.
  • Motorola Ready For Assistant no se inicia, necesita ext-ms-win-networking-wlanapi-l1-1-0.dll.
  • dbghelp:dbghelp, ntdll:wow64 & psapi:psapi_main fallan en Windows 11 debido a la reasignación de ruta de notepad.exe.
  • psapi:psapi_main – La función test_EnumProcessModules() de 64 bits obtiene un caso inesperado de Notepad en Windows 11.
  • psapi:psapi_main – La función de 64 bits test_EnumProcessModulesEx() obtiene fallos pcs-6464 y pcs-6432 en Windows 11.
  • psapi:psapi_main – La función de 32 bits test_EnumProcessModulesEx() obtiene muchos fallos pcs-3232 debido a errores de copia parcial en Windows 11.
  • psapi:psapi_main – La función de 64 bits test_EnumProcessModules() obtiene un tercer módulo inesperado en Windows 11.
  • jsproxy:jsproxy se bloquea en Windows 11.
  • Fallo en la inicialización del juego Starcraft Remastered.
  • mmdevapi:propstore – El test_setvalue_on_wow64() de 32 bits falla en Windows 10 2004+.
  • El gif se muestra incorrectamente, con fondos extraños de varios colores.
  • gdi32:dc – La prueba SetDeviceGammaRamp() falla en Windows 10 1909.
  • El dbghelp de 32 bits:dbghelp no puede ejecutarse en Windows <= 10 1607 debido a la llamada IsWow64Process2().
  • La ventana de edición de texto de KakaoTalk IM deja artefactos cuando el texto se desborda y aparece la barra de desplazamiento.
  • Wine 8.3 64-bit no aparece en el repositorio de Debian bookworm.
  • riched20:txtsrv – test_TxGetNaturalSize falla si el ancho de los glifos de la fuente GUI del sistema es mayor de lo esperado por la prueba.
  • La instalación de TextPad 9.1 falla en Wine 6 desde el repositorio de Linux Mint.
  • windows.perception.stub:perception – Windows 10 1607 no tiene ISpatialSurfaceObserverStatics2.
  • kernel32:loader – test_import_resolution() obtiene datos tls erróneos en Windows 7.
  • ldp.exe se bloquea en la función no implementada wldap32.dll.ldap_set_dbg_flags.
  • imm32:imm32 – ime_install() falla en algunas localizaciones en Windows.
  • ldp.exe se bloquea al intentar conectarse a un host no válido.

WINE 8.2 está disponible en este enlace. En la página de descargas hay información sobre cómo instalar esta y otras versiones en sistemas operativos como Debian y Ubuntu, pero también se puede instalar en Android y macOS.

La próxima versión será WINE 8.5 y llegará el 31 de marzo.

from Linux Adictos https://ift.tt/S5LvVH6
via IFTTT

Aplicaciones para escribir en Linux

En Linux encontramos 4 tipos principales de programas para escritura.

Una de las preocupaciones más comunes entre quienes planean pasarse a Linux es si van a disponer del software que necesitan para su trabajo, estudio o entretenimiento. En este artículo comentaremos una categoría en la que el sistema operativo del Pingüino está bastante bien provisto: las aplicaciones para escribir.

En lo personal, no comparto la costumbre de muchos difusores de establecer tablas de equivalencias entre títulos de software libre y privativo ya que creo que los títulos de software libre son lo suficientemente buenos y cuentan con características distintivas que hacen innecesario definirlos a partir de otros títulos.

Del papel a los bits

Con aplicaciones para escribir en Linux nos estamos refiriendo a programas que sirven para redactar y corregir textos. Vamos a dejar afuera por el momento a 2 tipos de programas: los basados en LaTeX y los de creación de publicaciones de escritorio dado que estos están más enfocados a la presentación del texto que a la redacción del mismo.

En la época en que la escritura manuscrita era más frecuente que ahora, uno podía encontrar en las papelerías tres tipos de soporte para escribir.

En primer lugar, teníamos los que en Argentina llamábamos anotadores. Una serie de hojas unidas por la parte superior completamente lisas en las cuales uno elegía la posición en la cual empezar a escribir y el formato se lo daba a mano haciendo los subrayados y viñetas en forma artesanal.

El siguiente peldaño eran los cuadernos tanto de tapa dura como blanda. Ellos incluían hojas con formato, ya sea renglones, cuadrículas o pentagramas. También estaban las que permitían llevar las cuentas con columnas para el Debe y el Haber.

La cima de la pirámide les correspondía a las agendas. Estas incluían hojas formateadas y ordenadas alfabética o cronológicamente para guardar teléfonos y recordar compromisos.

Con el tiempo aparecieron las hojas sueltas con un adhesivo que permitían adherir y quitarlas de cualquier superficie.

Este formato sería replicado por los sistemas operativos modernos.

Aplicaciones para escribir en Linux

Dado que el primer sistema operativo con interfaz gráfica estaba pensado para el manejo de impresoras láser, no es casualidad que uno de los primeros programas que aprovecharan estas características fuera un procesador de textos.

Con el tiempo llegaría la primera versión de Windows incluyendo un bloc de notas. Cuenta la leyenda que este bloc surgió a partir de un fallido procesador de textos que iba a ocupar el lugar que después sería de Word. Bill Gates decidió reciclar el código.

En general en Linux contamos con las siguientes aplicaciones de escritura:

  • Bloc de notas: en principio es la más simple de las herramientas de edición de texto dado que sólo trae funciones básicas para la escritura, copiado y pegado. Algunos permiten una forma básica de formateo encerrando porciones del texto entre código. Un Bloc de notas simples que puedes instalar es Paper, que permite un formateo básico y el esquema de colores se adapta al color del fondo.
  • Editor de textos: El editor de textos incluye herramientas para diferenciar y establecer jerarquías entre diferentes partes del texto. También se agregan funciones de edición como la búsqueda y reemplazo de palabras. Cada uno de los escritorios incluye su propio editor por lo que solo debes buscarlo en el menú.
  • Procesador de textos: El procesador de textos suele formar parte de una suite ofimática que incluye además una planilla de cálculo y un programa de presentaciones. Se diferencia del editor en que puede incorporar elementos como imágenes, tablas o gráficos e incluso incrustar documentos de la suite. Algunos agregan también funciones básicas para la creación de publicaciones de escritorio. La mayoría de las distribuciones Linux incluyen LibreOffice Writer preinstalado y como alternativa (Solo la elijo porque casi nunca habló de ella) WPS Office.
  • Entorno integrado de desarrollo: Es un editor pensado para programadores. Es decir, que no solo permite escribir texto, modificar o reemplazarlo, sino que además cuenta con herramientas que corrigen automáticamente la diagramación y auto completan el código dependiendo del lenguaje de programación elegido. Tal vez el mejor IDE por su relación prestaciones, respeto por la privacidad sea VSCodium

Hoy las fronteras entre este tipo de programas están completamente diluidas. Algunos editores de texto incluyen funciones de edición de código mientras que varios entornos integrados de desarrollo disponen de extensiones que incorporan la función de corrección ortográfica convirtiéndolos en un más que decente procesador de textos.

¿Qué opción elegir en cada caso? La verdad es que eso depende de cada usuario. Solamente tienes que descargar, probar y quedarte con la que más te convenga

from Linux Adictos https://ift.tt/OXhspzS
via IFTTT

Detectaron múltiples vulnerabilidades en módems Exynos

vulnerabilidad

Si se explotan, estas fallas pueden permitir a los atacantes obtener acceso no autorizado a información confidencial o, en general, causar problemas

Los investigadores del equipo de Google Project Zero, dieron a conocer hace poco mediante una publicación de blog, el descubrimiento de 18 vulnerabilidades detectadas en los módems Samsung Exynos 5G/LTE/GSM.

Según los representantes de Google Project Zero, después de un poco de investigación adicional, los atacantes calificados podrán preparar rápidamente un exploit funcional que permita obtener el control de forma remota a nivel del módulo inalámbrico, conociendo solo el número de teléfono de la víctima. El ataque puede llevarse a cabo sin que el usuario lo perciba y no requiere que realice ninguna acción, lo que vuelve criticas algunas de las vulnerabilidades detectadas.

Las cuatro vulnerabilidades más peligrosas (CVE-2023-24033) permiten la ejecución de código a nivel de chip de banda base a través de la manipulación de redes externas de Internet.

A fines de 2022 y principios de 2023, Project Zero informó dieciocho vulnerabilidades de día cero en los módems Exynos producidos por Samsung Semiconductor. Las cuatro más graves de estas dieciocho vulnerabilidades (CVE-2023-24033 y otras tres vulnerabilidades a las que aún no se les han asignado CVE-ID) permitieron la ejecución remota de código de Internet a banda base.

De las 14 vulnerabilidades restantes, se menciona que tienen un nivel de gravedad menor, ya que el ataque requiere acceso a la infraestructura del operador de red móvil o acceso local al dispositivo del usuario. Con la excepción de la vulnerabilidad CVE-2023-24033, cuya solución se propuso en la actualización de firmware de marzo para los dispositivos Google Pixel, los problemas siguen sin solucionarse.

Hasta el momento, lo único que se sabe sobre la vulnerabilidad CVE-2023-24033 es que está causada por una verificación incorrecta del formato del atributo «accept-type» transmitido en los mensajes SDP (Session Description Protocol ) .

Las pruebas realizadas por Project Zero confirman que esas cuatro vulnerabilidades permiten que un atacante comprometa de forma remota un teléfono a nivel de banda base sin interacción del usuario, y solo requiere que el atacante conozca el número de teléfono de la víctima. Con investigación y desarrollo adicionales limitados, creemos que los atacantes expertos podrían crear rápidamente un exploit operativo para comprometer los dispositivos afectados de forma silenciosa y remota.

Las vulnerabilidades se manifiestan en dispositivos equipados con chips Samsung Exynos, según la información de los sitios web públicos que asignan conjuntos de chips a dispositivos, es probable que los productos afectados incluyan:

  • Dispositivos móviles de Samsung, incluidos los de las series S22, M33, M13, M12, A71, A53, A33, A21s, A13, A12 y A04;
  • Dispositivos móviles de Vivo, incluidos los de las series S16, S15, S6, X70, X60 y X30;
  • Las series de dispositivos Pixel 6 y Pixel 7 de Google; y
  • cualquier vehículo que use el chipset Exynos Auto T5123.

Hasta que los fabricantes solucionen las vulnerabilidades, se recomienda a los usuarios que deshabiliten la compatibilidad con VoLTE (Voice-over-LTE) y la función de llamada a través de Wi-Fi en la configuración. Desactivar estas configuraciones eliminará el riesgo de explotación de estas vulnerabilidades.

Debido al peligro de las vulnerabilidades y al realismo de la rápida aparición de un exploit, Google decidió hacer una excepción para los 4 problemas más peligrosos y posponer la divulgación de información sobre la naturaleza de los problemas.

 Como siempre, alentamos a los usuarios finales a que actualicen sus dispositivos lo antes posible para asegurarse de que están ejecutando las últimas compilaciones que solucionan las vulnerabilidades de seguridad reveladas y no reveladas.

Para el resto de vulnerabilidades se seguirá el calendario de divulgación de detalles 90 días después de la notificación al fabricante (información sobre vulnerabilidades CVE-2023-26072, CVE-2023-26073, CVE-2023-26074, CVE-2023-26075 y CVE -2023-26076 ya está disponible en el sistema de seguimiento de errores y para los 9 problemas restantes, la espera de 90 días aún no ha vencido).

Las vulnerabilidades reportadas CVE-2023-2607* son causadas por un desbordamiento de búfer al decodificar ciertas opciones y listas en los códecs NrmmMsgCodec y NrSmPcoCodec.

Finalmente, si estás interesado en poder conocer más al respecto puedes consultar los detalles en el siguiente enlace.

from Linux Adictos https://ift.tt/LPpc70U
via IFTTT

Cheerp un compilador open source de C/C++ a WebAssembly y JavaScript

Cheerp

Cheerp: un compilador de C++ para la Web

Se dio a conocer hace poco el lanzamiento de Cheerp 3.0, un compilador que permite compilar cualquier código C/C++ en WebAssembly o JavaScript. La nueva rama se destaca por mover el compilador y las bibliotecas que lo acompañan para usar licencias permisivas de Apache 2.0 y LLVM, en lugar de la política de licencias limitada aplicada anteriormente, que ofrece una opción de licencia GPLv2 para proyectos no comerciales y una licencia propietaria para proyectos comerciales.

Cheerp se puede utilizar tanto para portar bibliotecas y aplicaciones C/C++ existentes para ejecutarlas en el navegador como para crear aplicaciones web de alto rendimiento y componentes WebAssembly desde cero.

Ha pasado más de un año desde el lanzamiento anterior de Cheerp ( Cheerp 2.7 ), y esta nueva versión viene repleta de nuevas características y optimizaciones que, una vez más, mueven el estado del arte del uso de C++ como lenguaje de programación para aplicaciones Web y juegos.

Lo que es más importante, con este lanzamiento estamos realizando un cambio significativo en el modelo de licencias de Cheerp. A partir de Cheerp 3.0, todos los componentes y bibliotecas principales del compilador ahora tienen licencia permisiva bajo la licencia Apache 2.0/LLVM . Esto marca un cambio radical con respecto a nuestro modelo de licencia comercial dual/GPLv2 anterior, lo que permite que Cheerp 3.0 se use para cualquier propósito, sin restricciones.

Sobre Cheerp

El proyecto permite combinar código C/C++ y JavaScript en una aplicación web con la capacidad de acceder desde código JavaScript a funciones desarrolladas originalmente en C/C++, y desde código C/C++ a objetos JavaScript, JavaScript bibliotecas, Web API y todas las características DOM, ademas de que se permite crear compilaciones combinadas, parte del código que se compila en JavaScript y parte en WebAssembly. Admite proyectos de construcción que utilizan las bibliotecas libc y libc++ estándar.

En comparación con el compilador Emscripten, Cheerp genera código intermedio WebAssembly más optimizado y compacto (en promedio, el tamaño de los archivos resultantes es un 7 % más pequeño).

Conceptualmente, las diferencias se reducen al hecho de que Emscripten se utiliza como formato de objeto de WebAssembly y realiza el enlace y la optimización en la etapa de posprocesamiento de WebAssembly (wasm-opt). Cheerp usa el código de bytes LLVM como una representación intermedia para bibliotecas y archivos de objetos, lo que permite optimizaciones más amplias en todo el proyecto que usan metadatos de nivel LLVM sin necesidad de posprocesamiento.

Además, Cheerp usa el optimizador PreExecuter para ejecutar código de forma preventiva en tiempo de compilación, por ejemplo, para convertir constructores usados ​​para inicializar objetos globales en constantes. Además, durante la compilación se utiliza PartialExecuter, que, basándose en el análisis de los parámetros de la función, elimina código que se garantiza que no se utilizará durante la ejecución.

Cheerp también puede generar código JavaScript para trabajar dinámicamente con la memoria cubierta por el recolector de basura. En particular, en lugar de emular un espacio de direcciones tradicional con matrices escritas, Cheerp proporciona una asignación directa de objetos de C++ a objetos de JavaScript, lo que reduce el consumo de memoria porque el recolector de elementos no utilizados de JavaScript tiene la capacidad de eliminar objetos no utilizados. Para mejorar el rendimiento, el código intermedio WebAssembly generado utiliza extensiones SIMD para organizar la paralelización de las operaciones de datos.

Cheerp se puede usar como una plataforma para crear aplicaciones web integradas de cliente/servidor en C++. En la práctica actual, es común desarrollar un front-end separado basado en navegador escrito en JavaScript y un back-end separado escrito en PHP, Python, Ruby o JavaScript/Node.js.

Cheerp proporciona los medios para crear aplicaciones web C++ completas que admitan el backend y el frontend en una sola base de código.

Durante el proceso de compilación, el lado del servidor se compila en código nativo y la interfaz se convierte en una representación de JavaScript. La depuración de todos los componentes del proyecto, incluidos los convertidos a JavaScript, se lleva a cabo utilizando textos fuente C++ utilizando la tecnología Source Map.

Finalmente, si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

El código del compilador se basa en los desarrollos de LLVM y Clang e incluye optimizaciones adicionales para mejorar el rendimiento y reducir el tamaño del resultado compilado.

from Linux Adictos https://ift.tt/czChT8K
via IFTTT

NordVPN lanzo un cliente de código abierto para Linux

NordVPN Linux

NordVPN está lanzando tres de sus productos bajo una licencia de código abierto

El proveedor de VPN, NordVPN dio a conocer hace poco mediante una publicación de blog el lanzamiento de un cliente para Linux de código abierto, la biblioteca de red Libtelio y la biblioteca para compartir archivos Libdrop.

El cliente de Linux proporciona una interfaz de línea de comandos para administrar las conexiones a los servidores NordVPN, lo que permite seleccionar un servidor de la lista en función de la ubicación deseada, cambiar la configuración del protocolo y habilitar el modo Kill Switch, que bloquea el acceso a la red si la conexión a la VPN del servidor se pierde.

Para quienes desconocen de NordVPN, deben saber que este es un servicio VPN proporcionado por la empresa Nordsec con aplicaciones para Microsoft Windows, macOS, Linux, Android, iOS y Android TV.

NordVPN enruta el tráfico a través de un servidor remoto ocultando así la dirección IP y encriptando todos los datos entrantes y salientes. Para el cifrado, NordVPN ha estado utilizando las tecnologías OpenVPN e Internet Key Exchange v2/IPsec en sus aplicaciones y también introdujo su tecnología patentada NordLynx.

NordLynx es una herramienta VPN basada en el protocolo WireGuard , que tiene como objetivo un mejor rendimiento que los protocolos de tunelización IPsec y OpenVPN.

NordVPN para Linux

Sobre el cliente para Linux, se menciona que es compatible con los protocolos NordLynx (basados ​​en WireGuard) y OpenVPN. Usa iptables para cambiar la configuración del firewall, iproute para enrutar, tuntap para tunelizar conexiones y systemd-resolved para resolver nombres DNS.

La biblioteca Libtelio incluye funciones de red típicas y proporciona una implementación de una red virtual MeshNet formada a partir de sistemas de usuario y usada para comunicarse entre sí. Meshnet le permite establecer túneles encriptados entre dispositivos y crear una apariencia de una red local separada basada en ellos.

Estamos haciendo que estos productos sean de código abierto como una señal de nuestro compromiso con la transparencia y la responsabilidad. Queremos el aporte y el escrutinio de la comunidad de programación y mostrarle que tenemos confianza en nuestro propio software.

Este paso también subraya nuestra firme creencia en el progreso colaborativo. La comunidad de ciberseguridad y desarrollo de aplicaciones está llena de codificadores y pentesters talentosos que pueden aportar sus propias perspectivas únicas a nuestras aplicaciones.

A diferencia de VPN, las conexiones en Meshnet no se establecen entre el dispositivo y el servidor VPN, sino entre dispositivos finales, que también participan como nodos para el enrutamiento del tráfico.

Para toda la red MeshNet, puede definir un servidor común para interactuar con el mundo exterior (por ejemplo, si el nodo saliente está ubicado en la casa del usuario, entonces no importa a qué viajes y lugares se conecte el usuario desde los dispositivos conectados a MeshNet, para servicios externos, la actividad de la red se verá así, como si el usuario se estuviera conectando desde su dirección IP de casa).

El código abierto de Libtelio es un paso particularmente importante porque este código forma la columna vertebral de todas nuestras aplicaciones NordVPN, no solo de nuestro cliente Linux. Poner este material en manos de la comunidad de Linux, una de las comunidades de código abierto más sólidas actualmente activas, alienta a los codificadores y desarrolladores talentosos a examinar nuestro código y mejorar nuestro servicio.

Se pueden usar varias implementaciones de Wireguard para cifrar el tráfico en MeshNet. Tanto los servidores VPN como los nodos de usuario dentro de MeshNet se pueden usar como nodos de salida.

Se proporciona un filtro de paquetes configurable para limitar el tráfico dentro de la red y se proporciona un servicio basado en DNS para determinar los hosts. La biblioteca publicada le permite organizar sus propias redes MeshNet en sus aplicaciones.

La biblioteca Libdrop proporciona funciones para organizar el intercambio seguro de archivos entre dispositivos de usuario. Admite el envío y la recepción directos de archivos a través de MeshNet o la red global, sin involucrar servidores de terceros.

Finamente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

Debes saber que el código del cliente está abierto bajo la licencia GPLv3. En el desarrollo se utilizaron los lenguajes de programación Go, Rust, C y Python. Las distribuciones compatibles son Ubuntu, Fedora, Manjaro, Debian, Arch, Kali, CentOS y Rasbian.

 

from Linux Adictos https://ift.tt/prlnUCo
via IFTTT