]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
dsync: Name remote connections better.
authorTimo Sirainen <tss@iki.fi>
Tue, 6 Aug 2013 11:25:49 +0000 (14:25 +0300)
committerTimo Sirainen <tss@iki.fi>
Tue, 6 Aug 2013 11:25:49 +0000 (14:25 +0300)
src/doveadm/client-connection.c
src/doveadm/dsync/doveadm-dsync.c

index 3195fac6e8be935ef0ebd3bab3f9929ea1ccacb9..262c1af9e92cec8b1a35ebfdc7277a6ce77425d2 100644 (file)
@@ -411,6 +411,9 @@ client_connection_create(int fd, int listen_fd, bool ssl)
        (void)net_getsockname(fd, &conn->local_ip, &conn->local_port);
        (void)net_getpeername(fd, &conn->remote_ip, &conn->remote_port);
 
+       i_stream_set_name(conn->input, net_ip2addr(&conn->remote_ip));
+       o_stream_set_name(conn->output, net_ip2addr(&conn->remote_ip));
+
        if (client_connection_read_settings(conn) < 0) {
                client_connection_destroy(&conn);
                return NULL;
index a032a61060b5a21a290012b713a15ae33b61def3..d1e2a4f92b17cb2620f80b74f1397f1dd579315a 100644 (file)
@@ -958,6 +958,7 @@ cmd_dsync_server_run(struct doveadm_mail_cmd_context *_ctx,
        struct dsync_brain *brain;
        string_t *temp_prefix, *state_str = NULL;
        enum dsync_brain_sync_type sync_type;
+       const char *name;
 
        if (_ctx->conn != NULL) {
                /* doveadm-server connection. start with a success reply.
@@ -966,15 +967,21 @@ cmd_dsync_server_run(struct doveadm_mail_cmd_context *_ctx,
                ctx->input = _ctx->conn->input;
                ctx->output = _ctx->conn->output;
                o_stream_nsend(ctx->output, "\n+\n", 3);
+               i_set_failure_prefix("dsync-server(%s): ", user->username);
+               name = i_stream_get_name(ctx->input);
+       } else {
+               /* the log messages go via stderr to the remote dsync,
+                  so the names are reversed */
+               i_set_failure_prefix("dsync-remote(%s): ", user->username);
+               name = "local";
        }
-       doveadm_user_init_dsync(user);
 
-       i_set_failure_prefix("dsync-remote(%s): ", user->username);
+       doveadm_user_init_dsync(user);
 
        temp_prefix = t_str_new(64);
        mail_user_set_get_temp_prefix(temp_prefix, user->set);
 
-       ibc = cmd_dsync_icb_stream_init(ctx, "local", str_c(temp_prefix));
+       ibc = cmd_dsync_icb_stream_init(ctx, name, str_c(temp_prefix));
        brain = dsync_brain_slave_init(user, ibc, FALSE);
 
        io_loop_run(current_ioloop);