![]() |
s/qmail 4.3.25
Next generation secure email transport
|
#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.
Data Structures | |
| struct | job |
| struct | del |
Macros | |
| #define | CHANNELS 2 |
| #define | REPORTMAX 10000 |
| #define | CHECKSTAT if (errno != ENOENT) goto FAIL; |
Functions | |
| 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 () |
Variables | |
| unsigned long | lifetime = 604800UL |
| unsigned long | bouncemaxbytes = 0UL |
| 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 [BUFSIZE_QMAIL] |
| int | todofdin |
| int | todofdout |
| int | flagtodoalive |
| stralloc | newlocals = {0} |
| stralloc | newvdoms = {0} |
| #define CHANNELS 2 |
Definition at line 61 of file qmail-send.c.
| #define CHECKSTAT if (errno != ENOENT) goto FAIL; |
| #define REPORTMAX 10000 |
Definition at line 88 of file qmail-send.c.
| void addbounce | ( | unsigned long | id, |
| char * | recip, | ||
| char * | report | ||
| ) |
Definition at line 524 of file qmail-send.c.


| void cleandied | ( | void | ) |
Definition at line 73 of file qmail-send.c.


| void cleanup_do | ( | ) |
Definition at line 274 of file qmail-send.c.


| void cleanup_init | ( | ) |
Definition at line 262 of file qmail-send.c.


| void cleanup_selprep | ( | datetime_sec * | wakeup | ) |
| void comm_do | ( | fd_set * | wfds | ) |
Definition at line 229 of file qmail-send.c.


| void comm_init | ( | void | ) |
Definition at line 179 of file qmail-send.c.


| void comm_selprep | ( | int * | nfds, |
| fd_set * | wfds | ||
| ) |
Definition at line 216 of file qmail-send.c.


Definition at line 198 of file qmail-send.c.


Definition at line 773 of file qmail-send.c.


| int del_canexit | ( | ) |
Definition at line 763 of file qmail-send.c.


| void del_do | ( | fd_set * | rfds | ) |
Definition at line 910 of file qmail-send.c.


| void del_dochan | ( | int | c | ) |
Definition at line 829 of file qmail-send.c.


| void del_init | ( | ) |
Definition at line 745 of file qmail-send.c.


| void del_selprep | ( | int * | nfds, |
| fd_set * | rfds | ||
| ) |
Definition at line 898 of file qmail-send.c.


| void del_start | ( | int | j, |
| seek_pos | mpos, | ||
| char * | recip | ||
| ) |
Definition at line 778 of file qmail-send.c.


| void del_status | ( | ) |
Definition at line 730 of file qmail-send.c.


| void fnmake2_bounce | ( | unsigned long | id | ) |
Definition at line 110 of file qmail-send.c.


| void fnmake_chanaddr | ( | unsigned long | id, |
| int | c | ||
| ) |
Definition at line 111 of file qmail-send.c.


| void fnmake_foop | ( | unsigned long | id | ) |
Definition at line 108 of file qmail-send.c.


| void fnmake_info | ( | unsigned long | id | ) |
Definition at line 105 of file qmail-send.c.


| void fnmake_init | ( | void | ) |
Definition at line 99 of file qmail-send.c.


| void fnmake_mess | ( | unsigned long | id | ) |
Definition at line 107 of file qmail-send.c.


| void fnmake_split | ( | unsigned long | id | ) |
Definition at line 109 of file qmail-send.c.


| void fnmake_todo | ( | unsigned long | id | ) |
Definition at line 106 of file qmail-send.c.


| int getcontrols | ( | void | ) |
Definition at line 1282 of file qmail-send.c.


| int getinfo | ( | stralloc * | sa, |
| datetime_sec * | dt, | ||
| unsigned long | id | ||
| ) |
Definition at line 144 of file qmail-send.c.


| int injectbounce | ( | unsigned long | id | ) |
Definition at line 573 of file qmail-send.c.


