dovecot-2.1: dsync server: Ignore -f, -R and -m parameters inste...

dovecot at dovecot.org dovecot at dovecot.org
Sun Mar 4 13:01:20 EET 2012


details:   http://hg.dovecot.org/dovecot-2.1/rev/9c6eeeb810c0
changeset: 14240:9c6eeeb810c0
user:      Timo Sirainen <tss at iki.fi>
date:      Sun Mar 04 13:01:09 2012 +0200
description:
dsync server: Ignore -f, -R and -m parameters instead of failing.
v2.0 dsync did this as well.

diffstat:

 src/doveadm/dsync/doveadm-dsync.c |  20 ++++++++++++--------
 1 files changed, 12 insertions(+), 8 deletions(-)

diffs (45 lines):

diff -r 5a62b55914c4 -r 9c6eeeb810c0 src/doveadm/dsync/doveadm-dsync.c
--- a/src/doveadm/dsync/doveadm-dsync.c	Sun Mar 04 12:50:02 2012 +0200
+++ b/src/doveadm/dsync/doveadm-dsync.c	Sun Mar 04 13:01:09 2012 +0200
@@ -644,6 +644,7 @@
 	char *p, *dup, new_flags[6];
 	int max_argc, src, dest, i, j;
 	bool flag_f = FALSE, flag_R = FALSE, flag_m, flag_u, flag_C, has_arg;
+	bool dsync_server = FALSE;
 
 	p = strrchr(argv[0], '/');
 	if (p == NULL) p = argv[0];
@@ -732,9 +733,10 @@
 		new_argv[dest] = "sync";
 	else if (strcmp(argv[src], "backup") == 0)
 		new_argv[dest] = "backup";
-	else if (strcmp(argv[src], "server") == 0)
+	else if (strcmp(argv[src], "server") == 0) {
 		new_argv[dest] = "dsync-server";
-	else
+		dsync_server = TRUE;
+	} else
 		i_fatal("Invalid parameter: %s", argv[src]);
 	src++; dest++;
 
@@ -746,12 +748,14 @@
 	/* dsync flags */
 	new_flags[0] = '-';
 	new_flags[1] = 'E'; i = 2;
-	if (flag_f)
-		new_flags[i++] = 'f';
-	if (flag_R)
-		new_flags[i++] = 'R';
-	if (mailbox != NULL)
-		new_flags[i++] = 'm';
+	if (!dsync_server) {
+		if (flag_f)
+			new_flags[i++] = 'f';
+		if (flag_R)
+			new_flags[i++] = 'R';
+		if (mailbox != NULL)
+			new_flags[i++] = 'm';
+	}
 	i_assert((unsigned int)i < sizeof(new_flags));
 	new_flags[i] = '\0';
 


More information about the dovecot-cvs mailing list