--- 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()
 
