librsync 2.0.0

@sourcefrog sourcefrog released this Nov 29, 2015 · 252 commits to master since this release

Note: despite the major version bump, this release has few changes and should be binary and API compatible with the previous version.

  • Bump librsync version number to 2.0, to match the library
    soname/dylib version.
    (Martin Pool, #48)



@sourcefrog sourcefrog released this Nov 21, 2015 · 254 commits to master since this release

librsync 1.0.1 (2015-11-21)

  • Better performance on large files. (VictorDenisov)

  • Add comment on usage of rs_build_hash_table(), and assert correct use.
    Callers must call rs_build_hash_table() after loading the signature,
    and before calling rs_delta_begin().
    Thanks to Paul Harris

  • Switch from autoconf to CMake.

    Thanks to Adam Schubert.



@sourcefrog sourcefrog released this Jan 23, 2015 · 335 commits to master since this release

Changes in librsync 1.0.0 (2015-01-23)

  • SECURITY: CVE-2014-8242: librsync previously used a truncated MD4
    "strong" check sum to match blocks. However, MD4 is not cryptographically
    strong. It's possible that an attacker who can control the contents of one
    part of a file could use it to control other regions of the file, if it's
    transferred using librsync/rdiff. For example this might occur in a
    database, mailbox, or VM image containing some attacker-controlled data.

    To mitigate this issue, signatures will by default be computed with a
    256-bit BLAKE2 hash. Old versions of librsync will complain about a
    bad magic number when given these signature files.

    Backward compatibility can be obtained using the new
    rdiff sig --hash=md4
    option or through specifying the "signature magic" in the API, but
    this should not be used when either the old or new file contain
    untrusted data.

    Deltas generated from those signatures will also use BLAKE2 during
    generation, but produce output that can be read by old versions.

    See #5

    Thanks to Michael Samuel <> for reporting this and offering an
    initial patch.

  • Various build fixes, thanks Timothy Gu.

  • Improved rdiff man page from Debian.

  • Improved librsync.spec file for building RPMs.

  • Fixed bug #1110812 'internal error: job made no progress'; on large

  • Moved hosting to

  • integration test at

  • Remove bundled copy of popt; it must be installed separately.

  • You can set $LIBTOOLIZE before running, for example on
    OS X Homebrew where it is called glibtoolize.