/*
+ * Copyright (c) 2008-2014, Simon Schubert <2@0x2c.org>.
* Copyright (c) 2008 The DragonFly Project. All rights reserved.
*
* This code is derived from software contributed to The DragonFly Project
- * by Simon 'corecode' Schubert <corecode@fs.ei.tum.de>.
+ * by Simon Schubert <2@0x2c.org>.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
spooldir = opendir(config.spooldir);
if (spooldir == NULL)
- err(1, "reading queue");
+ err(EX_NOINPUT, "reading queue");
while ((de = readdir(spooldir)) != NULL) {
queuefn = NULL;
if (asprintf(&flushfn, "%s/%s", config.spooldir, SPOOL_FLUSHFILE) < 0)
return (-1);
- fd = open(flushfn, O_CREAT|O_RDONLY, 0440);
+ fd = open(flushfn, O_CREAT|O_WRONLY|O_TRUNC, 0660);
+ free(flushfn);
if (fd < 0) {
syslog(LOG_ERR, "could not open flush file: %m");
- free(flushfn);
return (-1);
}
close(fd);
- if (utimes(flushfn, NULL) < 0) {
- syslog(LOG_ERR, "could not touch flush file: %m");
- free(flushfn);
- return (-1);
- }
- free (flushfn);
return (0);
}