openbsd
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.

11 months agoDrop some unnecessary parentheses
tb [Wed, 15 Nov 2023 00:55:43 +0000 (00:55 +0000)]
Drop some unnecessary parentheses

11 months agoShuffle getters and adders down a bit
tb [Wed, 15 Nov 2023 00:52:44 +0000 (00:52 +0000)]
Shuffle getters and adders down a bit

These use static helper functions which don't need prototypes this way.

11 months agoAdd regress test for "grep -m" behavior. From Crystal Kolipe.
millert [Wed, 15 Nov 2023 00:52:42 +0000 (00:52 +0000)]
Add regress test for "grep -m" behavior.  From Crystal Kolipe.

11 months agoprocline: only reduce mcount once per line, not once per match.
millert [Wed, 15 Nov 2023 00:50:43 +0000 (00:50 +0000)]
procline: only reduce mcount once per line, not once per match.
This makes "grep -m" behave like GNU grep (where the -m option
originated).  From Crystal Kolipe.

11 months agoBump powerpc64 default datasize to 1536M
gkoehler [Tue, 14 Nov 2023 21:31:01 +0000 (21:31 +0000)]
Bump powerpc64 default datasize to 1536M

This is for llvm 16; powerpc64 (like some other platforms) needs a
higher datasize limit to build base-clang 16.

ok jca@

11 months agoDon't strdup NULL filename.
nicm [Tue, 14 Nov 2023 20:01:11 +0000 (20:01 +0000)]
Don't strdup NULL filename.

11 months agoAdd missing .PATH
jca [Tue, 14 Nov 2023 16:42:14 +0000 (16:42 +0000)]
Add missing .PATH

Reported and suggested by jsing@

11 months agoHandle NULL client (in config file) when showing a status message; also
nicm [Tue, 14 Nov 2023 15:59:49 +0000 (15:59 +0000)]
Handle NULL client (in config file) when showing a status message; also
copy the file when processing if-shell since it may be freed. GitHub
issue 3746.

11 months agoUse SM 2026 for Sync which is more widely supported now.
nicm [Tue, 14 Nov 2023 15:38:33 +0000 (15:38 +0000)]
Use SM 2026 for Sync which is more widely supported now.

11 months agoincrease datasize to 1536M for the default login class
jsg [Tue, 14 Nov 2023 12:48:46 +0000 (12:48 +0000)]
increase datasize to 1536M for the default login class
needed to build llvm-16 gnu/usr.bin/clang/include/llvm/AMDGPU
ok jca@

11 months agoThis code depends on internals from net/art.h so include it explicitly.
claudio [Tue, 14 Nov 2023 10:31:22 +0000 (10:31 +0000)]
This code depends on internals from net/art.h so include it explicitly.
OK bluhm@

11 months agoFix typo in comment.
claudio [Tue, 14 Nov 2023 10:12:24 +0000 (10:12 +0000)]
Fix typo in comment.

11 months agoAdd break to error out on weird characters in gethostbyname().
florian [Tue, 14 Nov 2023 08:27:33 +0000 (08:27 +0000)]
Add break to error out on weird characters in gethostbyname().

Missed in previous some time ago; while here remove confusing else.

Input & OK eric

11 months agoregen
jsg [Tue, 14 Nov 2023 02:26:17 +0000 (02:26 +0000)]
regen

11 months agoadd another Navi 32 device id
jsg [Tue, 14 Nov 2023 02:25:48 +0000 (02:25 +0000)]
add another Navi 32 device id

7470 rev 00 is Radeon Pro W7700
found in AMD Software: PRO Edition for AMD Radeon PRO W7700

11 months agoreduce the man(7) global indentation from 7n to 5n, see man_term.c rev. 1.197
schwarze [Mon, 13 Nov 2023 20:35:33 +0000 (20:35 +0000)]
reduce the man(7) global indentation from 7n to 5n, see man_term.c rev. 1.197

11 months agoraise i386's datasize for 'daemon' class so that relinking libc at boot
sthen [Mon, 13 Nov 2023 20:19:45 +0000 (20:19 +0000)]
raise i386's datasize for 'daemon' class so that relinking libc at boot
doesn't fail - new clang is even greedier than the old one.

I picked the value 1500M out of the air, it works for me but could perhaps
be finessed downwards a bit.

(I'm also using 1500M for make build / mkr+mkrx on i386; make -j8 build
is no longer a good idea on i386 ;)

