openbsd
3 years agoDon't pass NULL as a string in debugging as it does not work on some
dtucker [Tue, 4 May 2021 22:53:52 +0000 (22:53 +0000)]
Don't pass NULL as a string in debugging as it does not work on some
platforms in -portable.  ok djm@

3 years agoReorder the integer sysctl functions. Then the traditional 4.4BSD
bluhm [Tue, 4 May 2021 21:57:15 +0000 (21:57 +0000)]
Reorder the integer sysctl functions.  Then the traditional 4.4BSD
comment 'As above...' makes sense again.  Improve comments for
sysctl_int_bounded() and sysctl_bounded_arr().
OK gnezdo@ mvs@

3 years agoshell scripts should use getopts instead of getopt
naddy [Tue, 4 May 2021 21:03:30 +0000 (21:03 +0000)]
shell scripts should use getopts instead of getopt

Add a prominent deprecation notice to getopt.1.
Add examples of the getopts idiom to sh.1 and ksh.1.

Requested by and ok espie@, ok jmc@

3 years agoAs the unbouded feature in sysctl_int_bounded() is no longer used,
bluhm [Tue, 4 May 2021 19:04:56 +0000 (19:04 +0000)]
As the unbouded feature in sysctl_int_bounded() is no longer used,
remove it.  This also fixes a defective check of the dynamic boundary
in sysctl_sysvshm().
OK mvs@ gnezdo@

3 years agosigpending(2) will never fail. Optimize the syscall stub accordingly like
kettenis [Tue, 4 May 2021 19:02:52 +0000 (19:02 +0000)]
sigpending(2) will never fail.  Optimize the syscall stub accordingly like
we do on other architectures.

ok mpi@

3 years agoRename shutdown_all() to shutdown_peers() for consistency.
tb [Tue, 4 May 2021 18:20:05 +0000 (18:20 +0000)]
Rename shutdown_all() to shutdown_peers() for consistency.

3 years agosyscalls.c, init_sysent.c, syscall.h, syscallargs.h: regen
cheloha [Tue, 4 May 2021 18:14:58 +0000 (18:14 +0000)]
syscalls.c, init_sysent.c, syscall.h, syscallargs.h: regen

Regen after unlocking getitimer(2) and setitimer(2).

ok anton@, mpi@

3 years agogetitimer(2), setitimer(2): unlock syscalls
cheloha [Tue, 4 May 2021 18:10:24 +0000 (18:10 +0000)]
getitimer(2), setitimer(2): unlock syscalls

With the changes in kern_time.c v1.150, neither getitimer(2) nor
setitimer(2) need the kernel lock anymore.

ok anton@, mpi@

3 years agoThe clock on RISC-V is architectural, so we really don't need the
kettenis [Tue, 4 May 2021 16:38:06 +0000 (16:38 +0000)]
The clock on RISC-V is architectural, so we really don't need the
whole abstraction layer to support multiple timers.  And we don't
really need a separate driver.  Replace timer(4) with code based on
the powerpc64 implementation of the randomized statclock code.

Fixes hangs seen on real hardware.

ok jsg@, drahn@

3 years agoFix 2nd and 3rd arguments' cast in atomic_cas_ptr().
aoyama [Tue, 4 May 2021 14:05:12 +0000 (14:05 +0000)]
Fix 2nd and 3rd arguments' cast in atomic_cas_ptr().

This fixes compile errors (actually warnings) on m88k in sys/net/pf.c
revision 1.1116 changes.

Diff from Miod Vallat, tested on GENERIC and GENERIC.MP by me.

3 years agoCreate memory pressure in test. Allocate heap and stack in child
bluhm [Tue, 4 May 2021 13:24:49 +0000 (13:24 +0000)]
Create memory pressure in test.  Allocate heap and stack in child
processes and threads.  Then exit has more work to do.

3 years agoAdd a boot hart ID check in the function that matches secondary CPUs
kettenis [Tue, 4 May 2021 12:46:28 +0000 (12:46 +0000)]
Add a boot hart ID check in the function that matches secondary CPUs
as well.

