Remove OPENSSL_NO_FP_API ifdefs. We've never tested this and plenty of files depend on FILE* APIs without ifdefs. Change-Id: I8c51c043e068b30bdde1723c3810d3e890eabfca Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/48771 Reviewed-by: Adam Langley <agl@google.com>
diff --git a/crypto/asn1/a_d2i_fp.c b/crypto/asn1/a_d2i_fp.c index fd423e2..d0d6d03 100644 --- a/crypto/asn1/a_d2i_fp.c +++ b/crypto/asn1/a_d2i_fp.c
@@ -78,7 +78,6 @@ return ret; } -#ifndef OPENSSL_NO_FP_API void *ASN1_item_d2i_fp(const ASN1_ITEM *it, FILE *in, void *x) { BIO *b = BIO_new_fp(in, BIO_NOCLOSE); @@ -90,4 +89,3 @@ BIO_free(b); return ret; } -#endif
diff --git a/crypto/pem/pem_all.c b/crypto/pem/pem_all.c index 6b40883..e419774 100644 --- a/crypto/pem/pem_all.c +++ b/crypto/pem/pem_all.c
@@ -157,8 +157,6 @@ return pkey_get_rsa(pktmp, rsa); } -#ifndef OPENSSL_NO_FP_API - RSA *PEM_read_RSAPrivateKey(FILE *fp, RSA **rsa, pem_password_cb *cb, void *u) { EVP_PKEY *pktmp; @@ -166,8 +164,6 @@ return pkey_get_rsa(pktmp, rsa); } -#endif - IMPLEMENT_PEM_write_cb_const(RSAPrivateKey, RSA, PEM_STRING_RSA, RSAPrivateKey) @@ -205,7 +201,6 @@ DSAPrivateKey) IMPLEMENT_PEM_rw(DSA_PUBKEY, DSA, PEM_STRING_PUBLIC, DSA_PUBKEY) -# ifndef OPENSSL_NO_FP_API DSA *PEM_read_DSAPrivateKey(FILE *fp, DSA **dsa, pem_password_cb *cb, void *u) { EVP_PKEY *pktmp; @@ -213,8 +208,6 @@ return pkey_get_dsa(pktmp, dsa); /* will free pktmp */ } -# endif - IMPLEMENT_PEM_rw_const(DSAparams, DSA, PEM_STRING_DSAPARAMS, DSAparams) #endif static EC_KEY *pkey_get_eckey(EVP_PKEY *key, EC_KEY **eckey) @@ -245,7 +238,6 @@ ECPrivateKey) IMPLEMENT_PEM_rw(EC_PUBKEY, EC_KEY, PEM_STRING_PUBLIC, EC_PUBKEY) -#ifndef OPENSSL_NO_FP_API EC_KEY *PEM_read_ECPrivateKey(FILE *fp, EC_KEY **eckey, pem_password_cb *cb, void *u) { @@ -254,7 +246,6 @@ return pkey_get_eckey(pktmp, eckey); /* will free pktmp */ } -#endif IMPLEMENT_PEM_write_const(DHparams, DH, PEM_STRING_DHPARAMS, DHparams)
diff --git a/crypto/pem/pem_info.c b/crypto/pem/pem_info.c index 1cda35b..3a1d0cc 100644 --- a/crypto/pem/pem_info.c +++ b/crypto/pem/pem_info.c
@@ -70,7 +70,6 @@ #include <openssl/rsa.h> #include <openssl/x509.h> -#ifndef OPENSSL_NO_FP_API STACK_OF(X509_INFO) *PEM_X509_INFO_read(FILE *fp, STACK_OF(X509_INFO) *sk, pem_password_cb *cb, void *u) { @@ -83,7 +82,6 @@ BIO_free(b); return ret; } -#endif enum parse_result_t { parse_ok,
diff --git a/crypto/pem/pem_lib.c b/crypto/pem/pem_lib.c index 00c0e0a..747d694 100644 --- a/crypto/pem/pem_lib.c +++ b/crypto/pem/pem_lib.c
@@ -117,7 +117,6 @@ buf[j + i * 2 + 1] = '\0'; } -#ifndef OPENSSL_NO_FP_API void *PEM_ASN1_read(d2i_of_void *d2i, const char *name, FILE *fp, void **x, pem_password_cb *cb, void *u) { @@ -130,7 +129,6 @@ BIO_free(b); return ret; } -#endif static int check_pem(const char *nm, const char *name) { @@ -252,7 +250,6 @@ return ret; } -#ifndef OPENSSL_NO_FP_API int PEM_ASN1_write(i2d_of_void *i2d, const char *name, FILE *fp, void *x, const EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *callback, void *u) @@ -266,7 +263,6 @@ BIO_free(b); return ret; } -#endif int PEM_ASN1_write_bio(i2d_of_void *i2d, const char *name, BIO *bp, void *x, const EVP_CIPHER *enc, unsigned char *kstr, @@ -507,7 +503,6 @@ return (1); } -#ifndef OPENSSL_NO_FP_API int PEM_write(FILE *fp, const char *name, const char *header, const unsigned char *data, long len) { @@ -520,7 +515,6 @@ BIO_free(b); return (ret); } -#endif int PEM_write_bio(BIO *bp, const char *name, const char *header, const unsigned char *data, long len) @@ -578,7 +572,6 @@ return (0); } -#ifndef OPENSSL_NO_FP_API int PEM_read(FILE *fp, char **name, char **header, unsigned char **data, long *len) { @@ -591,7 +584,6 @@ BIO_free(b); return (ret); } -#endif int PEM_read_bio(BIO *bp, char **name, char **header, unsigned char **data, long *len)
diff --git a/crypto/pem/pem_pk8.c b/crypto/pem/pem_pk8.c index 819a329..8a1f040 100644 --- a/crypto/pem/pem_pk8.c +++ b/crypto/pem/pem_pk8.c
@@ -190,7 +190,6 @@ return ret; } -#ifndef OPENSSL_NO_FP_API int i2d_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, char *kstr, int klen, pem_password_cb *cb, void *u) @@ -248,7 +247,6 @@ return ret; } -#endif IMPLEMENT_PEM_rw(PKCS8, X509_SIG, PEM_STRING_PKCS8, X509_SIG)
diff --git a/crypto/pem/pem_pkey.c b/crypto/pem/pem_pkey.c index 5776535..48d8c96 100644 --- a/crypto/pem/pem_pkey.c +++ b/crypto/pem/pem_pkey.c
@@ -150,7 +150,6 @@ return PEM_write_bio_PKCS8PrivateKey(bp, x, enc, (char *)kstr, klen, cb, u); } -#ifndef OPENSSL_NO_FP_API EVP_PKEY *PEM_read_PrivateKey(FILE *fp, EVP_PKEY **x, pem_password_cb *cb, void *u) { @@ -178,7 +177,6 @@ return ret; } -#endif /* Transparently read in PKCS#3 or X9.42 DH parameters */ @@ -203,7 +201,6 @@ return ret; } -#ifndef OPENSSL_NO_FP_API DH *PEM_read_DHparams(FILE *fp, DH **x, pem_password_cb *cb, void *u) { BIO *b = BIO_new_fp(fp, BIO_NOCLOSE); @@ -215,4 +212,3 @@ BIO_free(b); return ret; } -#endif
diff --git a/crypto/x509/a_strex.c b/crypto/x509/a_strex.c index 0c9dcef..7e93387 100644 --- a/crypto/x509/a_strex.c +++ b/crypto/x509/a_strex.c
@@ -592,7 +592,6 @@ return do_name_ex(send_bio_chars, out, nm, indent, flags); } -#ifndef OPENSSL_NO_FP_API int X509_NAME_print_ex_fp(FILE *fp, const X509_NAME *nm, int indent, unsigned long flags) { @@ -608,19 +607,16 @@ } return do_name_ex(send_fp_chars, fp, nm, indent, flags); } -#endif int ASN1_STRING_print_ex(BIO *out, const ASN1_STRING *str, unsigned long flags) { return do_print_ex(send_bio_chars, out, flags, str); } -#ifndef OPENSSL_NO_FP_API int ASN1_STRING_print_ex_fp(FILE *fp, const ASN1_STRING *str, unsigned long flags) { return do_print_ex(send_fp_chars, fp, flags, str); } -#endif /* * Utility function: convert any string type to UTF8, returns number of bytes
diff --git a/crypto/x509/t_crl.c b/crypto/x509/t_crl.c index 42f05cd..d924f85 100644 --- a/crypto/x509/t_crl.c +++ b/crypto/x509/t_crl.c
@@ -61,7 +61,6 @@ #include <openssl/x509.h> #include <openssl/x509v3.h> -#ifndef OPENSSL_NO_FP_API int X509_CRL_print_fp(FILE *fp, X509_CRL *x) { BIO *b = BIO_new_fp(fp, BIO_NOCLOSE); @@ -73,7 +72,6 @@ BIO_free(b); return ret; } -#endif int X509_CRL_print(BIO *out, X509_CRL *x) {
diff --git a/crypto/x509/t_x509.c b/crypto/x509/t_x509.c index 5db8746..ac743f6 100644 --- a/crypto/x509/t_x509.c +++ b/crypto/x509/t_x509.c
@@ -68,7 +68,6 @@ #include "internal.h" -#ifndef OPENSSL_NO_FP_API int X509_print_ex_fp(FILE *fp, X509 *x, unsigned long nmflag, unsigned long cflag) { @@ -86,7 +85,6 @@ { return X509_print_ex_fp(fp, x, XN_FLAG_COMPAT, X509_FLAG_COMPAT); } -#endif int X509_print(BIO *bp, X509 *x) {
diff --git a/crypto/x509/x_all.c b/crypto/x509/x_all.c index 65347f9..7ceff50 100644 --- a/crypto/x509/x_all.c +++ b/crypto/x509/x_all.c
@@ -140,7 +140,6 @@ spki->signature, spki->spkac, pkey)); } -#ifndef OPENSSL_NO_FP_API X509 *d2i_X509_fp(FILE *fp, X509 **x509) { return ASN1_item_d2i_fp(ASN1_ITEM_rptr(X509), fp, x509); @@ -150,7 +149,6 @@ { return ASN1_item_i2d_fp(ASN1_ITEM_rptr(X509), fp, x509); } -#endif X509 *d2i_X509_bio(BIO *bp, X509 **x509) { @@ -162,7 +160,6 @@ return ASN1_item_i2d_bio(ASN1_ITEM_rptr(X509), bp, x509); } -#ifndef OPENSSL_NO_FP_API X509_CRL *d2i_X509_CRL_fp(FILE *fp, X509_CRL **crl) { return ASN1_item_d2i_fp(ASN1_ITEM_rptr(X509_CRL), fp, crl); @@ -172,7 +169,6 @@ { return ASN1_item_i2d_fp(ASN1_ITEM_rptr(X509_CRL), fp, crl); } -#endif X509_CRL *d2i_X509_CRL_bio(BIO *bp, X509_CRL **crl) { @@ -184,7 +180,6 @@ return ASN1_item_i2d_bio(ASN1_ITEM_rptr(X509_CRL), bp, crl); } -#ifndef OPENSSL_NO_FP_API X509_REQ *d2i_X509_REQ_fp(FILE *fp, X509_REQ **req) { return ASN1_item_d2i_fp(ASN1_ITEM_rptr(X509_REQ), fp, req); @@ -194,7 +189,6 @@ { return ASN1_item_i2d_fp(ASN1_ITEM_rptr(X509_REQ), fp, req); } -#endif X509_REQ *d2i_X509_REQ_bio(BIO *bp, X509_REQ **req) { @@ -206,7 +200,6 @@ return ASN1_item_i2d_bio(ASN1_ITEM_rptr(X509_REQ), bp, req); } -#ifndef OPENSSL_NO_FP_API #define IMPLEMENT_D2I_FP(type, name, bio_func) \ type *name(FILE *fp, type **obj) { \ @@ -238,7 +231,6 @@ IMPLEMENT_D2I_FP(RSA, d2i_RSA_PUBKEY_fp, d2i_RSA_PUBKEY_bio) IMPLEMENT_I2D_FP(RSA, i2d_RSA_PUBKEY_fp, i2d_RSA_PUBKEY_bio) -#endif #define IMPLEMENT_D2I_BIO(type, name, d2i_func) \ type *name(BIO *bio, type **obj) { \ @@ -275,13 +267,11 @@ IMPLEMENT_I2D_BIO(RSA, i2d_RSA_PUBKEY_bio, i2d_RSA_PUBKEY) #ifndef OPENSSL_NO_DSA -# ifndef OPENSSL_NO_FP_API IMPLEMENT_D2I_FP(DSA, d2i_DSAPrivateKey_fp, d2i_DSAPrivateKey_bio) IMPLEMENT_I2D_FP(DSA, i2d_DSAPrivateKey_fp, i2d_DSAPrivateKey_bio) IMPLEMENT_D2I_FP(DSA, d2i_DSA_PUBKEY_fp, d2i_DSA_PUBKEY_bio) IMPLEMENT_I2D_FP(DSA, i2d_DSA_PUBKEY_fp, i2d_DSA_PUBKEY_bio) -# endif IMPLEMENT_D2I_BIO(DSA, d2i_DSAPrivateKey_bio, d2i_DSAPrivateKey) IMPLEMENT_I2D_BIO(DSA, i2d_DSAPrivateKey_bio, i2d_DSAPrivateKey) @@ -290,13 +280,11 @@ IMPLEMENT_I2D_BIO(DSA, i2d_DSA_PUBKEY_bio, i2d_DSA_PUBKEY) #endif -#ifndef OPENSSL_NO_FP_API IMPLEMENT_D2I_FP(EC_KEY, d2i_ECPrivateKey_fp, d2i_ECPrivateKey_bio) IMPLEMENT_I2D_FP(EC_KEY, i2d_ECPrivateKey_fp, i2d_ECPrivateKey_bio) IMPLEMENT_D2I_FP(EC_KEY, d2i_EC_PUBKEY_fp, d2i_EC_PUBKEY_bio) IMPLEMENT_I2D_FP(EC_KEY, i2d_EC_PUBKEY_fp, i2d_EC_PUBKEY_bio) -#endif IMPLEMENT_D2I_BIO(EC_KEY, d2i_ECPrivateKey_bio, d2i_ECPrivateKey) IMPLEMENT_I2D_BIO(EC_KEY, i2d_ECPrivateKey_bio, i2d_ECPrivateKey) @@ -342,15 +330,12 @@ (ASN1_ITEM_rptr(X509_NAME), type, (char *)data, md, len)); } -#ifndef OPENSSL_NO_FP_API IMPLEMENT_D2I_FP(X509_SIG, d2i_PKCS8_fp, d2i_PKCS8_bio) IMPLEMENT_I2D_FP(X509_SIG, i2d_PKCS8_fp, i2d_PKCS8_bio) -#endif IMPLEMENT_D2I_BIO(X509_SIG, d2i_PKCS8_bio, d2i_X509_SIG) IMPLEMENT_I2D_BIO(X509_SIG, i2d_PKCS8_bio, i2d_X509_SIG) -#ifndef OPENSSL_NO_FP_API IMPLEMENT_D2I_FP(PKCS8_PRIV_KEY_INFO, d2i_PKCS8_PRIV_KEY_INFO_fp, d2i_PKCS8_PRIV_KEY_INFO_bio) IMPLEMENT_I2D_FP(PKCS8_PRIV_KEY_INFO, i2d_PKCS8_PRIV_KEY_INFO_fp, @@ -390,7 +375,6 @@ PKCS8_PRIV_KEY_INFO_free(p8inf); return ret; } -#endif IMPLEMENT_D2I_BIO(EVP_PKEY, d2i_PrivateKey_bio, d2i_AutoPrivateKey) IMPLEMENT_I2D_BIO(EVP_PKEY, i2d_PrivateKey_bio, i2d_PrivateKey)
diff --git a/crypto/x509v3/v3_prn.c b/crypto/x509v3/v3_prn.c index 79e96e6..ee4c482 100644 --- a/crypto/x509v3/v3_prn.c +++ b/crypto/x509v3/v3_prn.c
@@ -218,7 +218,6 @@ } } -#ifndef OPENSSL_NO_FP_API int X509V3_EXT_print_fp(FILE *fp, X509_EXTENSION *ext, int flag, int indent) { BIO *bio_tmp; @@ -229,4 +228,3 @@ BIO_free(bio_tmp); return ret; } -#endif
diff --git a/include/openssl/asn1.h b/include/openssl/asn1.h index d629f7e..8bbb49b 100644 --- a/include/openssl/asn1.h +++ b/include/openssl/asn1.h
@@ -1104,12 +1104,10 @@ OPENSSL_EXPORT void *ASN1_item_dup(const ASN1_ITEM *it, void *x); -#ifndef OPENSSL_NO_FP_API OPENSSL_EXPORT void *ASN1_item_d2i_fp(const ASN1_ITEM *it, FILE *in, void *x); OPENSSL_EXPORT int ASN1_item_i2d_fp(const ASN1_ITEM *it, FILE *out, void *x); OPENSSL_EXPORT int ASN1_STRING_print_ex_fp(FILE *fp, const ASN1_STRING *str, unsigned long flags); -#endif OPENSSL_EXPORT void *ASN1_item_d2i_bio(const ASN1_ITEM *it, BIO *in, void *x); OPENSSL_EXPORT int ASN1_item_i2d_bio(const ASN1_ITEM *it, BIO *out, void *x);
diff --git a/include/openssl/pem.h b/include/openssl/pem.h index f39989e..a94f276 100644 --- a/include/openssl/pem.h +++ b/include/openssl/pem.h
@@ -112,15 +112,6 @@ // write. Now they are all implemented with either: // IMPLEMENT_PEM_rw(...) or IMPLEMENT_PEM_rw_cb(...) -#ifdef OPENSSL_NO_FP_API - -#define IMPLEMENT_PEM_read_fp(name, type, str, asn1) // -#define IMPLEMENT_PEM_write_fp(name, type, str, asn1) // -#define IMPLEMENT_PEM_write_fp_const(name, type, str, asn1) // -#define IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1) // -#define IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1) // - -#else #define IMPLEMENT_PEM_read_fp(name, type, str, asn1) \ static void *pem_read_##name##_d2i(void **x, const unsigned char **inp, \ @@ -173,7 +164,6 @@ cb, u); \ } -#endif #define IMPLEMENT_PEM_read_bio(name, type, str, asn1) \ static void *pem_read_bio_##name##_d2i(void **x, const unsigned char **inp, \ @@ -260,14 +250,6 @@ // These are the same except they are for the declarations -#if defined(OPENSSL_NO_FP_API) - -#define DECLARE_PEM_read_fp(name, type) // -#define DECLARE_PEM_write_fp(name, type) // -#define DECLARE_PEM_write_cb_fp(name, type) // - -#else - #define DECLARE_PEM_read_fp(name, type) \ OPENSSL_EXPORT type *PEM_read_##name(FILE *fp, type **x, \ pem_password_cb *cb, void *u); @@ -283,8 +265,6 @@ FILE *fp, type *x, const EVP_CIPHER *enc, unsigned char *kstr, int klen, \ pem_password_cb *cb, void *u); -#endif - #define DECLARE_PEM_read_bio(name, type) \ OPENSSL_EXPORT type *PEM_read_bio_##name(BIO *bp, type **x, \ pem_password_cb *cb, void *u);
diff --git a/include/openssl/x509.h b/include/openssl/x509.h index 7768cc1..9f8edce 100644 --- a/include/openssl/x509.h +++ b/include/openssl/x509.h
@@ -731,7 +731,6 @@ // copying parts of it as a normal |d2i_X509| call would do. OPENSSL_EXPORT X509 *X509_parse_from_buffer(CRYPTO_BUFFER *buf); -#ifndef OPENSSL_NO_FP_API OPENSSL_EXPORT X509 *d2i_X509_fp(FILE *fp, X509 **x509); OPENSSL_EXPORT int i2d_X509_fp(FILE *fp, X509 *x509); OPENSSL_EXPORT X509_CRL *d2i_X509_CRL_fp(FILE *fp, X509_CRL **crl); @@ -765,7 +764,6 @@ OPENSSL_EXPORT EVP_PKEY *d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a); OPENSSL_EXPORT int i2d_PUBKEY_fp(FILE *fp, EVP_PKEY *pkey); OPENSSL_EXPORT EVP_PKEY *d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **a); -#endif OPENSSL_EXPORT X509 *d2i_X509_bio(BIO *bp, X509 **x509); OPENSSL_EXPORT int i2d_X509_bio(BIO *bp, X509 *x509); @@ -1401,7 +1399,6 @@ OPENSSL_EXPORT int X509_CRL_cmp(const X509_CRL *a, const X509_CRL *b); OPENSSL_EXPORT int X509_CRL_match(const X509_CRL *a, const X509_CRL *b); -#ifndef OPENSSL_NO_FP_API OPENSSL_EXPORT int X509_print_ex_fp(FILE *bp, X509 *x, unsigned long nmflag, unsigned long cflag); OPENSSL_EXPORT int X509_print_fp(FILE *bp, X509 *x); @@ -1409,7 +1406,6 @@ OPENSSL_EXPORT int X509_REQ_print_fp(FILE *bp, X509_REQ *req); OPENSSL_EXPORT int X509_NAME_print_ex_fp(FILE *fp, const X509_NAME *nm, int indent, unsigned long flags); -#endif OPENSSL_EXPORT int X509_NAME_print(BIO *bp, const X509_NAME *name, int obase); OPENSSL_EXPORT int X509_NAME_print_ex(BIO *out, const X509_NAME *nm, int indent,