Commit Graph

11933 Commits

Author SHA1 Message Date
Matteo Riondato
d9e5bb5c20 Use WARNS?= instead of WARNS=
MFC after:	3 days
2008-11-18 00:12:15 +00:00
Warner Losh
c1d393d207 make this warns=5 clean 2008-11-17 22:46:29 +00:00
Warner Losh
0738c00eb5 Move dumpcis to its own directory, start to decouple from the
pccardc/pccardd history.
2008-11-17 22:19:19 +00:00
Warner Losh
3b3133ed78 Minor ANSI tweaks. 2008-11-17 22:05:53 +00:00
Joseph Koshy
5d09484b2a Ignore absent CPUs when listing the current state of PMC hardware. 2008-11-16 04:26:38 +00:00
Giorgos Keramidas
92bf2d2561 Finish a few more .Dl "quoted" arguments missed in revision 184984 2008-11-15 06:41:57 +00:00
Giorgos Keramidas
6636509127 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
Alexander Motin
648273cb33 Add ADMA, SATA and SAS mass storage subclasses. 2008-11-13 19:49:16 +00:00
Pyun YongHyeon
b474b7827d Add ale(4) to the list of supported network interface. 2008-11-12 10:01:16 +00:00
Maxim Sobolev
335a351231 No need to run rm ${COMPFILE} after mm_install() - mm_install()
does it for us.
2008-11-11 02:13:21 +00:00
Matteo Riondato
66d48cdafe 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
Maxim Sobolev
333b8b2fa0 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 Riondato
37f1755cab 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
Joseph Koshy
c9e2213976 - Document the changed meaning of a '*' argument to option "-c".
- Tweak grammar.
2008-11-09 08:39:52 +00:00
Joseph Koshy
35cf650fc1 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
Maxim Sobolev
ed61c72f45 Ignore files that only differ in CVS Id tag.
MFC after:	2 weeks
2008-11-09 07:58:23 +00:00
Matteo Riondato
8037791bf7 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 Riondato
2b9f079ca2 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
Marc Fonvieille
8d0b36a3c1 Update ports number and size of Ports Collection. 2008-11-07 22:01:31 +00:00
Matteo Riondato
c11807aca2 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
Giorgos Keramidas
831cbaf1f1 Tiny typo fix and remove 'example' from a "real" manpage. 2008-11-05 09:42:05 +00:00
Alfred Perlstein
eabe30fc9c 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
Doug Rabson
a9148abd9d 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 Schouten
37a9f58275 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
Rong-En Fan
28e4b62bbe - 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
Bjoern A. Zeeb
1272ddb213 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
Xin LI
a3c4f7249b 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
Xin LI
53cd97406b Use strlcpy() before strlen() instead of strncpy(). 2008-10-23 00:28:21 +00:00
Xin LI
ecce338eb4 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
Xin LI
9bbd8028fa Replace malloc() + memset() with calloc. This corrects a misuse of
memset() as a side effect.
2008-10-23 00:15:00 +00:00
Ken Smith
76fe8e96f1 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
Alexander Motin
84af5b8feb Add HDA multimedia subclass. 2008-10-21 21:55:38 +00:00
Alexander Motin
19c40b30d6 Add "SD host controller" subclass name. 2008-10-21 20:57:21 +00:00
Xin LI
76a7756334 - 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 Davis
962b77f943 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 Paeps
7dbb8c4cc3 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
Ken Smith
b739742ca9 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
Xin LI
4f7df5c284 Reduce code duplication: use calloc instead of allocing and memset
afterward.