ok jsg@

3 years agogzread(3) doesn't always set errno, so use gzerror(3)
dv [Tue, 4 May 2021 10:48:51 +0000 (10:48 +0000)]
gzread(3) doesn't always set errno, so use gzerror(3)

Compression errors from libz don't set errno.

OK mlarkin@

3 years agoMove unused task queue stuff to the attic.
dv [Tue, 4 May 2021 10:42:51 +0000 (10:42 +0000)]
Move unused task queue stuff to the attic.

Was added about 4 years ago, but hasn't been used and linked into
the build. Discussed with dlg@ and mlarkin@.

mlarkin@: "Let's remove for now..."

3 years agoInit debug logging state before attempting to log.
dv [Tue, 4 May 2021 10:36:01 +0000 (10:36 +0000)]
Init debug logging state before attempting to log.

Error messages related to bad configuration were not flushing to
stderr.

OK mlarkin@

3 years agookay, prevent pkg_* from looking into /usr/local BUT special-case quirks
espie [Tue, 4 May 2021 10:19:28 +0000 (10:19 +0000)]
okay, prevent pkg_* from looking into /usr/local BUT special-case quirks

3 years agoInitialize `ipsec_policy_pool' within pfkey_init() instead of doing that
mvs [Tue, 4 May 2021 09:28:04 +0000 (09:28 +0000)]
Initialize `ipsec_policy_pool' within pfkey_init() instead of doing that
in runtime within pfkeyv2_send(). Also set it's interrupt protection
level to IPL_SOFTNET.

ok bluhm@ mpi@

3 years agoRemove unused `spd_tables' declaration.
mvs [Tue, 4 May 2021 09:27:22 +0000 (09:27 +0000)]
Remove unused `spd_tables' declaration.

ok bluhm@ mpi@

3 years agoMore comment changes to reflect reality. No functional change.
claudio [Tue, 4 May 2021 09:27:09 +0000 (09:27 +0000)]
More comment changes to reflect reality. No functional change.

3 years agoUpdate comment to match reality.
claudio [Tue, 4 May 2021 09:21:05 +0000 (09:21 +0000)]
Update comment to match reality.

3 years agonot yet, need to figure out how to fix quirks first
espie [Tue, 4 May 2021 08:53:15 +0000 (08:53 +0000)]
not yet, need to figure out how to fix quirks first

3 years agoand do the same thing to pkg_mklocatedb
espie [Tue, 4 May 2021 08:41:03 +0000 (08:41 +0000)]
and do the same thing to pkg_mklocatedb

3 years agoprevent the base pkg tools from looking under /usr/local
espie [Tue, 4 May 2021 08:39:19 +0000 (08:39 +0000)]
prevent the base pkg tools from looking under /usr/local

3 years agoSimilar to rsync repo delay deletes for rrdp repos to after processing
claudio [Tue, 4 May 2021 08:16:36 +0000 (08:16 +0000)]
Similar to rsync repo delay deletes for rrdp repos to after processing
all files. Now RRDP has a weak sync mechanism and therefor not all
unreferenced files can be removed, instead look at the list of removes
which were part of the delta processing and remove those files.
Warn and keep the file if a delta specifies to remove a file which is
actually still referenced.
OK benno@

3 years agoCheck that fdt hart id matches boot hart id before associating an fdt
jsg [Tue, 4 May 2021 06:32:58 +0000 (06:32 +0000)]
Check that fdt hart id matches boot hart id before associating an fdt
node with the primary cpu.

Prompted by the polarfire icicle where hart 0 is an mmuless e51 core.

ok drahn@ mlarkin@

3 years agoRemove cerror dependancy from riscv64 asm syscalls.
drahn [Tue, 4 May 2021 04:26:00 +0000 (04:26 +0000)]
Remove cerror dependancy from riscv64 asm syscalls.
Directly update cerror as  offset of thread pointer, with
optimizations on error brnaching
ok kettenis@

3 years agoriscv64 brk()/sbrk() implementations,
drahn [Tue, 4 May 2021 04:17:53 +0000 (04:17 +0000)]
riscv64 brk()/sbrk() implementations,
based off a combination of aarch64/powerpc64
ok kettenis@

