openbsd
3 years agoPreserve pipe select(2) semantics when the other end of the pipe is gone.
anton [Fri, 22 Oct 2021 05:00:26 +0000 (05:00 +0000)]
Preserve pipe select(2) semantics when the other end of the pipe is gone.
In preparation for implementing select(2) on top of kqueue.

ok mpi@

3 years agoOne could end up with the wrong encoding in xenocara while having a ucc
anton [Fri, 22 Oct 2021 04:59:31 +0000 (04:59 +0000)]
One could end up with the wrong encoding in xenocara while having a ucc
keyboard attached and /etc/kbdtype being present. The advertised
encoding of a wsmux is a bit fragile as the last attached device will
dictate it. If this happens to be a ucc keyboard, KB_US will always be
the advertised encoding as its encoding is immutable and /etc/kbdtype is
ignored.

Instead, do not advertise the encoding for ucc devices when the parent
mux queries its attached devices. However, asking the device directly
(i.e. bypassing the mux) still returns the encoding as wsconsctl(8)
would otherwise report an error.

Thanks to landry@ for the report and testing.

3 years agoRemove more dead code related to crypto task queues.
tobhe [Thu, 21 Oct 2021 23:03:48 +0000 (23:03 +0000)]
Remove more dead code related to crypto task queues.

3 years agoRemove code to run crypto operations in a task queue. The code was
tobhe [Thu, 21 Oct 2021 22:59:07 +0000 (22:59 +0000)]
Remove code to run crypto operations in a task queue. The code was
not reachable because all callers had set the CRYPTO_F_NOQUEUE flag.

ok patrick@ mvs@ bluhm@

3 years agoSimplify the description of RETURN VALUES.
schwarze [Thu, 21 Oct 2021 22:36:16 +0000 (22:36 +0000)]
Simplify the description of RETURN VALUES.
After tb@'s commit x509/x509_lu.c rev. 1.33, it is no longer necessary
to talk about X509_LU_* constants as return values from these functions.
Feedback and OK from tb@.

3 years agoInitialize interrupts to G1NS by configuring IGROUPR and IGRPMODR. This
patrick [Thu, 21 Oct 2021 22:25:03 +0000 (22:25 +0000)]
Initialize interrupts to G1NS by configuring IGROUPR and IGRPMODR.  This
makes interrupts work with Parallels on the Apple M1.

Tested by patrick@ on Ampere eMAG and MacchiatoBin
Tested by fkr@ on Pinebook Pro
ok kettenis@

3 years agoRelease solock() before call unp_internalize() and take it within when
mvs [Thu, 21 Oct 2021 22:11:07 +0000 (22:11 +0000)]
Release solock() before call unp_internalize() and take it within when
access garbage collector data.

This is the next step to make UNIX domain sockets locking fine grained.
This also moves M_WAIT/M_WAITOK allocations out from `unp_lock' rwlock(9).
The lock order between fdplock() and `unp_lock' changed and now fdplock()
should be taken first. This was not required, but helps to mpi@'s knote(9)
related work.

ok bluhm@

3 years agoregen
jsg [Thu, 21 Oct 2021 21:50:16 +0000 (21:50 +0000)]
regen

3 years agoadd Gemini Lake MEI; from fkr
jsg [Thu, 21 Oct 2021 21:47:41 +0000 (21:47 +0000)]
add Gemini Lake MEI; from fkr

3 years agoRemove hifn(4), safe(4), and ubsec(4) crypto drivers. They require
bluhm [Thu, 21 Oct 2021 18:36:41 +0000 (18:36 +0000)]
Remove hifn(4), safe(4), and ubsec(4) crypto drivers.  They require
the asynchronous crypto API which makes progress in MP difficult.
The hardware is rarely available.  They support only obsolete crypto
algorithms.  Scheduling crypto tasks via PCI is probably slower
than the CPU, especailly as modern CPUs have their own accelerators.

3 years agoHave ampintcmsi(4) go through the list of interrupt controllers to find the
patrick [Thu, 21 Oct 2021 18:30:57 +0000 (18:30 +0000)]
Have ampintcmsi(4) go through the list of interrupt controllers to find the
correct parent.  So far we were directly calling some ampintc(4) code, which
is fine for regular hardware.  With Parallels on the Apple M1, ampintcmsi(4)
is combined with agintc(4), which is quite a surprise.  Luckily both types of
interrupt controllers use the same API for passing interrupt information, so
we can craft one structure and both ampintc(4) and agintc(4) will happily work
with it.

