summaryrefslogtreecommitdiffstats
path: root/ssl
diff options
context:
space:
mode:
authorTomas Mraz <tomas@openssl.org>2023-08-23 18:12:32 +0200
committerHugo Landau <hlandau@openssl.org>2023-08-25 12:03:46 +0100
commit1cc8c53b0fc06d148a9f62e5d2d5bcd859f948cf (patch)
treeca7698dcc3f294f2b89c5ba92d8a95e796bf0045 /ssl
parent675481ee7a8a7fe55aa387b1ccc4ba3b579bc2ff (diff)
Avoid issues with endianness when type is used in SSL_trace()
The TLS record type is a single byte value so we can use uint8_t for it. This allows passing its address directly to SSL_trace() instead of converting it to a single byte type first. Reviewed-by: Hugo Landau <hlandau@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/21823)
Diffstat (limited to 'ssl')
-rw-r--r--ssl/quic/quic_tls.c2
-rw-r--r--ssl/record/methods/recmethod_local.h2
-rw-r--r--ssl/record/methods/tls_common.c2
-rw-r--r--ssl/record/record.h2
4 files changed, 4 insertions, 4 deletions
diff --git a/ssl/quic/quic_tls.c b/ssl/quic/quic_tls.c
index 8f104f63e3..14b23baeb2 100644
--- a/ssl/quic/quic_tls.c
+++ b/ssl/quic/quic_tls.c
@@ -356,7 +356,7 @@ static int quic_retry_write_records(OSSL_RECORD_LAYER *rl)
}
static int quic_read_record(OSSL_RECORD_LAYER *rl, void **rechandle,
- int *rversion, int *type, const unsigned char **data,
+ int *rversion, uint8_t *type, const unsigned char **data,
size_t *datalen, uint16_t *epoch,
unsigned char *seq_num)
{
diff --git a/ssl/record/methods/recmethod_local.h b/ssl/record/methods/recmethod_local.h
index b5dfaf30d2..cf0af62f3a 100644
--- a/ssl/record/methods/recmethod_local.h
+++ b/ssl/record/methods/recmethod_local.h
@@ -459,7 +459,7 @@ int tls_retry_write_records(OSSL_RECORD_LAYER *rl);
int tls_get_alert_code(OSSL_RECORD_LAYER *rl);
int tls_set1_bio(OSSL_RECORD_LAYER *rl, BIO *bio);
int tls_read_record(OSSL_RECORD_LAYER *rl, void **rechandle, int *rversion,
- int *type, const unsigned char **data, size_t *datalen,
+ uint8_t *type, const unsigned char **data, size_t *datalen,
uint16_t *epoch, unsigned char *seq_num);
int tls_release_record(OSSL_RECORD_LAYER *rl, void *rechandle, size_t length);
int tls_default_set_protocol_version(OSSL_RECORD_LAYER *rl, int version);
diff --git a/ssl/record/methods/tls_common.c b/ssl/record/methods/tls_common.c
index 505e133161..576b651aa7 100644
--- a/ssl/record/methods/tls_common.c
+++ b/ssl/record/methods/tls_common.c
@@ -1088,7 +1088,7 @@ int tls13_common_post_process_record(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *rec)
}
int tls_read_record(OSSL_RECORD_LAYER *rl, void **rechandle, int *rversion,
- int *type, const unsigned char **data, size_t *datalen,
+ uint8_t *type, const unsigned char **data, size_t *datalen,
uint16_t *epoch, unsigned char *seq_num)
{
TLS_RL_RECORD *rec;
diff --git a/ssl/record/record.h b/ssl/record/record.h
index 7dcbbb36e9..a8fa6833e9 100644
--- a/ssl/record/record.h
+++ b/ssl/record/record.h
@@ -22,7 +22,7 @@
typedef struct tls_record_st {
void *rechandle;
int version;
- int type;
+ uint8_t type;
/* The data buffer containing bytes from the record */
const unsigned char *data;
/*