[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

instructions for building crunched binaries (long)



mostly as "an exercise to the reader" i decided to build a crunched
binary with all sorts of goodies in it that you'd want on a firewall
this weekend. this would include things like ssh, sshd, kerberos, pf
ipsec, and nonsense like lynx, perl and vi. :) i'm pleased to report
that it works. below is a quick list of things you will need to do
if you want to play these games yourself. with the price of 128M flash
cards these days, you may as well just do a proper install to flash
and log over encrypted nfs/syslog. that being said, it was fun to do.

a working configuration is presented below. it includes tools like a
local copy of tcsh, lynx, vi, perl, ssh, sshd, and a healthy selection
of standard unix utilities, in 7MB!

1) install crunch. i can't count the number of times i've tried to
generate a release (see release(8)) without installing crunch. it
lives in /usr/src/distrib/crunch.

2) copy the one of the distrib directories. i was working on x86 and
wanted most of what the cdrom image already provided me. the target was
a cute little SBC from nexcom:
    cd /usr/src/distrib/i386; cp -rp ramdisk_cd nexcom

3) take note of how the real install works - you will probably want to
refer to it later on: cd ramdisk_cd ; make |& tee log

4) edit crunch_local.conf to include the things you want to, and remove
that which you don't. run make.

5) fix all the errors. things like isakmpd, lynx, vi, ssh* are not simple
one-file tools, so you might need to mangle the conf file and specify the
actual objects to be linked. libraries are important. grepping for symbols
in /usr/lib/lib*.a will be useful

6) lather, rinse, repeat. you will be doing steps 4 and 5 a lot if you
add a lot of programs. save yourself a lot of pain, and only add one
utility at a time. you might want not want to link in the cdrom binaries,
in which case, you should have a look at the build log to see how to run
the crunchgen command by hand

7) create a gob of links to the instbin. enjoy.

# ls -l instbin
-rwxr-xr-x  1 root  wsrc  7163904 Apr 29 12:27 instbin*

# ./instbin
Usage: instbin <prog> <args> ..., where <prog> is one of:
 altqd altqstat apply arp at atq atrm batch atactl authpf awk basename brconfig
 cat certpatch chmod chgrp chown chflags chroot cp cron crontab date dd
 dev_mkdb df dhclient dhcpd dhcrelay dig dirname disklabel dmesg du ed fdisk
 finger fsck_ffs fsck fstat ftp grep egrep fgrep gzip gunzip head host hostname
 id ifconfig ifmcstat init installboot iostat ipsecadm isakmpd jot kbd kdestroy
 kill kinit klist ksh sh -sh kvm_mkdb last less more ln logger login logname ls
 lynx md5 rmd160 sha1 mkdir mknod mkfifo mount mount_ffs mv nc netstat newfs
 mount_mfs newsyslog nohup nslookup openssl passwd pax tar cpio perl pfctl
 photurisd ping ps pstat pwd pwd_mkdb reboot halt renice rm rmdir route sed
 sleep sort ssh ssh-add ssh-agent ssh-keygen ssh-keyscan sshd stty sudo sync
 sysctl syslogd systat tail tbrconfig tcpdump tcsh csh tee test top touch tput
 traceroute tset tty ttyflags umount uname uniq vi visudo vmstat w uptime wc
 who xargs instbin

# cat instbin.conf

libs -lutil -lkadm -lkafs -lkrb -lkrb5 -lasn1 -l45 -lpcap -lwrap -ll
libs -lkeynote -lperl -lkvm -lrpcsvc -lskey -lssl -lcurses -lcrypto -lz
libs -lcom_err -lm -lcompat /usr/src/kerberosV/lib/roken/obj/libroken.a

progs altqd altqstat apply arp at atactl authpf awk basename brconfig
progs cat certpatch chmod chroot cp cron crontab date dd dev_mkdb df
progs dhclient dhcpd dhcrelay dig dirname disklabel dmesg du ed fdisk
progs finger fsck_ffs fstat ftp grep gzip head host hostname id ifconfig
progs ifmcstat init installboot iostat ipsecadm isakmpd jot kbd kdestroy
progs kill kinit klist ksh kvm_mkdb last less ln logger login logname ls
progs lynx md5 mkdir mknod mount mount_ffs mv nc netstat newfs newsyslog
progs nohup nslookup openssl passwd pax perl pfctl photurisd ping ps pstat
progs pwd pwd_mkdb reboot renice rm rmdir route sed sleep sort ssh ssh-add
progs ssh-agent ssh-keygen ssh-keyscan sshd stty sudo sync sysctl syslogd
progs systat tail tbrconfig tcpdump tcsh tee test top touch tput traceroute
progs tset tty ttyflags umount uname uniq vi visudo vmstat w wc who xargs

