./configure
make
-based-on: 72b2a81f90b5f273ffb721077066e5e5258dcb5f
+based-on: dee099328610e22e75967313d878010f4fed6cbb
diff --git a/.gitignore b/.gitignore
--- a/.gitignore
+++ b/.gitignore
OBJS1=flist.o rsync.o generator.o receiver.o cleanup.o sender.o exclude.o \
util.o util2.o main.o checksum.o match.o syscall.o log.o backup.o delete.o
OBJS2=options.o io.o compat.o hlink.o token.o uidlist.o socket.o hashtable.o \
-- fileio.o batch.o clientname.o chmod.o acls.o xattrs.o
-+ fileio.o batch.o clientname.o chmod.o db.o acls.o xattrs.o
+- usage.o fileio.o batch.o clientname.o chmod.o acls.o xattrs.o
++ usage.o fileio.o batch.o clientname.o chmod.o db.o acls.o xattrs.o
OBJS3=progress.o pipe.o @ASM@
DAEMON_OBJ = params.o loadparm.o clientserver.o access.o connection.o authenticate.o
popt_OBJS=popt/findme.o popt/popt.o popt/poptconfig.o \
$(OBJS): $(HEADERS)
$(CHECK_OBJS): $(HEADERS)
tls.o xattrs.o: lib/sysxattrs.h
--options.o: latest-year.h help-rsync.h help-rsyncd.h git-version.h
-+options.o: latest-year.h help-rsync.h help-rsyncd.h help-rsyncdb.h git-version.h
- exclude.o: default-cvsignore.h
+-usage.o: latest-year.h help-rsync.h help-rsyncd.h git-version.h default-cvsignore.h
++usage.o: latest-year.h help-rsync.h help-rsyncd.h help-rsyncdb.h git-version.h default-cvsignore.h
loadparm.o: default-dont-compress.h daemon-parm.h
-@@ -111,6 +117,9 @@ default-cvsignore.h default-dont-compress.h: rsync.1.md define-from-md.awk
+ flist.o: rounding.h
+@@ -110,6 +116,9 @@ default-cvsignore.h default-dont-compress.h: rsync.1.md define-from-md.awk
help-rsync.h help-rsyncd.h: rsync.1.md help-from-md.awk
$(AWK) -f $(srcdir)/help-from-md.awk -v hfile=$@ $(srcdir)/rsync.1.md
daemon-parm.h: daemon-parm.txt daemon-parm.awk
$(AWK) -f $(srcdir)/daemon-parm.awk $(srcdir)/daemon-parm.txt
-@@ -241,7 +250,7 @@ proto.h-tstamp: $(srcdir)/*.c $(srcdir)/lib/compat.c daemon-parm.h
+@@ -240,7 +249,7 @@ proto.h-tstamp: $(srcdir)/*.c $(srcdir)/lib/compat.c daemon-parm.h
$(AWK) -f $(srcdir)/mkproto.awk $(srcdir)/*.c $(srcdir)/lib/compat.c daemon-parm.h
.PHONY: man
rsync.1: rsync.1.md md2man version.h Makefile
@$(srcdir)/maybe-make-man $(srcdir) rsync.1.md
-@@ -252,9 +261,12 @@ rsync-ssl.1: rsync-ssl.1.md md2man version.h Makefile
+@@ -251,9 +260,12 @@ rsync-ssl.1: rsync-ssl.1.md md2man version.h Makefile
rsyncd.conf.5: rsyncd.conf.5.md md2man version.h Makefile
@$(srcdir)/maybe-make-man $(srcdir) rsyncd.conf.5.md
diff --git a/options.c b/options.c
--- a/options.c
+++ b/options.c
-@@ -87,6 +87,7 @@ int am_root = 0; /* 0 = normal, 1 = root, 2 = --super, -1 = --fake-super */
+@@ -83,6 +83,7 @@ int am_root = 0; /* 0 = normal, 1 = root, 2 = --super, -1 = --fake-super */
int am_server = 0;
int am_sender = 0;
int am_starting_up = 1;
int relative_paths = -1;
int implied_dirs = 1;
int missing_args = 0; /* 0 = FERROR_XFER, 1 = ignore, 2 = delete */
-@@ -100,6 +101,7 @@ int use_qsort = 0;
+@@ -96,6 +97,7 @@ int use_qsort = 0;
char *files_from = NULL;
int filesfrom_fd = -1;
char *filesfrom_host = NULL;
int eol_nulls = 0;
int protect_args = -1;
int human_readable = 1;
-@@ -108,6 +110,9 @@ int mkpath_dest_arg = 0;
+@@ -104,6 +106,9 @@ int mkpath_dest_arg = 0;
int allow_inc_recurse = 1;
int xfer_dirs = -1;
int am_daemon = 0;
int connect_timeout = 0;
int keep_partial = 0;
int safe_symlinks = 0;
-@@ -290,6 +295,7 @@ static struct output_struct debug_words[COUNT_DEBUG+1] = {
+@@ -286,6 +291,7 @@ static struct output_struct debug_words[COUNT_DEBUG+1] = {
DEBUG_WORD(CHDIR, W_CLI|W_SRV, "Debug when the current directory changes"),
DEBUG_WORD(CONNECT, W_CLI, "Debug connection events (levels 1-2)"),
DEBUG_WORD(CMD, W_CLI, "Debug commands+options that are issued (levels 1-2)"),
DEBUG_WORD(DEL, W_REC, "Debug delete actions (levels 1-3)"),
DEBUG_WORD(DELTASUM, W_SND|W_REC, "Debug delta-transfer checksumming (levels 1-4)"),
DEBUG_WORD(DUP, W_REC, "Debug weeding of duplicate names"),
-@@ -682,6 +688,16 @@ static void print_info_flags(enum logcode f)
- #endif
- "crtimes",
-
-+#if !defined HAVE_MYSQL_MYSQL_H || !defined HAVE_LIBMYSQLCLIENT
-+ "no "
-+#endif
-+ "MySQL",
-+
-+#if !defined HAVE_SQLITE3_H || !defined HAVE_LIBSQLITE3
-+ "no "
-+#endif
-+ "SQLite",
-+
- "*Optimizations",
-
- #ifndef HAVE_SIMD
-@@ -795,6 +811,7 @@ enum {OPT_SERVER = 1000, OPT_DAEMON, OPT_SENDER, OPT_EXCLUDE, OPT_EXCLUDE_FROM,
+@@ -577,6 +583,7 @@ enum {OPT_SERVER = 1000, OPT_DAEMON, OPT_SENDER, OPT_EXCLUDE, OPT_EXCLUDE_FROM,
OPT_INCLUDE, OPT_INCLUDE_FROM, OPT_MODIFY_WINDOW, OPT_MIN_SIZE, OPT_CHMOD,
OPT_READ_BATCH, OPT_WRITE_BATCH, OPT_ONLY_WRITE_BATCH, OPT_MAX_SIZE,
OPT_NO_D, OPT_APPEND, OPT_NO_ICONV, OPT_INFO, OPT_DEBUG, OPT_BLOCK_SIZE,
OPT_USERMAP, OPT_GROUPMAP, OPT_CHOWN, OPT_BWLIMIT, OPT_STDERR,
OPT_OLD_COMPRESS, OPT_NEW_COMPRESS, OPT_NO_COMPRESS,
OPT_STOP_AFTER, OPT_STOP_AT,
-@@ -951,6 +968,10 @@ static struct poptOption long_options[] = {
+@@ -733,6 +740,10 @@ static struct poptOption long_options[] = {
{"no-c", 0, POPT_ARG_VAL, &always_checksum, 0, 0, 0 },
{"checksum-choice", 0, POPT_ARG_STRING, &checksum_choice, 0, 0, 0 },
{"cc", 0, POPT_ARG_STRING, &checksum_choice, 0, 0, 0 },
{"block-size", 'B', POPT_ARG_STRING, 0, OPT_BLOCK_SIZE, 0, 0 },
{"compare-dest", 0, POPT_ARG_STRING, 0, OPT_COMPARE_DEST, 0, 0 },
{"copy-dest", 0, POPT_ARG_STRING, 0, OPT_COPY_DEST, 0, 0 },
-@@ -1047,6 +1068,9 @@ static struct poptOption long_options[] = {
+@@ -829,6 +840,9 @@ static struct poptOption long_options[] = {
{"dparam", 0, POPT_ARG_STRING, 0, OPT_DAEMON, 0, 0 },
{"detach", 0, POPT_ARG_NONE, 0, OPT_DAEMON, 0, 0 },
{"no-detach", 0, POPT_ARG_NONE, 0, OPT_DAEMON, 0, 0 },
{0,0,0,0, 0, 0, 0}
};
-@@ -1087,6 +1111,39 @@ static struct poptOption long_daemon_options[] = {
+@@ -857,6 +871,31 @@ static struct poptOption long_daemon_options[] = {
{0,0,0,0, 0, 0, 0}
};
-+static void dbonly_usage(enum logcode F)
-+{
-+ rprintf(F,"Usage: rsyncdb --db=CONFIG_FILE [OPTIONS] [DIRS]\n");
-+ rprintf(F,"\n");
-+ rprintf(F,"Options:\n");
-+#include "help-rsyncdb.h"
-+}
-+
+static struct poptOption long_dbonly_options[] = {
+ /* longName, shortName, argInfo, argPtr, value, descrip, argDesc */
+ {"check", 'c', POPT_ARG_NONE, &db_check, 0, 0, 0},
static char err_buf[200];
-@@ -1212,6 +1269,8 @@ static void set_refuse_options(void)
+@@ -982,6 +1021,8 @@ static void set_refuse_options(void)
parse_one_refuse_match(0, "iconv", list_end);
#endif
parse_one_refuse_match(0, "log-file*", list_end);
}
#ifndef SUPPORT_ATIMES
-@@ -1519,6 +1578,102 @@ static void create_refuse_error(int which)
+@@ -1289,6 +1330,102 @@ static void create_refuse_error(int which)
snprintf(err_buf + n, sizeof err_buf - n, " (-%c)\n", op->shortName);
}
/* This is used to make sure that --daemon & --server cannot be aliased to
* something else. These options have always disabled popt aliases for the
* parsing of a daemon or server command-line, but we have to make sure that
-@@ -1575,6 +1730,12 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -1345,6 +1482,12 @@ int parse_arguments(int *argc_p, const char ***argv_p)
return 0;
}
set_refuse_options();
#ifdef ICONV_OPTION
-@@ -1693,6 +1854,12 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -1463,6 +1606,12 @@ int parse_arguments(int *argc_p, const char ***argv_p)
am_daemon = 1;
return 1;
case OPT_MODIFY_WINDOW:
/* The value has already been set by popt, but
* we need to remember that we're using a
-@@ -1765,6 +1932,10 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -1535,6 +1684,10 @@ int parse_arguments(int *argc_p, const char ***argv_p)
preserve_devices = preserve_specials = 0;
break;
+# AUTHOR
+
+Rsyncdb was written by Wayne Davison.
+diff --git a/usage.c b/usage.c
+--- a/usage.c
++++ b/usage.c
+@@ -131,6 +131,16 @@ static void print_info_flags(enum logcode f)
+ #endif
+ "crtimes",
+
++#if !defined HAVE_MYSQL_MYSQL_H || !defined HAVE_LIBMYSQLCLIENT
++ "no "
++#endif
++ "MySQL",
++
++#if !defined HAVE_SQLITE3_H || !defined HAVE_LIBSQLITE3
++ "no "
++#endif
++ "SQLite",
++
+ "*Optimizations",
+
+ #ifndef HAVE_SIMD
+@@ -250,6 +260,14 @@ void daemon_usage(enum logcode F)
+ rprintf(F,"daemon-specific rsync options. See also the rsyncd.conf(5) man page.\n");
+ }
+
++void dbonly_usage(enum logcode F)
++{
++ rprintf(F,"Usage: rsyncdb --db=CONFIG_FILE [OPTIONS] [DIRS]\n");
++ rprintf(F,"\n");
++ rprintf(F,"Options:\n");
++#include "help-rsyncdb.h"
++}
++
+ const char *rsync_version(void)
+ {
+ return RSYNC_GITVER;
./configure (optional if already run)
make
-based-on: 8695bcc2b140b2518254234659a03b96f04055fc
+based-on: dee099328610e22e75967313d878010f4fed6cbb
diff --git a/compat.c b/compat.c
--- a/compat.c
+++ b/compat.c
diff --git a/options.c b/options.c
--- a/options.c
+++ b/options.c
-@@ -56,6 +56,7 @@ int preserve_hard_links = 0;
+@@ -53,6 +53,7 @@ int preserve_hard_links = 0;
int preserve_acls = 0;
int preserve_xattrs = 0;
int preserve_perms = 0;
int preserve_executability = 0;
int preserve_devices = 0;
int preserve_specials = 0;
-@@ -93,6 +94,7 @@ int numeric_ids = 0;
+@@ -90,6 +91,7 @@ int numeric_ids = 0;
int msgs2stderr = 2; /* Default: send errors to stderr for local & remote-shell transfers */
int allow_8bit_chars = 0;
int force_delete = 0;
int io_timeout = 0;
int prune_empty_dirs = 0;
int use_qsort = 0;
-@@ -681,6 +683,11 @@ static void print_info_flags(enum logcode f)
- #endif
- "crtimes",
-
-+#ifndef SUPPORT_FILEFLAGS
-+ "no "
-+#endif
-+ "file-flags",
-+
- "*Optimizations",
-
- #ifndef HAVE_SIMD
-@@ -835,6 +842,8 @@ static struct poptOption long_options[] = {
+@@ -618,6 +620,8 @@ static struct poptOption long_options[] = {
{"perms", 'p', POPT_ARG_VAL, &preserve_perms, 1, 0, 0 },
{"no-perms", 0, POPT_ARG_VAL, &preserve_perms, 0, 0, 0 },
{"no-p", 0, POPT_ARG_VAL, &preserve_perms, 0, 0, 0 },
{"executability", 'E', POPT_ARG_NONE, &preserve_executability, 0, 0, 0 },
{"acls", 'A', POPT_ARG_NONE, 0, 'A', 0, 0 },
{"no-acls", 0, POPT_ARG_VAL, &preserve_acls, 0, 0, 0 },
-@@ -932,6 +941,12 @@ static struct poptOption long_options[] = {
+@@ -715,6 +719,12 @@ static struct poptOption long_options[] = {
{"remove-source-files",0,POPT_ARG_VAL, &remove_source_files, 1, 0, 0 },
{"force", 0, POPT_ARG_VAL, &force_delete, 1, 0, 0 },
{"no-force", 0, POPT_ARG_VAL, &force_delete, 0, 0, 0 },
{"ignore-errors", 0, POPT_ARG_VAL, &ignore_errors, 1, 0, 0 },
{"no-ignore-errors", 0, POPT_ARG_VAL, &ignore_errors, 0, 0, 0 },
{"max-delete", 0, POPT_ARG_INT, &max_delete, 0, 0, 0 },
-@@ -1231,6 +1246,14 @@ static void set_refuse_options(void)
+@@ -1002,6 +1012,14 @@ static void set_refuse_options(void)
#ifndef SUPPORT_CRTIMES
parse_one_refuse_match(0, "crtimes", list_end);
#endif
/* Now we use the descrip values to actually mark the options for refusal. */
for (op = long_options; op != list_end; op++) {
-@@ -2879,6 +2902,9 @@ void server_options(char **args, int *argc_p)
+@@ -2650,6 +2668,9 @@ void server_options(char **args, int *argc_p)
if (xfer_dirs && !recurse && delete_mode && am_sender)
args[ac++] = "--no-r";
if (do_compression && do_compression_level != CLVL_NOT_SPECIFIED) {
if (asprintf(&arg, "--compress-level=%d", do_compression_level) < 0)
goto oom;
-@@ -2987,6 +3013,16 @@ void server_options(char **args, int *argc_p)
+@@ -2758,6 +2779,16 @@ void server_options(char **args, int *argc_p)
args[ac++] = "--delete-excluded";
if (force_delete)
args[ac++] = "--force";
tab_ch=' ' # a single tab character
# Berkley's nice.
+diff --git a/usage.c b/usage.c
+--- a/usage.c
++++ b/usage.c
+@@ -131,6 +131,11 @@ static void print_info_flags(enum logcode f)
+ #endif
+ "crtimes",
+
++#ifndef SUPPORT_FILEFLAGS
++ "no "
++#endif
++ "file-flags",
++
+ "*Optimizations",
+
+ #ifndef HAVE_SIMD
diff --git a/util.c b/util.c
--- a/util.c
+++ b/util.c
./configure
make
-based-on: 8695bcc2b140b2518254234659a03b96f04055fc
+based-on: dee099328610e22e75967313d878010f4fed6cbb
diff --git a/Makefile.in b/Makefile.in
--- a/Makefile.in
+++ b/Makefile.in
@@ -44,7 +44,7 @@ OBJS1=flist.o rsync.o generator.o receiver.o cleanup.o sender.o exclude.o \
util.o util2.o main.o checksum.o match.o syscall.o log.o backup.o delete.o
OBJS2=options.o io.o compat.o hlink.o token.o uidlist.o socket.o hashtable.o \
- fileio.o batch.o clientname.o chmod.o acls.o xattrs.o
+ usage.o fileio.o batch.o clientname.o chmod.o acls.o xattrs.o
-OBJS3=progress.o pipe.o @ASM@
+OBJS3=progress.o pipe.o gss-auth.o @ASM@
DAEMON_OBJ = params.o loadparm.o clientserver.o access.o connection.o authenticate.o
diff --git a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac
-@@ -926,6 +926,31 @@ if test x"$enable_iconv" != x"no"; then
+@@ -950,6 +950,31 @@ if test x"$enable_iconv" != x"no"; then
AC_DEFINE(UTF8_CHARSET, "UTF-8", [String to pass to iconv() for the UTF-8 charset.])
fi
./configure
make
-based-on: 8695bcc2b140b2518254234659a03b96f04055fc
+based-on: dee099328610e22e75967313d878010f4fed6cbb
diff --git a/Makefile.in b/Makefile.in
--- a/Makefile.in
+++ b/Makefile.in
@@ -44,7 +44,7 @@ OBJS1=flist.o rsync.o generator.o receiver.o cleanup.o sender.o exclude.o \
util.o util2.o main.o checksum.o match.o syscall.o log.o backup.o delete.o
OBJS2=options.o io.o compat.o hlink.o token.o uidlist.o socket.o hashtable.o \
- fileio.o batch.o clientname.o chmod.o acls.o xattrs.o
+ usage.o fileio.o batch.o clientname.o chmod.o acls.o xattrs.o
-OBJS3=progress.o pipe.o @ASM@
+OBJS3=progress.o pipe.o hashlink.o @ASM@
DAEMON_OBJ = params.o loadparm.o clientserver.o access.o connection.o authenticate.o
diff --git a/options.c b/options.c
--- a/options.c
+++ b/options.c
-@@ -167,6 +167,7 @@ char *backup_suffix = NULL;
+@@ -164,6 +164,7 @@ char *backup_suffix = NULL;
char *tmpdir = NULL;
char *partial_dir = NULL;
char *basis_dir[MAX_BASIS_DIRS+1];
char *config_file = NULL;
char *shell_cmd = NULL;
char *logfile_name = NULL;
-@@ -228,7 +229,7 @@ static const char *debug_verbosity[] = {
+@@ -225,7 +226,7 @@ static const char *debug_verbosity[] = {
/*2*/ "BIND,CMD,CONNECT,DEL,DELTASUM,DUP,FILTER,FLIST,ICONV",
/*3*/ "ACL,BACKUP,CONNECT2,DELTASUM2,DEL2,EXIT,FILTER2,FLIST2,FUZZY,GENR,OWN,RECV,SEND,TIME",
/*4*/ "CMD2,DELTASUM3,DEL3,EXIT2,FLIST3,ICONV2,OWN2,PROTO,TIME2",
};
#define MAX_VERBOSITY ((int)(sizeof debug_verbosity / sizeof debug_verbosity[0]) - 1)
-@@ -298,6 +299,7 @@ static struct output_struct debug_words[COUNT_DEBUG+1] = {
+@@ -295,6 +296,7 @@ static struct output_struct debug_words[COUNT_DEBUG+1] = {
DEBUG_WORD(FUZZY, W_REC, "Debug fuzzy scoring (levels 1-2)"),
DEBUG_WORD(GENR, W_REC, "Debug generator functions"),
DEBUG_WORD(HASH, W_SND|W_REC, "Debug hashtable code"),
DEBUG_WORD(HLINK, W_SND|W_REC, "Debug hard-link actions (levels 1-3)"),
DEBUG_WORD(ICONV, W_CLI|W_SRV, "Debug iconv character conversions (levels 1-2)"),
DEBUG_WORD(IO, W_CLI|W_SRV, "Debug I/O routines (levels 1-4)"),
-@@ -794,7 +796,7 @@ enum {OPT_SERVER = 1000, OPT_DAEMON, OPT_SENDER, OPT_EXCLUDE, OPT_EXCLUDE_FROM,
+@@ -577,7 +579,7 @@ enum {OPT_SERVER = 1000, OPT_DAEMON, OPT_SENDER, OPT_EXCLUDE, OPT_EXCLUDE_FROM,
OPT_INCLUDE, OPT_INCLUDE_FROM, OPT_MODIFY_WINDOW, OPT_MIN_SIZE, OPT_CHMOD,
OPT_READ_BATCH, OPT_WRITE_BATCH, OPT_ONLY_WRITE_BATCH, OPT_MAX_SIZE,
OPT_NO_D, OPT_APPEND, OPT_NO_ICONV, OPT_INFO, OPT_DEBUG, OPT_BLOCK_SIZE,
OPT_OLD_COMPRESS, OPT_NEW_COMPRESS, OPT_NO_COMPRESS,
OPT_STOP_AFTER, OPT_STOP_AT,
OPT_REFUSED_BASE = 9000};
-@@ -954,6 +956,7 @@ static struct poptOption long_options[] = {
+@@ -737,6 +739,7 @@ static struct poptOption long_options[] = {
{"compare-dest", 0, POPT_ARG_STRING, 0, OPT_COMPARE_DEST, 0, 0 },
{"copy-dest", 0, POPT_ARG_STRING, 0, OPT_COPY_DEST, 0, 0 },
{"link-dest", 0, POPT_ARG_STRING, 0, OPT_LINK_DEST, 0, 0 },
{"fuzzy", 'y', POPT_ARG_NONE, 0, 'y', 0, 0 },
{"no-fuzzy", 0, POPT_ARG_VAL, &fuzzy_basis, 0, 0, 0 },
{"no-y", 0, POPT_ARG_VAL, &fuzzy_basis, 0, 0, 0 },
-@@ -1205,6 +1208,9 @@ static void set_refuse_options(void)
+@@ -976,6 +979,9 @@ static void set_refuse_options(void)
ref = cp + 1;
}
if (am_daemon) {
#ifdef ICONV_OPTION
if (!*lp_charset(module_id))
-@@ -2067,6 +2073,20 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -1838,6 +1844,20 @@ int parse_arguments(int *argc_p, const char ***argv_p)
return 0;
#endif
case OPT_STOP_AFTER: {
long val;
arg = poptGetOptArg(pc);
-@@ -2419,6 +2439,8 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2190,6 +2210,8 @@ int parse_arguments(int *argc_p, const char ***argv_p)
tmpdir = sanitize_path(NULL, tmpdir, NULL, 0, SP_DEFAULT);
if (backup_dir)
backup_dir = sanitize_path(NULL, backup_dir, NULL, 0, SP_DEFAULT);
}
if (daemon_filter_list.head && !am_sender) {
filter_rule_list *elp = &daemon_filter_list;
-@@ -3103,6 +3125,12 @@ void server_options(char **args, int *argc_p)
+@@ -2874,6 +2896,12 @@ void server_options(char **args, int *argc_p)
} else if (inplace)
args[ac++] = "--inplace";
TODO: the configure changes should abort if the user requests --enable-slp
and we can't honor that request.
-based-on: 8695bcc2b140b2518254234659a03b96f04055fc
+based-on: dee099328610e22e75967313d878010f4fed6cbb
diff --git a/Makefile.in b/Makefile.in
--- a/Makefile.in
+++ b/Makefile.in
INSTALLCMD=@INSTALL@
@@ -45,7 +47,7 @@ OBJS1=flist.o rsync.o generator.o receiver.o cleanup.o sender.o exclude.o \
OBJS2=options.o io.o compat.o hlink.o token.o uidlist.o socket.o hashtable.o \
- fileio.o batch.o clientname.o chmod.o acls.o xattrs.o
+ usage.o fileio.o batch.o clientname.o chmod.o acls.o xattrs.o
OBJS3=progress.o pipe.o @ASM@
-DAEMON_OBJ = params.o loadparm.o clientserver.o access.o connection.o authenticate.o
+DAEMON_OBJ = params.o loadparm.o clientserver.o access.o connection.o authenticate.o $(SLPOBJ)
diff --git a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac
-@@ -994,6 +994,29 @@ if test $rsync_cv_can_hardlink_special = yes; then
+@@ -1018,6 +1018,29 @@ if test $rsync_cv_can_hardlink_special = yes; then
AC_DEFINE(CAN_HARDLINK_SPECIAL, 1, [Define to 1 if link() can hard-link special files.])
fi
if (path) { /* source is remote */
char *dummy_host;
int dummy_port = 0;
-diff --git a/options.c b/options.c
---- a/options.c
-+++ b/options.c
-@@ -681,6 +681,11 @@ static void print_info_flags(enum logcode f)
- #endif
- "crtimes",
-
-+#ifndef HAVE_LIBSLP
-+ "no "
-+#endif
-+ "SLP",
-+
- "*Optimizations",
-
- #ifndef HAVE_SIMD
diff --git a/rsync.1.md b/rsync.1.md
--- a/rsync.1.md
+++ b/rsync.1.md
+ /* refresh is done in main select loop */
+ return 0;
+}
+diff --git a/usage.c b/usage.c
+--- a/usage.c
++++ b/usage.c
+@@ -131,6 +131,11 @@ static void print_info_flags(enum logcode f)
+ #endif
+ "crtimes",
+
++#ifndef HAVE_LIBSLP
++ "no "
++#endif
++ "SLP",
++
+ "*Optimizations",
+
+ #ifndef HAVE_SIMD