Commit Graph

11764 Commits

Author SHA1 Message Date
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