From: Nikos Mavrogiannopoulos Date: Mon, 7 Jan 2013 16:47:35 +0000 (+0100) Subject: Added new error code GNUTLS_E_RANDOM_DEVICE_ERROR. X-Git-Tag: gnutls_3_1_7~115 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9dbf135be39e41eced53fe1e54845542af9aebdc;p=thirdparty%2Fgnutls.git Added new error code GNUTLS_E_RANDOM_DEVICE_ERROR. --- diff --git a/lib/gnutls_errors.c b/lib/gnutls_errors.c index 56ff585612..95c2b5ac24 100644 --- a/lib/gnutls_errors.c +++ b/lib/gnutls_errors.c @@ -351,6 +351,8 @@ static const gnutls_error_entry error_algorithms[] = { GNUTLS_E_OCSP_RESPONSE_ERROR, 1), ERROR_ENTRY (N_("There is no certificate status (OCSP)."), GNUTLS_E_NO_CERTIFICATE_STATUS, 1), + ERROR_ENTRY (N_("Error in the system's randomness device."), + GNUTLS_E_RANDOM_DEVICE_ERROR, 1), {NULL, NULL, 0, 0} }; diff --git a/lib/includes/gnutls/gnutls.h.in b/lib/includes/gnutls/gnutls.h.in index 2b7b706b84..fd868b5173 100644 --- a/lib/includes/gnutls/gnutls.h.in +++ b/lib/includes/gnutls/gnutls.h.in @@ -2124,6 +2124,7 @@ typedef int (*gnutls_pin_callback_t) (void *userdata, int attempt, #define GNUTLS_E_NO_CERTIFICATE_STATUS -340 #define GNUTLS_E_OCSP_RESPONSE_ERROR -341 +#define GNUTLS_E_RANDOM_DEVICE_ERROR -342 #define GNUTLS_E_UNIMPLEMENTED_FEATURE -1250 diff --git a/lib/nettle/rnd.c b/lib/nettle/rnd.c index c00726ee9c..cb8443c2c6 100644 --- a/lib/nettle/rnd.c +++ b/lib/nettle/rnd.c @@ -106,7 +106,7 @@ do_device_source (int init) CRYPT_SILENT | CRYPT_VERIFYCONTEXT)) { _gnutls_debug_log ("error in CryptAcquireContext!\n"); - return GNUTLS_E_INTERNAL_ERROR; + return GNUTLS_E_RANDOM_DEVICE_ERROR; } device_last_read = now; read_size = DEVICE_READ_SIZE_MAX; /* initially read more data */ @@ -123,7 +123,7 @@ do_device_source (int init) { _gnutls_debug_log ("Error in CryptGenRandom: %s\n", GetLastError ()); - return GNUTLS_E_INTERNAL_ERROR; + return GNUTLS_E_RANDOM_DEVICE_ERROR; } device_last_read = now; @@ -274,7 +274,7 @@ do_device_source_urandom (int init) ("Failed to read /dev/urandom: end of file\n"); } - return GNUTLS_E_INTERNAL_ERROR; + return GNUTLS_E_RANDOM_DEVICE_ERROR; } done += res; @@ -300,7 +300,7 @@ do_device_source_egd (int init) if (device_fd < 0) { _gnutls_debug_log ("Cannot open egd socket!\n"); - return gnutls_assert_val(GNUTLS_E_FILE_ERROR); + return gnutls_assert_val(GNUTLS_E_RANDOM_DEVICE_ERROR); } device_last_read = now; @@ -331,7 +331,7 @@ do_device_source_egd (int init) _gnutls_debug_log ("Failed to read egd: end of file\n"); } - return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR); + return gnutls_assert_val(GNUTLS_E_RANDOM_DEVICE_ERROR); } done += res; }