openbsd
7 months agoFix LCRYPTO_UNUSED() in namespace builds
tb [Sat, 30 Mar 2024 10:09:43 +0000 (10:09 +0000)]
Fix LCRYPTO_UNUSED() in namespace builds

If namespace builds are enabled, static links don't work due to missing
_lcry_* symbols. Make LCRYPTO_UNUSED() match LCRYPTO_USED() with an extra
deprecated attribute. This way we can remove the !LIBRESSL_INTERNAL #ifdef
wrapping in public headers.

ok beck joshua

7 months agoInitialize quic_method in tlsexttest
tb [Sat, 30 Mar 2024 09:53:41 +0000 (09:53 +0000)]
Initialize quic_method in tlsexttest

This is only there to pretend a quic method was set on the SSL, but
apparently some compilers warn about an uninitialized variable.

from Christian Andersen

7 months agoReplace silly test1_exit() with exit()
tb [Sat, 30 Mar 2024 09:49:59 +0000 (09:49 +0000)]
Replace silly test1_exit() with exit()

Appeases some compiler.

from Christian Andersen

7 months agoRemove call to lh_FUNCTION_free()
tb [Sat, 30 Mar 2024 09:41:25 +0000 (09:41 +0000)]
Remove call to lh_FUNCTION_free()

This is a wrapper around lh_free() which is already tested.

From Christian Andersen

7 months agoRemove nonsensical comments. NFC
miod [Sat, 30 Mar 2024 08:44:20 +0000 (08:44 +0000)]
Remove nonsensical comments. NFC

7 months agoIn _malloc_init(), round up the region being mprotected RW to the malloc
miod [Sat, 30 Mar 2024 07:50:39 +0000 (07:50 +0000)]
In _malloc_init(), round up the region being mprotected RW to the malloc
page size, rather than relying upon mprotect to round up to the actual mmu
page size.

This repairs malloc operation on systems where the malloc page size
(1 << _MAX_PAGE_SHIFT) is larger than the mmu page size.

ok otto@

7 months agoBring back an inline db_enter(), which makes backtraces easier to grok
miod [Sat, 30 Mar 2024 07:45:21 +0000 (07:45 +0000)]
Bring back an inline db_enter(), which makes backtraces easier to grok
when sh*t hits the fan; per kettenis@ request and forgotten in previous
cleaning commit.

7 months agoImplement else branching logic including 'else if'.
mpi [Sat, 30 Mar 2024 07:41:45 +0000 (07:41 +0000)]
Implement else branching logic including 'else if'.

Statement lists for if & else conditions are now wrapped in a new
'struct bt_cond'.  Handling B_AC_TEST statements moved to stmt_eval()
to handle nested conditional statements.

From Christian Ludwig christian_ludwig at genua.de

7 months agoprogram relinking currently uses a Makefile.relink inside the re-link kit.
deraadt [Sat, 30 Mar 2024 07:35:01 +0000 (07:35 +0000)]
program relinking currently uses a Makefile.relink inside the re-link kit.
For sshd (the only relinked program at the moment), this file is created
in an extremely nasty way.  It'll be better if we have a proper clean
install.sh script, which I've built for sshd.  But let's first commit the
change to /etc/rc which will handle that in the near future.
ok djm

7 months agoin OpenSSH private key format, correct type for subsequent private
djm [Sat, 30 Mar 2024 05:56:22 +0000 (05:56 +0000)]
in OpenSSH private key format, correct type for subsequent private
keys in blob. From Jakub Jelen via GHPR430

7 months agoHide symbols in aes
joshua [Sat, 30 Mar 2024 05:14:12 +0000 (05:14 +0000)]
Hide symbols in aes

ok jsing

7 months agoHide symbols in camellia
joshua [Sat, 30 Mar 2024 04:58:12 +0000 (04:58 +0000)]
Hide symbols in camellia

ok tb

7 months agoRewrite RSA_padding_add_PKCS1_type_{1,2}() with CBS/CBB.
jsing [Sat, 30 Mar 2024 04:34:17 +0000 (04:34 +0000)]
Rewrite RSA_padding_add_PKCS1_type_{1,2}() with CBS/CBB.

ok tb@

