- Added handling for CTR_DRBG module
diff --git a/library/error.c b/library/error.c
index a792960..afe8e45 100644
--- a/library/error.c
+++ b/library/error.c
@@ -47,6 +47,10 @@
#include "polarssl/cipher.h"
#endif
+#if defined(POLARSSL_CTR_DRBG_C)
+#include "polarssl/ctr_drbg.h"
+#endif
+
#if defined(POLARSSL_DES_C)
#include "polarssl/des.h"
#endif
@@ -373,6 +377,15 @@
snprintf( buf, buflen, "CAMELLIA - Invalid data input length" );
#endif /* POLARSSL_CAMELLIA_C */
+#if defined(POLARSSL_CTR_DRBG_C)
+ if( use_ret == -(POLARSSL_ERR_CTR_DRBG_ENTROPY_SOURCE_FAILED) )
+ snprintf( buf, buflen, "CTR_DRBG - The entropy source failed" );
+ if( use_ret == -(POLARSSL_ERR_CTR_DRBG_REQUEST_TOO_BIG) )
+ snprintf( buf, buflen, "CTR_DRBG - Too many random requested in single call" );
+ if( use_ret == -(POLARSSL_ERR_CTR_DRBG_INPUT_TOO_BIG) )
+ snprintf( buf, buflen, "CTR_DRBG - Input too large (Entropy + additional)" );
+#endif /* POLARSSL_CTR_DRBG_C */
+
#if defined(POLARSSL_DES_C)
if( use_ret == -(POLARSSL_ERR_DES_INVALID_INPUT_LENGTH) )
snprintf( buf, buflen, "DES - The data input has an invalid length" );