Mercurial > dovecot > core-2.2
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); } }