ln w uptime
ln mknod mkfifo
ln at atq
ln at atrm
ln at batch
ln tcsh csh
ln chmod chgrp
ln chmod chown
ln chmod chflags
ln fsck_ffs fsck
ln newfs mount_mfs
ln less more
ln pax tar
ln pax cpio
ln ksh sh
ln ksh -sh
ln reboot halt
ln gzip gunzip
ln grep egrep
ln grep fgrep
ln md5 rmd160
ln md5 sha1

srcdirs distrib/special bin sbin usr.bin/less gnu/usr.bin usr.bin usr.sbin
srcdirs sys/arch/i386/stand usr.sbin/named usr.sbin/altq usr.bin/vi
srcdirs gnu/usr.bin/lynx /usr/src/kerberosV/usr.bin usr.sbin/dhcp

special tcsh srcdir /home/ckuethe/tcsh-6.11.00

special klist objpaths /usr/src/kerberosV/lib/roken/obj/libroken.a /usr/src/kerberosV/usr.bin/klist/obj/klist.o

special sudo objpaths /usr/src/usr.bin/sudo/check.o /usr/src/usr.bin/sudo/env.o /usr/src/usr.bin/sudo/getspwuid.o /usr/src/usr.bin/sudo/goodpath.o /usr/src/usr.bin/sudo/fileops.o /usr/src/usr.bin/sudo/find_path.o /usr/src/usr.bin/sudo/interfaces.o /usr/src/usr.bin/sudo/logging.o /usr/src/usr.bin/sudo/parse.o /usr/src/usr.bin/sudo/set_perms.o /usr/src/usr.bin/sudo/sudo.o /usr/src/usr.bin/sudo/tgetpass.o /usr/src/usr.bin/sudo/sudo_auth.o /usr/src/usr.bin/sudo/bsdauth.o /usr/src/usr.bin/sudo/kerb4.o /usr/src/usr.bin/sudo/sudo.tab.o /usr/src/usr.bin/sudo/lex.yy.o /usr/src/usr.bin/sudo/alloc.o /usr/src/usr.bin/sudo/defaults.o

special visudo objpaths /usr/src/usr.bin/sudo/visudo.o /usr/src/usr.bin/sudo/fileops.o /usr/src/usr.bin/sudo/goodpath.o /usr/src/usr.bin/sudo/find_path.o /usr/src/usr.bin/sudo/sudo.tab.o /usr/src/usr.bin/sudo/lex.yy.o /usr/src/usr.bin/sudo/alloc.o /usr/src/usr.bin/sudo/defaults.o

special altqd objpaths /usr/src/usr.sbin/altq/altqd/obj/altqd.o /usr/src/usr.sbin/altq/altqd/obj/libaltq2.o /usr/src/usr.sbin/altq/libaltq/obj/libaltq.a

