Lanzamiento de la utilidad de sincronización de archivos Rsync 3.2.4

Después de un año y medio de desarrollo, está disponible el lanzamiento de Rsync 3.2.4, una utilidad de sincronización y copia de seguridad de archivos que permite minimizar el tráfico copiando los cambios de forma incremental. El transporte puede ser ssh, rsh o el protocolo propietario rsync. Admite la organización de servidores rsync anónimos, que son óptimos para garantizar la sincronización de espejos. El código del proyecto se distribuye bajo la licencia GPLv3.

Entre los cambios añadidos:

  • Se ha propuesto un nuevo método para proteger los argumentos de la línea de comando, que se asemeja a la opción “--protect-args” (“-s”) disponible anteriormente, pero no interrumpe el funcionamiento del script rrsync (rsync restringido). La protección se reduce a escapar de los caracteres especiales, incluidos los espacios, al enviar solicitudes a un intérprete de comandos externo. El nuevo método no escapa de los caracteres especiales dentro de un bloque entre comillas, lo que le permite utilizar comillas simples alrededor del nombre del archivo sin escape adicional; por ejemplo, ahora se permite el comando "rsync -aiv host:'a simple file.pdf' .” Para devolver el comportamiento anterior, se propone la opción “--old-args” y la variable de entorno “RSYNC_OLD_ARGS=1”.
  • Se resolvió un problema de larga data con el manejo de caracteres de punto decimal según la configuración regional actual ("," en lugar de "."). Para scripts diseñados para procesar solo el "." En números, en caso de infracción de compatibilidad, puede configurar la configuración regional en "C".
  • Se corrigió una vulnerabilidad (CVE-2018-25032) en el código incluido de la biblioteca zlib que provoca un desbordamiento del búfer al intentar comprimir una secuencia de caracteres especialmente preparada.
  • Se implementó la opción “--fsync” para llamar a la función fsync() en cada operación de archivo para vaciar el caché del disco.
  • El script rsync-ssl utiliza la opción "-verify_hostname" al acceder a openssl.
  • Se agregó la opción "--copy-devices" para copiar archivos de dispositivos como archivos normales.
  • Reducción del consumo de memoria al transferir incrementalmente una gran cantidad de directorios pequeños.
  • En la plataforma macOS, funciona la opción “—atimes”.
  • Se implementó la capacidad de actualizar los atributos xattrs para archivos en modo de solo lectura si el usuario tiene permiso para cambiar los derechos de acceso (por ejemplo, cuando se ejecuta como root).
  • Se agregó y habilitó de forma predeterminada el parámetro “--info=NONREG” para mostrar advertencias sobre la transferencia de archivos especiales.
  • El script rrsync (rsync restringido) se reescribió en Python. Se agregaron nuevas opciones "-munge", "-no-lock" y "-no-del". De forma predeterminada, el bloqueo de las opciones --copy-links (-L), --copy-dirlinks (-k) y --keep-dirlinks (-K) está habilitado para dificultar los ataques que manipulan enlaces simbólicos a directorios.
  • El script atomic-rsync se reescribió en Python y se amplió para ignorar los códigos de retorno distintos de cero. De forma predeterminada, el código 24 se ignora cuando los archivos se pierden mientras se ejecuta rsync (por ejemplo, el código 24 se devuelve para archivos temporales que estaban presentes durante la indexación inicial pero que se eliminaron en el momento de la migración).
  • El script munge-symlinks se reescribe en Python.

Fuente: opennet.ru

Añadir un comentario