+dit(bf(refuse options)) The "refuse options" option allows you to
+specify a space-separated list of rsync command line options that will
+be refused by your rsync daemon.
+You may specify the full option name, its one-letter abbreviation, or a
+wild-card string that matches multiple options.
+For example, this would refuse bf(--checksum) (bf(-c)) and all the various
+delete options:
+
+quote(tt( refuse options = c delete))
+
+The reason the above refuses all delete options is that the options imply
+bf(--delete), and implied options are refused just like explicit options.
+As an additional safety feature, the refusal of "delete" also refuses
+bf(remove-sent-files) when the daemon is the sender; if you want the latter
+without the former, instead refuse "delete-*" -- that refuses all the
+delete modes without affecting bf(--remove-sent-files).
+
+When an option is refused, the daemon prints an error message and exits.
+To prevent all compression, you can use "dont compress = *" (see below)
+instead of "refuse options = compress" to avoid returning an error to a
+client that requests compression.
+
+dit(bf(dont compress)) The "dont compress" option allows you to select
+filenames based on wildcard patterns that should not be compressed
+during transfer. Compression is expensive in terms of CPU usage so it
+is usually good to not try to compress files that won't compress well,
+such as already compressed files.
+
+The "dont compress" option takes a space-separated list of
+case-insensitive wildcard patterns. Any source filename matching one
+of the patterns will not be compressed during transfer.
+
+The default setting is tt(*.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz)
+
+dit(bf(pre-xfer exec), bf(post-xfer exec)) You may specify a command to be run
+before and/or after the transfer. If the bf(pre-xfer exec) command fails, the
+transfer is aborted before it begins.
+
+The following environment variables will be set, though some are
+specific to the pre-xfer or the post-xfer environment:
+
+quote(itemize(
+ it() bf(RSYNC_MODULE_NAME): The name of the module being accessed.
+ it() bf(RSYNC_MODULE_PATH): The path configured for the module.
+ it() bf(RSYNC_HOST_ADDR): The accessing host's IP address.
+ it() bf(RSYNC_HOST_NAME): The accessing host's name.
+ it() bf(RSYNC_USER_NAME): The accessing user's name (empty if no user).
+ it() bf(RSYNC_REQUEST): (pre-xfer only) The module/path info specified
+ by the user (note that the user can specify multiple source files,
+ so the request can be something like "mod/path1 mod/path2", etc.).
+ it() bf(RSYNC_EXIT_STATUS): (post-xfer only) rsync's exit value. This will be 0 for a
+ successful run, a positive value for an error that rsync returned
+ (e.g. 23=partial xfer), or a -1 if rsync failed to exit properly.
+ it() bf(RSYNC_RAW_STATUS): (post-xfer only) the raw exit value from waitpid().
+))
+
+Even though the commands can be associated with a particular module, they
+are run using the permissions of the user that started the daemon (not the
+module's uid/gid setting) without any chroot restrictions.
+