summaryrefslogtreecommitdiff
path: root/sqmail-4.3.07/src/qmail-badloadertypes.c
diff options
context:
space:
mode:
Diffstat (limited to 'sqmail-4.3.07/src/qmail-badloadertypes.c')
-rw-r--r--sqmail-4.3.07/src/qmail-badloadertypes.c68
1 files changed, 0 insertions, 68 deletions
diff --git a/sqmail-4.3.07/src/qmail-badloadertypes.c b/sqmail-4.3.07/src/qmail-badloadertypes.c
deleted file mode 100644
index 3472fd5..0000000
--- a/sqmail-4.3.07/src/qmail-badloadertypes.c
+++ /dev/null
@@ -1,68 +0,0 @@
-#include <unistd.h>
-#include <stdlib.h>
-#include <sys/stat.h>
-#include "logmsg.h"
-#include "stralloc.h"
-#include "buffer.h"
-#include "getln.h"
-#include "exit.h"
-#include "open.h"
-#include "auto_qmail.h"
-#include "cdbmake.h"
-
-#define WHO "qmail-badloadertypes"
-#define LOADER_LEN 5
-
-int rename(const char *,const char *); // stdio.h
-
-void die_read()
-{
- logmsg(WHO,111,FATAL,"unable to read control/badloadertypes");
-}
-void die_write()
-{
- logmsg(WHO,111,FATAL,"unable to write to control/badloadertypes.tmp");
-}
-
-char inbuf[1024];
-buffer b;
-
-int fd;
-int fdtemp;
-
-struct cdb_make cdb;
-stralloc line = {0};
-int match;
-
-int main()
-{
- umask(033);
- if (chdir(auto_qmail) == -1)
- logmsg(WHO,111,FATAL,B("unable to chdir to: ",auto_qmail));
-
- fd = open_read("control/badloadertypes");
- if (fd == -1) die_read();
-
- buffer_init(&b,read,fd,inbuf,sizeof(inbuf));
-
- fdtemp = open_trunc("control/badloadertypes.tmp");
- if (fdtemp == -1) die_write();
-
- if (cdb_make_start(&cdb,fdtemp) == -1) die_write();
-
- for (;;) {
- if (getln(&b,&line,&match,'\n') != 0) die_read();
- if (line.s[0] != '#' && line.len > LOADER_LEN)
- if (cdb_make_add(&cdb,line.s,LOADER_LEN,"",0) == -1)
- die_write();
- if (!match) break;
- }
-
- if (cdb_make_finish(&cdb) == -1) die_write();
- if (fsync(fdtemp) == -1) die_write();
- if (close(fdtemp) == -1) die_write(); /* NFS stupidity */
- if (rename("control/badloadertypes.tmp","control/badloadertypes.cdb") == -1)
- logmsg(WHO,111,FATAL,"unable to move control/badloadertypes.tmp to control/badloadertypes.cdb");
-
- _exit(0);
-}