Updating patches.
[rsync-patches.git] / slp.diff
index a425f9d86504e3fdde13a4736dc8feb37672ac5c..5f2268039964f7b2725c2e9c726c920bb0cb0bc8 100644 (file)
--- a/slp.diff
+++ b/slp.diff
@@ -10,20 +10,20 @@ To use this patch, run these commands for a successful build:
 TODO: the configure changes should abort if the user requests --enable-slp
 and we can't honor that request.
 
-based-on: d64bda1c1e79dc385f194d74f7957ce7cd118654
+based-on: 2ac35b45071c7bfd8be6be41bfd45326f1f57bce
 diff --git a/Makefile.in b/Makefile.in
 --- a/Makefile.in
 +++ b/Makefile.in
-@@ -13,6 +13,8 @@ CFLAGS=@CFLAGS@
+@@ -14,6 +14,8 @@ CFLAGS=@CFLAGS@
  CPPFLAGS=@CPPFLAGS@
  EXEEXT=@EXEEXT@
  LDFLAGS=@LDFLAGS@
 +LIBSLP=@LIBSLP@
 +SLPOBJ=@SLPOBJ@
+ LIBOBJDIR=lib/
  
  INSTALLCMD=@INSTALL@
- INSTALLMAN=@INSTALL@
-@@ -38,7 +40,7 @@ OBJS1=flist.o rsync.o generator.o receiver.o cleanup.o sender.o exclude.o \
+@@ -41,7 +43,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
  OBJS3=progress.o pipe.o
@@ -31,8 +31,8 @@ diff --git a/Makefile.in b/Makefile.in
 +DAEMON_OBJ = params.o loadparm.o clientserver.o access.o connection.o authenticate.o $(SLPOBJ)
  popt_OBJS=popt/findme.o  popt/popt.o  popt/poptconfig.o \
        popt/popthelp.o popt/poptparse.o
- OBJS=$(OBJS1) $(OBJS2) $(OBJS3) $(DAEMON_OBJ) $(LIBOBJ) $(ZLIBOBJ) @BUILD_POPT@
-@@ -74,7 +76,7 @@ install-strip:
+ OBJS=$(OBJS1) $(OBJS2) $(OBJS3) $(DAEMON_OBJ) $(LIBOBJ) @BUILD_ZLIB@ @BUILD_POPT@
+@@ -91,7 +93,7 @@ install-strip:
        $(MAKE) INSTALL_STRIP='-s' install
  
  rsync$(EXEEXT): $(OBJS)
@@ -44,8 +44,8 @@ diff --git a/Makefile.in b/Makefile.in
 diff --git a/clientserver.c b/clientserver.c
 --- a/clientserver.c
 +++ b/clientserver.c
-@@ -1164,6 +1164,13 @@ int daemon_main(void)
-        * address too.  In fact, why not just do inet_ntop on the
+@@ -1199,6 +1199,13 @@ int daemon_main(void)
+        * address too.  In fact, why not just do getnameinfo on the
         * local address??? */
  
 +#ifdef HAVE_LIBSLP
@@ -61,7 +61,7 @@ diff --git a/clientserver.c b/clientserver.c
 diff --git a/configure.ac b/configure.ac
 --- a/configure.ac
 +++ b/configure.ac
-@@ -683,6 +683,29 @@ if test $rsync_cv_can_hardlink_special = yes; then
+@@ -737,6 +737,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
  
@@ -94,9 +94,9 @@ diff --git a/configure.ac b/configure.ac
 diff --git a/loadparm.c b/loadparm.c
 --- a/loadparm.c
 +++ b/loadparm.c
