dovecot-2.0-sslstream: dsync: Require "server" parameter to star...

dovecot at dovecot.org dovecot at dovecot.org
Sat Feb 13 02:56:31 EET 2010


details:   http://hg.dovecot.org/dovecot-2.0-sslstream/rev/7a206ede2e7e
changeset: 10353:7a206ede2e7e
user:      Timo Sirainen <tss at iki.fi>
date:      Tue Nov 17 19:57:53 2009 -0500
description:
dsync: Require "server" parameter to start in server mode.

diffstat:

1 file changed, 9 insertions(+), 4 deletions(-)
src/dsync/dsync.c |   13 +++++++++----

diffs (42 lines):

diff -r ffac955d80ef -r 7a206ede2e7e src/dsync/dsync.c
--- a/src/dsync/dsync.c	Tue Nov 17 19:41:21 2009 -0500
+++ b/src/dsync/dsync.c	Tue Nov 17 19:57:53 2009 -0500
@@ -75,7 +75,7 @@ int main(int argc, char *argv[])
 	struct mail_user *mail_user;
 	struct dsync_worker *worker1, *worker2;
 	const char *error, *username, *mailbox = NULL, *cmd = NULL;
-	bool dest = TRUE, readonly = FALSE;
+	bool dsync_server = FALSE, readonly = FALSE;
 	int c, ret, fd_in = STDIN_FILENO, fd_out = STDOUT_FILENO;
 
 	master_service = master_service_init("dsync",
@@ -111,6 +111,10 @@ int main(int argc, char *argv[])
 			usage();
 		}
 	}
+	if (optind != argc && strcmp(argv[optind], "server") == 0) {
+		dsync_server = TRUE;
+		optind++;
+	}
 	if (optind != argc)
 		usage();
 	master_service_init_finish(master_service);
@@ -128,14 +132,15 @@ int main(int argc, char *argv[])
 	if (cmd != NULL) {
 		/* user initialization may exec doveconf, so do our forking
 		   after that */
-		run_cmd(cmd, &fd_in, &fd_out);
-		dest = FALSE;
+		run_cmd(t_strconcat(cmd, " server", NULL), &fd_in, &fd_out);
+	} else if (!dsync_server) {
+		usage();
 	}
 
 	worker1 = dsync_worker_init_local(mail_user);
 	if (readonly)
 		dsync_worker_set_readonly(worker1);
-	if (dest) {
+	if (dsync_server) {
 		i_set_failure_prefix(t_strdup_printf("dsync-dest(%s): ",
 						     username));
 		server = dsync_proxy_server_init(fd_in, fd_out, worker1);


More information about the dovecot-cvs mailing list