./net/librsync, Rsync-like rolling checksum library

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 2.3.4, Package name: librsync-2.3.4, Maintainer: pkgsrc-users

Librsync is a library for calculating and applying network deltas,
with an interface designed to ease integration into diverse network
applications. Librsync encapsulates the core algorithms of the rsync
protocol, which help with efficient calculation of the differences
between two files. The rsync algorithm is different from most
differencing algorithms because it does not require the presence of
the two files to calculate the delta. Instead, it requires a set of
checksums of each block of one file, which together form a signature
for that file. Blocks at any point in the other file which have the
same checksum are likely to be identical, and whatever remains is the

Required to run:

Required to build:

Master sites:

Filesize: 196.589 KB

Version history: (Expand)

CVS history: (Expand)

   2023-02-21 10:01:28 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
librsync: updated to 2.3.4

librsync 2.3.4

This is a patch release that includes an important fix for a bug introduced in \ 
v2.3.3 that broke librsync on some platforms. Upgrading from v2.3.3 is strongly \ 
recommended for most people, particularly on platforms where the unit tests \ 
   2022-06-28 13:38:00 by Thomas Klausner | Files touched by this commit (3952)
Log message:
*: recursive bump for perl 5.36
   2021-10-26 13:07:15 by Nia Alarie | Files touched by this commit (958)
Log message:
net: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

Not committed (merge conflicts...):


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
   2021-10-07 16:43:07 by Nia Alarie | Files touched by this commit (962)
Log message:
net: Remove SHA1 hashes for distfiles
   2021-05-24 21:56:06 by Thomas Klausner | Files touched by this commit (3575)
Log message:
*: recursive bump for perl 5.34
   2021-04-10 11:15:18 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
librsync: updated to 2.3.2

librsync 2.3.2


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.
   2021-01-19 22:01:37 by Adam Ciarcinski | Files touched by this commit (4) | Package updated
Log message:
librsync: updated to 2.3.1

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.
   2020-08-31 20:13:29 by Thomas Klausner | Files touched by this commit (3631)
Log message:
*: bump PKGREVISION for perl-5.32.