7 months agoallow WAYLAND_DISPLAY to enable SSH_ASKPASS
djm [Sat, 30 Mar 2024 04:27:44 +0000 (04:27 +0000)]
allow WAYLAND_DISPLAY to enable SSH_ASKPASS

From dkg via GHPR479; ok dtucker@

7 months agoHide symbols in whrlpool
joshua [Sat, 30 Mar 2024 03:45:47 +0000 (03:45 +0000)]
Hide symbols in whrlpool

ok tb

7 months agoDo multiple padding add/check iterations.
jsing [Sat, 30 Mar 2024 02:20:39 +0000 (02:20 +0000)]
Do multiple padding add/check iterations.

This increases the chance of triggering bugs due to input and/or randomised
padding.

7 months agoHide symbols in CMS
joshua [Sat, 30 Mar 2024 01:53:05 +0000 (01:53 +0000)]
Hide symbols in CMS

ok jsing

7 months agouse void in function decl with no args; avoids non-ANSI smatch warnings
jsg [Sat, 30 Mar 2024 01:13:56 +0000 (01:13 +0000)]
use void in function decl with no args; avoids non-ANSI smatch warnings

7 months agoAdd initial regress for RSA padding.
jsing [Sat, 30 Mar 2024 00:36:14 +0000 (00:36 +0000)]
Add initial regress for RSA padding.

7 months agoRemove pointless guard in cms header
joshua [Sat, 30 Mar 2024 00:35:15 +0000 (00:35 +0000)]
Remove pointless guard in cms header

ok jsing

7 months agoTidy indentation.
jsing [Sat, 30 Mar 2024 00:34:40 +0000 (00:34 +0000)]
Tidy indentation.

Requested by tb@

7 months agoRemove -app2_1 flags being passed to dsa and rsa regress.
jsing [Sat, 30 Mar 2024 00:32:13 +0000 (00:32 +0000)]
Remove -app2_1 flags being passed to dsa and rsa regress.

Nothing does flag handling in these tests.

7 months agoUse SBI calls to reboot or power down the machine when the firmware
kettenis [Fri, 29 Mar 2024 22:11:34 +0000 (22:11 +0000)]
Use SBI calls to reboot or power down the machine when the firmware
supports them.

ok jca@

7 months agoSkip calculating timings if we can't determine the frequency of the clock.
kettenis [Fri, 29 Mar 2024 22:08:09 +0000 (22:08 +0000)]
Skip calculating timings if we can't determine the frequency of the clock.
This avoids programming the hardware with clearly wrong values.  On the
Milk-V Pioneer this means the I2C controller remains functional and
rebooting using the appropriate SBI call still works.

ok miod@

7 months agoDrop the first argument of intr_establish().
miod [Fri, 29 Mar 2024 21:29:33 +0000 (21:29 +0000)]
Drop the first argument of intr_establish().

Instead, require all callers to put the right value in the ih_pil field, and
have intr_establish() trust them rather than assigning this field again from
its first argument.

ok claudio@ kettenis@

7 months agoStore the physical address of each pcb in struct mdproc, and use this in
miod [Fri, 29 Mar 2024 21:27:53 +0000 (21:27 +0000)]
Store the physical address of each pcb in struct mdproc, and use this in
order to speed up window spills, rather than doing an inline pmap_extract
(well, pseg_get).

ok claudio@ kettenis@

7 months agoRemove truly unneeded includes (not included indirectly).
miod [Fri, 29 Mar 2024 21:26:38 +0000 (21:26 +0000)]
Remove truly unneeded includes (not included indirectly).

ok claudio@ kettenis@

7 months agoCheck for %otherwin being nonzero earlier in rft_user.
miod [Fri, 29 Mar 2024 21:25:55 +0000 (21:25 +0000)]
Check for %otherwin being nonzero earlier in rft_user.

There is one code path using it in %g2 and another using it in %g7.
There is no reason for them to use different registers, and fixing
this allows the check to be performed a bit earlier.

ok claudio@ kettenis@

7 months agoSimplify two more places where we don't need to check for unbiased stacks.
miod [Fri, 29 Mar 2024 21:23:17 +0000 (21:23 +0000)]
Simplify two more places where we don't need to check for unbiased stacks.

ok claudio@ kettenis@

