1744 Commits

Author SHA1 Message Date
Marius Strobl
4c3c0e9df5 MFC: r197361
Follow POSIX (IEEE Std 1003.1, 2004 Edition) in the implementation
of the y (translate) command.

"If a backslash character is immediately followed by a backslash
character in string1 or string2, the two backslash characters shall
be counted as a single literal backslash character"

Pointed by:	Marius Strobl
Obtained from:	Mac OS X
2010-05-21 19:44:23 +00:00
Marius Strobl
4bab9691b8 MFC: r197360
Add correct test results.
2010-05-21 19:35:14 +00:00
Marius Strobl
d43a26d474 MFC: r197357
Describe how other systems treat this case.
2010-05-21 19:22:50 +00:00
Marius Strobl
d9dca217f7 MFC: r197356
Allow [ to be used as a delimiter.

Pointed by:	Marius Strobl
Obtained from:	Apple
2010-05-21 19:21:47 +00:00
Marius Strobl
da7a72d964 MFC: r197352
The transition to Subversion allows us to rename files without
repo-copy hacks.
Remove the test-number prefix from the name of the output files,
so that new test cases can be easily added.
2010-05-21 19:09:41 +00:00
Stefan Farfeleder
dd0cfed810 Merge r199628 and r199632: Tests for the cd command. 2010-05-21 16:01:57 +00:00
Jilles Tjoelker
d366e1de7f MFC r207944: sh: Fix pathname expansion with quoted slashes like *\/.
These are git commits 36f0fa8fcbc8c7b2b194addd29100fb40e73e4e9 and
d6d06ff5c2ea0fa44becc5ef4340e5f2f15073e4 in dash.

Because this is the first code I'm importing from dash to expand.c, add the
Herbert Xu copyright notice which is in dash's expand.c.

When pathname expanding *\/, the CTLESC representing the quoted state was
erroneously taken as part of the * pathname component. This CTLESC was then
seen by the pattern matching code as escaping the '\0' terminating the
string.

The code is slightly different because dash converts the CTLESC characters
to backslashes and removes all the other CTL* characters to allow
substituting glob(3).

The effect of the bug was also slightly different from dash (where nothing
matched at all). Because a CTLESC can escape a '\0' in some way, whether
files were included despite the bug depended on memory that should not be
read. In particular, on many machines /*\/ expanded to a strict subset of
what /*/ expanded to.

Example:
  echo /*"/null"

This should print /dev/null, not /*/null.

PR:		bin/146378
Obtained from:	dash
2010-05-16 22:52:51 +00:00
Jilles Tjoelker
43018f2409 MFC r207935: sh: Add some simple testcases for pathname expansion. 2010-05-15 12:51:22 +00:00
Jilles Tjoelker
b6bcdd63bc MFC r207821: Generate some tests for sh's case command
from the fnmatch tests.

I'm committing the generated files because I don't like a build dependency
for the sh(1) tests, and they are small and will not change much.
2010-05-15 12:42:07 +00:00
Jilles Tjoelker
f5fa4d2e65 MFC r206143,r206148,r206149,r206167,r206491,r206817,r207127,r207824
Various testcases that work correctly with stable/8 sh.
2010-05-13 17:22:00 +00:00
Marius Strobl
1f21f64ac2 MFC: r207151
Add a TestFloat based test suite for floating-point implementations
currently supporting sparc64. After a `make depend all` there are
three programs; testsoftfloat for testing against the SoftFloat in
src/lib/libc/softfloat for reference purposes, testemufloat for
testing the emulator source in src/lib/libc/sparc64/fpu and testfloat
for testing with the installed libc. Support for other architectures
can be added as needed.

PR:		144900
Submitted by:	Peter Jeremy
2010-05-02 16:55:10 +00:00
Jilles Tjoelker
8b0241c2d4 MFC r206711: fnmatch: Fix bad FNM_PERIOD disabling
if an asterisk has been seen.

Example: fnmatch("a*b/*", "abbb/.x", FNM_PATHNAME | FNM_PERIOD)

PR:		116074
2010-04-23 18:01:19 +00:00
Jilles Tjoelker
0dcf6cffeb MFC r206710: Add some tests for fnmatch(3). 2010-04-23 17:52:36 +00:00
Jilles Tjoelker
f08f4ed374 MFC r203576,r203677: sh: Don't stat() $MAIL/$MAILPATH if not interactive.
These may be NFS mounted, and we should not touch them unless we are going
to do something useful with the information.
2010-04-20 22:52:28 +00:00
Jilles Tjoelker
631680bf1c MFC r199282: sh: Allow a newline before "in" in a for command,
as required by POSIX.
2010-04-20 22:20:31 +00:00
Edward Tomasz Napierala
e7e223603d MFC r200811:
Add regression test for NFSv4 ACLs on UFS.
2010-04-18 19:40:52 +00:00
Warner Losh
3a1e7f892f MFC: 205994
Two fixes:

  (1) We don't need a custom install_kernel.  We can install without
  symbols by adding INSTALL_NODEBUG (which likely should be
  WITHOUT_KERNEL_SYMBOLS_FILE, or something shorter) to CONF_INSTALL
  (2) for make buildenv stage, use NANO_MAKE_CONF_BUILD rather than the
  non-existant NANO_MAKE_CONF.

  MFC after:	7 days
2010-04-13 01:04:11 +00:00
Warner Losh
4e6eaf365b MFC 205980:
Stop hard coding i386 as the arch for the build.  Instead, default to the
  processor we're running on.  Also, supply amd64 version of create_diskimage
  that's the same as i386's.

  # didn't fix the confusion between using the processor for this and using
  # the machine (which would be more appropriate).  NANO_ARCH smashes the two
  # together right now.

  MFC after:	7 days
2010-04-13 00:57:54 +00:00
Warner Losh
e55b9df7b3 MFC: r197542:
- When we run our trap cleanup handler, echo that we are running this
    handler to make it more clear why we are 'suddenly' running df,
    umount, and mdconfig.
  - Remove trap handler again after we have unconfigured the memory
    device etc.  Before we could end up running the trap handler if a
    later stage failed, which was a bit confusing and not really useful.
  MFC after:      2 weeks
2010-04-01 02:03:28 +00:00
Xin LI
92fc47574f MFC r205702:
Remove GNU cpio after fix of CVE-2010-0624.

Note that this is actually a no-op for most users, as this GNU
cpio was broken on -HEAD and 8-STABLE since last March until
the recent fix.

FreeBSD 8.0+ uses BSD cpio by default and the code is being
actively maintained.
2010-03-29 18:24:08 +00:00
Jilles Tjoelker
f76db14de9 MFC r196607,r198453,r204016,r204017,r204836,r204842,r205105,r205153
Various testcases that work correctly with stable/8 sh.

Note: this creates some gaps in the numbering due to lower-numbered tests
for new functionality which is not or not yet MFC'ed.
2010-03-28 19:34:57 +00:00
Konstantin Belousov
2219384ff7 MFC r205225:
Add missing headers. While there, arrange headers alphabetically.
2010-03-19 10:33:45 +00:00
Konstantin Belousov
b2eaa3b2c2 MFC r205224:
Add missing headers.
2010-03-19 10:28:49 +00:00
Konstantin Belousov
84d7d98fa1 MFC r205148:
Make it compile on LP64 arches.
2010-03-17 09:52:26 +00:00
Ruslan Ermilov
60d2ff2cd9 MFC: r202969: Actualize. 2010-02-15 11:29:27 +00:00
Gavin Atkinson
75cf52103d Merge r202161 from head:
Spell "Hz" correctly wherever it is user-visible.

PR:		bin/142566
Submitted by:	N.J. Mann   njm njm.me.uk
2010-02-05 08:52:51 +00:00
Edward Tomasz Napierala
ca9c0141f2 MFC r201048:
Make tests for ACL preservation by mv(1) and cp(1) more complete
and easier to follow.
2010-01-31 02:25:15 +00:00
Edward Tomasz Napierala
8dc3de711c MFC r197436:
Add cross-filesystem regression tests for ACLs.
2010-01-31 02:23:53 +00:00
Edward Tomasz Napierala
5f16df9407 MFC r197434:
Add ACL fuzzer.  It's not used by the regression tests right now,
but I'd prefert to have it here, so it won't get lost.
2010-01-31 02:22:31 +00:00
Edward Tomasz Napierala
d17e98a732 MFC r196938:
Add regression tests for NFSv4 ACLs and update POSIX.1e tests to the changed
error messages.
2010-01-31 02:20:01 +00:00
Edward Tomasz Napierala
83b5041c81 MFC r196736:
Adapt to the fact that ls(1) correctly prints '+' for symlinks with ACLs now.
2010-01-31 02:18:28 +00:00
Edward Tomasz Napierala
30718ea4eb MFC r196710:
Add regression test for ACLs on device files - mostly to make
sure we don't crash on attempt to set ACL on them.
2010-01-31 02:17:01 +00:00
Antoine Brodin
e2b36efde5 MFC r201145 to stable/8:
(S)LIST_HEAD_INITIALIZER takes a (S)LIST_HEAD as an argument.
  Fix some wrong usages.
  Note: this does not affect generated binaries as this argument is not used.

  PR:		137213
  Submitted by:	Eygene Ryabinkin (initial version)
2010-01-30 12:11:21 +00:00
Brooks Davis
52c240aaf4 MFC r201350:
The devices that supported EVFILT_NETDEV kqueue filters were removed in
  r195175.  Remove all definitions, documentation, and usage.

The change of function signature for vlan_link_state() was not merged to
maintain the ABI.
2010-01-22 19:51:34 +00:00
Jilles Tjoelker
86892d512c MFC r210428: sh: Add a regression test that tries out all arithmetic ops.
The gaps in the numbering sequence cannot really be avoided, as HEAD changes
are not necessarily merged in the same order as they are made (if they are
merged at all).
2010-01-10 16:58:12 +00:00
Jilles Tjoelker
2ffbb2cea1 MFC r198406: wordexp(3): fix some bugs with signals and long outputs
* retry various system calls on EINTR
* retry the rest after a short read (common if there is more than about 1K
  of output)
* block SIGCHLD like system(3) does (note that this does not and cannot
  work fully in threaded programs, they will need to be careful with wait
  functions)

PR:		90580
2009-12-06 22:14:58 +00:00
Alexander Leidinger
c199dd3eab MFC r196511:
- Update config to doxygen 1.5.2 (I use this with 1.5.9).
  - Add linprocfs and linsysfs to the linuxulator dox.
  - Take the generated includes from the .m files from a subdirectory
    instead of putting everything into $(.OBJDIR). This imporves the
    human readbility of the source directory contents a lot, if you do not
    create a separate OBJDIR.
  - Assume UTF-8 encoding for every input file.
  - Strip the source and dest path from the output, we are not interested
    in the absolute location on the machine where the docs are created,
    relative the the root of the FreeBSD source is what interests us.
  - Exclude .svn directories.
  - Switch to alphabetic index.
  - Use one line per INCLUDE_PATH member in the common dox-config.
  - Bump the __FreeBSD__ version to 9. [here in the MFC: to 8]
  - Switch from hardcoded .m files to an run-time generated one. Takes
    a little bit more time to get started with actual work, but at least
    is more future-proof. If you generate dox for all subsystems, the
    time to find all .m files in the source is magnitutes lower than
    producing the docs.
  - Make the *DEST_PATH overidable from the environment. This allows to
    produce the output directly in the docroot of a webserver.
  - Fix the path when telling the user where he can find the API docs.
2009-11-05 08:31:42 +00:00
Jilles Tjoelker
f6d21b6ed0 MFC r196483,r196634:
sh: Fix crash when undefining or redefining a currently executing function

Add a reference count to function definitions.
Memory may leak if a SIGINT arrives in interactive mode at exactly the wrong
time, this will be fixed later by changing SIGINT handling.

PR:		bin/137640
Approved by:	re (kib)
2009-10-11 16:35:12 +00:00
Jilles Tjoelker
33656b91cd MFC r196460
Fix the conformance of poll(2) for sockets after r195423 by
  returning POLLHUP instead of POLLIN for several cases. Now, the
  tools/regression/poll results for FreeBSD are closer to that of the
  Solaris and Linux.

  Also, improve the POSIX conformance by explicitely clearing POLLOUT
  when POLLHUP is reported in pollscan(), making the fix global.

  Submitted by:	bde
  Reviewed by:	rwatson

MFC r196556

  Fix poll() on half-closed sockets, while retaining POLLHUP for fifos.

  This reverts part of r196460, so that sockets only return POLLHUP if both
  directions are closed/error. Fifos get POLLHUP by closing the unused
  direction immediately after creating the sockets.

  The tools/regression/poll/*poll.c tests now pass except for two other
  things:
  - if POLLHUP is returned, POLLIN is always returned as well instead of
    only when there is data left in the buffer to be read
  - fifo old/new reader distinction does not work the way POSIX specs it

  Reviewed by:	kib, bde

MFC r196554

  Add some tests for poll(2)/shutdown(2) interaction.

Approved by:	re (kensmith)
2009-09-01 20:58:41 +00:00
Marko Zec
28444b1ffd MFC r196421:
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)

Approved by:	re (rwatson)
2009-08-21 11:17:25 +00:00
Marko Zec
c9482dbb72 MFC r196409:
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)

Approved by:	re (rwatson)
2009-08-20 22:56:29 +00:00
Bjoern A. Zeeb
9c4afd6dbc MFC r196172:
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:17:07 +00:00
Konstantin Belousov
5abb7fe2e9 Fix syntax error, makefile comments start with #.
Submitted by:	bde
Approved by:	re (kensmith)
2009-07-25 21:07:56 +00:00
Sam Leffler
2c4e7faeae 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 Leffler
05917235c0 update for recent mesh additions
Approved by:	re (kib)
2009-07-21 19:25:25 +00:00
Jamie Gritton
7afcbc18b3 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
Konstantin Belousov
5861f96654 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
Rui Paulo
59aa14a91d 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 Somers
58a654f664 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
Edward Tomasz Napierala
340263c992 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