3 years agoUse limits.h instead of sys/limits.h in dtlstest.c for portable
inoguchi [Mon, 3 May 2021 23:44:05 +0000 (23:44 +0000)]
Use limits.h instead of sys/limits.h in dtlstest.c for portable

discussed and input from jsing@

3 years agoModify regress ssl_get_shared_ciphers for portable
inoguchi [Mon, 3 May 2021 23:42:04 +0000 (23:42 +0000)]
Modify regress ssl_get_shared_ciphers for portable

- Split out the intermediate path (../certs/) to Makefile
- Change 'shutdown' to 'shutdown_all'

ok tb@

3 years agoSync changes from arm64 version.
kettenis [Mon, 3 May 2021 21:25:48 +0000 (21:25 +0000)]
Sync changes from arm64 version.

ok patrick@

3 years agoHook openssl-ruby test to regress tree
tb [Mon, 3 May 2021 18:31:40 +0000 (18:31 +0000)]
Hook openssl-ruby test to regress tree

3 years agoAdd scaffold to run the ruby/openssl regression tests
tb [Mon, 3 May 2021 18:21:00 +0000 (18:21 +0000)]
Add scaffold to run the ruby/openssl regression tests

This test depends on the ruby/ruby-openssl-tests port that bundles the
sources and tests of the Ruby OpenSSL gem below /usr/local. The Makefile
compiles the openssl.so shared object below obj/ that provides Ruby
bindings for the OpenSSL API. Once this is built, the regression tests are
run.

There are currently 4 failing tests, all related to the new verifier.
At least one libssl bug is hidden behind a pend. All this will hopefully be
fixed during this release cycle.

This adds a decent amount of test coverage without being overly expensive.
This way, regressions should be spotted during development so jeremy will
no longer have to chase and work around them.

Joint work with jeremy, positive feedback from bcook and jsing.

3 years agotweak one description to make it unique
tb [Mon, 3 May 2021 14:51:47 +0000 (14:51 +0000)]
tweak one description to make it unique

3 years agoPrefix the hybrid_corner_case test with test_ for consistency.
tb [Mon, 3 May 2021 14:49:37 +0000 (14:49 +0000)]
Prefix the hybrid_corner_case test with test_ for consistency.

3 years agoExercise the point conversion bit for octet string representations
tb [Mon, 3 May 2021 14:48:10 +0000 (14:48 +0000)]
Exercise the point conversion bit for octet string representations
of points on secp256r1.

3 years agoAdd a test that exercises the point conversion bit of the octet
tb [Mon, 3 May 2021 14:46:18 +0000 (14:46 +0000)]
Add a test that exercises the point conversion bit of the octet
string representations of points on the binary curve sect571k1.

3 years agoFix corner case for compressed points on binary curves
tb [Mon, 3 May 2021 14:42:45 +0000 (14:42 +0000)]
Fix corner case for compressed points on binary curves

Per X9.62 4.4.1.b., the compressed representation of a point with
zero x coordinate on a binary curve must have y_bit unset. Error
out in that case of ec_GF2m_set_compressed_coordinates() instead
of ignoring y_bit.

ok jsing

3 years agoWhen negotiating multiprotocol capabilities only fall ack to AID_INET when
claudio [Mon, 3 May 2021 14:08:09 +0000 (14:08 +0000)]
When negotiating multiprotocol capabilities only fall ack to AID_INET when
no capability was sent to the peer (this happens if the multiprotocol
capability got disabled). It is possible that local and remote systems end
up with no shared AFI/SAFI pair. In this case the connection will not send
or should not receive any UPDATE messages.
The previous behaviour of falling back to AID_INET in that case can result
in problematic behaviour when sessions are missconfigured.
OK benno@, deraadt@

3 years agoPrint the timestamps both formatted and as a time in seconds field in
claudio [Mon, 3 May 2021 14:01:56 +0000 (14:01 +0000)]
Print the timestamps both formatted and as a time in seconds field in
the various JSON object that have time values.
OK benno@

