All checksums have been double-checked against existing RMD160 and
SHA512 hashes
Not committed (merge conflicts...):
net/radsecproxy/distinfo
The following distfiles could not be fetched (fetched conditionally?):
./net/citrix_ica/distinfo citrix_ica-10.6.115659/en.linuxx86.tar.gz
./net/djbdns/distinfo dnscache-1.05-multiple-ip.patch
./net/djbdns/distinfo djbdns-1.05-test28.diff.xz
./net/djbdns/distinfo djbdns-1.05-ignoreip2.patch
./net/djbdns/distinfo djbdns-1.05-multiip.diff
./net/djbdns/distinfo djbdns-cachestats.patch
librsync 2.3.2
Overview
This is a patch release that fixes some minor bugs, tidies the code for many compiler warnings, and improves windows compatibility. Upgrading from v2.3.1 is recommended for most people, and essential for people using platforms experiencing bugs 214 or 207.
Included Changes
Fix 214 heap corruption for too small kbloom. This could have crashed delta operations for very small files/signatures. Strangely it didn't seem to cause problems for most compilers/platforms, but did trigger errors for new versions of MSVC.
Fix 207 and add Travis Windows checks and improve compatibility. Turn on -Wconversion -Wno-sign-conversion warnings for clang. Add MSVC compiler flags to turn off posix warnings. Make all code compile clean with no warnings on all Travis platforms. Added cmake config checking for windows io.h and improve fileutil.c for MSVC. Fix broken error handling in rs_file_copy_cb(). Improved trace output, making it less spamy and more consistent. Add patch checking for invalid literal lengths. Improve internal variable and argument types. Add explicit type conversions.
Fix a bug so patch will now fail returning RS_CORRUPT on encountering a zero length copy command instead of hanging. Make copy_cb() copying more data than requested an assert-fail on debug builds, and a log-warning for release builds. Make trace output a little less spammy about copy_cb() return values.
Known Issues
The debian package configs are still very out of date.
There is still no documentation on how to compile on or cross-compile for windows.
librsync 2.3.1
This is a patch release that adds peformance improvements, updates and tidies documentation, and fixes two build/test bugs on FreeBSD.
librsync 2.3.0
This is a minor release that adds rs_sig_args() for getting the recommended signature arguments based on the file size. which is used by rs_sig_file() and rdiff. This means rdiff by default will use a better block size based on the file size, and supports using --sum-size=-1 to use the smallest safe sum size (safe against random collisions, not against crafted hash-collision attacks). It removes old code that made the default strongsum size 8 when using --hash=md4, and it now defaults to 16 (the max for md4) for better protection against the risk of hash collision attacks and corruption. It also includes many code cleanups and testing improvements, including full C99 compliance. Upgrading from v2.2.1 is optional.
To generate signatures identical to the previous version's default arguments, you will need to use --block-size=2048 to select the old default block size. Also, when using --hash md4 you will need to add --sum-size=8 to select the old sum-size default when using md4 strongsums.
librsync 2.2.1
This is a patch release that fixes a bug that makes delta operations hang for files larger than 4GB. Upgrading from v2.2.0 is essential.
librsync 2.2.0
This is a minor release that adds RabinKarp rollsum support as the new recommended default. This is a much better rolling hash with a much better distribution and less collisions, particularly for text files and small blocks. This results in faster delta calculations and a reduced risk of corruption from hash collisions when using small strongsum sizes. It also includes important fixes for compiling on/for windows, and some other minor improvements. Upgrading from v2.1.0 is essential for people compiling for windows, recommended for people who want a performance increase, and otherwise not urgent.
To generate signatures compatible with previous versions of rdiff you will need to use the --rollsum rollsum to select the old rollsum algorithm, or for librsync use the RS_BLAKE2_SIG_MAGIC or RS_MD4_SIG_MAGIC arguments when starting the signature with rs_sig_begin().
librsync 2.1.0
This is a minor release that exposes a few useful utility functions to librsync.h previously only used by rdiff. It also introduces proper exporting of only public symbols in the librsync.h header. The most important fix is for a memory leak when freeing signatures. Upgrading from v2.0.2 is highly recommended for people using librsync and experiencing memory leak problems, but otherwise not urgent.
The actual fix as been done by "pkglint -F */*/buildlink3.mk", and was
reviewed manually.
There are some .include lines that still are indented with zero spaces
although the surrounding .if is indented. This is existing practice.
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)
librsync implements the rolling-checksum algorithm of remote
file synchronization that was popularized by the rsync utility. This
algorithm transfers the differences between 2 files without needing both
files on the same system. librsync is for building other programs that
transfer files as efficiently as rsync. You can use librsync in a program
you write to do backups, distribute binary patches to programs, or
sync directories to a server or between peers.