Commit Graph

11847 Commits

Author SHA1 Message Date
matteo
38559fc6d5 remove a pointless prototype and static-fy the corresponding function
MFC after:	3 days
2008-11-18 01:19:25 +00:00
matteo
f2820241b0 use WARNS?= instead of WARNS=
MFC after:	3 days
2008-11-18 00:59:26 +00:00
matteo
3c521d56fa Be more precise and use sizeof(tn)
Pointed out by: glewis@

MFC after:	3 days
2008-11-18 00:39:50 +00:00
matteo
d4072625e6 Use WARNS?= instead of WARNS=
MFC after:	3 days
2008-11-18 00:12:15 +00:00
imp
6e1bfa6c69 make this warns=5 clean 2008-11-17 22:46:29 +00:00
imp
5cf9a95bf5 Move dumpcis to its own directory, start to decouple from the
pccardc/pccardd history.
2008-11-17 22:19:19 +00:00
imp
4a8dc1a10c Minor ANSI tweaks. 2008-11-17 22:05:53 +00:00
jkoshy
89701909aa Ignore absent CPUs when listing the current state of PMC hardware. 2008-11-16 04:26:38 +00:00
keramida
fe573b41d7 Finish a few more .Dl "quoted" arguments missed in revision 184984 2008-11-15 06:41:57 +00:00
keramida
5f11c86ecf Add missing quotes to .Dl arguments.
This is harmless for the mandoc output, but it makes syntax highlighting of
the .Dl argument string a bit prettier in Emacs.
2008-11-15 06:36:07 +00:00
mav
95caf1de4f Add ADMA, SATA and SAS mass storage subclasses. 2008-11-13 19:49:16 +00:00
yongari
23f437b484 Add ale(4) to the list of supported network interface. 2008-11-12 10:01:16 +00:00
sobomax
c41e43078b No need to run rm ${COMPFILE} after mm_install() - mm_install()
does it for us.
2008-11-11 02:13:21 +00:00
matteo
79b0ca8da7 Make usr.sbin/cron/crontab and usr.sbin/cron/lib WARNS=3 clean
Tested with: make universe

MFC after:	3 days
2008-11-10 06:35:30 +00:00
sobomax
48d5b1d610 Improve on 184781 - instead of ignoring the file when the only difference
is CVS Id, replace the old one with the new one automatically. While I
don't see much difference, some people think it's somehow better that way.
2008-11-09 23:44:32 +00:00
matteo
43e6672f4c Revert to previous revision.
I should not commit anything at 3.50 AM.
In addition to danfe's comments, I got others.
I'll work on a better version of the patch.
2008-11-09 09:01:09 +00:00
jkoshy
1d083db91c - Document the changed meaning of a '*' argument to option "-c".
- Tweak grammar.
2008-11-09 08:39:52 +00:00
jkoshy
d430ed23cd Change the meaning of a "*" argument to option -c to mean 'all
unhalted CPUs', instead of 'all CPUs'.  This change brings
pmccontrol(8) in line with pmcstat(8).
2008-11-09 08:36:35 +00:00
sobomax
c0a54d2002 Ignore files that only differ in CVS Id tag.
MFC after:	2 weeks
2008-11-09 07:58:23 +00:00
matteo
21b9f8808f Don't leave files in /var/cront/tabs when interrupted
PR:		17363
MFC after:	3 days
2008-11-09 07:34:11 +00:00
matteo
d820425919 Be paranoid and use snprintf
PR:		bin/122137
Submitted by:	Steven Kreuzer <skreuzer@exit2shell.com>
MFC after:	3 days
2008-11-09 06:44:53 +00:00
blackend
d02720560a Update ports number and size of Ports Collection. 2008-11-07 22:01:31 +00:00
matteo
f1225346f4 Be paranoid and zero out passwd
PR:	122070
Submitted by:	Steven Kreuzer <skreuzer@exit2shell.com>
Reminded by:    gnn@
MFC after:	3 days
2008-11-06 04:53:02 +00:00
keramida
91ff732591 Tiny typo fix and remove 'example' from a "real" manpage. 2008-11-05 09:42:05 +00:00
alfred
effcf5d59c Bring in USB4BSD, Hans Petter Selasky rework of the USB stack
that includes significant features and SMP safety.

This commit includes a more or less complete rewrite of the *BSD USB
stack, including Host Controller and Device Controller drivers and
updating all existing USB drivers to use the new USB API:

1) A brief feature list:

  - A new and mutex enabled USB API.

  - Many USB drivers are now running Giant free.

  - Linux USB kernel compatibility layer.

  - New UGEN backend and libusb library, finally solves the "driver
    unloading" problem. The new BSD licensed libusb20 library is fully
    compatible with libusb-0.1.12 from sourceforge.

  - New "usbconfig" utility, for easy configuration of USB.

  - Full support for Split transactions, which means you can use your
    full speed USB audio device on a high speed USB HUB.

  - Full support for HS ISOC transactions, which makes writing drivers
    for various HS webcams possible, for example.

  - Full support for USB on embedded platforms, mostly cache flushing
    and buffer invalidating stuff.

  - Safer parsing of USB descriptors.

  - Autodetect of annoying USB install disks.

  - Support for USB device side mode, also called USB gadget mode,
    using the same API like the USB host side. In other words the new
    USB stack is symmetric with regard to host and device side.

  - Support for USB transfers like I/O vectors, means more throughput
    and less interrupts.

  - ... see the FreeBSD quarterly status reports under "USB project"

2) To enable the driver in the default kernel build:

2.a) Remove all existing USB device options from your kernel config
file.

2.b) Add the following USB device options to your kernel configuration
file:

# USB core support
device          usb2_core

# USB controller support
device		usb2_controller
device		usb2_controller_ehci
device		usb2_controller_ohci
device		usb2_controller_uhci

# USB mass storage support
device		usb2_storage
device		usb2_storage_mass

# USB ethernet support, requires miibus
device		usb2_ethernet
device		usb2_ethernet_aue
device		usb2_ethernet_axe
device		usb2_ethernet_cdce
device		usb2_ethernet_cue
device		usb2_ethernet_kue
device		usb2_ethernet_rue
device		usb2_ethernet_dav

# USB wireless LAN support
device		usb2_wlan
device		usb2_wlan_rum
device		usb2_wlan_ral
device		usb2_wlan_zyd

# USB serial device support
device		usb2_serial
device		usb2_serial_ark
device		usb2_serial_bsa
device		usb2_serial_bser
device		usb2_serial_chcom
device		usb2_serial_cycom
device		usb2_serial_foma
device		usb2_serial_ftdi
device		usb2_serial_gensa
device		usb2_serial_ipaq
device		usb2_serial_lpt
device		usb2_serial_mct
device		usb2_serial_modem
device		usb2_serial_moscom
device		usb2_serial_plcom
device		usb2_serial_visor
device		usb2_serial_vscom

# USB bluetooth support
device		usb2_bluetooth
device		usb2_bluetooth_ng

# USB input device support
device		usb2_input
device		usb2_input_hid
device		usb2_input_kbd
device		usb2_input_ms

# USB sound and MIDI device support
device		usb2_sound

2) To enable the driver at runtime:

2.a) Unload all existing USB modules. If USB is compiled into the
kernel then you might have to build a new kernel.

2.b) Load the "usb2_xxx.ko" modules under /boot/kernel having the same
base name like the kernel device option.

Submitted by: Hans Petter Selasky hselasky at c2i dot net
Reviewed by: imp, alfred
2008-11-04 02:31:03 +00:00
dfr
2fb03513fc Implement support for RPCSEC_GSS authentication to both the NFS client
and server. This replaces the RPC implementation of the NFS client and
server with the newer RPC implementation originally developed
(actually ported from the userland sunrpc code) to support the NFS
Lock Manager.  I have tested this code extensively and I believe it is
stable and that performance is at least equal to the legacy RPC
implementation.

The NFS code currently contains support for both the new RPC
implementation and the older legacy implementation inherited from the
original NFS codebase. The default is to use the new implementation -
add the NFS_LEGACYRPC option to fall back to the old code. When I
merge this support back to RELENG_7, I will probably change this so
that users have to 'opt in' to get the new code.

To use RPCSEC_GSS on either client or server, you must build a kernel
which includes the KGSSAPI option and the crypto device. On the
userland side, you must build at least a new libc, mountd, mount_nfs
and gssd. You must install new versions of /etc/rc.d/gssd and
/etc/rc.d/nfsd and add 'gssd_enable=YES' to /etc/rc.conf.

As long as gssd is running, you should be able to mount an NFS
filesystem from a server that requires RPCSEC_GSS authentication. The
mount itself can happen without any kerberos credentials but all
access to the filesystem will be denied unless the accessing user has
a valid ticket file in the standard place (/tmp/krb5cc_<uid>). There
is currently no support for situations where the ticket file is in a
different place, such as when the user logged in via SSH and has
delegated credentials from that login. This restriction is also
present in Solaris and Linux. In theory, we could improve this in
future, possibly using Brooks Davis' implementation of variant
symlinks.

Supporting RPCSEC_GSS on a server is nearly as simple. You must create
service creds for the server in the form 'nfs/<fqdn>@<REALM>' and
install them in /etc/krb5.keytab. The standard heimdal utility ktutil
makes this fairly easy. After the service creds have been created, you
can add a '-sec=krb5' option to /etc/exports and restart both mountd
and nfsd.