11 months agofix i386 sets
sthen [Mon, 13 Nov 2023 19:53:34 +0000 (19:53 +0000)]
fix i386 sets

11 months agoinclude function name in warning printf in vmx_handle_np_fault() and svm_handle_np_fa...
jasper [Mon, 13 Nov 2023 19:15:01 +0000 (19:15 +0000)]
include function name in warning printf in vmx_handle_np_fault() and svm_handle_np_fault() more clearer output

ok mlarkin@

11 months agoReduce the man(7) default global indentation from 7n, which was an oddity
schwarze [Mon, 13 Nov 2023 19:13:00 +0000 (19:13 +0000)]
Reduce the man(7) default global indentation from 7n, which was an oddity
in groff-1.01 to groff-1.22.4, to 5n for compatibility with Version 7 AT&T
UNIX, 4.3BSD-Reno, groff-1.23.0, and all versions of mdoc(7).
OK jmc@ millert@

11 months agoFix rt_setgate() error handling.
bluhm [Mon, 13 Nov 2023 17:18:27 +0000 (17:18 +0000)]
Fix rt_setgate() error handling.

In revision 1.424 the logic in rt_setgate() has changed.  The old
code entered a value into rt_gateway also if rt_setgwroute() returned
an error.  Now if rt_setgwroute() fails, rt_gateway is NULL and
ROUNDUP(rt->rt_gateway->sa_len) crashes.

Put back the old logic in rt_setgate().  Setting rt_gateway and
rt_gwroute are actually independent.

If malloc(9) in rt_setgate() fails, rt_gateway can still be NULL.
The subsequent crash in free(rt->rt_gateway, M_RTABLE,
ROUNDUP(rt->rt_gateway->sa_len)) was just never observed.  Add a
NULL check around these free(9).

Reported-by: syzbot+2e79dd9db712d3c5ade9@syzkaller.appspotmail.com
OK mvs@

11 months agoMake X509_certificate_type() less bad
tb [Mon, 13 Nov 2023 16:16:14 +0000 (16:16 +0000)]
Make X509_certificate_type() less bad

This converts to proper single exit and undoes a number of unnecessarily
silly muppet antics.

ok beck

11 months agoGarbage collect an incoherent export crypto check
tb [Mon, 13 Nov 2023 15:44:15 +0000 (15:44 +0000)]
Garbage collect an incoherent export crypto check

Contrast "#define EVP_PKT_EXP  0x1000 /* <= 512 bit key */" with the diff:

-       /* /8 because it's 1024 bits we look for, not bytes */
-       if (EVP_PKEY_size(pk) <= 1024 / 8)
-               ret |= EVP_PKT_EXP;

EVP_PKT_EXP will be nuked at the next opportunity.

discussed with jsing

11 months agoUse a sensible variable name (i.e. nid) instead of i for a NID
tb [Mon, 13 Nov 2023 15:40:44 +0000 (15:40 +0000)]
Use a sensible variable name (i.e. nid) instead of i for a NID

11 months agoUse X509_get_signature_nid() instead of inlining it
tb [Mon, 13 Nov 2023 15:38:09 +0000 (15:38 +0000)]
Use X509_get_signature_nid() instead of inlining it

ok beck jsing

11 months agoX509_certificate_type() needs to know about RSA-PSS
tb [Mon, 13 Nov 2023 15:36:55 +0000 (15:36 +0000)]
X509_certificate_type() needs to know about RSA-PSS

This doesn't do much right now, but is part of the tangle that is adding
RSA-PSS support.

ok beck jsing

11 months agoApparently base-gcc doesn't like having OID() inside MIBDECL(). Handroll
martijn [Mon, 13 Nov 2023 15:05:14 +0000 (15:05 +0000)]
Apparently base-gcc doesn't like having OID() inside MIBDECL(). Handroll
the OID() logic into MIBDECL().

Found, tested, and OK jca@
OK tb@

11 months agoBye bye libcsi
tb [Mon, 13 Nov 2023 14:13:23 +0000 (14:13 +0000)]
Bye bye libcsi

This is sad, but unfortunately, we never had time to grow it to its
intended use. It's been in maintenance mode for too long, and there
currently aren't concrete projects to pursue this direction further.

It can be revived when the time is ripe. Until then, let it not get
in the way of more urgent work.

discussed with jsing

