Commit graph

7091 commits

Author SHA1 Message Date
Dimitry Andric 2acd158d4b mtree: stop creating old mixer(8) test directories
The tests themselves were added to ObsoleteFiles.inc in commit
f7c4f49649, but not yet removed from BSD.tests.dist.

PR:		274602
Fixes:		f7c4f49649
2024-01-23 19:40:12 +01:00
Mark Johnston 2524b7dfb0 crashinfo: Print stack traces for all on-CPU threads
Add a python script which implements the bulk of this functionality.
Over time, this would ideally evolve into a library of python routines
which can be used to inspect kernel data structures and automate some
debugging tasks, similar to jhb's out-of-tree scripts, but written in a
somewhat nicer language and with better integration into the kgdb
command prompt.

Note that kgdb currently won't auto-load scripts in this directory.
This should perhaps change in the future.  It probably also makes more
sense to have a crashinfo.py which provides all the kgdb output that we
want to include in core.txt, rather than having crashinfo.sh pipe in
several commands.

Reviewed by:	avg, imp
Discussed with:	jhb
MFC after:	3 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D33817
2024-01-15 16:36:40 -05:00
Domagoj Stolfa 93f27766a7 dtrace: Add the 'oformat' libdtrace option
This option can be used to specify a format to use in DTrace output.
The following formats are supported:
 - json
 - xml
 - html
 - none (default DTrace output)

This is implemented using libxo and integrated into libdtrace. Client
code only works with the following API:

 - dtrace_oformat_setup(dtrace_hdl_t *) -- to be called when output is starting.
 - dtrace_oformat_teardown(dtrace_hdl_t *) -- to be called when output is finished
 - dtrace_oformat(dtrace_hdl_t *) -- check if oformat is enabled.
 - dtrace_set_outfp(FILE *) -- sets the output file for oformat.
 - Ensure that oformat is correctly checked in the drop handler and record
   processing callbacks.

This commit also adds tests which check if the generated output is
valid (JSON, XML) and extends the dtrace(1) describing the structured output.

Reviewed by:	markj
Discussed with:	phil
MFC after:	2 months
Sponsored by:	Innovate UK
Differential Revision:	https://reviews.freebsd.org/D41745
2024-01-10 18:14:26 -05:00
Jose Luis Duran b8856bd2d6 mtree: Add missing directories to BSD.tests.dist
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/912
2023-12-27 22:26:31 -07:00
Jose Luis Duran b8e385d35c mtree: Sort BSD.tests.dist
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/912
2023-12-27 22:26:30 -07:00
Jose Luis Duran 1ed17d86bb mtree: Add missing directories to BSD.root.dist
While here, align to the output produced by mtree.

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/912
2023-12-27 22:26:29 -07:00
Jose Luis Duran 5b7f73ce16 mtree: Add missing directories generated by certctl
PR: 255639
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/912
2023-12-27 22:26:28 -07:00
Jose Luis Duran 20d685623f mtree: Properly sort entries
Reduce the diff with the output generated by mtree.

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/912
2023-12-27 22:26:27 -07:00
Jose Luis Duran 0888bac4f6 mtree: Use spaces not tabs
The indentation generated by mtree -j uses spaces, not tabs.

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/912
2023-12-27 22:26:27 -07:00
Jose Luis Duran 0a41a6681d mtree: Update mtree flags in README file
- Add -b (suppress blank lines before directories).
- The equivalent of `-i` in fmtree is `-j` in mtree (nmtree) (indent the
  output 4 spaces).
- Add `-F freebsd9` compatibility flavor (print the closing `..` at the
  end).

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/912
2023-12-27 22:26:26 -07:00
Dimitry Andric ca217224f1 Proactively remove libc++ __tuple header file that became a directory
This was already handled in ObsoleteFiles.inc (see the 20230622 entry),
but some people never run "make delete-old", or want to upgrade directly
from a revision that still had libc++ 15 to the most recent revision.

