./configure (optional if already run)
make
-based-on: a1cc50ba96d212c0647a91bf56e3de25eb35bd56
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/acls.c b/acls.c
--- a/acls.c
+++ b/acls.c
Fix a bug that could lose some bits when stripping some (supposedly)
superfluous ACL info.
-based-on: a1cc50ba96d212c0647a91bf56e3de25eb35bd56
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/lib/sysacls.c b/lib/sysacls.c
--- a/lib/sysacls.c
+++ b/lib/sysacls.c
./configure (optional if already run)
make
-based-on: a1cc50ba96d212c0647a91bf56e3de25eb35bd56
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/generator.c b/generator.c
--- a/generator.c
+++ b/generator.c
./configure (optional if already run)
make
-based-on: a1cc50ba96d212c0647a91bf56e3de25eb35bd56
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/errcode.h b/errcode.h
--- a/errcode.h
+++ b/errcode.h
./configure (optional if already run)
make
-based-on: a1cc50ba96d212c0647a91bf56e3de25eb35bd56
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/clientserver.c b/clientserver.c
--- a/clientserver.c
+++ b/clientserver.c
-@@ -43,6 +43,8 @@ extern int numeric_ids;
+@@ -44,6 +44,8 @@ extern int numeric_ids;
extern int filesfrom_fd;
extern int remote_protocol;
extern int protocol_version;
extern int io_timeout;
extern int no_detach;
extern int write_batch;
-@@ -1015,6 +1017,9 @@ static int rsync_module(int f_in, int f_out, int i, const char *addr, const char
+@@ -1021,6 +1023,9 @@ static int rsync_module(int f_in, int f_out, int i, const char *addr, const char
} else if (am_root < 0) /* Treat --fake-super from client as --super. */
am_root = 2;
diff --git a/loadparm.c b/loadparm.c
--- a/loadparm.c
+++ b/loadparm.c
-@@ -163,6 +163,13 @@ static struct enum_list enum_syslog_facility[] = {
+@@ -162,6 +162,13 @@ static struct enum_list enum_syslog_facility[] = {
{ -1, NULL }
};
reconstructed on the receiving side by checking a whole-file checksum that
is generated as the file is transferred, but that automatic
@@ -691,6 +694,38 @@ your home directory (remove the '=' for that).
- can be overridden using either the `--checksum-choice` option or an
+ can be overridden using either the `--checksum-choice` (`--cc`) option or an
environment variable that is discussed in that option's section.
+0. `--sumfiles=MODE`
diff --git a/rsync.h b/rsync.h
--- a/rsync.h
+++ b/rsync.h
-@@ -835,6 +835,10 @@ extern int xattrs_ndx;
+@@ -836,6 +836,10 @@ extern int xattrs_ndx;
#define F_SUM(f) ((char*)OPT_EXTRA(f, START_BUMP(f) + HLINK_BUMP(f) \
+ SUM_EXTRA_CNT - 1))
/* Some utility defines: */
#define F_IS_ACTIVE(f) (f)->basename[0]
#define F_IS_HLINKED(f) ((f)->flags & FLAG_HLINKED)
-@@ -1037,6 +1041,13 @@ typedef struct {
+@@ -1038,6 +1042,13 @@ typedef struct {
char fname[1]; /* has variable size */
} relnamecache;
diff --git a/loadparm.c b/loadparm.c
--- a/loadparm.c
+++ b/loadparm.c
-@@ -167,6 +167,10 @@ static struct enum_list enum_checksum_files[] = {
+@@ -166,6 +166,10 @@ static struct enum_list enum_checksum_files[] = {
{ CSF_IGNORE_FILES, "none" },
{ CSF_LAX_MODE, "lax" },
{ CSF_STRICT_MODE, "strict" },
diff --git a/rsync.h b/rsync.h
--- a/rsync.h
+++ b/rsync.h
-@@ -1043,6 +1043,8 @@ typedef struct {
+@@ -1044,6 +1044,8 @@ typedef struct {
#define CSF_ENABLE (1<<1)
#define CSF_LAX (1<<2)
./configure (optional if already run)
make
-based-on: a1cc50ba96d212c0647a91bf56e3de25eb35bd56
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/flist.c b/flist.c
--- a/flist.c
+++ b/flist.c
./configure (optional if already run)
make
-based-on: a1cc50ba96d212c0647a91bf56e3de25eb35bd56
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/Makefile.in b/Makefile.in
--- a/Makefile.in
+++ b/Makefile.in
--compress, -z compress file data during the transfer
--compress-choice=STR choose the compression algorithm (aka --zc)
--compress-level=NUM explicitly set compression level (aka --zl)
-@@ -2281,6 +2282,17 @@ your home directory (remove the '=' for that).
+@@ -2282,6 +2283,17 @@ your home directory (remove the '=' for that).
specified (or implied by `-a`). You can work-around this bug by avoiding
the `-o` option when sending to an old rsync.
diff --git a/rsync.h b/rsync.h
--- a/rsync.h
+++ b/rsync.h
-@@ -164,6 +164,11 @@
+@@ -165,6 +165,11 @@
#define COMPARE_DEST 1
#define COPY_DEST 2
#define LINK_DEST 3
./configure (optional if already run)
make
-based-on: a1cc50ba96d212c0647a91bf56e3de25eb35bd56
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/daemon-parm.txt b/daemon-parm.txt
--- a/daemon-parm.txt
+++ b/daemon-parm.txt
./configure (optional if already run)
make
-based-on: a1cc50ba96d212c0647a91bf56e3de25eb35bd56
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/generator.c b/generator.c
--- a/generator.c
+++ b/generator.c
diff --git a/rsyncd.conf.5.md b/rsyncd.conf.5.md
--- a/rsyncd.conf.5.md
+++ b/rsyncd.conf.5.md
-@@ -897,9 +897,10 @@ the values of parameters. See the GLOBAL PARAMETERS section for more details.
+@@ -913,9 +913,10 @@ the values of parameters. See the GLOBAL PARAMETERS section for more details.
If you are un-refusing the compress option, you probably want to match
"`!compress*`" so that you also accept the `--compress-level` option.
0. `--omit-dir-times`, `-O`
This tells rsync to omit directories when it is preserving modification
-@@ -2638,7 +2644,7 @@ your home directory (remove the '=' for that).
+@@ -2642,7 +2648,7 @@ your home directory (remove the '=' for that).
output of other verbose messages).
The "%i" escape has a cryptic output that is 11 letters long. The general
of update being done, **X** is replaced by the file-type, and the other
letters represent attributes that may be output if they are being modified.
-@@ -2695,6 +2701,8 @@ your home directory (remove the '=' for that).
+@@ -2699,6 +2705,8 @@ your home directory (remove the '=' for that).
happens when a symlink or directory is updated.
- The `a` means that the ACL information changed.
- The `x` means that the extended attribute information changed.
diff --git a/rsync.h b/rsync.h
--- a/rsync.h
+++ b/rsync.h
-@@ -69,7 +69,7 @@
+@@ -70,7 +70,7 @@
/* The following XMIT flags require an rsync that uses a varint for the flag values */
#define XMIT_SAME_FLAGS (1<<16) /* any protocol - restricted by command-line option */
/* These flags are used in the live flist data. */
-@@ -182,6 +182,7 @@
+@@ -183,6 +183,7 @@
#define ATTRS_ACCURATE_TIME (1<<2)
#define ATTRS_SKIP_ATIME (1<<3)
#define ATTRS_DELAY_IMMUTABLE (1<<4)
#define MSG_FLUSH 2
#define FULL_FLUSH 1
-@@ -210,6 +211,7 @@
+@@ -211,6 +212,7 @@
#define ITEM_REPORT_ACL (1<<7)
#define ITEM_REPORT_XATTR (1<<8)
#define ITEM_REPORT_FFLAGS (1<<9)
#define ITEM_BASIS_TYPE_FOLLOWS (1<<11)
#define ITEM_XNAME_FOLLOWS (1<<12)
#define ITEM_IS_NEW (1<<13)
-@@ -576,6 +578,10 @@ typedef unsigned int size_t;
+@@ -577,6 +579,10 @@ typedef unsigned int size_t;
#define ST_FLAGS(st) NO_FFLAGS
#endif
/* Find a variable that is either exactly 32-bits or longer.
* If some code depends on 32-bit truncation, it will need to
* take special action in a "#if SIZEOF_INT32 > 4" section. */
-@@ -785,6 +791,7 @@ struct file_struct {
+@@ -786,6 +792,7 @@ struct file_struct {
extern int file_extra_cnt;
extern int inc_recurse;
extern int atimes_ndx;
extern int pathname_ndx;
extern int depth_ndx;
extern int uid_ndx;
-@@ -849,6 +856,7 @@ extern int xattrs_ndx;
+@@ -850,6 +857,7 @@ extern int xattrs_ndx;
#define F_XATTR(f) REQ_EXTRA(f, xattrs_ndx)->num
#define F_NDX(f) REQ_EXTRA(f, unsort_ndx)->num
#define F_ATIME(f) REQ_EXTRA64(f, atimes_ndx)->num
/* These items are per-entry optional: */
#define F_HL_GNUM(f) OPT_EXTRA(f, START_BUMP(f))->num /* non-dirs */
-@@ -1091,6 +1099,7 @@ typedef struct {
+@@ -1092,6 +1100,7 @@ typedef struct {
typedef struct {
STRUCT_STAT st;
./configure (optional if already run)
make
-based-on: a1cc50ba96d212c0647a91bf56e3de25eb35bd56
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/exclude.c b/exclude.c
--- a/exclude.c
+++ b/exclude.c
diff --git a/rsync.h b/rsync.h
--- a/rsync.h
+++ b/rsync.h
-@@ -176,6 +176,7 @@
+@@ -177,6 +177,7 @@
#define XFLG_ANCHORED2ABS (1<<2) /* leading slash indicates absolute */
#define XFLG_ABS_IF_SLASH (1<<3) /* leading or interior slash is absolute */
#define XFLG_DIR2WILD3 (1<<4) /* dir/ match gets trailing *** added */
./configure (optional if already run)
make
-based-on: a1cc50ba96d212c0647a91bf56e3de25eb35bd56
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/generator.c b/generator.c
--- a/generator.c
+++ b/generator.c
./configure
make
-based-on: a1cc50ba96d212c0647a91bf56e3de25eb35bd56
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/.gitignore b/.gitignore
--- a/.gitignore
+++ b/.gitignore
diff --git a/clientserver.c b/clientserver.c
--- a/clientserver.c
+++ b/clientserver.c
-@@ -43,12 +43,15 @@ extern int numeric_ids;
+@@ -44,12 +44,15 @@ extern int numeric_ids;
extern int filesfrom_fd;
extern int remote_protocol;
extern int protocol_version;
extern char *bind_address;
extern char *config_file;
extern char *logfile_format;
-@@ -809,6 +812,11 @@ static int rsync_module(int f_in, int f_out, int i, const char *addr, const char
+@@ -810,6 +813,11 @@ static int rsync_module(int f_in, int f_out, int i, const char *addr, const char
log_init(1);
+ }
+
#ifdef HAVE_PUTENV
- if ((*lp_early_exec(i) || *lp_prexfer_exec(i) || *lp_postxfer_exec(i))
+ if ((*lp_early_exec(module_id) || *lp_prexfer_exec(module_id) || *lp_postxfer_exec(module_id))
&& !getenv("RSYNC_NO_XFER_EXEC")) {
-@@ -1003,6 +1011,8 @@ static int rsync_module(int f_in, int f_out, int i, const char *addr, const char
+@@ -1009,6 +1017,8 @@ static int rsync_module(int f_in, int f_out, int i, const char *addr, const char
am_server = 1; /* Don't let someone try to be tricky. */
quiet = 0;
diff --git a/rsync.h b/rsync.h
--- a/rsync.h
+++ b/rsync.h
-@@ -258,12 +258,16 @@ enum msgcode {
+@@ -259,12 +259,16 @@ enum msgcode {
MSG_IO_ERROR=22,/* the sending side had an I/O error */
MSG_IO_TIMEOUT=33,/* tell client about a daemon's timeout value */
MSG_NOOP=42, /* a do-nothing message (legacy protocol-30 only) */
#define NDX_DONE -1
#define NDX_FLIST_EOF -2
#define NDX_DEL_STATS -3
-@@ -1358,7 +1362,8 @@ extern short info_levels[], debug_levels[];
+@@ -1359,7 +1363,8 @@ extern short info_levels[], debug_levels[];
#define DEBUG_CHDIR (DEBUG_BIND+1)
#define DEBUG_CONNECT (DEBUG_CHDIR+1)
#define DEBUG_CMD (DEBUG_CONNECT+1)
--compare-dest=DIR also compare destination files relative to DIR
--copy-dest=DIR ... and include copies of unchanged files
--link-dest=DIR hardlink to files in DIR when unchanged
-@@ -2214,6 +2216,17 @@ your home directory (remove the '=' for that).
+@@ -2215,6 +2217,17 @@ your home directory (remove the '=' for that).
otential alternate-basis files will be removed as the transfer progresses.
This option conflicts with `--inplace` and `--append`.
a file that can't use it, while missing out on giving it to a file
that could use it.
-based-on: a1cc50ba96d212c0647a91bf56e3de25eb35bd56
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/backup.c b/backup.c
--- a/backup.c
+++ b/backup.c
--compare-dest=DIR also compare destination files relative to DIR
--copy-dest=DIR ... and include copies of unchanged files
--link-dest=DIR hardlink to files in DIR when unchanged
-@@ -2197,6 +2198,22 @@ your home directory (remove the '=' for that).
+@@ -2198,6 +2199,22 @@ your home directory (remove the '=' for that).
fuzzy-match files, so either use `--delete-after` or specify some filename
exclusions if you need to prevent this.
diff --git a/rsync.h b/rsync.h
--- a/rsync.h
+++ b/rsync.h
-@@ -269,7 +269,7 @@ enum msgcode {
+@@ -270,7 +270,7 @@ enum msgcode {
#define NDX_DEL_STATS -3
#define NDX_FLIST_OFFSET -101
#define DEL_NO_UID_WRITE (1<<0) /* file/dir has our uid w/o write perm */
#define DEL_RECURSE (1<<1) /* if dir, delete all contents */
#define DEL_DIR_IS_EMPTY (1<<2) /* internal delete_FUNCTIONS use only */
-@@ -279,6 +279,7 @@ enum msgcode {
+@@ -280,6 +280,7 @@ enum msgcode {
#define DEL_FOR_DEVICE (1<<6) /* making room for a replacement device */
#define DEL_FOR_SPECIAL (1<<7) /* making room for a replacement special */
#define DEL_FOR_BACKUP (1<<8) /* the delete is for a backup operation */
./configure (optional if already run)
make
-based-on: a1cc50ba96d212c0647a91bf56e3de25eb35bd56
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/options.c b/options.c
--- a/options.c
+++ b/options.c
--prune-empty-dirs, -m prune empty directory chains from file-list
--numeric-ids don't map uid/gid values by user/group name
--usermap=STRING custom username mapping
-@@ -2914,6 +2915,16 @@ your home directory (remove the '=' for that).
+@@ -2918,6 +2919,16 @@ your home directory (remove the '=' for that).
update algorithm that is even more atomic (it uses `--link-dest` and a
parallel hierarchy of files).
./configure (optional if already run)
make
-based-on: a1cc50ba96d212c0647a91bf56e3de25eb35bd56
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/generator.c b/generator.c
--- a/generator.c
+++ b/generator.c
./configure (optional if already run)
make
-based-on: a1cc50ba96d212c0647a91bf56e3de25eb35bd56
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/compat.c b/compat.c
--- a/compat.c
+++ b/compat.c
0. `--max-delete=NUM`
-@@ -2608,7 +2638,7 @@ your home directory (remove the '=' for that).
+@@ -2612,7 +2642,7 @@ your home directory (remove the '=' for that).
output of other verbose messages).
The "%i" escape has a cryptic output that is 11 letters long. The general
diff --git a/rsync.h b/rsync.h
--- a/rsync.h
+++ b/rsync.h
-@@ -68,7 +68,7 @@
+@@ -69,7 +69,7 @@
/* The following XMIT flags require an rsync that uses a varint for the flag values */
#define XMIT_RESERVED_17 (1<<17) /* reserved for future crtimes use */
/* These flags are used in the live flist data. */
-@@ -181,6 +181,7 @@
+@@ -182,6 +182,7 @@
#define ATTRS_SKIP_MTIME (1<<1)
#define ATTRS_ACCURATE_TIME (1<<2)
#define ATTRS_SKIP_ATIME (1<<3)
#define MSG_FLUSH 2
#define FULL_FLUSH 1
-@@ -208,6 +209,7 @@
+@@ -209,6 +210,7 @@
#define ITEM_REPORT_GROUP (1<<6)
#define ITEM_REPORT_ACL (1<<7)
#define ITEM_REPORT_XATTR (1<<8)
#define ITEM_BASIS_TYPE_FOLLOWS (1<<11)
#define ITEM_XNAME_FOLLOWS (1<<12)
#define ITEM_IS_NEW (1<<13)
-@@ -549,6 +551,31 @@ typedef unsigned int size_t;
+@@ -550,6 +552,31 @@ typedef unsigned int size_t;
#endif
#endif
/* Find a variable that is either exactly 32-bits or longer.
* If some code depends on 32-bit truncation, it will need to
* take special action in a "#if SIZEOF_INT32 > 4" section. */
-@@ -762,6 +789,7 @@ extern int pathname_ndx;
+@@ -763,6 +790,7 @@ extern int pathname_ndx;
extern int depth_ndx;
extern int uid_ndx;
extern int gid_ndx;
extern int acls_ndx;
extern int xattrs_ndx;
-@@ -812,6 +840,11 @@ extern int xattrs_ndx;
+@@ -813,6 +841,11 @@ extern int xattrs_ndx;
/* When the associated option is on, all entries will have these present: */
#define F_OWNER(f) REQ_EXTRA(f, uid_ndx)->unum
#define F_GROUP(f) REQ_EXTRA(f, gid_ndx)->unum
./configure (optional if already run)
make
-based-on: a1cc50ba96d212c0647a91bf56e3de25eb35bd56
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/exclude.c b/exclude.c
--- a/exclude.c
+++ b/exclude.c
See the `--perms` and `--executability` options for how the resulting
permission value can be applied to the files in the transfer.
-@@ -2544,6 +2546,10 @@ your home directory (remove the '=' for that).
+@@ -2548,6 +2550,10 @@ your home directory (remove the '=' for that).
If you specify "`--chown=foo:bar`", this is exactly the same as specifying
"`--usermap=*:foo --groupmap=*:bar`", only easier.
0. `--timeout=SECONDS`
This option allows you to set a maximum I/O timeout in seconds. If no data
-@@ -3495,6 +3501,15 @@ The following modifiers are accepted after a "`+`" or "`-`":
+@@ -3499,6 +3505,15 @@ The following modifiers are accepted after a "`+`" or "`-`":
rules that exclude things like "CVS" and "`*.o`" are marked as perishable,
and will not prevent a directory that was removed on the source from being
deleted on the destination.
- An `x` indicates that a rule affects xattr names in xattr copy/delete
operations (and is thus ignored when matching file/dir names). If no
xattr-matching rules are specified, a default xattr filtering rule is used
-@@ -3552,6 +3567,12 @@ The following modifiers are accepted after a merge or dir-merge rule:
+@@ -3556,6 +3571,12 @@ The following modifiers are accepted after a merge or dir-merge rule:
rules in the file must not specify sides (via a modifier or a rule prefix
such as `hide`).
diff --git a/rsync.h b/rsync.h
--- a/rsync.h
+++ b/rsync.h
-@@ -170,6 +170,9 @@
+@@ -171,6 +171,9 @@
#define NO_FILTERS 0
#define SERVER_FILTERS 1
#define ALL_FILTERS 2
#define XFLG_FATAL_ERRORS (1<<0)
#define XFLG_OLD_PREFIXES (1<<1)
-@@ -919,6 +922,8 @@ struct map_struct {
+@@ -920,6 +923,8 @@ struct map_struct {
int status; /* first errno from read errors */
};
#define NAME_IS_FILE (0) /* filter name as a file */
#define NAME_IS_DIR (1<<0) /* filter name as a dir */
#define NAME_IS_XATTR (1<<2) /* filter name as an xattr */
-@@ -944,8 +949,18 @@ struct map_struct {
+@@ -945,8 +950,18 @@ struct map_struct {
#define FILTRULE_CLEAR_LIST (1<<18)/* this item is the "!" token */
#define FILTRULE_PERISHABLE (1<<19)/* perishable if parent dir goes away */
#define FILTRULE_XATTR (1<<20)/* rule only applies to xattr names */
typedef struct filter_struct {
struct filter_struct *next;
-@@ -955,6 +970,11 @@ typedef struct filter_struct {
+@@ -956,6 +971,11 @@ typedef struct filter_struct {
int slash_cnt;
struct filter_list_struct *mergelist;
} u;
./configure (optional if already run)
make
-based-on: a1cc50ba96d212c0647a91bf56e3de25eb35bd56
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/options.c b/options.c
--- a/options.c
+++ b/options.c
diff --git a/rsync.h b/rsync.h
--- a/rsync.h
+++ b/rsync.h
-@@ -578,6 +578,17 @@ typedef unsigned int size_t;
+@@ -579,6 +579,17 @@ typedef unsigned int size_t;
#define ST_FLAGS(st) NO_FFLAGS
#endif
- Make this code handle multibyte character encodings, and honor the
--iconv setting when converting case.
-based-on: a1cc50ba96d212c0647a91bf56e3de25eb35bd56
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/exclude.c b/exclude.c
--- a/exclude.c
+++ b/exclude.c
--address=ADDRESS bind address for outgoing socket to daemon
--port=PORT specify double-colon alternate port number
--sockopts=OPTIONS specify custom TCP options
-@@ -2145,6 +2146,12 @@ your home directory (remove the '=' for that).
+@@ -2146,6 +2147,12 @@ your home directory (remove the '=' for that).
> sudo rsync -aive lsh -M--copy-as=joe src/ lh:dest/
./configure
make
-based-on: a1cc50ba96d212c0647a91bf56e3de25eb35bd56
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/Makefile.in b/Makefile.in
--- a/Makefile.in
+++ b/Makefile.in
diff --git a/clientserver.c b/clientserver.c
--- a/clientserver.c
+++ b/clientserver.c
-@@ -137,7 +137,7 @@ int start_socket_client(char *host, int remote_argc, char *remote_argv[],
+@@ -138,7 +138,7 @@ int start_socket_client(char *host, int remote_argc, char *remote_argv[],
setup_iconv();
#endif
return ret ? ret : client_run(fd, fd, -1, argc, argv);
}
-@@ -214,7 +214,7 @@ static int exchange_protocols(int f_in, int f_out, char *buf, size_t bufsiz, int
+@@ -215,7 +215,7 @@ static int exchange_protocols(int f_in, int f_out, char *buf, size_t bufsiz, int
return 0;
}
{
int i, modlen;
char line[BIGPATHBUFLEN];
-@@ -329,6 +329,17 @@ int start_inband_exchange(int f_in, int f_out, const char *user, int argc, char
+@@ -330,6 +330,17 @@ int start_inband_exchange(int f_in, int f_out, const char *user, int argc, char
continue;
}
if (strcmp(line,"@RSYNCD: OK") == 0)
break;
-@@ -685,7 +696,12 @@ static int rsync_module(int f_in, int f_out, int i, const char *addr, const char
+@@ -686,7 +697,12 @@ static int rsync_module(int f_in, int f_out, int i, const char *addr, const char
}
read_only = lp_read_only(i); /* may also be overridden by auth_server() */
diff --git a/daemon-parm.txt b/daemon-parm.txt
--- a/daemon-parm.txt
+++ b/daemon-parm.txt
-@@ -62,4 +62,5 @@ BOOL reverse_lookup True
+@@ -60,6 +60,7 @@ BOOL reverse_lookup True
BOOL strict_modes True
BOOL transfer_logging False
BOOL use_chroot True
+BOOL use_gssapi False
BOOL write_only False
+
+ BOOL3 munge_symlinks Unset
diff --git a/gss-auth.c b/gss-auth.c
new file mode 100644
--- /dev/null
diff --git a/rsync.h b/rsync.h
--- a/rsync.h
+++ b/rsync.h
-@@ -499,6 +499,15 @@ enum delret {
+@@ -500,6 +500,15 @@ enum delret {
#define iconv_t int
#endif
./configure
make
-based-on: a1cc50ba96d212c0647a91bf56e3de25eb35bd56
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/Makefile.in b/Makefile.in
--- a/Makefile.in
+++ b/Makefile.in
diff --git a/clientserver.c b/clientserver.c
--- a/clientserver.c
+++ b/clientserver.c
-@@ -51,6 +51,7 @@ extern int logfile_format_has_i;
+@@ -52,6 +52,7 @@ extern int logfile_format_has_i;
extern int logfile_format_has_o_or_i;
extern char *bind_address;
extern char *config_file;
extern char *logfile_format;
extern char *files_from;
extern char *tmpdir;
-@@ -665,6 +666,9 @@ static int rsync_module(int f_in, int f_out, int i, const char *addr, const char
+@@ -666,6 +667,9 @@ static int rsync_module(int f_in, int f_out, int i, const char *addr, const char
return -1;
}
--compress, -z compress file data during the transfer
--compress-choice=STR choose the compression algorithm (aka --zc)
--compress-level=NUM explicitly set compression level (aka --zl)
-@@ -2281,6 +2282,50 @@ your home directory (remove the '=' for that).
+@@ -2282,6 +2283,50 @@ your home directory (remove the '=' for that).
specified (or implied by `-a`). You can work-around this bug by avoiding
the `-o` option when sending to an old rsync.
diff --git a/rsync.h b/rsync.h
--- a/rsync.h
+++ b/rsync.h
-@@ -1367,7 +1367,8 @@ extern short info_levels[], debug_levels[];
+@@ -1368,7 +1368,8 @@ extern short info_levels[], debug_levels[];
#define DEBUG_FUZZY (DEBUG_FLIST+1)
#define DEBUG_GENR (DEBUG_FUZZY+1)
#define DEBUG_HASH (DEBUG_GENR+1)
fast fallback for the case where xxHash libraries are not available at
build time.
-based-on: a1cc50ba96d212c0647a91bf56e3de25eb35bd56
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/Makefile.in b/Makefile.in
--- a/Makefile.in
+++ b/Makefile.in
./configure (optional if already run)
make
-based-on: f4184849c44cfb30cb9f77161dd5ff2656877691
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/authenticate.c b/authenticate.c
--- a/authenticate.c
+++ b/authenticate.c
./configure (optional if already run)
make
-based-on: a1cc50ba96d212c0647a91bf56e3de25eb35bd56
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/access.c b/access.c
--- a/access.c
+++ b/access.c
./configure (optional if already run)
make
-based-on: a1cc50ba96d212c0647a91bf56e3de25eb35bd56
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/generator.c b/generator.c
--- a/generator.c
+++ b/generator.c
./configure (optional if already run)
make
-based-on: a1cc50ba96d212c0647a91bf56e3de25eb35bd56
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/flist.c b/flist.c
--- a/flist.c
+++ b/flist.c
TODO: the configure changes should abort if the user requests --enable-slp
and we can't honor that request.
-based-on: a1cc50ba96d212c0647a91bf56e3de25eb35bd56
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/Makefile.in b/Makefile.in
--- a/Makefile.in
+++ b/Makefile.in
diff --git a/clientserver.c b/clientserver.c
--- a/clientserver.c
+++ b/clientserver.c
-@@ -1405,6 +1405,13 @@ int daemon_main(void)
+@@ -1411,6 +1411,13 @@ int daemon_main(void)
* address too. In fact, why not just do getnameinfo on the
* local address??? */
@@ -10,6 +10,7 @@ STRING socket_options NULL
INTEGER listen_backlog 5
- INTEGER rsync_port 0
+ INTEGER rsync_port|port 0
+INTEGER slp_refresh 0
BOOL proxy_protocol False
diff --git a/rsync.h b/rsync.h
--- a/rsync.h
+++ b/rsync.h
-@@ -221,6 +221,10 @@
+@@ -222,6 +222,10 @@
#define SIGNIFICANT_ITEM_FLAGS (~(\
ITEM_BASIS_TYPE_FOLLOWS | ITEM_XNAME_FOLLOWS | ITEM_LOCAL_CHANGE))
./configure (optional if already run)
make
-based-on: a1cc50ba96d212c0647a91bf56e3de25eb35bd56
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/syscall.c b/syscall.c
--- a/syscall.c
+++ b/syscall.c
-- Matt McCutchen <hashproduct@gmail.com>
-based-on: a1cc50ba96d212c0647a91bf56e3de25eb35bd56
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/options.c b/options.c
--- a/options.c
+++ b/options.c
./configure (optional if already run)
make
-based-on: a1cc50ba96d212c0647a91bf56e3de25eb35bd56
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/generator.c b/generator.c
--- a/generator.c
+++ b/generator.c
--protocol=NUM force an older protocol version to be used
--iconv=CONVERT_SPEC request charset conversion of filenames
--checksum-seed=NUM set block/file checksum seed (advanced)
-@@ -3139,6 +3142,36 @@ your home directory (remove the '=' for that).
+@@ -3143,6 +3146,36 @@ your home directory (remove the '=' for that).
`--write-batch`. If _FILE_ is `-`, the batch data will be read from
standard input. See the "BATCH MODE" section for details.
diff --git a/rsync.h b/rsync.h
--- a/rsync.h
+++ b/rsync.h
-@@ -158,6 +158,7 @@
+@@ -159,6 +159,7 @@
#define IOERR_DEL_LIMIT (1<<2)
#define MAX_ARGS 1000
./configure (optional if already run)
make
-based-on: a1cc50ba96d212c0647a91bf56e3de25eb35bd56
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/fileio.c b/fileio.c
--- a/fileio.c
+++ b/fileio.c
./configure (optional if already run)
make
-based-on: a1cc50ba96d212c0647a91bf56e3de25eb35bd56
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/io.c b/io.c
--- a/io.c
+++ b/io.c
--write-batch=FILE write a batched update to FILE
--only-write-batch=FILE like --write-batch but w/o updating dest
--read-batch=FILE read a batched update from FILE
-@@ -3103,6 +3105,22 @@ your home directory (remove the '=' for that).
+@@ -3107,6 +3109,22 @@ your home directory (remove the '=' for that).
buffered, while other can show up as very slow when the flushing of the
output buffer occurs. This may be fixed in a future version.
./configure (optional if already run)
make
-based-on: a1cc50ba96d212c0647a91bf56e3de25eb35bd56
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/flist.c b/flist.c
--- a/flist.c
+++ b/flist.c
--checksum-seed=NUM set block/file checksum seed (advanced)
--ipv4, -4 prefer IPv4
--ipv6, -6 prefer IPv6
-@@ -3181,6 +3182,25 @@ your home directory (remove the '=' for that).
+@@ -3185,6 +3186,25 @@ your home directory (remove the '=' for that).
free to specify just the local charset for a daemon transfer (e.g.
`--iconv=utf8`).
./configure (optional if already run)
make
-based-on: a1cc50ba96d212c0647a91bf56e3de25eb35bd56
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/syscall.c b/syscall.c
--- a/syscall.c
+++ b/syscall.c
./configure (optional if already run)
make
-based-on: a1cc50ba96d212c0647a91bf56e3de25eb35bd56
+based-on: 194cee671d5e178f20c4494f41911fa8db942935
diff --git a/checksum.c b/checksum.c
--- a/checksum.c
+++ b/checksum.c