Commit Graph

1710 Commits

Author SHA1 Message Date
jilles
4a8e08a110 sh: Fix crash when undefining or redefining a currently executing function.
Add a reference count to function definitions.
Memory may leak if multiple SIGINTs arrive in interactive mode,
this will be fixed later by changing SIGINT handling.

PR:		bin/137640
2009-08-23 21:09:46 +00:00
zec
4bee45ee42 Bugfix: all requests for creating vnets via vimage -c were always
reported as failures, even if the actual library / system call
would succeed, because error message would be reported if the return
value from jail_setv() call was >= 0, and if not, then if that same
value was < 0, i.e. always.  The correct behavior is to abort (only)
if jail_setv() returns < 0.

Approved by:	re (rwatson), julian (mentor)
2009-08-21 11:13:56 +00:00
zec
825d1f23be vimage(8) is a legacy CLI interface for managing jails associated with
network stack instances, which is provided for compatibility with
older applications.  This change brings it back to life in a followup
to the initial conversion of vimage to use the new jail(4)
userland-kernel API:

- when creating vimages via "vimage -c", by default turn on a few
options expected by legacy applications, such as allow operations on
raw sockets, FS mounts etc, and allow jail-related parameters to be
optionally configured.

- introduce the "-m" modifier which allows for configuring jail
parameters of existing vimages / vnet-jails.

- make "vimage name command ..." actually work.

- when reassigning ifnets to vnets using "vimage -i", attempt to rename
the ifnet as "ethXXX" on arrival in the target vnet.  Several legacy
applications are known to depend heavily on such behavior.

- vimage -l lists only jails associated with vnets.  The output is
sorted using vimage / jail names as keys.

- vimage -l by default searches only the current level in the jail
hierarchy.  Recursive listing can be requested via -r switch.

- vimage -l by default prints only jail names on each line, making
such output suitable for pipelining to other commands.  More verbose
output can be obtained via -v switch, and even more jail specific
information will be displayed if -j switch is turned on.

- there's no need to build vimage as statically linked, so update the
Makefile accordingly.

- update the vimage.8 man page.

Approved by:	re (rwatson), julian (mentor)
MFC after:	immediately
2009-08-20 22:39:20 +00:00
bz
a693328e46 Start respecting WITHOUT_INET6.
Make regression/priv compile again after the multi-IP jail
changes.  Note that we are still using the legacy jail(2)
rather than the jail_set(2)/jail(3) syscall.
Add an IPv4,  and an IPv6 loopback address in case we compile
with INET6 enabled.

Make the priv_vfs_extattr_system compile on amd64 as well using the
proper length modifier to printf(3) for ssize_t.

Reviewed by:	rwatson
Approved by:	re (kib)
2009-08-13 09:11:47 +00:00
kib
0d42f460f5 Fix syntax error, makefile comments start with #.
Submitted by:	bde
Approved by:	re (kensmith)
2009-07-25 21:07:56 +00:00
sam
33f3a67bc1 Update for vaps:
o do not force monitor mode; the wlanX ifnet must be an ahdemo mode vap
o move channel change work before marking ifnet up to avoid churning
  the state machine
o change default ifnet name to "wlan0"

Approved by:	re (kensmith)
2009-07-24 15:31:22 +00:00
sam
00f47854ed update for recent mesh additions
Approved by:	re (kib)
2009-07-21 19:25:25 +00:00
jamie
9f81cbd9ec Remove the interim vimage containers, struct vimage and struct procg,
and the ioctl-based interface that supported them.

Approved by:	re (kib), bz (mentor)
2009-07-17 14:48:21 +00:00
kib
d144bd0987 Test suite for the poll(2)/select(2) on fifos, pipes and sockets,
and recorded results for several operating systems.