They would then encounter a failure during installworld, similar to:

  install: target directory `/usr/include/c++/v1/__tuple/' does not exist

Therefore, clean it up in the distrib-cleanup phase, similar to the
earlier instance of the libc++ __string header file that became a
directory.

PR:		273753
MFC after:	1 month
2023-12-13 19:53:17 +01:00
Dimitry Andric 06c3fb2749 Merge llvm-project main llvmorg-17-init-19304-gd0b54bb50e51
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvm-project main llvmorg-17-init-19304-gd0b54bb50e51, the
last commit before the upstream release/17.x branch was created.

PR:		273753
MFC after:	1 month
2023-12-08 18:34:50 +01:00
Ka Ho Ng 1da7f3f6f7 termcap.small: Include xterm-256color
MFC after:	7 days
Reviewed by:	imp, jhb
Differential Revision:	https://reviews.freebsd.org/D42784
2023-12-02 00:55:56 -05:00
Kyle Evans d9c543b6b0 rtld: add a test for RTLD_DEEPBIND
This tests that with RTLD_DEEPBIND, symbols are looked up in all of the
object's needed objects before the global object.

PR:		275393
Reviewed by:	kib
Sponsored by:	NetApp, Inc.
Sponsored by:	Klara, Inc.
Differential Revision:	https://reviews.freebsd.org/D42843
2023-11-30 19:26:09 -06:00
Warner Losh e717cb04be misc: Remove ancient SCCS tags.
Remove ancient SCCS tags from the tree, automated scripting, with two
minor fixup to keep things compiling. All the common forms in the tree
were removed with a perl script.

This is for the misfits that have only a few: COPYRIGHT, gnu, tools,
rescue, and etc.

Sponsored by:		Netflix
2023-11-26 22:23:27 -07:00
Kyle Evans 296a5a4db1 lockf: add some tests
Provide basic coverage for the existing options, nothing deeper (e.g.,
pipe closing behavior) is tested in this set.

Reviewed by:	allanjude
Feedback from:	des
Sponsored by:	Klara, Inc.
Differential Revision:	https://reviews.freebsd.org/D42714
2023-11-25 22:09:58 -06:00
John Baldwin 7aa3bf6952 etc/mtree: Remove entry for /usr/tests/usr.sbin/mixer
These were removed when the new mixer(3) library was imported, and I
missed updating the mtree file when I added the entries to
ObsoleteFiles.inc.

Fixes:		903873ce15 Implement and use new mixer(3) library for FreeBSD.
2023-11-23 12:17:41 -08:00
Yan-Hao Wang 55141f2c89
Add tests for gunion(8)
Reviewed by:	mckusick (earlier version)
MFC after:	3 days
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D41645
2023-11-16 16:15:33 +08:00
Emmanuel Vadot fee14577d5 mtree: Fix entry
Fixes:	af5e348c61 ("mtree: Add missing sound entry for /usr/examples")
2023-10-09 12:56:19 +02:00
Emmanuel Vadot af5e348c61 mtree: Add missing sound entry for /usr/examples
Sponsored by:	Beckhoff Automation GmbH & Co. KG
2023-10-09 11:22:27 +02:00
Wang-Yan-Hao c989957f28 printenv: Add test for printenv.
Reviewed by:	asomers
Differential Revision: https://reviews.freebsd.org/D41468
2023-09-25 10:10:20 -06:00
John Baldwin 3aaa7724d6 sendmail: Drop $FreeBSD$ from .mc files
Reviewed by:	imp, emaste
Differential Revision:	https://reviews.freebsd.org/D41960
2023-09-25 07:56:02 -07:00
Dag-Erling Smørgrav 4fbb9c43aa include: Add tests for N2867.
Reviewed by:	imp
Differential Revision:	https://reviews.freebsd.org/D41735
2023-09-07 06:40:14 +00:00
Simon J. Gerraty 1554ba03b6 Add mac_grantbylabel
This module allows controlled privilege escallation via mac labels
securely associated with a process via mac_veriexec.

There are over 700 PRIV_* but we can compress many of them into
a single GBL_* thus constraining the size of gbl labels.

The goal is to allow a daemon to run as an unprivileged process while
still being able a set of privileged operations needed.

We add APIs to libveriexec so that userland processes can check labels
and an exec_script API that allows a suitably labeled process to run
something like a python interpreter directly if necessary;
overcomming the 'indirect' flag applied to the interpreter.

Add -l option to sbin/veriexec to report labels.

Reviewed by:	stevek
Sponsored by:	Juniper Networks, Inc.
Differential Revision:	https://reviews.freebsd.org/D41431
2023-08-24 17:42:11 -07:00
Jake Freeland fcace2906d syslogd: Add some basic regression tests
Reviewed by:	markj
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D41403
2023-08-23 12:17:40 -04:00
Mike Karels 9d6049d5da etc: remove leftover leading empty comments, blank lines
Remove leftover empty leading comments/blank lines that had been
spacers between $FreeBSD$ and the following content in config files
in src/etc.

Reviewed by:	imp
Differential Revision:	https://reviews.freebsd.org/D41548
2023-08-22 13:03:28 -05:00
Gregory Neil Shapiro 98fd1add67 Remove confDH_PARAMETERS settings in favor of using sendmail's built-in
default which was added in sendmail 8.15.2 (the config line predates
that 8.15.2 feature).  This also alleviates the need for admins
to create the DH parameters file if they opt to use Diffie-Hellman.

PR:		248387
MFC after:	2 weeks
2023-08-18 00:32:56 +00:00
Warner Losh 05248206f7 Remove $FreeBSD$: one-line bare tag
Remove /^\s*\$FreeBSD\$$\n/
2023-08-16 11:55:20 -06:00
Warner Losh d0b2dbfa0e Remove $FreeBSD$: one-line sh pattern
Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
2023-08-16 11:55:03 -06:00
Dmitry Chagin 8920c5f2a1 tests: Add stack grows tests
Reviewed by:		kib
Differential Revision:	https://reviews.freebsd.org/D41320
MFC after:		2 weeks
2023-08-08 18:12:09 +03:00
Martin Matuska b5a3a89c50 unzip: swtich to bsdunzip from libarchive
Unzip from FreeBSD has been ported to libarchive.
Change usr.bin/unzip to use bsdunzip from libarchive.

Differential Revision:	https://reviews.freebsd.org/D41239
PR:			272845 (exp-run)
MFC after:		1 month
2023-08-04 12:45:41 +02:00
Jessica Clarke 949199a212 etc: Automatically generate BSD.lib${libcompat}.dist lists
Note that each libcompat still has its own file that must exist.

Reviewed by:	brooks, jhb
Differential Revision:	https://reviews.freebsd.org/D41182
2023-07-27 05:10:44 +01:00
Shivank Garg 215bab7924 mac_ipacl: new MAC policy module to limit jail/vnet IP configuration
The mac_ipacl policy module enables fine-grained control over IP address
configuration within VNET jails from the base system.
It allows the root user to define rules governing IP addresses for
jails and their interfaces using the sysctl interface.

Requested by:	multiple
Sponsored by:	Google, Inc. (GSoC 2019)
MFC after:	2 months
Reviewed by:	bz, dch (both earlier versions)
Differential Revision: https://reviews.freebsd.org/D20967
2023-07-26 00:07:57 +00:00
Doug Rabson 5ac2a874d0 /etc/rc.subr: rename sysctl.conf.d to sysctl.kld.d
This better reflects the intent that this directory is indexed by kld
name and removes a conflict with D32128 which aims to split sysctl.conf.

Reviewed by:	kevans imp
MFC after:	2 weeks
Differential Revision: https://reviews.freebsd.org/D41043
2023-07-15 14:16:08 +01:00
Doug Rabson 09267cc152 /etc/rc.subr: add support for kld sysctl variables
For kernel modules loaded by scripts in /etc/rc.d and
/usr/local/etc/rc.d, if there is a file in /etc/sysctl.conf.d named <kld
name>.conf, then this will be loaded using the sysctl(8) utility. For
instance, sysctl variable changes for the pf kernel module would be
placed in the file /etc/sysctl.conf.d/pf.conf.

PR:		272129
Reviewed by:	imp freebsd_igalic.co
MFC after:	2 weeks
Differential Revision: https://reviews.freebsd.org/D40886
2023-07-14 10:49:47 +01:00
Mitchell Horne 8ab2da6828 Remove GCC 4.2 include dirs
These are present (and empty) on a system installed post-GCC removal.

Reviewed by:	imp
MFC after:	3 days
Differential Revision:	https://reviews.freebsd.org/D40878
2023-07-10 10:16:13 -03:00
Li-Wen Hsu 2597c45a4f
Complete moving kinst of dtrace tests to common
Update its mtree entry.

Reviewed by:	christos, markj
Fixes:	911f026039 dtrace: move kinst tests to common
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D40901
2023-07-08 04:05:30 +08:00
Dimitry Andric 5de9420ad5 Create correct engines debug directory after OpenSSL 3.0.9 merge
PR:		271656
Fixes:		b077aed33b ("Merge OpenSSL 3.0.9")
2023-07-01 22:59:23 +02:00
Pierre Pronchery b077aed33b Merge OpenSSL 3.0.9
Migrate to OpenSSL 3.0 in advance of FreeBSD 14.0.  OpenSSL 1.1.1 (the
version we were previously using) will be EOL as of 2023-09-11.

Most of the base system has already been updated for a seamless switch
to OpenSSL 3.0.  For many components we've added
`-DOPENSSL_API_COMPAT=0x10100000L` to CFLAGS to specify the API version,
which avoids deprecation warnings from OpenSSL 3.0.  Changes have also
been made to avoid OpenSSL APIs that were already deprecated in OpenSSL
1.1.1.  The process of updating to contemporary APIs can continue after
this merge.

Additional changes are still required for libarchive and Kerberos-
related libraries or tools; workarounds will immediately follow this
commit.  Fixes are in progress in the upstream projects and will be
incorporated when those are next updated.

There are some performance regressions in benchmarks (certain tests in
`openssl speed`) and in some OpenSSL consumers in ports (e.g.  haproxy).
Investigation will continue for these.

Netflix's testing showed no functional regression and a rather small,
albeit statistically significant, increase in CPU consumption with
OpenSSL 3.0.

Thanks to ngie@ and des@ for updating base system components, to
antoine@ and bofh@ for ports exp-runs and port fixes/workarounds, and to
Netflix and everyone who tested prior to commit or contributed to this
update in other ways.

PR:		271615
PR:		271656 [exp-run]
Relnotes:	Yes
Sponsored by:	The FreeBSD Foundation
2023-06-23 18:53:36 -04:00
Dimitry Andric bdd1243df5 Merge llvm-project main llvmorg-16-init-18548-gb0daacf58f41
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-16-init-18548-gb0daacf58f41.

PR:		271047
MFC after:	1 month
2023-06-22 20:20:56 +02:00
Dag-Erling Smørgrav b7412da2e1 asa: Add some unit tests.
MFC after:	1 week
Sponsored by:	Klara, Inc.
Reviewed by:	markj
Differential Revision:	https://reviews.freebsd.org/D40564
2023-06-15 19:24:59 +00:00
Alexander V. Chernikov 9f44a47fd0 ipfw(8): add ioctl/instruction generation tests
Differential Revision: https://reviews.freebsd.org/D40488
MFC after:	2 weeks
2023-06-13 11:55:37 +00:00
Jessica Clarke dfa1982352 etc: Don't create stray directories in NO_ROOT distrib-dirs
The loop above is responsible for creating the actual directories,
whilst this one is just responsible for creating the corresponding
METALOG. Since DESTDIR already includes DISTBASE, this results in
creating a second set of roots (one per MTREES entry) within DISTBASE
whenever DISTBASE is non-empty, such as base/base, base/base/var,
base/base/usr, etc. in the distributeworld case. This is purely cosmetic
though as they won't appear in the METALOG.
2023-06-08 19:14:12 +01:00
Enji Cooper c60be9ea6b Add simple factor/primes regression tests
This will help ensure that the change following this
one to support OpenSSL 3 is sane.

MFC after:	1 week
Reviewed by:	emaste
Differential Revision:	https://reviews.freebsd.org/D40297
2023-05-27 11:11:44 -07:00
Kyle Evans ccb59683b9 arm64: add tests for swp/swpb emulation
One test is suitable to be hooked up to the build, so I've done this
here.  The other test lives in tools/regression because failure is a
bit more subjective -- generally, one runs it for some unbounded amount
of time and observe if it eventually exits because two threads acquired
the same mutex.

Reviewed by:	imp, mmel
Sponsored by:   Stormshield
Sponsored by:   Klara, Inc.
Differential Revision:	https://reviews.freebsd.org/D39668
2023-05-15 10:42:16 -05:00
Dag-Erling Smørgrav 09aee57098 tsort: Add unit tests.
MFC after:	1 week
Sponsored by:	Klara, Inc.
Reviewed by:	markj
Differential Revision:	https://reviews.freebsd.org/D40043
2023-05-10 15:45:44 +02:00
Yuri Pankov 7adea6dbed calendar: cleanup obsolete directories
Follow 5282ada06b and don't reinstall obsolete directories.
2023-05-09 00:43:12 +02:00
Emmanuel Vadot d198b8774d fwget: Introduce new utility
This script's goal is to check the system for peripherals that needs
firmware and install the needed packages for them.
For now it only support pci subsystem and only video classes for AMD
and Intel GPUs.

Reviewed by:	bapt
Sponsored by:	Beckhoff Automation GmbH & Co. KG
Differential Revision:	https://reviews.freebsd.org/D39825
2023-05-01 08:32:59 +02:00
Yuri Pankov f70719fcbd libcasper: remove leftover debug directory
Reviewed by:	mjg
Differential Revision:	https://reviews.freebsd.org/D39756
2023-04-23 09:50:50 +02:00
John Baldwin 7d8e1e8dd9 libcasper: Move helper libraries from /lib/casper to /lib.
These libraries are linked to directly by applications rather than
opened at runtime via dlopen().

Discussed with:	oshogbo
Reviewed by:	markj, emaste
Differential Revision:	https://reviews.freebsd.org/D39245
2023-03-29 15:04:28 -07:00