summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/libcrypto/bytestring/bs_cbb.c8
-rw-r--r--src/lib/libcrypto/bytestring/bytestring.h9
2 files changed, 15 insertions, 2 deletions
diff --git a/src/lib/libcrypto/bytestring/bs_cbb.c b/src/lib/libcrypto/bytestring/bs_cbb.c
index 3c66a28e66..cd29e168dc 100644
--- a/src/lib/libcrypto/bytestring/bs_cbb.c
+++ b/src/lib/libcrypto/bytestring/bs_cbb.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bs_cbb.c,v 1.5 2024/05/25 15:12:47 tb Exp $ */ 1/* $OpenBSD: bs_cbb.c,v 1.6 2024/06/22 15:32:51 jsing Exp $ */
2/* 2/*
3 * Copyright (c) 2014, Google Inc. 3 * Copyright (c) 2014, Google Inc.
4 * 4 *
@@ -329,6 +329,12 @@ CBB_add_u24_length_prefixed(CBB *cbb, CBB *out_contents)
329} 329}
330 330
331int 331int
332CBB_add_u32_length_prefixed(CBB *cbb, CBB *out_contents)
333{
334 return cbb_add_length_prefixed(cbb, out_contents, 4);
335}
336
337int
332CBB_add_asn1(CBB *cbb, CBB *out_contents, unsigned int tag) 338CBB_add_asn1(CBB *cbb, CBB *out_contents, unsigned int tag)
333{ 339{
334 if (tag > UINT8_MAX) 340 if (tag > UINT8_MAX)
diff --git a/src/lib/libcrypto/bytestring/bytestring.h b/src/lib/libcrypto/bytestring/bytestring.h
index d80e89c9a6..ec4abf6229 100644
--- a/src/lib/libcrypto/bytestring/bytestring.h
+++ b/src/lib/libcrypto/bytestring/bytestring.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: bytestring.h,v 1.4 2022/11/09 19:05:42 jsing Exp $ */ 1/* $OpenBSD: bytestring.h,v 1.5 2024/06/22 15:32:51 jsing Exp $ */
2/* 2/*
3 * Copyright (c) 2014, Google Inc. 3 * Copyright (c) 2014, Google Inc.
4 * 4 *
@@ -460,6 +460,13 @@ int CBB_add_u16_length_prefixed(CBB *cbb, CBB *out_contents);
460int CBB_add_u24_length_prefixed(CBB *cbb, CBB *out_contents); 460int CBB_add_u24_length_prefixed(CBB *cbb, CBB *out_contents);
461 461
462/* 462/*
463 * CBB_add_u32_length_prefixed sets |*out_contents| to a new child of |cbb|.
464 * The data written to |*out_contents| will be prefixed in |cbb| with a 32-bit,
465 * big-endian length. It returns one on success or zero on error.
466 */
467int CBB_add_u32_length_prefixed(CBB *cbb, CBB *out_contents);
468
469/*
463 * CBB_add_asn sets |*out_contents| to a |CBB| into which the contents of an 470 * CBB_add_asn sets |*out_contents| to a |CBB| into which the contents of an
464 * ASN.1 object can be written. The |tag| argument will be used as the tag for 471 * ASN.1 object can be written. The |tag| argument will be used as the tag for
465 * the object. Passing in |tag| number 31 will return in an error since only 472 * the object. Passing in |tag| number 31 will return in an error since only