#include <sys/types.h>
#include <sys/stat.h>
#include <string.h>
#include <unistd.h>
#include <utime.h>
#include "error.h"
#include "sig.h"
#include "direntry.h"
#include "control.h"
#include "select.h"
#include "open.h"
#include "seek.h"
#include "exit.h"
#include "lock.h"
#include "ndelay.h"
#include "now.h"
#include "getln.h"
#include "buffer.h"
#include "alloc.h"
#include "genalloc.h"
#include "stralloc.h"
#include "logmsg.h"
#include "str.h"
#include "byte.h"
#include "fmt.h"
#include "scan.h"
#include "case.h"
#include "auto_qmail.h"
#include "auto_queue.h"
#include "trigger.h"
#include "newfield.h"
#include "quote.h"
#include "qmail.h"
#include "qsutil.h"
#include "prioq.h"
#include "constmap.h"
#include "fmtqfn.h"
#include "readsubdir.h"
#include "sendtodo.h"
Go to the source code of this file.
|
void | sigterm () |
void | sigalrm () |
void | sighup () |
void | cleandied () |
void | spawndied (int c) |
void | fnmake_init () |
void | fnmake_info (unsigned long id) |
void | fnmake_todo (unsigned long id) |
void | fnmake_mess (unsigned long id) |
void | fnmake_foop (unsigned long id) |
void | fnmake_split (unsigned long id) |
void | fnmake2_bounce (unsigned long id) |
void | fnmake_chanaddr (unsigned long id, int c) |
void | senderadd (stralloc *sa, char *sender, char *recip) |
int | getinfo (stralloc *sa, datetime_sec *dt, unsigned long id) |
void | comm_init () |
int | comm_canwrite (int c) |
void | comm_write (int c, int delnum, unsigned long id, char *sender, char *recip) |
void | comm_selprep (int *nfds, fd_set *wfds) |
void | comm_do (fd_set *wfds) |
void | cleanup_init () |
void | cleanup_selprep (datetime_sec *wakeup) |
void | cleanup_do () |
void | pqadd (unsigned long id) |
void | pqstart () |
void | pqfinish () |
void | pqrun () |
void | job_init () |
int | job_avail () |
int | job_open (unsigned long id, int channel) |
void | job_close (int j) |
char * | stripvdomprepend (char *recip) |
void | addbounce (unsigned long id, char *recip, char *report) |
int | injectbounce (unsigned long id) |
void | del_status () |
void | del_init () |
int | del_canexit () |
int | del_avail (int c) |
void | del_start (int j, seek_pos mpos, char *recip) |
void | markdone (int c, unsigned long id, seek_pos pos) |
void | del_dochan (int c) |
void | del_selprep (int *nfds, fd_set *rfds) |
void | del_do (fd_set *rfds) |
void | pass_init () |
void | pass_selprep (datetime_sec *wakeup) |
datetime_sec | nextretry (datetime_sec birth, int c) |
void | pass_dochan (int c) |
void | messdone (unsigned long id) |
void | pass_do () |
void | tododied () |
void | todo_init () |
void | todo_selprep (int *nfds, fd_set *rfds, datetime_sec *wakeup) |
void | todo_del (char *s) |
void | todo_do (fd_set *rfds) |
int | getcontrols () |
void | regetcontrols () |
void | reread () |
int | main () |
|
long | lifetime = 604800 |
long | bouncemaxbytes = 0 |
stralloc | queuedir = {0} |
stralloc | percenthack = {0} |
struct constmap | mappercenthack |
stralloc | locals = {0} |
struct constmap | maplocals |
stralloc | vdoms = {0} |
struct constmap | mapvdoms |
stralloc | envnoathost = {0} |
stralloc | bouncefrom = {0} |
stralloc | bouncehost = {0} |
stralloc | doublebounceto = {0} |
stralloc | doublebouncehost = {0} |
char | strnum2 [FMT_ULONG] |
char | strnum3 [FMT_ULONG] |
char * | chanaddr [CHANNELS] = { "local/", "remote/" } |
char * | chanstatusmsg [CHANNELS] = { " local ", " remote " } |
char * | tochan [CHANNELS] = { " to local ", " to remote " } |
int | chanfdout [CHANNELS] = { 1, 3 } |
int | chanfdin [CHANNELS] = { 2, 4 } |
int | chanskip [CHANNELS] = { 10, 20 } |
int | flagexitasap = 0 |
int | flagrunasap = 0 |
int | flagreadasap = 0 |
int | flagspawnalive [CHANNELS] |
datetime_sec | recent |
stralloc | fn = {0} |
stralloc | fn2 = {0} |
char | fnmake_strnum [FMT_ULONG] |
buffer | toqc |
char | toqcbuf [BUFSIZE_LINE] |
buffer | fromqc |
char | fromqcbuf [BUFSIZE_LINE] |
stralloc | comm_buf [CHANNELS] = { {0}, {0} } |
int | comm_pos [CHANNELS] |
int | flagcleanup |
readsubdir | cleanupdir |
datetime_sec | cleanuptime |
prioq | pqdone = {0} |
prioq | pqchan [CHANNELS] = { {0}, {0} } |
prioq | pqfail = {0} |
int | numjobs |
struct job * | jo |
stralloc | bouncetext = {0} |
unsigned long | masterdelid = 1 |
unsigned long | concurrency [CHANNELS] = { 10, 20 } |
unsigned long | concurrencyused [CHANNELS] = { 0, 0 } |
struct del * | d [CHANNELS] |
stralloc | dline [CHANNELS] |
char | delbuf [2048] |
struct { | |
unsigned long id | |
int j | |
int fd | |
seek_pos mpos | |
buffer b | |
char buf [BUFSIZE_SMALL] | |
} | pass [CHANNELS] |
stralloc | todoline = {0} |
char | todobuf [2048] |
int | todofdin |
int | todofdout |
int | flagtodoalive |
stralloc | newlocals = {0} |
stralloc | newvdoms = {0} |
◆ CHANNELS
◆ CHECKSTAT
#define CHECKSTAT if (errno != ENOENT) goto FAIL; |
◆ REPORTMAX
◆ addbounce()
void addbounce |
( |
unsigned long | id, |
|
|
char * | recip, |
|
|
char * | report ) |
◆ cleandied()
◆ cleanup_do()
◆ cleanup_init()
◆ cleanup_selprep()
◆ comm_canwrite()
int comm_canwrite |
( |
int | c | ) |
|
◆ comm_do()
void comm_do |
( |
fd_set * | wfds | ) |
|
◆ comm_init()
◆ comm_selprep()
void comm_selprep |
( |
int * | nfds, |
|
|
fd_set * | wfds ) |
◆ comm_write()
void comm_write |
( |
int | c, |
|
|
int | delnum, |
|
|
unsigned long | id, |
|
|
char * | sender, |
|
|
char * | recip ) |
◆ del_avail()
◆ del_canexit()
◆ del_do()
void del_do |
( |
fd_set * | rfds | ) |
|
◆ del_dochan()
◆ del_init()
◆ del_selprep()
void del_selprep |
( |
int * | nfds, |
|
|
fd_set * | rfds ) |
◆ del_start()
void del_start |
( |
int | j, |
|
|
seek_pos | mpos, |
|
|
char * | recip ) |
◆ del_status()
◆ fnmake2_bounce()
void fnmake2_bounce |
( |
unsigned long | id | ) |
|
◆ fnmake_chanaddr()
void fnmake_chanaddr |
( |
unsigned long | id, |
|
|
int | c ) |
◆ fnmake_foop()
void fnmake_foop |
( |
unsigned long | id | ) |
|
◆ fnmake_info()
void fnmake_info |
( |
unsigned long | id | ) |
|
◆ fnmake_init()
void fnmake_init |
( |
void | | ) |
|
◆ fnmake_mess()
void fnmake_mess |
( |
unsigned long | id | ) |
|
◆ fnmake_split()
void fnmake_split |
( |
unsigned long | id | ) |
|
◆ fnmake_todo()
void fnmake_todo |
( |
unsigned long | id | ) |
|
◆ getcontrols()
◆ getinfo()
int getinfo |
( |
stralloc * | sa, |
|
|
datetime_sec * | dt, |
|
|
unsigned long | id ) |
◆ injectbounce()
int injectbounce |
( |
unsigned long | id | ) |
|
◆ job_avail()
◆ job_close()
◆ job_init()
◆ job_open()
int job_open |
( |
unsigned long | id, |
|
|
int | channel ) |
◆ main()
◆ markdone()
void markdone |
( |
int | c, |
|
|
unsigned long | id, |
|
|
seek_pos | pos ) |
◆ messdone()
void messdone |
( |
unsigned long | id | ) |
|
◆ nextretry()
◆ pass_do()
◆ pass_dochan()
void pass_dochan |
( |
int | c | ) |
|
◆ pass_init()
◆ pass_selprep()
◆ pqadd()
void pqadd |
( |
unsigned long | id | ) |
|
◆ pqfinish()
◆ pqrun()
◆ pqstart()
◆ regetcontrols()
void regetcontrols |
( |
void | | ) |
|
◆ reread()
◆ senderadd()
void senderadd |
( |
stralloc * | sa, |
|
|
char * | sender, |
|
|
char * | recip ) |
◆ sigalrm()
◆ sighup()
◆ sigterm()
◆ spawndied()
◆ stripvdomprepend()
char * stripvdomprepend |
( |
char * | recip | ) |
|
◆ todo_del()
void todo_del |
( |
char * | s | ) |
|
◆ todo_do()
void todo_do |
( |
fd_set * | rfds | ) |
|
◆ todo_init()
◆ todo_selprep()
void todo_selprep |
( |
int * | nfds, |
|
|
fd_set * | rfds, |
|
|
datetime_sec * | wakeup ) |
◆ tododied()
◆ bouncefrom
stralloc bouncefrom = {0} |
◆ bouncehost
stralloc bouncehost = {0} |
◆ bouncemaxbytes
◆ bouncetext
stralloc bouncetext = {0} |
◆ buf
◆ chanaddr
◆ chanfdin
◆ chanfdout
◆ chanskip
◆ chanstatusmsg
◆ cleanupdir
◆ cleanuptime
◆ comm_buf
stralloc comm_buf[CHANNELS] = { {0}, {0} } |
◆ comm_pos
◆ concurrency
unsigned long concurrency[CHANNELS] = { 10, 20 } |
◆ concurrencyused
unsigned long concurrencyused[CHANNELS] = { 0, 0 } |
◆ delbuf
◆ dline
◆ doublebouncehost
stralloc doublebouncehost = {0} |
◆ doublebounceto
stralloc doublebounceto = {0} |
◆ envnoathost
stralloc envnoathost = {0} |
◆ fd
◆ flagcleanup
◆ flagexitasap
◆ flagreadasap
◆ flagrunasap
◆ flagspawnalive
◆ flagtodoalive
◆ fn
◆ fn2
◆ fnmake_strnum
char fnmake_strnum[FMT_ULONG] |
◆ fromqc
◆ fromqcbuf
◆ id
◆ jo
◆ lifetime
◆ locals
◆ maplocals
◆ mappercenthack
◆ mapvdoms
◆ masterdelid
unsigned long masterdelid = 1 |
◆ mpos
◆ newlocals
◆ newvdoms
◆ numjobs
◆ [struct]
◆ percenthack
stralloc percenthack = {0} |
◆ pqchan
◆ pqdone
◆ pqfail
◆ queuedir
◆ recent
◆ strnum2
◆ strnum3
◆ tochan
◆ todobuf
◆ todofdin
◆ todofdout
◆ todoline
◆ toqc
◆ toqcbuf
◆ vdoms