special vi objpaths /usr/src/usr.bin/vi/build/obj/cl_bsd.o /usr/src/usr.bin/vi/build/obj/ex_read.o /usr/src/usr.bin/vi/build/obj/v_ch.o /usr/src/usr.bin/vi/build/obj/cl_funcs.o /usr/src/usr.bin/vi/build/obj/ex_screen.o /usr/src/usr.bin/vi/build/obj/v_cmd.o /usr/src/usr.bin/vi/build/obj/cl_main.o /usr/src/usr.bin/vi/build/obj/ex_script.o /usr/src/usr.bin/vi/build/obj/v_delete.o /usr/src/usr.bin/vi/build/obj/cl_read.o /usr/src/usr.bin/vi/build/obj/ex_set.o /usr/src/usr.bin/vi/build/obj/v_ex.o /usr/src/usr.bin/vi/build/obj/cl_screen.o /usr/src/usr.bin/vi/build/obj/ex_shell.o /usr/src/usr.bin/vi/build/obj/v_increment.o /usr/src/usr.bin/vi/build/obj/cl_term.o /usr/src/usr.bin/vi/build/obj/ex_shift.o /usr/src/usr.bin/vi/build/obj/v_init.o /usr/src/usr.bin/vi/build/obj/cut.o /usr/src/usr.bin/vi/build/obj/ex_source.o /usr/src/usr.bin/vi/build/obj/v_itxt.o /usr/src/usr.bin/vi/build/obj/delete.o /usr/src/usr.bin/vi/build/obj/ex_stop.o /usr/src/usr.bin/vi/build/obj/v_left.o /usr/src/us!
r.bin/vi/build/obj/ex.o /usr/src/usr.bin/vi/build/obj/ex_subst.o /usr/src/usr.bin/vi/build/obj/v_mark.o /usr/src/usr.bin/vi/build/obj/ex_abbrev.o /usr/src/usr.bin/vi/build/obj/ex_tag.o /usr/src/usr.bin/vi/build/obj/v_match.o /usr/src/usr.bin/vi/build/obj/ex_append.o /usr/src/usr.bin/vi/build/obj/ex_tcl.o /usr/src/usr.bin/vi/build/obj/v_paragraph.o /usr/src/usr.bin/vi/build/obj/ex_args.o /usr/src/usr.bin/vi/build/obj/ex_txt.o /usr/src/usr.bin/vi/build/obj/v_put.o /usr/src/usr.bin/vi/build/obj/ex_argv.o /usr/src/usr.bin/vi/build/obj/ex_undo.o /usr/src/usr.bin/vi/build/obj/v_redraw.o /usr/src/usr.bin/vi/build/obj/ex_at.o /usr/src/usr.bin/vi/build/obj/ex_usage.o /usr/src/usr.bin/vi/build/obj/v_replace.o /usr/src/usr.bin/vi/build/obj/ex_bang.o /usr/src/usr.bin/vi/build/obj/ex_util.o /usr/src/usr.bin/vi/build/obj/v_right.o /usr/src/usr.bin/vi/build/obj/ex_cd.o /usr/src/usr.bin/vi/build/obj/ex_version.o /usr/src/usr.bin/vi/build/obj/v_screen.o /usr/src/usr.bin/vi/build/obj/ex_cmd.o!
 /usr/src/usr.bin/vi/build/obj/ex_visual.o /usr/src/usr.bin/vi/build/obj/v_scroll.o /usr/src/usr.bin/vi/build/obj/ex_cscope.o /usr/src/usr.bin/vi/build/obj/ex_write.o /usr/src/usr.bin/vi/build/obj/v_search.o /usr/src/usr.bin/vi/build/obj/ex_delete.o /usr/src/usr.bin/vi/build/obj/ex_yank.o /usr/src/usr.bin/vi/build/obj/v_section.o /usr/src/usr.bin/vi/build/obj/ex_display.o /usr/src/usr.bin/vi/build/obj/ex_z.o /usr/src/usr.bin/vi/build/obj/v_sentence.o /usr/src/usr.bin/vi/build/obj/ex_edit.o /usr/src/usr.bin/vi/build/obj/exf.o /usr/src/usr.bin/vi/build/obj/v_status.o /usr/src/usr.bin/vi/build/obj/ex_equal.o /usr/src/usr.bin/vi/build/obj/getc.o /usr/src/usr.bin/vi/build/obj/v_txt.o /usr/src/usr.bin/vi/build/obj/ex_file.o /usr/src/usr.bin/vi/build/obj/key.o /usr/src/usr.bin/vi/build/obj/v_ulcase.o /usr/src/usr.bin/vi/build/obj/ex_filter.o /usr/src/usr.bin/vi/build/obj/line.o /usr/src/usr.bin/vi/build/obj/v_undo.o /usr/src/usr.bin/vi/build/obj/ex_global.o /usr/src/usr.bin/vi/buil!
