aboutsummaryrefslogtreecommitdiffstats
path: root/smtpd/queue_fs.c
diff options
context:
space:
mode:
Diffstat (limited to 'smtpd/queue_fs.c')
-rw-r--r--smtpd/queue_fs.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/smtpd/queue_fs.c b/smtpd/queue_fs.c
index 42b4e177..e734275d 100644
--- a/smtpd/queue_fs.c
+++ b/smtpd/queue_fs.c
@@ -607,7 +607,7 @@ fsqueue_qwalk(void *hdl, uint64_t *evpid)
}
static int
-queue_fs_init(int server)
+queue_fs_init(struct passwd *pw, int server)
{
unsigned int n;
char *paths[] = { PATH_QUEUE, PATH_CORRUPT, PATH_INCOMING };
@@ -615,7 +615,7 @@ queue_fs_init(int server)
int ret;
struct timeval tv;
- /* remove incoming if it exists */
+ /* remove incoming/ if it exists */
if (server)
mvpurge(PATH_SPOOL PATH_INCOMING, PATH_SPOOL PATH_PURGE);
@@ -626,8 +626,7 @@ queue_fs_init(int server)
strlcpy(path, PATH_SPOOL, sizeof(path));
if (strlcat(path, paths[n], sizeof(path)) >= sizeof(path))
errx(1, "path too long %s%s", PATH_SPOOL, paths[n]);
-
- if (ckdir(path, 0700, env->sc_pwqueue->pw_uid, 0, server) == 0)
+ if (ckdir(path, 0700, pw->pw_uid, 0, server) == 0)
ret = 0;
}