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 <way...@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. _______________________________________________ rsync-cvs mailing list rsync-cvs@lists.samba.org https://lists.samba.org/mailman/listinfo/rsync-cvs