ok kettenis@

3 years agoSimplify a return value check for X509_STORE_get_by_subject() now
tb [Thu, 21 Oct 2021 16:55:25 +0000 (16:55 +0000)]
Simplify a return value check for X509_STORE_get_by_subject() now
that we know that it only returns 0 or 1.  Eliminate the last uses
of X509_LU_{FAIL,RETRY}.

ok jsing

3 years agoSet enc.modified if the X509_REQ is going to be modified.
tb [Thu, 21 Oct 2021 16:47:01 +0000 (16:47 +0000)]
Set enc.modified if the X509_REQ is going to be modified.

ok jsing

3 years agonew manual page X509_ATTRIBUTE_set1_object(3)
schwarze [Thu, 21 Oct 2021 16:26:34 +0000 (16:26 +0000)]
new manual page X509_ATTRIBUTE_set1_object(3)
documenting five X.501 Attribute write accessors

3 years agoSync parts of X509_STORE_get_by_subject() with OpenSSL
tb [Thu, 21 Oct 2021 16:03:17 +0000 (16:03 +0000)]
Sync parts of X509_STORE_get_by_subject() with OpenSSL

Initialize stmp.type and stmp.data.ptr so that a user-defined lookup
method need not take responsibility of initializing those. Get rid of
current_method, which was never really used. Stop potentially returning
a negative value since most callers assume Boolean return values already.

In addition, garbage collect the pointless j variable.

ok jsing

3 years agoDocument commands used to send VM IP to Xen host
denis [Thu, 21 Oct 2021 15:56:17 +0000 (15:56 +0000)]
Document commands used to send VM IP to Xen host

OK kn@

3 years agoPrepare to make X509 opaque.
tb [Thu, 21 Oct 2021 15:52:02 +0000 (15:52 +0000)]
Prepare to make X509 opaque.

ok jsing

3 years agoClean up the naming of SNMP_C_GETNEXTREQ and SNMP_C_RESPONSE inside
martijn [Thu, 21 Oct 2021 15:08:15 +0000 (15:08 +0000)]
Clean up the naming of SNMP_C_GETNEXTREQ and SNMP_C_RESPONSE inside
smi_debug_elements

OK sthen@

3 years agolibtls: Don't reach into X509_STORE_CTX.
tb [Thu, 21 Oct 2021 14:57:55 +0000 (14:57 +0000)]
libtls: Don't reach into X509_STORE_CTX.

ok jsing

3 years agos/SNMP_C_GETRESP/SNMP_C_RESPONSE
martijn [Thu, 21 Oct 2021 14:33:13 +0000 (14:33 +0000)]
s/SNMP_C_GETRESP/SNMP_C_RESPONSE

OK sthen@

3 years agoSwitch from X509_VERIFY_PARAM_set_flags() to X509_STORE_set_flags().
tb [Thu, 21 Oct 2021 14:31:21 +0000 (14:31 +0000)]
Switch from X509_VERIFY_PARAM_set_flags() to X509_STORE_set_flags().
This reduces the number of reacharounds into libcrypto internals.

ok jsing

3 years agoisakmpd: prepare for opaque X509_STORE_CTX struct.
tb [Thu, 21 Oct 2021 14:01:00 +0000 (14:01 +0000)]
isakmpd: prepare for opaque X509_STORE_CTX struct.

ok benno

3 years agoisakmpd: prepare for opaque X509_EXTENSION struct. This needs to use
tb [Thu, 21 Oct 2021 13:58:02 +0000 (13:58 +0000)]
isakmpd: prepare for opaque X509_EXTENSION struct. This needs to use
an accessor instead of reaching directly into the struct.

ok benno

3 years agoAdd XKU_ANYEKU #define and use it to cache the anyExtendedKeyUsage
tb [Thu, 21 Oct 2021 13:51:52 +0000 (13:51 +0000)]
Add XKU_ANYEKU #define and use it to cache the anyExtendedKeyUsage
extension. This is part of OpenSSL commit df4c395c which didn't make
it into our tree for some reason.

ok jsing

