s/qmail 4.3.20
Next generation secure email transport
Loading...
Searching...
No Matches
hier.c
Go to the documentation of this file.
1#include "auto_qmail.h"
2#include "auto_queue.h"
3#include "auto_split.h"
4#include "auto_uids.h"
5#include "fmt.h"
6#include "fifo.h"
7#include "ipalloc.h"
8#include "tcpto.h"
9#include "hier.h"
10
11char buf[100 + FMT_ULONG];
12
13void dsplit(char *base,int uid,int mode) /* base must be under 100 bytes */
14{
15 char *x;
16 unsigned long i;
17
18 d(auto_queue,base,uid,auto_gidq,mode);
19
20 for (i = 0; i < auto_split; ++i) {
21 x = buf;
22 x += fmt_str(x,base);
23 x += fmt_str(x,"/");
24 x += fmt_ulong(x,i);
25 *x = 0;
26
28 }
29}
30
31void hier()
32{
34
35 /* s/qmail main directory */
36
37 d(auto_qmail,"control",auto_uido,auto_gidq,0755);
38 d(auto_qmail,"users",auto_uido,auto_gidq,0755);
39 d(auto_qmail,"bin",auto_uido,auto_gidq,0755);
40 d(auto_qmail,"alias",auto_uida,auto_gidq,02755);
41
42 /* s/qmail queue directory */
43
44 d(auto_queue,"queue",auto_uidq,auto_gidq,0750);
45 d(auto_queue,"queue/pid",auto_uidq,auto_gidq,0700);
46 d(auto_queue,"queue/bounce",auto_uids,auto_gidq,0700);
47
48 dsplit("queue/dkim",auto_uidq,0750);
49 dsplit("queue/mess",auto_uidq,0750);
50 dsplit("queue/todo",auto_uidq,0750);
51 dsplit("queue/intd",auto_uidq,0700);
52 dsplit("queue/info",auto_uids,0700);
53 dsplit("queue/local",auto_uids,0700);
54 dsplit("queue/remote",auto_uids,0700);
55
56 d(auto_queue,"queue/lock",auto_uidq,auto_gidq,0750);
57 z(auto_queue,"queue/lock/tcpto",TCPTO_BUFSIZ,auto_uidr,auto_gidq,0644);
58 z(auto_queue,"queue/lock/sendmutex",0,auto_uids,auto_gidq,0600);
59 p(auto_queue,"queue/lock/trigger",auto_uids,auto_gidq,0622);
60
61 /* s/qmail core programs */
62
63 c(auto_qmail,"bin","qmail-queue",auto_uidq,auto_gidq,04711);
64 c(auto_qmail,"bin","qmail-qmaint",auto_uidq,auto_gidq,0711);
65 c(auto_qmail,"bin","qmail-lspawn",auto_uido,auto_gidq,0700);
66 c(auto_qmail,"bin","qmail-start",auto_uido,auto_gidq,0700);
67 c(auto_qmail,"bin","qmail-getpw",auto_uido,auto_gidq,0711);
68 c(auto_qmail,"bin","qmail-local",auto_uido,auto_gidq,0711);
69 c(auto_qmail,"bin","qmail-remote",auto_uido,auto_gidq,0711);
70 c(auto_qmail,"bin","qmail-smtpam",auto_uido,auto_gidq,0711);
71 c(auto_qmail,"bin","qmail-rspawn",auto_uido,auto_gidq,0711);
72 c(auto_qmail,"bin","qmail-clean",auto_uido,auto_gidq,0711);
73 c(auto_qmail,"bin","qmail-send",auto_uido,auto_gidq,0711);
74 c(auto_qmail,"bin","qmail-todo",auto_uido,auto_gidq,0711);
75 c(auto_qmail,"bin","splogger",auto_uido,auto_gidq,0711);
76 c(auto_qmail,"bin","qmail-newu",auto_uido,auto_gidq,0700);
77 c(auto_qmail,"bin","qmail-newmrh",auto_uido,auto_gidq,0700);
78
79 c(auto_qmail,"bin","qmail-dkim",auto_uidq,auto_gidq,0711);
80 c(auto_qmail,"bin","qmail-dksign",auto_uidq,auto_gidq,04711);
81 c(auto_qmail,"bin","qmail-dkverify",auto_uidq,auto_gidq,04711);
82
83 c(auto_qmail,"bin","qmail-authuser",auto_uido,auto_gidq,06711);
84 c(auto_qmail,"bin","qmail-vmailuser",auto_uido,auto_gidq,06711);
85 c(auto_qmail,"bin","qmail-postgrey",auto_uido,auto_gidq,06711);
86 c(auto_qmail,"bin","qmail-badloadertypes",auto_uido,auto_gidq,0711);
87 c(auto_qmail,"bin","qmail-badmimetypes",auto_uido,auto_gidq,0711);
88 c(auto_qmail,"bin","qmail-recipients",auto_uido,auto_gidq,0711);
89 c(auto_qmail,"bin","qmail-mfrules",auto_uido,auto_gidq,0711);
90 c(auto_qmail,"bin","qmail-mrtg",auto_uido,auto_gidq,0755);
91 c(auto_qmail,"bin","qmail-mrtg-queue",auto_uido,auto_gidq,0755);
92
93 c(auto_qmail,"bin","qmail-pw2u",auto_uido,auto_gidq,0711);
94 c(auto_qmail,"bin","qmail-inject",auto_uido,auto_gidq,0755);
95 c(auto_qmail,"bin","qmail-showctl",auto_uido,auto_gidq,0755);
96 c(auto_qmail,"bin","qmail-qread",auto_uido,auto_gidq,0755);
97 c(auto_qmail,"bin","qmail-qstat",auto_uido,auto_gidq,0755);
98 c(auto_qmail,"bin","qmail-tcpto",auto_uido,auto_gidq,0755);
99 c(auto_qmail,"bin","qmail-tcpok",auto_uido,auto_gidq,0755);
100 c(auto_qmail,"bin","qmail-pop3d",auto_uido,auto_gidq,0755);
101 c(auto_qmail,"bin","qmail-popup",auto_uido,auto_gidq,0711);
102 c(auto_qmail,"bin","qmail-qmqpc",auto_uido,auto_gidq,0755);
103 c(auto_qmail,"bin","qmail-qmqpd",auto_uido,auto_gidq,0755);
104 c(auto_qmail,"bin","qmail-qmtpd",auto_uido,auto_gidq,0755);
105 c(auto_qmail,"bin","qmail-smtpd",auto_uido,auto_gidq,0755);
106
107 /* s/qmail user programs; can be linked/moved to usr path */
108
109 c(auto_qmail,"bin","predate",auto_uido,auto_gidq,0755);
110 c(auto_qmail,"bin","datemail",auto_uido,auto_gidq,0755);
111 c(auto_qmail,"bin","mailsubj",auto_uido,auto_gidq,0755);
112 c(auto_qmail,"bin","sendmail",auto_uido,auto_gidq,0755);
113 c(auto_qmail,"bin","qreceipt",auto_uido,auto_gidq,0755);
114 c(auto_qmail,"bin","qbiff",auto_uido,auto_gidq,0755);
115 c(auto_qmail,"bin","forward",auto_uido,auto_gidq,0755);
116 c(auto_qmail,"bin","preline",auto_uido,auto_gidq,0755);
117 c(auto_qmail,"bin","condredirect",auto_uido,auto_gidq,0755);
118 c(auto_qmail,"bin","bouncesaying",auto_uido,auto_gidq,0755);
119 c(auto_qmail,"bin","except",auto_uido,auto_gidq,0755);
120 c(auto_qmail,"bin","maildirmake",auto_uido,auto_gidq,0755);
121 c(auto_qmail,"bin","maildir2mbox",auto_uido,auto_gidq,0755);
122 c(auto_qmail,"bin","maildirwatch",auto_uido,auto_gidq,0755);
123
124 c(auto_qmail,"bin","fastforward",auto_uido,auto_gidq,0755);
125 c(auto_qmail,"bin","printforward",auto_uido,auto_gidq,0755);
126 c(auto_qmail,"bin","setforward",auto_uido,auto_gidq,0755);
127 c(auto_qmail,"bin","newaliases",auto_uido,auto_gidq,0755);
128 c(auto_qmail,"bin","printmaillist",auto_uido,auto_gidq,0755);
129 c(auto_qmail,"bin","setmaillist",auto_uido,auto_gidq,0755);
130 c(auto_qmail,"bin","newinclude",auto_uido,auto_gidq,0755);
131 c(auto_qmail,"bin","srsforward",auto_uido,auto_gidq,0755);
132 c(auto_qmail,"bin","srsreverse",auto_uido,auto_gidq,0755);
133
134 /* s/qmail DNS user programs; can be linked to usr path */
135
136 c(auto_qmail,"bin","ipmeprint",auto_uido,auto_gidq,0755);
137 c(auto_qmail,"bin","spfquery",auto_uido,auto_gidq,0755);
138 c(auto_qmail,"bin","dnscname",auto_uido,auto_gidq,0755);
139 c(auto_qmail,"bin","dnsfq",auto_uido,auto_gidq,0755);
140 c(auto_qmail,"bin","dnsip",auto_uido,auto_gidq,0755);
141 c(auto_qmail,"bin","dnsmxip",auto_uido,auto_gidq,0755);
142 c(auto_qmail,"bin","dnsptr",auto_uido,auto_gidq,0755);
143 c(auto_qmail,"bin","dnstlsa",auto_uido,auto_gidq,0755);
144 c(auto_qmail,"bin","dnstxt",auto_uido,auto_gidq,0755);
145 c(auto_qmail,"bin","hostname",auto_uido,auto_gidq,0755);
146
147 /* s/qmail qmailanalog programs */
148
149 c(auto_qmail,"bin","columnt",auto_uido,auto_gidq,0755);
150 c(auto_qmail,"bin","ddist",auto_uido,auto_gidq,0755);
151 c(auto_qmail,"bin","deferrals",auto_uido,auto_gidq,0755);
152 c(auto_qmail,"bin","failures",auto_uido,auto_gidq,0755);
153 c(auto_qmail,"bin","matchup",auto_uido,auto_gidq,0755);
154 c(auto_qmail,"bin","recipients",auto_uido,auto_gidq,0755);
155 c(auto_qmail,"bin","rhosts",auto_uido,auto_gidq,0755);
156 c(auto_qmail,"bin","rxdelay",auto_uido,auto_gidq,0755);
157 c(auto_qmail,"bin","senders",auto_uido,auto_gidq,0755);
158 c(auto_qmail,"bin","successes",auto_uido,auto_gidq,0755);
159 c(auto_qmail,"bin","suids",auto_uido,auto_gidq,0755);
160 c(auto_qmail,"bin","tai64nfrac",auto_uido,auto_gidq,0755);
161 c(auto_qmail,"bin","xqp",auto_uido,auto_gidq,0755);
162 c(auto_qmail,"bin","xrecipient",auto_uido,auto_gidq,0755);
163 c(auto_qmail,"bin","xsender",auto_uido,auto_gidq,0755);
164 c(auto_qmail,"bin","zddist",auto_uido,auto_gidq,0755);
165 c(auto_qmail,"bin","zdeferrals",auto_uido,auto_gidq,0755);
166 c(auto_qmail,"bin","zfailures",auto_uido,auto_gidq,0755);
167 c(auto_qmail,"bin","zfailures",auto_uido,auto_gidq,0755);
168 c(auto_qmail,"bin","zoverall",auto_uido,auto_gidq,0755);
169 c(auto_qmail,"bin","zrecipients",auto_uido,auto_gidq,0755);
170 c(auto_qmail,"bin","zrhosts",auto_uido,auto_gidq,0755);
171 c(auto_qmail,"bin","zrxdelay",auto_uido,auto_gidq,0755);
172 c(auto_qmail,"bin","zsenders",auto_uido,auto_gidq,0755);
173 c(auto_qmail,"bin","zsendmail",auto_uido,auto_gidq,0755);
174 c(auto_qmail,"bin","zsuccesses",auto_uido,auto_gidq,0755);
175 c(auto_qmail,"bin","zsuids",auto_uido,auto_gidq,0755);
176}
char auto_qmail[]
char auto_queue[]
int auto_split
int auto_gidq
int auto_uidr
int auto_uidq
int auto_uida
int auto_uids
int auto_uido
void dsplit(char *base, int uid, int mode)
Definition: hier.c:13
void hier()
Definition: hier.c:31
char buf[100+FMT_ULONG]
Definition: hier.c:11
void h(char *, char *, int, int, int)
Definition: install.c:15
void z(char *, char *, int, int, int, int)
Definition: install.c:111
void c(char *, char *, char *, int, int, int)
Definition: install.c:67
void p(char *, char *, int, int, int)
Definition: install.c:49
ulongalloc uid
Definition: matchup.c:59
struct del * d[CHANNELS]
Definition: qmail-send.c:726
#define TCPTO_BUFSIZ
Definition: tcpto.h:5