-@@ -98,6 +98,9 @@ typedef struct {
-       char *socket_options;
+@@ -99,6 +99,9 @@ typedef struct {
  
+       int listen_backlog;
        int rsync_port;
 +#ifdef HAVE_LIBSLP
 +      int slp_refresh;
@@ -104,7 +104,7 @@ diff --git a/loadparm.c b/loadparm.c
  } global_vars;
  
  /* This structure describes a single section.  Their order must match the
-@@ -312,6 +315,9 @@ static struct parm_struct parm_table[] =
+@@ -317,6 +320,9 @@ static struct parm_struct parm_table[] =
   {"motd file",         P_STRING, P_GLOBAL,&Vars.g.motd_file,           NULL,0},
   {"pid file",          P_STRING, P_GLOBAL,&Vars.g.pid_file,            NULL,0},
   {"port",              P_INTEGER,P_GLOBAL,&Vars.g.rsync_port,          NULL,0},
@@ -114,9 +114,9 @@ diff --git a/loadparm.c b/loadparm.c
   {"socket options",    P_STRING, P_GLOBAL,&Vars.g.socket_options,      NULL,0},
  
   {"auth users",        P_STRING, P_LOCAL, &Vars.l.auth_users,          NULL,0},
-@@ -443,6 +449,9 @@ FN_GLOBAL_STRING(lp_pid_file, &Vars.g.pid_file)
- FN_GLOBAL_STRING(lp_socket_options, &Vars.g.socket_options)
+@@ -450,6 +456,9 @@ FN_GLOBAL_STRING(lp_socket_options, &Vars.g.socket_options)
  
+ FN_GLOBAL_INTEGER(lp_listen_backlog, &Vars.g.listen_backlog)
  FN_GLOBAL_INTEGER(lp_rsync_port, &Vars.g.rsync_port)
 +#ifdef HAVE_LIBSLP
 +FN_GLOBAL_INTEGER(lp_slp_refresh, &Vars.g.slp_refresh)
@@ -127,7 +127,7 @@ diff --git a/loadparm.c b/loadparm.c
 diff --git a/main.c b/main.c
 --- a/main.c
 +++ b/main.c
-@@ -1237,6 +1237,18 @@ static int start_client(int argc, char *argv[])
+@@ -1246,6 +1246,18 @@ static int start_client(int argc, char *argv[])
  
        if (!read_batch) { /* for read_batch, NO source is specified */
                char *path = check_for_hostspec(argv[0], &shell_machine, &rsync_port);
@@ -149,7 +149,7 @@ diff --git a/main.c b/main.c
 diff --git a/options.c b/options.c
 --- a/options.c
 +++ b/options.c
-@@ -568,6 +568,7 @@ static void print_rsync_version(enum logcode f)
+@@ -574,6 +574,7 @@ static void print_rsync_version(enum logcode f)
        char const *links = "no ";
        char const *iconv = "no ";
        char const *ipv6 = "no ";
@@ -157,7 +157,7 @@ diff --git a/options.c b/options.c
        STRUCT_STAT *dumstat;
  
  #if SUBPROTOCOL_VERSION != 0
-@@ -601,6 +602,9 @@ static void print_rsync_version(enum logcode f)
+@@ -610,6 +611,9 @@ static void print_rsync_version(enum logcode f)
  #ifdef CAN_SET_SYMLINK_TIMES
        symtimes = "";
  #endif
@@ -167,21 +167,21 @@ diff --git a/options.c b/options.c
  
        rprintf(f, "%s  version %s  protocol version %d%s\n",
                RSYNC_NAME, RSYNC_VERSION, PROTOCOL_VERSION, subprotocol);
-@@ -614,8 +618,8 @@ static void print_rsync_version(enum logcode f)
+@@ -623,8 +627,8 @@ static void print_rsync_version(enum logcode f)
                (int)(sizeof (int64) * 8));
        rprintf(f, "    %ssocketpairs, %shardlinks, %ssymlinks, %sIPv6, batchfiles, %sinplace,\n",
                got_socketpair, hardlinks, links, ipv6, have_inplace);
--      rprintf(f, "    %sappend, %sACLs, %sxattrs, %siconv, %ssymtimes\n",
--              have_inplace, acls, xattrs, iconv, symtimes);
-+      rprintf(f, "    %sappend, %sACLs, %sxattrs, %siconv, %ssymtimes, %sSLP\n",
-+              have_inplace, acls, xattrs, iconv, symtimes, slp);
+-      rprintf(f, "    %sappend, %sACLs, %sxattrs, %siconv, %ssymtimes, %sprealloc\n",
+-              have_inplace, acls, xattrs, iconv, symtimes, prealloc);
++      rprintf(f, "    %sappend, %sACLs, %sxattrs, %siconv, %ssymtimes, %sprealloc, %sSLP\n",
++              have_inplace, acls, xattrs, iconv, symtimes, prealloc, slp);
  
  #ifdef MAINTAINER_MODE
        rprintf(f, "Panic Action: \"%s\"\n", get_panic_action());
 diff --git a/rsync.h b/rsync.h
 --- a/rsync.h
 +++ b/rsync.h
