Commit Graph

13466 Commits

Author SHA1 Message Date
asomers
901be27a51 at(1): annotate some intended switch-case fallthroughs
Reported by:	Coverity
CID:		1008191
MFC after:	3 weeks
Sponsored by:	Spectra Logic Corp
2017-12-08 17:15:20 +00:00
pfg
807d9a1070 SPDX: license IDs for some ISC-related files. 2017-12-08 15:57:29 +00:00
tuexen
dbe62654cb Retire SCTP_WITH_NO_CSUM option.
This option was used in the early days to allow performance measurements
extrapolating the use of SCTP checksum offloading. Since this feature
is now available, get rid of this option.
This also un-breaks the LINT kernel. Thanks to markj@ for making me
aware of the problem.
2017-12-07 22:19:08 +00:00
asomers
b86ceaa3ae dc(1): fix modulo operations with fractional inputs
Our dc(1) has never correctly calculated remainders with fractional inputs.
Both bmod and bdivmod seem to have copy/pasted code from bdiv, which results
in the remainder having the wrong output scale.

PR:		162495
Reported by:	anonymous
Reviewed by:	pfg
Differential Revision:	https://reviews.freebsd.org/D13390
2017-12-07 02:08:55 +00:00
bapt
6157c86fa3 sdiff(1) can now be built defaults warning level 2017-12-06 20:10:05 +00:00
bapt
c072ea5a28 Rename variables confusing gcc 4.2.1
While there is no reason it shadows div(3) gcc 4.2.1 complains about it

MFC after:	1 week
2017-12-06 20:09:30 +00:00
bapt
c40125ba8e Fix -Wincompatible-pointer-types-discards-qualifiers warnings
MFC after:	1 week
2017-12-06 20:05:36 +00:00
glebius
d03569547d Fix crash with a dotless hostname. 2017-12-06 17:50:10 +00:00
eadler
7955e11a5c sponge(1): revert
I did a complete buildworld and test... with the program disconnected
from the tree. Revert the change for now.

(this keeps the change to .arclint which is still correct)

Wearing:	my pointhat
2017-12-06 02:47:46 +00:00
cy
3dac61ee07 Fix build after r326554; reconnect sponge to build again. 2017-12-05 20:06:53 +00:00
glebius
cdf206486c Generate fully RFC3164 compliant messages, with timestamp and hostname.
Allow to set hostname to any string with -H.

MFC after:	2 months
2017-12-05 19:55:53 +00:00
dim
f19c635993 For now, disconnect usr.bin/sponge from the build, to unbreak world
after r326557.

Noticed by:	many
Pointy hat to:	eadler
2017-12-05 18:26:34 +00:00
delphij
805a2c95ad Use strlcpy().
MFC after:	2 weeks
2017-12-05 07:11:56 +00:00
delphij
320c81ddec Create links for xzdiff.
MFC after:	2 weeks
2017-12-05 07:01:10 +00:00
eadler
191779ba7f sponge(1): fix my tests
Reviewed by:	kevans
2017-12-05 04:43:39 +00:00
asomers
17e33d80f9 dc(1): fix input of non-decimal fractional numbers
Inputting fractional non-decimal numbers has never worked correctly in our
OpenBSD-derived dc(1). It truncates the input to a number of decimal places
equal to the number of hexadecimal (or whatever base) places given on the
input. That's unacceptable, because many numbers require more precision to
represent in base 10 than in their original bases.

Fix this bug by using as many decimal places as needed to represent the
input, up to the maximum of the global scale factor.

This has one mildly surprising side effect: the scale of a number entered in
non-decimal mode will no longer necessarily equal the number of hexadecimal
(or whatever base) places given on the input. I think that's an acceptable
behavior change, given that inputting fractional non-decimal numbers never
worked in the first place, and the man page doesn't specify whether trailing
zeros on the input should affect a number's scale.

PR:		206230
Reported by:	nibbana@gmx.us
Reviewed by:	pfg
Differential Revision:	https://reviews.freebsd.org/D13336
2017-12-05 04:22:35 +00:00
eadler
b749a8628a sponge(1) Minor commit for commit log
Differential Revision:	https://reviews.freebsd.org/D12900
RelNotes:		yes
2017-12-05 03:57:51 +00:00
eadler
fc237407c4 sponge(1): initial commit
sponge(1) is a utility that reads input until
complete, then opens the output file, then
writes to it. This makes it useful in pipelines
that read and write to the same file.

Reviewed by:	wblock, jilles, imp, cem, danfe (all: various iterations)
Inspired by:	https://joeyh.name/code/moreutils/
2017-12-05 03:55:10 +00:00
bapt
2e894b1411 Only skip looking for manpages if both man directory and cat directory
are not existing.

This allows man(1) to read catpages when no man directories are available at all

PR:		223559
Reported by:	wosch
MFC after:	3 days
2017-12-04 12:51:05 +00:00
bapt
a744e23cd7 In case man(1) found a catpage to display skip looking ".so" which is manpage
only.

In case we are trying to read a catpage, the manpage variable is not defined.
It results in the "cattool" having no arguments.

