PATH_SPOOL
if (chroot(PATH_SPOOL) == -1)
if (ckdir(PATH_SPOOL, 0711, 0, 0, 1) == 0)
if (ckdir(PATH_SPOOL PATH_OFFLINE, 0770, 0, gr->gr_gid, 1) == 0)
if (ckdir(PATH_SPOOL PATH_PURGE, 0700, pwq->pw_uid, 0, 1) == 0)
mvpurge(PATH_SPOOL PATH_TEMPORARY, PATH_SPOOL PATH_PURGE);
if (ckdir(PATH_SPOOL PATH_TEMPORARY, 0700, pwq->pw_uid, 0, 1) == 0)
mvpurge(PATH_SPOOL PATH_INCOMING, PATH_SPOOL PATH_PURGE);
(void)strlcpy(path, PATH_SPOOL, sizeof(path));
fatalx("path too long %s%s", PATH_SPOOL, paths[n]);
if (!bsnprintf(path, sizeof(path), "%s%s/%lld.XXXXXXXXXX", PATH_SPOOL,
PATH_SPOOL,
PATH_SPOOL,
if (chroot(PATH_SPOOL) == -1 || chdir("/") == -1)
err(1, "%s", PATH_SPOOL);
err(1, "%s/queue", PATH_SPOOL);
if ((dp = opendir(PATH_SPOOL PATH_PURGE)) == NULL) {
if (chroot(PATH_SPOOL PATH_PURGE) == -1)
path_argv[0] = PATH_SPOOL PATH_OFFLINE;
pathlen = asprintf(&path, "%s/%s", PATH_SPOOL PATH_OFFLINE, name);