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