The only other difference an administrator should notice is that nfsd
doesn't fork to create service threads any more. In normal operation,
there will be two nfsd processes, one in userland waiting for TCP
connections and one in the kernel handling requests. The latter
process will create as many kthreads as required - these should be
visible via 'top -H'. The code has some support for varying the number
of service threads according to load but initially at least, nfsd uses
a fixed number of threads according to the value supplied to its '-n'
option.

Sponsored by:	Isilon Systems
MFC after:	1 month
2008-11-03 10:38:00 +00:00
ed
57b4089c20 Clamp the values of t_column to 5 digits in pstat -t' and show all ttys'.
We often run into these very high column numbers when we run curses
applications, because they don't print any newlines. This messes up the
table output of `pstat -t'. If these numbers get really high, they
aren't of any use to the reader anyway. Convert them to `99999' when
they run out of bounds.
2008-11-01 13:40:46 +00:00
rafan
5256ae4dbd - Whenever a password/shell is changed via rpc.yppasswdd, the daemon leaves
one zombie process because it does not do the cleanup. For a long running
  NIS/YP server, it will have lots of zombie processes on it. Fix that by
  ignoring the SIGCHLD signal since we don't really care about the exit
  status in this case.

PR:		bin/91980
Reported by:	Arjan van der Velde <dj_noresult at hotmail.com>
Submitted by:	Jui-Nan Lin" <jnlin at csie.nctu.edu.tw>
Reviewed by:	delphij
MFC after:	1 month
2008-10-30 01:54:31 +00:00
bz
90fad99402 We do not have a libkse anymore and Mk/bsd.* does not know
about LIBKSE anymore, so s,MK_LIBKSE,MK_LIBPTHREAD,.
2008-10-27 15:15:08 +00:00
delphij
4274559e69 Slightly adjust code logic: we allocate a "size"ed length of memory, not
size+1.  Use strlcpy() to avoid using - 1 as length for strncpy().
2008-10-23 00:31:15 +00:00
delphij
be08be711c Use strlcpy() before strlen() instead of strncpy(). 2008-10-23 00:28:21 +00:00
delphij
5c9667b50c Since we are going to strlen() on the string, it is supposed to be
NUL-terminated, so use strlcpy() instead of strncpy() here.
2008-10-23 00:27:35 +00:00
delphij
5aab1041be Replace malloc() + memset() with calloc. This corrects a misuse of
memset() as a side effect.
2008-10-23 00:15:00 +00:00
kensmith
35e9ca2208 Turns out its not a good idea to assume the packages that might be
selected from the "dists" are all on the current volume.  Looks like
xorg won't fit on disc1 for 6.4-REL.  Iterate through media volumes
for packages that wind up being selected from the dists section in
addition to the ones that get selected from the packages menu.

MFC after:	2 days
2008-10-22 20:32:19 +00:00
mav
ee74955c75 Add HDA multimedia subclass. 2008-10-21 21:55:38 +00:00
mav
8a975c2c68 Add "SD host controller" subclass name. 2008-10-21 20:57:21 +00:00
delphij
979575abab - Use static for usage()
- Include necessary header files.

setfib(1) should pass WARNS=6 with this changes.
2008-10-17 21:11:09 +00:00
brooks
7d341cf135 Display usage when pkg_add is called with no arguments.
PR:		bin/121093
Submitted by:	volker
Approved by:	portmgr (linimon)
MFC after:	3 days
2008-10-17 15:10:45 +00:00
philip
5eee74f9b7 Adjust default keymaps for Ireland and Channel Islands. They use the UK
keymap.  You can learn some interesting things in the PR database!

PR:		conf/124411
Submitted by:	Doctor Modiford <freebsd -at- modiford.com>
MFC after:	3 days
2008-10-17 14:40:03 +00:00
kensmith
eac902752f Package installation is handled by starting off with the list of packages
the user selected and then recursively installing their dependencies, finally
installing the ones the user selected after the recursion unwinds.  Since
users often select "high-level" packages that are on a higher numbered
disc for the multi-volume release CDROMS this resulted in excessive disc
swapping while installing things like kde, gnome, etc.

Cut down on disc swapping by iterating through the disc volumes one at a
time if we notice the package set is on multiple volumes.  If a package
is on a higher volume don't install it yet, but still "process it" so we
get its dependencies installed.  Because of the way the package sets for
releases get assembled we're guaranteed dependencies will be on the same
volume or lower.

Reviewed by:	jhb
MFC after:	1 week
2008-10-15 15:54:33 +00:00
delphij
43ddac3f1e Reduce code duplication: use calloc instead of allocing and memset
afterward.

Approved by:	bushman
2008-10-12 00:44:27 +00:00
bushman
bf73e5badc Removing startup banner. 2008-10-10 22:40:05 +00:00
jkoshy
de3502c946 - Avoid a spurious error when a command line is specified without
any process scope PMCs.
- Change the -c '*' option to denote non-halted CPUs.
2008-10-07 17:28:52 +00:00
lulf
3485cea7b7 - Allow gstat to print values to different kind of outputs.
- Introduce batch mode, where gstat will collect the numbers, print them, and
  exit.
- Document batch mode in the gstat man page.

Submitted by:	anders
2008-10-07 10:25:27 +00:00
marius
d7c27ae10a - Revert to the pre-r183242 behavior of building sade(8) on sparc64.
- Fix whitespace.
2008-10-05 14:15:22 +00:00
stas
a3e8059f1f - Add ae(4) to sysinstall devices list.
Approved by:	kib (mentor)
MFC after:	1 week
2008-10-04 11:49:26 +00:00
bms
51d165db04 Only build the bsnmpd netgraph module if MK_NETGRAPH_SUPPORT is set. 2008-10-02 14:26:56 +00:00
lulf
5eb1ad1462 - Improve error message given on g_providername call failure.
- While there, make error messages consistent with the rest.

Approved by:	kib (mentor)
2008-09-30 07:18:49 +00:00
antoine
f363ea7428 - Build jexec (1) and slstat.
- style.Makefile
Noticed by:	Marius (1)
2008-09-27 22:24:50 +00:00
marcel
6ff4a65614 The previous commit re-introduced sade on platforms
where it doesn't work. Re-limit sade to amd64 and
i386.
2008-09-26 18:28:54 +00:00
dwmalone
94da79315b Add a flag, -T, that tells syslogd to always replace the timestamp on
messages from the network. We already replace malformatted timestamps
and this option lets us replace timestamps that are correctly formatted
but wrong.

PR:		120891
Submitted by:	Thomas Vogt <thomas@bsdunix.ch>
MFC after:	1 week
2008-09-25 09:28:18 +00:00
delphij
8a7a2f3924 Remove spurious duplicated defination of sock. 2008-09-24 00:04:51 +00:00
ed
1475e942ed Introduce a hooks layer for the MPSAFE TTY layer.
One of the features that prevented us from fixing some of the TTY
consumers to work once again, was an interface that allowed consumers to
do the following:

- `Sniff' incoming data, which is used by the snp(4) driver.

- Take direct control of the input and output paths of a TTY, which is
  used by ng_tty(4), ppp(4), sl(4), etc.

There's no practical advantage in committing a hooks layer without
having any consumers. In P4 there is a preliminary port of snp(4) and
thompsa@ is busy porting ng_tty(4) to this interface. I already want to
have it in the tree, because this may stimulate others to work on the
remaining modules.

Discussed with:	thompsa
Obtained from:	//depot/projects/mpsafetty/...
2008-09-22 19:25:14 +00:00
sam
9c3d2ffcdf add new build knobs and jigger some existing controls to improve
control over the result of buildworld and installworld; this especially
helps packaging systems such as nanobsd

Reviewed by:	various (posted to arch)
MFC after:	1 month
2008-09-21 22:02:26 +00:00
imp
2ee4d1ff95 crunchgen doesn't work yet on mips. So sysinstall can't be built there.
omit it like we do for arm.
2008-09-19 19:20:05 +00:00
jkoshy
99d8d99aa0 Bring the usage message in sync with the manual page. 2008-09-19 14:51:41 +00:00
jkoshy
7b7904fe0c Add an example illustrating the use sleep(1) for performing timed
measurements.
2008-09-19 13:17:22 +00:00
danger
03499dabc8 - remove superfluous word
PR:		docs/127401
Submitted by:	Mick Charles Beaver <mick@cs.wisc.edu>
MFC after:	1 week
2008-09-15 16:30:06 +00:00
dfr
e0f67daaea Don't rely on private RPC data structures when there is a perfectly good
public API.
2008-09-15 14:01:40 +00:00
ed
66122aeb32 Make `quot -a' work when we've got slashes in the device name.
A very long time ago we had raw device nodes. quot(8) was supposed to
use these  when running `quot -a'. For some reason the code got once
changed to strip the device name until it reaches the last slash. This
is not reliable, because this means /dev/mirror/foo will be stripped to
/dev/foo.

This bug also exists on RELENG_7 and RELENG_6, but I think I'll just
merge them back somewhere after the upcoming releases. There's no rush.

MFC after:	2 months
2008-09-14 11:50:19 +00:00
sepotvin
6d5e175ceb Make mlxcontrol work with more than one system drive:
- When searching for the next system drive, return the next one instead
  of always returning the first one.
- Plug fd lead and make sure that the MLX_NEXT_CHILD ioctl is called
  on the controller fd, not the disk's one.

While there, fix a cut-n-pase error in a warning.

Reviewed by:	jhb
Approved by:	kan (mentor)
MFC after:	1 month
2008-09-12 17:40:17 +00:00
danger
34902adea1 Sweep this man page a bit:
- new sentence = new line
- use .Dq macro to quote words
- some minor rewording

MFC after:	2 weeks
2008-09-11 22:11:41 +00:00
roberto
2834eba255 Makefile.inc already defines OPENSSL if crypto is available/wanted.
PR:		bin/127296
Submitted by:	oliver
MFC after:	3 days
2008-09-11 20:32:06 +00:00
adrian
0d6a982e10 Fix the device name spacing.
The old logic padded the device name out but assumed the unit number was one digit
long; this fails for things like SATA devices which (for me) begin at ad10.

Assemble the full device name in a temporary buffer and then calcluate padding
based on that string.
2008-09-11 09:55:54 +00:00
sbruno
0d2f69ae42 Beginning of overhaul of fwcontrol:
-  Documentation of send_phy_config()
-  cleanup of malloc's() and added error checking throughout
-  new capability to iterate over multiple firewire buses
-  update usage() display
-  cleanup command line parsing to allow out of order switches
-  cleanup command line parsing to allow multiple switches per invocation
-  cleanup grammar of man page a bit
-  add some ranges to the man page to indicate what values are valid

Since fwcontrol's code is the same across 6/7/head this can be
applied to all branches after the MFC period.

Reviewed by:	Dieter freebsd@sopwith.solgatos.com
Approved by:	mentor Scott scottl@samsco.org
MFC after:	60 days
2008-09-10 18:09:52 +00:00
kmacy
49e85d35c3 - Fix regression with GETMEM
- Remove gratuitous bswap macros
- check for rev 3 with t3b

Obtained from:	Chelsio Inc.
MFC after:	3 days
2008-09-10 01:10:17 +00:00
matteo
1a2c684cd5 Use %d to print numfibs
MFC after:	1 day
2008-09-07 19:10:06 +00:00
lulf
6e02adf310 - Make use of the new and g_device_path utility function in libgeom to avoid
duplication of code in fdisk and boot0cfg. Also make use of g_providername to
  fix an issue with fdisk and boot0cfg not using the correct provider when
  writing the MBR.

Reviewed by:	phk
Approved by:	pjd (mentor)
2008-09-07 13:58:35 +00:00
obrien
96ab9f7e27 Introduce crunchide to the ELF e_machine MIPS values. 2008-09-03 16:21:28 +00:00
imp
88c5e9e192 style nit: indent continuation lines correctly, use style(9) style
if() statement.
2008-09-03 07:08:22 +00:00
imp
cfa9a2ed0e minor style(9) police: sort getopt options alphabetically. The
semi-logical segregation of 'b' and 'h' doesn't seem to make sense and
makes it harder to read.
2008-09-03 07:03:38 +00:00
kmacy
19c440d7b3 Add support for t3c to cxgbtool
Obtained from:	Chelsio Inc.
2008-09-02 22:20:46 +00:00
roberto
fa9e66496f Allow again compilation w/o GNU readline. There are conditionals in
{ntpdc,ntpq}/Makefile.

Submitted by:	Ben Kelly <bkelly@vadev.org>
2008-09-02 14:00:17 +00:00
obrien
78f0698aa0 Remove extraneous NULL pointer check - the pointer is guaranteed to be non-NULL. 2008-09-01 15:10:03 +00:00
ticso
65d9c98ddd use bigger local variable to calculate free space
int overflows at 1T free space
2008-09-01 12:32:40 +00:00
kmacy
83f4db13b6 Bring cxgbtool up to date with version 1.5
Obtained from:	Chelsio Inc.
MFC after:	3 days
2008-09-01 07:50:04 +00:00
roberto
104c765529 Use the correct systime.c file instead of the "simulation mode" one.
Should fix the current weirdness in ntpd/ntpdate where the current system
time is not read/updated.

Submitted by:	naddy
MFC after:	2 weeks
Pointy hat to:	me
2008-08-24 23:28:56 +00:00
roberto
2c1bd90c13 Hook back ntp to the build now that I fixed it.
Pointy hat to:	me
2008-08-22 21:20:23 +00:00
roberto
e4f89fa63b Add forgotten libopts subdir.
MFC after:	2 weeks
2008-08-22 20:04:35 +00:00
bz
ea32a63d6d Temporary unhook ntp from the build until the missing net/libopts/Makefile
is in place. The TB is too busy sending mails.
2008-08-22 18:36:58 +00:00
roberto
e01fe39f04 Update the various files to sync with vendor import of 4.2.4p5.
sntp includes a copy of libopts in itself in vendor code, rewrite the
Makefile to compile and use only one copy.  It is an internal library, not
installed.

MFC after:	2 weeks
2008-08-22 16:00:48 +00:00
ed
7c91915f63 Fix a small typo in the pstat(8) manual page.
The second LOW column of the pstat(8) command refers to the low
watermark of the output queue.
2008-08-20 22:09:33 +00:00
kensmith
d715fc216c Remove sysinstall's ability to adjust the tape block size. Installs from
tape have been broken for quite a while, and I'll be removing the rest
of sysinstall's knowledge of tapes shortly.  I'm doing this piece now
because I want to switch from gnu's cpio to bsdcpio being integrated
into the installation environment and bsdcpio doesn't seem to handle
block sizes at all.
2008-08-20 13:21:04 +00:00
ed
cc3116a938 Integrate the new MPSAFE TTY layer to the FreeBSD operating system.
The last half year I've been working on a replacement TTY layer for the
FreeBSD kernel. The new TTY layer was designed to improve the following:

- Improved driver model:

  The old TTY layer has a driver model that is not abstract enough to
  make it friendly to use. A good example is the output path, where the
  device drivers directly access the output buffers. This means that an
  in-kernel PPP implementation must always convert network buffers into
  TTY buffers.

  If a PPP implementation would be built on top of the new TTY layer
  (still needs a hooks layer, though), it would allow the PPP
  implementation to directly hand the data to the TTY driver.

- Improved hotplugging:

  With the old TTY layer, it isn't entirely safe to destroy TTY's from
  the system. This implementation has a two-step destructing design,
  where the driver first abandons the TTY. After all threads have left
  the TTY, the TTY layer calls a routine in the driver, which can be
  used to free resources (unit numbers, etc).

  The pts(4) driver also implements this feature, which means
  posix_openpt() will now return PTY's that are created on the fly.

- Improved performance:

  One of the major improvements is the per-TTY mutex, which is expected
  to improve scalability when compared to the old Giant locking.
  Another change is the unbuffered copying to userspace, which is both
  used on TTY device nodes and PTY masters.

Upgrading should be quite straightforward. Unlike previous versions,
existing kernel configuration files do not need to be changed, except
when they reference device drivers that are listed in UPDATING.

Obtained from:		//depot/projects/mpsafetty/...
Approved by:		philip (ex-mentor)
Discussed:		on the lists, at BSDCan, at the DevSummit
Sponsored by:		Snow B.V., the Netherlands
dcons(4) fixed by:	kan
2008-08-20 08:31:58 +00:00
jhb
c990b20179 Use kvm_getcptime(3) to fetch the global CPU time stats from a crashdump
since the 'cp_time' symbol doesn't exist in recent kernels.  This fixes
iostat and vmstat on crash dumps.

MFC after:	1 week
2008-08-19 21:33:09 +00:00
jhb
6b2c2fe045 Pass the right pointer to bzero() when clearing cp_time.
MFC after:	1 week
2008-08-19 20:33:59 +00:00
ache
396faad5a1 Use arc4random_uniform() to avoid "modulo bias"
Remove pw_getrand() unneded now: arc4random_uniform() is stronger then
pw_getrand()'s MD5 tricks (inactive) and its active version, mixing
arc4random() bytes in one, not make things better at all.
2008-08-16 15:41:03 +00:00
ed
bd507c7cef Convert the snp(4) driver to use cdevpriv.
Now we have a single /dev/snp device node, which can be opened by
watch(8) multiple times. Even though snp(4) will be dead as of next
week, it's nice having this in SVN, because:

- We may want to MFC it to RELENG_7.
- By the time we fix snp(4) again, it's already there, existing watch(8)
  binaries should already work.

Just like bpf(4), I'm adding a symlink from snp0 to snp to remain binary
compatible.
2008-08-15 13:07:07 +00:00
kensmith
7596287674 Catch up with the removal of /usr/src/compat.
MFC after:	3 days
2008-08-14 13:35:22 +00:00
stas
eec64737a2 - Fix error reporting.
Approved by:	kib
2008-08-12 09:47:50 +00:00
weongyo
68fc6b033d Add upgt(4) to the list of supported network interface. 2008-08-11 04:58:06 +00:00
stas
a782fc10fe - Add cpuctl(4) pseudo-device driver to provide access to some low-level
features of CPUs like reading/writing machine-specific registers,
  retrieving cpuid data, and updating microcode.
- Add cpucontrol(8) utility, that provides userland access to
  the features of cpuctl(4).
- Add subsequent manpages.

The cpuctl(4) device operates as follows. The pseudo-device node cpuctlX
is created for each cpu present in the systems. The pseudo-device minor
number corresponds to the cpu number in the system. The cpuctl(4) pseudo-
device allows a number of ioctl to be preformed, namely RDMSR/WRMSR/CPUID
and UPDATE. The first pair alows the caller to read/write machine-specific
registers from the correspondent CPU. cpuid data could be retrieved using
the CPUID call, and microcode updates are applied via UPDATE.

The permissions are inforced based on the pseudo-device file permissions.
RDMSR/CPUID will be allowed when the caller has read access to the device
node, while WRMSR/UPDATE will be granted only when the node is opened
for writing. There're also a number of priv(9) checks.

The cpucontrol(8) utility is intened to provide userland access to
the cpuctl(4) device features. The utility also allows one to apply
cpu microcode updates.

Currently only Intel and AMD cpus are supported and were tested.

Approved by:	kib
Reviewed by:	rpaulo, cokane, Peter Jeremy
MFC after:	1 month
2008-08-08 16:26:53 +00:00
cperciva
9139190030 In freebsd-update IDS, strip out file flags before we look for
non-matching index lines.  This fixes a bug where bogus warnings would
be printed file has the wrong file flags AND has been updated by
FreeBSD Update.

Reported by:	Royce Williams
2008-08-08 04:34:00 +00:00
phk
0fcff3686b Use humanize_number to report pen-sizes so people don't have to count
the digits when trying to install openoffice.
2008-08-07 14:48:35 +00:00
jhb
997506ffa8 Add a script to perform simple analysis of a crash dump (either a full
dump or minidump).  When the script is run, it generates a text file
containing the output of several commands run againt the core dump such
as kgdb (stack trace), ps, netstat, vmstat, iostat, dmesg, and fstat.

Obtained from:	Yahoo!
MFC after:	2 weeks
2008-08-05 20:41:46 +00:00
cognet
28e29fd053 Remove a useless cast.
Spotted out by:	stefanf
2008-08-02 00:10:02 +00:00
cperciva
c911eed3dc Add "IDS" command to freebsd-update. This was present in the original
version of freebsd-update, but I took it out when I rewrote everything
and added FreeBSD Update to the base system because I didn't think it
was useful.  It turns out that quite a few people liked it and wanted
it back.

Requested by:	Royce Williams + others
MFC after:	2 weeks
2008-08-02 00:09:41 +00:00
cognet
f4a5667e9f Char is unsigned on arm, so is not suitable to store the return value of
getopt(). Use an int instead.

Submitted by:	Matthew Luckie
MFC after:	3 days
2008-08-01 13:12:06 +00:00
marck
fb63e4aaab Fix empty mailto (-m "") handling: somehow I missed all checks but the first,
hence output would be written to the wrong filehandle.

Submitted by:	reg
Approved by:	yar (implicit)
MFC after:	ASAP
Pointy hat to:	marck
2008-08-01 08:01:33 +00:00
jhb
95fe9af01e The original adduser/rmuser scripts in Perl used to modify the PATH
setting.  When the scripts were converted to Bourne shell, this was
removed.  The adduser script was changed to use an explicit path for
the pw(8) command so that /usr/sbin did not have to be in the user's
PATH.  The rmuser script continued to assume that /usr/sbin was in the
user's path, however.  This fixes the rmuser script to use an explicit
path for pw(8) similar to adduser.

MFC after:	2 weeks
2008-07-30 18:37:21 +00:00
obrien
ffa6157788 Allow kernel config files to include files other than those in the CWD,
using unquoted paths.
2008-07-28 17:11:57 +00:00
ache
ce16c85534 Change arc4random to arc4random_uniform since modulo is not power of 2,
as OpenBSD does.

Obtained from:  OpenBSD
2008-07-26 15:46:39 +00:00
ache
0ef9f80522 Change 2 arc4random modulo operations to arc4random_uniform() as
OpenBSD does, since modulo is not power of 2.

Obtained from:  OpenBSD
2008-07-26 15:39:32 +00:00
julian
563c4bfc08 Switch to using the setfib syscall instead of a syscall(175,...) 2008-07-24 18:01:50 +00:00
weongyo
dd99ad9101 remove reference for unexisting ndisapi(9) 2008-07-23 05:50:17 +00:00
marcel
89c53cc1fe Remove sade(8) on the following platforms:
o  arm, mips & powerpc: libdisk is non-functional.
o  ia64: libdisk is insufficient.
2008-07-19 18:21:52 +00:00
flz
26c7a0cd2b Don't set PACKAGE_BUILDING while installing packages.
Submitted by:	erwin
Discussed on:	http://lists.freebsd.org/pipermail/freebsd-ports/2008-June/049074.html
MFC after:	1 week
2008-07-17 15:08:26 +00:00
jhb
42cd7531f9 Before updating the password database, the pw(8) utility first performs a
sanity check by invoking "pwd_mkdb -C".  However, if this failed it
silently returned success.  Fix this so it fails the update operation
instead.

MFC after:	1 week
2008-07-17 13:47:59 +00:00
ed
27f054a7ef Remove OTTYDISC, NETLDISC and NTTYDISC definitions.
When I ported most applications away from <sgtty.h>, I noticed none of
them were actually using these definitions. I kept them in place,
because I didn't want to touch tools like pstat(8) and stty(1).

In preparation for the MPSAFE TTY layer, remove these definitions. This
doesn't have any impact with respect to binary compatibility (see
tty_conf.c).

We couldn now add an #error to <sys/ioctl_compat.h> when included
outside the kernel. Unfortunately, kdump's mkioctls includes this file
unconditionally.

Approved by:	philip (mentor)
2008-07-16 11:20:04 +00:00
rwatson
7cf9955507 Invoke err() with a format string rather than directly with a passed
command line argument.

Submitted by:	Alfredo Ortega <alfredo at coresecurity dot com>
Thanks to:	Core Security Technologies
MFC after:	3 days
2008-07-15 16:07:34 +00:00
gahr
75a36a87b2 - Enhance volume handling
PR:		125054
Submitted by:	gahr
Approved by:	cperciva
2008-07-14 13:22:09 +00:00
sobomax
5bc4fd4e14 Allow comment to be placed at the end of a configuration line.
MFC after:	2 weeks
2008-07-09 07:37:54 +00:00
keramida
798c7a4090 Enable the -n option of pkg_create(1).
The changes to make the option work are already in place, but I missed
the patch hunk that adds it to the getopt() option-handling loop.

Pointy hat:	keramida
Approved by:	flz
MFC after:	1 week
2008-07-08 03:21:05 +00:00
jhb
cb0b8573c7 Remove the arl(4) driver. It is reported to not work on 6.x or later
even though the driver hasn't changed since 4.x (last known working
release).
2008-07-04 18:15:36 +00:00
des
34dee8955f Drag this code kicking and screaming into the twenty-first century. 2008-07-02 15:51:59 +00:00
danger
0938e82123 - install the example wpa_supplicant.conf file to the share/examples/etc
directory [1]
- add the FILES section to the wpa_supplicant.conf.5 file, so that people
  will be able to detect the example configuration file easier. [2]

PR:		docs/121821 [2]
Approved by:	brooks [1]
MFC after:	3 days
2008-07-01 21:52:49 +00:00
danger
cfe07c5d69 - more mark-up fixes
Submitted by:	ru
2008-07-01 19:54:02 +00:00
jkoshy
ef261a0536 Fix a regression: attach process PMCs to the process created when
a command line is specified.
2008-07-01 15:20:15 +00:00
danger
10977336ce - add some missing words
- we don't have ne(4), replace it with re(4)
- fix markup
- bump date

Submitted by:	ru
MFC after:	3 days
2008-06-30 08:29:02 +00:00
marck
d97ee39b60 Add -m option to cron(8), overriding default mail recipient for cron mails,
unless explicitly provided by MAILTO= line in crontab.  This feature can be
useful in massive hosting environment, where most users do not care about
autogenerated mails.

Setting recipient to null string disables default mails at all.

Approved by:	yar
MFC after:	4 weeks
2008-06-29 16:56:18 +00:00
jkoshy
0eb008c767 Document messages printed in verbose mode.
Requested by:	Fabien Thomas <fabien.thomas at netasq dot com>
2008-06-29 10:30:06 +00:00
jb
081bbc17b6 Revice the way the CTF conversion is done per object. Avoid creating a second
shell (which was the problem with the original implementation) and avoid
letting make see an empty definition (which was the problem with the current
implementation).
2008-06-29 07:15:57 +00:00
mtm
688997369e Modify the DoParseCommand() to work on (const char *) instead of just
(char *). This is a slightly simplified version of the patch in the PR. It
fixes compilitation issues with -O3.

PR: misc/124385
2008-06-28 12:31:30 +00:00
danger
2bc96effdd - markup fixes
- advise to use rc script to SIGHUP mountd
- add information about possiblity of using /prefix network notation [1]

PR:		docs/124373
Reviewed by:	jhb
Obtained from:	NetBSD [1]
MFC after:	3 days
2008-06-27 16:32:04 +00:00
dfr
41cea6d5ca Re-implement the client side of rpc.lockd in the kernel. This implementation
provides the correct semantics for flock(2) style locks which are used by the
lockf(1) command line tool and the pidfile(3) library. It also implements
recovery from server restarts and ensures that dirty cache blocks are written
to the server before obtaining locks (allowing multiple clients to use file
locking to safely share data).

Sponsored by:	Isilon Systems
PR:		94256
MFC after:	2 weeks
2008-06-26 10:21:54 +00:00
sobomax
043844f182 Fix 6-year old cut&paste error. The # could be escaped with '\', not
with '\\'.

MFC after:	2 weeks
2008-06-26 07:02:47 +00:00
obrien
d2b669d980 Add an abbreviation for adaptive mode, and document all the abreviations. 2008-06-22 17:52:57 +00:00
weongyo
efe54e593f handle .INF files for PCMCIA correctly that specify multiple entries in
their [Manufacturer] sections and prevent a case that NDIS_PCI_DEV_TABLE
definition was always emitted that it's only emitted once if a .INF file
is for PCI.
2008-06-18 06:35:37 +00:00
flz
ffdd95144d Remove support for RELENG_4 (__FreeBSD_version < 500039).
MFC after:	1 day
2008-06-16 23:41:11 +00:00
flz
a47d4949f6 Style fix (use naked commands).
Reported by:	obrien
2008-06-16 09:15:27 +00:00
flz
26109e3a63 - add: Keep dependent packages too if -K is specified.
- updating: terminating '\n' is not part of the package origin.
- bump PKG_INSTALL_VERSION to 20080612.

PR:		bin/119368 [1], bin/124459 [2]
Submitted by:	gcooper [1], Beat Gatzi <beat@chruetertee.ch> [2]
MFC after:	3 days
2008-06-12 15:21:13 +00:00
dougb
caec8ca318 Document the AUTO_UPGRADE (-U) knob for .mergemasterrc
Submitted by:	mezz
No Cookie For:	gordon  :)
2008-06-11 18:54:06 +00:00
ed
ddedce6cba Remove sicontrol(8)'s "ttystat".
In the FreeBSD base system, there are only two utilities that use struct
tty, namely pstat and sicontrol. The sicontrol utility calls the
TCSI_TTY ioctl(), which copies struct tty back to userspace.

sicontrol should not have this functionality. The same data is already
provided by pstat. If we really want to be able to export these numbers
through a file descriptor to userspace, we can export struct xtty, which
should provide a better abstraction. The ttystat option was only used as
a debugging aid.

This makes sicontrol compile in the mpsafetty branch.

Reviewed by:	peter
Approved by:	philip (mentor)
2008-06-09 08:43:27 +00:00
jb
2113c65a2d Change the CTF conversion makefile code to use a new line to avoid
spawning another shell.

Requested by: Ed Schouten

M    config/mkmakefile.c
2008-06-09 06:33:26 +00:00
peter
0b0cad411e Add more card state dump routines. Decode more bitfields etc. 2008-06-06 03:23:34 +00:00
ed
64b4dcdc79 Make ppp use <termios.h>, not <sys/tty.h>.
ppp's physical.c is filled with calls to termios. For some reason, it
includes <sys/tty.h>, not <termios.h>. Even though this works with the
current version of FreeBSD, we'd better follow the standards.

Approved by:	philip (mentor)
2008-06-05 17:46:32 +00:00
mlaier
ec798ac2b2 Add a newline after usage. 2008-06-04 23:31:53 +00:00
jkim
4915a1e29c - Replace rcsid with __FBSDID.
- Remove paths.h and embed it in the source.
- Remove stale alpha support.
- Clean up compiler warnings and fix style(9) bugs.
2008-06-03 22:34:52 +00:00
flz
9b4be0280d Exclude .svn directories from generated distfile. 2008-06-03 14:48:16 +00:00
jkim
4bd0bcf691 Fix a crash when Arctic Ocean is selected.
MFC after:	1 week
2008-06-02 23:37:33 +00:00
dfr
d3a25d50cb Add a missing call to init_nsm().
MFC after:	1 week
2008-06-02 16:00:49 +00:00
imp
b3629efe71 getopt returns an int, not a char. Make sure that we store the
variable in an int to avoid casting to an unsigned value which causes
the comparison with -1 to fail.

PR:		123807
Submitted by:	Matthew Luckie
Reviewed by:	keramida@
MFC after:	1 week
2008-06-02 04:50:47 +00:00
philip
d9cb06bec0 Use INSERT_OBJECT_INT_LINK_INDEX macro instead of TAILQ_INSERT_TAIL when
filling the table of ALTQ queues retrieved from the kernel.

It is possible for the kernel to return the queues not by pa.altq.qid order.
When this happens, pf_snmp would only partially fill its table.

PR:		bin/120974
Submitted by:	Mykola Dzham <i -at- levsha.org.ua>
MFC after:	3 days
2008-06-01 14:09:54 +00:00
peter
b698e161b5 Remove one of my dead email addresses from a copyright message. 2008-05-31 06:03:23 +00:00
flz
9a2047ba48 - Add long options to pkg_install.
- Remove check for '-?' as it's not listed in authorized options.
- Bump PKG_INSTALL_VERSION to 20080530.
2008-05-30 14:26:09 +00:00
mr
b03aca8204 Fix some bugs/complaints:
- make addr2jid static
- add -h Flag for hostname/ip-number search
- s,strncmp,strcmp, in addr2jid
- return jid only if found once

Requested by: some
2008-05-29 17:00:01 +00:00
sam
1322406ed1 misc cleanups for stricter compilation 2008-05-28 23:37:37 +00:00
sam
6895bcfa9f update copyright year and nuke dual-gpl bits that should've removed long ago 2008-05-28 23:36:47 +00:00
flz
518b3fa5fc Use PKG_INSTALL_VERSION for the distfile name instead of current date.
X-MFC after:	pkg_install sync on -STABLE branches
2008-05-28 14:51:01 +00:00
flz
63a8b9e56c Bump PKG_INSTALL_VERSION to 20080528.
X-MFC after:	latest HEAD changes have been MFC'ed to RELENG_[67]
2008-05-28 13:48:10 +00:00
keramida
c1cd201fb9 Update usage strings to add a missing -n option.
Noticed by:	Matthias Apitz, matthias.apitz at oclc.org
2008-05-27 19:06:45 +00:00
antoine
13eb949886 - Increase the size of the salt in pw(8) from 8 to 32 (same as in pam_unix(8)).
This makes blowfish password hashes look normal when set using
pw(8)/adduser(8). [1]
- Make it possible to have a '/' in the salt.

PR:		121146 [1]
Submitted by:	Jaakko Heinonen [1]
Approved by:	rwatson (mentor)
MFC after:	1 month
2008-05-27 19:04:31 +00:00
keramida
ac192fc2f1 Add a -n option to pkg_create(1), to inhibit duplicate work.
When run without this option, multiple runs of `pkg_create -Rb' will
recreate common packages multiple times.  This can take a lot of time
for large packages.  With the -n option `pkg_create -b' checks with
stat(2) and skips packages that already exist.

Note that this may *not* be safe of the existing output file is not
really a package, or if it has been corrupted, modified or otherwise
tinkered with between subsequent pkg_create runs.  For this and POLA
reasons, the default behavior is to *rebuild* the packages, and the -n
option can be used when we know it is `safe' to run in no-regenerate
mode.