3 years agoWhen parsing a variable value within double quotes, allow parenthesis
lum [Mon, 3 May 2021 13:28:03 +0000 (13:28 +0000)]
When parsing a variable value within double quotes, allow parenthesis
to be accomodated for.

3 years agoLike in the session engine do not inline the addr2sa call into connect and
claudio [Mon, 3 May 2021 13:18:06 +0000 (13:18 +0000)]
Like in the session engine do not inline the addr2sa call into connect and
bind. The len argument is modified by addr2sa but is also used as argument
in the call and it is undefined if the value of len in connect is set to
the value "returned" by addr2sa().
Should fix connect issues seen on Linux system.
OK denis@

3 years agoMake sdhc(4) attachment work on Zynq-7000.
visa [Mon, 3 May 2021 13:11:40 +0000 (13:11 +0000)]
Make sdhc(4) attachment work on Zynq-7000.

OK kettenis@

3 years agoWhen parsing a variable value within double quotes, allow an escaped
lum [Mon, 3 May 2021 12:18:43 +0000 (12:18 +0000)]
When parsing a variable value within double quotes, allow an escaped
\" to be accomodated for. Also, move the variable structure to be
global in scope within mg.

3 years agofix typo from previous commit
stsp [Mon, 3 May 2021 11:58:51 +0000 (11:58 +0000)]
fix typo from previous commit

3 years agoMention in CAVEATS that iwn(4) doesn't support 40MHz channels yet.
stsp [Mon, 3 May 2021 11:58:06 +0000 (11:58 +0000)]
Mention in CAVEATS that iwn(4) doesn't support 40MHz channels yet.

3 years agoiwm(4) supports Tx aggregation now.
stsp [Mon, 3 May 2021 11:56:49 +0000 (11:56 +0000)]
iwm(4) supports Tx aggregation now.

3 years agoUse the EFI memory map (if available) to determine available physical
kettenis [Mon, 3 May 2021 11:35:29 +0000 (11:35 +0000)]
Use the EFI memory map (if available) to determine available physical
memory.  This brings the code closer to arm64 but some key differences
remain.  The most notable difference is that the riscv64 currently uses
its own private direct map of physical memory.  Therefore it needs to know
the RAM address range which we derive from the /memory node in the FDT.

The code also needs to work around some bugs/flaws in the firmware:

* Newer OpenSBI versions no longer add a "no-map" property to the
  reserved memory block that covers the memory used by OpenSBI itself.
  This makes it appear as EfiBootServicesData in the EFI memory map,
  which means it is available for general use.

* The OpenSBI shipped with the beaglev prototype boards doesn't reserve
  the memory used by OpenBSI at all.

The workaround for the first issue is to remove all reserved memory blocks
specified in the FDT.  In its current implementation this may remove
too much memory on certain boards.

The workaround for the second issue is to remove 2MB before the memory
where the kernel lives.  This workaround is fragile since it relies on
a specific memory layout.  Hopefully the beaglev firmware gets fixed and
we can remove this hack.

ok jsg@

