Fix bad error codes
diff --git a/include/polarssl/error.h b/include/polarssl/error.h
index a64960c..55a8a45 100644
--- a/include/polarssl/error.h
+++ b/include/polarssl/error.h
@@ -85,7 +85,7 @@
* ECP 4 7 (Started from top)
* MD 5 4
* CIPHER 6 6
- * SSL 6 7 (Started from top)
+ * SSL 6 8 (Started from top)
* SSL 7 31
*
* Module dependent error code (5 bits 0x.08.-0x.F8.)
diff --git a/include/polarssl/ssl.h b/include/polarssl/ssl.h
index c682c0a..fbcbbea 100644
--- a/include/polarssl/ssl.h
+++ b/include/polarssl/ssl.h
@@ -132,6 +132,7 @@
#define POLARSSL_ERR_SSL_SESSION_TICKET_EXPIRED -0x6D80 /**< Session ticket has expired. */
#define POLARSSL_ERR_SSL_PK_TYPE_MISMATCH -0x6D00 /**< Public key type mismatch (eg, asked for RSA key exchange and presented EC key) */
#define POLARSSL_ERR_SSL_UNKNOWN_IDENTITY -0x6C80 /**< Unkown identity received (eg, PSK identity) */
+#define POLARSSL_ERR_SSL_INTERNAL_ERROR -0x6C00 /**< Internal error (eg, unexpected failure in lower-level module) */
/*
* Various constants
diff --git a/library/error.c b/library/error.c
index ff6fb07..d17338a 100644
--- a/library/error.c
+++ b/library/error.c
@@ -422,6 +422,8 @@
snprintf( buf, buflen, "SSL - Public key type mismatch (eg, asked for RSA key exchange and presented EC key)" );
if( use_ret == -(POLARSSL_ERR_SSL_UNKNOWN_IDENTITY) )
snprintf( buf, buflen, "SSL - Unkown identity received (eg, PSK identity)" );
+ if( use_ret == -(POLARSSL_ERR_SSL_INTERNAL_ERROR) )
+ snprintf( buf, buflen, "SSL - Internal error (eg, unexpected failure in lower-level module)" );
#endif /* POLARSSL_SSL_TLS_C */
#if defined(POLARSSL_X509_USE_C) || defined(POLARSSL_X509_CREATE_C)
diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index b1e5021..4d65479 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -1060,8 +1060,7 @@
{
SSL_DEBUG_MSG( 1, ( "total encrypted length incorrect %d %d",
ssl->out_msglen, olen ) );
- // TODO Real error number
- return( -1 );
+ return( POLARSSL_ERR_SSL_INTERNAL_ERROR );
}
if( ( ret = cipher_finish( &ssl->transform_out->cipher_ctx_enc,
@@ -1075,8 +1074,7 @@
{
SSL_DEBUG_MSG( 1, ( "total encrypted length incorrect %d %d",
0, olen ) );
- // TODO Real error number
- return( -1 );
+ return( POLARSSL_ERR_SSL_INTERNAL_ERROR );
}
}
else
@@ -1277,8 +1275,7 @@
{
SSL_DEBUG_MSG( 1, ( "total encrypted length incorrect %d %d",
enc_msglen, olen ) );
- // TODO Real error number
- return( -1 );
+ return( POLARSSL_ERR_SSL_INTERNAL_ERROR );
}
#if defined(POLARSSL_SSL_PROTO_SSL3) || defined(POLARSSL_SSL_PROTO_TLS1)
@@ -1360,8 +1357,7 @@
if( ssl->in_msglen != olen )
{
SSL_DEBUG_MSG( 1, ( "total encrypted length incorrect" ) );
- // TODO Real error number
- return( -1 );
+ return( POLARSSL_ERR_SSL_INTERNAL_ERROR );
}
if( ( ret = cipher_finish( &ssl->transform_in->cipher_ctx_dec,
@@ -1374,8 +1370,7 @@
if( 0 != olen )
{
SSL_DEBUG_MSG( 1, ( "total encrypted length incorrect" ) );
- // TODO Real error number
- return( -1 );
+ return( POLARSSL_ERR_SSL_INTERNAL_ERROR );
}
}
else
@@ -1557,8 +1552,7 @@
if( dec_msglen != olen )
{
SSL_DEBUG_MSG( 1, ( "total encrypted length incorrect" ) );
- // TODO Real error number
- return( -1 );
+ return( POLARSSL_ERR_SSL_INTERNAL_ERROR );
}
#if defined(POLARSSL_SSL_PROTO_SSL3) || defined(POLARSSL_SSL_PROTO_TLS1)