7 months agoSTACKFRAME macro is always invoked on a well-formed 64-bit stack, no need
miod [Fri, 29 Mar 2024 21:20:03 +0000 (21:20 +0000)]
STACKFRAME macro is always invoked on a well-formed 64-bit stack, no need
to check for missing BIAS.

ok claudio@ kettenis@

7 months agoText faults should not invoke uvm_grow() since the fault address is not on
miod [Fri, 29 Mar 2024 21:19:30 +0000 (21:19 +0000)]
Text faults should not invoke uvm_grow() since the fault address is not on
stack. Remove duplicated "panic if uvm_fault() fails and we are in kernel mode"
blocks.

ok claudio@ kettenis@

7 months agosend_softint() was designed as being able to target a particular cpu, but the
miod [Fri, 29 Mar 2024 21:18:19 +0000 (21:18 +0000)]
send_softint() was designed as being able to target a particular cpu, but the
code for this was never written and all uses target the running cpu anyway,
so stop pretending it may do things it won't do and drop that cpu argument.

ok claudio@ kettenis@

7 months agoUpdate/fix/remove obsolete or just plainly wrong comments.
miod [Fri, 29 Mar 2024 21:17:13 +0000 (21:17 +0000)]
Update/fix/remove obsolete or just plainly wrong comments.

ok claudio@ kettenis@

7 months agoStop including <machine/signal.h> in locore and remove _LOCORE guards
miod [Fri, 29 Mar 2024 21:16:38 +0000 (21:16 +0000)]
Stop including <machine/signal.h> in locore and remove _LOCORE guards
from this header file.

ok claudio@ kettenis@

7 months agoMove C declarations from intreg.h to <machine/intr.h> which includes it.
miod [Fri, 29 Mar 2024 21:16:01 +0000 (21:16 +0000)]
Move C declarations from intreg.h to <machine/intr.h> which includes it.

This makes intreg.h locore-friendly - it only contains the MAXINTNUM define
after that.

ok claudio@ kettenis@

7 months agoGet rid of unnecessary defines in assym.h.
miod [Fri, 29 Mar 2024 21:14:56 +0000 (21:14 +0000)]
Get rid of unnecessary defines in assym.h.

ok claudio@ kettenis@

7 months agoClean the fpu trap code:
miod [Fri, 29 Mar 2024 21:14:31 +0000 (21:14 +0000)]
Clean the fpu trap code:
- since there are no hardware fpu operation queues on real sparc64 hardware,
  don't bother declaring the relevant struct and fields.
- when an fpu instruction needs to be emulated, pass it directly to
  fpu_cleanup rather than fake its appearance in the fpu queue. While there,
  also pass the ready-to-use union sigval computed in trap() in case a
  signal needs to be delivered.

ok claudio@ kettenis@

7 months agoBe sure to reset p->p_md.md_fpstate to NULL after freeing it in cpu_exit().
miod [Fri, 29 Mar 2024 21:12:58 +0000 (21:12 +0000)]
Be sure to reset p->p_md.md_fpstate to NULL after freeing it in cpu_exit().
There should hopefully be no further faults on this proc causing an fpu
state to be handled, but better play safe than sorry.

ok claudio@ kettenis@

7 months agoClean-up cache-related definitions and routines.
miod [Fri, 29 Mar 2024 21:11:31 +0000 (21:11 +0000)]
Clean-up cache-related definitions and routines.

ok claudio@ kettenis@

7 months agoComment out unused routines. They might become used in the future, so they
miod [Fri, 29 Mar 2024 21:09:49 +0000 (21:09 +0000)]
Comment out unused routines. They might become used in the future, so they
are better not moved to the Attic yet.

ok claudio@ kettenis@

7 months agoRemove dead code. Some of it had been dead since the very beginning of the
miod [Fri, 29 Mar 2024 21:09:04 +0000 (21:09 +0000)]
Remove dead code. Some of it had been dead since the very beginning of the
sparc64 port.

ok claudio@ kettenis@

7 months agoNo longer include <machine/fsr.h> from <machine/reg.h>, and have the few
miod [Fri, 29 Mar 2024 21:08:10 +0000 (21:08 +0000)]
No longer include <machine/fsr.h> from <machine/reg.h>, and have the few
users which need both explicitly include both.

ok claudio@ kettenis@

7 months agoDe-register fpu completion code.
miod [Fri, 29 Mar 2024 21:07:11 +0000 (21:07 +0000)]
De-register fpu completion code.

