--- options.c 6 May 2004 21:08:01 -0000 1.148 +++ options.c 8 May 2004 18:32:36 -0000 @@ -290,6 +290,7 @@ void usage(enum logcode F) rprintf(F," --bwlimit=KBPS limit I/O bandwidth, KBytes per second\n"); rprintf(F," --write-batch=PREFIX write batch fileset starting with PREFIX\n"); rprintf(F," --read-batch=PREFIX read batch fileset starting with PREFIX\n"); + rprintf(F," --checksum-seed=NUM set block/file checksum seed\n"); #ifdef INET6 rprintf(F," -4 --ipv4 prefer IPv4\n"); rprintf(F," -6 --ipv6 prefer IPv6\n"); @@ -386,6 +387,7 @@ static struct poptOption long_options[] {"from0", '0', POPT_ARG_NONE, &eol_nulls, 0, 0, 0}, {"no-implied-dirs", 0, POPT_ARG_VAL, &implied_dirs, 0, 0, 0 }, {"protocol", 0, POPT_ARG_INT, &protocol_version, 0, 0, 0 }, + {"checksum-seed", 0, POPT_ARG_INT, &checksum_seed, 0, 0, 0 }, #ifdef INET6 {"ipv4", '4', POPT_ARG_VAL, &default_af_hint, AF_INET, 0, 0 }, {"ipv6", '6', POPT_ARG_VAL, &default_af_hint, AF_INET6, 0, 0 }, @@ -908,6 +910,12 @@ void server_options(char **args,int *arg if (modify_window_set) { if (asprintf(&arg, "--modify-window=%d", modify_window) < 0) + goto oom; + args[ac++] = arg; + } + + if (checksum_seed) { + if (asprintf(&arg, "--checksum_seed=%d", checksum_seed) < 0) goto oom; args[ac++] = arg; } --- rsync.yo 7 May 2004 00:18:37 -0000 1.169 +++ rsync.yo 8 May 2004 18:32:36 -0000 @@ -348,6 +348,7 @@ verb( --bwlimit=KBPS limit I/O bandwidth, KBytes per second --write-batch=PREFIX write batch fileset starting with PREFIX --read-batch=PREFIX read batch fileset starting with PREFIX + --checksum-seed=NUM set block/file checksum seed -4 --ipv4 prefer IPv4 -6 --ipv6 prefer IPv6 -h, --help show this help screen @@ -907,6 +908,20 @@ listen for connections. One of these op versions of Linux to work around an IPv6 bug in the kernel (if you see an "address already in use" error when nothing else is using the port, try specifying --ipv6 or --ipv4 when starting the daemon). + +dit(bf(--checksum-seed=NUM)) Set the MD4 checksum seed to the integer +NUM. This 4 byte checksum seed is included in each block and file +MD4 checksum calculation. By default the checksum seed is generated +by the server and defaults to the current time(), or 32761 if +bf(--write-batch) or bf(--read-batch) are specified. This option +is used to set a specific checksum seed, which is useful for +applications that want repeatable block and file checksums, or +in the case where the user wants a more random checksum seed. +Note that setting NUM to 0 causes rsync to use the default of time() +for checksum seed. Note also that --write-batch and --read-batch +set the checksum seed to 32761, so --checksum-seed=NUM needs to +follow these options if you want to specify a different checksum +seed in batch mode. enddit()