openbsd
11 months agoKNF, fix long line.
claudio [Mon, 20 Nov 2023 14:40:52 +0000 (14:40 +0000)]
KNF, fix long line.
OK tb@

11 months agoKNF
claudio [Mon, 20 Nov 2023 14:18:21 +0000 (14:18 +0000)]
KNF

11 months agolocalhost is either 127.0.0.1 or ::1, nothing else.
florian [Mon, 20 Nov 2023 12:15:16 +0000 (12:15 +0000)]
localhost is either 127.0.0.1 or ::1, nothing else.

RFC 6761, 6.3 Domain Name Reservation Considerations for "localhost.":
   3.  Name resolution APIs and libraries SHOULD recognize localhost
       names as special and SHOULD always return the IP loopback address
       for address queries and negative responses for all other query
       types.  Name resolution APIs SHOULD NOT send queries for
       localhost names to their configured caching DNS server(s).

This makes sure that the getaddrinfo(3) and gethostbyname(3) family of
functions always return the loopback address and do not send queries
to name servers. This includes "localhost", "localhost." and
everything under ".localhost" and ".localhost.".

For example, a host underneath the .com.ar zone will per default have
a search list of "com.ar.". resolv.conf(5) has a default of "lookup
bind file". Both combined will result in lookups for "localhost" to
not return 127.0.0.1 because localhost.com.ar is registered in DNS.

It has been known for decades that this is a problem, especially for
localhost.

Problem recently spotted by gonzalo@ and debugged by sthen@

Testing sthen, gonzalo
Input & OK phessler, eric, millert
OK sthen, kn, deraadt

11 months agoAdd a couple of tests for handling of tcp connections.
martijn [Mon, 20 Nov 2023 10:34:21 +0000 (10:34 +0000)]
Add a couple of tests for handling of tcp connections.

11 months agoIn snmpe_writecb, don't call snmpe_prepare_read() when there's still
martijn [Mon, 20 Nov 2023 10:32:45 +0000 (10:32 +0000)]
In snmpe_writecb, don't call snmpe_prepare_read() when there's still
data left inside sm_data. If there's an incomplete packet left in the
buffer it will be called from snmpe_tryparse, if there's a complete
packet left we can end up with new events from the tcp socket, which the
tcp subsystem isn't prepared to handle.

OK tb@

11 months agoCode changes between llvm 13 and 16 mean that we have to drop the final dot
kettenis [Mon, 20 Nov 2023 10:11:03 +0000 (10:11 +0000)]
Code changes between llvm 13 and 16 mean that we have to drop the final dot
for the .openbsd.randomdata and .openbsd.mutable section merging code.

ok jca@

11 months agoRestore lost patch: downgrade RISCV ABI mismatch error to a warning
jca [Mon, 20 Nov 2023 04:53:11 +0000 (04:53 +0000)]
Restore lost patch: downgrade RISCV ABI mismatch error to a warning

This lets lld link code with object files created with ld -b binary,
as used by several ports (mupdf, postgresql-pllua, various games).
Upstream report with an unfinished diff: https://reviews.llvm.org/D106378

ok gkoehler@ kettenis@

11 months agoset errno=EAFNOSUPPORT when filtering addresses that don't match
djm [Mon, 20 Nov 2023 02:50:00 +0000 (02:50 +0000)]
set errno=EAFNOSUPPORT when filtering addresses that don't match
AddressFamily; yields slightly better error message if no address
matches. bz#3526

11 months agoonly enable bti and pac by default on arm64
jsg [Mon, 20 Nov 2023 01:35:21 +0000 (01:35 +0000)]
only enable bti and pac by default on arm64

before this change, clang on armv7 defined __ARM_FEATURE_BTI_DEFAULT and
__ARM_FEATURE_PAC_DEFAULT which broke the build of llvm libunwind

ok kettenis@ deraadt@

11 months agoStill need engine.h for ENGINE_free()
tb [Mon, 20 Nov 2023 01:20:19 +0000 (01:20 +0000)]
Still need engine.h for ENGINE_free()

But do away with the OPENSSL_NO_ENGINE dance.

11 months agoMark up an occurrence of ENGINE
tb [Sun, 19 Nov 2023 21:13:47 +0000 (21:13 +0000)]
Mark up an occurrence of ENGINE

11 months agoENGINE can no longer have ex_data attached to it
tb [Sun, 19 Nov 2023 21:08:04 +0000 (21:08 +0000)]
ENGINE can no longer have ex_data attached to it