There are pending changes to some of these files, and this would get in the
way.

ok claudio@ kettenis@

7 months agoRemove dead defines, prototypes and data, and duplicate or misleading comments.
miod [Fri, 29 Mar 2024 21:06:14 +0000 (21:06 +0000)]
Remove dead defines, prototypes and data, and duplicate or misleading comments.

ok claudio@ kettenis@

7 months agoRemove unconditional define of _LOCORE.
miod [Fri, 29 Mar 2024 21:05:34 +0000 (21:05 +0000)]
Remove unconditional define of _LOCORE.

This was used to get once-protected-by-_LOCORE defines from
<machine/frame.h>, but is now completely unnecessary and possibly dangerous.

ok claudio@ kettenis@

7 months agoNow that this file is no longer used by any libc C file, get rid of checks
miod [Fri, 29 Mar 2024 21:04:37 +0000 (21:04 +0000)]
Now that this file is no longer used by any libc C file, get rid of checks
for the _LIBC preprocessor symbol.

Also move the CC64FSZ and BIAS defines earlier in order to only have one
!_LOCORE block.

ok claudio@ kettenis@

7 months agoDo not include <machine/frame.h> in libc sparc64 fpu routines, they don't
miod [Fri, 29 Mar 2024 21:02:11 +0000 (21:02 +0000)]
Do not include <machine/frame.h> in libc sparc64 fpu routines, they don't
need any of its contents.
ok claudio@ kettenis@

7 months agoFix writing the prefetchable mmio window base/limit.
kettenis [Fri, 29 Mar 2024 12:45:13 +0000 (12:45 +0000)]
Fix writing the prefetchable mmio window base/limit.

ok patrick@

7 months agoTweak defines since the Td4 table is only used for AES_{encrypt,decrypt}
jsing [Fri, 29 Mar 2024 11:19:01 +0000 (11:19 +0000)]
Tweak defines since the Td4 table is only used for AES_{encrypt,decrypt}

7 months agoAlways use C functions for AES_{encrypt,decrypt}().
jsing [Fri, 29 Mar 2024 11:00:57 +0000 (11:00 +0000)]
Always use C functions for AES_{encrypt,decrypt}().

Always provide AES_{encrypt,decrypt}() via C functions, which then either
use a C implementation or call the assembly implementation.

ok tb@

7 months agoUse egrep instead of grep -E. Some plaforms don't have the latter so this
dtucker [Fri, 29 Mar 2024 10:40:07 +0000 (10:40 +0000)]
Use egrep instead of grep -E.  Some plaforms don't have the latter so this
makes things easier in -portable.

7 months agoskip dwqe_tx_proc() processing while the interface is not up
stsp [Fri, 29 Mar 2024 08:19:40 +0000 (08:19 +0000)]
skip dwqe_tx_proc() processing while the interface is not up

Prevents a crash seen by bluhm@ while running flood ping in parallel
to looping ifconfig dwqe0 down up:
kernel: protection fault trap, code=0
Stopped at      m_tag_delete_chain+0x30:        movq    0(%rsi),%rax

ok kettenis@ dlg@ patrick@ deraadt@

7 months agoSYS_msyscall will go away soon. kdump does not need a special handler
deraadt [Fri, 29 Mar 2024 07:53:32 +0000 (07:53 +0000)]
SYS_msyscall will go away soon.  kdump does not need a special handler
for it.
ok tb

7 months agoRemove previously missed idea file.
jsing [Fri, 29 Mar 2024 07:45:36 +0000 (07:45 +0000)]
Remove previously missed idea file.

7 months agoConsolidate cast code.
jsing [Fri, 29 Mar 2024 07:36:38 +0000 (07:36 +0000)]
Consolidate cast code.

7 months agoConsolidate camellia code.
jsing [Fri, 29 Mar 2024 07:26:21 +0000 (07:26 +0000)]
Consolidate camellia code.

7 months agoMove camellia to primary Makefile.
jsing [Fri, 29 Mar 2024 07:24:09 +0000 (07:24 +0000)]
Move camellia to primary Makefile.

These files are now built on all platforms.

7 months agoAdd table-driven Whirlpool tests
joshua [Fri, 29 Mar 2024 07:13:38 +0000 (07:13 +0000)]
Add table-driven Whirlpool tests

