openbsd
15 months agoMove the ENGINE_new() prototype a line down
tb [Fri, 4 Aug 2023 05:44:51 +0000 (05:44 +0000)]
Move the ENGINE_new() prototype a line down

15 months agoLink new ccs test to build
tb [Thu, 3 Aug 2023 20:13:12 +0000 (20:13 +0000)]
Link new ccs test to build

Exception needed since the test expects an unexpected_message alert, while
we throw a decode_error.

15 months agoEnable vlan stripping of LRO packets in ix(4)
jan [Thu, 3 Aug 2023 18:56:32 +0000 (18:56 +0000)]
Enable vlan stripping of LRO packets in ix(4)

tested by bluhm

ok bluhm@

15 months agoMake the bn_rand_interval() API a bit more ergonomic
tb [Thu, 3 Aug 2023 18:53:55 +0000 (18:53 +0000)]
Make the bn_rand_interval() API a bit more ergonomic

Provide bn_rand_in_range() which is a slightly tweaked version of what was
previously called bn_rand_range().

The way bn_rand_range() is called in libcrypto, the lower bound is always
expressible as a word. In fact, most of the time it is 1, the DH code uses
a 2, the MR tests in BPSW use 3 and an exceptinally high number appears in
the Tonelli-Shanks implementation where we use 32. Converting these lower
bounds to BIGNUMs on the call site is annoying so let bn_rand_interval()
do that internally and route that through bn_rand_in_range(). This way we
can avoid using BN_sub_word().

Adjust the bn_isqrt() test to use bn_rand_in_range() since that's the
only caller that uses actual BIGNUMs as lower bounds.

ok jsing

15 months agoRetire the bn_rand_interval() test
tb [Thu, 3 Aug 2023 18:44:31 +0000 (18:44 +0000)]
Retire the bn_rand_interval() test

This test was never particularly useful. An upcoming API change for
the internal bn_rand_interval() API would require some adjustments.
It's not worth it.

15 months agoadd extract example and reorder flags on other examples
aisha [Thu, 3 Aug 2023 18:17:54 +0000 (18:17 +0000)]
add extract example and reorder flags on other examples

comments sthen@ and Peter J. Philipp <pjp AT delphinusdns DOT org>
ok jmc@

15 months agoRemove unused sk/lh macros
tb [Thu, 3 Aug 2023 16:32:15 +0000 (16:32 +0000)]
Remove unused sk/lh macros

ok jsing miod

15 months agoRemove the per-cpu loadavg calculation.
claudio [Thu, 3 Aug 2023 16:12:08 +0000 (16:12 +0000)]
Remove the per-cpu loadavg calculation.
The current scheduler useage is highly questionable and probably not helpful.
OK kettenis@ cheloha@ deraadt@

15 months agoMark the exponential constants for load avarage calculation as const.
claudio [Thu, 3 Aug 2023 16:08:12 +0000 (16:08 +0000)]
Mark the exponential constants for load avarage calculation as const.
OK cheloha@

15 months agoMove solock() down to sosetopt(). A part of standalone sblock() work.
mvs [Thu, 3 Aug 2023 09:49:08 +0000 (09:49 +0000)]
Move solock() down to sosetopt(). A part of standalone sblock() work.
This movement required because buffers related SO_SND* and SO_RCV*
socket options should be protected with sblock(). However, standalone
sblock() has different lock order with solock() and `so_snd' and
`so_rcv' buffers. At least sblock() for `so_snd' buffer will always be
taken before solock() in the sosend() path.

The (*pr_ctloutput)() call was removed from the SOL_SOCKET level 'else'
branch. Except the SO_RTABLE case where it handled in the special way,
this is null op call.

For SO_SND* and SO_RCV* cases solock() will be replaced by sblock() in
the future.

Feedback from bluhm

Tested by bluhm naddy

ok bluhm

15 months agoadd EXIT STATUS section with information for the exec subcommand
aisha [Wed, 2 Aug 2023 23:34:13 +0000 (23:34 +0000)]
add EXIT STATUS section with information for the exec subcommand

