1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
#include <unistd.h>
#include "buffer.h"
#include "exit.h"
#include "lock.h"
#include "logmsg.h"
#include "open.h"
#ifdef USE_CONFIG
#include "fehsqm-config.h"
#else
#include "auto_qmail.h"
#endif
#define WHO "qmail-tcpok"
char buf[1024]; /* XXX: must match size in tcpto_clean.c, tcpto.c */
buffer bo;
int main()
{
int fd;
int i;
if (chdir(auto_qmail) == -1) logmsg(WHO, 111, FATAL, B("unable to chdir to: ", auto_qmail));
if (chdir("queue/lock") == -1)
logmsg(WHO, 111, FATAL, B("unable to chdir to ", auto_qmail, "/queue/lock: "));
fd = open_write("tcpto");
if (fd == -1) logmsg(WHO, 111, FATAL, B("unable to write ", auto_qmail, "/queue/lock/tcpto: "));
if (lock_ex(fd) == -1)
logmsg(WHO, 111, FATAL, B("unable to lock ", auto_qmail, "/queue/lock/tcpto: "));
buffer_init(&bo, write, fd, buf, sizeof(buf));
for (i = 0; i < sizeof(buf); ++i) buffer_put(&bo, "", 1);
if (buffer_flush(&bo) == -1)
logmsg(WHO, 111, FATAL, B("unable to clear ", auto_qmail, "/queue/lock/tcpto: "));
_exit(0);
}
|