-@@ -199,6 +199,10 @@
+@@ -204,6 +204,10 @@
  #define SIGNIFICANT_ITEM_FLAGS (~(\
        ITEM_BASIS_TYPE_FOLLOWS | ITEM_XNAME_FOLLOWS | ITEM_LOCAL_CHANGE))
  
@@ -195,7 +195,7 @@ diff --git a/rsync.h b/rsync.h
 diff --git a/rsync.yo b/rsync.yo
 --- a/rsync.yo
 +++ b/rsync.yo
-@@ -148,7 +148,12 @@ particular rsync daemon by leaving off the module name:
+@@ -151,7 +151,12 @@ particular rsync daemon by leaving off the module name:
  
  quote(tt(rsync somehost.mydomain.com::))
  
@@ -213,16 +213,14 @@ diff --git a/rsyncd.conf b/rsyncd.conf
 new file mode 100644
 --- /dev/null
 +++ b/rsyncd.conf
-@@ -0,0 +1,3 @@
-+
+@@ -0,0 +1 @@
 +slp refresh = 300
-+
 diff --git a/rsyncd.conf.yo b/rsyncd.conf.yo
 --- a/rsyncd.conf.yo
 +++ b/rsyncd.conf.yo
-@@ -120,6 +120,15 @@ details on some of the options you may be able to set. By default no
- special socket options are set.  These settings can also be specified
via the bf(--sockopts) command-line option.
+@@ -124,6 +124,15 @@ via the bf(--sockopts) command-line option.
+ dit(bf(listen backlog)) You can override the default backlog value when the
daemon listens for connections.  It defaults to 5.
  
 +dit(bf(slp refresh)) This parameter is used to determine how long service
 +advertisements are valid (measured in seconds), and is only applicable if
@@ -236,7 +234,7 @@ diff --git a/rsyncd.conf.yo b/rsyncd.conf.yo
  enddit()
  
  manpagesection(MODULE PARAMETERS)
-@@ -768,6 +777,7 @@ use chroot = yes
+@@ -853,6 +862,7 @@ use chroot = yes
  max connections = 4
  syslog facility = local5
  pid file = /var/run/rsyncd.pid
@@ -247,7 +245,7 @@ diff --git a/rsyncd.conf.yo b/rsyncd.conf.yo
 diff --git a/socket.c b/socket.c
 --- a/socket.c
 +++ b/socket.c
-@@ -515,6 +515,16 @@ void start_accept_loop(int port, int (*fn)(int, int))
+@@ -544,6 +544,16 @@ void start_accept_loop(int port, int (*fn)(int, int))
  {
        fd_set deffds;
        int *sp, maxfd, i;
@@ -264,7 +262,7 @@ diff --git a/socket.c b/socket.c
  
  #ifdef HAVE_SIGACTION
        sigact.sa_flags = SA_NOCLDSTOP;
-@@ -543,14 +553,25 @@ void start_accept_loop(int port, int (*fn)(int, int))
+@@ -572,14 +582,25 @@ void start_accept_loop(int port, int (*fn)(int, int))
                        maxfd = sp[i];
        }
  
@@ -290,7 +288,7 @@ diff --git a/socket.c b/socket.c
  
                /* close log file before the potentially very long select so
                 * file can be trimmed by another process instead of growing
-@@ -563,7 +584,18 @@ void start_accept_loop(int port, int (*fn)(int, int))
+@@ -592,7 +613,18 @@ void start_accept_loop(int port, int (*fn)(int, int))
                fds = deffds;
  #endif
  
@@ -481,7 +479,7 @@ new file mode 100644
 +              exit_cleanup(RERR_SYNTAX);
 +      }
 +
-+      n = lp_numservices();
++      n = lp_num_modules();
 +
 +      if (0 == lp_slp_refresh())
 +              timeout = SLP_LIFETIME_MAXIMUM; /* don't expire, ever */