Commit Graph

17272 Commits

Author SHA1 Message Date
markj
c9ed82aeec Fix a logic bug in makefs lazy inode initialization.
We may need to initialize multiple inode blocks before writing a given
inode. makefs(8) was only initializing a single block at a time, so
certain inode allocation patterns could lead to a situation where it
wrote an inode to an uninitialized block. That inode might be clobbered
by a later initialization, resulting in a filesystem image containing
directory entries that point to a seemingly unused inode.

Reviewed by:	imp
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D13505
2017-12-16 20:19:00 +00:00
eugen
8306e41a53 pw(8): r326738 broke expiration arithmetic in case of `-D' flag not supplied.
Fix it and rename misnamed time_t variables `expire_days, password_days'
(always holding absolute time) to `expire_time, password_time'.

Add a comment for a case of overloading `cmdcnf->password_days'
and `cmdcnf->expire_days' with absolute time.

Reported by:	markj
Approved by:	mav (mentor)
MFC after:	1 week
2017-12-15 06:05:16 +00:00
bapt
8c5f3e9303 Replace usage of fparselen(3) by a getline(3)
This allow to remove the dependency on libutil
2017-12-14 08:57:37 +00:00
pfg
b036d1b0cd SPDX: mostly fixes to previous changes.
Introduce the recently approved BSD-1-Clause and replace 0BSD which
never did fit well our use cases.
2017-12-13 16:13:17 +00:00
imp
8aa8d9dea8 Actually insert the free(d) call missed in r326802.
Noticed by: rpokala@
2017-12-12 19:45:24 +00:00
imp
9e6a33ea0a Iniailize str so ucs2_to_utf8 won't free stack garbage.
CID: 1381037
Sponsored by: Netflix
2017-12-12 19:26:28 +00:00
imp
8749eeff28 Add sanity testing against maximum sane lengths for device paths for
loader and kernel.

CID: 1383608
Sponsored by: Netflix
2017-12-12 19:26:24 +00:00
imp
45bef17ee1 Free load_opt_buf after we're done with it.
CID: 1383607
Sponsored by: Netflix
2017-12-12 19:26:19 +00:00
imp
3734655b60 Fix resource leak. Free converted description after printing it.
Also minor style sort of local vars.

CID: 1383606
Sponsored by: Netflix
2017-12-12 19:26:15 +00:00
imp
22bccd4c7f Don't leak new_data.
CID: 1383605
Sponsored by: Netflix
2017-12-12 19:26:10 +00:00
imp
6ebf216419 Check return value for set_bootvar and give a good error message.
CID: 1383601
Sponsored by: Netflix
2017-12-12 19:25:54 +00:00
imp
ce0c071810 Unbreak gcc build by using (void) for functions that take no args.
Sponsored by: Netflix
2017-12-11 16:17:53 +00:00
eugen
3cfe33fd3b pw(8): correct expiration period handling and command line overrides
to preconfigured values for -e, -p and -w flags.

Use non-negative symbols instead of magic values
in passwd_val/pw_password functions.

PR:		223431
Submitted by:	Yuri Pankov (in part, patch for the manual)
Reported by:	mav (mentor)
MFC after:	3 days
Relnotes:	yes
2017-12-09 23:34:00 +00:00
zeising
f59eb17412 Improve options and error handling.
Improve options handling and error out if multiple mutually exclusive
options are passed to acpiconf.  Switch from using atoi() to strtol() for
argument parsing, and add error checking and handling, instead of blindly
trusting that the integer conversion is OK.
Cange err() to errx() in once case, the errno value was garbage there.

Reviewed by:	emaste
Approved by:	emaste
Differential Revision:	D13430
2017-12-09 15:59:10 +00:00
imp
78d7c7bcc2 Indent multiple device path entries correctly.
Sponsored by: Netflix
2017-12-09 07:44:00 +00:00
imp
de17a8a35f Remove vestiges of -d and -p commands.
Fix two core dumps when optional data isn't specified.

Sponsored by: Netflix
2017-12-09 07:43:55 +00:00
imp
b537088658 Forgotten in 326725
Release Notes: Yes
2017-12-09 06:57:19 +00:00
imp
e5d45b774d Import Netflix's efibootmgr to help manage UEFI boot variables
efibootmgr manages the UEFI BootXXXX variables that implement the UEFI
Boot Manager protocol defined in the UEFI standards. It is modeled
after the Linux program of the same name with a mostly compatible set
of command line options. Since there's a fair amount of OS specifioc
code due to differeing names and methods of doing things, the
compatibility isn't 100%.

Basic functionality is implemented, though the more advanced next boot
functionality that's been defined elsewhere is unimplemented.

Submitted by: Matt Williams (with unix / efi path xlate by me)
Sponsored by: Netflix
2017-12-09 06:52:20 +00:00
nwhitehorn
409ac0186b Support mounted boot partitions in the installer. This allows the platform
layer, for example, to specify that the EFI boot partition should be
mounted at /efi and formatted normally with newfs_msdos rather than
splatted to from /boot/boot1.efifat.

This commit adds only the API for this; actual platform use will come later.
2017-12-08 00:57:13 +00:00
bapt
b9ad623604 Really fix typo and improve wording of the comment 2017-12-06 10:47:50 +00:00
bapt
eb7252a3e9 Fix typo
Reported by:	danfe
2017-12-06 10:20:01 +00:00
bapt
19f5c9ddd5 Allow newsyslog to execute compression commands which
have a semantic different than the traditional gzip(1)

This is done to allow to use zstd(1) as a compression tool without
having to patch it to change its default behavior.
2017-12-06 09:44:35 +00:00
imp
197331155d De-const to match changes in userboot.h
Sponsored by: Netflix
2017-12-06 05:18:52 +00:00
imp
1f7bf6a7f6 Make putenv and getenv match the userland definition of these
functions, tweak man page and one variable that shouldn't be const
anymore.

Sponsored by: Netflix
2017-12-06 02:00:00 +00:00
glebius
c20cb7094a When parsing remote messages, require them to have standard timestamp
field, and support properly parse out the hostname as described by RFC3164,
which wasn't done before.  However, don't discard message if it doesn't
have hostname, for compatibility.

Enable logging of the message supplied hostname instead of real hostname
with -H switch.

PR:		200933
Reported by:	Konstantin Pavlov <thresh nginx.com>
MFC after:	2 months
2017-12-05 19:54:55 +00:00
cy
49f8c6a916 fdformat is a sysadmin command and thus its man page should be in
volume 8 instead of volume 1.

Reviewed by:	imp
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D13370
2017-12-05 05:02:46 +00:00
imp
eb6f5408ec Add forgotten libgeom.
Sponsored by: Netflix
2017-12-02 15:25:45 +00:00
imp
b105c4e459 Add -u (--to-unix) and -e (--to-efi) to convert unix or efi paths to
the other.

Sponsored by: Netflix
2017-12-02 07:29:24 +00:00
imp
ddac512ca3 Read multiple lines when parsing the data. Allow multiple device paths
to be read when formatting device paths. Set the upper limit to 64k
(most of these paths are < 64 bytes).

Sponsored by: Netflix
2017-12-02 07:29:07 +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
glebius
7d6335dc2e Revert r325558 as it is incorrect. 2017-11-28 19:25:01 +00:00
glebius
a271a57a8d Fix obvious NULL pointer dereference from r310350. 2017-11-28 19:18:00 +00:00
asomers
d16ab6d1ca diskinfo(8): Delete dead code in slog test
Reported by:	Coverity
CID:		1377556
Reviewed by:	mav
MFC after:	3 weeks
Sponsored by:	Spectra Logic Corp
Differential Revision:	https://reviews.freebsd.org/D13275
2017-11-27 21:10:50 +00:00
mav
b830be5bc2 Fix integer overflow in SLOG test.
MFC after:	1 week
2017-11-27 20:01:43 +00:00
emaste
7324847592 efivar: add missing getopt 'u' option 2017-11-27 19:35:21 +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
pfg
fe02230059 share and pc-sysinstall: 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.

Commit these apart because compile testing doesn't guarantee I didn't made
some nasty mistake. No functional change intended.
2017-11-27 15:28:26 +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
trasz
bfa9972795 Revert r326125.
It turns out kgmon(8) still works, and provides some functionality that's
not provided by pmcstat(8).

Reported by:	bde@
MFC after:	2 weeks
Sponsored by:	DARPA, AFRL
2017-11-27 12:34:23 +00:00
delphij
81df8f514c Don't assign rs as we will assign it later.
MFC after:	2 weeks
2017-11-27 04:15:03 +00:00
trasz
2a9baf2972 Mark kgmon(8) obsolete, redirecting users to pmcstat(8).
MFC after:	2 weeks
Sponsored by:	DARPA, AFRL
Differential Revision:	https://reviews.freebsd.org/D12574
2017-11-23 12:41:05 +00:00
manu
b92d733883 bsdinstall: Add ntpdate option
When you install a computer for the first time, the date in the CMOS sometimes
not accurate and you need to ntpdate as ntpd will fail a the time difference
is too big.
Add an option in bsdinstall to enable ntpdate that will do that for us.

Reviewed by:	allanjude
Differential Revision:	https://reviews.freebsd.org/D13149
2017-11-22 15:27:47 +00:00
emaste
24971a02a8 Fix indentation in bsdinstall-created wpa_supplicant.conf
r309934 cleaned up some cases in bsdinstall to use heredocs but broke
the indentation of the generated output, because <<- heredocs strip
leading tabs.

PR:		221982
Reviewed by:	allanjude, dteske
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D13190
2017-11-22 15:18:11 +00:00
emaste
b3f5f97300 freebsd-update: do not duplicate patchlist entries
PR:		221079
Submitted by:	Masachika ISHIZUKA
Submitted by:	ota@j.email.ne.jp
Reviewed by:	cperciva
MFC after:	1 week
2017-11-22 01:50:23 +00:00
emaste
1bf0327c0b vidcontrol: correct history size error message
`vidcontrol -h 0` is acceptable, so be explicit that it's less than zero
that is not allowed.

Reported by:	Siva Mahadevan
Sponsored by:	The FreeBSD Foundation
2017-11-21 13:55:10 +00:00
imp
05a3537d66 This program is more useful if it skips leading whitespace when
parsing a textual UEFI Device Path, since otherwise it things the
passed in path is a filename. While here, reduce the repetition of
8192.

Sponsored by: Netflix
2017-11-21 07:35:29 +00:00
imp
0f2318d374 Document what the command line arguments actually do. List some of the
size limitations.

Sponsored by: Netflix
2017-11-21 07:35:24 +00:00
asomers
3ca619e530 periodic: fix exit status for nonexistent arguments
When called with an absolute pathname, periodic should attempt to execute
every script in that directory. If the directory does not exist, it should
print an error and exit 1. Due to a copy/paste mistake in r231568, it exits
0 in that case.

Reported by:	devel/hs-ShellCheck
MFC after:	3 weeks
Sponsored by:	Spectra Logic Corp
Differential Revision:	https://reviews.freebsd.org/D13070
2017-11-20 23:51:51 +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