summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/asn1/x_req.c
diff options
context:
space:
mode:
authorbeck <>1999-09-29 04:37:45 +0000
committerbeck <>1999-09-29 04:37:45 +0000
commitde8f24ea083384bb66b32ec105dc4743c5663cdf (patch)
tree1412176ae62a3cab2cf2b0b92150fcbceaac6092 /src/lib/libcrypto/asn1/x_req.c
parentcb929d29896bcb87c2a97417fbd03e50078fc178 (diff)
downloadopenbsd-de8f24ea083384bb66b32ec105dc4743c5663cdf.tar.gz
openbsd-de8f24ea083384bb66b32ec105dc4743c5663cdf.tar.bz2
openbsd-de8f24ea083384bb66b32ec105dc4743c5663cdf.zip
OpenSSL 0.9.4 merge
Diffstat (limited to 'src/lib/libcrypto/asn1/x_req.c')
-rw-r--r--src/lib/libcrypto/asn1/x_req.c61
1 files changed, 25 insertions, 36 deletions
diff --git a/src/lib/libcrypto/asn1/x_req.c b/src/lib/libcrypto/asn1/x_req.c
index ff0be13d37..9b1d6abe64 100644
--- a/src/lib/libcrypto/asn1/x_req.c
+++ b/src/lib/libcrypto/asn1/x_req.c
@@ -58,19 +58,10 @@
58 58
59#include <stdio.h> 59#include <stdio.h>
60#include "cryptlib.h" 60#include "cryptlib.h"
61#include "asn1_mac.h" 61#include <openssl/asn1_mac.h>
62#include "x509.h" 62#include <openssl/x509.h>
63
64/*
65 * ASN1err(ASN1_F_D2I_X509_REQ,ASN1_R_LENGTH_MISMATCH);
66 * ASN1err(ASN1_F_D2I_X509_REQ_INFO,ASN1_R_LENGTH_MISMATCH);
67 * ASN1err(ASN1_F_X509_REQ_NEW,ASN1_R_LENGTH_MISMATCH);
68 * ASN1err(ASN1_F_X509_REQ_INFO_NEW,ASN1_R_LENGTH_MISMATCH);
69 */
70 63
71int i2d_X509_REQ_INFO(a,pp) 64int i2d_X509_REQ_INFO(X509_REQ_INFO *a, unsigned char **pp)
72X509_REQ_INFO *a;
73unsigned char **pp;
74 { 65 {
75 M_ASN1_I2D_vars(a); 66 M_ASN1_I2D_vars(a);
76 67
@@ -87,11 +78,12 @@ unsigned char **pp;
87 */ 78 */
88 if (a->req_kludge) 79 if (a->req_kludge)
89 { 80 {
90 M_ASN1_I2D_len_IMP_set_opt(a->attributes,i2d_X509_ATTRIBUTE,0); 81 M_ASN1_I2D_len_IMP_SET_opt_type(X509_ATTRIBUTE,a->attributes,i2d_X509_ATTRIBUTE,0);
91 } 82 }
92 else 83 else
93 { 84 {
94 M_ASN1_I2D_len_IMP_set(a->attributes, i2d_X509_ATTRIBUTE,0); 85 M_ASN1_I2D_len_IMP_SET_type(X509_ATTRIBUTE,a->attributes,
86 i2d_X509_ATTRIBUTE,0);
95 } 87 }
96 88
97 M_ASN1_I2D_seq_total(); 89 M_ASN1_I2D_seq_total();
@@ -107,20 +99,20 @@ unsigned char **pp;
107 */ 99 */
108 if (a->req_kludge) 100 if (a->req_kludge)
109 { 101 {
110 M_ASN1_I2D_put_IMP_set_opt(a->attributes,i2d_X509_ATTRIBUTE,0); 102 M_ASN1_I2D_put_IMP_SET_opt_type(X509_ATTRIBUTE,a->attributes,
103 i2d_X509_ATTRIBUTE,0);
111 } 104 }
112 else 105 else
113 { 106 {
114 M_ASN1_I2D_put_IMP_set(a->attributes,i2d_X509_ATTRIBUTE,0); 107 M_ASN1_I2D_put_IMP_SET_type(X509_ATTRIBUTE,a->attributes,
108 i2d_X509_ATTRIBUTE,0);
115 } 109 }
116 110
117 M_ASN1_I2D_finish(); 111 M_ASN1_I2D_finish();
118 } 112 }
119 113
120X509_REQ_INFO *d2i_X509_REQ_INFO(a,pp,length) 114X509_REQ_INFO *d2i_X509_REQ_INFO(X509_REQ_INFO **a, unsigned char **pp,
121X509_REQ_INFO **a; 115 long length)
122unsigned char **pp;
123long length;
124 { 116 {
125 M_ASN1_D2I_vars(a,X509_REQ_INFO *,X509_REQ_INFO_new); 117 M_ASN1_D2I_vars(a,X509_REQ_INFO *,X509_REQ_INFO_new);
126 118
@@ -141,40 +133,40 @@ long length;
141 ret->req_kludge=1; 133 ret->req_kludge=1;
142 else 134 else
143 { 135 {
144 M_ASN1_D2I_get_IMP_set(ret->attributes,d2i_X509_ATTRIBUTE,0); 136 M_ASN1_D2I_get_IMP_set_type(X509_ATTRIBUTE,ret->attributes,
137 d2i_X509_ATTRIBUTE,
138 X509_ATTRIBUTE_free,0);
145 } 139 }
146 140
147 M_ASN1_D2I_Finish(a,X509_REQ_INFO_free,ASN1_F_D2I_X509_REQ_INFO); 141 M_ASN1_D2I_Finish(a,X509_REQ_INFO_free,ASN1_F_D2I_X509_REQ_INFO);
148 } 142 }
149 143
150X509_REQ_INFO *X509_REQ_INFO_new() 144X509_REQ_INFO *X509_REQ_INFO_new(void)
151 { 145 {
152 X509_REQ_INFO *ret=NULL; 146 X509_REQ_INFO *ret=NULL;
147 ASN1_CTX c;
153 148
154 M_ASN1_New_Malloc(ret,X509_REQ_INFO); 149 M_ASN1_New_Malloc(ret,X509_REQ_INFO);
155 M_ASN1_New(ret->version,ASN1_INTEGER_new); 150 M_ASN1_New(ret->version,ASN1_INTEGER_new);
156 M_ASN1_New(ret->subject,X509_NAME_new); 151 M_ASN1_New(ret->subject,X509_NAME_new);
157 M_ASN1_New(ret->pubkey,X509_PUBKEY_new); 152 M_ASN1_New(ret->pubkey,X509_PUBKEY_new);
158 M_ASN1_New(ret->attributes,sk_new_null); 153 M_ASN1_New(ret->attributes,sk_X509_ATTRIBUTE_new_null);
159 ret->req_kludge=0; 154 ret->req_kludge=0;
160 return(ret); 155 return(ret);
161 M_ASN1_New_Error(ASN1_F_X509_REQ_INFO_NEW); 156 M_ASN1_New_Error(ASN1_F_X509_REQ_INFO_NEW);
162 } 157 }
163 158
164void X509_REQ_INFO_free(a) 159void X509_REQ_INFO_free(X509_REQ_INFO *a)
165X509_REQ_INFO *a;
166 { 160 {
167 if (a == NULL) return; 161 if (a == NULL) return;
168 ASN1_INTEGER_free(a->version); 162 ASN1_INTEGER_free(a->version);
169 X509_NAME_free(a->subject); 163 X509_NAME_free(a->subject);
170 X509_PUBKEY_free(a->pubkey); 164 X509_PUBKEY_free(a->pubkey);
171 sk_pop_free(a->attributes,X509_ATTRIBUTE_free); 165 sk_X509_ATTRIBUTE_pop_free(a->attributes,X509_ATTRIBUTE_free);
172 Free((char *)a); 166 Free((char *)a);
173 } 167 }
174 168
175int i2d_X509_REQ(a,pp) 169int i2d_X509_REQ(X509_REQ *a, unsigned char **pp)
176X509_REQ *a;
177unsigned char **pp;
178 { 170 {
179 M_ASN1_I2D_vars(a); 171 M_ASN1_I2D_vars(a);
180 M_ASN1_I2D_len(a->req_info, i2d_X509_REQ_INFO); 172 M_ASN1_I2D_len(a->req_info, i2d_X509_REQ_INFO);
@@ -190,10 +182,7 @@ unsigned char **pp;
190 M_ASN1_I2D_finish(); 182 M_ASN1_I2D_finish();
191 } 183 }
192 184
193X509_REQ *d2i_X509_REQ(a,pp,length) 185X509_REQ *d2i_X509_REQ(X509_REQ **a, unsigned char **pp, long length)
194X509_REQ **a;
195unsigned char **pp;
196long length;
197 { 186 {
198 M_ASN1_D2I_vars(a,X509_REQ *,X509_REQ_new); 187 M_ASN1_D2I_vars(a,X509_REQ *,X509_REQ_new);
199 188
@@ -205,9 +194,10 @@ long length;
205 M_ASN1_D2I_Finish(a,X509_REQ_free,ASN1_F_D2I_X509_REQ); 194 M_ASN1_D2I_Finish(a,X509_REQ_free,ASN1_F_D2I_X509_REQ);
206 } 195 }
207 196
208X509_REQ *X509_REQ_new() 197X509_REQ *X509_REQ_new(void)
209 { 198 {
210 X509_REQ *ret=NULL; 199 X509_REQ *ret=NULL;
200 ASN1_CTX c;
211 201
212 M_ASN1_New_Malloc(ret,X509_REQ); 202 M_ASN1_New_Malloc(ret,X509_REQ);
213 ret->references=1; 203 ret->references=1;
@@ -218,8 +208,7 @@ X509_REQ *X509_REQ_new()
218 M_ASN1_New_Error(ASN1_F_X509_REQ_NEW); 208 M_ASN1_New_Error(ASN1_F_X509_REQ_NEW);
219 } 209 }
220 210
221void X509_REQ_free(a) 211void X509_REQ_free(X509_REQ *a)
222X509_REQ *a;
223 { 212 {
224 int i; 213 int i;
225 214