Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1173)

Side by Side Diff: openssl/apps/crl2p7.c

Issue 9254031: Upgrade chrome's OpenSSL to same version Android ships with. (Closed) Base URL: http://src.chromium.org/svn/trunk/deps/third_party/openssl/
Patch Set: '' Created 8 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « openssl/apps/cms.c ('k') | openssl/apps/dgst.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* apps/crl2p7.c */ 1 /* apps/crl2p7.c */
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 *
5 * This package is an SSL implementation written 5 * This package is an SSL implementation written
6 * by Eric Young (eay@cryptsoft.com). 6 * by Eric Young (eay@cryptsoft.com).
7 * The implementation was written so as to conform with Netscapes SSL. 7 * The implementation was written so as to conform with Netscapes SSL.
8 * 8 *
9 * This library is free for commercial and non-commercial use as long as 9 * This library is free for commercial and non-commercial use as long as
10 * the following conditions are aheared to. The following conditions 10 * the following conditions are aheared to. The following conditions
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 * [including the GNU Public Licence.] 56 * [including the GNU Public Licence.]
57 */ 57 */
58 58
59 /* This was written by Gordon Chaffee <chaffee@plateau.cs.berkeley.edu> 59 /* This was written by Gordon Chaffee <chaffee@plateau.cs.berkeley.edu>
60 * and donated 'to the cause' along with lots and lots of other fixes to 60 * and donated 'to the cause' along with lots and lots of other fixes to
61 * the library. */ 61 * the library. */
62 62
63 #include <stdio.h> 63 #include <stdio.h>
64 #include <string.h> 64 #include <string.h>
65 #include <sys/types.h> 65 #include <sys/types.h>
66 #include <sys/stat.h>
67 #include "apps.h" 66 #include "apps.h"
68 #include <openssl/err.h> 67 #include <openssl/err.h>
69 #include <openssl/evp.h> 68 #include <openssl/evp.h>
70 #include <openssl/x509.h> 69 #include <openssl/x509.h>
71 #include <openssl/pkcs7.h> 70 #include <openssl/pkcs7.h>
72 #include <openssl/pem.h> 71 #include <openssl/pem.h>
73 #include <openssl/objects.h> 72 #include <openssl/objects.h>
74 73
75 static int add_certs_from_file(STACK_OF(X509) *stack, char *certfile); 74 static int add_certs_from_file(STACK_OF(X509) *stack, char *certfile);
76 #undef PROG 75 #undef PROG
77 #define PROG crl2pkcs7_main 76 #define PROG crl2pkcs7_main
78 77
79 /* -inform arg - input format - default PEM (DER or PEM) 78 /* -inform arg - input format - default PEM (DER or PEM)
80 * -outform arg - output format - default PEM 79 * -outform arg - output format - default PEM
81 * -in arg - input file - default stdin 80 * -in arg - input file - default stdin
82 * -out arg - output file - default stdout 81 * -out arg - output file - default stdout
83 */ 82 */
84 83
85 int MAIN(int, char **); 84 int MAIN(int, char **);
86 85
87 int MAIN(int argc, char **argv) 86 int MAIN(int argc, char **argv)
88 { 87 {
89 int i,badops=0; 88 int i,badops=0;
90 BIO *in=NULL,*out=NULL; 89 BIO *in=NULL,*out=NULL;
91 int informat,outformat; 90 int informat,outformat;
92 char *infile,*outfile,*prog,*certfile; 91 char *infile,*outfile,*prog,*certfile;
93 PKCS7 *p7 = NULL; 92 PKCS7 *p7 = NULL;
94 PKCS7_SIGNED *p7s = NULL; 93 PKCS7_SIGNED *p7s = NULL;
95 X509_CRL *crl=NULL; 94 X509_CRL *crl=NULL;
96 » STACK *certflst=NULL; 95 » STACK_OF(OPENSSL_STRING) *certflst=NULL;
97 STACK_OF(X509_CRL) *crl_stack=NULL; 96 STACK_OF(X509_CRL) *crl_stack=NULL;
98 STACK_OF(X509) *cert_stack=NULL; 97 STACK_OF(X509) *cert_stack=NULL;
99 int ret=1,nocrl=0; 98 int ret=1,nocrl=0;
100 99
101 apps_startup(); 100 apps_startup();
102 101
103 if (bio_err == NULL) 102 if (bio_err == NULL)
104 if ((bio_err=BIO_new(BIO_s_file())) != NULL) 103 if ((bio_err=BIO_new(BIO_s_file())) != NULL)
105 BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT); 104 BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
106 105
(...skipping 27 matching lines...) Expand all
134 nocrl=1; 133 nocrl=1;
135 } 134 }
136 else if (strcmp(*argv,"-out") == 0) 135 else if (strcmp(*argv,"-out") == 0)
137 { 136 {
138 if (--argc < 1) goto bad; 137 if (--argc < 1) goto bad;
139 outfile= *(++argv); 138 outfile= *(++argv);
140 } 139 }
141 else if (strcmp(*argv,"-certfile") == 0) 140 else if (strcmp(*argv,"-certfile") == 0)
142 { 141 {
143 if (--argc < 1) goto bad; 142 if (--argc < 1) goto bad;
144 » » » if(!certflst) certflst = sk_new_null(); 143 » » » if(!certflst) certflst = sk_OPENSSL_STRING_new_null();
145 » » » sk_push(certflst,*(++argv)); 144 » » » sk_OPENSSL_STRING_push(certflst,*(++argv));
146 } 145 }
147 else 146 else
148 { 147 {
149 BIO_printf(bio_err,"unknown option %s\n",*argv); 148 BIO_printf(bio_err,"unknown option %s\n",*argv);
150 badops=1; 149 badops=1;
151 break; 150 break;
152 } 151 }
153 argc--; 152 argc--;
154 argv++; 153 argv++;
155 } 154 }
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
220 p7s->crl=crl_stack; 219 p7s->crl=crl_stack;
221 if (crl != NULL) 220 if (crl != NULL)
222 { 221 {
223 sk_X509_CRL_push(crl_stack,crl); 222 sk_X509_CRL_push(crl_stack,crl);
224 crl=NULL; /* now part of p7 for OPENSSL_freeing */ 223 crl=NULL; /* now part of p7 for OPENSSL_freeing */
225 } 224 }
226 225
227 if ((cert_stack=sk_X509_new_null()) == NULL) goto end; 226 if ((cert_stack=sk_X509_new_null()) == NULL) goto end;
228 p7s->cert=cert_stack; 227 p7s->cert=cert_stack;
229 228
230 » if(certflst) for(i = 0; i < sk_num(certflst); i++) { 229 » if(certflst) for(i = 0; i < sk_OPENSSL_STRING_num(certflst); i++) {
231 » » certfile = sk_value(certflst, i); 230 » » certfile = sk_OPENSSL_STRING_value(certflst, i);
232 if (add_certs_from_file(cert_stack,certfile) < 0) 231 if (add_certs_from_file(cert_stack,certfile) < 0)
233 { 232 {
234 BIO_printf(bio_err, "error loading certificates\n"); 233 BIO_printf(bio_err, "error loading certificates\n");
235 ERR_print_errors(bio_err); 234 ERR_print_errors(bio_err);
236 goto end; 235 goto end;
237 } 236 }
238 } 237 }
239 238
240 » sk_free(certflst); 239 » sk_OPENSSL_STRING_free(certflst);
241 240
242 if (outfile == NULL) 241 if (outfile == NULL)
243 { 242 {
244 BIO_set_fp(out,stdout,BIO_NOCLOSE); 243 BIO_set_fp(out,stdout,BIO_NOCLOSE);
245 #ifdef OPENSSL_SYS_VMS 244 #ifdef OPENSSL_SYS_VMS
246 { 245 {
247 BIO *tmpbio = BIO_new(BIO_f_linebuffer()); 246 BIO *tmpbio = BIO_new(BIO_f_linebuffer());
248 out = BIO_push(tmpbio, out); 247 out = BIO_push(tmpbio, out);
249 } 248 }
250 #endif 249 #endif
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
288 * int add_certs_from_file 287 * int add_certs_from_file
289 * 288 *
290 * Read a list of certificates to be checked from a file. 289 * Read a list of certificates to be checked from a file.
291 * 290 *
292 * Results: 291 * Results:
293 * number of certs added if successful, -1 if not. 292 * number of certs added if successful, -1 if not.
294 *---------------------------------------------------------------------- 293 *----------------------------------------------------------------------
295 */ 294 */
296 static int add_certs_from_file(STACK_OF(X509) *stack, char *certfile) 295 static int add_certs_from_file(STACK_OF(X509) *stack, char *certfile)
297 { 296 {
298 struct stat st;
299 BIO *in=NULL; 297 BIO *in=NULL;
300 int count=0; 298 int count=0;
301 int ret= -1; 299 int ret= -1;
302 STACK_OF(X509_INFO) *sk=NULL; 300 STACK_OF(X509_INFO) *sk=NULL;
303 X509_INFO *xi; 301 X509_INFO *xi;
304 302
305 if ((stat(certfile,&st) != 0))
306 {
307 BIO_printf(bio_err,"unable to load the file, %s\n",certfile);
308 goto end;
309 }
310
311 in=BIO_new(BIO_s_file()); 303 in=BIO_new(BIO_s_file());
312 if ((in == NULL) || (BIO_read_filename(in,certfile) <= 0)) 304 if ((in == NULL) || (BIO_read_filename(in,certfile) <= 0))
313 { 305 {
314 BIO_printf(bio_err,"error opening the file, %s\n",certfile); 306 BIO_printf(bio_err,"error opening the file, %s\n",certfile);
315 goto end; 307 goto end;
316 } 308 }
317 309
318 /* This loads from a file, a stack of x509/crl/pkey sets */ 310 /* This loads from a file, a stack of x509/crl/pkey sets */
319 sk=PEM_X509_INFO_read_bio(in,NULL,NULL,NULL); 311 sk=PEM_X509_INFO_read_bio(in,NULL,NULL,NULL);
320 if (sk == NULL) { 312 if (sk == NULL) {
(...skipping 15 matching lines...) Expand all
336 } 328 }
337 329
338 ret=count; 330 ret=count;
339 end: 331 end:
340 /* never need to OPENSSL_free x */ 332 /* never need to OPENSSL_free x */
341 if (in != NULL) BIO_free(in); 333 if (in != NULL) BIO_free(in);
342 if (sk != NULL) sk_X509_INFO_free(sk); 334 if (sk != NULL) sk_X509_INFO_free(sk);
343 return(ret); 335 return(ret);
344 } 336 }
345 337
OLDNEW
« no previous file with comments | « openssl/apps/cms.c ('k') | openssl/apps/dgst.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698