11 months agoRemove musings how ENGINE may or may not screw everything up.
tb [Sun, 19 Nov 2023 21:06:15 +0000 (21:06 +0000)]
Remove musings how ENGINE may or may not screw everything up.

11 months agoRemove ENGINE mention in RSA_new()
tb [Sun, 19 Nov 2023 21:03:22 +0000 (21:03 +0000)]
Remove ENGINE mention in RSA_new()

11 months agoOPENSSL_config() no longer calls ENGINE_load_builtin_engines()
tb [Sun, 19 Nov 2023 21:01:27 +0000 (21:01 +0000)]
OPENSSL_config() no longer calls ENGINE_load_builtin_engines()

11 months agoENGINE_add_conf_module() no longer exists
tb [Sun, 19 Nov 2023 20:59:00 +0000 (20:59 +0000)]
ENGINE_add_conf_module() no longer exists

11 months agoRemove ENGINE Xr that I left behind
tb [Sun, 19 Nov 2023 20:58:07 +0000 (20:58 +0000)]
Remove ENGINE Xr that I left behind

11 months agozap stray comma
tb [Sun, 19 Nov 2023 20:54:14 +0000 (20:54 +0000)]
zap stray comma

11 months agoDisable LOAD_STACK_GUARD on OpenBSD/armv7. It seems the implementation
kettenis [Sun, 19 Nov 2023 16:42:05 +0000 (16:42 +0000)]
Disable LOAD_STACK_GUARD on OpenBSD/armv7.  It seems the implementation
is incomplete resulting in SIGSEGV with the OpenBSD default options.

ok deraadt@, jsg@

11 months agoUnifdef OPENSSL_NO_ENGINE in libssl
tb [Sun, 19 Nov 2023 15:51:49 +0000 (15:51 +0000)]
Unifdef OPENSSL_NO_ENGINE in libssl

As usual, a few manual fixes to avoid duplicate lines.

ok jsing

11 months agoManually unifdef OPENSSL_NO_ENGINE in ssl_clnt.c
tb [Sun, 19 Nov 2023 15:50:29 +0000 (15:50 +0000)]
Manually unifdef OPENSSL_NO_ENGINE in ssl_clnt.c

This allows us to simplify ssl_do_client_cert_cb() a bit.

ok jsing

11 months agoRename an ENGINE from e to engine for consistency
tb [Sun, 19 Nov 2023 15:47:40 +0000 (15:47 +0000)]
Rename an ENGINE from e to engine for consistency

11 months agoUnifdef OPENSSL_NO_ENGINE in libcrypto
tb [Sun, 19 Nov 2023 15:46:09 +0000 (15:46 +0000)]
Unifdef OPENSSL_NO_ENGINE in libcrypto

This is mechanical apart from a few manual edits to avoid doubled empty
lines.

ok jsing

11 months agoUnifdef OPENSSL_NO_ENGINE in pmeth_lib.c
tb [Sun, 19 Nov 2023 15:43:52 +0000 (15:43 +0000)]
Unifdef OPENSSL_NO_ENGINE in pmeth_lib.c

This includes a manual intervention for the call to EVP_PKEY_meth_find()
which ended up in the middle of nowhere.

ok jsing

11 months agoUnifdef OPENSSL_NO_ENGINE in engine.h
tb [Sun, 19 Nov 2023 15:41:46 +0000 (15:41 +0000)]
Unifdef OPENSSL_NO_ENGINE in engine.h

Also rip out all the gross, useless comments. There's still too much
garbage in here...

ok jsing