ok tb

7 months agoRemove now unused camellia assembly implementations.
jsing [Fri, 29 Mar 2024 07:09:37 +0000 (07:09 +0000)]
Remove now unused camellia assembly implementations.

7 months agosync
deraadt [Fri, 29 Mar 2024 07:08:45 +0000 (07:08 +0000)]
sync

7 months agoStop building camellia assembly on amd64 and i386.
jsing [Fri, 29 Mar 2024 07:06:21 +0000 (07:06 +0000)]
Stop building camellia assembly on amd64 and i386.

This is a legacy algorithm and the assembly is only marginally faster than
the C code.

Discussed with beck@ and tb@

7 months agoStop printing the "syscall" bit related to msyscall(2), since the subsystem
deraadt [Fri, 29 Mar 2024 06:54:13 +0000 (06:54 +0000)]
Stop printing the "syscall" bit related to msyscall(2), since the subsystem
is being deleted.

7 months agoNo longer build the objective-C compiler (cc1obj). Its standard library
miod [Fri, 29 Mar 2024 06:52:50 +0000 (06:52 +0000)]
No longer build the objective-C compiler (cc1obj). Its standard library
(libobjc) had been removed from the build years ago, there is no need to
keep the compiler.
ok beck@ joshua@

7 months agoRemove one global variable duplicating uvmexp.pagesize.
miod [Fri, 29 Mar 2024 06:50:06 +0000 (06:50 +0000)]
Remove one global variable duplicating uvmexp.pagesize.
ok guenther@ deraadt@

7 months agoSimplify the conditionals for architectures which do not need any particular
miod [Fri, 29 Mar 2024 06:49:00 +0000 (06:49 +0000)]
Simplify the conditionals for architectures which do not need any particular
md files lists.
ok guenther@ deraadt@

7 months agothe msyscall(2) manual page can be deleted.
deraadt [Fri, 29 Mar 2024 06:48:04 +0000 (06:48 +0000)]
the msyscall(2) manual page can be deleted.
Also, the details described in sigaltstack(2) are no longer true.
ok jmc

7 months agoRemove the at-syscall-time check for msyscall(2)'s behaviour. msyscall(2)
deraadt [Fri, 29 Mar 2024 06:47:05 +0000 (06:47 +0000)]
Remove the at-syscall-time check for msyscall(2)'s behaviour.  msyscall(2)
was a big coding effort to ensure that system calls could only be performed
from static-binary/ld.so/libc.so/sigtramp regions of memory, by caching a
uvm entry with a serial number; new mmap/mprotect calls would increment
the map serial, and the entry would need to be looked up again.  So the
cost was O(1) in the usual case, but O(log n) with some locking if a map
change required a new lookup.
In the new world order, such regions are immutable so they cannot be
changed/split by mmap/mprotect; also we know the precise entry locations
of the syscalls due to system call pinning (ELF OPENBSD_SYSCALL and
pinsyscalls(2)), and this is all done as O(1) without any locking.

All the other parts of the subsystem will be ripped out but please
run a kernel with this before I make changes to ld.so..
ok kettenis

7 months agoSprinkle a few references to RFC 8419
tb [Fri, 29 Mar 2024 06:43:12 +0000 (06:43 +0000)]
Sprinkle a few references to RFC 8419

7 months agoAdd regress coverage for EdDSA in CMS
tb [Fri, 29 Mar 2024 06:42:42 +0000 (06:42 +0000)]
Add regress coverage for EdDSA in CMS

7 months agoImplement Ed25519 signatures for CMS (RFC 8419)
tb [Fri, 29 Mar 2024 06:41:58 +0000 (06:41 +0000)]
Implement Ed25519 signatures for CMS (RFC 8419)

This adds support for Edwards curve digital signature algorithms in the
cryptographic message syntax, as specified in RFC 8419. Only Ed25519 is
supported since that is the only EdDSA algorithm that LibreSSL supports
(this is unlikely to change ever, but, as they say - never is a very
long time).

This has the usual curly interactions between EVP and CMS with poorly
documented interfaces and lots of confusing magic return values and
controls. This improves upon existing control handlers by documenting
what is being done and why. Unlike other (draft) implementations we
also happen to use the correct hashing algorithm.

There are no plans to implement RFC 8418.

