X-Git-Url: https://git.hcoop.net/hcoop/debian/courier-authlib.git/blobdiff_plain/940be80e3e40dbbbd84161e1e5ae3abf0b2eadf6:/liblock/lockmail.c..01037b081eab5fb3f208489dc3e052ec3a2c8ba1:/libs/liblock/static/gitweb.css?ds=sidebyside diff --git a/liblock/lockmail.c b/liblock/lockmail.c deleted file mode 100644 index 3476605..0000000 --- a/liblock/lockmail.c +++ /dev/null @@ -1,187 +0,0 @@ -/* -** Copyright 2002-2006 Double Precision, Inc. See COPYING for -** distribution information. -*/ - -#include "config.h" -#include "liblock.h" -#include "mail.h" -#include -#include -#include -#include -#include -#include -#include -#include -#if HAVE_SYS_WAIT_H -#include -#endif -#ifdef HAVE_FCNTL_H -#include -#endif -#ifndef WEXITSTATUS -#define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8) -#endif -#ifndef WIFEXITED -#define WIFEXITED(stat_val) (((stat_val) & 255) == 0) -#endif - -#if HAVE_SYSEXITS_H -#include -#endif - -#ifndef EX_TEMPFAIL -#define EX_TEMPFAIL 75 -#endif - -static const char rcsid[]="$Id: lockmail.c,v 1.6 2006/09/20 01:41:27 mrsam Exp $"; - -#define NTRIES_DEFAULT 60 -#define DELAY 5 - -static int sig=0; - -static int catch(int signum) -{ - sig=1; - signal(SIGHUP, (RETSIGTYPE (*)(int))catch); - signal(SIGTERM, (RETSIGTYPE (*)(int))catch); - signal(SIGINT, (RETSIGTYPE (*)(int))catch); - return 0; -} - -static int caught() -{ - signal(SIGHUP, SIG_DFL); - signal(SIGTERM, SIG_DFL); - signal(SIGINT, SIG_DFL); - return sig; -} - -int main(int argc, char **argv) -{ - char **argvec; - int n; - int fd; - pid_t pid, pid2; - int waitstat; - struct ll_mail *p; - int ntries=NTRIES_DEFAULT; - int readonly=0; - int optchar; - - while ((optchar=getopt(argc, argv, "+rt:")) != -1) - switch (optchar) { - case 'r': - readonly=1; - break; - case 't': - ntries=atoi(optarg); - if (ntries < 0) - { - fprintf(stderr, "%s: invalid argument to -t\n", - argv[0]); - exit(EX_TEMPFAIL); - } - ntries= (ntries / DELAY) + 1; - break; - default: - exit(1); - } - - if (argc - optind < 2) - { - fprintf(stderr, "Usage: %s [-r] [-t time] mailfile program [args]...\n", - argv[0]); - exit(1); - } - - if ((argvec=malloc(sizeof(char *) * (argc - optind + 1))) == NULL) - { - perror("malloc"); - exit (1); - } - - for (n=optind+1; n= 0) - close(n); - - signal(SIGUSR2, SIG_IGN); - signal(SIGCHLD, SIG_DFL); - - p=NULL; - - for (n=0; n