d/obj/log.o /usr/src/usr.bin/vi/build/obj/v_util.o /usr/src/usr.bin/vi/build/obj/ex_init.o /usr/src/usr.bin/vi/build/obj/main.o /usr/src/usr.bin/vi/build/obj/v_word.o /usr/src/usr.bin/vi/build/obj/ex_join.o /usr/src/usr.bin/vi/build/obj/mark.o /usr/src/usr.bin/vi/build/obj/v_xchar.o /usr/src/usr.bin/vi/build/obj/ex_map.o /usr/src/usr.bin/vi/build/obj/msg.o /usr/src/usr.bin/vi/build/obj/v_yank.o /usr/src/usr.bin/vi/build/obj/ex_mark.o /usr/src/usr.bin/vi/build/obj/options.o /usr/src/usr.bin/vi/build/obj/v_z.o /usr/src/usr.bin/vi/build/obj/ex_mkexrc.o /usr/src/usr.bin/vi/build/obj/options_f.o /usr/src/usr.bin/vi/build/obj/v_zexit.o /usr/src/usr.bin/vi/build/obj/ex_move.o /usr/src/usr.bin/vi/build/obj/put.o /usr/src/usr.bin/vi/build/obj/vi.o /usr/src/usr.bin/vi/build/obj/ex_open.o /usr/src/usr.bin/vi/build/obj/recover.o /usr/src/usr.bin/vi/build/obj/vs_line.o /usr/src/usr.bin/vi/build/obj/ex_perl.o /usr/src/usr.bin/vi/build/obj/screen.o /usr/src/usr.bin/vi/build/obj/vs_msg.o /u!
sr/src/usr.bin/vi/build/obj/ex_preserve.o /usr/src/usr.bin/vi/build/obj/search.o /usr/src/usr.bin/vi/build/obj/vs_refresh.o /usr/src/usr.bin/vi/build/obj/ex_print.o /usr/src/usr.bin/vi/build/obj/seq.o /usr/src/usr.bin/vi/build/obj/vs_relative.o /usr/src/usr.bin/vi/build/obj/ex_put.o /usr/src/usr.bin/vi/build/obj/util.o /usr/src/usr.bin/vi/build/obj/vs_smap.o /usr/src/usr.bin/vi/build/obj/ex_quit.o /usr/src/usr.bin/vi/build/obj/v_at.o /usr/src/usr.bin/vi/build/obj/vs_split.o

special lynx objpaths /usr/src/gnu/usr.bin/lynx/obj/src/DefaultStyle.o /usr/src/gnu/usr.bin/lynx/obj/src/GridText.o /usr/src/gnu/usr.bin/lynx/obj/src/HTAlert.o /usr/src/gnu/usr.bin/lynx/obj/src/HTFWriter.o /usr/src/gnu/usr.bin/lynx/obj/src/HTInit.o /usr/src/gnu/usr.bin/lynx/obj/src/HTML.o /usr/src/gnu/usr.bin/lynx/obj/src/LYBookmark.o /usr/src/gnu/usr.bin/lynx/obj/src/LYCgi.o /usr/src/gnu/usr.bin/lynx/obj/src/LYCharSets.o /usr/src/gnu/usr.bin/lynx/obj/src/LYCharUtils.o /usr/src/gnu/usr.bin/lynx/obj/src/LYClean.o /usr/src/gnu/usr.bin/lynx/obj/src/LYCookie.o /usr/src/gnu/usr.bin/lynx/obj/src/LYCurses.o /usr/src/gnu/usr.bin/lynx/obj/src/LYDownload.o /usr/src/gnu/usr.bin/lynx/obj/src/LYEdit.o /usr/src/gnu/usr.bin/lynx/obj/src/LYEditmap.o /usr/src/gnu/usr.bin/lynx/obj/src/LYExtern.o /usr/src/gnu/usr.bin/lynx/obj/src/LYForms.o /usr/src/gnu/usr.bin/lynx/obj/src/LYGetFile.o /usr/src/gnu/usr.bin/lynx/obj/src/LYHash.o /usr/src/gnu/usr.bin/lynx/obj/src/LYHistory.o /usr/src/gnu/usr.bin/!
lynx/obj/src/LYJump.o /usr/src/gnu/usr.bin/lynx/obj/src/LYKeymap.o /usr/src/gnu/usr.bin/lynx/obj/src/LYLeaks.o /usr/src/gnu/usr.bin/lynx/obj/src/LYList.o /usr/src/gnu/usr.bin/lynx/obj/src/LYLocal.o /usr/src/gnu/usr.bin/lynx/obj/src/LYMail.o /usr/src/gnu/usr.bin/lynx/obj/src/LYMain.o /usr/src/gnu/usr.bin/lynx/obj/src/LYMainLoop.o /usr/src/gnu/usr.bin/lynx/obj/src/LYMap.o /usr/src/gnu/usr.bin/lynx/obj/src/LYNews.o /usr/src/gnu/usr.bin/lynx/obj/src/LYOptions.o /usr/src/gnu/usr.bin/lynx/obj/src/LYPrettySrc.o /usr/src/gnu/usr.bin/lynx/obj/src/LYPrint.o /usr/src/gnu/usr.bin/lynx/obj/src/LYReadCFG.o /usr/src/gnu/usr.bin/lynx/obj/src/LYSearch.o /usr/src/gnu/usr.bin/lynx/obj/src/LYShowInfo.o /usr/src/gnu/usr.bin/lynx/obj/src/LYStrings.o /usr/src/gnu/usr.bin/lynx/obj/src/LYStyle.o /usr/src/gnu/usr.bin/lynx/obj/src/LYTraversal.o /usr/src/gnu/usr.bin/lynx/obj/src/LYUpload.o /usr/src/gnu/usr.bin/lynx/obj/src/LYUtils.o /usr/src/gnu/usr.bin/lynx/obj/src/LYexit.o /usr/src/gnu/usr.bin/lynx/o!
bj/src/LYrcFile.o /usr/src/gnu/usr.bin/lynx/obj/src/UCAuto.o /usr/src/gnu/usr.bin/lynx/obj/src/UCAux.o /usr/src/gnu/usr.bin/lynx/obj/src/UCdomap.o /usr/src/gnu/usr.bin/lynx/obj/WWW/Library/Implementation/libwww.a

