Lançamento do utilitário de sincronização de arquivos Rsync 3.2.4

Após um ano e meio de desenvolvimento, está disponível o lançamento do Rsync 3.2.4, um utilitário de sincronização e backup de arquivos que permite minimizar o tráfego copiando alterações de forma incremental. O transporte pode ser ssh, rsh ou seu próprio protocolo rsync. Ele suporta a organização de servidores rsync anônimos, que são ideais para garantir a sincronização de espelhos. O código do projeto é distribuído sob a licença GPLv3.

Entre as mudanças adicionadas:

  • Foi proposto um novo método para proteger argumentos de linha de comando, que se assemelha à opção “--protect-args” (“-s”) disponível anteriormente, mas não interrompe a operação do script rrsync (rsync restrito). A proteção se resume ao escape de caracteres especiais, incluindo espaços, ao enviar solicitações a um interpretador de comandos externo. O novo método não escapa caracteres especiais dentro de um bloco entre aspas, o que permite usar aspas simples ao redor do nome do arquivo sem escape adicional, por exemplo, o comando “rsync -aiv host:'a simple file.pdf' agora é aceitável .” Para retornar o comportamento antigo, são propostas a opção “--old-args” e a variável de ambiente “RSYNC_OLD_ARGS=1”.
  • Resolvido um problema antigo com o tratamento de caracteres de ponto decimal com base na localidade atual ("," em vez de "."). Para scripts projetados para processar apenas o “.” em números, em caso de violação de compatibilidade, você pode definir a localidade como “C”.
  • Corrigida uma vulnerabilidade (CVE-2018-25032) no código incluído da biblioteca zlib que leva a um buffer overflow ao tentar compactar uma sequência de caracteres especialmente preparada.
  • Implementada a opção “--fsync” para chamar a função fsync() em cada operação de arquivo para liberar o cache do disco.
  • O script rsync-ssl usa a opção "-verify_hostname" ao acessar o openssl.
  • Adicionada opção "--copy-devices" para copiar arquivos de dispositivos como arquivos normais.
  • Consumo de memória reduzido ao transferir incrementalmente um grande número de diretórios pequenos.
  • Na plataforma macOS, a opção “—atimes” funciona.
  • Implementada a capacidade de atualizar atributos xattrs para arquivos em modo somente leitura se o usuário tiver permissão para alterar os direitos de acesso (por exemplo, ao executar como root).
  • Adicionado e habilitado por padrão o parâmetro “--info=NONREG” para exibir avisos sobre transferência de arquivos especiais.
  • O script rrsync (rsync restrito) foi reescrito em Python. Adicionadas novas opções "-munge", "-no-lock" e "-no-del". Por padrão, o bloqueio das opções --copy-links (-L), --copy-dirlinks (-k) e --keep-dirlinks (-K) está habilitado para dificultar ataques que manipulam links simbólicos para diretórios.
  • O script atomic-rsync foi reescrito em Python e estendido para ignorar códigos de retorno diferentes de zero. Por padrão, o código 24 é ignorado quando os arquivos são perdidos enquanto o rsync está em execução (por exemplo, o código 24 é retornado para arquivos temporários que estavam presentes durante a indexação inicial, mas foram excluídos no momento da migração).
  • O script munge-symlinks foi reescrito em Python.

Fonte: opennet.ru

Adicionar um comentário