In case the catpage is compressed, the cattool used is "zcat" which dies if the
standard input is a terminal, meaning the function calling it is exiting as if
there were no ".so"
In case the catpage is uncompressed, the cattool used is "zcat -f" which waits
reading standard input, making the man(1) command hang.

PR:		223560
Reported by:	wosch
MFC after:	3 days
2017-12-04 12:33:46 +00:00
kevans
fcbcde8be0 grep test: Fix copyright notice
The copyright notice was erroneously introduced as one from the NetBSD
foundation due to it being copied from a file in the NetBSD test suite, but
this file itself is not derived from or supplied with the NetBSD test suite.

MFC after:	3 days
2017-12-03 02:23:29 +00:00
asomers
419f6beefb Reap dead code
usr.bin/dc/inout.c
	Reap some dead code that was killed back in 2003 in OpenBSD, in
	version 1.8 of this file.

MFC after:	3 weeks
2017-12-02 06:05:03 +00:00
kib
d8a8e6a48d vmstat: fix style(9) violations and bump WARNS.
Based on the patch by:	Pawel Biernacki <pawel.biernacki@gmail.com>
Sponsored by:	Mysterious Code Ltd. (Pawel),
	  The FreeBSD Foundation (me)
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D13228
2017-12-01 22:38:28 +00:00
eadler
c3a3fba179 fmt(1): Fix usage of Nm macro 2017-12-01 21:44:23 +00:00
eadler
e724f51f81 Revert license change.
This isn't identical to the one permitted by UCB since
it is copyright multiple people.
2017-12-01 03:22:40 +00:00
pfg
b0f7aa75d4 SPDX: use the Beerware identifier. 2017-11-30 20:33:45 +00:00
pfg
f1206865bb SPDX: Fix some cases wrongly attributed to MIT.
In the cases of BSD-style license variants without clauses, use 0BSD for
the time being in lack of a better description.
2017-11-30 15:10:11 +00:00
eadler
873b8cdb15 Finish cleaning up license :\ 2017-11-30 08:23:40 +00:00
eadler
241ac6f200 Remove advertising clause from pr(1)
Permitted by https://www.freebsd.org/copyright/license.html
Renumber 4->3 to be consistent with other files
2017-11-30 07:08:45 +00:00
delphij
97f0932623 Remove unused include.
MFC after:	2 weeks
2017-11-29 09:18:24 +00:00
jhb
5567bb0dd7 Replace a reference to a license in another file with the license text.
The relevant file was recently renamed, so the reference was stale.
In addition, explicit licenses are more typical in our sources.
2017-11-29 05:07:54 +00:00
asomers
f9dc375e9d Add basic tests for ctfconvert(1), fold(1) and rs(1)
Add basic command line parsing test coverage for these utilities.  The tests
were automatically generated based on their man pages.  These tests can be
expanded by hand for more thorough coverage.  The aim is to generate very
basic amount of test coverage for all the utilities in the base system.

Tests generated via: https://github.com/shivansh/smoketestsuite/

Submitted by:	shivansh
Reviewed by:	asomers
MFC after:	3 weeks
Differential Revision:	https://reviews.freebsd.org/D12424
2017-11-27 20:01:58 +00:00
pfg
7551d83c35 various: general adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 2-Clause license, however the tool I
was using misidentified many licenses so this was mostly a manual - error
prone - task.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.

No functional change intended.
2017-11-27 15:37:16 +00:00
mav
b13b9617d2 Make ctlstat -n option work reasonably for sparse LUN list.
MFC after:	2 weeks
Sponsored by:	iXsystems, Inc.
2017-11-27 15:24:13 +00:00
dch
3f84880588 add myself as ports committer, mentor jrm + swills
Approved by:	jrm
Differential Revision:	https://reviews.freebsd.org/D13268
2017-11-27 14:13:30 +00:00
trasz
9c3c197102 .Xr pmcstat(8) from kgmon(8) and gprof(1).
MFC after:	2 weeks
Sponsored by:	DARPA, AFRL
2017-11-27 12:37:14 +00:00
delphij
7ef84b00ca Set errno to EFTYPE instead of EINVAL to be more consistent with the
rest of code.

