From: Timo Sirainen Date: Mon, 25 Nov 2019 13:13:28 +0000 (+0200) Subject: lib: connection: Don't set remote_pid or remote_uid to TCP connection event X-Git-Tag: 2.3.10~257 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9b4e654cf5799e5d37d709e020f80bedc44cb310;p=thirdparty%2Fdovecot%2Fcore.git lib: connection: Don't set remote_pid or remote_uid to TCP connection event They weren't initialized properly when connection_init_server_ip() or connection_init_client_ip_from() was called with remote_ip parameter. --- diff --git a/src/lib/connection.c b/src/lib/connection.c index a3aef767a5..8565443ddc 100644 --- a/src/lib/connection.c +++ b/src/lib/connection.c @@ -394,16 +394,11 @@ connection_update_properties(struct connection *conn) /* already known */ } else if (fd < 0 || errno == ENOTSOCK || net_getunixcred(fd, &cred) < 0) { - conn->remote_uid = (uid_t)-1; - conn->remote_pid = (pid_t)-1; } else { conn->remote_pid = cred.pid; conn->remote_uid = cred.uid; } conn->unix_peer_known = TRUE; - } else { - conn->remote_uid = (uid_t)-1; - conn->remote_pid = (pid_t)-1; } connection_update_property_label(conn); @@ -514,6 +509,8 @@ connection_init_full(struct connection_list *list, struct connection *conn, conn->fd_in = fd_in; conn->fd_out = fd_out; conn->disconnected = TRUE; + conn->remote_uid = (uid_t)-1; + conn->remote_pid = (pid_t)-1; i_free(conn->base_name); conn->base_name = i_strdup(name);