Submitted by:	bde
Approved by:	re (kensmith)
2009-07-12 12:50:43 +00:00
rpaulo
8424d74020 Implementation of the upcoming Wireless Mesh standard, 802.11s, on the
net80211 wireless stack. This work is based on the March 2009 D3.0 draft
standard. This standard is expected to become final next year.
This includes two main net80211 modules, ieee80211_mesh.c
which deals with peer link management, link metric calculation,
routing table control and mesh configuration and ieee80211_hwmp.c
which deals with the actually routing process on the mesh network.
HWMP is the mandatory routing protocol on by the mesh standard, but
others, such as RA-OLSR, can be implemented.

Authentication and encryption are not implemented.

There are several scripts under tools/tools/net80211/scripts that can be
used to test different mesh network topologies and they also teach you
how to setup a mesh vap (for the impatient: ifconfig wlan0 create
wlandev ... wlanmode mesh).

A new build option is available: IEEE80211_SUPPORT_MESH and it's enabled
by default on GENERIC kernels for i386, amd64, sparc64 and pc98.

Drivers that support mesh networks right now are: ath, ral and mwl.

More information at: http://wiki.freebsd.org/WifiMesh

Please note that this work is experimental. Also, please note that
bridging a mesh vap with another network interface is not yet supported.

Many thanks to the FreeBSD Foundation for sponsoring this project and to
Sam Leffler for his support.
Also, I would like to thank Gateworks Corporation for sending me a
Cambria board which was used during the development of this project.

Reviewed by:	sam
Approved by:	re (kensmith)
Obtained from:	projects/mesh11s
2009-07-11 15:02:45 +00:00
brian
446d01edc9 Fix some uninitialise variables.
PR:		136383
Submitted by:	Ulrich Spoerlein - uqs at spoerlein dot net
Approved by:	re (kib)
MFC after:	3 weeks
2009-07-08 10:16:16 +00:00
trasz
7ce4ab7ff8 Fix fpathconf(3) on fifos, in effect making ls(1) properly
display '+' on them.  Taken from kern/125613, with cosmetic
changes.

PR:		kern/125613
Submitted by:	Jaakko Heinonen <jh at saunalahti dot fi>
Approved by:	re (kib)
2009-07-02 20:05:21 +00:00
jilles
5ecfba6d0b Add some tests for r194975 and r194977.
Approved by:	ed (mentor) (implicit)
2009-06-25 17:36:08 +00:00
n_hibma
fbabb378d7 - Make pprint print through fd 3, so it can be used in customisation
functions to print something to the screen.
- Prefix each line with the running time (bikeshed).

Submitted by:	Rick van der Zwet (Wireless Leiden)
2009-06-25 13:15:20 +00:00
jilles
1f2b1b2840 Designate special builtins as such in command -V and type.
Also document various properties of special builtins that we implement.

Approved by:	ed (mentor) (implicit)
2009-06-24 22:04:04 +00:00
jilles
1498b76770 Add test for r190698.
Submitted by:	Eygene Ryabinkin
Approved by:	ed (mentor) (implicit)
2009-06-24 20:22:54 +00:00
sam
660ff14c44 add a link named athpeek since my fingers keep typing it 2009-06-24 18:24:37 +00:00
sam
44a9eae266 read back the written value and display 2009-06-24 18:24:20 +00:00
jamie
c6535b4fd4 Add libjail, a (somewhat) simpler interface to the jail_set and jail_get
system calls and the security.jail.param sysctls.

Approved by:	bz (mentor)
2009-06-24 18:19:55 +00:00
jilles
edb926b17d Add tests for r194774.
Approved by:	ed (mentor) (implicit)
2009-06-23 22:03:56 +00:00
remko
5125e5db27 Add architecture support for TinyBSD
PR:		135301
Submitted by:	Olivier Cochard-Labbe <olivier at cochard dot me>
Reviewed by:	Jean Milanez Melo <jmelo at freebsdbrasil dot com dot br> (maintainer)
Approved by:	imp (mentor, implicit)
MFC after:	1 week
2009-06-20 20:35:50 +00:00
rwatson
5b52f69d52 Up the scale of the SPX loopback check a bit: use much larger data sizes
so that we need to do segmentation.
2009-06-20 18:13:20 +00:00
jilles
4466baff5e Add tests for r194406 and r194516.
Approved by:	ed (mentor)
2009-06-19 22:15:59 +00:00
n_hibma
d9764744f9 - Don't hard code _.disk.full. Use the variable.
- _.bk should be created in MAKEOBJDIRPREFIX as well
- Remove a misplaced and unnecessary message.
2009-06-18 13:56:10 +00:00
n_hibma
0e44c0c1a4 Reverse some stuff I accidentally committed in the previous commit:
- creation of sparse files to speed up the build process. This was
  discussed with phk 2 years ago and he disagreed with this change.