3 years agoremove old gcc/g++ binaries at update time; covers the most common case
sthen [Mon, 3 May 2021 11:34:55 +0000 (11:34 +0000)]
remove old gcc/g++ binaries at update time; covers the most common case
where people will run into problems on amd64 now we don't build gcc.
(the gcc-lib files are already removed by bsd.rd upgrades, and gcc/g++
don't work without them).

3 years agorecognise a small number of riscv relocations in readelf
jsg [Mon, 3 May 2021 08:53:25 +0000 (08:53 +0000)]
recognise a small number of riscv relocations in readelf
ok kettenis@

3 years agoTweak the heuristic net80211 RA is using to decide whether enough
stsp [Mon, 3 May 2021 08:46:28 +0000 (08:46 +0000)]
Tweak the heuristic net80211 RA is using to decide whether enough
statistics have been gathered for a candidate Tx rate. The goal is
to avoid Tx rate choices that might turn out to be too optimistic.

In practice this only affects the case where we probe upwards. If the
current Tx rate starts seeing loss we will still scale down very quickly.

Based on a larger collection of patches by Christian Ehrhardt.
I have made stylistic tweaks for consistency.

Tested:
iwn 6205: stsp, Josh Grosse
iwm 7265: stsp
iwm 8265: Matthias Schmidt
iwm 9260: phessler

3 years agoAdd 802.11n Tx aggregation support to iwm(4).
stsp [Mon, 3 May 2021 08:41:25 +0000 (08:41 +0000)]
Add 802.11n Tx aggregation support to iwm(4).

Makes packets go swoosh swoosh swoosh. Welcome to actual 802.11n!

Tested:
7260: dv, florian
7265: trondd, dv, landry, stsp
8260: bket
8265: Matthias Schmidt, stsp
9260: kettenis
9560: phessler, stsp

3 years agowork around an athn(4) device problem with bogus Michael MIC failures
stsp [Mon, 3 May 2021 08:23:05 +0000 (08:23 +0000)]
work around an athn(4) device problem with bogus Michael MIC failures

Clients using Tx aggregation against an athn(4) hostap will send block ack
request control frames whenever they need to sync their Tx block ack window.
athn(4) dropped such frames due to bogus Michael MIC failures reported by
the hardware decryption engine. Ignore such failures for control frames in
order to fix athn(4) hostap mode against clients which use Tx aggregation.

Additionally, only report Michael MIC failures to the net80211 stack if the
offending client is actually using TKIP, which would also have prevented the
problem since we require CCMP as group cipher in our default configuration.

Problem reported and fix tested by kettenis@

3 years agothinko, noticed by jmc@
espie [Mon, 3 May 2021 07:48:16 +0000 (07:48 +0000)]
thinko, noticed by jmc@

3 years agoFETCH_CMD, perfect place to explain more about fetching ;)
espie [Mon, 3 May 2021 07:21:15 +0000 (07:21 +0000)]
FETCH_CMD, perfect place to explain more about fetching ;)

3 years agoremove entries for sgi devices: xheart, owmac, and owserial
jmc [Mon, 3 May 2021 07:09:26 +0000 (07:09 +0000)]
remove entries for sgi devices: xheart, owmac, and owserial

3 years agochange some commented vfp paths to riscv64 fpu equivalents
jsg [Mon, 3 May 2021 06:19:00 +0000 (06:19 +0000)]
change some commented vfp paths to riscv64 fpu equivalents

ok mlarkin@

3 years agoIf mode is not allowed in struct opt, then just play/record silence
ratchov [Mon, 3 May 2021 04:29:50 +0000 (04:29 +0000)]
If mode is not allowed in struct opt, then just play/record silence

This is similar to what we already do when device is opened and its
mode doesn't match requested mode. Besides adding consistency, this
change would allow client's opt structure to be changed dynamically.

3 years agodon't build gdb on riscv64
jsg [Mon, 3 May 2021 03:45:40 +0000 (03:45 +0000)]
don't build gdb on riscv64

3 years agomore debugging for UpdateHostKeys signature failures
djm [Mon, 3 May 2021 00:16:45 +0000 (00:16 +0000)]
more debugging for UpdateHostKeys signature failures

3 years agoriscv64 is a LP64_ARCH, list it as such.
drahn [Mon, 3 May 2021 00:04:31 +0000 (00:04 +0000)]
riscv64 is a LP64_ARCH, list it as such.

3 years agoriscv64 initiall installation notes (more of a skeleton).
drahn [Sun, 2 May 2021 23:48:14 +0000 (23:48 +0000)]
riscv64 initiall installation notes (more of a skeleton).

3 years agodisable base-gcc on amd64; ok jca@ deraadt@
naddy [Sun, 2 May 2021 22:32:30 +0000 (22:32 +0000)]
disable base-gcc on amd64; ok jca@ deraadt@

3 years agoPut -stable template into #if 0 section of current newvers.sh.
bluhm [Sun, 2 May 2021 22:10:13 +0000 (22:10 +0000)]
Put -stable template into #if 0 section of current newvers.sh.
OK deraadt@