Approved by:	bushman
2008-10-12 00:44:27 +00:00
Michael Bushkov
2c45f1b564 Removing startup banner. 2008-10-10 22:40:05 +00:00
Joseph Koshy
5477328d81 - 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
Ulf Lilleengen
a0312e48c1 - 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 Strobl
2110f38889 - Revert to the pre-r183242 behavior of building sade(8) on sparc64.
- Fix whitespace.
2008-10-05 14:15:22 +00:00
Stanislav Sedov
d6c76c9b91 - Add ae(4) to sysinstall devices list.
Approved by:	kib (mentor)
MFC after:	1 week
2008-10-04 11:49:26 +00:00
Bruce M Simpson
7a02aaee75 Only build the bsnmpd netgraph module if MK_NETGRAPH_SUPPORT is set. 2008-10-02 14:26:56 +00:00
Ulf Lilleengen
bd5add5884 - 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 Brodin
68c870abb7 - Build jexec (1) and slstat.
- style.Makefile
Noticed by:	Marius (1)
2008-09-27 22:24:50 +00:00
Marcel Moolenaar
0d44ba5d7e 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
David Malone
cfcf794e5f 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
Xin LI
6b41097822 Remove spurious duplicated defination of sock. 2008-09-24 00:04:51 +00:00
Ed Schouten
a1215e37a4 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 Leffler
690f477d75 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
Warner Losh
a470aba35d 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
Joseph Koshy
67442c6e80 Bring the usage message in sync with the manual page. 2008-09-19 14:51:41 +00:00
Joseph Koshy
2c79db5107 Add an example illustrating the use sleep(1) for performing timed
measurements.
2008-09-19 13:17:22 +00:00
Daniel Gerzo
3bea701ec8 - 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
Doug Rabson
0be84ce855 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 Schouten
b4eca7675a 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
Stephane E. Potvin
29e6fa3a7f 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
Daniel Gerzo
2cdb71a94a 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
Ollivier Robert
943b1a0f32 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 Chadd
ab8ac08e14 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
Sean Bruno
7f1b527c00 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
Kip Macy
bc452c1162 - 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 Riondato
2c0e1c7ed4 Use %d to print numfibs
MFC after:	1 day
2008-09-07 19:10:06 +00:00
Ulf Lilleengen
b31e5ae243 - 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
David E. O'Brien
22407452f5 Introduce crunchide to the ELF e_machine MIPS values. 2008-09-03 16:21:28 +00:00
Warner Losh
6c1e69a288 style nit: indent continuation lines correctly, use style(9) style
if() statement.
2008-09-03 07:08:22 +00:00
Warner Losh
4855d1bfd1 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
Kip Macy
f90e41acf3 Add support for t3c to cxgbtool
Obtained from:	Chelsio Inc.
2008-09-02 22:20:46 +00:00
Ollivier Robert
d9759c011c 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
David E. O'Brien
16d2cd9432 Remove extraneous NULL pointer check - the pointer is guaranteed to be non-NULL. 2008-09-01 15:10:03 +00:00
Bernd Walter
ee9069d1d9 use bigger local variable to calculate free space
int overflows at 1T free space
2008-09-01 12:32:40 +00:00
Kip Macy
4c9839c44e 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
Ollivier Robert
867624a678 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
Ollivier Robert
b9b2ce9a36 Hook back ntp to the build now that I fixed it.
Pointy hat to:	me
2008-08-22 21:20:23 +00:00
Ollivier Robert
718daf0805 Add forgotten libopts subdir.
MFC after:	2 weeks
2008-08-22 20:04:35 +00:00
Bjoern A. Zeeb
4cb3914f29 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
Ollivier Robert
271c3a9060 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 Schouten
9d5a92ee43 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
Ken Smith
0ec0b7f3f4 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 Schouten
bc093719ca 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
John Baldwin
32c9e3bd01 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
John Baldwin
9e5fbab2a2 Pass the right pointer to bzero() when clearing cp_time.
MFC after:	1 week
2008-08-19 20:33:59 +00:00
Andrey A. Chernov
f70f5c2077 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 Schouten
2e37c8eacb 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
Ken Smith
c7a2201a7d Catch up with the removal of /usr/src/compat.
MFC after:	3 days
2008-08-14 13:35:22 +00:00
Stanislav Sedov
cbcc55799f - Fix error reporting.
Approved by:	kib
2008-08-12 09:47:50 +00:00
Weongyo Jeong
93b465e1e8 Add upgt(4) to the list of supported network interface. 2008-08-11 04:58:06 +00:00
Stanislav Sedov
e085f869d5 - 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
Colin Percival
bb10a826c1 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
Poul-Henning Kamp
419859bd08 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
John Baldwin
a37f97161c 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
Olivier Houchard
8ee6e59f46 Remove a useless cast.
Spotted out by:	stefanf
2008-08-02 00:10:02 +00:00
Colin Percival
08e23bee1a 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
Olivier Houchard
2b686a3f45 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
Dmitry Morozovsky
1168e5f13b 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
John Baldwin
662c90c800 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
David E. O'Brien
eb43240464 Allow kernel config files to include files other than those in the CWD,
using unquoted paths.
2008-07-28 17:11:57 +00:00
Andrey A. Chernov
a08f0b20be 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
Andrey A. Chernov
f90b161b21 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 Elischer
c75a0d409a Switch to using the setfib syscall instead of a syscall(175,...) 2008-07-24 18:01:50 +00:00
Weongyo Jeong
2e59f6ba48 remove reference for unexisting ndisapi(9) 2008-07-23 05:50:17 +00:00
Marcel Moolenaar
42f17e8ce4 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
Florent Thoumie
eb7d87ae37 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
John Baldwin
c746f22dea 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 Schouten
94a340ae73 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
Robert Watson
b689e6a8a3 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
Pietro Cerutti
c863386a34 - Enhance volume handling
PR:		125054
Submitted by:	gahr
Approved by:	cperciva
2008-07-14 13:22:09 +00:00
Maxim Sobolev
7e1535c571 Allow comment to be placed at the end of a configuration line.
MFC after:	2 weeks
2008-07-09 07:37:54 +00:00
Giorgos Keramidas
ce489a99f0 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
John Baldwin
94f923b69d 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
Dag-Erling Smørgrav
8f518424d9 Drag this code kicking and screaming into the twenty-first century. 2008-07-02 15:51:59 +00:00
Daniel Gerzo
283146a239 - 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
Daniel Gerzo
6f8f0226ed - more mark-up fixes
Submitted by:	ru
2008-07-01 19:54:02 +00:00
Joseph Koshy
165b10b07b Fix a regression: attach process PMCs to the process created when
a command line is specified.
2008-07-01 15:20:15 +00:00
Daniel Gerzo
408730643b - 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
Dmitry Morozovsky
b75634d238 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
Joseph Koshy
e572c7a748 Document messages printed in verbose mode.
Requested by:	Fabien Thomas <fabien.thomas at netasq dot com>
2008-06-29 10:30:06 +00:00
John Birrell
4287da9afb 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
Mike Makonnen
48b5fd636e 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
Daniel Gerzo
80d9aed42c - 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
Doug Rabson
c675522fc4 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
Maxim Sobolev
cb45b78eae 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
David E. O'Brien
dc70a966e3 Add an abbreviation for adaptive mode, and document all the abreviations. 2008-06-22 17:52:57 +00:00
Weongyo Jeong
8759b840e6 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
Florent Thoumie
74572e9e63 Remove support for RELENG_4 (__FreeBSD_version < 500039).
MFC after:	1 day
2008-06-16 23:41:11 +00:00
Florent Thoumie
7fc2d1dfc0 Style fix (use naked commands).
Reported by:	obrien
2008-06-16 09:15:27 +00:00
Florent Thoumie
c55100c9ba - 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
Doug Barton
b4b04f194f Document the AUTO_UPGRADE (-U) knob for .mergemasterrc
Submitted by:	mezz
No Cookie For:	gordon  :)
2008-06-11 18:54:06 +00:00
Ed Schouten
2ae1fdab5a 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
John Birrell
1f1fa917bd 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 Wemm
b97195edcc Add more card state dump routines. Decode more bitfields etc. 2008-06-06 03:23:34 +00:00
Ed Schouten
0fbccea207 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
Max Laier
df8a925ffd Add a newline after usage. 2008-06-04 23:31:53 +00:00
Jung-uk Kim
659a596a2c - 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
Florent Thoumie
9bb2680b18 Exclude .svn directories from generated distfile. 2008-06-03 14:48:16 +00:00
Jung-uk Kim
62467b2549 Fix a crash when Arctic Ocean is selected.
MFC after:	1 week
2008-06-02 23:37:33 +00:00
Doug Rabson
bbf7dc4c6f Add a missing call to init_nsm().
MFC after:	1 week
2008-06-02 16:00:49 +00:00
Warner Losh
047b4ae4cf 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 Paeps
0fecb888b2 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 Wemm
1e6e889a83 Remove one of my dead email addresses from a copyright message. 2008-05-31 06:03:23 +00:00
Florent Thoumie
0b99032d09 - 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
Michael Reifenberger
ea119c8265 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 Leffler
9758983c9a misc cleanups for stricter compilation 2008-05-28 23:37:37 +00:00
Sam Leffler
2aa481a140 update copyright year and nuke dual-gpl bits that should've removed long ago 2008-05-28 23:36:47 +00:00
Florent Thoumie
081a90254c 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
Florent Thoumie
6182e1eeee 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
Giorgos Keramidas
c08759cdf4 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 Brodin
e8e8c216d0 - 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
Giorgos Keramidas
bea08b23d3 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
Pyun YongHyeon
eed51f2fb9 Add jme(4) to the list of supported network interface. 2008-05-27 02:15:41 +00:00
Michael Reifenberger
c693ccd83d 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
Michael Reifenberger
1f406de782 Extend jexec to accept hostname or ip-number besides jail-id.
MFC after:	2 weeks
2008-05-26 11:57:49 +00:00
Bjoern A. Zeeb
2e598474fa 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
Robert Watson
e4372ceba0 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 Schouten
81590c5b37 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
John Birrell
4978b9f13c 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
Andrew Thompson
1bf8d6306f -d is a flag, not an argument. Use .Fl here. 2008-05-20 20:47:21 +00:00
Rui Paulo
76c586c6a1 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
Andrew Thompson
47dbd0cfbc Remove -, .Ar adds that automatically.
Pointed out by:		brueffer
2008-05-19 17:59:09 +00:00
Andrew Thompson
2640a253c1 Bump document date for last change. 2008-05-19 17:54:32 +00:00
Andrew Thompson
433b4c16de Allow wlandebug to set the default debug level which is inherited when vaps are
created.
2008-05-19 17:49:57 +00:00
Pyun YongHyeon
71f50186f9 Add age(4) to the list of supported network interface. 2008-05-19 02:17:24 +00:00
Colin Percival
bdd9aff946 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 Paeps
3e95467ca0 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
Poul-Henning Kamp
22d0b5dc8b Populate usage()
Submitted by:   Jaakko Heinonen <jh@saunalahti.fi>
2008-05-14 23:29:02 +00:00
Remko Lodder
bc42e6c43f 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 Somers
d7022add17 Add a -8 switch to syslogd to prevent it from mangling 8-bit data. 2008-05-14 00:22:21 +00:00
David E. O'Brien
1ff2ab846d Better to just statically set the name vs. determine at run time. 2008-05-11 17:23:57 +00:00
David E. O'Brien
244fb23f20 Sync program name agnostic changes with SADE. 2008-05-11 07:18:22 +00:00
David E. O'Brien
228a522072 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 Elischer
05b0fdac8c Change two variables to size_t to improve portability.
Submitted by:	Xin Li
2008-05-10 15:02:56 +00:00
Christian Brueffer
f30f70856b Misc mdoc improvements. 2008-05-10 07:36:47 +00:00
Julian Elischer
108e8dd925 allow setfib to be compiled. 2008-05-10 00:43:13 +00:00
Julian Elischer
8b07e49a00 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
Mike Makonnen
cc63a90dc8 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 Lucistnik
e1e27ead34 - Backout 1.15, it was committed by accident
Pointy hat to:	pav
2008-05-03 23:17:37 +00:00
Pav Lucistnik
2b520e6990 - 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
Xin LI
9d671674d9 sade(8) does not need FTP I/O. 2008-05-03 02:42:57 +00:00
Kevin Lo
54f15aeed0 Remove duplicate headers <sys/socket.h> 2008-04-21 07:25:26 +00:00
Sam Leffler
525de97e17 update for vaps
Supported by:	Hobnob
2008-04-20 20:41:47 +00:00
Sam Leffler
a18abc8eeb 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 Leffler
02d51d96ad 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
Florent Thoumie
b41205533d Fix pkg_info when specifying a remote package.
MFC after:	1 week
2008-04-16 13:05:35 +00:00
Andrew Thompson
a0a16e977c 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
Andrew Thompson
19c3793335 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 Lucistnik
42b1030bbd 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
Warner Losh
30f94bb497 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
Ruslan Ermilov
a1e0a00fd2 Clean up makefiles and a manpage.
OK'ed by:	phk
2008-04-10 14:02:00 +00:00
Doug Rabson
3cba562fb9 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
Florent Thoumie
64d1b2c64f 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 Lodder
ca7413e364 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 Jeong
590ed12305 Add a couple of missing wireless NIC driver modules.
Approved by:	thompsa (mentor)
2008-04-08 01:47:33 +00:00
Alexander Kabaev
4760d2ac3f Fix apparent mis-paste in previous check-in by author. 2008-04-06 22:08:17 +00:00
Doug Rabson
0e7cce1381 Call listen(2) on bound tcp sockets before passing them to svc_tli_create. 2008-04-06 13:52:17 +00:00
Doug Rabson
8948542c2d Allow for a zero length 'loader'. 2008-04-05 10:26:20 +00:00
Poul-Henning Kamp
8d2888bc54 Accept empty -T arguments.
Proposed by:	clemens fischer <ino-qc@spotteswoode.de.eu.org>
2008-03-31 13:56:15 +00:00
Florent Thoumie
4260ec2def 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
Roman Divacky
4f49091fda 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
Ruslan Ermilov
c004f40325 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