From 41d538d5d87870d64b78d2d2bd8f8ffdf8496c45 Mon Sep 17 00:00:00 2001 From: Stephan Bosch Date: Fri, 9 Dec 2016 09:57:57 +0100 Subject: [PATCH] doveadm-server: http: Fixed temp_path_prefix for iostream-temp. The temp_path_prefix was "/tmp", which is extended to "/tmp.." 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. --- src/doveadm/client-connection-http.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/doveadm/client-connection-http.c b/src/doveadm/client-connection-http.c index ea82a84247..704d86b7da 100644 --- a/src/doveadm/client-connection-http.c +++ b/src/doveadm/client-connection-http.c @@ -732,11 +732,13 @@ doveadm_http_server_handle_request(void *context, struct http_server_request *re 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); } }