special certpatch objpaths /usr/src/sbin/isakmpd/apps/certpatch/obj/certpatch.o /usr/lib/libm.a

special isakmpd objpaths /usr/src/sbin/isakmpd/obj/app.o /usr/src/sbin/isakmpd/obj/attribute.o /usr/src/sbin/isakmpd/obj/cert.o /usr/src/sbin/isakmpd/obj/connection.o /usr/src/sbin/isakmpd/obj/constants.o /usr/src/sbin/isakmpd/obj/conf.o /usr/src/sbin/isakmpd/obj/cookie.o /usr/src/sbin/isakmpd/obj/crypto.o /usr/src/sbin/isakmpd/obj/dh.o /usr/src/sbin/isakmpd/obj/doi.o /usr/src/sbin/isakmpd/obj/exchange.o /usr/src/sbin/isakmpd/obj/exchange_num.o /usr/src/sbin/isakmpd/obj/field.o /usr/src/sbin/isakmpd/obj/gmp_util.o /usr/src/sbin/isakmpd/obj/hash.o /usr/src/sbin/isakmpd/obj/if.o /usr/src/sbin/isakmpd/obj/ike_auth.o /usr/src/sbin/isakmpd/obj/ike_main_mode.o /usr/src/sbin/isakmpd/obj/ike_phase_1.o /usr/src/sbin/isakmpd/obj/ike_quick_mode.o /usr/src/sbin/isakmpd/obj/init.o /usr/src/sbin/isakmpd/obj/ipsec.o /usr/src/sbin/isakmpd/obj/ipsec_fld.o /usr/src/sbin/isakmpd/obj/ipsec_num.o /usr/src/sbin/isakmpd/obj/isakmpd.o /usr/src/sbin/isakmpd/obj/isakmp_doi.o /usr/src/sbin/isakmpd/obj!
/isakmp_fld.o /usr/src/sbin/isakmpd/obj/isakmp_num.o /usr/src/sbin/isakmpd/obj/key.o /usr/src/sbin/isakmpd/obj/libcrypto.o /usr/src/sbin/isakmpd/obj/log.o /usr/src/sbin/isakmpd/obj/message.o /usr/src/sbin/isakmpd/obj/math_2n.o /usr/src/sbin/isakmpd/obj/math_group.o /usr/src/sbin/isakmpd/obj/prf.o /usr/src/sbin/isakmpd/obj/sa.o /usr/src/sbin/isakmpd/obj/sysdep.o /usr/src/sbin/isakmpd/obj/timer.o /usr/src/sbin/isakmpd/obj/transport.o /usr/src/sbin/isakmpd/obj/udp.o /usr/src/sbin/isakmpd/obj/ui.o /usr/src/sbin/isakmpd/obj/util.o /usr/src/sbin/isakmpd/obj/pf_key_v2.o /usr/src/sbin/isakmpd/obj/x509.o /usr/src/sbin/isakmpd/obj/policy.o /usr/src/sbin/isakmpd/obj/math_ec2n.o /usr/src/sbin/isakmpd/obj/ike_aggressive.o /usr/src/sbin/isakmpd/obj/isakmp_cfg.o