11 months agoAlso mention ENGINE_{cleanup,{ctrl_cmd{,_string}()
tb [Sun, 19 Nov 2023 15:40:12 +0000 (15:40 +0000)]
Also mention ENGINE_{cleanup,{ctrl_cmd{,_string}()

11 months agoRemove last OPENSSL_NO_ENGINE from libssl regress
tb [Sun, 19 Nov 2023 13:12:06 +0000 (13:12 +0000)]
Remove last OPENSSL_NO_ENGINE from libssl regress

11 months agoUnifdef OPENSSL_NO_ENGINE in libcrypto regress
tb [Sun, 19 Nov 2023 13:11:05 +0000 (13:11 +0000)]
Unifdef OPENSSL_NO_ENGINE in libcrypto regress

11 months agoMissing period
tb [Sun, 19 Nov 2023 11:50:02 +0000 (11:50 +0000)]
Missing period

11 months agofix grammar
tb [Sun, 19 Nov 2023 11:47:25 +0000 (11:47 +0000)]
fix grammar

11 months agoutil.c requires stdint.h for UINT32_MAX and friends.
claudio [Sun, 19 Nov 2023 10:41:25 +0000 (10:41 +0000)]
util.c requires stdint.h for UINT32_MAX and friends.
OK tb@

11 months agosync
tb [Sun, 19 Nov 2023 10:37:35 +0000 (10:37 +0000)]
sync

11 months agoRemove remaining ENGINE manuals
tb [Sun, 19 Nov 2023 10:36:14 +0000 (10:36 +0000)]
Remove remaining ENGINE manuals

They document functionality that no longer exists.

11 months agoStrip mention of ENGINE out of *_set_method.3
tb [Sun, 19 Nov 2023 10:34:26 +0000 (10:34 +0000)]
Strip mention of ENGINE out of *_set_method.3

11 months agoStrip out mentions of ENGINE_load_builtin_engines()
tb [Sun, 19 Nov 2023 10:27:49 +0000 (10:27 +0000)]
Strip out mentions of ENGINE_load_builtin_engines()

There's probably more that needs to be updated here, but that can be done
another day.

11 months agoex data for ENGINEs is no longer a thing
tb [Sun, 19 Nov 2023 10:26:36 +0000 (10:26 +0000)]
ex data for ENGINEs is no longer a thing

11 months agoRemove section explaining how great and flexible ENGINE is and
tb [Sun, 19 Nov 2023 10:25:28 +0000 (10:25 +0000)]
Remove section explaining how great and flexible ENGINE is and
remove two Xr to ENGINE manuals.

11 months agoRemove obsolete engine configuration section
tb [Sun, 19 Nov 2023 10:23:53 +0000 (10:23 +0000)]
Remove obsolete engine configuration section

11 months agoDocument the remaining ENGINE stubs in a single manual
tb [Sun, 19 Nov 2023 10:19:54 +0000 (10:19 +0000)]
Document the remaining ENGINE stubs in a single manual

11 months agoEVP_PKEY_encrypt() simplify example
tb [Sun, 19 Nov 2023 10:09:27 +0000 (10:09 +0000)]
EVP_PKEY_encrypt() simplify example

In particular, do not use an uninitialized engine, simply pass NULL.

11 months agoopenssl pkcs12: rewrite without reaching into X509_ALGOR
tb [Sun, 19 Nov 2023 09:29:11 +0000 (09:29 +0000)]
openssl pkcs12: rewrite without reaching into X509_ALGOR

We can call ASN1_item_unpack() which will end up stuffing the same
arguments into ASN1_item_d2i() as d2i_PBEPARAM(). This eliminates
the last struct access into X509_ALGOR outside libcrypto in the base
tree.

ok jsing

11 months agoopenssl ts: convert to X509_ALGOR_set0()
tb [Sun, 19 Nov 2023 09:19:54 +0000 (09:19 +0000)]
openssl ts: convert to X509_ALGOR_set0()

ok jsing

11 months agoFix cc -ftrapping-math on macppc
gkoehler [Sun, 19 Nov 2023 01:14:07 +0000 (01:14 +0000)]
Fix cc -ftrapping-math on macppc

Handle CALL_RM like CALL for 32-bit ELF.  If a function call has the
strictfp attribute, its opcode changes from CALL to CALL_RM.  If a
call uses the secure PLT, then it must getGlobalBaseReg() to set r30.

After I rebuilt xenocara/lib/pixman with this change, Xorg stopped
crashing on my macppc.  pixman uses cc -ftrapping-math which puts
strictfp on each function call.

https://github.com/llvm/llvm-project/pull/72758

ok jca@ tobhe@ deraadt@

11 months agoneed to use a slightly different asm syntax..
deraadt [Sun, 19 Nov 2023 00:46:54 +0000 (00:46 +0000)]
need to use a slightly different asm syntax..

11 months agosync zlib with userland
tb [Sat, 18 Nov 2023 22:43:56 +0000 (22:43 +0000)]
sync zlib with userland

11 months agolibz sync with develop branch, discussed with deraadt
tb [Sat, 18 Nov 2023 22:43:25 +0000 (22:43 +0000)]
libz sync with develop branch, discussed with deraadt

Apart from cosmetics, this includes the following commits:

Add LIT_MEM define to use more memory for a small deflate speedup.

A bug fix in zlib 1.2.12 resulted in a slight slowdown (1-2%) of
deflate. This commit provides the option to #define LIT_MEM, which
uses more memory to reverse most of that slowdown. The memory for
the pending buffer and symbol buffers is increased by 25%, which
increases the total memory usage with the default parameters by
about 6%.

https://github.com/madler/zlib/commit/ac8f12c97d1afd9bafa9c710f827d40a407d3266

Fix bug in inflateSync() for data held in bit buffer.

https://github.com/madler/zlib/commit/5af7cef45eeef86ddf6ab00b4e363c1eecaf47b6

11 months agoSync example.c and minigzip.c with upstream.
tb [Sat, 18 Nov 2023 22:40:14 +0000 (22:40 +0000)]
Sync example.c and minigzip.c with upstream.

This silences lots of K&R warning noise.

11 months agooops another copy of the prototype
deraadt [Sat, 18 Nov 2023 18:02:47 +0000 (18:02 +0000)]
oops another copy of the prototype

11 months agocrt0 uses a helper function in a MD src/libexec/ld.so .h file (rather than
deraadt [Sat, 18 Nov 2023 16:26:15 +0000 (16:26 +0000)]
crt0 uses a helper function in a MD src/libexec/ld.so .h file (rather than
reproducing the relevant defines and code in a different place) to perform
minor relocations.  If things go very wrong, it would call _dl_exit() --
a locally defined crt0 function which is syscall exit(2).  We don't need
to call exit(2) for this obscure case which doesn't happen and provides no
debugging information. An 'abort' is going to provide better information.
So let's change the function name to _dso_abort() and make it a single
illegal instruction.
ok guenther

11 months agoScan past whitespace before checking if flag string starts
krw [Sat, 18 Nov 2023 15:42:09 +0000 (15:42 +0000)]
Scan past whitespace before checking if flag string starts
with "0x".

Pointed out by Philippe Meunier.

11 months agoCheck for negative EVP_CIPHER_CTX_iv_length() return in libssl
tb [Sat, 18 Nov 2023 10:51:09 +0000 (10:51 +0000)]
Check for negative EVP_CIPHER_CTX_iv_length() return in libssl

ok beck

11 months agoForgot to fix one unsigned int vs int confusion
tb [Sat, 18 Nov 2023 10:46:58 +0000 (10:46 +0000)]
Forgot to fix one unsigned int vs int confusion

CID 468015

11 months agoCheck for negative IV length
tb [Sat, 18 Nov 2023 09:37:15 +0000 (09:37 +0000)]
Check for negative IV length

A recent change in EVP_CIPHER_CTX_iv_length() made it possible in principle
that this function returns -1. This can only happen for an incorrectly set
up EVP_CIPHER. Still it is better form to check for negative lengths before
stuffing it into a memcpy().

It would probably be desirable to cap the iv_length to something large
enough. This can be done another time.

ok beck

11 months agosync
sthen [Sat, 18 Nov 2023 09:15:05 +0000 (09:15 +0000)]
sync

11 months agoFix make other_two target by coping with leapseconds being placed in
anton [Sat, 18 Nov 2023 07:18:07 +0000 (07:18 +0000)]
Fix make other_two target by coping with leapseconds being placed in
objdir by now.

11 months agoRename internal function imsg_get_fd() to imsg_dequeue_fd().
claudio [Sat, 18 Nov 2023 07:14:13 +0000 (07:14 +0000)]
Rename internal function imsg_get_fd() to imsg_dequeue_fd().
OK tb@

11 months agoports specified on tunnel destination addresses are invalid.
dlg [Sat, 18 Nov 2023 00:23:38 +0000 (00:23 +0000)]
ports specified on tunnel destination addresses are invalid.

11 months agoUse "mv -f" when moving the output file into place in the obj dir.
millert [Fri, 17 Nov 2023 21:54:20 +0000 (21:54 +0000)]
Use "mv -f" when moving the output file into place in the obj dir.

11 months agozoneinfo: install tzdata.zi and leap-seconds.list
millert [Fri, 17 Nov 2023 21:51:37 +0000 (21:51 +0000)]
zoneinfo: install tzdata.zi and leap-seconds.list

Build and install the tzdata.zi file and build the leapseconds file
from leap-seconds.list (installing both versions).  Third-party
software now expects these files to be installed.  OK sthen@ deraadt@

11 months agoUse -mxgot to avoid GOT overflow during build on mips64.
visa [Fri, 17 Nov 2023 15:46:58 +0000 (15:46 +0000)]
Use -mxgot to avoid GOT overflow during build on mips64.

Tested by deraadt@

11 months agoThe term peerid originated from bgpd. It is time to generalize this and
claudio [Fri, 17 Nov 2023 15:35:15 +0000 (15:35 +0000)]
The term peerid originated from bgpd. It is time to generalize this and
just call it id. This only targets the function arguments but not the
struct imsg_hdr field since that is a major API break.
OK tb@

11 months agoSet "unique_subject = no" to allow renewing expired certificates.
tobhe [Fri, 17 Nov 2023 14:43:36 +0000 (14:43 +0000)]
Set "unique_subject = no" to allow renewing expired certificates.
Without this, openssl throws an error when creating a second req for
the same subject which leads to ikectl deleting the old cert without
creating a new one.

Reported by Ryan Kavanagh in openiked-portable here:
https://github.com/openiked/openiked-portable/issues/125

discussed with tb@
ok patrick@

11 months agorename struct imsgbuf *ibuf to *imsgbuf since ibuf is too close to
claudio [Fri, 17 Nov 2023 13:43:32 +0000 (13:43 +0000)]
rename struct imsgbuf *ibuf to *imsgbuf since ibuf is too close to
struct ibuf and just causes confusion for little gain.

OK tb@ stsp@

11 months agoDo not log errors form pcap_dispatch() caused by signals.
claudio [Fri, 17 Nov 2023 12:10:23 +0000 (12:10 +0000)]
Do not log errors form pcap_dispatch() caused by signals.

pcap_dispatch() returns -1 (PCAP_ERROR) or -2 (PCAP_ERROR_BREAK) the
latter is used when a signal is received and is not an error. So limit
the code to log errors to np == -1.
OK semarie@ sashan@

11 months agoMention which functions are implemented as macros in the few cases
schwarze [Thu, 16 Nov 2023 20:27:43 +0000 (20:27 +0000)]
Mention which functions are implemented as macros in the few cases
where that information was missing.

11 months agodrop some duplicate statements about macros
schwarze [Thu, 16 Nov 2023 20:19:23 +0000 (20:19 +0000)]
drop some duplicate statements about macros

11 months agofix wrong macro
schwarze [Thu, 16 Nov 2023 20:17:04 +0000 (20:17 +0000)]
fix wrong macro

11 months agodowngrade -Wint-conversion to a warning
robert [Thu, 16 Nov 2023 19:38:44 +0000 (19:38 +0000)]
downgrade -Wint-conversion to a warning

autoconf might misinterpet this so we need to do a full sweep
before it can be upgraded to an error again

11 months agoRun TCP SYN cache timer logik without net lock.
bluhm [Thu, 16 Nov 2023 18:27:48 +0000 (18:27 +0000)]
Run TCP SYN cache timer logik without net lock.

Introduce global TCP SYN cache mutex.  Devide timer function in
parts protected by mutex and sending with netlock.  Split the flags
field in dynamic flags protected by mutex and fixed flags set during
initialization.  Document whether fields of struct syn_cache are
protected by net lock or mutex.

input and OK sashan@

11 months agodelete lots of stuff that no longer exists
schwarze [Thu, 16 Nov 2023 18:10:19 +0000 (18:10 +0000)]
delete lots of stuff that no longer exists

11 months agoUse tset -I for all terminals, not just xterm.
millert [Thu, 16 Nov 2023 16:05:13 +0000 (16:05 +0000)]
Use tset -I for all terminals, not just xterm.

Terminal initialization is usually only needed for hardware terminals,
which are rare these days, and the initialization strings result
in a bunch of extra newlines on pseudo-terminals.  OK nicm@

11 months agoUse tset -I for all terminals, not just xterm.
millert [Thu, 16 Nov 2023 16:03:51 +0000 (16:03 +0000)]
Use tset -I for all terminals, not just xterm.

Terminal initialization is usually only needed for hardware terminals,
which are rare these days, and the initialization strings result
in a bunch of extra newlines on pseudo-terminals.  OK nicm@

11 months agofix typo: exdata -> ex_data
schwarze [Thu, 16 Nov 2023 15:39:32 +0000 (15:39 +0000)]
fix typo: exdata -> ex_data

11 months agoset .NOTPARALLEL for AMDGPU tblgen files to tame memory usage on i386
robert [Thu, 16 Nov 2023 15:05:44 +0000 (15:05 +0000)]
set .NOTPARALLEL for AMDGPU tblgen files to tame memory usage on i386

ok deraadt@

11 months agoIn appl_processpdu() no need to set avi_next, and only set av_next up
martijn [Thu, 16 Nov 2023 14:35:25 +0000 (14:35 +0000)]
In appl_processpdu() no need to set avi_next, and only set av_next up
to varbindlen, since its only use is to print the varbindlist via
appl_pdu_log() and both are further properly initialized in
appl_request_upstream_resolve().

This fixes a cosmetic off by one for getbulk requests.

OK tb@

11 months agoMinimal fix to unbreak OPENSSL_{gmtime,timegm}(3)
tb [Thu, 16 Nov 2023 14:20:49 +0000 (14:20 +0000)]
Minimal fix to unbreak OPENSSL_{gmtime,timegm}(3)

I was told not to look since it will magically get fixed. Fine. I'd still
have expected a minimal amount of care so that the manpage isn't totally
dysfunctional and missing text in the right places. Sigh.

11 months agocrank some limits because clang is a piggy
deraadt [Thu, 16 Nov 2023 13:47:42 +0000 (13:47 +0000)]
crank some limits because clang is a piggy

11 months agocrank MAXTSIZ because clang is a piggy
deraadt [Thu, 16 Nov 2023 13:47:22 +0000 (13:47 +0000)]
crank MAXTSIZ because clang is a piggy

11 months agoAdd 3 tests for when getbulk reaches EOMV.
martijn [Thu, 16 Nov 2023 13:26:45 +0000 (13:26 +0000)]
Add 3 tests for when getbulk reaches EOMV.

11 months agoavi_origid must also be set when transitioning out of the
martijn [Thu, 16 Nov 2023 13:25:07 +0000 (13:25 +0000)]
avi_origid must also be set when transitioning out of the
APPL_VBSTATE_MUSTFILL state, else snmpd won't like use once we reach
EOMV of our view of the world.

OK tb@

11 months agoSimplify CRL printing
tb [Thu, 16 Nov 2023 11:18:47 +0000 (11:18 +0000)]
Simplify CRL printing

ok claudio

11 months agoImprove CRL extension checking
tb [Thu, 16 Nov 2023 11:17:52 +0000 (11:17 +0000)]
Improve CRL extension checking

RFC 6487 section 5 requires AKI and CRL Number and no other numbers to be
present in a CRL. We only checked for AKI and ignored other extensions.

Pointed out by Haya Schulmann et al

ok claudio

11 months agoAdd a helper to extrct the CRL Number from a crl
tb [Thu, 16 Nov 2023 11:10:59 +0000 (11:10 +0000)]
Add a helper to extrct the CRL Number from a crl

ok claudio

11 months agoconsider an MX of "localhost" as it were a "Null MX"
op [Thu, 16 Nov 2023 10:23:21 +0000 (10:23 +0000)]
consider an MX of "localhost" as it were a "Null MX"

diff from Philipp (philipp+openbsd [at] bureaucracy [dot] de), thanks!

ok sthen@

11 months agoAdd expected output files, missed in previous commit. I hope our grep is
anton [Thu, 16 Nov 2023 06:27:12 +0000 (06:27 +0000)]
Add expected output files, missed in previous commit. I hope our grep is
producing the wanted output at this point.

11 months agoavoid reading data when enumerating kstats.
dlg [Thu, 16 Nov 2023 03:17:34 +0000 (03:17 +0000)]
avoid reading data when enumerating kstats.

this means we can reliably read the provider/instance/name/unit
tuple, which should avoid "duplicate kstat entry" when multiple
kstat read handlers have issues.

found on a box with multiple rge interfaces, which have hardware
backed kstats that can only be read when the interface is up.

11 months agohandle printing cpu freq and volt kstat_kv types
dlg [Thu, 16 Nov 2023 02:45:54 +0000 (02:45 +0000)]
handle printing cpu freq and volt kstat_kv types

11 months agocpu frequency and volt types for kstat_kvs
dlg [Thu, 16 Nov 2023 02:45:20 +0000 (02:45 +0000)]
cpu frequency and volt types for kstat_kvs

11 months agouse a random number as the cookie in bio ioctls.
dlg [Wed, 15 Nov 2023 23:57:45 +0000 (23:57 +0000)]
use a random number as the cookie in bio ioctls.

ok kn@ krw@

11 months agowhen connecting via socket (the default case), filter addresses by
djm [Wed, 15 Nov 2023 23:03:38 +0000 (23:03 +0000)]
when connecting via socket (the default case), filter addresses by
AddressFamily if one was specified. Fixes the case where, if
CanonicalizeHostname is enabled, ssh may ignore AddressFamily.
bz5326; ok dtucker

11 months agowhen deciding whether to enable keystroke timing obfuscation,
djm [Wed, 15 Nov 2023 22:51:49 +0000 (22:51 +0000)]
when deciding whether to enable keystroke timing obfuscation,
only consider enabling it when a channel with a tty is open.

Avoids turning on the obfucation when X11 forwarding only is in use,
which slows it right down. Reported by Roger Marsh

11 months agoConstify disk_map()'s path argument
kn [Wed, 15 Nov 2023 20:23:19 +0000 (20:23 +0000)]
Constify disk_map()'s path argument

The disklabel UID passed in is not modified, reflect that and allow callers
using 'const char *'.

OK miod

11 months agofnematch: fix a bug that could result in extra chars being pushed back.
millert [Wed, 15 Nov 2023 18:56:53 +0000 (18:56 +0000)]
fnematch: fix a bug that could result in extra chars being pushed back.

From Arnold Robbins.  https://github.com/onetrueawk/awk/pull/213

11 months agofnematch: fix out-of-bounds access on EOF
millert [Wed, 15 Nov 2023 18:48:13 +0000 (18:48 +0000)]
fnematch: fix out-of-bounds access on EOF

fnematch() expects to store a NUL byte when EOF is encountered.
However, the rewrite broke this assumption because r.len from getrune()
is zero on EOF.  This results in j becoming negative on EOF, causing an
out-of-bounds access.  It is simplest to just force r.len to 1 on EOF
to copy a single NUL byte--the rune is initialized to zero even for EOF.

This also fixes the call to adjbuf().  We cannot use 'k' to determine
when we need to expand the buffer now that we are potentially reading
more than a single byte at a time.

https://github.com/onetrueawk/awk/pull/211

11 months agoCorrect denominators when converting NTP fixed point values to double
otto [Wed, 15 Nov 2023 15:52:09 +0000 (15:52 +0000)]
Correct denominators when converting NTP fixed point values to double
and vice-versa; ok tb@

11 months agoMake sure we allocate the correct size for an appl_agentcap.
martijn [Wed, 15 Nov 2023 13:36:11 +0000 (13:36 +0000)]
Make sure we allocate the correct size for an appl_agentcap.

OK claudio@ miod@

11 months agoDon't let signify mess up our status line
afresh1 [Wed, 15 Nov 2023 02:07:43 +0000 (02:07 +0000)]
Don't let signify mess up our status line

While not verbose the status line is built as we go, so save errors from
signify until after we've finished the status line.  This should exit and print
the error immediately, since this happens when fetching the SHA256.sig and
fw_update exits early in that case.

11 months agoImprove output after waiting for package db lock
afresh1 [Wed, 15 Nov 2023 02:03:49 +0000 (02:03 +0000)]
Improve output after waiting for package db lock

OpenBSD::PackageInfo::lock_db will send messages to STDERR if we ended up
waiting for a lock, if that happens, it stomped over the "fw_update:" prefix on
the status line so tidy up and print it out again.

11 months agoBetter handle ftp errors in fw_update
afresh1 [Wed, 15 Nov 2023 02:00:02 +0000 (02:00 +0000)]
Better handle ftp errors in fw_update

Trap STDERR to post-process it looking for 404 errors to handle them differently.

The fetch method now also returns different error codes for errors that can
continue on.  Currently only 404 is special and everything else should cause
fw_update to exit early without trying all the files.

Exit early if the SHA256.sig gets a 404 because that is required to figure out
what valid firmware are.

11 months agoImprove fw_update output on errors
afresh1 [Wed, 15 Nov 2023 01:54:01 +0000 (01:54 +0000)]
Improve fw_update output on errors

Mostly some setup for the future, by separating out the filehandles we use for
the status and errors more specifically, we can trap the things we know about
without hiding surprises.