patch by Matthew Martin <phy1729 AT gmail DOT com>

15 months agoCheckHostIP has defaulted to 'no' for a while; make the commented-
djm [Wed, 2 Aug 2023 23:04:38 +0000 (23:04 +0000)]
CheckHostIP has defaulted to 'no' for a while; make the commented-
out config option match. From Ed Maste

15 months agoSet a low water mark on scsi_xfer_pool and prime the pool. This way there
kettenis [Wed, 2 Aug 2023 19:58:52 +0000 (19:58 +0000)]
Set a low water mark on scsi_xfer_pool and prime the pool.  This way there
will always be some scsi_xfer structures around.  Hopefully that means the
pagedaemon can actually write out pages to swap if we're out of physical
memory.

ok krw@

15 months agoMinor changes to reduce differences between vt100 and sun emulations. NFCI
miod [Wed, 2 Aug 2023 19:20:19 +0000 (19:20 +0000)]
Minor changes to reduce differences between vt100 and sun emulations. NFCI

15 months agouvm_loadav: don't recompute schedstate_percpu.spc_nrun
cheloha [Wed, 2 Aug 2023 13:54:45 +0000 (13:54 +0000)]
uvm_loadav: don't recompute schedstate_percpu.spc_nrun

We track the nrun value in schedstate_percpu.spc_nrun.  There is no
reason to walk the allproc list to recompute it.

Prompted by claudio@.

Thread: https://marc.info/?l=openbsd-tech&m=169059099426049&w=2

ok claudio@

15 months agoadd axp313a support
uaa [Wed, 2 Aug 2023 11:52:18 +0000 (11:52 +0000)]
add axp313a support

ok kettenis@

15 months agodon't change the end marker in sg_set_page()
jsg [Wed, 2 Aug 2023 11:03:17 +0000 (11:03 +0000)]
don't change the end marker in sg_set_page()

Prompted by bad memory accesses seen with page flipping on alder lake
and raptor lake.  Starting xfce reliably caused problems.

reported by kn@ and yasuoka@, both confirmed this fixes it
ok kn@ kettenis@

15 months agoMore whitespace fixes from knfmt
tb [Wed, 2 Aug 2023 09:25:36 +0000 (09:25 +0000)]
More whitespace fixes from knfmt

15 months agoRemove unused vm_map_upgrade() & vm_map_downgrade().
mpi [Wed, 2 Aug 2023 09:19:47 +0000 (09:19 +0000)]
Remove unused vm_map_upgrade() & vm_map_downgrade().