- handling of negative data partition sizes.

Can I have the ... green pointy hat, please?
2009-06-18 11:35:29 +00:00
n_hibma
ef1ac86590 Allow building world into a separate dir (for reuse in multiple images):
- buildworld and buildkernel are built into MAKEOBJDIRPREFIX
- installworld and installkernel are performed on NANO_OBJ.

No change of functionality if MAKEOBJDIRPREFIX is not set. If it is sea,t
clean_world deletes NANO_OBJ instead of NANO_WORLDDIR. By starting nanobsd.sh
with the -b option the existing world can be reused to build a new world
reducing time and disk space considerably.

While there:
- Fix two cases where (in comments) MAKEOBJDIRPREFIX should have been
  NANO_DISKIMGDIR.
- Simplify an 'if (not wrong); then true; else action; fi' into
  'if wrong; then action; fi'. 'if ! false; then echo hello; fi' produces hello.

Note: Make sure you use NANO_OBJ were you use MAKEOBJDIRPREFIX now in your
nanobsd.conf files if you want to split out.
2009-06-18 10:39:08 +00:00
sam
11a5c16ba0 update usb config; the old stack is gone 2009-06-17 17:59:36 +00:00
edwin
f07852f8b5 When copy+paste goes wrong... Remove duplicate "expr".
Submitted by:	danfe@
2009-06-17 06:25:45 +00:00
edwin
a66bd3685f iiin -> in
Submitted by:   "N.J. Mann" <njm@njm.me.uk>
2009-06-16 22:45:33 +00:00
edwin
d0cf166496 Fix NanoBSD when the data partition size is defined as a negative
number.

	It is possible to ask nanobsd.sh to create a 'data' partition,
	separate from the system or configuration partitions, and
	furthermore, by specifying a negative value for its size
	to request that it use all space unused by those partitions
	for its own size.

	Because the two lines of code that calculate how much space
	is available for this data partition are written in perl-like
	syntax, the awk code that does the processing performs the
	calculation incorrectly.
	[note - this was already fixed by r174936]

	Furthermore, a comparison later down fails to newfs the
	partition when the size is negative.

PR:		misc/127759
Submitted by:	Cyrus Rahman <crahman@gmail.com>
MFC after:	1 week
2009-06-16 12:33:38 +00:00
edwin
a2de12ba1a Support for 64 Mb Kodak flash device.
PR:		misc/115025
Submitted by:	Michael W Lucas <mwlucas@freebsd.org>
MFC after:	1 week
2009-06-16 12:09:12 +00:00
edwin
cb9dbdea94 Add support for 256MB Hitachi CF card and 256MB Silicon Systems CF card
This patch against RELENG_6 adds two more entries to
	src/tools/tools/nanobsd/FlashDevice.sub - one for a 256MB
	Hitachi CF card and one for a 256MB Silicon Systems CF card.

	Both entries have been verified to work with a Soekris net4801.