Inspired by:	A post to freebsd-questions
	 	by Matthias Apitz &lt; matthias.apitz at oclc.org &gt;
Reviewed by:	marcus, flz
Approved by:	marcus
MFC after:	2 weeks
2008-05-27 05:10:54 +00:00
yongari
f1586ee90e Add jme(4) to the list of supported network interface. 2008-05-27 02:15:41 +00:00
mr
490bec4936 Add CAUTIONS section to the manpage and update .Dd.
Spelling fix.

PR:		bin/119305 (reminded by Frank Behrens)
Suggested by:	rwatson, maxim
MFC after:	2 weeks
2008-05-26 19:24:45 +00:00
mr
0fcadc05fc Extend jexec to accept hostname or ip-number besides jail-id.
MFC after:	2 weeks
2008-05-26 11:57:49 +00:00
bz
6bba9b4244 Remove ISDN4BSD (I4B) from HEAD as it is not MPSAFE and
parts relied on the now removed NET_NEEDS_GIANT.
Most of I4B has been disconnected from the build
since July 2007 in HEAD/RELENG_7.

This is what was removed:
- configuration in /etc/isdn
- examples
- man pages
- kernel configuration
- sys/i4b (drivers, layers, include files)
- user space tools
- i4b support from ppp
- further documentation