srcdirs distrib/special bin sbin usr.bin/less gnu/usr.bin usr.bin usr.sbin
srcdirs usr.bin/ssh

special ssh objpaths /usr/src/usr.bin/ssh/ssh/obj/ssh.o /usr/src/usr.bin/ssh/ssh/obj/readconf.o /usr/src/usr.bin/ssh/ssh/obj/clientloop.o /usr/src/usr.bin/ssh/ssh/obj/sshtty.o /usr/src/usr.bin/ssh/ssh/obj/sshconnect.o /usr/src/usr.bin/ssh/ssh/obj/sshconnect1.o /usr/src/usr.bin/ssh/ssh/obj/sshconnect2.o /usr/src/usr.bin/ssh/lib/obj/libssh.a

special sshd objpaths /usr/src/usr.bin/ssh/sshd/obj/sshd.o /usr/src/usr.bin/ssh/sshd/obj/auth-rhosts.o /usr/src/usr.bin/ssh/sshd/obj/auth-passwd.o /usr/src/usr.bin/ssh/sshd/obj/auth-rsa.o /usr/src/usr.bin/ssh/sshd/obj/auth-rh-rsa.o /usr/src/usr.bin/ssh/sshd/obj/sshpty.o /usr/src/usr.bin/ssh/sshd/obj/sshlogin.o /usr/src/usr.bin/ssh/sshd/obj/servconf.o /usr/src/usr.bin/ssh/sshd/obj/serverloop.o /usr/src/usr.bin/ssh/sshd/obj/auth.o /usr/src/usr.bin/ssh/sshd/obj/auth1.o /usr/src/usr.bin/ssh/sshd/obj/auth2.o /usr/src/usr.bin/ssh/sshd/obj/auth-options.o /usr/src/usr.bin/ssh/sshd/obj/session.o /usr/src/usr.bin/ssh/sshd/obj/auth-chall.o /usr/src/usr.bin/ssh/sshd/obj/auth2-chall.o /usr/src/usr.bin/ssh/sshd/obj/groupaccess.o /usr/src/usr.bin/ssh/sshd/obj/auth-skey.o /usr/src/usr.bin/ssh/sshd/obj/auth-bsdauth.o /usr/src/usr.bin/ssh/sshd/obj/monitor_mm.o /usr/src/usr.bin/ssh/sshd/obj/monitor.o /usr/src/usr.bin/ssh/sshd/obj/auth-krb5.o /usr/src/usr.bin/ssh/sshd/obj/auth-krb4.o /usr/src/u!
sr.bin/ssh/lib/obj/libssh.a /usr/lib/libwrap.a

special ssh-add objpaths /usr/src/usr.bin/ssh/ssh-add/obj/ssh-add.o /usr/src/usr.bin/ssh/lib/obj/libssh.a

special ssh-agent objpaths /usr/src/usr.bin/ssh/ssh-agent/obj/ssh-agent.o /usr/src/usr.bin/ssh/lib/obj/libssh.a

special ssh-keygen objpaths /usr/src/usr.bin/ssh/ssh-keygen/obj/ssh-keygen.o /usr/src/usr.bin/ssh/lib/obj/libssh.a

special ssh-keyscan objpaths /usr/src/usr.bin/ssh/ssh-keyscan/obj/ssh-keyscan.o /usr/src/usr.bin/ssh/lib/obj/libssh.a