MFC after:	1 month
2017-11-25 09:03:38 +00:00
jhb
bac78aa2a4 Decode kevent structures logged via ktrace(2) in kdump.
- Add a new KTR_STRUCT_ARRAY ktrace record type which dumps an array of
  structures.

  The structure name in the record payload is preceded by a size_t
  containing the size of the individual structures.  Use this to
  replace the previous code that dumped the kevent arrays dumped for
  kevent().  kdump is now able to decode the kevent structures rather
  than dumping their contents via a hexdump.

  One change from before is that the 'changes' and 'events' arrays are
  not marked with separate 'read' and 'write' annotations in kdump
  output.  Instead, the first array is the 'changes' array, and the
  second array (only present if kevent doesn't fail with an error) is
  the 'events' array.  For kevent(), empty arrays are denoted by an
  entry with an array containing zero entries rather than no record.

- Move kevent decoding tables from truss to libsysdecode.

  This adds three new functions to decode members of struct kevent:
  sysdecode_kevent_filter, sysdecode_kevent_flags, and
  sysdecode_kevent_fflags.

  kdump uses these helper functions to pretty-print kevent fields.

- Move structure definitions for freebsd11 and freebsd32 kevent
  structures to <sys/event.h> so that they can be shared with userland.
  The 32-bit structures are only exposed if _WANT_KEVENT32 is defined.
  The freebsd11 structures are only exposed if _WANT_FREEBSD11_KEVENT is
  defined.  The 32-bit freebsd11 structure requires both.

- Decode freebsd11 kevent structures in truss for the compat11.kevent()
  system call.

- Log 32-bit kevent structures via ktrace for 32-bit compat kevent()
  system calls.

- While here, constify the 'void *data' argument to ktrstruct().

Reviewed by:	kib (earlier version)
MFC after:	1 month
Differential Revision:	https://reviews.freebsd.org/D12470
2017-11-25 04:49:12 +00:00
kib
ab5db15173 vmstat: use 64-bit counters from struct vmtotal.
Consistently print counters using unsigned intmax type.

Submitted by:	Pawel Biernacki <pawel.biernacki@gmail.com>
Sponsored by:	Mysterious Code Ltd.
Differential revision:	https://reviews.freebsd.org/D13199
2017-11-23 19:10:09 +00:00
kib
de8d38b500 Use C standard spelling uint64_t for u_int64_t.
Submitted by:	Pawel Biernacki <pawel.biernacki@gmail.com>
Sponsored by:	Mysterious Code Ltd.
X-Differential revision:	https://reviews.freebsd.org/D13199
2017-11-23 19:06:44 +00:00
kib
8f1b2d0245 Order declarations alphabetically.
Match signess of the format and the value.

Noted by:	bde
Sponsored by:	The FreeBSD Foundation
2017-11-22 22:04:27 +00:00
zeising
fa96d63a8f Fix language in a bunch of error messages.
Reviewed by:		emaste
Approved by:		emaste
MFC after:		1 month
Differential Revision:	D13193
2017-11-22 18:06:41 +00:00
kevans
9703191fca patch(1): don't assume a match if we run out of context to check
Patches with very little context (-U0 and -U1) could get misapplied if
the file to be patched changes and a hunk is no longer applicable. Matching
with fuzz would be attempted and default to a match when we unexpectedly ran
out of context.

This also affected patches with higher levels of context but had limited
actual context due to the hunk being located near the beginning/end of file.

PR:		74127, 223545 (exp-run)
Reviewed by:	emaste, pfg
Approved by:	emaste (mentor)
Differential Revision:	https://reviews.freebsd.org/D12631
2017-11-22 03:44:19 +00:00
kib
93d4742b7e systat: use and correctly display 64bit counters.
Following struct vmtotal changes, make systat use and correctly
display 64-bit counters.  Switch to humanize_number(3) to overcome
homegrown arithmetics limits in pretty printing large numbers.  Use
1024 as a divisor for memory fields to make it consistent with other
tools and users expectations.

Submitted by:	Pawel Biernacki <pawel.biernacki@gmail.com>
Sponsored by:	Mysterious Code Ltd.
PR:	2137
Differential revision:	https://reviews.freebsd.org/D13105
2017-11-21 19:55:32 +00:00
delphij
0718a8f257 Support SIGINFO.
Obtained from:	NetBSD
MFC after:	2 weeks
2017-11-21 08:14:30 +00:00
asomers
80a3883a2d Add ATF tests for head(1)
Submitted by:	Fred Schlecter <https://github.com/fjs-github>
Reviewed by:	asomers, jilles
MFC after:	3 weeks
Differential Revision:	https://github.com/freebsd/freebsd/pull/127
2017-11-20 22:55:02 +00:00
emaste
9e27f9710d Install strings unconditionally
Previously it was enabled by WITH_/WITHOUT_TOOLCHAIN, but it is commonly
expected to be available and may have non-toolchain consumers.  As it
is now taken from the BSD-licensed ELF Tool Chain project, just install
it unconditionally.

PR:		213665, 223725
Reviewed by:	bdrewery
MFC after:	1 month
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D8398
2017-11-20 20:55:41 +00:00
pfg
872b698bd4 General further adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 3-Clause license.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.

Special thanks to Wind River for providing access to "The Duke of
Highlander" tool: an older (2014) run over FreeBSD tree was useful as a
starting point.
2017-11-20 19:49:47 +00:00
delphij
e348ba93e7 MFV r326007: less v529.
MFC after:	2 weeks
2017-11-20 08:52:33 +00:00
pfg
9da7bdde06 spdx: initial adoption of licensing ID tags.
The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.

Special thanks to Wind River for providing access to "The Duke of
Highlander" tool: an older (2014) run over FreeBSD tree was useful as a
starting point.

Initially, only tag files that use BSD 4-Clause "Original" license.

RelNotes:	yes
Differential Revision:	https://reviews.freebsd.org/D13133
2017-11-18 14:26:50 +00:00