joint work with job at p2k23

ok jsing

7 months agoMove aes_core.c to the primary Makefile.
jsing [Fri, 29 Mar 2024 06:03:20 +0000 (06:03 +0000)]
Move aes_core.c to the primary Makefile.

This is now built on all platforms.

7 months agoConsolidate idea into a single C file.
jsing [Fri, 29 Mar 2024 05:23:50 +0000 (05:23 +0000)]
Consolidate idea into a single C file.

7 months agoRemove unused n2ln, l2nn, n2l and l2n macros.
jsing [Fri, 29 Mar 2024 05:03:48 +0000 (05:03 +0000)]
Remove unused n2ln, l2nn, n2l and l2n macros.

7 months agoMake X509_VERIFY_PARAM_set1_policies() less bad
tb [Fri, 29 Mar 2024 04:50:11 +0000 (04:50 +0000)]
Make X509_VERIFY_PARAM_set1_policies() less bad

If any OBJ_dup() fails along the way, a partially copied policy stack
would remain on the params object. This makes no sense. Implement and
use an sk_ASN1_OBJECT_deep_copy(), that copies the full stack or else
returns NULL.

Remove unnecessary NULL check and streamline some other logic.

ok jsing

7 months agoClean up X509_VERIFY_PARAM_add0_policy()
tb [Fri, 29 Mar 2024 04:45:15 +0000 (04:45 +0000)]
Clean up X509_VERIFY_PARAM_add0_policy()

Streamline some checks and use more idiomatic sk_push() error check

ok jsing

7 months agoAlways use C functions for AES_set_{encrypt,decrypt}_key().
jsing [Fri, 29 Mar 2024 04:39:54 +0000 (04:39 +0000)]
Always use C functions for AES_set_{encrypt,decrypt}_key().

Always include aes_core.c and provide AES_set_{encrypt,decrypt}_key() via C
functions, which then either use a C implementation or call the assembly
implementation.

ok tb@

7 months agoRetire mime_debug()
tb [Fri, 29 Mar 2024 04:35:42 +0000 (04:35 +0000)]
Retire mime_debug()

discussed with jsing

7 months agoImprove error checking in i2d_ASN1_bio_stream()
tb [Fri, 29 Mar 2024 03:23:01 +0000 (03:23 +0000)]
Improve error checking in i2d_ASN1_bio_stream()

The streaming BIO API is full of missing error checks. This diff reverts
the logic so that the single call to ASN1_item_i2d_bio() is error checked
(it has the usual 1/0 return values), unindents the bulk of the code and
propagates the SMIME_crlf_copy() return value (alos 1/0) to be the actual
error.

ok jsing

7 months agoConsolidate whirlpool into a single C file.
jsing [Fri, 29 Mar 2024 02:41:49 +0000 (02:41 +0000)]
Consolidate whirlpool into a single C file.

Buy a vowel at the same time, since we're no longer limited to 8.3 file
names.

Discussed with tb@

7 months agoRemove now unused assembly implementations of whirlpool.
jsing [Fri, 29 Mar 2024 02:38:45 +0000 (02:38 +0000)]
Remove now unused assembly implementations of whirlpool.

7 months agoHide symbols in Blowfish
joshua [Fri, 29 Mar 2024 02:37:20 +0000 (02:37 +0000)]
Hide symbols in Blowfish

ok jsing tb

7 months agoElkhart Lake needs the 0V quirk
jsg [Fri, 29 Mar 2024 02:36:49 +0000 (02:36 +0000)]
Elkhart Lake needs the 0V quirk

fixes accessing eMMC on a machine with Celeron J6413
from and tested by Sven Falempin

7 months agoMove wp_block.c to the primary Makefile.
jsing [Fri, 29 Mar 2024 02:33:44 +0000 (02:33 +0000)]
Move wp_block.c to the primary Makefile.

This is now built on all platforms.

7 months agoSync EVP_MD_meth removal with what landed upstream
tb [Fri, 29 Mar 2024 02:31:22 +0000 (02:31 +0000)]
Sync EVP_MD_meth removal with what landed upstream

discussed with djm

7 months agoRemove CMS special now that we do not depend on pem.h being included first.
jsing [Fri, 29 Mar 2024 02:30:25 +0000 (02:30 +0000)]
Remove CMS special now that we do not depend on pem.h being included first.

