[SCM] The rsync repository. - branch master updated

Rsync CVS commit messages rsync-cvs at lists.samba.org
Mon Aug 24 17:10:48 UTC 2015


The branch, master has been updated
       via  3da1dc4 Add configure option to set max daemon gid list. Fixes bug 11456.
      from  abfb41e Avoid creating even the top-level backup dir until needed. Fixes bug 11423.

https://git.samba.org/?p=rsync.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 3da1dc4d188b108933240dcac72121985e3fea88
Author: Wayne Davison <wayned at samba.org>
Date:   Mon Aug 24 10:07:43 2015 -0700

    Add configure option to set max daemon gid list.
    Fixes bug 11456.

-----------------------------------------------------------------------

Summary of changes:
 NEWS           | 1 +
 clientserver.c | 8 +++-----
 configure.ac   | 8 ++++++++
 3 files changed, 12 insertions(+), 5 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS b/NEWS
index b4e92f4..9a3ddd5 100644
--- a/NEWS
+++ b/NEWS
@@ -31,6 +31,7 @@ Changes since 3.1.1:
 
   DEVELOPER RELATED:
 
+    - Added --with-max-daemon-gid=NUM option to configure.
     - Fixed a bug with the Makefile's use of INSTALL_STRIP.
     - Improve a test in the suite that could get an erroneous timestamp error.
     - Tweaks for newer versions of git in the packaging tools.
diff --git a/clientserver.c b/clientserver.c
index 3f720b0..cf602a1 100644
--- a/clientserver.c
+++ b/clientserver.c
@@ -60,8 +60,6 @@ extern char *iconv_opt;
 extern iconv_t ic_send, ic_recv;
 #endif
 
-#define MAX_GID_LIST 32
-
 char *auth_user;
 int read_only = 0;
 int module_id = -1;
@@ -81,7 +79,7 @@ static int rl_nulls = 0;
 static struct sigaction sigact;
 #endif
 
-static gid_t gid_list[MAX_GID_LIST];
+static gid_t gid_list[MAX_DAEMON_GID_LIST];
 static int gid_count = 0;
 
 /* Used when "reverse lookup" is off. */
@@ -444,7 +442,7 @@ static int add_a_group(int f_out, const char *gname)
 		io_printf(f_out, "@ERROR: invalid gid %s\n", gname);
 		return -1;
 	}
-	if (gid_count == MAX_GID_LIST) {
+	if (gid_count == MAX_DAEMON_GID_LIST) {
 		rprintf(FLOG, "Too many groups specified via gid parameter.\n");
 		io_printf(f_out, "@ERROR: too many groups\n");
 		return -1;
@@ -457,7 +455,7 @@ static int add_a_group(int f_out, const char *gname)
 static int want_all_groups(int f_out, uid_t uid)
 {
 	const char *err;
-	gid_count = MAX_GID_LIST;
+	gid_count = MAX_DAEMON_GID_LIST;
 	if ((err = getallgroups(uid, gid_list, &gid_count)) != NULL) {
 		rsyserr(FLOG, errno, "%s", err);
 		io_printf(f_out, "@ERROR: %s\n", err);
diff --git a/configure.ac b/configure.ac
index 3aca2a1..8975366 100644
--- a/configure.ac
+++ b/configure.ac
@@ -98,6 +98,14 @@ AC_ARG_WITH(rsync-path,
 
 AC_DEFINE_UNQUOTED(RSYNC_PATH, "$RSYNC_PATH", [location of rsync on remote machine])
 
+AC_ARG_WITH(max-daemon-gid,
+	AS_HELP_STRING([--with-max-daemon-gid=NUM],
+		       [set maximum number of GIDs in the daemon "gid=LIST" config item (default: 32)]),
+		       [ MAX_DAEMON_GID_LIST=$with_max_daemon_gid ],
+		       [ MAX_DAEMON_GID_LIST=32 ])
+
+AC_DEFINE_UNQUOTED(MAX_DAEMON_GID_LIST, $MAX_DAEMON_GID_LIST, [maximum GIDs in a daemon module gid list])
+
 AC_ARG_WITH(rsyncd-conf,
 	AS_HELP_STRING([--with-rsyncd-conf=PATH],[set configuration file for rsync server to PATH (default: /etc/rsyncd.conf)]),
 	[ if test ! -z "$with_rsyncd_conf" ; then


-- 
The rsync repository.



More information about the rsync-cvs mailing list