| int job_avail | ( | ) |
| void job_close | ( | int | j | ) |
Definition at line 460 of file qmail-send.c.


| void job_init | ( | ) |
Definition at line 425 of file qmail-send.c.


| int main | ( | void | ) |
| void markdone | ( | int | c, |
| unsigned long | id, | ||
| seek_pos | pos | ||
| ) |
Definition at line 809 of file qmail-send.c.


| void messdone | ( | unsigned long | id | ) |
Definition at line 1064 of file qmail-send.c.


| datetime_sec nextretry | ( | datetime_sec | birth, |
| int | c | ||
| ) |
Definition at line 981 of file qmail-send.c.


| void pass_do | ( | ) |
Definition at line 1121 of file qmail-send.c.


| void pass_dochan | ( | int | c | ) |
Definition at line 992 of file qmail-send.c.


| void pass_init | ( | ) |
Definition at line 934 of file qmail-send.c.


| void pass_selprep | ( | datetime_sec * | wakeup | ) |
Definition at line 941 of file qmail-send.c.


| void pqadd | ( | unsigned long | id | ) |
Definition at line 320 of file qmail-send.c.


| void pqfinish | ( | ) |
Definition at line 378 of file qmail-send.c.


| void pqrun | ( | ) |
Definition at line 395 of file qmail-send.c.


| void pqstart | ( | ) |
Definition at line 366 of file qmail-send.c.


| void regetcontrols | ( | void | ) |
Definition at line 1315 of file qmail-send.c.


| void reread | ( | void | ) |
Definition at line 1344 of file qmail-send.c.


| void senderadd | ( | stralloc * | sa, |
| char * | sender, | ||
| char * | recip | ||
| ) |
Definition at line 116 of file qmail-send.c.


| void sigalrm | ( | ) |
| void sighup | ( | void | ) |
| void sigterm | ( | void | ) |
| void spawndied | ( | int | c | ) |
Definition at line 81 of file qmail-send.c.


| char * stripvdomprepend | ( | char * | recip | ) |
| void todo_del | ( | char * | s | ) |
Definition at line 1182 of file qmail-send.c.


| void todo_do | ( | fd_set * | rfds | ) |
Definition at line 1231 of file qmail-send.c.


| void todo_init | ( | void | ) |
Definition at line 1157 of file qmail-send.c.


| void todo_selprep | ( | int * | nfds, |
| fd_set * | rfds, | ||
| datetime_sec * | wakeup | ||
| ) |
Definition at line 1168 of file qmail-send.c.


| void tododied | ( | ) |
Definition at line 1151 of file qmail-send.c.


