changeset 21279:136a42b63ef8

doveadm-server: http: Fixed temp_path_prefix for iostream-temp. The temp_path_prefix was "/tmp", which is extended to "/tmp<hostname>.<pid>.<random>" by safe_mkstemp. Obviously, mortal users cannot create a file like that, causing this error: doveadm: Error: safe_mkstemp(/tmp) failed: Permission denied The temp_path_prefix should have been "/tmp/doveadm.", as it is elsewhere as well.
author Stephan Bosch <stephan.bosch@dovecot.fi>
date Fri, 09 Dec 2016 09:57:57 +0100
parents fcb25852e8b7
children 953aac0beb29
files src/doveadm/client-connection-http.c
diffstat 1 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/doveadm/client-connection-http.c	Thu Dec 08 13:01:48 2016 +0200
+++ b/src/doveadm/client-connection-http.c	Fri Dec 09 09:57:57 2016 +0100
@@ -732,11 +732,13 @@
 		i_stream_set_name(conn->client.input, net_ip2addr(&conn->client.remote_ip));
 		i_stream_ref(conn->client.input);
 		conn->client.io = io_add_istream(conn->client.input, *ep->handler, conn);
-		conn->client.output = iostream_temp_create_named("/tmp", 0, net_ip2addr(&conn->client.remote_ip));
+		conn->client.output = iostream_temp_create_named
+			("/tmp/doveadm.", 0, net_ip2addr(&conn->client.remote_ip));
 		p_array_init(&conn->pargv, conn->client.pool, 5);
 		ep->handler(conn);
 	} else {
-		conn->client.output = iostream_temp_create_named("/tmp", 0, net_ip2addr(&conn->client.remote_ip));
+		conn->client.output = iostream_temp_create_named
+			("/tmp/doveadm.", 0, net_ip2addr(&conn->client.remote_ip));
 		ep->handler(conn);
 	}
 }