summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjsing <>2026-01-17 14:53:09 +0000
committerjsing <>2026-01-17 14:53:09 +0000
commitfdea186c25361674646de3b0a16b3ad37c8f0ec3 (patch)
tree174362589c541e85180078e5e9ac69d9e90ada52
parentdb12bd9b580e2fc1c5c7d3224d2d9d0f534d1b8d (diff)
downloadopenbsd-fdea186c25361674646de3b0a16b3ad37c8f0ec3.tar.gz
openbsd-fdea186c25361674646de3b0a16b3ad37c8f0ec3.tar.bz2
openbsd-fdea186c25361674646de3b0a16b3ad37c8f0ec3.zip
Replace MD5_ASM with function specific defines.
Use the same pattern that is now used for most other code - provide HAVE_MD5_BLOCK_DATA_ORDER and use this to selectively enable source code.
-rw-r--r--src/lib/libcrypto/arch/amd64/Makefile.inc3
-rw-r--r--src/lib/libcrypto/arch/amd64/crypto_arch.h4
-rw-r--r--src/lib/libcrypto/arch/i386/Makefile.inc3
-rw-r--r--src/lib/libcrypto/arch/i386/crypto_arch.h4
-rw-r--r--src/lib/libcrypto/md5/md5.c6
5 files changed, 11 insertions, 9 deletions
diff --git a/src/lib/libcrypto/arch/amd64/Makefile.inc b/src/lib/libcrypto/arch/amd64/Makefile.inc
index 49f2f6e627..8f1681322d 100644
--- a/src/lib/libcrypto/arch/amd64/Makefile.inc
+++ b/src/lib/libcrypto/arch/amd64/Makefile.inc
@@ -1,4 +1,4 @@
1# $OpenBSD: Makefile.inc,v 1.44 2026/01/17 14:30:37 jsing Exp $ 1# $OpenBSD: Makefile.inc,v 1.45 2026/01/17 14:53:09 jsing Exp $
2 2
3# amd64-specific libcrypto build rules 3# amd64-specific libcrypto build rules
4 4
@@ -44,7 +44,6 @@ SRCS += bignum_sub.S
44SRCS += word_clz.S 44SRCS += word_clz.S
45 45
46# md5 46# md5
47CFLAGS+= -DMD5_ASM
48SRCS+= md5_amd64_generic.S 47SRCS+= md5_amd64_generic.S
49 48
50# modes 49# modes
diff --git a/src/lib/libcrypto/arch/amd64/crypto_arch.h b/src/lib/libcrypto/arch/amd64/crypto_arch.h
index fdc17b8110..411deb0e5d 100644
--- a/src/lib/libcrypto/arch/amd64/crypto_arch.h
+++ b/src/lib/libcrypto/arch/amd64/crypto_arch.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: crypto_arch.h,v 1.16 2026/01/17 14:30:37 jsing Exp $ */ 1/* $OpenBSD: crypto_arch.h,v 1.17 2026/01/17 14:53:09 jsing Exp $ */
2/* 2/*
3 * Copyright (c) 2024 Joel Sing <jsing@openbsd.org> 3 * Copyright (c) 2024 Joel Sing <jsing@openbsd.org>
4 * 4 *
@@ -52,6 +52,8 @@ extern uint64_t crypto_cpu_caps_amd64;
52#define HAVE_GCM_GHASH_4BIT 52#define HAVE_GCM_GHASH_4BIT
53#define HAVE_GCM_GMULT_4BIT 53#define HAVE_GCM_GMULT_4BIT
54 54
55#define HAVE_MD5_BLOCK_DATA_ORDER
56
55#define HAVE_RC4_INTERNAL 57#define HAVE_RC4_INTERNAL
56#define HAVE_RC4_SET_KEY_INTERNAL 58#define HAVE_RC4_SET_KEY_INTERNAL
57 59
diff --git a/src/lib/libcrypto/arch/i386/Makefile.inc b/src/lib/libcrypto/arch/i386/Makefile.inc
index 18d316e64d..26c3bc4568 100644
--- a/src/lib/libcrypto/arch/i386/Makefile.inc
+++ b/src/lib/libcrypto/arch/i386/Makefile.inc
@@ -1,4 +1,4 @@
1# $OpenBSD: Makefile.inc,v 1.33 2026/01/17 14:30:37 jsing Exp $ 1# $OpenBSD: Makefile.inc,v 1.34 2026/01/17 14:53:09 jsing Exp $
2 2
3# i386-specific libcrypto build rules 3# i386-specific libcrypto build rules
4 4
@@ -19,7 +19,6 @@ CFLAGS+= -DOPENSSL_BN_ASM_MONT
19SSLASM+= bn x86-mont 19SSLASM+= bn x86-mont
20 20
21# md5 21# md5
22CFLAGS+= -DMD5_ASM
23SSLASM+= md5 md5-586 22SSLASM+= md5 md5-586
24 23
25# modes 24# modes
diff --git a/src/lib/libcrypto/arch/i386/crypto_arch.h b/src/lib/libcrypto/arch/i386/crypto_arch.h
index 143dce6ce0..ff14881f36 100644
--- a/src/lib/libcrypto/arch/i386/crypto_arch.h
+++ b/src/lib/libcrypto/arch/i386/crypto_arch.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: crypto_arch.h,v 1.15 2026/01/17 14:30:37 jsing Exp $ */ 1/* $OpenBSD: crypto_arch.h,v 1.16 2026/01/17 14:53:09 jsing Exp $ */
2/* 2/*
3 * Copyright (c) 2024 Joel Sing <jsing@openbsd.org> 3 * Copyright (c) 2024 Joel Sing <jsing@openbsd.org>
4 * 4 *
@@ -52,6 +52,8 @@ extern uint64_t crypto_cpu_caps_i386;
52#define HAVE_GCM_GHASH_4BIT 52#define HAVE_GCM_GHASH_4BIT
53#define HAVE_GCM_GMULT_4BIT 53#define HAVE_GCM_GMULT_4BIT
54 54
55#define HAVE_MD5_BLOCK_DATA_ORDER
56
55#define HAVE_RC4_INTERNAL 57#define HAVE_RC4_INTERNAL
56#define HAVE_RC4_SET_KEY_INTERNAL 58#define HAVE_RC4_SET_KEY_INTERNAL
57 59
diff --git a/src/lib/libcrypto/md5/md5.c b/src/lib/libcrypto/md5/md5.c
index f1c9223d86..f5ad5570a4 100644
--- a/src/lib/libcrypto/md5/md5.c
+++ b/src/lib/libcrypto/md5/md5.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: md5.c,v 1.25 2025/01/24 13:35:04 jsing Exp $ */ 1/* $OpenBSD: md5.c,v 1.26 2026/01/17 14:53:09 jsing Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -70,11 +70,11 @@
70/* Ensure that MD5_LONG and uint32_t are equivalent size. */ 70/* Ensure that MD5_LONG and uint32_t are equivalent size. */
71CTASSERT(sizeof(MD5_LONG) == sizeof(uint32_t)); 71CTASSERT(sizeof(MD5_LONG) == sizeof(uint32_t));
72 72
73#ifdef MD5_ASM 73#ifdef HAVE_MD5_BLOCK_DATA_ORDER
74void md5_block_data_order(MD5_CTX *c, const void *p, size_t num); 74void md5_block_data_order(MD5_CTX *c, const void *p, size_t num);
75#endif 75#endif
76 76
77#ifndef MD5_ASM 77#ifndef HAVE_MD5_BLOCK_DATA_ORDER
78static inline uint32_t 78static inline uint32_t
79md5_F(uint32_t x, uint32_t y, uint32_t z) 79md5_F(uint32_t x, uint32_t y, uint32_t z)
80{ 80{