freebsd-skq/usr.sbin/Makefile

260 lines
3.1 KiB
Makefile
Raw Normal View History

# From: @(#)Makefile 5.20 (Berkeley) 6/12/93
1999-08-28 01:35:59 +00:00
# $FreeBSD$
1994-05-26 05:23:31 +00:00
.if ${MACHINE_ARCH} != "powerpc"
_sysinstall=sysinstall
.endif
1994-09-26 22:20:19 +00:00
# XXX MISSING: mkproto
1998-11-10 12:29:04 +00:00
SUBDIR= IPXrouted \
ac \
1998-08-30 20:58:16 +00:00
accton \
adduser \
amd \
ancontrol \
1998-08-30 20:58:16 +00:00
arp \
bootparamd \
bsnmpd \
burncd \
1998-08-30 20:58:16 +00:00
cdcontrol \
chkgrp \
chown \
chroot \
ckdist \
config \
cron \
1998-11-10 12:29:04 +00:00
crunch \
1998-08-30 20:58:16 +00:00
ctm \
daemon \
dconschat \
2001-04-21 00:13:57 +00:00
devinfo \
digictl \
diskinfo \
1998-08-30 20:58:16 +00:00
edquota \
extattr \
extattrctl \
faithd \
fdcontrol \
fdformat \
fdread \
fdwrite \
2002-12-30 10:13:16 +00:00
fwcontrol \
getfmac \
getpmac \
gstat \
ifmcstat \
1998-08-30 20:58:16 +00:00
inetd \
1998-11-09 23:39:02 +00:00
iostat \
ip6addrctl \
This Implements the mumbled about "Jail" feature. This is a seriously beefed up chroot kind of thing. The process is jailed along the same lines as a chroot does it, but with additional tough restrictions imposed on what the superuser can do. For all I know, it is safe to hand over the root bit inside a prison to the customer living in that prison, this is what it was developed for in fact: "real virtual servers". Each prison has an ip number associated with it, which all IP communications will be coerced to use and each prison has its own hostname. Needless to say, you need more RAM this way, but the advantage is that each customer can run their own particular version of apache and not stomp on the toes of their neighbors. It generally does what one would expect, but setting up a jail still takes a little knowledge. A few notes: I have no scripts for setting up a jail, don't ask me for them. The IP number should be an alias on one of the interfaces. mount a /proc in each jail, it will make ps more useable. /proc/<pid>/status tells the hostname of the prison for jailed processes. Quotas are only sensible if you have a mountpoint per prison. There are no privisions for stopping resource-hogging. Some "#ifdef INET" and similar may be missing (send patches!) If somebody wants to take it from here and develop it into more of a "virtual machine" they should be most welcome! Tools, comments, patches & documentation most welcome. Have fun... Sponsored by: http://www.rndassociates.com/ Run for almost a year by: http://www.servetheweb.com/
1999-04-28 11:38:52 +00:00
jail \
jexec \
jls \
1998-11-09 23:39:02 +00:00
kbdcontrol \
kbdmap \
1998-08-30 20:58:16 +00:00
kernbb \
kldxref \
lastlogin \
mailwrapper \
1998-08-30 20:58:16 +00:00
manctl \
1999-04-07 04:12:02 +00:00
memcontrol \
1999-10-20 07:33:09 +00:00
mergemaster \
1999-11-13 18:34:22 +00:00
mixer \
2000-04-11 03:02:37 +00:00
mlxcontrol \
mount_portalfs \
mountd \
1998-11-09 23:39:02 +00:00
moused \
1998-08-30 20:58:16 +00:00
mrouted \
mtest \
mtree \
ndp \
1998-08-30 20:58:16 +00:00
newsyslog \
nfsd \
ngctl \
ntp \
nghook \
1998-08-30 20:58:16 +00:00
pciconf \
periodic \
pkg_install \
ppp \
pppd \
1998-08-30 20:58:16 +00:00
pppstats \
procctl \
pstat \
pw \
pwd_mkdb \
quot \
quotaon \
rarpd \
2000-11-12 21:55:21 +00:00
raycontrol \
1998-08-30 20:58:16 +00:00
repquota \
rmt \
Bring in a hybrid of SunSoft's transport-independent RPC (TI-RPC) and associated changes that had to happen to make this possible as well as bugs fixed along the way. Bring in required TLI library routines to support this. Since we don't support TLI we've essentially copied what NetBSD has done, adding a thin layer to emulate direct the TLI calls into BSD socket calls. This is mostly from Sun's tirpc release that was made in 1994, however some fixes were backported from the 1999 release (supposedly only made available after this porting effort was underway). The submitter has agreed to continue on and bring us up to the 1999 release. Several key features are introduced with this update: Client calls are thread safe. (1999 code has server side thread safe) Updated, a more modern interface. Many userland updates were done to bring the code up to par with the recent RPC API. There is an update to the pthreads library, a function pthread_main_np() was added to emulate a function of Sun's threads library. While we're at it, bring in NetBSD's lockd, it's been far too long of a wait. New rpcbind(8) replaces portmap(8) (supporting communication over an authenticated Unix-domain socket, and by default only allowing set and unset requests over that channel). It's much more secure than the old portmapper. Umount(8), mountd(8), mount_nfs(8), nfsd(8) have also been upgraded to support TI-RPC and to support IPV6. Umount(8) is also fixed to unmount pathnames longer than 80 chars, which are currently truncated by the Kernel statfs structure. Submitted by: Martin Blapp <mb@imp.ch> Manpage review: ru Secure RPC implemented by: wpaul
2001-03-19 12:50:13 +00:00
rpcbind \
1998-08-30 20:58:16 +00:00
rpc.lockd \
rpc.statd \
rpc.umntall \
1998-08-30 20:58:16 +00:00
rpc.yppasswdd \
rpc.ypupdated \
1998-11-10 12:29:04 +00:00
rpc.ypxfrd \
rrenumd \
rtadvd \
1998-11-09 23:39:02 +00:00
rtprio \
rtsold \
1998-08-30 20:58:16 +00:00
rwhod \
sa \
setfmac \
setkey \
setpmac \
1998-08-30 20:58:16 +00:00
sliplogin \
slstat \
spray \
${_sysinstall} \
1998-08-30 20:58:16 +00:00
syslogd \
tcpdchk \
tcpdmatch \
tcpdump \
1998-08-30 20:58:16 +00:00
timed \
traceroute \
trpt \
tzsetup \
ugidfw \
1998-11-09 23:39:02 +00:00
vidcontrol \
1998-08-30 20:58:16 +00:00
vipw \
vnconfig \
watch \
watchdogd \
wicontrol \
1998-08-30 20:58:16 +00:00
yp_mkdb \
1998-11-10 12:29:04 +00:00
ypbind \
1998-08-30 20:58:16 +00:00
yppoll \
yppush \
ypserv \
1998-11-10 12:29:04 +00:00
ypset \
zic
.if !defined(NOATM)
SUBDIR+=atm
.endif
.if !defined(NOINET6)
SUBDIR+=mld6query \
rip6query \
route6d \
traceroute6
.endif
.if !defined(NO_IPFILTER)
SUBDIR+=ipftest \
ipresend \
ipsend \
iptest
.endif
.if !defined(NO_USB)
SUBDIR+=usbd \
usbdevs
.endif
2003-08-13 00:13:37 +00:00
.if !defined(NOLIBC_R) && ${MACHINE_ARCH} != "powerpc"
SUBDIR+=pppctl
.endif
1999-11-30 06:22:22 +00:00
.if !defined(NO_BIND)
SUBDIR+=named \
named.reload \
named.restart \
ndc \
nslookup \
nsupdate
.endif
.if !defined(NO_LPR)
SUBDIR+=lpr
.endif
.if !defined(NO_SENDMAIL)
SUBDIR+=editmap \
mailstats \
1998-08-30 20:58:16 +00:00
makemap \
praliases \
sendmail
.endif
.if ${MACHINE_ARCH} == "alpha"
SUBDIR+=elf2exe \
pnpinfo
.endif
.if ${MACHINE_ARCH} == "i386"
SUBDIR+=apm \
1999-07-10 17:44:02 +00:00
apmd \
asf \
bluetooth \
1998-11-10 12:29:04 +00:00
btxld \
kgmon \
kgzip \
1998-08-30 20:58:16 +00:00
lptcontrol \
mount_nwfs \
mount_smbfs \
1998-08-30 20:58:16 +00:00
mptable \
Commit the first cut of Project Evil, also known as the NDISulator. Yes, it's what you think it is. Yes, you should run away now. This is a special compatibility module for allowing Windows NDIS miniport network drivers to be used with FreeBSD/x86. This provides _binary_ NDIS compatibility (not source): you can run NDIS driver code, but you can't build it. There are three main parts: sys/compat/ndis: the NDIS compat API, which provides binary compatibility functions for many routines in NDIS.SYS, HAL.dll and ntoskrnl.exe in Windows (these are the three modules that most NDIS miniport drivers use). The compat module also contains a small PE relocator/dynalinker which relocates the Windows .SYS image and then patches in our native routines. sys/dev/if_ndis: the if_ndis driver wrapper. This module makes use of the ndis compat API and can be compiled with a specially prepared binary image file (ndis_driver_data.h) containing the Windows .SYS image and registry key information parsed out of the accompanying .INF file. Once if_ndis.ko is built, it can be loaded and unloaded just like a native FreeBSD kenrel module. usr.sbin/ndiscvt: a special utility that converts foo.sys and foo.inf into an ndis_driver_data.h file that can be compiled into if_ndis.o. Contains an .inf file parser graciously provided by Matt Dodd (and mercilessly hacked upon by me) that strips out device ID info and registry key info from a .INF file and packages it up with a binary image array. The ndiscvt(8) utility also does some manipulation of the segments within the .sys file to make life easier for the kernel loader. (Doing the manipulation here saves the kernel code from having to move things around later, which would waste memory.) ndiscvt is only built for the i386 arch. Only files.i386 has been updated, and none of this is turned on in GENERIC. It should probably work on pc98. I have no idea about amd64 or ia64 at this point. This is still a work in progress. I estimate it's about %85 done, but I want it under CVS control so I can track subsequent changes. It has been tested with exactly three drivers: the LinkSys LNE100TX v4 driver (Lne100v4.sys), the sample Intel 82559 driver from the Windows DDK (e100bex.sys) and the Broadcom BCM43xx wireless driver (bcmwl5.sys). It still needs to have a net80211 stuff added to it. To use it, you would do something like this: # cd /sys/modules/ndis # make; make load # cd /sys/modules/if_ndis # ndiscvt -i /path/to/foo.inf -s /path/to/foo.sys -o ndis_driver_data.h # make; make load # sysctl -a | grep ndis All registry keys are mapped to sysctl nodes. Sometimes drivers refer to registry keys that aren't mentioned in foo.inf. If this happens, the NDIS API module creates sysctl nodes for these keys on the fly so you can tweak them. An example usage of the Broadcom wireless driver would be: # sysctl hw.ndis0.EnableAutoConnect=1 # sysctl hw.ndis0.SSID="MY_SSID" # sysctl hw.ndis0.NetworkType=0 (0 for bss, 1 for adhoc) # ifconfig ndis0 <my ipaddr> netmask 0xffffff00 up Things to be done: - get rid of debug messages - add in ndis80211 support - defer transmissions until after a status update with NDIS_STATUS_CONNECTED occurs - Create smarter lookaside list support - Split off if_ndis_pci.c and if_ndis_pccard.c attachments - Make sure PCMCIA support works - Fix ndiscvt to properly parse PCMCIA device IDs from INF files - write ndisapi.9 man page PR: Submitted by: Reviewed by: Approved by: Obtained from: MFC after:
2003-12-11 22:34:36 +00:00
ndiscvt \
pccard \
pcvt \
pnpinfo \
1998-08-30 20:58:16 +00:00
sgsc \
sicontrol \
spkrtest \
1998-11-10 12:29:04 +00:00
stallion \
2003-07-14 16:36:40 +00:00
wlconfig \
zzz
.if !defined(NO_ACPI)
SUBDIR+=acpi
.endif
.if !defined(NO_I4B)
SUBDIR+=i4b
.endif
1998-09-16 09:33:23 +00:00
.endif
.if ${MACHINE_ARCH} == "ia64"
SUBDIR+=acpi \
zzz
.endif
# kgmon: builds, but no kernel profiling
# kgzip: builds, but missing support files
# mptable: broken (not 64 bit clean)
# pnpinfo: crashes (not really useful anyway)
2003-06-03 01:38:16 +00:00
.if ${MACHINE_ARCH} == "amd64"
SUBDIR+=acpi \
2003-09-30 04:19:01 +00:00
asf \
boot0cfg \
btxld \
lptcontrol \
mount_nwfs \
mount_smbfs \
2003-09-30 04:17:45 +00:00
mptable \
pcvt/ispcvt \
sicontrol \
spkrtest \
zzz
2003-06-03 01:38:16 +00:00
.endif
.if ${MACHINE} == "i386"
SUBDIR+=boot0cfg
.endif
.if ${MACHINE} == "pc98"
SUBDIR+=boot98cfg
.endif
2002-10-18 15:38:39 +00:00
.if ${MACHINE_ARCH} == "sparc64"
SUBDIR+=ofwdump
.endif
.if !defined(NOCRYPT) && !defined(NO_OPENSSL)
SUBDIR+=keyserv
.endif
1994-05-26 05:23:31 +00:00
.include <bsd.subdir.mk>