summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/asn1/n_pkey.c
diff options
context:
space:
mode:
authorjsing <>2015-02-11 03:39:51 +0000
committerjsing <>2015-02-11 03:39:51 +0000
commita4446bfb10ec0a821da3861d90dc625a93d84cff (patch)
treed942bf9cb3a1b441f2c996072292ae69b1aa83d2 /src/lib/libcrypto/asn1/n_pkey.c
parentdea579e3ced20a997dc9c2b82eb0c086555a68b8 (diff)
downloadopenbsd-a4446bfb10ec0a821da3861d90dc625a93d84cff.tar.gz
openbsd-a4446bfb10ec0a821da3861d90dc625a93d84cff.tar.bz2
openbsd-a4446bfb10ec0a821da3861d90dc625a93d84cff.zip
Expand most of the ASN1_SEQUENCE* and associated macros, making the data
structures visible and easier to review, without having to wade through layers and layers of asn1t.h macros. Change has been scripted and the generated assembly only differs by changes to line numbers. Discussed with beck@ miod@ tedu@
Diffstat (limited to 'src/lib/libcrypto/asn1/n_pkey.c')
-rw-r--r--src/lib/libcrypto/asn1/n_pkey.c78
1 files changed, 68 insertions, 10 deletions
diff --git a/src/lib/libcrypto/asn1/n_pkey.c b/src/lib/libcrypto/asn1/n_pkey.c
index 198ca97c09..8f65a4b926 100644
--- a/src/lib/libcrypto/asn1/n_pkey.c
+++ b/src/lib/libcrypto/asn1/n_pkey.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: n_pkey.c,v 1.23 2015/02/10 04:01:26 jsing Exp $ */ 1/* $OpenBSD: n_pkey.c,v 1.24 2015/02/11 03:39:51 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 *
@@ -87,10 +87,40 @@ typedef struct netscape_encrypted_pkey_st {
87} NETSCAPE_ENCRYPTED_PKEY; 87} NETSCAPE_ENCRYPTED_PKEY;
88 88
89 89
90ASN1_BROKEN_SEQUENCE(NETSCAPE_ENCRYPTED_PKEY) = { 90static const ASN1_AUX NETSCAPE_ENCRYPTED_PKEY_aux = {
91 ASN1_SIMPLE(NETSCAPE_ENCRYPTED_PKEY, os, ASN1_OCTET_STRING), 91 .app_data = NULL,
92 ASN1_SIMPLE(NETSCAPE_ENCRYPTED_PKEY, enckey, X509_SIG) 92 .flags = ASN1_AFLG_BROKEN,
93} ASN1_BROKEN_SEQUENCE_END(NETSCAPE_ENCRYPTED_PKEY) 93 .ref_offset = 0,
94 .ref_lock = 0,
95 .asn1_cb = NULL,
96 .enc_offset = 0,
97};
98static const ASN1_TEMPLATE NETSCAPE_ENCRYPTED_PKEY_seq_tt[] = {
99 {
100 .flags = 0,
101 .tag = 0,
102 .offset = offsetof(NETSCAPE_ENCRYPTED_PKEY, os),
103 .field_name = "os",
104 .item = &ASN1_OCTET_STRING_it,
105 },
106 {
107 .flags = 0,
108 .tag = 0,
109 .offset = offsetof(NETSCAPE_ENCRYPTED_PKEY, enckey),
110 .field_name = "enckey",
111 .item = &X509_SIG_it,
112 },
113};
114
115const ASN1_ITEM NETSCAPE_ENCRYPTED_PKEY_it = {
116 .itype = ASN1_ITYPE_SEQUENCE,
117 .utype = V_ASN1_SEQUENCE,
118 .templates = NETSCAPE_ENCRYPTED_PKEY_seq_tt,
119 .tcount = sizeof(NETSCAPE_ENCRYPTED_PKEY_seq_tt) / sizeof(ASN1_TEMPLATE),
120 .funcs = &NETSCAPE_ENCRYPTED_PKEY_aux,
121 .size = sizeof(NETSCAPE_ENCRYPTED_PKEY),
122 .sname = "NETSCAPE_ENCRYPTED_PKEY",
123};
94 124
95DECLARE_ASN1_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY) 125DECLARE_ASN1_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY)
96DECLARE_ASN1_ENCODE_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY, NETSCAPE_ENCRYPTED_PKEY) 126DECLARE_ASN1_ENCODE_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY, NETSCAPE_ENCRYPTED_PKEY)
@@ -120,11 +150,39 @@ NETSCAPE_ENCRYPTED_PKEY_free(NETSCAPE_ENCRYPTED_PKEY *a)
120 ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_ENCRYPTED_PKEY_it); 150 ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_ENCRYPTED_PKEY_it);
121} 151}
122 152
123ASN1_SEQUENCE(NETSCAPE_PKEY) = { 153static const ASN1_TEMPLATE NETSCAPE_PKEY_seq_tt[] = {
124 ASN1_SIMPLE(NETSCAPE_PKEY, version, LONG), 154 {
125 ASN1_SIMPLE(NETSCAPE_PKEY, algor, X509_ALGOR), 155 .flags = 0,
126 ASN1_SIMPLE(NETSCAPE_PKEY, private_key, ASN1_OCTET_STRING) 156 .tag = 0,
127} ASN1_SEQUENCE_END(NETSCAPE_PKEY) 157 .offset = offsetof(NETSCAPE_PKEY, version),
158 .field_name = "version",
159 .item = &LONG_it,
160 },
161 {
162 .flags = 0,
163 .tag = 0,
164 .offset = offsetof(NETSCAPE_PKEY, algor),
165 .field_name = "algor",
166 .item = &X509_ALGOR_it,
167 },
168 {
169 .flags = 0,
170 .tag = 0,
171 .offset = offsetof(NETSCAPE_PKEY, private_key),
172 .field_name = "private_key",
173 .item = &ASN1_OCTET_STRING_it,
174 },
175};
176
177const ASN1_ITEM NETSCAPE_PKEY_it = {
178 .itype = ASN1_ITYPE_SEQUENCE,
179 .utype = V_ASN1_SEQUENCE,
180 .templates = NETSCAPE_PKEY_seq_tt,
181 .tcount = sizeof(NETSCAPE_PKEY_seq_tt) / sizeof(ASN1_TEMPLATE),
182 .funcs = NULL,
183 .size = sizeof(NETSCAPE_PKEY),
184 .sname = "NETSCAPE_PKEY",
185};
128 186
129DECLARE_ASN1_FUNCTIONS_const(NETSCAPE_PKEY) 187DECLARE_ASN1_FUNCTIONS_const(NETSCAPE_PKEY)
130DECLARE_ASN1_ENCODE_FUNCTIONS_const(NETSCAPE_PKEY, NETSCAPE_PKEY) 188DECLARE_ASN1_ENCODE_FUNCTIONS_const(NETSCAPE_PKEY, NETSCAPE_PKEY)