summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/asn1/a_octet.c
diff options
context:
space:
mode:
authorjsing <>2021-12-25 08:52:44 +0000
committerjsing <>2021-12-25 08:52:44 +0000
commitdec42f5ec7fdeaf3f4c15382618eec327e1c2a1c (patch)
treedeb13cf3156e23b9aed2e7ab7fcc949a90f0b8a0 /src/lib/libcrypto/asn1/a_octet.c
parentb1df5c76791dd5f3fe24f1286cb7598e96a53359 (diff)
downloadopenbsd-dec42f5ec7fdeaf3f4c15382618eec327e1c2a1c.tar.gz
openbsd-dec42f5ec7fdeaf3f4c15382618eec327e1c2a1c.tar.bz2
openbsd-dec42f5ec7fdeaf3f4c15382618eec327e1c2a1c.zip
Consolidate code/templates for ASN.1 types.
Where an ASN.1 type has its own file, move the ASN.1 item template and template related functions into the file. Discussed with tb@
Diffstat (limited to 'src/lib/libcrypto/asn1/a_octet.c')
-rw-r--r--src/lib/libcrypto/asn1/a_octet.c35
1 files changed, 34 insertions, 1 deletions
diff --git a/src/lib/libcrypto/asn1/a_octet.c b/src/lib/libcrypto/asn1/a_octet.c
index d998675d3f..c1a25202c0 100644
--- a/src/lib/libcrypto/asn1/a_octet.c
+++ b/src/lib/libcrypto/asn1/a_octet.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: a_octet.c,v 1.10 2015/07/29 14:58:34 jsing Exp $ */ 1/* $OpenBSD: a_octet.c,v 1.11 2021/12/25 08:52:44 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 *
@@ -59,6 +59,26 @@
59#include <stdio.h> 59#include <stdio.h>
60 60
61#include <openssl/asn1.h> 61#include <openssl/asn1.h>
62#include <openssl/asn1t.h>
63
64const ASN1_ITEM ASN1_OCTET_STRING_it = {
65 .itype = ASN1_ITYPE_PRIMITIVE,
66 .utype = V_ASN1_OCTET_STRING,
67 .sname = "ASN1_OCTET_STRING",
68};
69
70ASN1_OCTET_STRING *
71ASN1_OCTET_STRING_new(void)
72{
73 return (ASN1_OCTET_STRING *)ASN1_item_new(&ASN1_OCTET_STRING_it);
74}
75
76void
77ASN1_OCTET_STRING_free(ASN1_OCTET_STRING *a)
78{
79 ASN1_item_free((ASN1_VALUE *)a, &ASN1_OCTET_STRING_it);
80}
81
62 82
63ASN1_OCTET_STRING * 83ASN1_OCTET_STRING *
64ASN1_OCTET_STRING_dup(const ASN1_OCTET_STRING *x) 84ASN1_OCTET_STRING_dup(const ASN1_OCTET_STRING *x)
@@ -77,3 +97,16 @@ ASN1_OCTET_STRING_set(ASN1_OCTET_STRING *x, const unsigned char *d, int len)
77{ 97{
78 return ASN1_STRING_set(x, d, len); 98 return ASN1_STRING_set(x, d, len);
79} 99}
100
101int
102i2d_ASN1_OCTET_STRING(ASN1_OCTET_STRING *a, unsigned char **out)
103{
104 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_OCTET_STRING_it);
105}
106
107ASN1_OCTET_STRING *
108d2i_ASN1_OCTET_STRING(ASN1_OCTET_STRING **a, const unsigned char **in, long len)
109{
110 return (ASN1_OCTET_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
111 &ASN1_OCTET_STRING_it);
112}