#include "lib.h"
#include "str.h"
+#include "eacces-error.h"
#include "safe-mkstemp.h"
#include "mkdir-parents.h"
#include "file-lock.h"
errno = orig_errno;
}
if (fd == -1) {
- *error_r = t_strdup_printf("safe_mkstemp(%s) failed: %m", path);
+ if (errno == EACCES)
+ *error_r = eacces_error_get("safe_mkstemp", path);
+ else {
+ *error_r = t_strdup_printf(
+ "safe_mkstemp(%s) failed: %m", path);
+ }
return -1;
}
i_close_fd(&fd);
if (ret < 0)
return -1;
+ } else if (errno == EACCES) {
+ *error_r = eacces_error_get("open", path);
+ return -1;
} else if (errno != ENOENT) {
*error_r = t_strdup_printf("open(%s) failed: %m", path);
return -1;