3 years agoRemove 'disk' editing command. Determining the disk geometry on startup (from
krw [Thu, 21 Oct 2021 13:16:49 +0000 (13:16 +0000)]
Remove 'disk' editing command. Determining the disk geometry on startup (from
-l, -c/-h/-s or DIOCGPDINFO) should be enough for anyone.

3 years agoPrepare to provide X509_get_X509_PUBKEY() as a function.
tb [Thu, 21 Oct 2021 13:02:00 +0000 (13:02 +0000)]
Prepare to provide X509_get_X509_PUBKEY() as a function.

ok jsing

3 years agowhen a client sends header lines without a colon, respond with 400 Bad
benno [Thu, 21 Oct 2021 11:48:30 +0000 (11:48 +0000)]
when a client sends header lines without a colon, respond with 400 Bad
Request instead of 500 Internal Server Error.
ok claudio@

3 years agoAvoid sys/param.h, or annotate reasons for including where required.
deraadt [Thu, 21 Oct 2021 10:55:56 +0000 (10:55 +0000)]
Avoid sys/param.h, or annotate reasons for including where required.
This includes using HOST_NAME_MAX and PATH_MAX
in snaps for around 3 weeks, noone noticed a change in behaviour.

3 years agoMove vfs_stall_barrier() from the fd layer into vn_lock() and the vfs layer.
claudio [Thu, 21 Oct 2021 09:59:13 +0000 (09:59 +0000)]
Move vfs_stall_barrier() from the fd layer into vn_lock() and the vfs layer.
vfs stalling is used by suspend/resume and by vmt(4) to stall any
filesystem operation from altering the state on disk. All these
operations will call vn_lock and be stalled. Adjust vfs_stall_barrier()
to allow the lock owner to still progress so that suspend can sync
the filesystems after stalling vfs operation.
OK mpi@

3 years agoBump to LibreSSL 3.5.0
tb [Thu, 21 Oct 2021 08:47:42 +0000 (08:47 +0000)]
Bump to LibreSSL 3.5.0

3 years agoRemove duplicate variable ibytes, use plen instead.
tobhe [Thu, 21 Oct 2021 08:39:33 +0000 (08:39 +0000)]
Remove duplicate variable ibytes, use plen instead.

ok bluhm@

3 years agoEliminate a dead assignment and a weird cast. Adjust a comment to
tb [Thu, 21 Oct 2021 08:38:11 +0000 (08:38 +0000)]
Eliminate a dead assignment and a weird cast. Adjust a comment to
reality while there.

ok jsing

3 years agoCorrectly adjust the end pointer for a two character terminator before
nicm [Thu, 21 Oct 2021 08:36:51 +0000 (08:36 +0000)]
Correctly adjust the end pointer for a two character terminator before
decoding OSC 52 response, from Daniel Ekloef in GitHub issue 2942.

3 years agoPrint uid with %u instead of %i.
tb [Thu, 21 Oct 2021 08:33:07 +0000 (08:33 +0000)]
Print uid with %u instead of %i.

Prompted by a diff by Jonas Termansen, discussed with deraadt, millert

ok jsing

3 years agoUse *printf %d instead of %i
tb [Thu, 21 Oct 2021 08:31:51 +0000 (08:31 +0000)]
Use *printf %d instead of %i

ok jsing

3 years agoAvoid potential NULL dereferences in dtls1_free()
tb [Thu, 21 Oct 2021 08:30:14 +0000 (08:30 +0000)]
Avoid potential NULL dereferences in dtls1_free()

ok jsing

3 years agoShow error if user option doesn't exist, GitHub issue 2938.
nicm [Thu, 21 Oct 2021 08:23:48 +0000 (08:23 +0000)]
Show error if user option doesn't exist, GitHub issue 2938.

3 years agoRetrieve the actual engineid instead of a pointer value.
martijn [Thu, 21 Oct 2021 08:21:43 +0000 (08:21 +0000)]
Retrieve the actual engineid instead of a pointer value.

OK tb@

3 years agoSync ober_oid_cmp with ax_oid_cmp from libagentx.
martijn [Thu, 21 Oct 2021 08:17:33 +0000 (08:17 +0000)]
Sync ober_oid_cmp with ax_oid_cmp from libagentx.
This flips the returned signedness and adds the weight of 2 for
parent-child relationship in both direction.

This makes ober_oid_cmp consistent with the rest of the *_cmp based
functions.

OK tb@

3 years agosync
anton [Thu, 21 Oct 2021 05:30:15 +0000 (05:30 +0000)]
sync

3 years agodrm/edid: In connector_bad_edid() cap num_of_ext by num_blocks read
jsg [Wed, 20 Oct 2021 23:50:20 +0000 (23:50 +0000)]
drm/edid: In connector_bad_edid() cap num_of_ext by num_blocks read

From Douglas Anderson
a7b45024f66f9ec769e8dbb1a51ae83cd05929c7 in linux 5.10.y/5.10.75
97794170b696856483f74b47bfb6049780d2d3a0 in mainline linux

3 years agoAdd missing semicolon at the end of the listen_udptcp rule
gerhard [Wed, 20 Oct 2021 16:00:47 +0000 (16:00 +0000)]
Add missing semicolon at the end of the listen_udptcp rule

ok otto@

3 years agodocument ASN1_STRING_set_by_NID(3)
schwarze [Wed, 20 Oct 2021 15:54:21 +0000 (15:54 +0000)]
document ASN1_STRING_set_by_NID(3)
and the three functions related to the global mask

3 years agonew manual page ASN1_mbstring_copy(3)
schwarze [Wed, 20 Oct 2021 13:14:00 +0000 (13:14 +0000)]
new manual page ASN1_mbstring_copy(3)
also documenting ASN1_mbstring_ncopy(3)

3 years agoRemove a TODO comment.
nicm [Wed, 20 Oct 2021 09:52:27 +0000 (09:52 +0000)]
Remove a TODO comment.

3 years agoAdd -T to set a popup title, from Alexis Hildebrandt in GitHub issue 2941.
nicm [Wed, 20 Oct 2021 09:50:40 +0000 (09:50 +0000)]
Add -T to set a popup title, from Alexis Hildebrandt in GitHub issue 2941.

3 years agoDo not ignore carp(4) interfaces.
florian [Wed, 20 Oct 2021 07:04:49 +0000 (07:04 +0000)]
Do not ignore carp(4) interfaces.
Problem reported by Guy Godfroy on bugs, thanks!

3 years agorevert vnode: remove VLOCKSWORK and check locking when vop_islocked != nullop
semarie [Wed, 20 Oct 2021 06:35:39 +0000 (06:35 +0000)]
revert vnode: remove VLOCKSWORK and check locking when vop_islocked != nullop
(both kernel and userland bits)

GENERIC + VFSLCKDEBUG is broken with it.

3 years agosync
anton [Wed, 20 Oct 2021 06:01:16 +0000 (06:01 +0000)]
sync

3 years agonew manual page X509_ATTRIBUTE_get0_object(3)
schwarze [Wed, 20 Oct 2021 05:06:36 +0000 (05:06 +0000)]
new manual page X509_ATTRIBUTE_get0_object(3)
documenting the four X.501 Attribute read accessors

3 years agodocument X509_ATTRIBUTE_create(3) and X509_ATTRIBUTE_dup(3)
schwarze [Wed, 20 Oct 2021 03:31:20 +0000 (03:31 +0000)]
document X509_ATTRIBUTE_create(3) and X509_ATTRIBUTE_dup(3)

3 years agoMove get_default_mbr() invocation before DISK_open() invocation and remove
krw [Tue, 19 Oct 2021 19:38:10 +0000 (19:38 +0000)]
Move get_default_mbr() invocation before DISK_open() invocation and remove
"rpath wpath" from the pledge() invocation. Makes default_dmbr information
available to DISK_open().

No intentional functional change.

3 years agodocument X509_get_pubkey_parameters(3) in a new manual page
schwarze [Tue, 19 Oct 2021 17:42:49 +0000 (17:42 +0000)]
document X509_get_pubkey_parameters(3) in a new manual page

3 years agomore precision, fewer words
schwarze [Tue, 19 Oct 2021 16:27:47 +0000 (16:27 +0000)]
more precision, fewer words

3 years agovnode: remove VLOCKSWORK usage in pstat and mention in man pages
semarie [Tue, 19 Oct 2021 14:50:05 +0000 (14:50 +0000)]
vnode: remove VLOCKSWORK usage in pstat and mention in man pages

unbreak the tree. found hard way by tb@

ok tb@ which have the same diff

3 years agoSame as -N, don't send if 0 arguments and -R.
nicm [Tue, 19 Oct 2021 12:51:43 +0000 (12:51 +0000)]
Same as -N, don't send if 0 arguments and -R.

3 years agodocument i2d_PrivateKey_bio(3) and i2d_PrivateKey_fp(3)
schwarze [Tue, 19 Oct 2021 12:03:46 +0000 (12:03 +0000)]
document i2d_PrivateKey_bio(3) and i2d_PrivateKey_fp(3)

3 years agoinstall X509_PKEY_new(3)
schwarze [Tue, 19 Oct 2021 10:55:57 +0000 (10:55 +0000)]
install X509_PKEY_new(3)

3 years agodocument X509_PKEY_new(3) and X509_PKEY_free(3)
schwarze [Tue, 19 Oct 2021 10:39:33 +0000 (10:39 +0000)]
document X509_PKEY_new(3) and X509_PKEY_free(3)

3 years agovnode: remove VLOCKSWORK and check locking when vop_islocked != nullop
semarie [Tue, 19 Oct 2021 06:26:08 +0000 (06:26 +0000)]
vnode: remove VLOCKSWORK and check locking when vop_islocked != nullop

This flag is currently used to mark or unmark a vnode to actively
check vnode locking semantic (when compiled with VFSLCKDEBUG).

Currently, VLOCKSWORK flag isn't properly set for several FS
implementation which have full locking support. This commit enable
proper checking for them too (cd9660, udf, fuse, msdosfs, tmpfs).

Instead of using a particular flag, it directly check if
v_op->vop_islocked is nullop or not to activate or not the vnode
locking checks.

ok mpi@

3 years agovnode: do not manipulate vnode lock directly
semarie [Tue, 19 Oct 2021 06:11:45 +0000 (06:11 +0000)]
vnode: do not manipulate vnode lock directly

use VOP_LOCK / VOP_UNLOCK wrappers.

VOP_LOCK() is prefered over vn_lock() here in order to keep equivalent code.

ok mpi@ visa@ (as part of larger diff)

3 years agovnode: deadfs: do not call v_op->vop_lock directly, use VOP_LOCK() wrapper
semarie [Tue, 19 Oct 2021 06:09:39 +0000 (06:09 +0000)]
vnode: deadfs: do not call v_op->vop_lock directly, use VOP_LOCK() wrapper

ok mpi@ visa@ (as part of larger diff)

3 years agoDon't bother decoding a partition's c/h/s start or end from the MBR read from
krw [Mon, 18 Oct 2021 20:27:32 +0000 (20:27 +0000)]
Don't bother decoding a partition's c/h/s start or end from the MBR read from
disk.

The decoded values were overwritten by an invocation of PRT_fix_CHS() before
they were used.

3 years agodocument X509_VERIFY_PARAM_inherit(3) and X509_VERIFY_PARAM_set1(3)
schwarze [Mon, 18 Oct 2021 18:20:39 +0000 (18:20 +0000)]
document X509_VERIFY_PARAM_inherit(3) and X509_VERIFY_PARAM_set1(3)

3 years agor1.66 (May 2014) introduced a two #if 0/#else/#endif chunks to avoid "over
krw [Mon, 18 Oct 2021 16:12:02 +0000 (16:12 +0000)]
r1.66 (May 2014) introduced a two #if 0/#else/#endif chunks to avoid "over
optimistic alignment expectations" when extracting a uint32_t field from a
packed struct.

r1.70 (March 2015) removed one of the two #if 0 chunks, realizing there was no
real gain to be had even if various compilers were ever able to intuit the
expected alignment.

Belatedly nuke the other #if 0 chunk and always memcpy() the uint32_t values out
of the struct.

3 years agosplit seven functions out of the page X509_VERIFY_PARAM_set_flags(3), which
schwarze [Mon, 18 Oct 2021 14:46:37 +0000 (14:46 +0000)]
split seven functions out of the page X509_VERIFY_PARAM_set_flags(3), which
is becoming excessively long, into a new page X509_VERIFY_PARAM_new(3);
no content change

3 years agoFix menu width containing disabled items, from Alexis Hildebrandt in
nicm [Mon, 18 Oct 2021 09:48:35 +0000 (09:48 +0000)]
Fix menu width containing disabled items, from Alexis Hildebrandt in
GitHub issue 2935.

3 years agoSpacing fixes from Alexis Hildebrandt.
nicm [Mon, 18 Oct 2021 09:15:56 +0000 (09:15 +0000)]
Spacing fixes from Alexis Hildebrandt.

3 years agoRemove duplicate options, spotted by Ricky Cintron.
nicm [Mon, 18 Oct 2021 09:09:46 +0000 (09:09 +0000)]
Remove duplicate options, spotted by Ricky Cintron.

3 years agosimplify a few accesses to fields of structs, using auxiliary pointer
schwarze [Sun, 17 Oct 2021 21:03:05 +0000 (21:03 +0000)]
simplify a few accesses to fields of structs, using auxiliary pointer
variables that are already present (and used nearby) in the code;
no functional change

3 years agoSimplify the code building lists of spans, no output change intended.
schwarze [Sun, 17 Oct 2021 20:47:54 +0000 (20:47 +0000)]
Simplify the code building lists of spans, no output change intended.

A comment in the code claimed that the list of spans would be sorted,
but the sorting did not actually work.  The layout "LSSS,LLSL" resulted
in the list "0-3, 1-2", whereas the layout "LLSL,LSSS" resulted
in the list "1-2, 0-3".  Since sorting serves no purpose, just leave
the list unsorted.

3 years agoDisambiguate "autoconf" handling now that it is used for IPv4 as well
kn [Sun, 17 Oct 2021 13:20:46 +0000 (13:20 +0000)]
Disambiguate "autoconf" handling now that it is used for IPv4 as well

This was the last mention of "dhcp" in our manuals except for
hostname.if(5) documenting it as an "inet autoconf" alias;  everything has
been converted to modern syntax now (hopefully).

OK jmc

3 years agokm_alloc(9) needs to be passed a size that is a multiple of PAGE_SIZE.
patrick [Sun, 17 Oct 2021 11:39:40 +0000 (11:39 +0000)]
km_alloc(9) needs to be passed a size that is a multiple of PAGE_SIZE.

ok mpi@

3 years agodrm/amdgpu: fix gart.bo pin_count leak
jsg [Sun, 17 Oct 2021 10:59:45 +0000 (10:59 +0000)]
drm/amdgpu: fix gart.bo pin_count leak

From Leslie Shi
621ddffb70db824eabd63d18ac635180fe9500f9 in linux 5.10.y/5.10.74
66805763a97f8f7bdf742fc0851d85c02ed9411f in mainline linux

3 years agoInstall "autoconf" as proper "inet autoconf" in hostname.if(5) files
kn [Sun, 17 Oct 2021 02:05:40 +0000 (02:05 +0000)]
Install "autoconf" as proper "inet autoconf" in hostname.if(5) files

OK aja

3 years agoTeach modern "inet autoconf"
kn [Sun, 17 Oct 2021 02:03:39 +0000 (02:03 +0000)]
Teach modern "inet autoconf"

This goes in line with hostname.if(5), unwind.conf(5), ifconfig(8)
as well as our installer.

OK deraadt

3 years agoBail out early if the PCIe controller hasn't been initialized by the
kettenis [Sat, 16 Oct 2021 17:14:41 +0000 (17:14 +0000)]
Bail out early if the PCIe controller hasn't been initialized by the
firmware.

ok jsg@

3 years ago40mhz is now supported so remove the caveat; ok stsp
jmc [Sat, 16 Oct 2021 15:05:59 +0000 (15:05 +0000)]
40mhz is now supported so remove the caveat; ok stsp

3 years agozap 3 comments
job [Fri, 15 Oct 2021 22:30:33 +0000 (22:30 +0000)]
zap 3 comments

3 years agoUpdate name of SMF, and add SAC (Sacramento Executive)
jeremy [Fri, 15 Oct 2021 20:47:11 +0000 (20:47 +0000)]
Update name of SMF, and add SAC (Sacramento Executive)

I've flown through SMF and been to SAC.

3 years agoPull in ssl_locl.h so that we can keep reaching into libssl internals.
jsing [Fri, 15 Oct 2021 16:49:12 +0000 (16:49 +0000)]
Pull in ssl_locl.h so that we can keep reaching into libssl internals.

3 years agoMove various structs from ssl.h/tls1.h to ssl_locl.h.
jsing [Fri, 15 Oct 2021 16:48:46 +0000 (16:48 +0000)]
Move various structs from ssl.h/tls1.h to ssl_locl.h.

These were already under LIBRESSL_INTERNAL hence no ABI change.

ok tb@

3 years agoDon't declare variables as "unsigned char *" that are passed to
naddy [Fri, 15 Oct 2021 15:01:27 +0000 (15:01 +0000)]
Don't declare variables as "unsigned char *" that are passed to
functions that take "char *" arguments.  Where such chars are
assigned to int or passed to ctype functions, explicitly cast them
to unsigned char.

For OpenBSD's clang, -Wpointer-sign has been disabled by default,
but when the parse.y code was built elsewhere, the compiler would
complain.

With help from millert@
ok benno@ deraadt@

3 years agoopenbsd 7.0 release shipped with the (hopefully last) scp that uses RCP
deraadt [Fri, 15 Oct 2021 14:46:46 +0000 (14:46 +0000)]
openbsd 7.0 release shipped with the (hopefully last) scp that uses RCP
protocol for copying.  Let's get back to testing the SFTP protocol.

3 years agoAdd initial 40MHz support to the iwx(4) driver.
stsp [Fri, 15 Oct 2021 13:38:10 +0000 (13:38 +0000)]
Add initial 40MHz support to the iwx(4) driver.

Tested:
ax200: jmc, phessler, kevlo, hrvoje, sdk, fkr, stsp, Mark Patruck
ax201: jcs, stsp, Fredrik Engberg, Eric Auge

3 years agoDo not send any key if -N flag is given even if no other arguments,
nicm [Fri, 15 Oct 2021 10:39:22 +0000 (10:39 +0000)]
Do not send any key if -N flag is given even if no other arguments,
fixes problem with repeat in copy mode reported by tb@.

3 years agoUpdate json key names
job [Fri, 15 Oct 2021 08:48:18 +0000 (08:48 +0000)]
Update json key names

OK claudio@

3 years agoTeach modern "inet autoconf"
kn [Fri, 15 Oct 2021 08:10:44 +0000 (08:10 +0000)]
Teach modern "inet autoconf"

This goes in line with hostname.if(5), unwind.conf(5), ifconfig(8)
as well as our installer.

OK deraadt

3 years agoRevert "Implement select(2) and pselect(2) on top of kqueue."
mpi [Fri, 15 Oct 2021 06:59:57 +0000 (06:59 +0000)]
Revert "Implement select(2) and pselect(2) on top of kqueue."

It introduced a regression exposed by the ssh tests.

Reported by anton@

3 years agovnode: remove vop_generic_{,is,un}lock stub functions
semarie [Fri, 15 Oct 2021 06:30:06 +0000 (06:30 +0000)]
vnode: remove vop_generic_{,is,un}lock stub functions

These functions are only stubs (returning 0). Replace them with nullop
function (same behaviour). There is no intented behaviour changes.

While here, reorder some vop_islocked member in structs to be next
others vop_{,un}lock members.

ok visa@

3 years agoRelease solock() before call unp_externalize().
mvs [Thu, 14 Oct 2021 23:05:10 +0000 (23:05 +0000)]
Release solock() before call unp_externalize().

A little step forward to make UNIX domain sockets locking fine grained.
The closest goal is to introduce the new rwlock(9) and use it to protect
garbage collector data. This leaves existing `unp_lock' rwlock(9) which
cowers the whole layer for per-socket data only and allows to replace it
with per-socket `so_lock' with further diffs.

Except file descriptor table unp_externalize() operates with the garbage
collector data only such as `unp_rights', `unp_msgcount' directly and
`unp_deferred' through unp_discard(). I want to introduce the new garbage
collector rwlock(9) with the separate diff, so `unp_lock' is still taken
within unp_externalize() around garbage collector data access. But right
now M_WAITOK allocation removed from rwlock(9). Also useless M_WAITOK
allocation and fdplock()/fdpunlock() dances removed from the error path.
The `unp_lock' and fdplock() are not taken together within
unp_externalize() but unp_internalize() still enforces `unp_lock' ->
fdplock() lock order. This rests the only place and will be changed with
the upcoming unp_internalize() and garbage collector rwlock(9) diffs.

ok bluhm@

3 years agoReplace lrint(3), lrintf(3), llrint(3) and llrintf(3) implementations with
kettenis [Thu, 14 Oct 2021 21:30:00 +0000 (21:30 +0000)]
Replace lrint(3), lrintf(3), llrint(3) and llrintf(3) implementations with
the same implementation that we're already using for lrintl(3) and llrintl(3).
The old implementations were derived from code from NetBSD that didn't pass
the lib/libm/msun/lrint_test regress test.  NetBSD replaced their
implementation with the FreeBSD implementation of this code which we were
already using for lrintl(3) and llrintl(3).  This fixes the regress test.

ok bluhm@, millert@

3 years agoip6_output_ipsec_send() may change the route embeded in struct ro
bluhm [Thu, 14 Oct 2021 17:39:42 +0000 (17:39 +0000)]
ip6_output_ipsec_send() may change the route embeded in struct ro
during path MTU discovery.  ip6_forward() has to update its rt
variable to the new route in ro.  Otherwise it could operate on a
freed route.
from markus@

3 years agoAdd popup-border-lines option to set popup line style, from Alexis
nicm [Thu, 14 Oct 2021 13:19:01 +0000 (13:19 +0000)]
Add popup-border-lines option to set popup line style, from Alexis
Hildebrandt, GitHub issue 2930.

3 years agoWhen checking ranges in tty_cmd_cells, cannot use the tty cursor
nicm [Thu, 14 Oct 2021 09:54:51 +0000 (09:54 +0000)]
When checking ranges in tty_cmd_cells, cannot use the tty cursor
position and tty_cursor because it may be at the final invisible cursor
position on automargin terminals. The text to be drawn is confined to
the pane, so use the pane cursor position for the checks instead. Fix
from Anindya Mukherjee, redraw problem reported by naddy@.

3 years agoImplement select(2) and pselect(2) on top of kqueue.
mpi [Thu, 14 Oct 2021 08:46:01 +0000 (08:46 +0000)]
Implement select(2) and pselect(2) on top of kqueue.

The given set of fds are converted to equivalent kevents using EV_SET(2)
and passed to the scanning internals of kevent(2): kqueue_scan().  Those
events are lazily deleted to reduce the overhard of freeing/allocating
them when select(2) is called in a loop.

ktrace(1) will now output the converted kevents on top of the usuals set
bits to be able to find possible error in the convertion.

This switch implies that select(2) and pselect(2) will now query the
underlying kqfilters instead of the *_poll() routines.  An increase in
latency is visible, especially with UDP sockets and NET_LOCK()-contended
subsystems and will be addressed in a next step.

The various *_poll() routines could be removed as soon as poll(2) and
ppoll(2) are also converted.

Based on similar work done on DragonFlyBSD with inputs from from visa@,
millert@, anton@, cheloha@, thanks!

ok claudio@, bluhm@

3 years agoUse unsigned char instead of u_char for two prototypes (like everywhere
tb [Thu, 14 Oct 2021 00:45:02 +0000 (00:45 +0000)]
Use unsigned char instead of u_char for two prototypes (like everywhere
else in libcrypto's manuals and headers).

3 years agoRemove redundant NULL checks in IPsec which are never reached.
bluhm [Wed, 13 Oct 2021 22:49:11 +0000 (22:49 +0000)]
Remove redundant NULL checks in IPsec which are never reached.
ok mvs@

3 years agoThe function crypto_dispatch() never returns an error. Make it
bluhm [Wed, 13 Oct 2021 22:43:44 +0000 (22:43 +0000)]
The function crypto_dispatch() never returns an error.  Make it
void and remove error handling in the callers.
OK patrick@ mvs@

3 years agoChange syslog.conf comments relating to network logging to focus on client
sthen [Wed, 13 Oct 2021 20:34:03 +0000 (20:34 +0000)]
Change syslog.conf comments relating to network logging to focus on client
setup which is configured in the file itself, rather than talking partly about
client (set in the file), command-line flags used for servers which are
better suited to the syslogd(8) manual, and ISDN.

In the commented-out examples, use tls rather than the plaintext protocol.
If users don't need tls they can change it, but it's a sane default, and
a good place to show that we have the feature.

ok bluhm@