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