3 years agoInitialize per-CPU pointer register earlier.
kettenis [Sun, 2 May 2021 21:47:51 +0000 (21:47 +0000)]
Initialize per-CPU pointer register earlier.

ok patrick@

3 years agoriscv64, fix HANDLE_ERROR
drahn [Sun, 2 May 2021 20:08:49 +0000 (20:08 +0000)]
riscv64, fix HANDLE_ERROR
the CERROR handling code had a gross mistake in that that it didn't
continue processing the code after the macro if no error occurred.
ok kettenis@

3 years agoTry harder to ensure there are no GPT revenants after
krw [Sun, 2 May 2021 20:07:14 +0000 (20:07 +0000)]
Try harder to ensure there are no GPT revenants after
choosing MBR partitioning.

3 years agoriscv64 openssl config
drahn [Sun, 2 May 2021 20:01:51 +0000 (20:01 +0000)]
riscv64 openssl config
copied from other 64 bit arch
ok jsg@

3 years agoWe need to set the dirty bit whenever we add write permission
kettenis [Sun, 2 May 2021 19:43:16 +0000 (19:43 +0000)]
We need to set the dirty bit whenever we add write permission
otherwise a write will still fault on hardware that doesn't implement
hardware updates for these bits.

ok drahn@

3 years agoShuffle some code to eliminate get_address(), bring interface_state() and
krw [Sun, 2 May 2021 19:16:48 +0000 (19:16 +0000)]
Shuffle some code to eliminate get_address(), bring interface_state() and
initialize_interface() logic into closer alignment, and try harder to
initialize link_state at start up.

3 years agoPrevent future internal use of some #defines
tb [Sun, 2 May 2021 18:10:32 +0000 (18:10 +0000)]
Prevent future internal use of some #defines

After jsing's recent commits, SSL3_CC_{READ,WRITE,CLIENT,SERVER}
and the derived SSL3_CHANGE_CIPHER_{CLIENT,SERVER}_{READ,WRITE}
are no longer used by LibreSSL and should never be used again.

discussed with jsing

3 years agoClean up tls1_change_cipher_state().
jsing [Sun, 2 May 2021 17:46:58 +0000 (17:46 +0000)]
Clean up tls1_change_cipher_state().

Replace flag gymnastics at call sites with separate read and write,
functions which call the common code. Condition on s->server instead of
using SSL_ST_ACCEPT, for consistency and more readable code.

ok inoguchi@ tb@

3 years agoIn the TLSv1.2 server, set up the key block after sending the CCS.
jsing [Sun, 2 May 2021 17:28:33 +0000 (17:28 +0000)]
In the TLSv1.2 server, set up the key block after sending the CCS.

This avoids calling into the key block setup code multiple times and makes
the server code consistent with the client.

ok inoguchi@ tb@

3 years agoClean up dtls1_reset_seq_numbers().
jsing [Sun, 2 May 2021 17:18:10 +0000 (17:18 +0000)]
Clean up dtls1_reset_seq_numbers().

Rather than doing flag gymnastics, split dtls1_reset_seq_numbers() into
separate read and write functions. Move the calls of these functions into
tls1_change_cipher_state() so they directly follow the change of cipher
state in the record layer, which avoids having to duplicate the calls in
the client and server.

ok inoguchi@ tb@

3 years agoEnsure that handshake hash is non-NULL in tls1_transcript_hash_value().
jsing [Sun, 2 May 2021 16:00:33 +0000 (16:00 +0000)]
Ensure that handshake hash is non-NULL in tls1_transcript_hash_value().

There are several paths where a subtle bug could result in
tls1_transcript_hash_value() being called with a NULL handshake hash - add
an explicit check for this case. As noted by tb@, due to the wonders of
the libcrypto EVP APIs, combined with integer promotion, we already have
a NULL check - this one is just more obvious.

ok tb@

3 years agoHarden tls12_finished_verify_data() by checking master key length.
jsing [Sun, 2 May 2021 15:57:29 +0000 (15:57 +0000)]
Harden tls12_finished_verify_data() by checking master key length.

