schwarze [Sat, 29 Apr 2023 13:37:03 +0000 (13:37 +0000)]
Provide function prototypes for macros that take arguments,
rename the "ev" argument to "event" to make some text read better,
and get rid of colons at the ends of list tags.
OK jmc@ and Ted Bullock.
schwarze [Sat, 29 Apr 2023 13:06:10 +0000 (13:06 +0000)]
Mention a few standard BIO_ctrl(3) command constants
that provide type-specific functionality here.
While here, fix some wrong return types in the SYNOPSIS.
schwarze [Sat, 29 Apr 2023 12:22:08 +0000 (12:22 +0000)]
Mention a few standard BIO_ctrl(3) command constants
that provide type-specific functionality here,
and add the missing return type to one function prototype.
miod [Sat, 29 Apr 2023 12:10:08 +0000 (12:10 +0000)]
Add "counter-timer" to openboot_special[] in order to not mention it as
unconfigured during boot, now that timer(4) is gone.
schwarze [Sat, 29 Apr 2023 12:04:54 +0000 (12:04 +0000)]
Mention the type-specific BIO_ctrl(3) command constants
in the manual pages of the respective BIO types.
schwarze [Sat, 29 Apr 2023 12:01:53 +0000 (12:01 +0000)]
Mention the type-specific BIO_ctrl(3) command constants
in the manual pages of the respective BIO type.
While here, fix some wrong return types in the SYNOPSIS.
kn [Sat, 29 Apr 2023 10:25:32 +0000 (10:25 +0000)]
Remove net lock from DIOCGETQUEUE
Same logic and argument as for the parent *S ioctl unlocked in r1.400,
might as well have committed them together:
Both ticket and number of queues stem from the pf_queues_active list which
is effectively static to pf_ioctl.c and fully protected by the pf lock.
OK sashan
mlarkin [Sat, 29 Apr 2023 10:18:06 +0000 (10:18 +0000)]
remove some 19 year old #if 0 code
ok deraadt
mlarkin [Sat, 29 Apr 2023 10:12:33 +0000 (10:12 +0000)]
whitespace
espie [Sat, 29 Apr 2023 10:08:18 +0000 (10:08 +0000)]
as noticed by sdk@, a package with an exact numbers of 64K chunks would
produce a spurious error (so 1 chance in 2^26)
It's like read/write: we need to recognize 0 as EOF and not try to checksum
a non-existing block.
while there, also make sure that we got all the signed blocks at EOF
before exit(0)
Note that none of those two bugs affect the actual security of signed
packages: the basic assertion that only signed data gets written
through the pipe is still 100% valid !
but it's a good idea to not emit spurious messages for valid files, and also
to recognize truncated files !
okay tb@ (thanks a lot)
kettenis [Sat, 29 Apr 2023 08:50:53 +0000 (08:50 +0000)]
Print VHE feature in dmesg.
ok mlarkin@, patrick@
bluhm [Sat, 29 Apr 2023 00:20:46 +0000 (00:20 +0000)]
Run open rsync and ports rsync programs against each other using
the --rsync-path option. So we can see whether the tests pass in
all interoperability combinations.
Suggested by claudio@
tb [Fri, 28 Apr 2023 21:40:14 +0000 (21:40 +0000)]
Mark OpenSSLDie() as __dead
This tells gcc that OPENSSL_assert() will not return and thus avoids a
silly warning that triggers scary gentoo QA warnings.
From claudio
dv [Fri, 28 Apr 2023 21:22:20 +0000 (21:22 +0000)]
vmd(8): fix specifying boot image in vm.conf
Previous change to allow overriding changed the way we parsed and
stored the boot image path. The lifetime of the path was...much too
short. Heap allocate the kernel path.
Found by Mischa Peters.
ok mlarkin@
schwarze [Fri, 28 Apr 2023 20:34:26 +0000 (20:34 +0000)]
adjust after man_validate.c rev. 1.128 improved the error messages
tb [Fri, 28 Apr 2023 20:22:35 +0000 (20:22 +0000)]
Make LLVM 15 happier by changing from K&R to ANSI prototypes
schwarze [Fri, 28 Apr 2023 20:14:19 +0000 (20:14 +0000)]
Do not rewrite MAN_LP and MAN_P to MAN_PP because doing that causes
confusing warning messages complaining about macros that don't even
appear in the input file.
As a welcome side effect, this also shortens the code...
Fixing a minibug
reported by Alejandro Colomar <alx dot manpages at gmail dot com>.
dv [Fri, 28 Apr 2023 20:13:56 +0000 (20:13 +0000)]
Clarify -b usage by `vmctl start`.
mvs [Fri, 28 Apr 2023 20:03:13 +0000 (20:03 +0000)]
Add rtentry refcnt type to dt(4).
ok bluhm@
dv [Fri, 28 Apr 2023 19:46:41 +0000 (19:46 +0000)]
vmd(8)/vmctl(8): allow vm owners to override boot kernel.
vmd allows non-root users to "own" a vm defined in vm.conf(5). While
the user can start/stop the vm, if they break their filesystem they
have no means of booting recovery media like a ramdisk kernel.
This change opens the provided boot kernel via vmctl and passes the
file descriptor through the control channel to vmd. The next boot
of the vm will use the provided file descriptor as boot kernel/bios.
Subsequent boots (e.g. a reboot) will return to using behavior
defined in vm.conf or the default bios image.
ok mlarkin@
bluhm [Fri, 28 Apr 2023 19:41:07 +0000 (19:41 +0000)]
Execute each test as make target. Remove the shell wrapper. Mark
failing test so that claudio@ can fix them.
dv [Fri, 28 Apr 2023 18:52:22 +0000 (18:52 +0000)]
Remove unneeded header includes in vmd.
No functional change. virtio block/networking emulation do not need
to know about vmm or any kernel types.
robert [Fri, 28 Apr 2023 18:33:22 +0000 (18:33 +0000)]
bump MAXDSIZ to 128G on amd64 and 64G on arm64
discussed with kettenis@, ok deraadt@
job [Fri, 28 Apr 2023 18:32:40 +0000 (18:32 +0000)]
Free all libcrypto global state memory before returning
Found with the help of Otto's malloc memory leak detector!
job [Fri, 28 Apr 2023 18:31:34 +0000 (18:31 +0000)]
Return a non-zero error exit code on any DER cache discrepancies
cheloha [Fri, 28 Apr 2023 18:27:55 +0000 (18:27 +0000)]
timer(4/sparc64): remove driver
The timer(4/sparc64) driver was effectively disabled during the
previous release. Nobody has come forward asking for it to be adapted
to work with the new clockintr framework, so it's time to remove the
driver from the tree.
As of today, if you want to run OpenBSD on SPARC v9 hardware, that
hardware needs to sport either %tick and %tick_compare (%asr23), or
%stick (%asr24) and %stick_compare (%asr25).
All Sun/Oracle SPARC v9 hardware meets these conditions, from the
UltraSPARC I onward.
Most HAL/Fujitsu SPARC v9 hardware meets these conditions, from the
SPARC64 III onward. The only HAL/Fujitsu hardware that might not have
%tick_compare are the HAL SPARC64 I and SPARC64 II, for which I can
find no documentation. However, those processors are currently
unsupported by OpenBSD for other reasons, so their support status is
unchanged by the removal of this driver.
With help from miod@.
Link: https://marc.info/?l=openbsd-tech&m=167898759928206&w=2
"after unlock" deraadt@, ok mlarkin@ miod@
tb [Fri, 28 Apr 2023 18:27:49 +0000 (18:27 +0000)]
Fix leaks reported by ASAN
debugged with job
krw [Fri, 28 Apr 2023 18:14:59 +0000 (18:14 +0000)]
Revert amd64/i386 floppy change. Missing diff to vnconfig broke
installboot'ing due to incorrect d_type (must be 'floppy' not
'vnd') in disklabel.
Noticed by deraadt@ and sthen@
tb [Fri, 28 Apr 2023 18:14:59 +0000 (18:14 +0000)]
Too many stupid things whine about these being used uninitialized
(which they aren't), so appease them.
job [Fri, 28 Apr 2023 17:59:53 +0000 (17:59 +0000)]
Remove preservation and use of cached DER/BER encodings in the d2i/i2d paths
A long time ago a workflow was envisioned for X509, X509_CRL, and X509_REQ
structures in which only fields modified after deserialization would need to
be re-encoded upon serialization.
Unfortunately, over the years, authors would sometimes forget to add code in
setter functions to trigger invalidation of previously cached DER encodings.
The presence of stale versions of structures can lead to very hard-to-debug
issues and cause immense sorrow.
Fully removing the concept of caching DER encodings ensures stale versions
of structures can never rear their ugly heads again.
OK tb@ jsing@
schwarze [Fri, 28 Apr 2023 17:31:58 +0000 (17:31 +0000)]
Some wording tweaks to finish the polishing.
While here, also correct the HISTORY section.
OK jmc@
schwarze [Fri, 28 Apr 2023 16:59:03 +0000 (16:59 +0000)]
Mark the obsolete PROXY_PARAM and SOCKS BIO_ctrl(3) command constants
as intentionally undocumented. Do that here because no related
manual pages exist.
beck [Fri, 28 Apr 2023 16:50:16 +0000 (16:50 +0000)]
Enable policy checking by default now that we are DAG implementation based.
This ensures that we will no longer silently ignore a certificate with
a critical policy extention by default.
ok tb@
schwarze [Fri, 28 Apr 2023 16:49:00 +0000 (16:49 +0000)]
Mark a number of BIO_ctrl(3) command constants as intentionally
undocumented because they are NOOPs or deprecated.
schwarze [Fri, 28 Apr 2023 16:39:19 +0000 (16:39 +0000)]
kill the .Xr to BN_nist_mod_521(3) which no longer exists
tb [Fri, 28 Apr 2023 16:30:14 +0000 (16:30 +0000)]
Unifdef LIBRESSL_HAS_POLICY_DAG and remove it from the Makefile
with beck
claudio [Fri, 28 Apr 2023 16:28:28 +0000 (16:28 +0000)]
Import rsync regress provided by Martin Cracauer so that bluhm@ can work
improve it in tree.
schwarze [Fri, 28 Apr 2023 16:22:45 +0000 (16:22 +0000)]
Add BIO_C_SET_MD_CTX to the list of command constants.
tb [Fri, 28 Apr 2023 16:21:57 +0000 (16:21 +0000)]
Take the old policy code behind the barn
It can go play in the fields with all the other exponential time policy
"code".
discussed with jsing
ok & commit message beck
schwarze [Fri, 28 Apr 2023 16:20:01 +0000 (16:20 +0000)]
Document BIO_set_md_ctx(3) and BIO_C_SET_MD_CTX.
Correct the return types of some macros.
Improve the RETURN VALUES section.
tb [Fri, 28 Apr 2023 16:18:17 +0000 (16:18 +0000)]
The policy test is no longer expected to fail
tb [Fri, 28 Apr 2023 16:14:46 +0000 (16:14 +0000)]
Enable the new policy checking code in x509_policy.c
ok beck jsing
tb [Fri, 28 Apr 2023 15:57:38 +0000 (15:57 +0000)]
Silence gcc-4 warnings about sk_sort()
Tell it we deliberately ignore the return value, (we really don't
care what the old comparison function was).
job [Fri, 28 Apr 2023 15:51:18 +0000 (15:51 +0000)]
Remove misinformation, reason had nothing to do with efficiency
"Failure to re-encode on modification is a bug not a feature."
OK jsing@
sashan [Fri, 28 Apr 2023 15:50:05 +0000 (15:50 +0000)]
remove superfluous/invalid KASSERT() in pfsync_q_del().
pointed and OK bluhm@
tb [Fri, 28 Apr 2023 15:39:29 +0000 (15:39 +0000)]
Remove now no longer needed <assert.h>; sort headers
ok jsing
tb [Fri, 28 Apr 2023 15:37:28 +0000 (15:37 +0000)]
Deassert has_explicit_policy()
The only caller is X509_policy_check() which goes straight to error.
with beck
ok jsing
tb [Fri, 28 Apr 2023 15:35:55 +0000 (15:35 +0000)]
Deassert delete_if() callbacks
Add sk_is_sorted() checks to the callers of sk_X509_POLICY_NODE_delete_if()
and add a comment that this is necessary.
with beck
ok jsing
tb [Fri, 28 Apr 2023 15:30:14 +0000 (15:30 +0000)]
Deassert x509_policy_level_find()
Move the check that level->nodes is sorted to the call site and make sure
that the logic is preserved and erroring does the right thing.
with beck
ok jsing
tb [Fri, 28 Apr 2023 15:27:15 +0000 (15:27 +0000)]
Deassert X509_policy_check()
Instead of asserting that i == num_certs - 2, simply make that an error
check.
with beck
ok jsing
tb [Fri, 28 Apr 2023 15:21:22 +0000 (15:21 +0000)]
Deassert x509_policy_level_add_nodes()
This assert is in debugging code that ensures that there are no duplicate
nodes on this level. This is an expensive and unnecessary check. Duplicates
already cause failures as ensured by regress.
with beck
ok jsing
tb [Fri, 28 Apr 2023 15:16:48 +0000 (15:16 +0000)]
Deassert x509_policy_new()
Turn the check into an error which will make all callers error.
with beck
ok jsing
job [Fri, 28 Apr 2023 15:12:51 +0000 (15:12 +0000)]
Rearrange freeing of memory in the regress test
schwarze [Fri, 28 Apr 2023 15:04:33 +0000 (15:04 +0000)]
Reorder the text such that every function is discussed only once
instead of discussing some of them at two different places.
Also follow a more logical order: initialization first, then reading
and writing, then retrieving the digest and reinitialization.
Leave context handling and chain duplication at the end because
both are rarely needed.
While here, also tweak the wording of the shuffled text
and add some precision in a few places.
tb [Fri, 28 Apr 2023 14:45:51 +0000 (14:45 +0000)]
make the policy test compile on sparc64
phessler [Fri, 28 Apr 2023 14:09:06 +0000 (14:09 +0000)]
Inbound portion of RFC9131. Routers can create new neighbor cache entries
when receiving a valid Neighbor Advertisement.
OK florian@ kn@
sashan [Fri, 28 Apr 2023 14:08:38 +0000 (14:08 +0000)]
This change speeds up DIOCGETRULE ioctl(2) which pfctl(8) uses to
retrieve rules from kernel. The current implementation requires
like O((n^2)/2) operation to read the complete rule set, because
each DIOCGETRULE operation must iterate over previous n
rules to find (n + 1)-th rule to read.
To address the issue diff introduces a pf_trans structure to keep
pointer to next rule to read, thus reading process does not need
to iterate from beginning of rule set to reach the next rule.
All transactions opened by process get closed either when process
is done (reads all rules) or when /dev/pf device is closed.
the diff also comes with lots of improvements from dlg@ and kn@
OK dlg@, kn@
phessler [Fri, 28 Apr 2023 14:08:34 +0000 (14:08 +0000)]
Relax the "pass all" rule so all forms of neighbor advertisements are allowed
in either direction.
This more closely matches the IPv4 ARP behaviour.
From sashan@
discussed with kn@ deraadt@
job [Fri, 28 Apr 2023 13:48:38 +0000 (13:48 +0000)]
Add X509_REQ_add_extensions and to X509_REQ_add1_attr to DER cache test
These new tests won't bubble up a non-zero error exit code because
other libcrypto bits still need to land first.
claudio [Fri, 28 Apr 2023 13:24:25 +0000 (13:24 +0000)]
Same change as in bgpd:
Add explicit default labels in switch() statements with error handling.
Right now these are not reachable. Should also clear some gcc warnings.
OK tb@
claudio [Fri, 28 Apr 2023 13:23:52 +0000 (13:23 +0000)]
Add explicit default labels in switch() statements with error handling.
Right now these are not reachable. Should also clear some gcc warnings.
OK tb@
bluhm [Fri, 28 Apr 2023 12:53:42 +0000 (12:53 +0000)]
Add a membar_consumer() for the taskq_create() in sosplice(). Membar
producer and consumer must come in pair and the latter was missing.
Also move the code a bit to make clear which check is needed for
what.
OK mvs@
krw [Fri, 28 Apr 2023 12:26:43 +0000 (12:26 +0000)]
Move FSDISKTYPE uses from disklabel(8) invocations to vnconfig(8)
invocations, making the geometry information written to the
disklabel a bit more logically related to the disktab information
from whence it came. Also makes FSDISKTYPE usage consistent.
Flip the disklabel(8) invocations to the "echo '/ *'"
idiom to make it obvious that the desire is to create a single
'a' partition containing all free space.
No intentional functional change. MBRs, disklabels and newfs
outputs appear identical.
reads good to kn@
gnezdo [Fri, 28 Apr 2023 12:03:49 +0000 (12:03 +0000)]
Enable kernel-address sanitizer for clang openbsd target
OK deraadt@
claudio [Fri, 28 Apr 2023 10:24:38 +0000 (10:24 +0000)]
Implement --size-only and --ignore-times
Flags are passed to the remote system but --size-only is only set
if local system is sender since this is the behaviour of rsync.
Initial diff from Martin Cracauer but mostly reimplemented and extended
by myself.
OK kn@
kn [Fri, 28 Apr 2023 10:19:35 +0000 (10:19 +0000)]
Remove net lock from DIOCGETQUEUES
Both ticket and number of queues stem from the pf_queues_active list which
is effectively static to pf_ioctl.c and fully protected by the pf lock.
OK sashan
patrick [Fri, 28 Apr 2023 10:19:07 +0000 (10:19 +0000)]
Fix memory constraints in the inline-assembly stub that calls into secure
mode. Without this change the compiler doesn't realize that the memory
behind the array that contains the return values might have changed and
optimizes the access away. With this change it properly access the array
to retrieve the returned values.
ok drahn@
bluhm [Fri, 28 Apr 2023 10:18:57 +0000 (10:18 +0000)]
Remove error handling around mallocarray(9). I cannot fail when
called with M_WAITOK.
OK kevlo@
op [Fri, 28 Apr 2023 10:02:03 +0000 (10:02 +0000)]
fix lfindent (newline-and-indent) comment and description in the man page
for a while it has used only spaces when no-tab-mode is enabled and respected
the current buffer tab width.
tb [Fri, 28 Apr 2023 09:56:09 +0000 (09:56 +0000)]
Cleanup pass over x509_check_policy.c
This hoists variable declarations to the top and compiles with -Wshadow.
ok beck
op [Fri, 28 Apr 2023 09:50:50 +0000 (09:50 +0000)]
mark up all commands in the man page
beck [Fri, 28 Apr 2023 09:11:35 +0000 (09:11 +0000)]
Hook up the the x509 policy regression tests to x509 regress.
These were adapted from BoringSSL's regress tests for x509
policy. They are currently marked as expected to fail as
we have not enabled LIBRESSL_HAS_POLICY_DAG by default yet, and
the old tree based policy code from OpenSSL is special.
These tests pass when we build with LIBRESSL_HAS_POLICY_DAG.
beck [Fri, 28 Apr 2023 09:02:04 +0000 (09:02 +0000)]
Fix copyright, convert boringssl comments to C style
beck [Fri, 28 Apr 2023 08:53:20 +0000 (08:53 +0000)]
KNF
ok knfmt
beck [Fri, 28 Apr 2023 08:50:08 +0000 (08:50 +0000)]
remove unused code.
beck [Fri, 28 Apr 2023 08:45:50 +0000 (08:45 +0000)]
remove debugging printf
krw [Fri, 28 Apr 2023 08:45:24 +0000 (08:45 +0000)]
Retire -E's "expert" mode. Introduced 23 years ago to avoid
confusing users with FFS attributes that only experts should
fiddle with. Actual use has withered away with functionality
rendered moot or moved elsewhere.
'-e' remains for the truly obscure corner cases.
Simply excise the code for now to see if hidden users/uses are
exposed. Further simplifications are possible if no such
users/uses surface.
ok with sthen@ millert@ kn@ otto@
beck [Fri, 28 Apr 2023 08:43:18 +0000 (08:43 +0000)]
This test should not have V_EXPLICIT_POLICY set. with this
corrected we pass
beck [Fri, 28 Apr 2023 08:15:11 +0000 (08:15 +0000)]
Add the rest of the boringssl policy unit tests.
We currently still fail two of these, looks like one more bug in
extracting the depth for require policy from the certificate..
jmc [Fri, 28 Apr 2023 06:21:42 +0000 (06:21 +0000)]
escape the "D1" revisions, as mandoc thinks this is a macro call;
nicm [Fri, 28 Apr 2023 06:12:27 +0000 (06:12 +0000)]
Add options to change the confirm key and default behaviour of
confirm-before. From Elias Assaf in GitHub issue 3548; prompted by an
earlier change from Yutaro Yoshii in GitHub issue 3496.
nicm [Fri, 28 Apr 2023 05:59:35 +0000 (05:59 +0000)]
Do not fatal if tparm fails, instead just log it (not working sequences
are better than exiting).
phessler [Fri, 28 Apr 2023 05:13:37 +0000 (05:13 +0000)]
Add a driver for the Qualcomm rng device found on the Thinkpad X13s, based on
kettenis's amlrng driver.
suggestions and OK patrick@
kevlo [Fri, 28 Apr 2023 01:25:51 +0000 (01:25 +0000)]
sync
kevlo [Fri, 28 Apr 2023 01:24:51 +0000 (01:24 +0000)]
regen
kevlo [Fri, 28 Apr 2023 01:24:14 +0000 (01:24 +0000)]
Add support for RTL8188FTV chip to urtwn(4).
Tested with Comfast CF-WU710N v4.
"go ahead" deraadt@
OK stsp@
gnezdo [Thu, 27 Apr 2023 23:16:18 +0000 (23:16 +0000)]
Use __size_t which is available in syslog.h
Directly including sys/syslog.h would fail due to size_t
being unknown.
OK millert, miod
dv [Thu, 27 Apr 2023 22:47:27 +0000 (22:47 +0000)]
vmd(8): introduce multi-process model for virtio devices.
Isolate virtio network and block device emulation in dedicated
processes, forked and exec'd from the vm process. This allows for
tightening pledge promises to just "stdio".
Communication between the vcpu's and these devices now occurs via
imsg channels, which adds the benefit of not always blocking the
vcpu thread while emulating the device.
With this commit, it's possible that vmd is the first open source
hypervisor that *defaults* to a multi-process device emulation
model without requiring any additional configuration from the
operator.
Testing help from phessler@ and Mischa Peters.
ok mlarkin@
jmc [Thu, 27 Apr 2023 20:35:16 +0000 (20:35 +0000)]
add missing entries; ok miod
jmc [Thu, 27 Apr 2023 19:26:06 +0000 (19:26 +0000)]
add missing entries; ok miod
jmc [Thu, 27 Apr 2023 19:10:53 +0000 (19:10 +0000)]
add missing entries;
remove Tn macro usage;
feedback/ok miod
miod [Thu, 27 Apr 2023 19:06:57 +0000 (19:06 +0000)]
Mark the fan speed sensor as invalid when it reports -1 RPM. This happens for
a short while after suspend.
ok deraadt@ kn@
miod [Thu, 27 Apr 2023 19:01:01 +0000 (19:01 +0000)]
Better pcic(4) description.
robert [Thu, 27 Apr 2023 18:21:44 +0000 (18:21 +0000)]
add support for I/O statistics so that tape speeds can be observed with
iostat(8)
jmc [Thu, 27 Apr 2023 17:18:40 +0000 (17:18 +0000)]
sort options;
caspar [Thu, 27 Apr 2023 17:04:17 +0000 (17:04 +0000)]
arm64 install.md: fix softraid crypto installation on Mac
Make sure we don't newfs the EFI Sys partition on systems that have an
"apfsisc" partition in the case we're installing with softraid crypto.
Debugged with help from and came up with a fix with kn@
"go ahead" kettenis@
"no objections" krw@
OK kn@
phessler [Thu, 27 Apr 2023 16:56:52 +0000 (16:56 +0000)]
RFC 9096 changes the default timers for prefix preferred and valid lifetimes,
so update rad(8) to the new ones.
OK florian@
schwarze [Thu, 27 Apr 2023 16:48:53 +0000 (16:48 +0000)]
tiny wording tweak from Ted Bullock to make misunderstandings less likely;
OK jmc@
claudio [Thu, 27 Apr 2023 16:28:18 +0000 (16:28 +0000)]
Implement -V as an alias to --version.
From Martin Cracauer
OK kn@
beck [Thu, 27 Apr 2023 16:12:08 +0000 (16:12 +0000)]
Convert size_t's used in conjuction with sk_X509_num back to int.
The lets the regress in x509/policy pass instead of infinite looping.
The changes are necessry because our sk_num() returns an int with
0 for empty and -1 for NULL, wheras BoringSSL's returns a size_t with
0 for both an empty stack and a NULL stack.
pair work with tb@
ok tb@ jsing@