From ea9e0aeb7bfbb0e9071d08a944d7c7978d8a39d7 Mon Sep 17 00:00:00 2001 From: bcook <> Date: Wed, 9 Jul 2014 09:06:58 +0000 Subject: Remove typecasts on password_callback. Rather than casting password_callback to the correct function pointer signature at every call site, change it to match the signature instead. ok miod@ deraadt@ tedu@ --- src/lib/libssl/src/apps/apps.c | 27 +++++++++++---------------- src/lib/libssl/src/apps/apps.h | 4 ++-- src/lib/libssl/src/apps/genrsa.c | 4 ++-- 3 files changed, 15 insertions(+), 20 deletions(-) (limited to 'src/lib') diff --git a/src/lib/libssl/src/apps/apps.c b/src/lib/libssl/src/apps/apps.c index 66d82025fb..e54aa7778b 100644 --- a/src/lib/libssl/src/apps/apps.c +++ b/src/lib/libssl/src/apps/apps.c @@ -1,4 +1,4 @@ -/* $OpenBSD: apps.c,v 1.60 2014/06/28 04:39:41 deraadt Exp $ */ +/* $OpenBSD: apps.c,v 1.61 2014/07/09 09:06:58 bcook Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -369,8 +369,9 @@ destroy_ui_method(void) } int -password_callback(char *buf, int bufsiz, int verify, PW_CB_DATA *cb_tmp) +password_callback(char *buf, int bufsiz, int verify, void *arg) { + PW_CB_DATA *cb_tmp = arg; UI *ui = NULL; int res = 0; const char *prompt_info = NULL; @@ -587,7 +588,7 @@ load_pkcs12(BIO *err, BIO *in, const char *desc, pem_password_cb *pem_cb, pass = ""; else { if (!pem_cb) - pem_cb = (pem_password_cb *) password_callback; + pem_cb = password_callback; len = pem_cb(tpass, PEM_BUFSIZE, 0, cb_data); if (len < 0) { BIO_printf(err, "Passpharse callback error for %s\n", @@ -654,8 +655,7 @@ load_cert(BIO *err, const char *file, int format, const char *pass, ENGINE *e, nx->cert = NULL; NETSCAPE_X509_free(nx); } else if (format == FORMAT_PEM) - x = PEM_read_bio_X509_AUX(cert, NULL, - (pem_password_cb *) password_callback, NULL); + x = PEM_read_bio_X509_AUX(cert, NULL, password_callback, NULL); else if (format == FORMAT_PKCS12) { if (!load_pkcs12(err, cert, cert_descrip, NULL, NULL, NULL, &x, NULL)) @@ -724,16 +724,14 @@ load_key(BIO *err, const char *file, int format, int maybe_stdin, if (format == FORMAT_ASN1) { pkey = d2i_PrivateKey_bio(key, NULL); } else if (format == FORMAT_PEM) { - pkey = PEM_read_bio_PrivateKey(key, NULL, - (pem_password_cb *) password_callback, &cb_data); + pkey = PEM_read_bio_PrivateKey(key, NULL, password_callback, &cb_data); } #if !defined(OPENSSL_NO_RC4) && !defined(OPENSSL_NO_RSA) else if (format == FORMAT_NETSCAPE || format == FORMAT_IISSGC) pkey = load_netscape_key(err, key, file, key_descrip, format); #endif else if (format == FORMAT_PKCS12) { - if (!load_pkcs12(err, key, key_descrip, - (pem_password_cb *) password_callback, &cb_data, + if (!load_pkcs12(err, key, key_descrip, password_callback, &cb_data, &pkey, NULL, NULL)) goto end; } @@ -741,7 +739,7 @@ load_key(BIO *err, const char *file, int format, int maybe_stdin, else if (format == FORMAT_MSBLOB) pkey = b2i_PrivateKey_bio(key); else if (format == FORMAT_PVK) - pkey = b2i_PVK_bio(key, (pem_password_cb *) password_callback, + pkey = b2i_PVK_bio(key, password_callback, &cb_data); #endif else { @@ -812,8 +810,7 @@ load_pubkey(BIO *err, const char *file, int format, int maybe_stdin, pkey = NULL; } else if (format == FORMAT_PEMRSA) { RSA *rsa; - rsa = PEM_read_bio_RSAPublicKey(key, NULL, - (pem_password_cb *) password_callback, &cb_data); + rsa = PEM_read_bio_RSAPublicKey(key, NULL, password_callback, &cb_data); if (rsa) { pkey = EVP_PKEY_new(); if (pkey) @@ -824,8 +821,7 @@ load_pubkey(BIO *err, const char *file, int format, int maybe_stdin, } #endif else if (format == FORMAT_PEM) { - pkey = PEM_read_bio_PUBKEY(key, NULL, - (pem_password_cb *) password_callback, &cb_data); + pkey = PEM_read_bio_PUBKEY(key, NULL, password_callback, &cb_data); } #if !defined(OPENSSL_NO_RC4) && !defined(OPENSSL_NO_RSA) else if (format == FORMAT_NETSCAPE || format == FORMAT_IISSGC) @@ -923,8 +919,7 @@ load_certs_crls(BIO *err, const char *file, int format, const char *pass, ERR_print_errors(err); return 0; } - xis = PEM_X509_INFO_read_bio(bio, NULL, - (pem_password_cb *) password_callback, &cb_data); + xis = PEM_X509_INFO_read_bio(bio, NULL, password_callback, &cb_data); BIO_free(bio); diff --git a/src/lib/libssl/src/apps/apps.h b/src/lib/libssl/src/apps/apps.h index 69d7972021..9909d7fa66 100644 --- a/src/lib/libssl/src/apps/apps.h +++ b/src/lib/libssl/src/apps/apps.h @@ -1,4 +1,4 @@ -/* $OpenBSD: apps.h,v 1.33 2014/06/12 15:49:27 deraadt Exp $ */ +/* $OpenBSD: apps.h,v 1.34 2014/07/09 09:06:58 bcook Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -144,7 +144,7 @@ typedef struct pw_cb_data { const char *prompt_info; } PW_CB_DATA; -int password_callback(char *buf, int bufsiz, int verify, PW_CB_DATA *cb_data); +int password_callback(char *buf, int bufsiz, int verify, void *cb_data); int setup_ui_method(void); void destroy_ui_method(void); diff --git a/src/lib/libssl/src/apps/genrsa.c b/src/lib/libssl/src/apps/genrsa.c index ab64943e82..9398120809 100644 --- a/src/lib/libssl/src/apps/genrsa.c +++ b/src/lib/libssl/src/apps/genrsa.c @@ -1,4 +1,4 @@ -/* $OpenBSD: genrsa.c,v 1.33 2014/06/12 15:49:27 deraadt Exp $ */ +/* $OpenBSD: genrsa.c,v 1.34 2014/07/09 09:06:58 bcook Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -252,7 +252,7 @@ bad: cb_data.password = passout; cb_data.prompt_info = outfile; if (!PEM_write_bio_RSAPrivateKey(out, rsa, enc, NULL, 0, - (pem_password_cb *) password_callback, &cb_data)) + password_callback, &cb_data)) goto err; } -- cgit v1.2.3-55-g6feb