Require master key length to be greater than zero if we're asked to derive
verify data for a finished or peer finished message.

ok tb@

3 years agoStop deriving peer finished twice for TLSv1.2.
jsing [Sun, 2 May 2021 15:55:29 +0000 (15:55 +0000)]
Stop deriving peer finished twice for TLSv1.2.

We already derive the peer finished in ssl3_do_change_cipher_spec(), which
DTLS relies on. In the case of TLS we've been doing it twice - once in
ssl3_get_message() and once in ssl3_do_change_cipher_spec().

ok tb@

3 years agoMake TS_compute_imprint a bit more robust.
tb [Sun, 2 May 2021 15:33:33 +0000 (15:33 +0000)]
Make TS_compute_imprint a bit more robust.

Instead of using the output parameters directly, null them out at the
beginning and work with local variables which are only assigned to the
output parameters on success. This way we avoid leaking stale pointers
back to the caller.

requested/ok jsing

3 years agoImprove documentation. Try to explain the various inputs that result in
deraadt [Sun, 2 May 2021 15:15:44 +0000 (15:15 +0000)]
Improve documentation.  Try to explain the various inputs that result in
a rewritten resolv.conf, and without being too precise, the order they will
be in the file
discussed with florian and jmc

3 years agoFix having hostnames in the listen on statement. Regression introduced in
martijn [Sun, 2 May 2021 14:39:05 +0000 (14:39 +0000)]
Fix having hostnames in the listen on statement. Regression introduced in
r1.39. Issue originally reported by Anton Kasimov via rob@.

OK claudio@

3 years agoDo soreserve() before `kp' allocation. This simplifies error path. The
mvs [Sun, 2 May 2021 14:22:05 +0000 (14:22 +0000)]
Do soreserve() before `kp' allocation. This simplifies error path. The
same was done for route_attach().

Also do soisconnected() after `kp' is fully initialized. This chair
movement affects nothing for PF_KEY sockets but makes code more
consistent.

ok bluhm@ mpi@

3 years agodired-shell-command is listed in the man page under 'DIRED KEY
lum [Sun, 2 May 2021 14:13:17 +0000 (14:13 +0000)]
dired-shell-command is listed in the man page under 'DIRED KEY
BINDINGS' but not under 'DIRED COMMANDS'. Add it in.

3 years agoInitialize the per-CPU pointer register early.
kettenis [Sun, 2 May 2021 08:15:23 +0000 (08:15 +0000)]
Initialize the per-CPU pointer register early.

ok drahn@

3 years agoexplain what FETCH_CMD should support in a bit more detail
espie [Sun, 2 May 2021 06:13:57 +0000 (06:13 +0000)]
explain what FETCH_CMD should support in a bit more detail

3 years agofix logic error in boot()
jsg [Sun, 2 May 2021 04:21:13 +0000 (04:21 +0000)]
fix logic error in boot()
ok deraadt@

3 years agoRemove NetBSDisms that crept into the arm64 version of this file.
kettenis [Sat, 1 May 2021 20:07:01 +0000 (20:07 +0000)]
Remove NetBSDisms that crept into the arm64 version of this file.

ok gnezdo@

3 years agoActually, that variable needs to be a u_int8_t pointer.
kettenis [Sat, 1 May 2021 20:04:33 +0000 (20:04 +0000)]
Actually, that variable needs to be a u_int8_t pointer.

This is what was tested, but I forgot to commit a file.

3 years agoExpand the regress test quite a bit to make sure no new regressions are
martijn [Sat, 1 May 2021 16:55:14 +0000 (16:55 +0000)]
Expand the regress test quite a bit to make sure no new regressions are
introduced by the previous libagentx commit. There's a few of the new tests
failing, mark those as such.

3 years agoRefactor varbind OID parsing into their indices. Simplifies the code by
martijn [Sat, 1 May 2021 16:44:17 +0000 (16:44 +0000)]
Refactor varbind OID parsing into their indices.  Simplifies the code by
about 40 LoC and fixes a potential out of bounds read.

Bug found by bluhm@ on arm64 regress
OK bluhm@

3 years agoRemoved unused SYSCTL_INT_UNBOUNDED (no use planned)
gnezdo [Sat, 1 May 2021 16:18:58 +0000 (16:18 +0000)]
Removed unused SYSCTL_INT_UNBOUNDED (no use planned)

Added a comment for SYSCTL_INT_READONLY.

OK mvs@

3 years agoUpdate the remaining SYSCTL_INT_READONLY cases
gnezdo [Sat, 1 May 2021 16:18:28 +0000 (16:18 +0000)]
Update the remaining SYSCTL_INT_READONLY cases

OK mvs@

3 years agoImplement per-socket `so_lock' rwlock(9) and use it to protect routing
mvs [Sat, 1 May 2021 16:13:12 +0000 (16:13 +0000)]
Implement per-socket `so_lock' rwlock(9) and use it to protect routing
(PF_ROUTE) sockets. This can be done because we have no cases where one
thread should lock two sockets simultaneously.

Against the previous version rtm_senddesync_timer() execution was moved
to process context.

Also this time `so_lock' used for routing sockets only but in the future
it will be used to other socket types too.

