forked from pool/rsync
78 lines
3.1 KiB
Diff
78 lines
3.1 KiB
Diff
|
Index: rsync-3.1.1/clientserver.c
|
||
|
===================================================================
|
||
|
--- rsync-3.1.1.orig/clientserver.c 2015-08-11 11:10:05.445550476 +0200
|
||
|
+++ rsync-3.1.1/clientserver.c 2015-08-11 11:11:12.922400586 +0200
|
||
|
@@ -1200,7 +1200,7 @@ int daemon_main(void)
|
||
|
* local address??? */
|
||
|
|
||
|
#ifdef HAVE_LIBSLP
|
||
|
- if (register_services()) {
|
||
|
+ if (lp_use_slp() && register_services()) {
|
||
|
rprintf(FINFO,
|
||
|
"Couldn't register with service discovery protocol, continuing anyway\n");
|
||
|
}
|
||
|
Index: rsync-3.1.1/loadparm.c
|
||
|
===================================================================
|
||
|
--- rsync-3.1.1.orig/loadparm.c 2015-08-11 11:10:05.445550476 +0200
|
||
|
+++ rsync-3.1.1/loadparm.c 2015-08-11 11:32:41.294010307 +0200
|
||
|
@@ -101,6 +101,7 @@ typedef struct {
|
||
|
int rsync_port;
|
||
|
#ifdef HAVE_LIBSLP
|
||
|
int slp_refresh;
|
||
|
+ BOOL use_slp;
|
||
|
#endif
|
||
|
} global_vars;
|
||
|
|
||
|
@@ -322,6 +323,7 @@ static struct parm_struct parm_table[] =
|
||
|
{"port", P_INTEGER,P_GLOBAL,&Vars.g.rsync_port, NULL,0},
|
||
|
#ifdef HAVE_LIBSLP
|
||
|
{"slp refresh", P_INTEGER,P_GLOBAL,&Vars.g.slp_refresh, NULL,0},
|
||
|
+ {"use slp", P_BOOL, P_GLOBAL,&Vars.g.use_slp, NULL,0},
|
||
|
#endif
|
||
|
{"socket options", P_STRING, P_GLOBAL,&Vars.g.socket_options, NULL,0},
|
||
|
|
||
|
@@ -376,6 +378,7 @@ static struct parm_struct parm_table[] =
|
||
|
static void reset_all_vars(void)
|
||
|
{
|
||
|
memcpy(&Vars, &Defaults, sizeof Vars);
|
||
|
+ Vars.g.use_slp = True;
|
||
|
}
|
||
|
|
||
|
/* Expand %VAR% references. Any unknown vars or unrecognized
|
||
|
@@ -458,6 +461,7 @@ FN_GLOBAL_INTEGER(lp_listen_backlog, &Va
|
||
|
FN_GLOBAL_INTEGER(lp_rsync_port, &Vars.g.rsync_port)
|
||
|
#ifdef HAVE_LIBSLP
|
||
|
FN_GLOBAL_INTEGER(lp_slp_refresh, &Vars.g.slp_refresh)
|
||
|
+FN_GLOBAL_BOOL(lp_use_slp, &Vars.g.use_slp)
|
||
|
#endif
|
||
|
|
||
|
FN_LOCAL_STRING(lp_auth_users, auth_users)
|
||
|
Index: rsync-3.1.1/rsyncd.conf.yo
|
||
|
===================================================================
|
||
|
--- rsync-3.1.1.orig/rsyncd.conf.yo 2015-08-11 11:10:05.447550501 +0200
|
||
|
+++ rsync-3.1.1/rsyncd.conf.yo 2015-08-11 11:34:15.206231147 +0200
|
||
|
@@ -124,6 +124,10 @@ via the bf(--sockopts) command-line opti
|
||
|
dit(bf(listen backlog)) You can override the default backlog value when the
|
||
|
daemon listens for connections. It defaults to 5.
|
||
|
|
||
|
+dit(bf(use slp)) This parameter is used to determine if the module names are
|
||
|
+advertised via slp. The default is for this to be enabled, which will
|
||
|
+advertise your public modules.
|
||
|
+
|
||
|
dit(bf(slp refresh)) This parameter is used to determine how long service
|
||
|
advertisements are valid (measured in seconds), and is only applicable if
|
||
|
you have Service Location Protocol support compiled in. If this is
|
||
|
Index: rsync-3.1.1/socket.c
|
||
|
===================================================================
|
||
|
--- rsync-3.1.1.orig/socket.c 2015-08-11 11:10:05.447550501 +0200
|
||
|
+++ rsync-3.1.1/socket.c 2015-08-11 11:35:25.434145276 +0200
|
||
|
@@ -546,7 +546,7 @@ void start_accept_loop(int port, int (*f
|
||
|
int *sp, maxfd, i;
|
||
|
#ifdef HAVE_LIBSLP
|
||
|
time_t next_slp_refresh;
|
||
|
- short slp_timeout = lp_slp_refresh();
|
||
|
+ short slp_timeout = lp_use_slp() ? lp_slp_refresh() : 0;
|
||
|
if (slp_timeout) {
|
||
|
if (slp_timeout < SLP_MIN_TIMEOUT)
|
||
|
slp_timeout = SLP_MIN_TIMEOUT;
|