PR:		kern/101228
Submitted by:	Henrik Brix Andersen <henrik@brixandersen.dk>
MFC after:	1 week
2009-06-16 12:05:04 +00:00
jhb
447d980cd0 Add a new 'void closefrom(int lowfd)' system call. When called, it closes
any open file descriptors >= 'lowfd'.  It is largely identical to the same
function on other operating systems such as Solaris, DFly, NetBSD, and
OpenBSD.  One difference from other *BSD is that this closefrom() does not
fail with any errors.  In practice, while the manpages for NetBSD and
OpenBSD claim that they return EINTR, they ignore internal errors from
close() and never return EINTR.  DFly does return EINTR, but for the common
use case (closing fd's prior to execve()), the caller really wants all
fd's closed and returning EINTR just forces callers to call closefrom() in
a loop until it stops failing.

Note that this implementation of closefrom(2) does not make any effort to
resolve userland races with open(2) in other threads.  As such, it is not
multithread safe.

Submitted by:	rwatson (initial version)
Reviewed by:	rwatson
MFC after:	2 weeks
2009-06-15 20:38:55 +00:00
jilles
52854b093c Add tests for r194127 and r194128.
Approved by:	ed (mentor)
2009-06-14 16:21:51 +00:00
edwin
43ae9ac838 Instead of only being able to compare two terminal definitions, now
also be able to print information about...

- length of the terminal capabilties
- dump of one terminal definition
- relationship overview for a terminal definition
2009-06-14 13:46:32 +00:00
edwin
936e5ad292 Rename since it has will have more capabilities than just comparing of
two termcap entries.
2009-06-14 13:43:07 +00:00
edwin
ced97f72d0 Tool to compare two (roughly similar) termcap entries (like rxvt-mono
and rxvt-unicode) so see which fields should don't need to be copied
if the :tc=xxx: option is used.
2009-06-14 03:29:14 +00:00
des
7758932884 Check that flopen() can lock against self and that children inherit the lock. 2009-06-06 19:07:15 +00:00
edwin
4c418262b6 pciconf(8) removes characters after an #, therefor remove them.
Also remove \s used to escape 's.
2009-06-06 13:33:11 +00:00
edwin
e5e9b76fa9 When trying to see if we could update the share/misc/pci_vendors,
I found out that the input format of the Boemler list was different
than what the code expected: The last two fields were interpreted
as one. Checking the csv version of the list it showed that there
was sometimes a chipset number in the column before the card
description.

This is a rewrite to use the CSV format of the Boemler list. The
output is differently formatted: Instead of the "chip description",
it is now "description (chip)"
2009-06-06 12:53:54 +00:00
zec
3a60a01f36 Add an interim userland utility for managing vimages / virtualized
network stack infrastructure.

Requested by:	julian (mentor)
Approved by:	julian (mentor)
2009-06-06 12:50:10 +00:00
pjd
f0fa176da8 lchflags(2) takes int, not u_long like chflags(2) and fchflags(2).
Strange, isn't it?

Pointed out by:	bde
2009-06-03 09:24:58 +00:00
dougb
ec14ac76ed Add support for the build options that are currently in the port:
WITH_BIND_IDN
	WITH_BIND_LARGE_FILE
	WITH_BIND_SIGCHASE
	WITH_BIND_XML
2009-06-01 21:58:59 +00:00
sam
7844befc0c tools for mwl driver 2009-06-01 18:27:16 +00:00
stefanf
3d7ca7e192 Add tests for r193169. 2009-05-31 17:23:27 +00:00
zml
687197c439 Add a regression test for multiple threads of the same process acquiring the same fcntl lock.
Approved by:        dfr (mentor)
2009-05-28 02:39:07 +00:00
des
5df7c0e4ae Increment the counter outside the subshell. 2009-05-27 15:15:58 +00:00
edwin
be5a4879e2 Add the regression test for bin/date. 2009-05-27 12:31:55 +00:00
des
6cf142b7b4 Add a regression test for kern/21768.
MFC after:	1 week
2009-05-26 20:13:06 +00:00
attilio
4af1dcdee0 Use, in uncovered part, the END() macro in order to improve debugging.
In this specific case, Valgrind won't get confused when analyzing such
functions.

Sponsored by:	Sandvine Incorporated
Tested by:	emaste
MFC:		3 days
2009-05-25 14:37:10 +00:00