tested by claudio@

ok claudio@ bluhm@

3 years agoRetire OpenBSD/sgi.
visa [Sat, 1 May 2021 16:10:29 +0000 (16:10 +0000)]
Retire OpenBSD/sgi.

OK deraadt@

3 years agosync
deraadt [Sat, 1 May 2021 14:47:15 +0000 (14:47 +0000)]
sync

3 years agobump to LibreSSL 3.4.0 in -current
bcook [Sat, 1 May 2021 14:15:57 +0000 (14:15 +0000)]
bump to LibreSSL 3.4.0 in -current

3 years agoPlug leak in c2i_ASN1_OBJECT
tb [Sat, 1 May 2021 13:16:30 +0000 (13:16 +0000)]
Plug leak in c2i_ASN1_OBJECT

When using the object reuse facility of c2i_ASN1_OBJECT, the dynamically
allocated strings a may contain are set to NULL, so we must free them
beforehand. Also clear the flag, because that's what OpenSSL chose to do.

From Richard Levitte OpenSSL 1.1.1 65b88a75921533ada8b465bc8d5c0817ad927947

ok inoguchi

3 years agoPrevent double free in int_TS_RESP_verify_token
tb [Sat, 1 May 2021 13:13:45 +0000 (13:13 +0000)]
Prevent double free in int_TS_RESP_verify_token

If TS_compute_imprint fails after md_alg was allocated, there will be a
double free in its caller. Obvious fix is to null out the output
parameter md_alg just like it's already done for imprint and imprint_len.

From Pauli Dale, OpenSSL 1.1.1, a3dea76f742896b7d75a0c0529c0af1e628bd853

ok inoguchi jsing

3 years agoImplement early console functionality based on available SBI calls.
kettenis [Sat, 1 May 2021 12:29:05 +0000 (12:29 +0000)]
Implement early console functionality based on available SBI calls.

While these calls are part of the legacy extensions and deprecated, they
are really useful for debugging purposes.

ok jsg@

3 years agoIn singel user mode / is mounted ro. Just warn if we can't create
florian [Sat, 1 May 2021 11:53:24 +0000 (11:53 +0000)]
In singel user mode / is mounted ro. Just warn if we can't create
the control socket instead of fatal().
OK deraadt

3 years agoAllow running in single user mode where /var/empty doesn't exist by
florian [Sat, 1 May 2021 11:53:06 +0000 (11:53 +0000)]
Allow running in single user mode where /var/empty doesn't exist by
switching from chroot("/var/empty") to unveil("/", "").
This is just an extra pair of suspenders since these processes
pledge(2) to not access the filesystem.
OK deraadt

3 years agoIn singel user mode / is mounted ro. Just warn if we can't create
florian [Sat, 1 May 2021 11:52:36 +0000 (11:52 +0000)]
In singel user mode / is mounted ro. Just warn if we can't create
the control socket instead of fatal().
OK deraadt