- A error_strerror function() has been added to translate between error codes and their description.
 - The error codes have been remapped and combining error codes is now done with a PLUS instead of an OR as error codes used are negative.
 - Descriptions to all error codes have been added.
 - Generation script for error.c has been created to automatically generate error.c from the available error definitions in the headers.


diff --git a/library/ssl_srv.c b/library/ssl_srv.c
index c626b42..013e223 100644
--- a/library/ssl_srv.c
+++ b/library/ssl_srv.c
@@ -733,7 +733,7 @@
                                       ssl->in_msg + 6, n ) ) != 0 )
         {
             SSL_DEBUG_RET( 1, "dhm_read_public", ret );
-            return( POLARSSL_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE | ret );
+            return( POLARSSL_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE_DHM_RP );
         }
 
         SSL_DEBUG_MPI( 3, "DHM: GY", &ssl->dhm_ctx.GY );
@@ -744,7 +744,7 @@
                      ssl->premaster, &ssl->pmslen ) ) != 0 )
         {
             SSL_DEBUG_RET( 1, "dhm_calc_secret", ret );
-            return( POLARSSL_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE | ret );
+            return( POLARSSL_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE_DHM_CS );
         }
 
         SSL_DEBUG_MPI( 3, "DHM: K ", &ssl->dhm_ctx.K  );