| buffer b |
Definition at line 929 of file qmail-send.c.
| stralloc bouncefrom = {0} |
Definition at line 53 of file qmail-send.c.
| stralloc bouncehost = {0} |
Definition at line 54 of file qmail-send.c.
| unsigned long bouncemaxbytes = 0UL |
Definition at line 42 of file qmail-send.c.
| stralloc bouncetext = {0} |
Definition at line 522 of file qmail-send.c.
| char buf[BUFSIZE_SMALL] |
Definition at line 930 of file qmail-send.c.
Definition at line 62 of file qmail-send.c.
Definition at line 66 of file qmail-send.c.
Definition at line 65 of file qmail-send.c.
Definition at line 67 of file qmail-send.c.
Definition at line 63 of file qmail-send.c.
| readsubdir cleanupdir |
Definition at line 259 of file qmail-send.c.
| datetime_sec cleanuptime |
Definition at line 260 of file qmail-send.c.
| stralloc comm_buf[CHANNELS] = { {0}, {0} } |
Definition at line 176 of file qmail-send.c.
Definition at line 177 of file qmail-send.c.
| unsigned long concurrency[CHANNELS] = { 10, 20 } |
Definition at line 724 of file qmail-send.c.
| unsigned long concurrencyused[CHANNELS] = { 0, 0 } |
Definition at line 725 of file qmail-send.c.
Definition at line 726 of file qmail-send.c.
| char delbuf[2048] |
Definition at line 728 of file qmail-send.c.
| stralloc dline[CHANNELS] |
Definition at line 727 of file qmail-send.c.
| stralloc doublebouncehost = {0} |
Definition at line 56 of file qmail-send.c.
| stralloc doublebounceto = {0} |
Definition at line 55 of file qmail-send.c.
| stralloc envnoathost = {0} |
Definition at line 52 of file qmail-send.c.
| int fd |
Definition at line 927 of file qmail-send.c.
| int flagcleanup |
Definition at line 258 of file qmail-send.c.
| int flagexitasap = 0 |
Definition at line 69 of file qmail-send.c.
| int flagreadasap = 0 |
Definition at line 71 of file qmail-send.c.
| int flagrunasap = 0 |
Definition at line 70 of file qmail-send.c.
Definition at line 79 of file qmail-send.c.
| int flagtodoalive |
Definition at line 1149 of file qmail-send.c.
| stralloc fn = {0} |
Definition at line 95 of file qmail-send.c.
| stralloc fn2 = {0} |
Definition at line 96 of file qmail-send.c.
| char fnmake_strnum[FMT_ULONG] |
Definition at line 97 of file qmail-send.c.
| buffer fromqc |
Definition at line 174 of file qmail-send.c.
| char fromqcbuf[BUFSIZE_LINE] |
Definition at line 175 of file qmail-send.c.
| unsigned long id |
Definition at line 925 of file qmail-send.c.
| int j |
Definition at line 926 of file qmail-send.c.
| struct job* jo |
Definition at line 423 of file qmail-send.c.
| unsigned long lifetime = 604800UL |
Definition at line 41 of file qmail-send.c.
| stralloc locals = {0} |
Definition at line 48 of file qmail-send.c.
| struct constmap maplocals |
Definition at line 49 of file qmail-send.c.
| struct constmap mappercenthack |
Definition at line 47 of file qmail-send.c.
| struct constmap mapvdoms |
Definition at line 51 of file qmail-send.c.
| unsigned long masterdelid = 1 |
Definition at line 723 of file qmail-send.c.
| seek_pos mpos |
Definition at line 928 of file qmail-send.c.
| stralloc newlocals = {0} |
Definition at line 1312 of file qmail-send.c.
| stralloc newvdoms = {0} |
Definition at line 1313 of file qmail-send.c.
| int numjobs |
Definition at line 422 of file qmail-send.c.
| struct { ... } pass[CHANNELS] |
| stralloc percenthack = {0} |
Definition at line 46 of file qmail-send.c.
| prioq pqchan[CHANNELS] = { {0}, {0} } |
Definition at line 315 of file qmail-send.c.
| prioq pqdone = {0} |
Definition at line 314 of file qmail-send.c.
| prioq pqfail = {0} |
Definition at line 318 of file qmail-send.c.
| stralloc queuedir = {0} |
Definition at line 44 of file qmail-send.c.
| datetime_sec recent |
Definition at line 90 of file qmail-send.c.
| char strnum2[FMT_ULONG] |
Definition at line 58 of file qmail-send.c.
| char strnum3[FMT_ULONG] |
Definition at line 59 of file qmail-send.c.
Definition at line 64 of file qmail-send.c.
| char todobuf[BUFSIZE_QMAIL] |
Definition at line 1146 of file qmail-send.c.
| int todofdin |
Definition at line 1147 of file qmail-send.c.
| int todofdout |
Definition at line 1148 of file qmail-send.c.
| stralloc todoline = {0} |
Definition at line 1145 of file qmail-send.c.
| buffer toqc |
Definition at line 172 of file qmail-send.c.
| char toqcbuf[BUFSIZE_LINE] |
Definition at line 173 of file qmail-send.c.
| stralloc vdoms = {0} |
Definition at line 50 of file qmail-send.c.