Discussed with: rwatson, re
2008-05-26 10:40:09 +00:00
rwatson
a3623cb733 Remove netatm from HEAD as it is not MPSAFE and relies on the now removed
NET_NEEDS_GIANT.  netatm has been disconnected from the build for ten
months in HEAD/RELENG_7.  Specifics:

- netatm include files
- netatm command line management tools
- libatm
- ATM parts in rescue and sysinstall
- sample configuration files and documents
- kernel support as a module or in NOTES
- netgraph wrapper nodes for netatm
- ctags data for netatm.
- netatm-specific device drivers.

MFC after:	3 weeks
Reviewed by:	bz
Discussed with:	bms, bz, harti
2008-05-25 22:11:40 +00:00
ed
82e712d5ed Move sysinstall/sade away from TIOCGSIZE.
Both sysinstall and sade still seem to use the TIOCGSIZE ioctl to obtain
the terminal dimensions. We'd better use TIOCGWINSZ to do this. The
TIOCGWINSZ interface is preferred, because it also allows sizes in pixels
to be passed to the application (though this is not used here).

Approved by:	philip (mentor)
2008-05-23 14:24:33 +00:00
jb
2fda3a0dfb Add the CTF conversion to the generated makefile. In the case where
NO_CTF or !WITH_CTF, the macro is empty.
2008-05-23 03:55:26 +00:00
thompsa
f81754c336 -d is a flag, not an argument. Use .Fl here. 2008-05-20 20:47:21 +00:00
rpaulo
0c5e80cf38 Update to reflect reality:
* iasl(8) supports ACPI 3.0b.
	* Add new options.