special dhcpd objpaths /usr/src/usr.sbin/dhcp/server/obj/dhcpd.o /usr/src/usr.sbin/dhcp/server/obj/dhcp.o /usr/src/usr.sbin/dhcp/server/obj/bootp.o /usr/src/usr.sbin/dhcp/server/obj/confpars.o /usr/src/usr.sbin/dhcp/server/obj/db.o /usr/src/usr.sbin/dhcp/server/obj/alloc.o /usr/src/usr.sbin/dhcp/server/obj/dispatch.o /usr/src/usr.sbin/dhcp/server/obj/hash.o /usr/src/usr.sbin/dhcp/server/obj/memory.o /usr/src/usr.sbin/dhcp/server/obj/print.o /usr/src/usr.sbin/dhcp/server/obj/bpf.o /usr/src/usr.sbin/dhcp/server/obj/icmp.o /usr/src/usr.sbin/dhcp/server/obj/options.o /usr/src/usr.sbin/dhcp/server/obj/tree.o /usr/src/usr.sbin/dhcp/server/obj/conflex.o /usr/src/usr.sbin/dhcp/server/obj/errwarn.o /usr/src/usr.sbin/dhcp/server/obj/inet.o /usr/src/usr.sbin/dhcp/server/obj/packet.o /usr/src/usr.sbin/dhcp/server/obj/socket.o /usr/src/usr.sbin/dhcp/server/obj/convert.o /usr/src/usr.sbin/dhcp/server/obj/ethernet.o /usr/src/usr.sbin/dhcp/server/obj/tables.o /usr/src/usr.sbin/dhcp/server/o!
bj/parse.o

special dhclient objpaths /usr/src/usr.sbin/dhcp/dhclient/obj/dhclient.o /usr/src/usr.sbin/dhcp/dhclient/obj/clparse.o /usr/src/usr.sbin/dhcp/dhclient/obj/alloc.o /usr/src/usr.sbin/dhcp/dhclient/obj/dispatch.o /usr/src/usr.sbin/dhcp/dhclient/obj/hash.o /usr/src/usr.sbin/dhcp/dhclient/obj/memory.o /usr/src/usr.sbin/dhcp/dhclient/obj/print.o /usr/src/usr.sbin/dhcp/dhclient/obj/bpf.o /usr/src/usr.sbin/dhcp/dhclient/obj/icmp.o /usr/src/usr.sbin/dhcp/dhclient/obj/options.o /usr/src/usr.sbin/dhcp/dhclient/obj/tree.o /usr/src/usr.sbin/dhcp/dhclient/obj/conflex.o /usr/src/usr.sbin/dhcp/dhclient/obj/errwarn.o /usr/src/usr.sbin/dhcp/dhclient/obj/inet.o /usr/src/usr.sbin/dhcp/dhclient/obj/packet.o /usr/src/usr.sbin/dhcp/dhclient/obj/socket.o /usr/src/usr.sbin/dhcp/dhclient/obj/convert.o /usr/src/usr.sbin/dhcp/dhclient/obj/ethernet.o /usr/src/usr.sbin/dhcp/dhclient/obj/tables.o /usr/src/usr.sbin/dhcp/dhclient/obj/parse.o

special dhcrelay objpaths /usr/src/usr.sbin/dhcp/relay/obj/dhcrelay.o /usr/src/usr.sbin/dhcp/relay/obj/alloc.o /usr/src/usr.sbin/dhcp/relay/obj/dispatch.o /usr/src/usr.sbin/dhcp/relay/obj/hash.o /usr/src/usr.sbin/dhcp/relay/obj/memory.o /usr/src/usr.sbin/dhcp/relay/obj/print.o /usr/src/usr.sbin/dhcp/relay/obj/bpf.o /usr/src/usr.sbin/dhcp/relay/obj/icmp.o /usr/src/usr.sbin/dhcp/relay/obj/options.o /usr/src/usr.sbin/dhcp/relay/obj/tree.o /usr/src/usr.sbin/dhcp/relay/obj/conflex.o /usr/src/usr.sbin/dhcp/relay/obj/errwarn.o /usr/src/usr.sbin/dhcp/relay/obj/inet.o /usr/src/usr.sbin/dhcp/relay/obj/packet.o /usr/src/usr.sbin/dhcp/relay/obj/socket.o /usr/src/usr.sbin/dhcp/relay/obj/convert.o /usr/src/usr.sbin/dhcp/relay/obj/ethernet.o /usr/src/usr.sbin/dhcp/relay/obj/tables.o /usr/src/usr.sbin/dhcp/relay/obj/parse.o
#EOF


-- 
Chris Kuethe, GCIA CISSP: Secure Systems Specialist - U of A CNS
      office: 157 General Services Bldg.    +1.780.492.8135
              chris.kuethe@[pyxis.cns.]ualberta.ca

No trees were destroyed in the sending of this contaminant free message; we
do concede a significant number of electrons may have been inconvenienced.