Skip to content

Commit 120c581

Browse files
committed
build with mbedtls 3.x
Signed-off-by: Glenn Strauss <gstrauss@gluelogic.com>
1 parent ba4f85d commit 120c581

3 files changed

Lines changed: 20 additions & 9 deletions

File tree

src/cups.c

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@
3838
#include "mbedtls/sha512.h"
3939
#include "mbedtls/bignum.h"
4040

41+
#ifndef MBEDTLS_PRIVATE
42+
#define MBEDTLS_PRIVATE(x) x
43+
#endif
4144

4245
#define FAIL_CNT_THRES 6
4346
#define SIGCRC_LEN 4
@@ -72,12 +75,12 @@ static int cups_verifySig (cups_sig_t* sig) {
7275
mbedtls_ecdsa_context ecdsa;
7376
mbedtls_ecdsa_init(&ecdsa);
7477
int ret;
75-
if ((ret = mbedtls_ecp_group_load (&k.grp, MBEDTLS_ECP_DP_SECP256R1) ) ||
76-
(ret = mbedtls_mpi_read_binary (&k.Q.X, (u1_t*)key.buf, 32) ) ||
77-
(ret = mbedtls_mpi_read_binary (&k.Q.Y, (u1_t*)key.buf+32, 32) ) ||
78-
(ret = mbedtls_mpi_lset (&k.Q.Z, 1) ) ||
79-
(ret = mbedtls_ecp_check_pubkey (&k.grp, &k.Q) ) ||
80-
(ret = mbedtls_ecdsa_from_keypair (&ecdsa, &k) ) ||
78+
if ((ret = mbedtls_ecp_group_load (&k.MBEDTLS_PRIVATE(grp), MBEDTLS_ECP_DP_SECP256R1) ) ||
79+
(ret = mbedtls_mpi_read_binary (&k.MBEDTLS_PRIVATE(Q).MBEDTLS_PRIVATE(X), (u1_t*)key.buf, 32) ) ||
80+
(ret = mbedtls_mpi_read_binary (&k.MBEDTLS_PRIVATE(Q).MBEDTLS_PRIVATE(Y), (u1_t*)key.buf+32, 32) ) ||
81+
(ret = mbedtls_mpi_lset (&k.MBEDTLS_PRIVATE(Q).MBEDTLS_PRIVATE(Z), 1) ) ||
82+
(ret = mbedtls_ecp_check_pubkey (&k.MBEDTLS_PRIVATE(grp), &k.MBEDTLS_PRIVATE(Q)) ) ||
83+
(ret = mbedtls_ecdsa_from_keypair (&ecdsa, &k) ) ||
8184
(ret = mbedtls_ecdsa_read_signature (&ecdsa, sig->hash, sizeof(sig->hash), sig->signature, sig->len ))
8285
) {
8386
verified = 0;

src/tls.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828

2929
#include "mbedtls/net_sockets.h"
3030
#include "mbedtls/ssl.h"
31-
#include "mbedtls/certs.h"
3231
#include "mbedtls/entropy.h"
3332
#include "mbedtls/ctr_drbg.h"
3433
#include "mbedtls/error.h"
@@ -230,7 +229,12 @@ int tls_setMyCert (tlsconf_t* conf, const char* cert, int certlen, const char* k
230229
keyb = (u1_t*)dbuf.buf;
231230
keyl = dbuf.bufsize+1;
232231
}
233-
if( (ret = mbedtls_pk_parse_key(mykey, keyb, keyl, (const u1_t*)pwd, pwd?strlen(pwd):0)) != 0 ) {
232+
ret = mbedtls_pk_parse_key(mykey, keyb, keyl, (const u1_t*)pwd, pwd?strlen(pwd):0
233+
#if MBEDTLS_VERSION_NUMBER >= 0x03000000 /* mbedtls 3.0.0 */
234+
, mbedtls_ctr_drbg_random, assertDBRG()
235+
#endif
236+
);
237+
if( ret != 0 ) {
234238
log_mbedError(ERROR, ret, "Parsing key");
235239
goto errexit;
236240
}

src/tls.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,11 @@
3030
#define _tls_h_
3131

3232
#include "mbedtls/ssl.h"
33-
#include "mbedtls/net.h"
33+
#if MBEDTLS_VERSION_NUMBER < 0x02040000L
34+
#include <mbedtls/net.h>
35+
#else
36+
#include "mbedtls/net_sockets.h"
37+
#endif
3438

3539
typedef struct tlsconf tlsconf_t;
3640
typedef struct mbedtls_ssl_context* tlsctx_p;

0 commit comments

Comments
 (0)