From 85a47b45963a1d6c430de630f709579de3fcbbdf Mon Sep 17 00:00:00 2001 From: Chris Conlon Date: Fri, 14 Feb 2014 14:57:43 -0700 Subject: [PATCH] add NO_STDIO_FILESYSTEM to exclude FILE usage from non standard filesystems --- cyassl/ctaocrypt/port.h | 1 + cyassl/ssl.h | 8 +++++--- src/ssl.c | 6 +++++- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/cyassl/ctaocrypt/port.h b/cyassl/ctaocrypt/port.h index 945e30a47..5741c255e 100644 --- a/cyassl/ctaocrypt/port.h +++ b/cyassl/ctaocrypt/port.h @@ -111,6 +111,7 @@ CYASSL_LOCAL int LockMutex(CyaSSL_Mutex*); CYASSL_LOCAL int UnLockMutex(CyaSSL_Mutex*); +/* filesystem abstraction layer, used by ssl.c */ #ifndef NO_FILESYSTEM #if defined(EBSNET) diff --git a/cyassl/ssl.h b/cyassl/ssl.h index b1f56bc77..7821cefd2 100644 --- a/cyassl/ssl.h +++ b/cyassl/ssl.h @@ -619,7 +619,7 @@ enum { /* extras end */ -#ifndef NO_FILESYSTEM +#if !defined(NO_FILESYSTEM) && !defined(NO_STDIO_FILESYSTEM) /* CyaSSL extension, provide last error from SSL_get_error since not using thread storage error queue */ CYASSL_API void CyaSSL_ERR_print_errors_fp(FILE*, int err); @@ -824,8 +824,10 @@ CYASSL_API char* CyaSSL_X509_get_next_altname(CYASSL_X509*); CYASSL_API CYASSL_X509* CyaSSL_X509_d2i(CYASSL_X509** x509, const unsigned char* in, int len); #ifndef NO_FILESYSTEM -CYASSL_API CYASSL_X509* - CyaSSL_X509_d2i_fp(CYASSL_X509** x509, FILE* file); + #ifndef NO_STDIO_FILESYSTEM + CYASSL_API CYASSL_X509* + CyaSSL_X509_d2i_fp(CYASSL_X509** x509, FILE* file); + #endif CYASSL_API CYASSL_X509* CyaSSL_X509_load_certificate_file(const char* fname, int format); #endif diff --git a/src/ssl.c b/src/ssl.c index 07e79a161..3bbeeff37 100644 --- a/src/ssl.c +++ b/src/ssl.c @@ -1231,7 +1231,7 @@ int CyaSSL_KeyPemToDer(const unsigned char* pem, int pemSz, unsigned char* buff, -#ifndef NO_FILESYSTEM +#if !defined(NO_FILESYSTEM) && !defined(NO_STDIO_FILESYSTEM) void CyaSSL_ERR_print_errors_fp(FILE* fp, int err) { @@ -7877,6 +7877,8 @@ CYASSL_X509* CyaSSL_X509_d2i(CYASSL_X509** x509, const byte* in, int len) #ifndef NO_FILESYSTEM +#ifndef NO_STDIO_FILESYSTEM + CYASSL_X509* CyaSSL_X509_d2i_fp(CYASSL_X509** x509, XFILE file) { CYASSL_X509* newX509 = NULL; @@ -7906,6 +7908,8 @@ CYASSL_X509* CyaSSL_X509_d2i_fp(CYASSL_X509** x509, XFILE file) return newX509; } +#endif /* NO_STDIO_FILESYSTEM */ + CYASSL_X509* CyaSSL_X509_load_certificate_file(const char* fname, int format) { byte staticBuffer[FILE_BUFFER_SIZE];