Upgrade/downgrade operations on a `vmmaplk' are no longer necessary since
vm_map_busy() completely unlocks it (r1.318 of uvm/uvm_map.c).

ok kettenis@

15 months agoSimplify disk encryption question
kn [Wed, 2 Aug 2023 08:51:16 +0000 (08:51 +0000)]
Simplify disk encryption question

The yes/no question was mistaken as actual passphrase prompt and/or details
in parentheses were taken as option list (despite the lack of commas).

Unmention the only disk encryption mechanism we support and simply ask
whether to protect the root disk with a passphrase or not (still yes/no).

Prodded by solene, feedback from many
Wording from naddy, similar wording from sthen
OK naddy sthen deraadt afresh1

15 months agoRemove extraneous parentheses and fix weird whitespace.
tb [Wed, 2 Aug 2023 08:50:02 +0000 (08:50 +0000)]
Remove extraneous parentheses and fix weird whitespace.

15 months agoDrop the _ex from BN_BLINDING_{convert,invert}_ex()
tb [Wed, 2 Aug 2023 08:44:38 +0000 (08:44 +0000)]
Drop the _ex from BN_BLINDING_{convert,invert}_ex()

15 months agoRemove the unused BN_BLINDING_{convert,invert}()
tb [Wed, 2 Aug 2023 08:39:04 +0000 (08:39 +0000)]
Remove the unused BN_BLINDING_{convert,invert}()

ok jsing

15 months agoMake BN_BLINDING_{new,update}() static in bn_blind.c
tb [Wed, 2 Aug 2023 08:34:42 +0000 (08:34 +0000)]
Make BN_BLINDING_{new,update}() static in bn_blind.c

ok jsing

15 months agoRemove the unused flags member of BN_BLINDING
tb [Wed, 2 Aug 2023 08:31:12 +0000 (08:31 +0000)]
Remove the unused flags member of BN_BLINDING

Nothing sets this, so remove it along with BN_BLINDING_NO_{UPDATE,RECREATE}
and some checks that are always true.

ok jsing

15 months agoRemove the unused flags accessors for BN_BLINDING
tb [Wed, 2 Aug 2023 08:26:55 +0000 (08:26 +0000)]
Remove the unused flags accessors for BN_BLINDING

ok jsing

15 months agoRemove a 16 year old confusing lie
tb [Wed, 2 Aug 2023 08:02:56 +0000 (08:02 +0000)]
Remove a 16 year old confusing lie

The mod member of BN_BLINDING hasn't been /* just a reference */ since
the branch prediction mitigations in OpenSSL bd31fb21 from March 2007.

15 months agoRevert r1.31 - contrary to what I wrote, scaled versions of ld.d and st.d
miod [Wed, 2 Aug 2023 06:14:46 +0000 (06:14 +0000)]
Revert r1.31 - contrary to what I wrote, scaled versions of ld.d and st.d
are 64-bit loads and stores and may hit aligned-to-32-bits-but-not-64-bits
addresses.

15 months agoAdd (limited) support for setting PPL0 on JH7110.
kettenis [Tue, 1 Aug 2023 18:20:07 +0000 (18:20 +0000)]
Add (limited) support for setting PPL0 on JH7110.

ok jsing@

15 months agoRemove unused prototype
tb [Tue, 1 Aug 2023 17:19:49 +0000 (17:19 +0000)]
Remove unused prototype

15 months agoThe swapper left the building long time ago. Now with the issue in
claudio [Tue, 1 Aug 2023 14:15:44 +0000 (14:15 +0000)]
The swapper left the building long time ago. Now with the issue in
inteldrm fixed we should be able to remove this unneeded wakeup for good.
OK mvs@ cheloha@ deraadt@

15 months agoremove unnecessary if statement. github PR#422 from eyalasulin999,
dtucker [Tue, 1 Aug 2023 08:15:04 +0000 (08:15 +0000)]
remove unnecessary if statement.  github PR#422 from eyalasulin999,
ok djm@

15 months agoDon't force early wrap around for jiffies.
claudio [Tue, 1 Aug 2023 07:57:55 +0000 (07:57 +0000)]
Don't force early wrap around for jiffies.

In inteldrm the function intel_dp_wait_source_oui() can be called before
last_oui_write is set and so the code requires a positive initial jiffies
value. On linux this is the case for 64bit systems (but not for 32bit) and
because of this idiosyncracy this bug was introduced in upstream intel code.
Instead of adding another OpenBSD specific quirk to drm code alter our
jiffies initalisation.

Systems affected are at least "ALDERLAKE_P, gen 12" and "TIGERLAKE, gen 12"
Suggested fix by kettenis@
OK jsg@

15 months agoImplement time_after() and firends as static inline functions.
claudio [Tue, 1 Aug 2023 06:40:18 +0000 (06:40 +0000)]
Implement time_after() and firends as static inline functions.
The previous macros were too optimistic about types and also did a signed
subtraction that could overflow.
OK miod@ kettenis@ deraadt@ jsg@

15 months agoualarm.3: cleanups, rewrites
cheloha [Tue, 1 Aug 2023 01:17:25 +0000 (01:17 +0000)]
ualarm.3: cleanups, rewrites

Clean up the ualarm.3 page as we did with the alarm.3 page.

- Be more specific in the Name summary.
- Rewrite the Description.  In particular, ualarm(3) does not block,
  it schedules the signal for asynchronous delivery.
- The Return Values section is incoherent, rewrite it.  Remove the
  incorrect details about the upper bound.
- Add Caveats: discourage use of ualarm(3) and setitimer(2) in the
  same program.

Input on v1 from schwarze@, deraadt@, millert@, and jmc@.  Input on v2
from jmc@ and millert@.

v1: https://marc.info/?l=openbsd-tech&m=162508423008134&w=2
v2: https://marc.info/?l=openbsd-tech&m=169076642509763&w=2

ok jmc@ millert@

15 months agoMark code parameter of codepatch_replace() constant also on i386.
bluhm [Mon, 31 Jul 2023 17:10:31 +0000 (17:10 +0000)]
Mark code parameter of codepatch_replace() constant also on i386.

OK guenther@

15 months agoAdd AXP15060 support.
kettenis [Mon, 31 Jul 2023 12:23:35 +0000 (12:23 +0000)]
Add AXP15060 support.

ok uaa@

15 months agoImplement audio input source selection.
tobhe [Mon, 31 Jul 2023 12:00:07 +0000 (12:00 +0000)]
Implement audio input source selection.

from jon at elytron dot openbsd dot amsterdam
feedback and ok miod@

15 months agodon't let pfsync send an insert message for a state pfsync just inserted
dlg [Mon, 31 Jul 2023 11:13:09 +0000 (11:13 +0000)]
don't let pfsync send an insert message for a state pfsync just inserted

sthen@ upgraded and ended up with a lot of pfsync traffic which was
mostly made up of the two firewalls telling each other to insert
the same state over and over again.

this has each of the paths that insert states (actual pf, ioctls,
and pfsync) identify themselves so pfsync can enter them into its
own state machine in the right place. when pfsync inserts a state
into pf, it knows it should just swallow the state silently without
sending out another insert for it.

ok sthen@ sashan@

15 months agoMake the RSB interface optional such that we can use this driver in kernels
kettenis [Mon, 31 Jul 2023 09:00:43 +0000 (09:00 +0000)]
Make the RSB interface optional such that we can use this driver in kernels
without the sxirsb(4) driver.

ok uaa@

15 months agoRemove more *_options() stuff
tb [Mon, 31 Jul 2023 05:04:06 +0000 (05:04 +0000)]
Remove more *_options() stuff

The public symbols were removed. Some prototypes and in the case of DES
even the implementation remained.

ok jsing

15 months agoOn CPUs with eIBRS ("enhanced Indirect Branch Restricted Speculation")
guenther [Mon, 31 Jul 2023 04:01:07 +0000 (04:01 +0000)]
On CPUs with eIBRS ("enhanced Indirect Branch Restricted Speculation")
or IBT enabled the kernel, the hardware should the attacks which
retpolines were created to prevent.  In those cases, retpolines
should be a net negative for security as they are an indirect branch
gadget.  They're also slower.
 * use -mretpoline-external-thunk to give us control of the code
   used for indirect branches
 * default to using a retpoline as before, but marks it and the
   other ASM kernel retpolines for code patching
 * if the CPU has eIBRS, then enable it
 * if the CPU has eIBRS *or* IBT, then codepatch the three different
   retpolines to just indirect jumps

make clean && make config required after this

ok kettenis@

15 months agoThe replacement code passed to codepatch_replace() can usefully be
guenther [Mon, 31 Jul 2023 01:33:57 +0000 (01:33 +0000)]
The replacement code passed to codepatch_replace() can usefully be
const.

suggested by bluhm@

15 months agoAdd JH7110 I2C clocks.
kettenis [Sun, 30 Jul 2023 17:28:19 +0000 (17:28 +0000)]
Add JH7110 I2C clocks.

ok jsing@

15 months agosync with userland's zlib.h
tb [Sun, 30 Jul 2023 16:43:53 +0000 (16:43 +0000)]
sync with userland's zlib.h

15 months agosync compress.3 with zlib.h
tb [Sun, 30 Jul 2023 16:43:28 +0000 (16:43 +0000)]
sync compress.3 with zlib.h

ok jmc

15 months agoMerge some doc comment updates from upstream
tb [Sun, 30 Jul 2023 16:42:57 +0000 (16:42 +0000)]
Merge some doc comment updates from upstream

15 months agoPull in two #undef from upstream's develop branch
tb [Sun, 30 Jul 2023 16:42:01 +0000 (16:42 +0000)]
Pull in two #undef from upstream's develop branch

ok guenther

15 months agoCheck for NULL before de-referencing a pointer, not after.
krw [Sun, 30 Jul 2023 12:52:03 +0000 (12:52 +0000)]
Check for NULL before de-referencing a pointer, not after.

More complete solution after tb@ pointed out what Coverity missed.

ok tb@

15 months agochange __GFP_KSWAPD_RECLAIM from 0 to M_NOWAIT
jsg [Sun, 30 Jul 2023 12:16:20 +0000 (12:16 +0000)]
change __GFP_KSWAPD_RECLAIM from 0 to M_NOWAIT

aja@ reported a panic where __i915_gpu_coredump() used a combination of
gfp flags which resulted in neither M_WAITOK or M_NOWAIT.

15 months agoAttach "Intel 700 Series HD Audio" (0x51ca). The audio device on vaio
yasuoka [Sun, 30 Jul 2023 08:46:03 +0000 (08:46 +0000)]
Attach "Intel 700 Series HD Audio" (0x51ca).  The audio device on vaio
VJPK23, azalia doesn't match because its subclass is audio not hd audio.

ok jsg

15 months agocount the number of times a ring was marked as oactive.
dlg [Sun, 30 Jul 2023 05:39:52 +0000 (05:39 +0000)]
count the number of times a ring was marked as oactive.

this is interesting as an indicator of how busy or overloaded a
transmit queue is before the next indicator which is the number of
qdrops.

15 months agomove rx head register writes out of rx completions and into rxfill
dlg [Sun, 30 Jul 2023 04:27:01 +0000 (04:27 +0000)]
move rx head register writes out of rx completions and into rxfill

rxfill is always called after rx completions are done anyway, and
it makes more sense to give the hypervisor an update about new mbufs
on the ring after we put them there.

15 months agofix generation handling on rx ring wraparound.
dlg [Sun, 30 Jul 2023 04:10:58 +0000 (04:10 +0000)]
fix generation handling on rx ring wraparound.

15 months agowhite space fixes, no functional change
dlg [Sun, 30 Jul 2023 03:40:08 +0000 (03:40 +0000)]
white space fixes, no functional change

15 months agoadd bus_dmamap_sync() ops around the rx handling.
dlg [Sun, 30 Jul 2023 03:35:50 +0000 (03:35 +0000)]
add bus_dmamap_sync() ops around the rx handling.

15 months agoclear oactive on each txq, not just txq 0 when the iface goes up or down
dlg [Sun, 30 Jul 2023 02:10:00 +0000 (02:10 +0000)]
clear oactive on each txq, not just txq 0 when the iface goes up or down

if the driver did get into a situation where the tx rings were out
of sync (which should be fixed now) and were stuck oactive, taking
the interface down and up didnt clear that on anything except ring
0.

15 months agoadd bus_dmamap_syncs around tx ring handling.
dlg [Sun, 30 Jul 2023 01:59:23 +0000 (01:59 +0000)]
add bus_dmamap_syncs around tx ring handling.

this copies the dmamem wrapper from ixl (which has been copied
around lots of other places too) so it makes the bus_dma ops around
them more consistent with other drivers. before this vmx would use
the bus dma api to allocate physical memory, but then free the
dmamap so it wasnt available for use with bus_dmamap_sync().

15 months agotighten up the tx start/completion handling of the producer and consumer.
dlg [Sun, 30 Jul 2023 01:41:05 +0000 (01:41 +0000)]
tighten up the tx start/completion handling of the producer and consumer.

the hypervisor obvious snoops the descriptor rings like crazy, and
it can run and complete transmit of packets as soon as the ownership
bit is set on the descriptor and before the txh register is updated
with the producer index. txintr would only process tx completions
if the producer and consumer indexes the driver maintains were
different, but would then go and pop every packet the hardware said
was done off the ring.

this changes txintr so it will only iterate over packets between
the driver consumer and producer indexes. also, have the start code
update the producer before flipping the ownership bit in the ring.
this keeps the start and intr code in sync.

15 months agopost tx ring producer updates to each rings own txh register.
dlg [Sun, 30 Jul 2023 01:15:42 +0000 (01:15 +0000)]
post tx ring producer updates to each rings own txh register.

before this change all the different ring producer updates were
posted to ring 0.

15 months agoDrop unused conf, pem, and x509 headers, add unistd for pledge
tb [Sat, 29 Jul 2023 17:15:45 +0000 (17:15 +0000)]
Drop unused conf, pem, and x509 headers, add unistd for pledge

15 months agoCheck for NULL before de-referencing a pointer, not after.
krw [Sat, 29 Jul 2023 15:59:27 +0000 (15:59 +0000)]
Check for NULL before de-referencing a pointer, not after.

Coverity CID #1566406

ok phessler@

15 months agoRead curcpu once in kcov code hot paths.
anton [Sat, 29 Jul 2023 06:52:50 +0000 (06:52 +0000)]
Read curcpu once in kcov code hot paths.

15 months agoAvoid accessing curproc early during boot when kcov is enabled as it
anton [Sat, 29 Jul 2023 06:52:08 +0000 (06:52 +0000)]
Avoid accessing curproc early during boot when kcov is enabled as it
might be unassigned until all secondary processors are up and running.

15 months agoMove HAVE_FUNOPEN out of !NOPIC
tb [Sat, 29 Jul 2023 06:46:20 +0000 (06:46 +0000)]
Move HAVE_FUNOPEN out of !NOPIC

Due to some historic accident, HAVE_FUNOPEN was grouped with DSO_DLFCN
and HAVE_DLFCN_H inside !defined(NOPIC). While the two DLFCN bits belong
there, HAVE_FUNOPEN doesn't.

ok jsing, millert agrees

15 months agoGarbage collect rodata only used by RC4_options()
tb [Sat, 29 Jul 2023 06:17:56 +0000 (06:17 +0000)]
Garbage collect rodata only used by RC4_options()

build tested by miod

15 months agoAdd _libre_CMS_{,SignerInfo}_get_version
tb [Sat, 29 Jul 2023 03:18:05 +0000 (03:18 +0000)]
Add _libre_CMS_{,SignerInfo}_get_version

15 months agoRemove {BN,idea}_options() leftovers
tb [Sat, 29 Jul 2023 03:13:38 +0000 (03:13 +0000)]
Remove {BN,idea}_options() leftovers

Some *_options() prototypes were left behind in headers. I will remove
them after my amd64 ports bulk completes.

15 months agoRemove BF_options() documentation
tb [Sat, 29 Jul 2023 03:05:35 +0000 (03:05 +0000)]
Remove BF_options() documentation

15 months agoreinstate KNF for comment
tb [Sat, 29 Jul 2023 02:32:00 +0000 (02:32 +0000)]
reinstate KNF for comment

15 months agobump version
benno [Fri, 28 Jul 2023 20:28:11 +0000 (20:28 +0000)]
bump version

15 months agoSimplify logic for LRO packet tracking in ix(4). Protect against
bluhm [Fri, 28 Jul 2023 20:25:08 +0000 (20:25 +0000)]
Simplify logic for LRO packet tracking in ix(4).  Protect against
integer overflow although it should not happen.

test and OK jan@

15 months agoSome of these functions no longer exist or are no longer public
tb [Fri, 28 Jul 2023 18:29:26 +0000 (18:29 +0000)]
Some of these functions no longer exist or are no longer public

15 months agoSome open rsync tests fail when run as regular user. If running
bluhm [Fri, 28 Jul 2023 17:25:32 +0000 (17:25 +0000)]
Some open rsync tests fail when run as regular user.  If running
as root, switch to build user to cover that case with new test13b_perms.
Fix the original test6_perms and test13_perms to pass as root and
regular user.  Note that ports rsync does not have this problem.

15 months agoDSO has left the building
tb [Fri, 28 Jul 2023 17:13:56 +0000 (17:13 +0000)]
DSO has left the building

15 months agoInitialize handlers with NULL, not 0.
dv [Fri, 28 Jul 2023 16:54:48 +0000 (16:54 +0000)]
Initialize handlers with NULL, not 0.

15 months agoAlso remove ecdh.h use from libssl
tb [Fri, 28 Jul 2023 16:02:34 +0000 (16:02 +0000)]
Also remove ecdh.h use from libssl

15 months agoStop including ecdsa.h and ecdh.h internally
tb [Fri, 28 Jul 2023 15:50:33 +0000 (15:50 +0000)]
Stop including ecdsa.h and ecdh.h internally

These headers are now reduced to #include <openssl/ec.h> and are provided
for compatiblity only. There's no point in using them. At the same time
garbage collect the last uses of OPENSSL_NO_{ECDSA,ECDH} in our tree.

ok jsing

15 months agoThe CRYPTO_EX_DATA type is not opaque
tb [Fri, 28 Jul 2023 14:34:54 +0000 (14:34 +0000)]
The CRYPTO_EX_DATA type is not opaque

By API misdesign, it cannot be opaque. The incorrect documentation was
added as a part of a huge commit with a lot of churn. CRYPTO_EX_DATA
typically lives as an embedded struct of an opaque struct, but it can
also be used by applications, for example to initialize libssl.

documentation error pointed out by jsing

15 months agoremove X509_ATTRIBUTE_SET_it
jsg [Fri, 28 Jul 2023 13:30:07 +0000 (13:30 +0000)]
remove X509_ATTRIBUTE_SET_it
public symbol removed in April
ok tb@

15 months agodhtest: simplify printing and make the output slightly less ugly
tb [Fri, 28 Jul 2023 13:05:59 +0000 (13:05 +0000)]
dhtest: simplify printing and make the output slightly less ugly

CID 463174

15 months agoImplement print_hexbuf() to hexdump the contents of an ibuf.
claudio [Fri, 28 Jul 2023 11:23:03 +0000 (11:23 +0000)]
Implement print_hexbuf() to hexdump the contents of an ibuf.
OK tb@

15 months agoCombine ripemd into a single C file.
jsing [Fri, 28 Jul 2023 11:08:01 +0000 (11:08 +0000)]
Combine ripemd into a single C file.

15 months agoCombine md5 into a single C file.
jsing [Fri, 28 Jul 2023 11:06:28 +0000 (11:06 +0000)]
Combine md5 into a single C file.

15 months agoCombine md4 into a single C file.
jsing [Fri, 28 Jul 2023 11:04:41 +0000 (11:04 +0000)]
Combine md4 into a single C file.

15 months agosync
tb [Fri, 28 Jul 2023 10:42:01 +0000 (10:42 +0000)]
sync

15 months agobump libcrypto, libssl, libtls majors
tb [Fri, 28 Jul 2023 10:41:24 +0000 (10:41 +0000)]
bump libcrypto, libssl, libtls majors

15 months agoTwo files did not want to go away. Go!
tb [Fri, 28 Jul 2023 10:38:51 +0000 (10:38 +0000)]
Two files did not want to go away. Go!

15 months agoRemove various ${thing}_options
tb [Fri, 28 Jul 2023 10:35:14 +0000 (10:35 +0000)]
Remove various ${thing}_options

Various, ancient ciphers exposed some of their innards via an _options()
API. Apart from openssl version/speed, only some lua thingie in nmap ever
looked at these. Go figure.

hppa testing by miod, i386 testing by sthen. Thanks!

ok jsing

15 months agoRemove more ASN1_BIT_STRING API
tb [Fri, 28 Jul 2023 10:33:13 +0000 (10:33 +0000)]
Remove more ASN1_BIT_STRING API

This removes ASN1_BIT_STRING_name_print(), ASN1_BIT_STRING_{num,set}_asc().
Before trust was properly handled using OIDs, there was a period where it
used bit strings. The actual interfaces used in openssl x509 were removed,
but the functions they wrapped remained unused for the next 24 years.

ok jsing

15 months agoRemove ASN1_BIT_STRING_check
tb [Fri, 28 Jul 2023 10:30:16 +0000 (10:30 +0000)]
Remove ASN1_BIT_STRING_check

This was added with the TS code for no discernible reason. I could not
find a single consumer. In the unlikely event that you need this, it is
easy enough to write a better version of it yourself.

ok jsing

15 months agoProvide CMS{,_SignerInfo}_get_version
tb [Fri, 28 Jul 2023 10:28:02 +0000 (10:28 +0000)]
Provide CMS{,_SignerInfo}_get_version

Add accessors for the syntax versions of ContentInfo and SignerInfo.
These will be used soon in rpki-client for some more compliance checks.

ok job jsing

15 months agoRemove sk_nid_triple_*()
tb [Fri, 28 Jul 2023 10:26:33 +0000 (10:26 +0000)]
Remove sk_nid_triple_*()

The nid_triple stack is no more. Its type never was part of the public API.
Why its stack macros were will remain a mystery.

ok jsing

15 months agoRemove OBJ_add_sigid() and OBJ_sigid_free()
tb [Fri, 28 Jul 2023 10:25:05 +0000 (10:25 +0000)]
Remove OBJ_add_sigid() and OBJ_sigid_free()

Another bit of unused extensibility that was responsible for a lot
of complexity until recently. This removes the remaining stubs from
the public API.

ok jsing

15 months agoRemove more ERR cruft
tb [Fri, 28 Jul 2023 10:23:19 +0000 (10:23 +0000)]
Remove more ERR cruft

Ever wondered how many entries populate the various err hashes?
Me neither. Remove this garbage.

ok jsing

15 months agoRemove ERR_{get,set}_implementation()
tb [Fri, 28 Jul 2023 10:21:01 +0000 (10:21 +0000)]
Remove ERR_{get,set}_implementation()

Much like ex_data, applications can make the library use their own error
stack implementation. Well, except as of right now they no longer can.

ok jsing

15 months agoMake ex_data implementations internal
tb [Fri, 28 Jul 2023 10:19:20 +0000 (10:19 +0000)]
Make ex_data implementations internal

To state the obvious: library suffers from way too much extensibility. In
theory, applications can implement their own ex_data implementation. In
practice, none did. A glance at ex_data.c might give an idea as to why.
Make this internal so this particular turd can be replaced with something
slightly saner.

Also sync up the CRYPTO_EX_INDEX_* defines with OpenSSL - at least
the parts we support.

ok jsing

15 months agoRemove BUF_[a-z]* API
tb [Fri, 28 Jul 2023 10:17:21 +0000 (10:17 +0000)]
Remove BUF_[a-z]* API

This are a bunch of strange string handlers with NULL checks that make
no real sense except to some devs who like to sprinkle them everywhere.
Fortunately, nothing uses these anymore, so they can go.

ok jsing

15 months agoDrop BIO_n{read,write}{,0}()
tb [Fri, 28 Jul 2023 10:13:50 +0000 (10:13 +0000)]
Drop BIO_n{read,write}{,0}()

This is one of those strange things that should never have made it into
a security-oriented libraries. From BIO_s_bio.3:

.\" The following non-copying I/O functions are intentionally undocumented
.\" because they seem fragile and unused by anything:

It was used in a single place: the gorgeous ssltest. I'm not smart enough
to follow.  Also:

/* WARNING: The non-copying interface is largely untested as of yet
 * and may contain bugs. */

Oh, really? Into the great bitbucket in the sky you go.

ok jsing

15 months agoRemove the get_rfc*_prime_*() API
tb [Fri, 28 Jul 2023 10:07:30 +0000 (10:07 +0000)]
Remove the get_rfc*_prime_*() API

Inconsistently named with the rest of the API, so OpenSSL 1.1 introduced
the same functions with a BN_ prefix. We'll keep the latter.

ok jsing