Upstream qmail 1.03
[qmail] / hier.c
1 #include "auto_qmail.h"
2 #include "auto_split.h"
3 #include "auto_uids.h"
4 #include "fmt.h"
5 #include "fifo.h"
6
7 char buf[100 + FMT_ULONG];
8
9 void dsplit(base,uid,mode)
10 char *base; /* must be under 100 bytes */
11 int uid;
12 int mode;
13 {
14 char *x;
15 unsigned long i;
16
17 d(auto_qmail,base,uid,auto_gidq,mode);
18
19 for (i = 0;i < auto_split;++i) {
20 x = buf;
21 x += fmt_str(x,base);
22 x += fmt_str(x,"/");
23 x += fmt_ulong(x,i);
24 *x = 0;
25
26 d(auto_qmail,buf,uid,auto_gidq,mode);
27 }
28 }
29
30 void hier()
31 {
32 h(auto_qmail,auto_uido,auto_gidq,0755);
33
34 d(auto_qmail,"control",auto_uido,auto_gidq,0755);
35 d(auto_qmail,"users",auto_uido,auto_gidq,0755);
36 d(auto_qmail,"bin",auto_uido,auto_gidq,0755);
37 d(auto_qmail,"boot",auto_uido,auto_gidq,0755);
38 d(auto_qmail,"doc",auto_uido,auto_gidq,0755);
39 d(auto_qmail,"man",auto_uido,auto_gidq,0755);
40 d(auto_qmail,"man/cat1",auto_uido,auto_gidq,0755);
41 d(auto_qmail,"man/cat5",auto_uido,auto_gidq,0755);
42 d(auto_qmail,"man/cat7",auto_uido,auto_gidq,0755);
43 d(auto_qmail,"man/cat8",auto_uido,auto_gidq,0755);
44 d(auto_qmail,"man/man1",auto_uido,auto_gidq,0755);
45 d(auto_qmail,"man/man5",auto_uido,auto_gidq,0755);
46 d(auto_qmail,"man/man7",auto_uido,auto_gidq,0755);
47 d(auto_qmail,"man/man8",auto_uido,auto_gidq,0755);
48
49 d(auto_qmail,"alias",auto_uida,auto_gidq,02755);
50
51 d(auto_qmail,"queue",auto_uidq,auto_gidq,0750);
52 d(auto_qmail,"queue/pid",auto_uidq,auto_gidq,0700);
53 d(auto_qmail,"queue/intd",auto_uidq,auto_gidq,0700);
54 d(auto_qmail,"queue/todo",auto_uidq,auto_gidq,0750);
55 d(auto_qmail,"queue/bounce",auto_uids,auto_gidq,0700);
56
57 dsplit("queue/mess",auto_uidq,0750);
58 dsplit("queue/info",auto_uids,0700);
59 dsplit("queue/local",auto_uids,0700);
60 dsplit("queue/remote",auto_uids,0700);
61
62 d(auto_qmail,"queue/lock",auto_uidq,auto_gidq,0750);
63 z(auto_qmail,"queue/lock/tcpto",1024,auto_uidr,auto_gidq,0644);
64 z(auto_qmail,"queue/lock/sendmutex",0,auto_uids,auto_gidq,0600);
65 p(auto_qmail,"queue/lock/trigger",auto_uids,auto_gidq,0622);
66
67 c(auto_qmail,"boot","home",auto_uido,auto_gidq,0755);
68 c(auto_qmail,"boot","home+df",auto_uido,auto_gidq,0755);
69 c(auto_qmail,"boot","proc",auto_uido,auto_gidq,0755);
70 c(auto_qmail,"boot","proc+df",auto_uido,auto_gidq,0755);
71 c(auto_qmail,"boot","binm1",auto_uido,auto_gidq,0755);
72 c(auto_qmail,"boot","binm1+df",auto_uido,auto_gidq,0755);
73 c(auto_qmail,"boot","binm2",auto_uido,auto_gidq,0755);
74 c(auto_qmail,"boot","binm2+df",auto_uido,auto_gidq,0755);
75 c(auto_qmail,"boot","binm3",auto_uido,auto_gidq,0755);
76 c(auto_qmail,"boot","binm3+df",auto_uido,auto_gidq,0755);
77
78 c(auto_qmail,"doc","FAQ",auto_uido,auto_gidq,0644);
79 c(auto_qmail,"doc","UPGRADE",auto_uido,auto_gidq,0644);
80 c(auto_qmail,"doc","SENDMAIL",auto_uido,auto_gidq,0644);
81 c(auto_qmail,"doc","INSTALL",auto_uido,auto_gidq,0644);
82 c(auto_qmail,"doc","INSTALL.alias",auto_uido,auto_gidq,0644);
83 c(auto_qmail,"doc","INSTALL.ctl",auto_uido,auto_gidq,0644);
84 c(auto_qmail,"doc","INSTALL.ids",auto_uido,auto_gidq,0644);
85 c(auto_qmail,"doc","INSTALL.maildir",auto_uido,auto_gidq,0644);
86 c(auto_qmail,"doc","INSTALL.mbox",auto_uido,auto_gidq,0644);
87 c(auto_qmail,"doc","INSTALL.vsm",auto_uido,auto_gidq,0644);
88 c(auto_qmail,"doc","TEST.deliver",auto_uido,auto_gidq,0644);
89 c(auto_qmail,"doc","TEST.receive",auto_uido,auto_gidq,0644);
90 c(auto_qmail,"doc","REMOVE.sendmail",auto_uido,auto_gidq,0644);
91 c(auto_qmail,"doc","REMOVE.binmail",auto_uido,auto_gidq,0644);
92 c(auto_qmail,"doc","PIC.local2alias",auto_uido,auto_gidq,0644);
93 c(auto_qmail,"doc","PIC.local2ext",auto_uido,auto_gidq,0644);
94 c(auto_qmail,"doc","PIC.local2local",auto_uido,auto_gidq,0644);
95 c(auto_qmail,"doc","PIC.local2rem",auto_uido,auto_gidq,0644);
96 c(auto_qmail,"doc","PIC.local2virt",auto_uido,auto_gidq,0644);
97 c(auto_qmail,"doc","PIC.nullclient",auto_uido,auto_gidq,0644);
98 c(auto_qmail,"doc","PIC.relaybad",auto_uido,auto_gidq,0644);
99 c(auto_qmail,"doc","PIC.relaygood",auto_uido,auto_gidq,0644);
100 c(auto_qmail,"doc","PIC.rem2local",auto_uido,auto_gidq,0644);
101
102 c(auto_qmail,"bin","qmail-queue",auto_uidq,auto_gidq,04711);
103 c(auto_qmail,"bin","qmail-lspawn",auto_uido,auto_gidq,0700);
104 c(auto_qmail,"bin","qmail-start",auto_uido,auto_gidq,0700);
105 c(auto_qmail,"bin","qmail-getpw",auto_uido,auto_gidq,0711);
106 c(auto_qmail,"bin","qmail-local",auto_uido,auto_gidq,0711);
107 c(auto_qmail,"bin","qmail-remote",auto_uido,auto_gidq,0711);
108 c(auto_qmail,"bin","qmail-rspawn",auto_uido,auto_gidq,0711);
109 c(auto_qmail,"bin","qmail-clean",auto_uido,auto_gidq,0711);
110 c(auto_qmail,"bin","qmail-send",auto_uido,auto_gidq,0711);
111 c(auto_qmail,"bin","splogger",auto_uido,auto_gidq,0711);
112 c(auto_qmail,"bin","qmail-newu",auto_uido,auto_gidq,0700);
113 c(auto_qmail,"bin","qmail-newmrh",auto_uido,auto_gidq,0700);
114 c(auto_qmail,"bin","qmail-pw2u",auto_uido,auto_gidq,0711);
115 c(auto_qmail,"bin","qmail-inject",auto_uido,auto_gidq,0755);
116 c(auto_qmail,"bin","predate",auto_uido,auto_gidq,0755);
117 c(auto_qmail,"bin","datemail",auto_uido,auto_gidq,0755);
118 c(auto_qmail,"bin","mailsubj",auto_uido,auto_gidq,0755);
119 c(auto_qmail,"bin","qmail-showctl",auto_uido,auto_gidq,0755);
120 c(auto_qmail,"bin","qmail-qread",auto_uido,auto_gidq,0755);
121 c(auto_qmail,"bin","qmail-qstat",auto_uido,auto_gidq,0755);
122 c(auto_qmail,"bin","qmail-tcpto",auto_uido,auto_gidq,0755);
123 c(auto_qmail,"bin","qmail-tcpok",auto_uido,auto_gidq,0755);
124 c(auto_qmail,"bin","qmail-pop3d",auto_uido,auto_gidq,0755);
125 c(auto_qmail,"bin","qmail-popup",auto_uido,auto_gidq,0711);
126 c(auto_qmail,"bin","qmail-qmqpc",auto_uido,auto_gidq,0755);
127 c(auto_qmail,"bin","qmail-qmqpd",auto_uido,auto_gidq,0755);
128 c(auto_qmail,"bin","qmail-qmtpd",auto_uido,auto_gidq,0755);
129 c(auto_qmail,"bin","qmail-smtpd",auto_uido,auto_gidq,0755);
130 c(auto_qmail,"bin","sendmail",auto_uido,auto_gidq,0755);
131 c(auto_qmail,"bin","tcp-env",auto_uido,auto_gidq,0755);
132 c(auto_qmail,"bin","qreceipt",auto_uido,auto_gidq,0755);
133 c(auto_qmail,"bin","qsmhook",auto_uido,auto_gidq,0755);
134 c(auto_qmail,"bin","qbiff",auto_uido,auto_gidq,0755);
135 c(auto_qmail,"bin","forward",auto_uido,auto_gidq,0755);
136 c(auto_qmail,"bin","preline",auto_uido,auto_gidq,0755);
137 c(auto_qmail,"bin","condredirect",auto_uido,auto_gidq,0755);
138 c(auto_qmail,"bin","bouncesaying",auto_uido,auto_gidq,0755);
139 c(auto_qmail,"bin","except",auto_uido,auto_gidq,0755);
140 c(auto_qmail,"bin","maildirmake",auto_uido,auto_gidq,0755);
141 c(auto_qmail,"bin","maildir2mbox",auto_uido,auto_gidq,0755);
142 c(auto_qmail,"bin","maildirwatch",auto_uido,auto_gidq,0755);
143 c(auto_qmail,"bin","qail",auto_uido,auto_gidq,0755);
144 c(auto_qmail,"bin","elq",auto_uido,auto_gidq,0755);
145 c(auto_qmail,"bin","pinq",auto_uido,auto_gidq,0755);
146
147 c(auto_qmail,"man/man5","addresses.5",auto_uido,auto_gidq,0644);
148 c(auto_qmail,"man/cat5","addresses.0",auto_uido,auto_gidq,0644);
149 c(auto_qmail,"man/man5","envelopes.5",auto_uido,auto_gidq,0644);
150 c(auto_qmail,"man/cat5","envelopes.0",auto_uido,auto_gidq,0644);
151 c(auto_qmail,"man/man5","maildir.5",auto_uido,auto_gidq,0644);
152 c(auto_qmail,"man/cat5","maildir.0",auto_uido,auto_gidq,0644);
153 c(auto_qmail,"man/man5","mbox.5",auto_uido,auto_gidq,0644);
154 c(auto_qmail,"man/cat5","mbox.0",auto_uido,auto_gidq,0644);
155 c(auto_qmail,"man/man5","dot-qmail.5",auto_uido,auto_gidq,0644);
156 c(auto_qmail,"man/cat5","dot-qmail.0",auto_uido,auto_gidq,0644);
157 c(auto_qmail,"man/man5","qmail-control.5",auto_uido,auto_gidq,0644);
158 c(auto_qmail,"man/cat5","qmail-control.0",auto_uido,auto_gidq,0644);
159 c(auto_qmail,"man/man5","qmail-header.5",auto_uido,auto_gidq,0644);
160 c(auto_qmail,"man/cat5","qmail-header.0",auto_uido,auto_gidq,0644);
161 c(auto_qmail,"man/man5","qmail-log.5",auto_uido,auto_gidq,0644);
162 c(auto_qmail,"man/cat5","qmail-log.0",auto_uido,auto_gidq,0644);
163 c(auto_qmail,"man/man5","qmail-users.5",auto_uido,auto_gidq,0644);
164 c(auto_qmail,"man/cat5","qmail-users.0",auto_uido,auto_gidq,0644);
165 c(auto_qmail,"man/man5","tcp-environ.5",auto_uido,auto_gidq,0644);
166 c(auto_qmail,"man/cat5","tcp-environ.0",auto_uido,auto_gidq,0644);
167
168 c(auto_qmail,"man/man7","forgeries.7",auto_uido,auto_gidq,0644);
169 c(auto_qmail,"man/cat7","forgeries.0",auto_uido,auto_gidq,0644);
170 c(auto_qmail,"man/man7","qmail-limits.7",auto_uido,auto_gidq,0644);
171 c(auto_qmail,"man/cat7","qmail-limits.0",auto_uido,auto_gidq,0644);
172 c(auto_qmail,"man/man7","qmail.7",auto_uido,auto_gidq,0644);
173 c(auto_qmail,"man/cat7","qmail.0",auto_uido,auto_gidq,0644);
174
175 c(auto_qmail,"man/man1","forward.1",auto_uido,auto_gidq,0644);
176 c(auto_qmail,"man/cat1","forward.0",auto_uido,auto_gidq,0644);
177 c(auto_qmail,"man/man1","condredirect.1",auto_uido,auto_gidq,0644);
178 c(auto_qmail,"man/cat1","condredirect.0",auto_uido,auto_gidq,0644);
179 c(auto_qmail,"man/man1","bouncesaying.1",auto_uido,auto_gidq,0644);
180 c(auto_qmail,"man/cat1","bouncesaying.0",auto_uido,auto_gidq,0644);
181 c(auto_qmail,"man/man1","except.1",auto_uido,auto_gidq,0644);
182 c(auto_qmail,"man/cat1","except.0",auto_uido,auto_gidq,0644);
183 c(auto_qmail,"man/man1","maildirmake.1",auto_uido,auto_gidq,0644);
184 c(auto_qmail,"man/cat1","maildirmake.0",auto_uido,auto_gidq,0644);
185 c(auto_qmail,"man/man1","maildir2mbox.1",auto_uido,auto_gidq,0644);
186 c(auto_qmail,"man/cat1","maildir2mbox.0",auto_uido,auto_gidq,0644);
187 c(auto_qmail,"man/man1","maildirwatch.1",auto_uido,auto_gidq,0644);
188 c(auto_qmail,"man/cat1","maildirwatch.0",auto_uido,auto_gidq,0644);
189 c(auto_qmail,"man/man1","mailsubj.1",auto_uido,auto_gidq,0644);
190 c(auto_qmail,"man/cat1","mailsubj.0",auto_uido,auto_gidq,0644);
191 c(auto_qmail,"man/man1","qreceipt.1",auto_uido,auto_gidq,0644);
192 c(auto_qmail,"man/cat1","qreceipt.0",auto_uido,auto_gidq,0644);
193 c(auto_qmail,"man/man1","qbiff.1",auto_uido,auto_gidq,0644);
194 c(auto_qmail,"man/cat1","qbiff.0",auto_uido,auto_gidq,0644);
195 c(auto_qmail,"man/man1","preline.1",auto_uido,auto_gidq,0644);
196 c(auto_qmail,"man/cat1","preline.0",auto_uido,auto_gidq,0644);
197 c(auto_qmail,"man/man1","tcp-env.1",auto_uido,auto_gidq,0644);
198 c(auto_qmail,"man/cat1","tcp-env.0",auto_uido,auto_gidq,0644);
199
200 c(auto_qmail,"man/man8","qmail-local.8",auto_uido,auto_gidq,0644);
201 c(auto_qmail,"man/cat8","qmail-local.0",auto_uido,auto_gidq,0644);
202 c(auto_qmail,"man/man8","qmail-lspawn.8",auto_uido,auto_gidq,0644);
203 c(auto_qmail,"man/cat8","qmail-lspawn.0",auto_uido,auto_gidq,0644);
204 c(auto_qmail,"man/man8","qmail-getpw.8",auto_uido,auto_gidq,0644);
205 c(auto_qmail,"man/cat8","qmail-getpw.0",auto_uido,auto_gidq,0644);
206 c(auto_qmail,"man/man8","qmail-remote.8",auto_uido,auto_gidq,0644);
207 c(auto_qmail,"man/cat8","qmail-remote.0",auto_uido,auto_gidq,0644);
208 c(auto_qmail,"man/man8","qmail-rspawn.8",auto_uido,auto_gidq,0644);
209 c(auto_qmail,"man/cat8","qmail-rspawn.0",auto_uido,auto_gidq,0644);
210 c(auto_qmail,"man/man8","qmail-clean.8",auto_uido,auto_gidq,0644);
211 c(auto_qmail,"man/cat8","qmail-clean.0",auto_uido,auto_gidq,0644);
212 c(auto_qmail,"man/man8","qmail-send.8",auto_uido,auto_gidq,0644);
213 c(auto_qmail,"man/cat8","qmail-send.0",auto_uido,auto_gidq,0644);
214 c(auto_qmail,"man/man8","qmail-start.8",auto_uido,auto_gidq,0644);
215 c(auto_qmail,"man/cat8","qmail-start.0",auto_uido,auto_gidq,0644);
216 c(auto_qmail,"man/man8","splogger.8",auto_uido,auto_gidq,0644);
217 c(auto_qmail,"man/cat8","splogger.0",auto_uido,auto_gidq,0644);
218 c(auto_qmail,"man/man8","qmail-queue.8",auto_uido,auto_gidq,0644);
219 c(auto_qmail,"man/cat8","qmail-queue.0",auto_uido,auto_gidq,0644);
220 c(auto_qmail,"man/man8","qmail-inject.8",auto_uido,auto_gidq,0644);
221 c(auto_qmail,"man/cat8","qmail-inject.0",auto_uido,auto_gidq,0644);
222 c(auto_qmail,"man/man8","qmail-showctl.8",auto_uido,auto_gidq,0644);
223 c(auto_qmail,"man/cat8","qmail-showctl.0",auto_uido,auto_gidq,0644);
224 c(auto_qmail,"man/man8","qmail-newmrh.8",auto_uido,auto_gidq,0644);
225 c(auto_qmail,"man/cat8","qmail-newmrh.0",auto_uido,auto_gidq,0644);
226 c(auto_qmail,"man/man8","qmail-newu.8",auto_uido,auto_gidq,0644);
227 c(auto_qmail,"man/cat8","qmail-newu.0",auto_uido,auto_gidq,0644);
228 c(auto_qmail,"man/man8","qmail-pw2u.8",auto_uido,auto_gidq,0644);
229 c(auto_qmail,"man/cat8","qmail-pw2u.0",auto_uido,auto_gidq,0644);
230 c(auto_qmail,"man/man8","qmail-qread.8",auto_uido,auto_gidq,0644);
231 c(auto_qmail,"man/cat8","qmail-qread.0",auto_uido,auto_gidq,0644);
232 c(auto_qmail,"man/man8","qmail-qstat.8",auto_uido,auto_gidq,0644);
233 c(auto_qmail,"man/cat8","qmail-qstat.0",auto_uido,auto_gidq,0644);
234 c(auto_qmail,"man/man8","qmail-tcpok.8",auto_uido,auto_gidq,0644);
235 c(auto_qmail,"man/cat8","qmail-tcpok.0",auto_uido,auto_gidq,0644);
236 c(auto_qmail,"man/man8","qmail-tcpto.8",auto_uido,auto_gidq,0644);
237 c(auto_qmail,"man/cat8","qmail-tcpto.0",auto_uido,auto_gidq,0644);
238 c(auto_qmail,"man/man8","qmail-pop3d.8",auto_uido,auto_gidq,0644);
239 c(auto_qmail,"man/cat8","qmail-pop3d.0",auto_uido,auto_gidq,0644);
240 c(auto_qmail,"man/man8","qmail-popup.8",auto_uido,auto_gidq,0644);
241 c(auto_qmail,"man/cat8","qmail-popup.0",auto_uido,auto_gidq,0644);
242 c(auto_qmail,"man/man8","qmail-qmqpc.8",auto_uido,auto_gidq,0644);
243 c(auto_qmail,"man/cat8","qmail-qmqpc.0",auto_uido,auto_gidq,0644);
244 c(auto_qmail,"man/man8","qmail-qmqpd.8",auto_uido,auto_gidq,0644);
245 c(auto_qmail,"man/cat8","qmail-qmqpd.0",auto_uido,auto_gidq,0644);
246 c(auto_qmail,"man/man8","qmail-qmtpd.8",auto_uido,auto_gidq,0644);
247 c(auto_qmail,"man/cat8","qmail-qmtpd.0",auto_uido,auto_gidq,0644);
248 c(auto_qmail,"man/man8","qmail-smtpd.8",auto_uido,auto_gidq,0644);
249 c(auto_qmail,"man/cat8","qmail-smtpd.0",auto_uido,auto_gidq,0644);
250 c(auto_qmail,"man/man8","qmail-command.8",auto_uido,auto_gidq,0644);
251 c(auto_qmail,"man/cat8","qmail-command.0",auto_uido,auto_gidq,0644);
252 }