11 months agoRetire the libcsi regress
tb [Mon, 13 Nov 2023 14:03:17 +0000 (14:03 +0000)]
Retire the libcsi regress

11 months agosync Symbols.list with reality; ok tb@
robert [Mon, 13 Nov 2023 13:34:40 +0000 (13:34 +0000)]
sync Symbols.list with reality; ok tb@

11 months agoenable UDF on arm64 install media
jsg [Mon, 13 Nov 2023 12:49:41 +0000 (12:49 +0000)]
enable UDF on arm64 install media
ok deraadt@ kn@

11 months agoPrepare to expose OPENSSL_gmtime and OPENSSL_timegm as public
beck [Mon, 13 Nov 2023 12:46:07 +0000 (12:46 +0000)]
Prepare to expose OPENSSL_gmtime and OPENSSL_timegm as public

This matches when BoringSSL has done, and allows for getting
rid of the dependency on system timegm() and gmtime() in libtls.
which will make life easier for portable, and remove our
dependency on the potentially very slow system versions.

ok tb@ - tb will handle the minor bump bits and expose
on the next minor bump
CVS :----------------------------------------------------------------------

11 months agoKill last user of ASN1_time_parse() in the tree
tb [Mon, 13 Nov 2023 12:43:08 +0000 (12:43 +0000)]
Kill last user of ASN1_time_parse() in the tree

ASN1_time_parse() was useful while OpenSSL didn't have something sort of
equivalent, but now they do. Let's retire ASN1_time_parse() to internal.
This will require some patching in ports, but shrug.

ok beck

11 months agoCheck notBefore/notAfter validity with ASN1_TIME_to_tm(3)
tb [Mon, 13 Nov 2023 11:50:36 +0000 (11:50 +0000)]
Check notBefore/notAfter validity with ASN1_TIME_to_tm(3)

ok beck

11 months agoReplace ASN1_time_parse() with ASN1_TIME_to_tm()
tb [Mon, 13 Nov 2023 11:46:24 +0000 (11:46 +0000)]
Replace ASN1_time_parse() with ASN1_TIME_to_tm()

Like in libtls, we use ASN1_GENERALIZEDTIME_check() to ensure we actually
have a GeneralizedTime.

ok beck

11 months agoBump datasize for staff to match amd64
jca [Mon, 13 Nov 2023 11:33:52 +0000 (11:33 +0000)]
Bump datasize for staff to match amd64

Suggested by jsing@, ok tb@

11 months agosync
jsg [Mon, 13 Nov 2023 11:12:37 +0000 (11:12 +0000)]
sync

11 months agoRemove last caller of ASN1_time_parse(3) in libtls
tb [Mon, 13 Nov 2023 10:56:19 +0000 (10:56 +0000)]
Remove last caller of ASN1_time_parse(3) in libtls

This one is slightly annoying since ASN1_TIME_to_tm(3) doesn't provide a
direct check for a GeneralizedTime, so call ASN1_GENERALIZEDTIME_check()
as well. This means LibreSSL parses the time twice. Shrug.

ok beck

11 months agoRemove ASN1_time_parse() dependency in tls_conninfo.c
tb [Mon, 13 Nov 2023 10:51:49 +0000 (10:51 +0000)]
Remove ASN1_time_parse() dependency in tls_conninfo.c

During r2k22 ported some of the missing OpenSSL ASN.1 time API. This is
a step towards removing the dependency of libtls on ASN1_time_parse().
The latter grew a dependency on CBS/CBB, and thus the choice is to pull
in all this code or to use a no longer maintained version of the API.
Both options are unappealing.

ok beck

11 months agoEliminate the timegm(3) dependency in libcrypto
tb [Mon, 13 Nov 2023 10:33:00 +0000 (10:33 +0000)]
Eliminate the timegm(3) dependency in libcrypto

timegm(3) is not available on some operating systems we support in
portable. We currently use musl's implementation, for which gcc-13
decided to emit warnings (which seem incorrect in general and are
irrelevant in this case anyway). Instead of patching this up and
diverge from upstream, we can avoid reports about compiler warnings
by simply not depending on this function.

Rework the caching of notBefore and notAfter by replacing timegm(3)
with asn1_time_tm_to_time_t(3). Also make this API properly error
checkable since at the time x509v3_cache_extensions(3) is called,
nothing is known about the cert, in particular not whether it isn't
malformed one way or the other.

suggested by and ok beck