1 |
diff -Nrux .svn -x work /usr/ports/net/isc-dhcp41-server/Makefile isc-dhcp41-server/Makefile |
2 |
--- /usr/ports/net/isc-dhcp41-server/Makefile 2011-01-28 17:05:38.000000000 -0800 |
3 |
+++ isc-dhcp41-server/Makefile 2011-01-29 08:03:20.279288283 -0800 |
4 |
@@ -172,6 +172,11 @@ |
5 |
.endif |
6 |
.if ${SUBSYS} == client |
7 |
${INSTALL_SCRIPT} ${WRKSRC}/client/scripts/freebsd ${PREFIX}/sbin/dhclient-script |
8 |
+.elif ${SUBSYS} == server |
9 |
+ if [ ! -f ${PREFIX}/etc/dhcpd6.conf ]; then \ |
10 |
+ ${CP} -p ${PREFIX}/etc/dhcpd.conf.sample ${PREFIX}/etc/dhcpd6.conf ; \ |
11 |
+ fi |
12 |
+ @${LN} -sf isc-dhcpd ${PREFIX}/etc/rc.d/isc-dhcpd6 |
13 |
.endif |
14 |
@${SED} ${PKGMESSAGE_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \ |
15 |
${MSG_FILE} > ${PKGMESSAGE} |
16 |
diff -Nrux .svn -x work /usr/ports/net/isc-dhcp41-server/files/isc-dhcpd.in isc-dhcp41-server/files/isc-dhcpd.in |
17 |
--- /usr/ports/net/isc-dhcp41-server/files/isc-dhcpd.in 2010-07-11 18:54:25.000000000 -0700 |
18 |
+++ isc-dhcp41-server/files/isc-dhcpd.in 2011-01-15 22:03:03.729289180 -0800 |
19 |
@@ -14,25 +14,36 @@ |
20 |
|
21 |
. /etc/rc.subr |
22 |
|
23 |
-name=dhcpd |
24 |
+case $0 in |
25 |
+/etc/rc*) |
26 |
+ # during boot (shutdown) $0 is /etc/rc (/etc/rc.shutdown), |
27 |
+ # so get the name of the script from $_file |
28 |
+ name=$_file |
29 |
+ ;; |
30 |
+*) |
31 |
+ name=$0 |
32 |
+ ;; |
33 |
+esac |
34 |
+ |
35 |
+name=${name##*/isc-} |
36 |
paranoia=%%PARANOIA%% # compiled in paranoia? |
37 |
|
38 |
load_rc_config ${name} |
39 |
|
40 |
# override these variables in /etc/rc.conf |
41 |
-dhcpd_enable=${dhcpd_enable:-"NO"} |
42 |
+eval ": \${${name}_enable:=\"NO\"}" |
43 |
# dhcpd_flags="" # -q -early_chroot # command option(s) |
44 |
# dhcpd_ifaces="" # ethernet interface(s) |
45 |
-dhcpd_conf=${dhcpd_conf:-%%PREFIX%%/etc/${name}.conf} # configuration file |
46 |
-dhcpd_withumask=${dhcpd_withumask:-022} # file creation mask |
47 |
+eval ": \${${name}_conf:=%%PREFIX%%/etc/${name}.conf}" # configuration file |
48 |
+eval ": \${${name}_withumask:=022}" # file creation mask |
49 |
|
50 |
-dhcpd_chuser_enable=${dhcpd_chuser_enable:-"%%PARANOIA%%"} # runs w/o privileges? |
51 |
-dhcpd_withuser=${dhcpd_withuser:-${name}} # user name to run as |
52 |
-dhcpd_withgroup=${dhcpd_withgroup:-${name}} # group name to run as |
53 |
- |
54 |
-dhcpd_chroot_enable=${dhcpd_chroot_enable:-"NO"} # runs chrooted? |
55 |
-dhcpd_devfs_enable=${dhcpd_devfs_enable:-"YES"} # devfs if available? |
56 |
-dhcpd_rootdir=${dhcpd_rootdir:-/var/db/${name}} # directory to run in |
57 |
+eval ": \${${name}_chuser_enable:=\"%%PARANOIA%%\"}" # runs w/o privileges? |
58 |
+eval ": \${${name}_withuser:=dhcpd}" # user name to run as |
59 |
+eval ": \${${name}_withgroup:=dhcpd}" # group name to run as |
60 |
+ |
61 |
+eval ": \${${name}_chroot_enable:=\"NO\"}" # runs chrooted? |
62 |
+eval ": \${${name}_devfs_enable:=\"YES\"}" # devfs if available? |
63 |
+eval ": \${${name}_rootdir:=/var/db/${name}}" # directory to run in |
64 |
# dhcpd_includedir="" # directory for included config files |
65 |
|
66 |
safe_run () # rc command [args...] |
67 |
@@ -86,8 +97,8 @@ |
68 |
{ |
69 |
local _entry _user _group _usergroup _rc |
70 |
|
71 |
- _user=${dhcpd_withuser} |
72 |
- _group=${dhcpd_withgroup} |
73 |
+ eval "_user=\${${name}_withuser}" |
74 |
+ eval "_group=\${${name}_withgroup}" |
75 |
|
76 |
_rc=0 |
77 |
if [ -n "${_user}" -o -n "${_group}" ]; then |
78 |
@@ -219,7 +230,7 @@ |
79 |
local _rc |
80 |
|
81 |
_rc=1 |
82 |
- if checkyesno dhcpd_devfs_enable; then |
83 |
+ if checkyesno ${name}_devfs_enable; then |
84 |
mount -t devfs | awk ' |
85 |
BEGIN { n = ARGC; ARGC = 2 } |
86 |
{ for (i = 2; i != n; i++) if ($3 == ARGV[i]) exit 1 } |
87 |
@@ -236,7 +247,7 @@ |
88 |
_dir=$1 |
89 |
|
90 |
_rc=0 |
91 |
- if checkyesno dhcpd_devfs_enable && |
92 |
+ if checkyesno ${name}_devfs_enable && |
93 |
! mounted ${_dir} && |
94 |
! safe_run ${_rc} mount -t devfs devfs ${_dir}; then |
95 |
err 1 "unable to mount ${_dir}" |
96 |
@@ -252,7 +263,7 @@ |
97 |
_dir=$1 |
98 |
|
99 |
_rc=0 |
100 |
- if checkyesno dhcpd_devfs_enable && |
101 |
+ if checkyesno ${name}_devfs_enable && |
102 |
mounted ${_dir} && |
103 |
! safe_run ${_rc} umount ${_dir}; then |
104 |
warn "unable to unmount ${_dir}" |
105 |
@@ -264,15 +275,15 @@ |
106 |
check_chuser () |
107 |
{ |
108 |
if checkyesno paranoia; then |
109 |
- if checkyesno dhcpd_chuser_enable && |
110 |
- [ -z "${dhcpd_withuser}" -a -z "${dhcpd_withgroup}" ]; then |
111 |
- err 1 "one of dhcpd_withuser and dhcpd_withgroup" \ |
112 |
- "must be set if dhcpd_chuser_enable is enabled" |
113 |
+ if checkyesno ${name}_chuser_enable && |
114 |
+ eval "[ -z \"\${${name}_withuser}\" -a -z \"\${${name}_withgroup}\" ]"; then |
115 |
+ err 1 "one of ${name}_withuser and ${name}_withgroup" \ |
116 |
+ "must be set if ${name}_chuser_enable is enabled" |
117 |
fi |
118 |
else |
119 |
- if checkyesno dhcpd_chuser_enable; then |
120 |
- warn "dhcpd_chuser_enable disabled -- not compiled in" |
121 |
- dhcpd_chuser_enable=NO |
122 |
+ if checkyesno ${name}_chuser_enable; then |
123 |
+ warn "${name}_chuser_enable disabled -- not compiled in" |
124 |
+ eval "${name}_chuser_enable=NO" |
125 |
fi |
126 |
fi |
127 |
} |
128 |
@@ -280,82 +291,82 @@ |
129 |
check_chroot () |
130 |
{ |
131 |
if checkyesno paranoia; then |
132 |
- if checkyesno dhcpd_chroot_enable; then |
133 |
- if [ -z "${dhcpd_rootdir}" ]; then |
134 |
- err 1 "dhcpd_rootdir must be set" \ |
135 |
- "if dhcpd_chroot_enable is enabled" |
136 |
+ if checkyesno ${name}_chroot_enable; then |
137 |
+ if eval "[ -z \"\${${name}_rootdir}\" ]"; then |
138 |
+ err 1 "${name}_rootdir must be set" \ |
139 |
+ "if ${name}_chroot_enable is enabled" |
140 |
fi |
141 |
if test `uname -r | cut -c 1` -le 6; then |
142 |
- if checkyesno dhcpd_devfs_enable && |
143 |
+ if checkyesno ${name}_devfs_enable && |
144 |
! ( type mount_devfs ) > /dev/null 2>&1; |
145 |
then |
146 |
- warn "dhcpd_devfs_enable disabled" \ |
147 |
+ warn "${name}_devfs_enable disabled" \ |
148 |
"-- not available" |
149 |
- dhcpd_devfs_enable=NO |
150 |
+ eval "${name}_devfs_enable=NO" |
151 |
fi |
152 |
fi |
153 |
else |
154 |
- dhcpd_devfs_enable=NO |
155 |
+ eval "${name}_devfs_enable=NO" |
156 |
fi |
157 |
else |
158 |
- if checkyesno dhcpd_chroot_enable; then |
159 |
- warn "dhcpd_chroot_enable disabled -- not compiled in" |
160 |
- dhcpd_chroot_enable=NO |
161 |
+ if checkyesno ${name}_chroot_enable; then |
162 |
+ warn "${name}_chroot_enable disabled -- not compiled in" |
163 |
+ eval "${name}_chroot_enable=NO" |
164 |
fi |
165 |
- dhcpd_devfs_enable=NO |
166 |
+ eval "${name}_devfs_enable=NO" |
167 |
fi |
168 |
} |
169 |
|
170 |
rcvar_chuser () |
171 |
{ |
172 |
- if checkyesno paranoia && checkyesno dhcpd_chuser_enable; then |
173 |
- dhcpd_piddir=${__dhcpd_piddir}/${name} |
174 |
- dhcpd_leasesdir=${__dhcpd_leasesdir}/${name} |
175 |
+ if checkyesno paranoia && checkyesno ${name}_chuser_enable; then |
176 |
+ eval "${name}_piddir=\${__dhcpd_piddir}/\${name}" |
177 |
+ eval "${name}_leasesdir=\${__dhcpd_leasesdir}/\${name}" |
178 |
else |
179 |
- dhcpd_withuser= dhcpd_withgroup= |
180 |
+ eval "${name}_withuser= ${name}_withgroup=" |
181 |
fi |
182 |
} |
183 |
|
184 |
rcvar_chroot () |
185 |
{ |
186 |
- if ! checkyesno paranoia || ! checkyesno dhcpd_chroot_enable; then |
187 |
- dhcpd_rootdir= |
188 |
- elif checkyesno paranoia && checkyesno dhcpd_chroot_enable; then |
189 |
- dhcpd_devdir=${__dhcpd_devdir} |
190 |
- dhcpd_etcdir=${__dhcpd_etcdir} |
191 |
+ if ! checkyesno paranoia || ! checkyesno ${name}_chroot_enable; then |
192 |
+ eval "${name}_rootdir=" |
193 |
+ elif checkyesno paranoia && checkyesno ${name}_chroot_enable; then |
194 |
+ eval "${name}_devdir=\${__dhcpd_devdir}" |
195 |
+ eval "${name}_etcdir=\${__dhcpd_etcdir}" |
196 |
fi |
197 |
} |
198 |
|
199 |
rcvar_pidnleases () |
200 |
{ |
201 |
- if ! checkyesno dhcpd_chuser_enable; then |
202 |
- dhcpd_piddir=${__dhcpd_piddir} |
203 |
- dhcpd_leasesdir=${__dhcpd_leasesdir} |
204 |
- fi |
205 |
- dhcpd_pidfile=${dhcpd_piddir}/${name}.pid |
206 |
- dhcpd_leasesfile=${dhcpd_leasesdir}/${name}.leases |
207 |
- dhcpd_conffile=${dhcpd_conf} # for convenience only |
208 |
- dhcpd_confdir=$(dirname ${dhcpd_conffile}) |
209 |
+ if ! checkyesno ${name}_chuser_enable; then |
210 |
+ eval "${name}_piddir=\${__dhcpd_piddir}" |
211 |
+ eval "${name}_leasesdir=\${__dhcpd_leasesdir}" |
212 |
+ fi |
213 |
+ eval "${name}_pidfile=\${${name}_piddir}/\${name}.pid" |
214 |
+ eval "${name}_leasesfile=\${${name}_leasesdir}/\${name}.leases" |
215 |
+ eval "${name}_conffile=\${${name}_conf}" # for convenience only |
216 |
+ eval "${name}_confdir=\$(dirname \${${name}_conffile})" |
217 |
} |
218 |
|
219 |
rcvar_rooted () |
220 |
{ |
221 |
- _dhcpd_rootdir=${dhcpd_rootdir} |
222 |
- _dhcpd_devdir=${dhcpd_rootdir}${dhcpd_devdir} |
223 |
- _dhcpd_etcdir=${dhcpd_rootdir}${dhcpd_etcdir} |
224 |
- _dhcpd_confdir=${dhcpd_rootdir}${dhcpd_confdir} |
225 |
- _dhcpd_includedir=${dhcpd_rootdir}${dhcpd_includedir} |
226 |
- _dhcpd_piddir=${dhcpd_rootdir}${dhcpd_piddir} |
227 |
- _dhcpd_leasesdir=${dhcpd_rootdir}${dhcpd_leasesdir} |
228 |
- _dhcpd_conffile=${dhcpd_rootdir}${dhcpd_conffile} |
229 |
- _dhcpd_pidfile=${dhcpd_rootdir}${dhcpd_pidfile} |
230 |
- _dhcpd_leasesfile=${dhcpd_rootdir}${dhcpd_leasesfile} |
231 |
+ eval "_dhcpd_rootdir=\${${name}_rootdir}" |
232 |
+ eval "_dhcpd_devdir=\${${name}_rootdir}\${${name}_devdir}" |
233 |
+ eval "_dhcpd_etcdir=\${${name}_rootdir}\${${name}_etcdir}" |
234 |
+ eval "_dhcpd_confdir=\${${name}_rootdir}\${${name}_confdir}" |
235 |
+ eval "_dhcpd_includedir=\${${name}_rootdir}\${${name}_includedir}" |
236 |
+ eval "_dhcpd_piddir=\${${name}_rootdir}\${${name}_piddir}" |
237 |
+ eval "_dhcpd_leasesdir=\${${name}_rootdir}\${${name}_leasesdir}" |
238 |
+ eval "_dhcpd_conffile=\${${name}_rootdir}\${${name}_conffile}" |
239 |
+ eval "_dhcpd_pidfile=\${${name}_rootdir}\${${name}_pidfile}" |
240 |
+ eval "_dhcpd_leasesfile=\${${name}_rootdir}\${${name}_leasesfile}" |
241 |
} |
242 |
|
243 |
setup_umask () |
244 |
{ |
245 |
- if [ -n "${dhcpd_withumask}" ]; then |
246 |
- umask ${dhcpd_withumask} |
247 |
+ if eval "[ -n \"\${${name}_withumask}\" ]"; then |
248 |
+ eval "umask \${${name}_withumask}" |
249 |
fi |
250 |
} |
251 |
|
252 |
@@ -368,27 +379,27 @@ |
253 |
_ltime=localtime |
254 |
_rconf=resolv.conf |
255 |
|
256 |
- if checkyesno paranoia && checkyesno dhcpd_chroot_enable; then |
257 |
+ if checkyesno paranoia && checkyesno ${name}_chroot_enable; then |
258 |
if ! mounted ${_dhcpd_devdir}; then |
259 |
safe_mkdir ${_dhcpd_devdir}/_ |
260 |
# XXX /_ hack! so, .../dev is root owned. |
261 |
fi |
262 |
safe_mkdir ${_dhcpd_rootdir} ${_dhcpd_etcdir}/_ ${_dhcpd_confdir} |
263 |
# XXX /_ hack! so, .../etc is root owned. |
264 |
- if checkyesno dhcpd_devfs_enable; then |
265 |
+ if checkyesno ${name}_devfs_enable; then |
266 |
safe_mount ${_dhcpd_devdir} |
267 |
else |
268 |
- safe_copy ${dhcpd_devdir} ${_dhcpd_devdir} |
269 |
+ eval "safe_copy \${${name}_devdir} \${_dhcpd_devdir}" |
270 |
fi |
271 |
- safe_copy ${dhcpd_conffile} ${_dhcpd_conffile} |
272 |
- safe_copy ${dhcpd_etcdir}/$_hconf ${_dhcpd_etcdir}/$_hconf |
273 |
- safe_copy ${dhcpd_etcdir}/$_hosts ${_dhcpd_etcdir}/$_hosts |
274 |
- safe_copy ${dhcpd_etcdir}/$_ltime ${_dhcpd_etcdir}/$_ltime |
275 |
- safe_copy ${dhcpd_etcdir}/$_rconf ${_dhcpd_etcdir}/$_rconf |
276 |
+ eval "safe_copy \${${name}_conffile} \${_dhcpd_conffile}" |
277 |
+ eval "safe_copy \${${name}_etcdir}/\$_hconf \${_dhcpd_etcdir}/\$_hconf" |
278 |
+ eval "safe_copy \${${name}_etcdir}/\$_hosts \${_dhcpd_etcdir}/\$_hosts" |
279 |
+ eval "safe_copy \${${name}_etcdir}/\$_ltime \${_dhcpd_etcdir}/\$_ltime" |
280 |
+ eval "safe_copy \${${name}_etcdir}/\$_rconf \${_dhcpd_etcdir}/\$_rconf" |
281 |
# copy dhcpd_includedir if defined and available |
282 |
- if [ -d "${dhcpd_includedir}" ]; then |
283 |
+ if eval "[ -d \"\${${name}_includedir}\" ]"; then |
284 |
safe_mkdir ${_dhcpd_includedir} |
285 |
- safe_copy ${dhcpd_includedir} ${_dhcpd_includedir} |
286 |
+ eval "safe_copy \${${name}_includedir} \${_dhcpd_includedir}" |
287 |
fi |
288 |
fi |
289 |
} |
290 |
@@ -396,7 +407,7 @@ |
291 |
setup_chuser () |
292 |
{ |
293 |
if checkyesno paranoia && { |
294 |
- checkyesno dhcpd_chuser_enable || checkyesno dhcpd_chroot_enable |
295 |
+ checkyesno ${name}_chuser_enable || checkyesno ${name}_chroot_enable |
296 |
}; then |
297 |
safe_mkdir ${_dhcpd_piddir} ${_dhcpd_leasesdir} |
298 |
fi |
299 |
@@ -409,30 +420,33 @@ |
300 |
|
301 |
setup_flags () |
302 |
{ |
303 |
- if [ -n "${dhcpd_conf}" ]; then |
304 |
- rc_flags="${rc_flags} -cf ${dhcpd_conf}" |
305 |
+ if [ "${name}" = "dhcpd6" ]; then |
306 |
+ rc_flags="${rc_flags} -6" |
307 |
+ fi |
308 |
+ if eval "[ -n \"\${${name}_conf}\" ]"; then |
309 |
+ eval "rc_flags=\"\${rc_flags} -cf \${${name}_conf}\"" |
310 |
fi |
311 |
- if [ -n "${dhcpd_leasesfile}" ]; then |
312 |
- rc_flags="${rc_flags} -lf ${dhcpd_leasesfile}" |
313 |
+ if eval "[ -n \"\${${name}_leasesfile}\" ]"; then |
314 |
+ eval "rc_flags=\"\${rc_flags} -lf \${${name}_leasesfile}\"" |
315 |
fi |
316 |
- if [ -n "${dhcpd_pidfile}" ]; then |
317 |
- rc_flags="${rc_flags} -pf ${dhcpd_pidfile}" |
318 |
+ if eval "[ -n \"\${${name}_pidfile}\" ]"; then |
319 |
+ eval "rc_flags=\"\${rc_flags} -pf \${${name}_pidfile}\"" |
320 |
fi |
321 |
- if [ -n "${dhcpd_withuser}" ]; then |
322 |
- rc_flags="${rc_flags} -user ${dhcpd_withuser}" |
323 |
+ if eval "[ -n \"\${dhcpd_withuser}\" ]"; then |
324 |
+ eval "rc_flags=\"\${rc_flags} -user \${${name}_withuser}\"" |
325 |
fi |
326 |
- if [ -n "${dhcpd_withgroup}" ]; then |
327 |
- rc_flags="${rc_flags} -group ${dhcpd_withgroup}" |
328 |
+ if eval "[ -n \"\${${name}_withgroup}\" ]"; then |
329 |
+ eval "rc_flags=\"\${rc_flags} -group \${${name}_withgroup}\"" |
330 |
fi |
331 |
- if [ -n "${dhcpd_rootdir}" ]; then |
332 |
- rc_flags="${rc_flags} -chroot ${dhcpd_rootdir}" |
333 |
+ if eval "[ -n \"\${${name}_rootdir}\" ]"; then |
334 |
+ eval "rc_flags=\"\${rc_flags} -chroot \${${name}_rootdir}\"" |
335 |
fi |
336 |
- rc_flags="${rc_flags} ${dhcpd_ifaces}" |
337 |
+ eval "rc_flags=\"\${rc_flags} \${${name}_ifaces}\"" |
338 |
} |
339 |
|
340 |
cleanup_chroot () |
341 |
{ |
342 |
- if checkyesno paranoia && checkyesno dhcpd_chroot_enable; then |
343 |
+ if checkyesno paranoia && checkyesno ${name}_chroot_enable; then |
344 |
safe_umount ${_dhcpd_devdir} |
345 |
fi |
346 |
} |
347 |
@@ -499,11 +513,11 @@ |
348 |
dhcpd_check |
349 |
dhcpd_rcvar |
350 |
|
351 |
-command=%%PREFIX%%/sbin/${name} |
352 |
+command=%%PREFIX%%/sbin/dhcpd |
353 |
pidfile=${_dhcpd_pidfile} |
354 |
-required_files=${dhcpd_conf} |
355 |
-start_precmd=${name}_precmd |
356 |
-stop_postcmd=${name}_postcmd |
357 |
+eval "required_files=\${${name}_conf}" |
358 |
+start_precmd=dhcpd_precmd |
359 |
+stop_postcmd=dhcpd_postcmd |
360 |
restart_precmd="dhcpd_checkconfig" |
361 |
uninstall_cmd=dhcpd_uninstall |
362 |
extra_commands="uninstall" |
363 |
diff -Nrux .svn -x work /usr/ports/net/isc-dhcp41-server/pkg-plist isc-dhcp41-server/pkg-plist |
364 |
--- /usr/ports/net/isc-dhcp41-server/pkg-plist 2010-07-11 18:54:25.000000000 -0700 |
365 |
+++ isc-dhcp41-server/pkg-plist 2011-01-16 00:05:17.709110228 -0800 |
366 |
@@ -1,8 +1,12 @@ |
367 |
@comment $FreeBSD: ports/net/isc-dhcp41-server/pkg-plist,v 1.3 2010/07/12 01:54:25 wxs Exp $ |
368 |
@unexec %D/etc/rc.d/isc-dhcpd forcestop 2>/dev/null || true |
369 |
+@unexec %D/etc/rc.d/isc-dhcpd6 forcestop 2>/dev/null || true |
370 |
@unexec if cmp -s %D/etc/dhcpd.conf.sample %D/etc/dhcpd.conf; then rm -f %D/etc/dhcpd.conf; fi |
371 |
+@unexec if cmp -s %D/etc/dhcpd.conf.sample %D/etc/dhcpd6.conf; then rm -f %D/etc/dhcpd6.conf; fi |
372 |
etc/dhcpd.conf.sample |
373 |
@exec if [ ! -f %D/etc/dhcpd.conf ] ; then cp -p %D/%F %B/dhcpd.conf; fi |
374 |
+@exec if [ ! -f %D/etc/dhcpd6.conf ] ; then cp -p %D/%F %B/dhcpd6.conf; fi |
375 |
+etc/rc.d/isc-dhcpd6 |
376 |
sbin/dhcpd |
377 |
bin/omshell |
378 |
%%LDAP%%bin/dhcpd-conf-to-ldap |