MFC after:	1 week
2008-05-20 12:07:02 +00:00
thompsa
c642b1626b Remove -, .Ar adds that automatically.
Pointed out by:		brueffer
2008-05-19 17:59:09 +00:00
thompsa
cec31fb79d Bump document date for last change. 2008-05-19 17:54:32 +00:00
thompsa
82036c412c Allow wlandebug to set the default debug level which is inherited when vaps are
created.
2008-05-19 17:49:57 +00:00
yongari
ae67110ca4 Add age(4) to the list of supported network interface. 2008-05-19 02:17:24 +00:00
cperciva
55aafae3bb Add support for specifying which INDEX files to build via portsnap.conf.
Requested by:	brooks
Reminded by:	brooks, about halfway through his BSDCan talk
2008-05-17 16:26:27 +00:00
philip
e628a9c99a Improve the virtual scrolling mechanism to make middle clicking less
difficult.  Add a -L option (yet another option, indeed!) which changes the
speed of scrolling and change -U to only affect the scroll threshold.

This should make middle-clicking a much more pleasant experience.

PR:		bin/120186
Submitted by:	Aragon Gouveia <aragon -at- phat.za.net>
MFC after:	3 days
2008-05-15 15:05:02 +00:00
phk
b6c607e98b Populate usage()
Submitted by:   Jaakko Heinonen <jh@saunalahti.fi>
2008-05-14 23:29:02 +00:00
remko
6b54f6342e Fix pstat behaviour when using coredumps. The reference to tp was
incorrect and should have been poining to &tty, tp is a virtual
address from the coredump, while we should obtain the address through
the tty struct.

Approved by:	imp (mentor, implicit trivial changes)
MFC after:	1 week
Submitted by:	Ed Schouten (ed at 80836 dot nl)
2008-05-14 00:22:57 +00:00
brian
232bfc7d5f Add a -8 switch to syslogd to prevent it from mangling 8-bit data. 2008-05-14 00:22:21 +00:00
obrien
10234848d5 Better to just statically set the name vs. determine at run time. 2008-05-11 17:23:57 +00:00
obrien
31881edb14 Sync program name agnostic changes with SADE. 2008-05-11 07:18:22 +00:00
obrien
2d5be982d3 Clean up several instances of SADE calling itself sysinstall.
(do so generically so the same set of changes can be applied to sysinstall)
2008-05-11 07:13:08 +00:00
julian
816e721312 Change two variables to size_t to improve portability.
Submitted by:	Xin Li
2008-05-10 15:02:56 +00:00
brueffer
cddedacd77 Misc mdoc improvements. 2008-05-10 07:36:47 +00:00
julian
d39ba65424 allow setfib to be compiled. 2008-05-10 00:43:13 +00:00
julian
1dfc5c98a4 Add code to allow the system to handle multiple routing tables.
This particular implementation is designed to be fully backwards compatible
and to be MFC-able to 7.x (and 6.x)

Currently the only protocol that can make use of the multiple tables is IPv4
Similar functionality exists in OpenBSD and Linux.

From my notes:

-----

  One thing where FreeBSD has been falling behind, and which by chance I
  have some time to work on is "policy based routing", which allows
  different
  packet streams to be routed by more than just the destination address.

  Constraints:
  ------------

  I want to make some form of this available in the 6.x tree
  (and by extension 7.x) , but FreeBSD in general needs it so I might as
  well do it in -current and back port the portions I need.

  One of the ways that this can be done is to have the ability to
  instantiate multiple kernel routing tables (which I will now
  refer to as "Forwarding Information Bases" or "FIBs" for political
  correctness reasons). Which FIB a particular packet uses to make
  the next hop decision can be decided by a number of mechanisms.
  The policies these mechanisms implement are the "Policies" referred
  to in "Policy based routing".

  One of the constraints I have if I try to back port this work to
  6.x is that it must be implemented as a EXTENSION to the existing
  ABIs in 6.x so that third party applications do not need to be
  recompiled in timespan of the branch.

  This first version will not have some of the bells and whistles that
  will come with later versions. It will, for example, be limited to 16
  tables in the first commit.
  Implementation method, Compatible version. (part 1)
  -------------------------------
  For this reason I have implemented a "sufficient subset" of a
  multiple routing table solution in Perforce, and back-ported it
  to 6.x. (also in Perforce though not  always caught up with what I
  have done in -current/P4). The subset allows a number of FIBs
  to be defined at compile time (8 is sufficient for my purposes in 6.x)
  and implements the changes needed to allow IPV4 to use them. I have not
  done the changes for ipv6 simply because I do not need it, and I do not
  have enough knowledge of ipv6 (e.g. neighbor discovery) needed to do it.

  Other protocol families are left untouched and should there be
  users with proprietary protocol families, they should continue to work
  and be oblivious to the existence of the extra FIBs.

  To understand how this is done, one must know that the current FIB
  code starts everything off with a single dimensional array of
  pointers to FIB head structures (One per protocol family), each of
  which in turn points to the trie of routes available to that family.

  The basic change in the ABI compatible version of the change is to
  extent that array to be a 2 dimensional array, so that
  instead of protocol family X looking at rt_tables[X] for the
  table it needs, it looks at rt_tables[Y][X] when for all
  protocol families except ipv4 Y is always 0.
  Code that is unaware of the change always just sees the first row
  of the table, which of course looks just like the one dimensional
  array that existed before.

  The entry points rtrequest(), rtalloc(), rtalloc1(), rtalloc_ign()
  are all maintained, but refer only to the first row of the array,
  so that existing callers in proprietary protocols can continue to
  do the "right thing".
  Some new entry points are added, for the exclusive use of ipv4 code
  called in_rtrequest(), in_rtalloc(), in_rtalloc1() and in_rtalloc_ign(),
  which have an extra argument which refers the code to the correct row.

  In addition, there are some new entry points (currently called
  rtalloc_fib() and friends) that check the Address family being
  looked up and call either rtalloc() (and friends) if the protocol
  is not IPv4 forcing the action to row 0 or to the appropriate row
  if it IS IPv4 (and that info is available). These are for calling
  from code that is not specific to any particular protocol. The way
  these are implemented would change in the non ABI preserving code
  to be added later.

  One feature of the first version of the code is that for ipv4,
  the interface routes show up automatically on all the FIBs, so
  that no matter what FIB you select you always have the basic
  direct attached hosts available to you. (rtinit() does this
  automatically).

  You CAN delete an interface route from one FIB should you want
  to but by default it's there. ARP information is also available
  in each FIB. It's assumed that the same machine would have the
  same MAC address, regardless of which FIB you are using to get
  to it.

  This brings us as to how the correct FIB is selected for an outgoing
  IPV4 packet.

  Firstly, all packets have a FIB associated with them. if nothing
  has been done to change it, it will be FIB 0. The FIB is changed
  in the following ways.

  Packets fall into one of a number of classes.

  1/ locally generated packets, coming from a socket/PCB.
     Such packets select a FIB from a number associated with the
     socket/PCB. This in turn is inherited from the process,
     but can be changed by a socket option. The process in turn
     inherits it on fork. I have written a utility call setfib
     that acts a bit like nice..

         setfib -3 ping target.example.com # will use fib 3 for ping.

     It is an obvious extension to make it a property of a jail
     but I have not done so. It can be achieved by combining the setfib and
     jail commands.

  2/ packets received on an interface for forwarding.
     By default these packets would use table 0,
     (or possibly a number settable in a sysctl(not yet)).
     but prior to routing the firewall can inspect them (see below).
     (possibly in the future you may be able to associate a FIB
     with packets received on an interface..  An ifconfig arg, but not yet.)

  3/ packets inspected by a packet classifier, which can arbitrarily
     associate a fib with it on a packet by packet basis.
     A fib assigned to a packet by a packet classifier
     (such as ipfw) would over-ride a fib associated by
     a more default source. (such as cases 1 or 2).

  4/ a tcp listen socket associated with a fib will generate
     accept sockets that are associated with that same fib.

  5/ Packets generated in response to some other packet (e.g. reset
     or icmp packets). These should use the FIB associated with the
     packet being reponded to.

  6/ Packets generated during encapsulation.
     gif, tun and other tunnel interfaces will encapsulate using the FIB
     that was in effect withthe proces that set up the tunnel.
     thus setfib 1 ifconfig gif0 [tunnel instructions]
     will set the fib for the tunnel to use to be fib 1.

  Routing messages would be associated with their
  process, and thus select one FIB or another.
  messages from the kernel would be associated with the fib they
  refer to and would only be received by a routing socket associated
  with that fib. (not yet implemented)

  In addition Netstat has been edited to be able to cope with the
  fact that the array is now 2 dimensional. (It looks in system
  memory using libkvm (!)). Old versions of netstat see only the first FIB.

  In addition two sysctls are added to give:
  a) the number of FIBs compiled in (active)
  b) the default FIB of the calling process.

  Early testing experience:
  -------------------------

  Basically our (IronPort's) appliance does this functionality already
  using ipfw fwd but that method has some drawbacks.

  For example,
  It can't fully simulate a routing table because it can't influence the
  socket's choice of local address when a connect() is done.

  Testing during the generating of these changes has been
  remarkably smooth so far. Multiple tables have co-existed
  with no notable side effects, and packets have been routes
  accordingly.

  ipfw has grown 2 new keywords:

  setfib N ip from anay to any
  count ip from any to any fib N

  In pf there seems to be a requirement to be able to give symbolic names to the
  fibs but I do not have that capacity. I am not sure if it is required.

  SCTP has interestingly enough built in support for this, called VRFs
  in Cisco parlance. it will be interesting to see how that handles it
  when it suddenly actually does something.

  Where to next:
  --------------------

  After committing the ABI compatible version and MFCing it, I'd
  like to proceed in a forward direction in -current. this will
  result in some roto-tilling in the routing code.

  Firstly: the current code's idea of having a separate tree per
  protocol family, all of the same format, and pointed to by the
  1 dimensional array is a bit silly. Especially when one considers that
  there is code that makes assumptions about every protocol having the
  same internal structures there. Some protocols don't WANT that
  sort of structure. (for example the whole idea of a netmask is foreign
  to appletalk). This needs to be made opaque to the external code.

  My suggested first change is to add routing method pointers to the
  'domain' structure, along with information pointing the data.
  instead of having an array of pointers to uniform structures,
  there would be an array pointing to the 'domain' structures
  for each protocol address domain (protocol family),
  and the methods this reached would be called. The methods would have
  an argument that gives FIB number, but the protocol would be free
  to ignore it.

  When the ABI can be changed it raises the possibilty of the
  addition of a fib entry into the "struct route". Currently,
  the structure contains the sockaddr of the desination, and the resulting
  fib entry. To make this work fully, one could add a fib number
  so that given an address and a fib, one can find the third element, the
  fib entry.

  Interaction with the ARP layer/ LL layer would need to be
  revisited as well. Qing Li has been working on this already.

  This work was sponsored by Ironport Systems/Cisco

Reviewed by:    several including rwatson, bz and mlair (parts each)
Obtained from:  Ironport systems/Cisco
2008-05-09 23:03:00 +00:00
mtm
2fc089d229 o Change the warning dialog for the 'W' command in both the label
and partition editors to reflect the fact that this is a stand-alone
  application, not sysinstall(8).
o Change an instance of sade(8) refering to itself as sysinstall(8) in
  a confirmation dialog.

MFC after: 1 week
2008-05-05 06:31:41 +00:00
pav
2352203e2b - Backout 1.15, it was committed by accident
Pointy hat to:	pav
2008-05-03 23:17:37 +00:00
pav
f6342a8cc7 - Restore functionality broken in previous commit; we need to be able to report
multiple installed packages with the same PKGORIGIN.

Reported by:	marcus
MFC after:	1 month
2008-05-03 22:56:50 +00:00
delphij
8df0573595 sade(8) does not need FTP I/O. 2008-05-03 02:42:57 +00:00
kevlo
c5851345cf Remove duplicate headers <sys/socket.h> 2008-04-21 07:25:26 +00:00
sam
a56ef47966 update for vaps
Supported by:	Hobnob
2008-04-20 20:41:47 +00:00
sam
0235df2313 o update for vaps
o add private wired driver that fixes various bugs in the vendor version

Submitted by:	thompsa (ndis fixups)
2008-04-20 20:40:45 +00:00
sam
76668abc13 o update for vaps
o add+enable radius acl support

Supported by:	Hobnob
Submitted by:	Chris Zimmermann (acl support)
2008-04-20 20:39:08 +00:00
flz
60968ceaff Fix pkg_info when specifying a remote package.
MFC after:	1 week
2008-04-16 13:05:35 +00:00
thompsa
f6323acd49 If the .inf file did not have a Default entry for the registry key then write
out a blank value and close the brackets on the ndis_regvals array.
2008-04-15 04:44:32 +00:00
thompsa
b5d5b802b9 Use a ndis_ prefix on the C variable instead of directly using the .sys
filename, this would fail if the filename started with a number.

PR:		bin/84911
Submitted by:	Fredrik Lindberg
2008-04-15 04:17:13 +00:00
pav
df43e8c984 Optimize package registration/deregistration. Previously, when looking up the
package name for the origin of a dependency, all entries in /var/db/pkg were
traversed for each dependency of added/removed package.  Now, gather all the
origins first, then do the lookup in a single pass over /var/db/pkg.

This should provide a major speedup for packages with hundreds of dependencies.

Submitted by:	rdivacky (earlier version)
MFC after:	1 month
2008-04-11 08:26:06 +00:00
imp
d99d951c1c Fix a bug introduced by DEFAULTS feature. When the config file
doesn't exist, we make a directory and then say "oops, that file isn't
there" leaving the directory behind.  Add a stat for the config file
so that we detect this before making the directory.  This is
semi-lame, but less lame than having this bug.
2008-04-10 22:57:54 +00:00
ru
446475df44 Clean up makefiles and a manpage.
OK'ed by:	phk
2008-04-10 14:02:00 +00:00
dfr
8f080cfa2b If we can't find or load the kernel NLM support, don't just go ahead and
try to use it anyway.
2008-04-10 12:54:53 +00:00
flz
7e6c3ca4e1 Add a distfile target to generate a distfile to be used by the
ports-mgmt/pkg_install port.
2008-04-09 15:08:31 +00:00
remko
d6050d6291 Remove ftp.hk.super.net, the DNS isn't pointing to anything at the moment.
I tested this as well as the submitter and couldn't resolve this either,
since I dont want to "announce" dead mirrors, I'll remove it from the
list.

PR:		122567
Submitted by:	vs
Approved by:	imp (mentor, implicit for trivial changes)
MFC after:	1 week
2008-04-08 19:43:00 +00:00
weongyo
07140f6c56 Add a couple of missing wireless NIC driver modules.
Approved by:	thompsa (mentor)
2008-04-08 01:47:33 +00:00
kan
1e160a4b21 Fix apparent mis-paste in previous check-in by author. 2008-04-06 22:08:17 +00:00
dfr
dd48f773da Call listen(2) on bound tcp sockets before passing them to svc_tli_create. 2008-04-06 13:52:17 +00:00
dfr
b7878b140b Allow for a zero length 'loader'. 2008-04-05 10:26:20 +00:00
phk
a940156e22 Accept empty -T arguments.
Proposed by:	clemens fischer <ino-qc@spotteswoode.de.eu.org>
2008-03-31 13:56:15 +00:00
flz
dc15a186a7 Retire pkg_sign. It was used to embed signatures in gzip'ed packages.
It's not relevant since we've changed to bzip2 compression.

MFC after:	1 week
2008-03-31 12:45:17 +00:00
rdivacky
de4395b113 Improve style a little and remove one always-true condition.
Approved by:	portmgr (pav)
Approved by:	kib (mentor)
2008-03-30 16:49:19 +00:00
ru
524112305c Don't always link statically with libwrap. By the time amd(8)
runs, /usr/lib should have already been mounted.

Found by:	make checkdpadd
2008-03-29 18:13:15 +00:00
ru
c89d547c22 Add missing library dependency. 2008-03-29 18:07:06 +00:00
ru
0f0375e36a Remove options MK_LIBKSE and DEFAULT_THREAD_LIB now that we no longer
build libkse.  This should fix WITHOUT_LIBTHR builds as a side effect.
2008-03-29 17:44:40 +00:00
dfr
591c29cdac Remove the '-k' option. 2008-03-27 15:11:02 +00:00
dfr
dc98ee4196 Add kernel module support for nfslockd and krpc. Use the module system
to detect (or load) kernel NLM support in rpc.lockd. Remove the '-k'
option to rpc.lockd and make kernel NLM the default. A user can still
force the use of the old user NLM by building a kernel without NFSLOCKD
and/or removing the nfslockd.ko module.
2008-03-27 11:54:20 +00:00
dfr
79d2dfdaa6 Add the new kernel-mode NFS Lock Manager. To use it instead of the
user-mode lock manager, build a kernel with the NFSLOCKD option and
add '-k' to 'rpc_lockd_flags' in rc.conf.

Highlights include:

* Thread-safe kernel RPC client - many threads can use the same RPC
  client handle safely with replies being de-multiplexed at the socket
  upcall (typically driven directly by the NIC interrupt) and handed
  off to whichever thread matches the reply. For UDP sockets, many RPC
  clients can share the same socket. This allows the use of a single
  privileged UDP port number to talk to an arbitrary number of remote
  hosts.

* Single-threaded kernel RPC server. Adding support for multi-threaded
  server would be relatively straightforward and would follow
  approximately the Solaris KPI. A single thread should be sufficient
  for the NLM since it should rarely block in normal operation.

* Kernel mode NLM server supporting cancel requests and granted
  callbacks. I've tested the NLM server reasonably extensively - it
  passes both my own tests and the NFS Connectathon locking tests
  running on Solaris, Mac OS X and Ubuntu Linux.

* Userland NLM client supported. While the NLM server doesn't have
  support for the local NFS client's locking needs, it does have to
  field async replies and granted callbacks from remote NLMs that the
  local client has contacted. We relay these replies to the userland
  rpc.lockd over a local domain RPC socket.

* Robust deadlock detection for the local lock manager. In particular
  it will detect deadlocks caused by a lock request that covers more
  than one blocking request. As required by the NLM protocol, all
  deadlock detection happens synchronously - a user is guaranteed that
  if a lock request isn't rejected immediately, the lock will
  eventually be granted. The old system allowed for a 'deferred
  deadlock' condition where a blocked lock request could wake up and
  find that some other deadlock-causing lock owner had beaten them to
  the lock.

* Since both local and remote locks are managed by the same kernel
  locking code, local and remote processes can safely use file locks
  for mutual exclusion. Local processes have no fairness advantage
  compared to remote processes when contending to lock a region that
  has just been unlocked - the local lock manager enforces a strict
  first-come first-served model for both local and remote lockers.

Sponsored by:	Isilon Systems
PR:		95247 107555 115524 116679
MFC after:	2 weeks
2008-03-26 15:23:12 +00:00
cperciva
e212b28cc6 Adjust recognize-shared-libraries regex to avoid matching symlinks to
shared libraries.

This fixes a problem which resulted in 6.x->7.x upgrades having the
/usr/lib/libpthread.so -> libthr.so symlink missing; what happened was
that the old libpthread.so symlink pointed to /lib/libpthread.so.2 --
which matched the "/lib/*\.so\.[0-9]+" regex -- but the new symlink
didn't, so FreeBSD Update got confused and deleted the symlink as part
of its "remove old shared libraries" step.

To recreate the symlink (which I understand is necessary for ports like
KDE to build) on a 7.x system which FreeBSD Update upgraded from 6.x:
# ln -s libthr.so /usr/lib/libpthread.so

Reported by:	Dmitry RCL Rekman
Help diagnosing bug from:	kris
MFC after:	7 days
2008-03-25 11:31:16 +00:00
ru
6c91c9345d Spell "blackhole" correctly and fix one grammar nit. 2008-03-24 22:57:55 +00:00
sam
c0e1e43906 enable syslog support and add -s option to the man page
MFC after:	3 weeks
2008-03-24 20:19:20 +00:00
cperciva
5e55dd6717 When updating the install list for files which have had local changes
merged with upgrade changes, don't try to compute the SHA256 hash of
files which don't exist.

Reported by:	Jaakko Heinonen
MFC after:	1 week
2008-03-23 13:41:54 +00:00
phk
394021fd91 Fix two bugs introduced in conversion to FreeBSD source tree:
Off by one error in length calcuation of string records.
Don't attempt to free stack variable.
2008-03-19 10:56:51 +00:00
emax
7704e14e90 Add mandatory "security description" SDP parameter to the PANU profile
Pointed-out by:	Iain Hibbert < plunky at rya-online dot net >
MFC after:	3 days
2008-03-19 00:06:30 +00:00
sam
f5c289e7a8 add reject+blackhole keywords to install entries with RTF_BLACKHOLE
and RTF_REJECT, respectively

PR:		bin/79228
Submitted by:	Dan Lukes <dan@obluda.cz>
MFC after:	2 weeks
2008-03-18 21:45:27 +00:00
emax
a55b468d9c Add PSM and Load Factor SDP parameters to the BNEP based profiles
(NAP, GN and PANU). No reason to not to support them.

Separate SDP parameters data structures for the BNEP based profiles.

Generalize Service Availability SDP parameter creation.

Requested by:	Iain Hibbert < plunky at rya-online dot net >
MFC after:	3 days
2008-03-18 18:21:39 +00:00
phk
d44989c323 Remove trailing ';' on macros.
Spotted by:	antoine
2008-03-16 23:00:43 +00:00
brueffer
e3a026e664 In the description of the password field, -w was meant, not the
nonexistant -p flag.

PR:		120122
Submitted by:	Andy Kosela <andy.kosela@gmail.com>
MFC after:	3 days
2008-03-16 21:36:05 +00:00
jkim
e16eb855ef mixer(8) is WARNS=6 clean since 1.25.
Tested with:	'make universe'
2008-03-16 08:06:36 +00:00
jkim
1e6f2f459f Fix a typo. 2008-03-15 01:36:20 +00:00
jkim
a277d9b482 Clean up code and fix style(9) nits. 2008-03-15 01:20:05 +00:00
jkim
dd20f0a338 Update list of possible mixer devices. These devices were added to
soundcard.h more than ten years ago.
2008-03-15 01:15:15 +00:00
jkim
8d2f6ea689 - Check device masks and bypass printing headers if capable device does
not exist.  /etc/rc.d/mixer tried to restore non-existent recording
source because /var/var/db/mixer*-state contains '=rec' for example.
- Remove hardcoded mixer2 and mixer3 and do the right thing.
- Replace getopt(3) with hand-rolled option parser.  It was not able
to handle 'mixer -rec mic' although it is a valid command.
- Make '-s' and '-S' mutualy exclusive as mixer(8) says.
- Do not re-read recording source unless it has been modified.
2008-03-15 01:09:47 +00:00
emax
1fe21ae278 Update usage() - add new -D option. While I'm here, update copyright
information and license formatting

MFC after:	1 day
2008-03-14 16:29:25 +00:00
piso
f2e5e0ae45 Update to the "new" libalias API (and thus fix world breakage). 2008-03-12 14:34:34 +00:00
emax
a88b6bb824 Add support for the NAP, GN and PANU profiles to the sdpd(8).
It should be mentioned that a somewhat similar patch was
submitted by Rako < rako29 at gmail dot com >

MFC after:	1 week
2008-03-11 16:51:07 +00:00
phk
3023f383cd Hook fifolog tools up to the build.
To the extent make universe works, it hasn't found any fault with this.
2008-03-10 12:53:41 +00:00
phk
329dcba2df Add the fifolog tools to FreeBSD.
Quoth the man-page:

     Fifologs provide a compact round-robin circular storage for recording
     text and binary information to permanent storage in a bounded and pre-
     dictable fashion, time and space wise.

Not yet connected to the build, but feel free to test & review.
2008-03-09 19:14:36 +00:00
jkim
6de20f8883 Use intmax_t instead of long when casting time_t.
Suggested by:	mlaier
Tested with:	make universe
2008-03-07 00:01:24 +00:00
imp
93eb2896b5 The breakage from increased warns has been fixed, back out my back out 2008-03-06 04:09:06 +00:00
jkim
9ca2b049f6 Cast time_t to long to mute tinderbox build failure. 2008-03-06 02:14:45 +00:00
imp
13484a6b34 This breaks the arm build, back it out until that's fixed 2008-03-06 02:13:52 +00:00
emax
94a2761115 Add an option to register DUN (Dial-Up Networking) service on the same
RFCOMM channel if needed. There is really no good reason to not to support
this. AT-command exchange can be faked with chat script in ppp.conf.

MFC after:	1 week
2008-03-06 00:37:29 +00:00
jkim
22cf966cb5 Mark moused(8) WARNS=6 clean. 2008-03-06 00:25:16 +00:00
jkim
1f18efa367 Fix compiler warnings and style(9) bugs. 2008-03-06 00:24:11 +00:00
jkim
15d31e721f Prefer clock_gettime(2) over gettimeofday(2) and use CLOCK_MONOTONIC_FAST.
It is only used to track elapsed time and it does not have to be precise.
2008-03-06 00:22:17 +00:00
rodrigc
7b00b88e8b Remove hacks which filter out MNT_ROOTFS.
They are no longer needed now that we filter out MNT_ROOTFS
inside the nmount() call in revision 1.267 of vfs_mount.c.

Reviewed by:	rink
2008-03-05 07:55:07 +00:00
simokawa
ed2af56069 - add '-f' option to force root node.
- fix byte order in read_write_quad()
- show hostnames in the list
- fix typo in manpage

MFC after: 1 week
2008-03-05 01:30:48 +00:00
kensmith
8b20e1ec3b Sync list of directories to look for packages in to current releases
available.

MFC after:	3 days
2008-02-26 14:35:01 +00:00
scf
c88c109632 Add the groupmod '-d' option to pw to allow the deletion of existing users
from a group without the need to perform the same operation by replacing
the existing list via the '-M' option.  The '-M' option requires someone
to fetch the existing members with pw, deleting the undesired members from
the list and sending the altered list back to pw.

Approved by:	wes (mentor)
MFC after:	5 days
2008-02-23 01:25:22 +00:00
scf
9787c9bf4e style(9) (verified no object changes)
Approved by:	wes (mentor)
MFC after:	5 days
2008-02-23 01:17:42 +00:00
jkoshy
a232f0b6df Fix 'make checkdpadd'. 2008-02-22 06:25:49 +00:00
brueffer
109c3fd180 Add some missing Xrefs to drivers.
MFC after:	3 days
2008-02-21 20:44:25 +00:00
grog
afb9fa5a4b Ensure that the -s flag truncates the accounting data.
This problem has only been reported on the amd64 platform.

PR:		bin/120293
Tested by:	Callum Gibson
MFC after:	2 weeks
2008-02-21 07:12:56 +00:00
rpaulo
63199bf7b7 Add AS lookup functionality. On each hop we query a whois server to
find the corresponding AS for that IP (-a switch).
We can also choose a different whois server with the -A switch. The
default is whois.radb.net.

Obtained from:	       NetBSD
Reviewed by:	       bms, njl (mentor)
Approved by:	       njl (mentor)
2008-02-20 23:29:53 +00:00
dwmalone
23dbe457bf Two no-op fixes to improve corretness of syslogd code:
1) Use [AP]F_LOCAL rather than [AP]F_UNIX.
2) When copying a pipe's name, use f->f_un.f_pipe.f_pname, not f->f_un.f_fname.

PR:		20889
Submitted by:	Damieon Stark
PR:		116642
Submitted by:	Jim Pirzyk
Reviewed by:	md5
2008-02-20 21:54:41 +00:00
ru
2aa5a61fd3 getopt(3) returns -1, not EOF. 2008-02-19 07:09:19 +00:00
kevlo
c74ac9adc1 getopt(3) returns -1, not EOF. 2008-02-18 03:19:25 +00:00
yar
8249be02c2 No network addresses in the system isn't a good excuse
for rpcbind(8) to crash.

The crash was due to a boolean variable initialized
improperly.  Besides fixing the initialization, pick
a better name for the variable so that its meaning is
clear and no more coding errors appear around it.
2008-02-14 20:12:23 +00:00
cperciva
5525e95af0 Improve conformance to the HTTP specification by using case-insensitive
comparisons for header keywords.  Apparently some proxies use creative
capitalization.

Weird proxy found by:	brooks
MFC after:		3 days
2008-02-13 20:46:23 +00:00