Introduced POLARSSL_HAVE_READDIR_R for systems without it

This commit is contained in:
Paul Bakker 2013-10-14 15:51:50 +02:00
parent b9cfaa0c7f
commit be089b0483
3 changed files with 20 additions and 2 deletions

View File

@ -7,6 +7,7 @@ Features
Changes Changes
* RSA blinding locks for a smaller amount of time * RSA blinding locks for a smaller amount of time
* TLS compression only allocates working buffer once * TLS compression only allocates working buffer once
* Introduced POLARSSL_HAVE_READDIR_R for systems without it
Bugfix Bugfix
* Missing MSVC defines added * Missing MSVC defines added

View File

@ -93,6 +93,17 @@
#define POLARSSL_HAVE_SSE2 #define POLARSSL_HAVE_SSE2
*/ */
/**
* \def POLARSSL_HAVE_READDIR_R
*
* (Non Windows) System has readdir_r().
*
* Required for x509_crt_parse_path() in non-Windows systems.
*
* Comment if your system does not have support.
*/
#define POLARSSL_HAVE_READDIR_R
/** /**
* \def POLARSSL_HAVE_TIME * \def POLARSSL_HAVE_TIME
* *

View File

@ -986,7 +986,8 @@ int x509_crt_parse_path( x509_crt *chain, const char *path )
ret = POLARSSL_ERR_X509_FILE_IO_ERROR; ret = POLARSSL_ERR_X509_FILE_IO_ERROR;
FindClose( hFind ); FindClose( hFind );
#else #else /* _WIN32 */
#if defined(POLARSSL_HAVE_READDIR_R)
int t_ret, i; int t_ret, i;
struct stat sb; struct stat sb;
struct dirent entry, *result = NULL; struct dirent entry, *result = NULL;
@ -1023,7 +1024,12 @@ int x509_crt_parse_path( x509_crt *chain, const char *path )
ret += t_ret; ret += t_ret;
} }
closedir( dir ); closedir( dir );
#endif #else /* POLARSSL_HAVE_READDIR_R */
((void) chain);
((void) path);
ret = POLARSSL_ERR_X509_FEATURE_UNAVAILABLE;
#endif /* POLARSSL_HAVE_READDIR_R */
#endif /* _WIN32 */
return( ret ); return( ret );
} }