From: Andy Polyakov Date: Wed, 6 Apr 2016 09:31:31 +0000 (+0200) Subject: test/[dane|evp_]test.c: BIO-fy file I/O. X-Git-Tag: OpenSSL_1_1_0-pre5~101 X-Git-Url: https://git.openssl.org/?p=openssl.git;a=commitdiff_plain;h=02b91dcf1cdd2fc75ecdb47d2fba2936e840ed3c test/[dane|evp_]test.c: BIO-fy file I/O. Reviewed-by: Richard Levitte --- diff --git a/test/danetest.c b/test/danetest.c index 9b7ac1d98d..5bca1aaea1 100644 --- a/test/danetest.c +++ b/test/danetest.c @@ -146,7 +146,7 @@ static int verify_chain(SSL *ssl, STACK_OF(X509) *chain) return (ret); } -static STACK_OF(X509) *load_chain(FILE *fp, int nelem) +static STACK_OF(X509) *load_chain(BIO *fp, int nelem) { int count; char *name = 0; @@ -164,7 +164,7 @@ static STACK_OF(X509) *load_chain(FILE *fp, int nelem) for (count = 0; count < nelem && errtype == 0 - && PEM_read(fp, &name, &header, &data, &len); + && PEM_read_bio(fp, &name, &header, &data, &len); ++count) { const unsigned char *p = data; @@ -211,12 +211,12 @@ err: return NULL; } -static char *read_to_eol(FILE *f) +static char *read_to_eol(BIO *f) { static char buf[1024]; int n; - if (fgets(buf, sizeof(buf), f)== NULL) + if (!BIO_gets(f, buf, sizeof(buf))) return NULL; n = strlen(buf); @@ -359,7 +359,7 @@ static int allws(const char *cp) } static int test_tlsafile(SSL_CTX *ctx, const char *basename, - FILE *f, const char *path) + BIO *f, const char *path) { char *line; int testno = 0; @@ -463,7 +463,7 @@ static int test_tlsafile(SSL_CTX *ctx, const char *basename, int main(int argc, char *argv[]) { - FILE *f; + BIO *f; BIO *bio_err; SSL_CTX *ctx = NULL; const char *basedomain; @@ -488,7 +488,7 @@ int main(int argc, char *argv[]) CRYPTO_set_mem_debug(1); CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON); - f = fopen(tlsafile, "r"); + f = BIO_new_file(tlsafile, "r"); if (f == NULL) { fprintf(stderr, "%s: Error opening tlsa record file: '%s': %s\n", progname, tlsafile, strerror(errno)); @@ -523,7 +523,7 @@ int main(int argc, char *argv[]) end: - (void) fclose(f); + BIO_free(f); SSL_CTX_free(ctx); #ifndef OPENSSL_NO_CRYPTO_MDEBUG diff --git a/test/evp_test.c b/test/evp_test.c index e42254591f..2e3987cfe0 100644 --- a/test/evp_test.c +++ b/test/evp_test.c @@ -240,7 +240,7 @@ static int test_uint64(const char *value, uint64_t *pr) /* Structure holding test information */ struct evp_test { /* file being read */ - FILE *in; + BIO *in; /* List of public and private keys */ struct key_list *private; struct key_list *public; @@ -465,8 +465,8 @@ static int process_test(struct evp_test *t, char *buf, int verbose) if (!parse_line(&keyword, &value, buf)) return 1; if (strcmp(keyword, "PrivateKey") == 0) { - save_pos = ftell(t->in); - pk = PEM_read_PrivateKey(t->in, NULL, 0, NULL); + save_pos = BIO_tell(t->in); + pk = PEM_read_bio_PrivateKey(t->in, NULL, 0, NULL); if (pk == NULL && !check_unsupported()) { fprintf(stderr, "Error reading private key %s\n", value); ERR_print_errors_fp(stderr); @@ -476,8 +476,8 @@ static int process_test(struct evp_test *t, char *buf, int verbose) add_key = 1; } if (strcmp(keyword, "PublicKey") == 0) { - save_pos = ftell(t->in); - pk = PEM_read_PUBKEY(t->in, NULL, 0, NULL); + save_pos = BIO_tell(t->in); + pk = PEM_read_bio_PUBKEY(t->in, NULL, 0, NULL); if (pk == NULL && !check_unsupported()) { fprintf(stderr, "Error reading public key %s\n", value); ERR_print_errors_fp(stderr); @@ -501,8 +501,8 @@ static int process_test(struct evp_test *t, char *buf, int verbose) key->next = *lst; *lst = key; /* Rewind input, read to end and update line numbers */ - fseek(t->in, save_pos, SEEK_SET); - while (fgets(tmpbuf, sizeof(tmpbuf), t->in)) { + (void)BIO_seek(t->in, save_pos); + while (BIO_gets(t->in,tmpbuf, sizeof(tmpbuf))) { t->line++; if (strncmp(tmpbuf, "-----END", 8) == 0) return 1; @@ -584,7 +584,7 @@ static int check_output(struct evp_test *t, int main(int argc, char **argv) { - FILE *in = NULL; + BIO *in = NULL; char buf[10240]; struct evp_test t; @@ -597,9 +597,9 @@ int main(int argc, char **argv) memset(&t, 0, sizeof(t)); t.start_line = -1; - in = fopen(argv[1], "r"); + in = BIO_new_file(argv[1], "r"); t.in = in; - while (fgets(buf, sizeof(buf), in)) { + while (BIO_gets(in, buf, sizeof(buf))) { t.line++; if (!process_test(&t, buf, 0)) exit(1); @@ -611,7 +611,7 @@ int main(int argc, char **argv) t.ntests, t.errors, t.nskip); free_key_list(t.public); free_key_list(t.private); - fclose(in); + BIO_free(in); #ifndef OPENSSL_NO_CRYPTO_MDEBUG if (CRYPTO_mem_leaks_fp(stderr) <= 0)