millert [Fri, 23 Aug 2024 00:43:34 +0000 (00:43 +0000)]
Change SIGCHLD handler to just set a flag.
We already call reap_kids() in multiple event loops so there is no
need to call waitpid() inside the handler itself.
OK denis@ deraadt@
djm [Thu, 22 Aug 2024 23:11:30 +0000 (23:11 +0000)]
sntrup761x25519-sha512 now has an IANA codepoint assigned,
so we can make the algorithm available without the @openssh.com
suffix too. ok markus@ deraadt@
tb [Thu, 22 Aug 2024 12:26:01 +0000 (12:26 +0000)]
PKCS12_create(3): remove Xr to EVP_PKEY_add1_attr(3)
This API family has been neutered and will be removed in the next bump.
Further cross references will be untangled in the future.
tb [Thu, 22 Aug 2024 12:24:24 +0000 (12:24 +0000)]
Garbage collect unused attributes member from EVP_PKEY
ok miod
tb [Thu, 22 Aug 2024 12:22:42 +0000 (12:22 +0000)]
Remove copy_bag_attr()
It is no longer possible to set an attribute on an EVP_PKEY, so this
code is dead.
ok miod
tb [Thu, 22 Aug 2024 12:21:07 +0000 (12:21 +0000)]
Neuter EVP_PKEY_add1_attr_by_NID()
The last consumer in openssl(1) pkcs12 has been removed, so we no longer
need this function.
ok miod
tb [Thu, 22 Aug 2024 12:15:07 +0000 (12:15 +0000)]
openssl: adjust manual for LMK and CSP removal
tb [Thu, 22 Aug 2024 12:14:33 +0000 (12:14 +0000)]
openssl pkcs12: remove support for LMK and CSP attributes
Documentation on what the Microsoft-specific local machine keyset and the
cryptographic service provider are actually good for is hard to find. For
some reason (perhaps one million and two arguments for PKCS12_create() was
considered two too many) these hang off the EVP_PKEY in the attributes
member, which serves no other purpose.
Every use of EVP_PKEY (of which there are far too many) pays extra memory
taxes for this fringe use case. This complication is not worth it.
ok miod
bluhm [Thu, 22 Aug 2024 11:36:24 +0000 (11:36 +0000)]
Fix merge of bounce buffer segments in amd64 bus dma.
If the physical pages are contiguous, _bus_dmamap_load_buffer()
tries to merge the segments. In case of mbuf chains, it can happen
that the physical bounce buffers are contiguous, but the virtual
addresses of mbuf m_data are not. Then during transmit _bus_dmamap_sync()
tries to copy segments where it cannot access the virtual source
address which is mapped in a different mbuf. So if bounce buffers
are used, physical and virtual buffer must be contigous, to merge
a segment.
While there, split check and decrement of variable i in a for loop
to make the code readable.
with and OK hshoexer@
mvs [Thu, 22 Aug 2024 10:58:31 +0000 (10:58 +0000)]
Unlock unlock ipip_sysctl().
- IPIPCTL_ALLOW - atomically accessed integer;
- IPIPCTL_STATS - per-CPU counters;
In ipip_input() load `ipip_allow' value to `ipip_allow_local' and pass
it down to ipip_input_if() as `allow' arg.
ok bluhm
dtucker [Thu, 22 Aug 2024 10:21:02 +0000 (10:21 +0000)]
Use aes128-ctr for MAC tests since default has implicit MAC.
Also verify that the Cipher or MAC we intended to use is actually the one
selected during the test.
mvs [Thu, 22 Aug 2024 10:08:25 +0000 (10:08 +0000)]
Introduce sysctl_securelevel() to modify `securelevel' mp-safe. Keep
KERN_SECURELVL locked until existing `securelevel' checks became moved
out of kernel lock.
Make sysctl_securelevel_int() mp-safe by using atomic_load_int(9) to
unlocked read-only access for `securelevel'.
Unlock KERN_ALLOWDT. `allowdt' is the atomically accessed integer used
only once in dtopen().
ok mpi
jsg [Thu, 22 Aug 2024 10:00:16 +0000 (10:00 +0000)]
sync manual section numbers
nicm [Thu, 22 Aug 2024 09:05:51 +0000 (09:05 +0000)]
Clear overlay when command prompt is entered. Also fix some spacing in
man page pointed out by jmc.
florian [Thu, 22 Aug 2024 08:44:22 +0000 (08:44 +0000)]
Fix answer.
2,$-1g/^/.,.1j does not combine every even-numbered line with the next
odd-numbered line. One correct way is 2,$-1g/^/.,+1j
Pointed out by ed1conf on mastodon.
tb [Thu, 22 Aug 2024 08:34:51 +0000 (08:34 +0000)]
ospfd: fix whitespace error introduced in previous
asou [Thu, 22 Aug 2024 08:22:13 +0000 (08:22 +0000)]
lldb: shut up the warning message on quit debugging kernel core file.
The diff from Yuichiro NAITO.
ok yasuoka
florian [Thu, 22 Aug 2024 08:17:54 +0000 (08:17 +0000)]
inet_pton returns 0 and -1 for error.
Adjust the error check that is now wrong after the inet_aton -> inet_pton
conversion.
Noticed by & OK bluhm.
OK tb
florian [Thu, 22 Aug 2024 07:56:47 +0000 (07:56 +0000)]
Mechanically change inet_aton to inet_pton.
npppd does not document that it would accept truncated or otherwise
not fully spelled out IPv4 addresses.
ok yasuoka
florian [Thu, 22 Aug 2024 05:40:09 +0000 (05:40 +0000)]
Charles III succeeded Elizabeth II in the 21st century.
OK jmc, mlarkin
nicm [Thu, 22 Aug 2024 05:39:55 +0000 (05:39 +0000)]
Short Ctrl keys like ^A need to be converted to lowercase so they end up
as 'a'|KEYC_CTRL to match the new internal representation. Problem
reported by naddy@.
mlarkin [Thu, 22 Aug 2024 04:59:19 +0000 (04:59 +0000)]
spell(1) does not need to be told about 'woops' in this case
I guess someone added this word to spell.ok but it wasn't needed. woops.
ok deraadt
mlarkin [Thu, 22 Aug 2024 04:53:07 +0000 (04:53 +0000)]
unrequired header file in vmm_machdep.c
mglocker [Thu, 22 Aug 2024 04:34:19 +0000 (04:34 +0000)]
Generate areas datfile from /usr/share/misc/na.phone during make.
A deraadt/mglocker production
mglocker [Thu, 22 Aug 2024 04:29:40 +0000 (04:29 +0000)]
Add Tribonacci number sequence.
Proposed by Anisja Mayer (math. student from Basel).
ok deraadt@
deraadt [Thu, 22 Aug 2024 03:10:42 +0000 (03:10 +0000)]
the hup bug is incorrectly described; ok mlarkin
deraadt [Wed, 21 Aug 2024 20:20:24 +0000 (20:20 +0000)]
unfair to discriminate against 0
mglocker [Wed, 21 Aug 2024 19:39:09 +0000 (19:39 +0000)]
Fix typo.
ok deraadt@
job [Wed, 21 Aug 2024 19:35:31 +0000 (19:35 +0000)]
Increase maximum Signed Object size to 8MB
OK tb@ claudio@
florian [Wed, 21 Aug 2024 15:18:47 +0000 (15:18 +0000)]
An area is either a decimal number or an IPv4 address.
This lets us replace inet_aton with inet_pton since we do not need
inet_aton's flexibility.
phessler, sthen and Tom Smyth all confirm that they never came across
a different way of specifying an area.
OK claudio, deraadt
florian [Wed, 21 Aug 2024 15:18:00 +0000 (15:18 +0000)]
Mechanically replace inet_aton with inet_pton.
OK claudio, deraadt
florian [Wed, 21 Aug 2024 15:16:56 +0000 (15:16 +0000)]
An area is either a decimal number or an IPv4 address.
This lets us replace inet_aton with inet_pton since we do not need
inet_aton's flexibility.
phessler, sthen and Tom Smyth all confirm that they never came across
a different way of specifying an area.
OK claudio, deraadt
florian [Wed, 21 Aug 2024 15:00:25 +0000 (15:00 +0000)]
Get rid of inet_aton
OK deraadt
florian [Wed, 21 Aug 2024 14:59:49 +0000 (14:59 +0000)]
Use getaddrinfo to lookup names and parse IP addresses.
OK deraadt
florian [Wed, 21 Aug 2024 14:58:14 +0000 (14:58 +0000)]
Mechanically change inet_aton to inet_pton.
OK claudio, deraadt
florian [Wed, 21 Aug 2024 14:57:05 +0000 (14:57 +0000)]
Mechanically change inet_aton to inet_pton.
This could use getaddrinfo in places but the code is just too crufty
and my joo janta's turned black immediately.
OK deraadt
florian [Wed, 21 Aug 2024 14:55:17 +0000 (14:55 +0000)]
get rid of inet_aton
OK deraadt
deraadt [Wed, 21 Aug 2024 14:08:19 +0000 (14:08 +0000)]
This quiz is pretty old. Don't know when this happened, but it seems
the wellknown name of "tupa inca yupanqui" has evolved to be either
"topa inca yupanqui" or "tupac inca yupanqui", so accept those answers.
research by claudio, inhouse inca expert
deraadt [Wed, 21 Aug 2024 13:44:17 +0000 (13:44 +0000)]
accept capital letter answers
claudio [Wed, 21 Aug 2024 13:29:09 +0000 (13:29 +0000)]
Reformat gprof.callg to be more compact so that it annoys a bit less when
looking at gprof output.
OK deraadt@
deraadt [Wed, 21 Aug 2024 13:23:31 +0000 (13:23 +0000)]
alpbetically sort the configuration choices
deraadt [Wed, 21 Aug 2024 13:22:29 +0000 (13:22 +0000)]
difficult sequence for a mathematician to identify
mvs [Wed, 21 Aug 2024 12:53:36 +0000 (12:53 +0000)]
Revert previous. It was committed mistakenly.
jsg [Wed, 21 Aug 2024 11:24:12 +0000 (11:24 +0000)]
remove unused vars and structs
florian [Wed, 21 Aug 2024 10:35:12 +0000 (10:35 +0000)]
Use getaddrinfo(3) to resolve hostnames / ip addresses.
OK dlg
dtucker [Wed, 21 Aug 2024 10:33:27 +0000 (10:33 +0000)]
Some awks won't match on the \r so delete it instead.
Fixes regress in portable on, eg Solaris.
mpi [Wed, 21 Aug 2024 09:27:37 +0000 (09:27 +0000)]
Read events from all PCBs as long as there's no error.
From Christian Ludwig.
florian [Wed, 21 Aug 2024 09:20:36 +0000 (09:20 +0000)]
We can fully spell out IP addresses in config files.
OK claudio
florian [Wed, 21 Aug 2024 09:19:55 +0000 (09:19 +0000)]
s/inet_aton/inet_pton/
OK claudio
florian [Wed, 21 Aug 2024 09:18:47 +0000 (09:18 +0000)]
Mechanically change inet_aton to inet_pton.
OK claudio
florian [Wed, 21 Aug 2024 09:17:56 +0000 (09:17 +0000)]
We can fully spell out IP addresses in config files.
OK claudio
florian [Wed, 21 Aug 2024 09:17:05 +0000 (09:17 +0000)]
Use inet_pton to parse ext-communities with an IPv4 address.
No need for inet_aton's flexibility.
OK claudio
mvs [Wed, 21 Aug 2024 07:36:12 +0000 (07:36 +0000)]
Unlock ipip_sysctl().
- IPIPCTL_ALLOW - atomically accessed integer;
- IPIPCTL_STATS - per-CPU counters;
ok bluhm
dtucker [Wed, 21 Aug 2024 07:06:27 +0000 (07:06 +0000)]
Import regenerated moduli.
dtucker [Wed, 21 Aug 2024 06:59:08 +0000 (06:59 +0000)]
Use curve25519-sha256 kex where possible. Except where we're explicitly
testing a different kex, use curve25519-sha256 since it's faster than the
default and supported even when configured without OpenSSL. Add a check
to ensure that the kex we intended to test is the one we actually tested.
Speeds test up by ~5%.
florian [Wed, 21 Aug 2024 05:53:10 +0000 (05:53 +0000)]
Make sure ai_canonname is set when AI_CANONNAME was requested.
We document, and posix requires, to return a NUL-terminated string on
a successful call to getaddrinfo(3) when AI_CANONNAME was set.
If the canonical name cannot be determined, return the node name as
suggested by posix.
OK guenther
deraadt [Wed, 21 Aug 2024 05:08:54 +0000 (05:08 +0000)]
satisfy the number version of the quiz; with mglocker
nicm [Wed, 21 Aug 2024 05:06:45 +0000 (05:06 +0000)]
Mention that load- and save-buffer can use stdin, from Ramon Fischer.
nicm [Wed, 21 Aug 2024 05:03:13 +0000 (05:03 +0000)]
Add mirrored versions of the main-horizontal and main-vertical layouts where
the main pane is bottom or right instead of top or left, from Sherwyn Sen.
deraadt [Wed, 21 Aug 2024 04:56:27 +0000 (04:56 +0000)]
Add a simple random number sequence to the questions
ok mglocker
nicm [Wed, 21 Aug 2024 04:55:57 +0000 (04:55 +0000)]
C-Space and Meta keys should not be translated in mode 1 extended keys.
nicm [Wed, 21 Aug 2024 04:37:42 +0000 (04:37 +0000)]
Set the default for extended-keys back to off because it appears emacs turns
the keys on but does not correctly handle them except in xterm (!). Also fix so
that off takes effect as expected.
mglocker [Wed, 21 Aug 2024 04:29:43 +0000 (04:29 +0000)]
Add lions.
suggested and ok jmc@
mglocker [Wed, 21 Aug 2024 04:28:05 +0000 (04:28 +0000)]
Add numeric morse codes.
ok jmc@
mglocker [Wed, 21 Aug 2024 04:27:02 +0000 (04:27 +0000)]
Hippo and rhino babies are also calf's.
ok jmc@
mglocker [Wed, 21 Aug 2024 04:25:26 +0000 (04:25 +0000)]
Add new substraction problem which difference results in the answer to the
ultimate question of life, the universe, and everything.
ok jmc@
nicm [Wed, 21 Aug 2024 04:17:09 +0000 (04:17 +0000)]
Revamp extended keys support to more closely match xterm and support
mode 2 as well as mode 1. From Stanislav Kljuhhin (GitHub issue 4038).
This changes tmux to always request mode 2 from parent terminal, change
to an unambiguous internal representation of keys, and adds an option
(extended-keys-format) to control the format similar to the xterm(1)
formatOtherKeys resource.
deraadt [Wed, 21 Aug 2024 03:16:25 +0000 (03:16 +0000)]
If binaries lack a pintable, execve() can now reject them at startup
by returning EINVAL, rather than at runtime when the first system call
occurs (and then probably dumping core). Let's find out if there are
any surprising exceptions we were unaware of (would need a custom linker,
or a non-crt0 runtime)
errno discussions with kettenis, sthen, millert. Vague concensus it is
worth trying now.
deraadt [Wed, 21 Aug 2024 03:07:45 +0000 (03:07 +0000)]
We do not need the PS_LIBCPIN and PS_PIN flag fields anymore, which were
used during devlopment (for visibility). There is speculation claudio will
immediately use these bits for something else.
dlg [Wed, 21 Aug 2024 01:22:31 +0000 (01:22 +0000)]
offset rx buffers by ETHER_ALIGN so ip payloads are properly aligned.
dlg [Wed, 21 Aug 2024 01:17:50 +0000 (01:17 +0000)]
use 2k clusters on the rx ring instead of 9k clusters.
rge can chain mbufs from multiple rx descriptors together to build
a jumbo packet. 1514 byte packets are still the most common, so
avoiding the waste of most of a 9k cluster if we can still makes
sense.
dlg [Wed, 21 Aug 2024 01:12:52 +0000 (01:12 +0000)]
support building a single packet out of multiple rx descriptors.
rge is a bit like intel nics where you can put small mbufs on the
rx ring and it will chain them together to make a jumbo packet.
except unlike intel you can use any sized mbufs for the rx descriptors.
this adds the handling of these packets to the rx path. we're still
putting 9k frames on the ring though.
dlg [Wed, 21 Aug 2024 00:56:58 +0000 (00:56 +0000)]
be more careful about bus_dmamap_syncs for rx ring descriptors.
this is very similar to the changes made for tx where we fill in
everything except the OWN flag on the rx descriptor, call bus_dmamap_sync
as a barrier for the hw, and then flip the ownership of the OWN
bit. this avoids the potential for the hw to see the own bit before
other things in the descriptor, such as the address and length of
the buffer.
while here, trim code that's not currently used. we don't currently
support rxing one packet by assembling buffers from multiple
descriptors, so stop fiddling with the queue mbuf head and tail
pointers. delete rge_discard_rxbuf() cos it looks like a leftover
from code which tries to reuse mbufs on the rx ring. we free mbufs
when there's an error and let the rxr stuff refill.
ok patrick@
no objections from kevlo@
guenther [Tue, 20 Aug 2024 23:40:39 +0000 (23:40 +0000)]
Now that we have dup2(), csh can use it instead of close()+dup().
Also, as used here, dup/dup2 will clear the close-on-exec flag, so
delete the superfluous fcntl(F_SETFD,0) calls
ok deraadt@
patrick [Tue, 20 Aug 2024 21:24:15 +0000 (21:24 +0000)]
Update handling of transfer rings.
patrick [Tue, 20 Aug 2024 21:23:18 +0000 (21:23 +0000)]
Introduce and update HAL SRNG ops.
deraadt [Tue, 20 Aug 2024 16:24:50 +0000 (16:24 +0000)]
match the config_activate_children() sequences found in other usb host
controller drivers.
deraadt [Tue, 20 Aug 2024 16:07:14 +0000 (16:07 +0000)]
having a file called "OWNER" lying around in a directory of
(effectively) public dommain software is weird. put that info
into a better place.
deraadt [Tue, 20 Aug 2024 15:48:32 +0000 (15:48 +0000)]
annotate signal race
bluhm [Tue, 20 Aug 2024 15:30:29 +0000 (15:30 +0000)]
Fix whitespace in amd64 bus dma.
claudio [Tue, 20 Aug 2024 13:31:49 +0000 (13:31 +0000)]
Use msgbuf_queuelen() instead of accessing the queued member directly.
OK tb@
mvs [Tue, 20 Aug 2024 13:29:25 +0000 (13:29 +0000)]
Unlock KERN_MAXFILES.
`maxfiles' is atomically accessed integer which is lockless and
read-only accessed in file descriptors layer.
lim_startup() called during kernel bootstrap, no need to
atomic_load_int() within.
ok mpi
job [Tue, 20 Aug 2024 12:53:47 +0000 (12:53 +0000)]
Update Geofeed reference
RFC 9632 introduced additional constraints and requirements for RPKI-based
Geofeed authenticators (at my request).
dtucker [Tue, 20 Aug 2024 12:36:59 +0000 (12:36 +0000)]
Send only as much data as needed to trigger rekeying.
Speeds up tests by about 10% in the common case, hopefully more when
instrumented with something like valgrind.
sf [Tue, 20 Aug 2024 12:36:09 +0000 (12:36 +0000)]
fix bus_dmamap_destroy
With bounce buffers, we must pass a larger size to free()
ok bluhm@ hshoexer@
jsg [Tue, 20 Aug 2024 12:18:36 +0000 (12:18 +0000)]
regen
jsg [Tue, 20 Aug 2024 12:17:48 +0000 (12:17 +0000)]
add Samsung PM9C1 and PM9C1a
from bmercer@ and Bryan Vyhmeister
claudio [Tue, 20 Aug 2024 12:00:20 +0000 (12:00 +0000)]
Use stats.msg_queue_len instead of looking into the msgbuf struct.
OK tb@
claudio [Tue, 20 Aug 2024 11:59:39 +0000 (11:59 +0000)]
Use msgbuf_queuelen() instead of accessing wbuf.queue for msgbuf structs.
Also export the msgbuf queue len as a stats member so bgpctl does not need
to dig into the msgbuf structure inside struct peer.
This skips imsg related msgbuf since that will be handled by a imsgbuf
specific function.
OK tb@
bluhm [Tue, 20 Aug 2024 11:45:31 +0000 (11:45 +0000)]
Calculate used bounce buffers in amd64 bus dma correctly.
There was an off-by-one bug when comparing the used pages for bounce
buffers with the available pages. As a result _bus_dmamap_load_buffer()
returned ENOMEM although there was one buffer left.
Also the _dm_nused field was updated and never reset in case of an
error. Use a local variable to count the used pages and update
global map->_dm_nused only if _bus_dmamap_load_buffer() was successful.
This fixes hanging network transmits if bounce buffers are enforced
for vio(4).
OK sf@ hshoexer@
djm [Tue, 20 Aug 2024 11:10:04 +0000 (11:10 +0000)]
actually use the length parameter that was passed in rather than a
constant (this makes no difference in practice because the length
is always the same); reported by martin AT nmkd.net
dtucker [Tue, 20 Aug 2024 09:15:49 +0000 (09:15 +0000)]
Merge AEAD test into main test loop. Removes 3 duplicate tests and
speeds overall test up by about 1%.
dtucker [Tue, 20 Aug 2024 09:02:45 +0000 (09:02 +0000)]
Set a default RekeyLimit of 256k. Used unless overridden by a
command-line flag, which simplifies some of the ssh command lines.
dtucker [Tue, 20 Aug 2024 07:52:43 +0000 (07:52 +0000)]
Add Compression=no to default ssh_config. All of the rekey tests use it
(otherwise the encrypted byte counts would not match) so this lets us
simplify the command lines.
mvs [Tue, 20 Aug 2024 07:48:23 +0000 (07:48 +0000)]
Unlock KERN_MAXPROC and KERN_MAXTHREAD from `kern_vars'. Both
`maxprocess' and `maxthread' are atomically accessed integers.
ok mpi
mvs [Tue, 20 Aug 2024 07:47:25 +0000 (07:47 +0000)]
Unlock etherip_sysctl().
- ETHERIPCTL_ALLOW - atomically accessed integer;
- ETHERIPCTL_STATS - per-CPU counters
ok bluhm
mvs [Tue, 20 Aug 2024 07:46:27 +0000 (07:46 +0000)]
Unlock igmp_sysctl(), pfsync_sysctl() and rip6_sysctl(). Each of them is
the only IGMPCTL_STATS, PFSYNCCTL_STATS and RIPV6CTL_STATS per-CPU
counters.
sysctl_rdstruct() has "newp != NULL" check within and also returns
EPERM, no need for redundant check in igmp_sysctl().
ok bluhm
mvs [Tue, 20 Aug 2024 07:44:36 +0000 (07:44 +0000)]
Unlock sysctl_audio().
It is the only KERN_AUDIO_RECORD. `audio_record_enable' is atomically
accessed integer.
Reasonable from deraadt
dtucker [Tue, 20 Aug 2024 07:41:35 +0000 (07:41 +0000)]
Remove duplicate curve25519-sha256 kex. curve25519-sha256@libssh.org
is the pre-standardization name for the same thing, so remove it
as a duplicate. Speeds up test by a tiny amount.
dtucker [Tue, 20 Aug 2024 07:27:25 +0000 (07:27 +0000)]
Unnest rekey param parsing test and use ssh not sshd. ssh uses the same
parsing code, now has "-G" to dump its config and is slightly faster
to start up. This speeds up the test slightly (~5%) in the common case
but should help more during instrumented tests, eg under valgrind, where
startup costs are magnified.