7 months agoStop playing #ifdef HEADER_PEM_H games in cms.h.
jsing [Fri, 29 Mar 2024 02:28:50 +0000 (02:28 +0000)]
Stop playing #ifdef HEADER_PEM_H games in cms.h.

Rather than making prototypes appear and disappear depending on whether
or not you've included pem.h before cms.h, just include pem.h from cms.h
itself.

ok joshua@ tb@

7 months agoStop using pem2.h.
jsing [Fri, 29 Mar 2024 02:22:18 +0000 (02:22 +0000)]
Stop using pem2.h.

Somewhere in the past 25 years, the circular dependency between err and pem
went away. Stop pulling in pem2.h and just use pem.h directly (pem2.h can
probably be removed at some point, but that remains for another day).

ok joshua@ tb@

7 months agoHide symbols in DES
joshua [Fri, 29 Mar 2024 01:47:29 +0000 (01:47 +0000)]
Hide symbols in DES

ok jsing beck

7 months agoRename AES_cbc_encrypt to aes_cbc_encrypt_internal for the SEH handlers.
jsing [Fri, 29 Mar 2024 01:27:42 +0000 (01:27 +0000)]
Rename AES_cbc_encrypt to aes_cbc_encrypt_internal for the SEH handlers.

Should fix windows build.

7 months agoStop building whirlpool assembly on amd64 and i386.
jsing [Fri, 29 Mar 2024 01:24:07 +0000 (01:24 +0000)]
Stop building whirlpool assembly on amd64 and i386.

This is a legacy algorithm and the assembly is only marginally faster than
the C code.

Discussed with beck@ and tb@

7 months agoBack out tzset(3) change, it is not effective.
millert [Fri, 29 Mar 2024 01:16:30 +0000 (01:16 +0000)]
Back out tzset(3) change, it is not effective.

7 months agoCall tzset() in main() so we don't need to check TZ repeatedly.
millert [Fri, 29 Mar 2024 01:01:00 +0000 (01:01 +0000)]
Call tzset() in main() so we don't need to check TZ repeatedly.
This has the greatest impact on makewhatis, which used to make
thousands of calls to issetugid(2) via localtime(3) and strftime(3).
Inspired by a different diff from miod@.  OK miod@

7 months agoFix indent
tb [Fri, 29 Mar 2024 00:25:32 +0000 (00:25 +0000)]
Fix indent

7 months agoApply style(9) hammer.
jsing [Fri, 29 Mar 2024 00:16:22 +0000 (00:16 +0000)]
Apply style(9) hammer.

The code is still a horrific mess, but at least the braces are in the right
place...

7 months agoHide symbols in RIPEMD
joshua [Thu, 28 Mar 2024 23:54:15 +0000 (23:54 +0000)]
Hide symbols in RIPEMD

ok beck jsing

7 months agoAlder Lake-N eMMC needs the 0V quirk
jsg [Thu, 28 Mar 2024 23:38:54 +0000 (23:38 +0000)]
Alder Lake-N eMMC needs the 0V quirk

fixes accessing eMMC on MeLE Quieter 4C
from and tested by Colin Didier

7 months agoMerge aes_cbc.c into aes.c now that aes_cbc.c is used on all platforms.
jsing [Thu, 28 Mar 2024 12:52:58 +0000 (12:52 +0000)]
Merge aes_cbc.c into aes.c now that aes_cbc.c is used on all platforms.

7 months agoMake AES_cbc_encrypt() always be a C function.
jsing [Thu, 28 Mar 2024 12:28:48 +0000 (12:28 +0000)]
Make AES_cbc_encrypt() always be a C function.

Rename the assembly generated functions from AES_cbc_encrypt() to
aes_cbc_encrypt_internal(). Always include aes_cbc.c and change it
to use defines that are similar to those used in BN.

ok tb@

7 months agoUse static inline for rc4_set_key_internal().
jsing [Thu, 28 Mar 2024 12:11:26 +0000 (12:11 +0000)]
Use static inline for rc4_set_key_internal().

7 months agoRemove unused SM3_Transform()
jsing [Thu, 28 Mar 2024 12:09:09 +0000 (12:09 +0000)]
Remove unused SM3_Transform()

Along with the misnamed SM3_transform() prototype.