libssl: use correct alert for key_share without supported_groups
Processing the key_share extension requires a supported_groups extension.
RFC 9846, section 9.2 explicitly mandates a missing_extension alert in
this situation, so use that instead of illegal_parameter.
We do have code in tls13_client_hello_required_extensions() implementing
the requirements on extensions of the relevant paragraph of that section
with the corrrect alerts. The error in the extension processing happens
before hitting these checks in this particular case.
Reported by Tom Gouville of the tlspuffin team as part of
https://github.com/libressl/portable/issues/1279
ok jsing kenjiro
Ensure numbering is repainted after completion redraw.
Fixes screen corruption when using completion if line numbering is
enabled. Otherwise, the completion area is redrawn without line
numbers. From Jeffrey Johnson
I noticed boot-time /tmp pruning could take a substantial amount of time.
The purpose is two-fold, to remove cruft, and stop newly authenticated users
from seeing it. Took about 20 drafts to get it right. The /tmp files
are now pushed into a mktemp directory, then deleted async, except a few are
removed immediately for the case of the filesystem being full. After daemon
startup has completed, we wait for the removal job to complete (let's keep an
eye on this, because it is possible we actually don't need to wait)
draft iterations with millert, afresh1, and dgl
Fix a weird seventeen-year-old documentation bug where the descriptions
of the \*(lp and \*(rp predefined strings were exchanged.
Nobody noticed because all predefined strings are obsolete anyway.
Patch from Alexander Ziaee <ziaee at FreeBSD.org>.
avoid needlessly discarding a const qualifier in a pointer assignment;
no functional change; small ugliness found in a build log
sent in by Xose Vazquez Perez <xose.vazquez at gmail.com>
If writing a file fails, propagate the error to the server via a new
message. Use a client flag rather than bumping the protocol version.
GitHub issue 5451.
Ignore various roff(7) requests that are new in groff-1.23 and groff-1.24.
Most of these only serve debugging purposes, and some are related to
features that are not relevant in manual pages and that we do not support
in the first place.
Two special cases are notable: .msoquiet is ignored because insecure
(just like .mso already was), and .soquiet is treated as an exact
alias for .so, without suppressing any diagnostics, because in manual
pages, missing include files are never harmless.
List of requests that needed checking provided by G. Branden Robinson.
regress/lib/libmlgamma: remove no longer needed __POSIX_VISIBLE 201403
These days we default to POSIX 2024 with XSI extensions. The original define
was only needed when our default was POSIX 2008 and we needed to advance to
a newer standard to run this test.
groff-1.23.0 invented new roff(7) requests .stringup and .stringdown that
change the case of the named user-defined string in place. I haven't seen
them used in any manual page yet and - like for all roff(7) requests - do
not recommend using them, but i chose to implement them anyway because that
was almost as trivial as it would have been to mark them as unsupported.
G. Branden Robinson reminded me of the new feature.
Stop clobbering the return value of getenv(3) with strtok(3).
The getenv(3) manual discourages tampering with the returned string.
Instead, copy the value to the heap such that it can be safely modified.
This fixes a bug that Luca Del Re <l.osd at ldr.name>
found on Alpine Linux and reported to bsd.lv.
The consequence of the bug was likely implementation-dependent, but
on both OpenBSD and Alpine Linux, the first colon after the first
byte of the MANPATH variable was set to NUL in the actual environment
of the man(1) process, and this truncated value would later be
passed to the pager child process by execv(3). Hence, while
MANPATH=:mypath1 worked as expected, the pager would only see
MANPATH=mypath1 if man(1) saw any of the following:
MANPATH=mypath1:
MANPATH=mypath1:mypath2
MANPATH=mypath1::mypath2