while ((p = strstr(ref,name))) {
if ((p==ref || p[-1]==' ') &&
(p[len] == ' ' || p[len] == 0)) {
+ if (opt == 'z') {
+ /* don't actually refuse this one, just */
+ /* minimize the compression level for now */
+ extern int default_compression_level;
+ default_compression_level = 0;
+ return 0;
+ }
slprintf(err_buf,sizeof(err_buf),
"The '%s' option is not supported by this server\n", name);
return 1;
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 server. When an option is refused the server
-prints an error message and exits.
+prints an error message and exits, except for the "compress" option
+in which case the server silently sends all files uncompressed.
The full names of the options must be used (ie. you must use
"checksum" not "c" to disable checksumming).
#include "zlib/zlib.h"
extern int do_compression;
+int default_compression_level = Z_DEFAULT_COMPRESSION;
static int compression_level = Z_DEFAULT_COMPRESSION;
/* determine the compression level based on a wildcard filename list */
if (!do_compression) return;
- compression_level = Z_DEFAULT_COMPRESSION;
+ compression_level = default_compression_level;
dont = lp_dont_compress(module_id);
if (!dont || !*dont) return;