Commit | Line | Data |
---|---|---|
212b6f5d MW |
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 | ||
ed442cdc MW |
9 | void dsplit(home,base,uid,mode) |
10 | char *home; | |
212b6f5d MW |
11 | char *base; /* must be under 100 bytes */ |
12 | int uid; | |
13 | int mode; | |
14 | { | |
15 | char *x; | |
16 | unsigned long i; | |
17 | ||
ed442cdc | 18 | d(home,base,uid,auto_gidq,mode); |
212b6f5d MW |
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 | ||
ed442cdc | 27 | d(home,buf,uid,auto_gidq,mode); |
212b6f5d MW |
28 | } |
29 | } | |
30 | ||
ed442cdc MW |
31 | void hier(home) |
32 | char *home; | |
212b6f5d | 33 | { |
ed442cdc MW |
34 | if (!home) |
35 | home = auto_qmail; | |
212b6f5d | 36 | |
ed442cdc | 37 | h(home,auto_uido,auto_gidq,0755); |
212b6f5d | 38 | |
ed442cdc MW |
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); | |
212b6f5d | 53 | |
ed442cdc | 54 | d(home,"alias",auto_uida,auto_gidq,02755); |
212b6f5d | 55 | |
ed442cdc MW |
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); | |
212b6f5d | 61 | |
ed442cdc MW |
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); | |
212b6f5d | 66 | |
ed442cdc MW |
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); | |
212b6f5d | 71 | |
ed442cdc MW |
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); | |
212b6f5d | 82 | |
ed442cdc MW |
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); | |
212b6f5d | 106 | |
ed442cdc MW |
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","sendmail",auto_uido,auto_gidq,0755); | |
136 | c(home,"bin","tcp-env",auto_uido,auto_gidq,0755); | |
137 | c(home,"bin","qreceipt",auto_uido,auto_gidq,0755); | |
138 | c(home,"bin","qsmhook",auto_uido,auto_gidq,0755); | |
139 | c(home,"bin","qbiff",auto_uido,auto_gidq,0755); | |
140 | c(home,"bin","forward",auto_uido,auto_gidq,0755); | |
141 | c(home,"bin","preline",auto_uido,auto_gidq,0755); | |
142 | c(home,"bin","condredirect",auto_uido,auto_gidq,0755); | |
143 | c(home,"bin","bouncesaying",auto_uido,auto_gidq,0755); | |
144 | c(home,"bin","except",auto_uido,auto_gidq,0755); | |
145 | c(home,"bin","maildirmake",auto_uido,auto_gidq,0755); | |
146 | c(home,"bin","maildir2mbox",auto_uido,auto_gidq,0755); | |
147 | c(home,"bin","maildirwatch",auto_uido,auto_gidq,0755); | |
148 | c(home,"bin","qail",auto_uido,auto_gidq,0755); | |
149 | c(home,"bin","elq",auto_uido,auto_gidq,0755); | |
150 | c(home,"bin","pinq",auto_uido,auto_gidq,0755); | |
212b6f5d | 151 | |
ed442cdc MW |
152 | c(home,"man/man5","addresses.5",auto_uido,auto_gidq,0644); |
153 | c(home,"man/cat5","addresses.0",auto_uido,auto_gidq,0644); | |
154 | c(home,"man/man5","envelopes.5",auto_uido,auto_gidq,0644); | |
155 | c(home,"man/cat5","envelopes.0",auto_uido,auto_gidq,0644); | |
156 | c(home,"man/man5","maildir.5",auto_uido,auto_gidq,0644); | |
157 | c(home,"man/cat5","maildir.0",auto_uido,auto_gidq,0644); | |
158 | c(home,"man/man5","mbox.5",auto_uido,auto_gidq,0644); | |
159 | c(home,"man/cat5","mbox.0",auto_uido,auto_gidq,0644); | |
160 | c(home,"man/man5","dot-qmail.5",auto_uido,auto_gidq,0644); | |
161 | c(home,"man/cat5","dot-qmail.0",auto_uido,auto_gidq,0644); | |
162 | c(home,"man/man5","qmail-control.5",auto_uido,auto_gidq,0644); | |
163 | c(home,"man/cat5","qmail-control.0",auto_uido,auto_gidq,0644); | |
164 | c(home,"man/man5","qmail-header.5",auto_uido,auto_gidq,0644); | |
165 | c(home,"man/cat5","qmail-header.0",auto_uido,auto_gidq,0644); | |
166 | c(home,"man/man5","qmail-log.5",auto_uido,auto_gidq,0644); | |
167 | c(home,"man/cat5","qmail-log.0",auto_uido,auto_gidq,0644); | |
168 | c(home,"man/man5","qmail-users.5",auto_uido,auto_gidq,0644); | |
169 | c(home,"man/cat5","qmail-users.0",auto_uido,auto_gidq,0644); | |
170 | c(home,"man/man5","tcp-environ.5",auto_uido,auto_gidq,0644); | |
171 | c(home,"man/cat5","tcp-environ.0",auto_uido,auto_gidq,0644); | |
212b6f5d | 172 | |
ed442cdc MW |
173 | c(home,"man/man7","forgeries.7",auto_uido,auto_gidq,0644); |
174 | c(home,"man/cat7","forgeries.0",auto_uido,auto_gidq,0644); | |
175 | c(home,"man/man7","qmail-limits.7",auto_uido,auto_gidq,0644); | |
176 | c(home,"man/cat7","qmail-limits.0",auto_uido,auto_gidq,0644); | |
177 | c(home,"man/man7","qmail.7",auto_uido,auto_gidq,0644); | |
178 | c(home,"man/cat7","qmail.0",auto_uido,auto_gidq,0644); | |
212b6f5d | 179 | |
ed442cdc MW |
180 | c(home,"man/man1","forward.1",auto_uido,auto_gidq,0644); |
181 | c(home,"man/cat1","forward.0",auto_uido,auto_gidq,0644); | |
182 | c(home,"man/man1","condredirect.1",auto_uido,auto_gidq,0644); | |
183 | c(home,"man/cat1","condredirect.0",auto_uido,auto_gidq,0644); | |
184 | c(home,"man/man1","bouncesaying.1",auto_uido,auto_gidq,0644); | |
185 | c(home,"man/cat1","bouncesaying.0",auto_uido,auto_gidq,0644); | |
186 | c(home,"man/man1","except.1",auto_uido,auto_gidq,0644); | |
187 | c(home,"man/cat1","except.0",auto_uido,auto_gidq,0644); | |
188 | c(home,"man/man1","maildirmake.1",auto_uido,auto_gidq,0644); | |
189 | c(home,"man/cat1","maildirmake.0",auto_uido,auto_gidq,0644); | |
190 | c(home,"man/man1","maildir2mbox.1",auto_uido,auto_gidq,0644); | |
191 | c(home,"man/cat1","maildir2mbox.0",auto_uido,auto_gidq,0644); | |
192 | c(home,"man/man1","maildirwatch.1",auto_uido,auto_gidq,0644); | |
193 | c(home,"man/cat1","maildirwatch.0",auto_uido,auto_gidq,0644); | |
194 | c(home,"man/man1","mailsubj.1",auto_uido,auto_gidq,0644); | |
195 | c(home,"man/cat1","mailsubj.0",auto_uido,auto_gidq,0644); | |
196 | c(home,"man/man1","qreceipt.1",auto_uido,auto_gidq,0644); | |
197 | c(home,"man/cat1","qreceipt.0",auto_uido,auto_gidq,0644); | |
198 | c(home,"man/man1","qbiff.1",auto_uido,auto_gidq,0644); | |
199 | c(home,"man/cat1","qbiff.0",auto_uido,auto_gidq,0644); | |
200 | c(home,"man/man1","preline.1",auto_uido,auto_gidq,0644); | |
201 | c(home,"man/cat1","preline.0",auto_uido,auto_gidq,0644); | |
202 | c(home,"man/man1","tcp-env.1",auto_uido,auto_gidq,0644); | |
203 | c(home,"man/cat1","tcp-env.0",auto_uido,auto_gidq,0644); | |
212b6f5d | 204 | |
ed442cdc MW |
205 | c(home,"man/man8","qmail-local.8",auto_uido,auto_gidq,0644); |
206 | c(home,"man/cat8","qmail-local.0",auto_uido,auto_gidq,0644); | |
207 | c(home,"man/man8","qmail-lspawn.8",auto_uido,auto_gidq,0644); | |
208 | c(home,"man/cat8","qmail-lspawn.0",auto_uido,auto_gidq,0644); | |
209 | c(home,"man/man8","qmail-getpw.8",auto_uido,auto_gidq,0644); | |
210 | c(home,"man/cat8","qmail-getpw.0",auto_uido,auto_gidq,0644); | |
211 | c(home,"man/man8","qmail-remote.8",auto_uido,auto_gidq,0644); | |
212 | c(home,"man/cat8","qmail-remote.0",auto_uido,auto_gidq,0644); | |
213 | c(home,"man/man8","qmail-rspawn.8",auto_uido,auto_gidq,0644); | |
214 | c(home,"man/cat8","qmail-rspawn.0",auto_uido,auto_gidq,0644); | |
215 | c(home,"man/man8","qmail-clean.8",auto_uido,auto_gidq,0644); | |
216 | c(home,"man/cat8","qmail-clean.0",auto_uido,auto_gidq,0644); | |
217 | c(home,"man/man8","qmail-send.8",auto_uido,auto_gidq,0644); | |
218 | c(home,"man/cat8","qmail-send.0",auto_uido,auto_gidq,0644); | |
219 | c(home,"man/man8","qmail-start.8",auto_uido,auto_gidq,0644); | |
220 | c(home,"man/cat8","qmail-start.0",auto_uido,auto_gidq,0644); | |
221 | c(home,"man/man8","splogger.8",auto_uido,auto_gidq,0644); | |
222 | c(home,"man/cat8","splogger.0",auto_uido,auto_gidq,0644); | |
223 | c(home,"man/man8","qmail-queue.8",auto_uido,auto_gidq,0644); | |
224 | c(home,"man/cat8","qmail-queue.0",auto_uido,auto_gidq,0644); | |
225 | c(home,"man/man8","qmail-inject.8",auto_uido,auto_gidq,0644); | |
226 | c(home,"man/cat8","qmail-inject.0",auto_uido,auto_gidq,0644); | |
227 | c(home,"man/man8","qmail-showctl.8",auto_uido,auto_gidq,0644); | |
228 | c(home,"man/cat8","qmail-showctl.0",auto_uido,auto_gidq,0644); | |
229 | c(home,"man/man8","qmail-newmrh.8",auto_uido,auto_gidq,0644); | |
230 | c(home,"man/cat8","qmail-newmrh.0",auto_uido,auto_gidq,0644); | |
231 | c(home,"man/man8","qmail-newu.8",auto_uido,auto_gidq,0644); | |
232 | c(home,"man/cat8","qmail-newu.0",auto_uido,auto_gidq,0644); | |
233 | c(home,"man/man8","qmail-pw2u.8",auto_uido,auto_gidq,0644); | |
234 | c(home,"man/cat8","qmail-pw2u.0",auto_uido,auto_gidq,0644); | |
235 | c(home,"man/man8","qmail-qread.8",auto_uido,auto_gidq,0644); | |
236 | c(home,"man/cat8","qmail-qread.0",auto_uido,auto_gidq,0644); | |
237 | c(home,"man/man8","qmail-qstat.8",auto_uido,auto_gidq,0644); | |
238 | c(home,"man/cat8","qmail-qstat.0",auto_uido,auto_gidq,0644); | |
239 | c(home,"man/man8","qmail-tcpok.8",auto_uido,auto_gidq,0644); | |
240 | c(home,"man/cat8","qmail-tcpok.0",auto_uido,auto_gidq,0644); | |
241 | c(home,"man/man8","qmail-tcpto.8",auto_uido,auto_gidq,0644); | |
242 | c(home,"man/cat8","qmail-tcpto.0",auto_uido,auto_gidq,0644); | |
243 | c(home,"man/man8","qmail-pop3d.8",auto_uido,auto_gidq,0644); | |
244 | c(home,"man/cat8","qmail-pop3d.0",auto_uido,auto_gidq,0644); | |
245 | c(home,"man/man8","qmail-popup.8",auto_uido,auto_gidq,0644); | |
246 | c(home,"man/cat8","qmail-popup.0",auto_uido,auto_gidq,0644); | |
247 | c(home,"man/man8","qmail-qmqpc.8",auto_uido,auto_gidq,0644); | |
248 | c(home,"man/cat8","qmail-qmqpc.0",auto_uido,auto_gidq,0644); | |
249 | c(home,"man/man8","qmail-qmqpd.8",auto_uido,auto_gidq,0644); | |
250 | c(home,"man/cat8","qmail-qmqpd.0",auto_uido,auto_gidq,0644); | |
251 | c(home,"man/man8","qmail-qmtpd.8",auto_uido,auto_gidq,0644); | |
252 | c(home,"man/cat8","qmail-qmtpd.0",auto_uido,auto_gidq,0644); | |
253 | c(home,"man/man8","qmail-smtpd.8",auto_uido,auto_gidq,0644); | |
254 | c(home,"man/cat8","qmail-smtpd.0",auto_uido,auto_gidq,0644); | |
255 | c(home,"man/man8","qmail-command.8",auto_uido,auto_gidq,0644); | |
256 | c(home,"man/cat8","qmail-command.0",auto_uido,auto_gidq,0644); | |
212b6f5d | 257 | |
ed442cdc | 258 | c(home,"bin","dot-forward",auto_uido,auto_gidq,0755); |
212b6f5d | 259 | |
ed442cdc MW |
260 | c(home,"man/man1","dot-forward.1",auto_uido,auto_gidq,0644); |
261 | c(home,"man/cat1","dot-forward.0",auto_uido,auto_gidq,0644); | |
212b6f5d | 262 | |
ed442cdc | 263 | d(home,"doc/fastforward",auto_uido,auto_gidq,0755); |
212b6f5d | 264 | |
ed442cdc MW |
265 | c(home,"bin","fastforward",auto_uido,auto_gidq,0755); |
266 | c(home,"bin","printforward",auto_uido,auto_gidq,0755); | |
267 | c(home,"bin","setforward",auto_uido,auto_gidq,0755); | |
268 | c(home,"bin","newaliases",auto_uido,auto_gidq,0755); | |
269 | c(home,"bin","printmaillist",auto_uido,auto_gidq,0755); | |
270 | c(home,"bin","setmaillist",auto_uido,auto_gidq,0755); | |
271 | c(home,"bin","newinclude",auto_uido,auto_gidq,0755); | |
212b6f5d | 272 | |
ed442cdc | 273 | c(home,"doc/fastforward","ALIASES",auto_uido,auto_gidq,0644); |
212b6f5d | 274 | |
ed442cdc MW |
275 | c(home,"man/man1","fastforward.1",auto_uido,auto_gidq,0644); |
276 | c(home,"man/man1","printforward.1",auto_uido,auto_gidq,0644); | |
277 | c(home,"man/man1","setforward.1",auto_uido,auto_gidq,0644); | |
278 | c(home,"man/man1","newaliases.1",auto_uido,auto_gidq,0644); | |
279 | c(home,"man/man1","printmaillist.1",auto_uido,auto_gidq,0644); | |
280 | c(home,"man/man1","setmaillist.1",auto_uido,auto_gidq,0644); | |
281 | c(home,"man/man1","newinclude.1",auto_uido,auto_gidq,0644); | |
282 | ||
283 | c(home,"man/cat1","fastforward.0",auto_uido,auto_gidq,0644); | |
284 | c(home,"man/cat1","printforward.0",auto_uido,auto_gidq,0644); | |
285 | c(home,"man/cat1","setforward.0",auto_uido,auto_gidq,0644); | |
286 | c(home,"man/cat1","newaliases.0",auto_uido,auto_gidq,0644); | |
287 | c(home,"man/cat1","printmaillist.0",auto_uido,auto_gidq,0644); | |
288 | c(home,"man/cat1","setmaillist.0",auto_uido,auto_gidq,0644); | |
289 | c(home,"man/cat1","newinclude.0",auto_uido,auto_gidq,0644); | |
212b6f5d | 290 | } |