Fix ERR_R_... problems.
authorBodo Möller <bodo@openssl.org>
Wed, 7 Mar 2001 01:19:07 +0000 (01:19 +0000)
committerBodo Möller <bodo@openssl.org>
Wed, 7 Mar 2001 01:19:07 +0000 (01:19 +0000)
15 files changed:
CHANGES
crypto/err/err.c
crypto/err/err.h
crypto/pkcs7/pk7_doit.c
crypto/pkcs7/pkcs7.h
crypto/pkcs7/pkcs7err.c
ssl/s2_clnt.c
ssl/s3_clnt.c
ssl/s3_enc.c
ssl/s3_pkt.c
ssl/s3_srvr.c
ssl/ssl.h
ssl/ssl_err.c
ssl/ssl_lib.c
ssl/t1_enc.c

diff --git a/CHANGES b/CHANGES
index 8f81932..36acb79 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -3,6 +3,28 @@
 
  Changes between 0.9.6 and 0.9.7  [xx XXX 2000]
 
+  *) Clean up crypto/err/err.h and change some error codes to avoid conflicts:
+
+     Previously ERR_R_FATAL was too small and coincided with ERR_LIB_PKCS7
+     (= ERR_R_PKCS7_LIB); it is now 64 instead of 32.
+
+     ASN1 error codes
+          ERR_R_NESTED_ASN1_ERROR
+          ...
+          ERR_R_MISSING_ASN1_EOS
+     were 4 .. 9, conflicting with
+          ERR_LIB_RSA (= ERR_R_RSA_LIB)
+          ...
+          ERR_LIB_PEM (= ERR_R_PEM_LIB).
+     They are now 58 .. 63 (i.e., just below ERR_R_FATAL).
+
+     Add new error code 'ERR_R_INTERNAL_ERROR'.
+     [Bodo Moeller]
+
+  *) Don't overuse locks in crypto/err/err.c: For data retrieval, CRYPTO_r_lock
+     suffices.
+     [Bodo Moeller]
+
   *) New option '-subj arg' for 'openssl req' and 'openssl ca'.  This
      sets the subject name for a new request or supersedes the
      subject name in a given request. Formats that can be parsed are
index 2d8b5f6..145fdc5 100644 (file)
@@ -142,20 +142,18 @@ static ERR_STRING_DATA ERR_str_libraries[]=
 {ERR_PACK(ERR_LIB_SYS,0,0)             ,"system library"},
 {ERR_PACK(ERR_LIB_BN,0,0)              ,"bignum routines"},
 {ERR_PACK(ERR_LIB_RSA,0,0)             ,"rsa routines"},
-{ERR_PACK(ERR_LIB_DSA,0,0)             ,"dsa routines"},
 {ERR_PACK(ERR_LIB_DH,0,0)              ,"Diffie-Hellman routines"},
 {ERR_PACK(ERR_LIB_EVP,0,0)             ,"digital envelope routines"},
 {ERR_PACK(ERR_LIB_BUF,0,0)             ,"memory buffer routines"},
-{ERR_PACK(ERR_LIB_BIO,0,0)             ,"BIO routines"},
 {ERR_PACK(ERR_LIB_OBJ,0,0)             ,"object identifier routines"},
 {ERR_PACK(ERR_LIB_PEM,0,0)             ,"PEM routines"},
-{ERR_PACK(ERR_LIB_ASN1,0,0)            ,"asn1 encoding routines"},
+{ERR_PACK(ERR_LIB_DSA,0,0)             ,"dsa routines"},
 {ERR_PACK(ERR_LIB_X509,0,0)            ,"x509 certificate routines"},
+{ERR_PACK(ERR_LIB_ASN1,0,0)            ,"asn1 encoding routines"},
 {ERR_PACK(ERR_LIB_CONF,0,0)            ,"configuration file routines"},
-{ERR_PACK(ERR_LIB_METH,0,0)            ,"X509 lookup 'method' routines"},
+{ERR_PACK(ERR_LIB_CRYPTO,0,0)          ,"common libcrypto routines"},
+{ERR_PACK(ERR_LIB_EC,0,0)              ,"elliptic curve routines"},
 {ERR_PACK(ERR_LIB_SSL,0,0)             ,"SSL routines"},
-{ERR_PACK(ERR_LIB_RSAREF,0,0)          ,"RSAref routines"},
-{ERR_PACK(ERR_LIB_PROXY,0,0)           ,"Proxy routines"},
 {ERR_PACK(ERR_LIB_BIO,0,0)             ,"BIO routines"},
 {ERR_PACK(ERR_LIB_PKCS7,0,0)           ,"PKCS7 routines"},
 {ERR_PACK(ERR_LIB_X509V3,0,0)          ,"X509 V3 routines"},
@@ -164,7 +162,6 @@ static ERR_STRING_DATA ERR_str_libraries[]=
 {ERR_PACK(ERR_LIB_DSO,0,0)             ,"DSO support routines"},
 {ERR_PACK(ERR_LIB_ENGINE,0,0)          ,"engine routines"},
 {ERR_PACK(ERR_LIB_OCSP,0,0)            ,"OCSP routines"},
-{ERR_PACK(ERR_LIB_EC,0,0)              ,"EC routines"},
 {0,NULL},
        };
 
@@ -187,36 +184,42 @@ static ERR_STRING_DATA ERR_str_functs[]=
 
 static ERR_STRING_DATA ERR_str_reasons[]=
        {
-{ERR_R_FATAL                             ,"fatal"},
 {ERR_R_SYS_LIB                         ,"system lib"},
 {ERR_R_BN_LIB                          ,"BN lib"},
 {ERR_R_RSA_LIB                         ,"RSA lib"},
 {ERR_R_DH_LIB                          ,"DH lib"},
 {ERR_R_EVP_LIB                         ,"EVP lib"},
 {ERR_R_BUF_LIB                         ,"BUF lib"},
-{ERR_R_BIO_LIB                         ,"BIO lib"},
 {ERR_R_OBJ_LIB                         ,"OBJ lib"},
 {ERR_R_PEM_LIB                         ,"PEM lib"},
+{ERR_R_DSA_LIB                         ,"DSA lib"},
 {ERR_R_X509_LIB                                ,"X509 lib"},
-{ERR_R_METH_LIB                                ,"METH lib"},
 {ERR_R_ASN1_LIB                                ,"ASN1 lib"},
 {ERR_R_CONF_LIB                                ,"CONF lib"},
+{ERR_R_CRYPTO_LIB                      ,"CRYPTO lib"},
+{ERR_R_EC_LIB                          ,"EC lib"},
 {ERR_R_SSL_LIB                         ,"SSL lib"},
-{ERR_R_PROXY_LIB                       ,"PROXY lib"},
 {ERR_R_BIO_LIB                         ,"BIO lib"},
 {ERR_R_PKCS7_LIB                       ,"PKCS7 lib"},
+{ERR_R_X509V3_LIB                      ,"X509V3 lib"},
 {ERR_R_PKCS12_LIB                      ,"PKCS12 lib"},
-{ERR_R_MALLOC_FAILURE                  ,"Malloc failure"},
-{ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED     ,"called a function you should not call"},
-{ERR_R_PASSED_NULL_PARAMETER           ,"passed a null parameter"},
+{ERR_R_RAND_LIB                                ,"RAND lib"},
+{ERR_R_DSO_LIB                         ,"DSO lib"},
+{ERR_R_ENGINE_LIB                      ,"ENGINE lib"},
+{ERR_R_OCSP_LIB                                ,"OCSP lib"},
+
 {ERR_R_NESTED_ASN1_ERROR               ,"nested asn1 error"},
 {ERR_R_BAD_ASN1_OBJECT_HEADER          ,"bad asn1 object header"},
 {ERR_R_BAD_GET_ASN1_OBJECT_CALL                ,"bad get asn1 object call"},
 {ERR_R_EXPECTING_AN_ASN1_SEQUENCE      ,"expecting an asn1 sequence"},
 {ERR_R_ASN1_LENGTH_MISMATCH            ,"asn1 length mismatch"},
 {ERR_R_MISSING_ASN1_EOS                        ,"missing asn1 eos"},
-{ERR_R_DSO_LIB                         ,"DSO lib"},
-{ERR_R_ENGINE_LIB                      ,"ENGINE lib"},
+
+{ERR_R_FATAL                            ,"fatal"},
+{ERR_R_MALLOC_FAILURE                  ,"malloc failure"},
+{ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED     ,"called a function you should not call"},
+{ERR_R_PASSED_NULL_PARAMETER           ,"passed a null parameter"},
+{ERR_R_INTERNAL_ERROR                  ,"internal error"},
 
 {0,NULL},
        };
@@ -299,14 +302,6 @@ void ERR_load_ERR_strings(void)
 
        if (init)
                {
-               CRYPTO_w_lock(CRYPTO_LOCK_ERR);
-               if (init == 0)
-                       {
-                       CRYPTO_w_unlock(CRYPTO_LOCK_ERR);
-                       return;
-                       }
-               CRYPTO_w_unlock(CRYPTO_LOCK_ERR);
-
 #ifndef OPENSSL_NO_ERR
                ERR_load_strings(0,ERR_str_libraries);
                ERR_load_strings(0,ERR_str_reasons);
@@ -567,7 +562,7 @@ const char *ERR_lib_error_string(unsigned long e)
 
        l=ERR_GET_LIB(e);
 
-       CRYPTO_w_lock(CRYPTO_LOCK_ERR_HASH);
+       CRYPTO_r_lock(CRYPTO_LOCK_ERR_HASH);
 
        if (error_hash != NULL)
                {
@@ -575,7 +570,7 @@ const char *ERR_lib_error_string(unsigned long e)
                p=(ERR_STRING_DATA *)lh_retrieve(error_hash,&d);
                }
 
-       CRYPTO_w_unlock(CRYPTO_LOCK_ERR_HASH);
+       CRYPTO_r_unlock(CRYPTO_LOCK_ERR_HASH);
 
        return((p == NULL)?NULL:p->string);
        }
@@ -588,7 +583,7 @@ const char *ERR_func_error_string(unsigned long e)
        l=ERR_GET_LIB(e);
        f=ERR_GET_FUNC(e);
 
-       CRYPTO_w_lock(CRYPTO_LOCK_ERR_HASH);
+       CRYPTO_r_lock(CRYPTO_LOCK_ERR_HASH);
 
        if (error_hash != NULL)
                {
@@ -596,7 +591,7 @@ const char *ERR_func_error_string(unsigned long e)
                p=(ERR_STRING_DATA *)lh_retrieve(error_hash,&d);
                }
 
-       CRYPTO_w_unlock(CRYPTO_LOCK_ERR_HASH);
+       CRYPTO_r_unlock(CRYPTO_LOCK_ERR_HASH);
 
        return((p == NULL)?NULL:p->string);
        }
@@ -609,7 +604,7 @@ const char *ERR_reason_error_string(unsigned long e)
        l=ERR_GET_LIB(e);
        r=ERR_GET_REASON(e);
 
-       CRYPTO_w_lock(CRYPTO_LOCK_ERR_HASH);
+       CRYPTO_r_lock(CRYPTO_LOCK_ERR_HASH);
 
        if (error_hash != NULL)
                {
@@ -622,7 +617,7 @@ const char *ERR_reason_error_string(unsigned long e)
                        }
                }
 
-       CRYPTO_w_unlock(CRYPTO_LOCK_ERR_HASH);
+       CRYPTO_r_unlock(CRYPTO_LOCK_ERR_HASH);
 
        return((p == NULL)?NULL:p->string);
        }
@@ -692,13 +687,13 @@ ERR_STATE *ERR_get_state(void)
 
        pid=(unsigned long)CRYPTO_thread_id();
 
-       CRYPTO_w_lock(CRYPTO_LOCK_ERR);
+       CRYPTO_r_lock(CRYPTO_LOCK_ERR);
        if (thread_hash != NULL)
                {
                tmp.pid=pid;
                ret=(ERR_STATE *)lh_retrieve(thread_hash,&tmp);
                }
-       CRYPTO_w_unlock(CRYPTO_LOCK_ERR);
+       CRYPTO_r_unlock(CRYPTO_LOCK_ERR);
 
        /* ret == the error state, if NULL, make a new one */
        if (ret == NULL)
index 2ca6b1b..724eac5 100644 (file)
@@ -116,16 +116,17 @@ typedef struct err_state_st
 #define ERR_LIB_PEM            9
 #define ERR_LIB_DSA            10
 #define ERR_LIB_X509           11
-#define ERR_LIB_METH           12
+/* #define ERR_LIB_METH         12 */
 #define ERR_LIB_ASN1           13
 #define ERR_LIB_CONF           14
 #define ERR_LIB_CRYPTO         15
+#define ERR_LIB_EC             16
 #define ERR_LIB_SSL            20
-#define ERR_LIB_SSL23          21
-#define ERR_LIB_SSL2           22
-#define ERR_LIB_SSL3           23
-#define ERR_LIB_RSAREF         30
-#define ERR_LIB_PROXY          31
+/* #define ERR_LIB_SSL23        21 */
+/* #define ERR_LIB_SSL2         22 */
+/* #define ERR_LIB_SSL3         23 */
+/* #define ERR_LIB_RSAREF       30 */
+/* #define ERR_LIB_PROXY        31 */
 #define ERR_LIB_BIO            32
 #define ERR_LIB_PKCS7          33
 #define ERR_LIB_X509V3         34
@@ -134,7 +135,6 @@ typedef struct err_state_st
 #define ERR_LIB_DSO            37
 #define ERR_LIB_ENGINE         38
 #define ERR_LIB_OCSP            39
-#define ERR_LIB_EC             40
 
 #define ERR_LIB_USER           128
 
@@ -144,21 +144,16 @@ typedef struct err_state_st
 #define DHerr(f,r)   ERR_PUT_error(ERR_LIB_DH,(f),(r),ERR_file_name,__LINE__)
 #define EVPerr(f,r)  ERR_PUT_error(ERR_LIB_EVP,(f),(r),ERR_file_name,__LINE__)
 #define BUFerr(f,r)  ERR_PUT_error(ERR_LIB_BUF,(f),(r),ERR_file_name,__LINE__)
-#define BIOerr(f,r)  ERR_PUT_error(ERR_LIB_BIO,(f),(r),ERR_file_name,__LINE__)
 #define OBJerr(f,r)  ERR_PUT_error(ERR_LIB_OBJ,(f),(r),ERR_file_name,__LINE__)
 #define PEMerr(f,r)  ERR_PUT_error(ERR_LIB_PEM,(f),(r),ERR_file_name,__LINE__)
 #define DSAerr(f,r)  ERR_PUT_error(ERR_LIB_DSA,(f),(r),ERR_file_name,__LINE__)
 #define X509err(f,r) ERR_PUT_error(ERR_LIB_X509,(f),(r),ERR_file_name,__LINE__)
-#define METHerr(f,r) ERR_PUT_error(ERR_LIB_METH,(f),(r),ERR_file_name,__LINE__)
 #define ASN1err(f,r) ERR_PUT_error(ERR_LIB_ASN1,(f),(r),ERR_file_name,__LINE__)
 #define CONFerr(f,r) ERR_PUT_error(ERR_LIB_CONF,(f),(r),ERR_file_name,__LINE__)
 #define CRYPTOerr(f,r) ERR_PUT_error(ERR_LIB_CRYPTO,(f),(r),ERR_file_name,__LINE__)
+#define ECerr(f,r)   ERR_PUT_error(ERR_LIB_EC,(f),(r),ERR_file_name,__LINE__)
 #define SSLerr(f,r)  ERR_PUT_error(ERR_LIB_SSL,(f),(r),ERR_file_name,__LINE__)
-#define SSL23err(f,r) ERR_PUT_error(ERR_LIB_SSL23,(f),(r),ERR_file_name,__LINE__)
-#define SSL2err(f,r) ERR_PUT_error(ERR_LIB_SSL2,(f),(r),ERR_file_name,__LINE__)
-#define SSL3err(f,r) ERR_PUT_error(ERR_LIB_SSL3,(f),(r),ERR_file_name,__LINE__)
-#define RSAREFerr(f,r) ERR_PUT_error(ERR_LIB_RSAREF,(f),(r),ERR_file_name,__LINE__)
-#define PROXYerr(f,r) ERR_PUT_error(ERR_LIB_PROXY,(f),(r),ERR_file_name,__LINE__)
+#define BIOerr(f,r)  ERR_PUT_error(ERR_LIB_BIO,(f),(r),ERR_file_name,__LINE__)
 #define PKCS7err(f,r) ERR_PUT_error(ERR_LIB_PKCS7,(f),(r),ERR_file_name,__LINE__)
 #define X509V3err(f,r) ERR_PUT_error(ERR_LIB_X509V3,(f),(r),ERR_file_name,__LINE__)
 #define PKCS12err(f,r) ERR_PUT_error(ERR_LIB_PKCS12,(f),(r),ERR_file_name,__LINE__)
@@ -166,7 +161,6 @@ typedef struct err_state_st
 #define DSOerr(f,r) ERR_PUT_error(ERR_LIB_DSO,(f),(r),ERR_file_name,__LINE__)
 #define ENGINEerr(f,r) ERR_PUT_error(ERR_LIB_ENGINE,(f),(r),ERR_file_name,__LINE__)
 #define OCSPerr(f,r) ERR_PUT_error(ERR_LIB_OCSP,(f),(r),ERR_file_name,__LINE__)
-#define ECerr(f,r)   ERR_PUT_error(ERR_LIB_EC,(f),(r),ERR_file_name,__LINE__)
 
 /* Borland C seems too stupid to be able to shift and do longs in
  * the pre-processor :-( */
@@ -178,6 +172,7 @@ typedef struct err_state_st
 #define ERR_GET_REASON(l)      (int)((l)&0xfffL)
 #define ERR_FATAL_ERROR(l)     (int)((l)&ERR_R_FATAL)
 
+
 /* OS functions */
 #define SYS_F_FOPEN            1
 #define SYS_F_CONNECT          2
@@ -190,46 +185,49 @@ typedef struct err_state_st
 #define SYS_F_WSASTARTUP       9 /* Winsock stuff */
 #define SYS_F_OPENDIR          10
 
-#define ERR_R_FATAL            32      
+
 /* reasons */
-#define ERR_R_SYS_LIB  ERR_LIB_SYS
-#define ERR_R_BN_LIB   ERR_LIB_BN
-#define ERR_R_RSA_LIB  ERR_LIB_RSA
-#define ERR_R_DSA_LIB  ERR_LIB_DSA
-#define ERR_R_DH_LIB   ERR_LIB_DH
-#define ERR_R_EVP_LIB  ERR_LIB_EVP
-#define ERR_R_BUF_LIB  ERR_LIB_BUF
-#define ERR_R_BIO_LIB  ERR_LIB_BIO
-#define ERR_R_OBJ_LIB  ERR_LIB_OBJ
-#define ERR_R_PEM_LIB  ERR_LIB_PEM
-#define ERR_R_X509_LIB ERR_LIB_X509
-#define ERR_R_METH_LIB ERR_LIB_METH
-#define ERR_R_ASN1_LIB ERR_LIB_ASN1
-#define ERR_R_CONF_LIB ERR_LIB_CONF
-#define ERR_R_CRYPTO_LIB ERR_LIB_CRYPTO
-#define ERR_R_SSL_LIB  ERR_LIB_SSL
-#define ERR_R_SSL23_LIB        ERR_LIB_SSL23
-#define ERR_R_SSL2_LIB ERR_LIB_SSL2
-#define ERR_R_SSL3_LIB ERR_LIB_SSL3
-#define ERR_R_PROXY_LIB        ERR_LIB_PROXY
-#define ERR_R_BIO_LIB  ERR_LIB_BIO
-#define ERR_R_PKCS7_LIB        ERR_LIB_PKCS7
-#define ERR_R_PKCS12_LIB ERR_LIB_PKCS12
-#define ERR_R_DSO_LIB  ERR_LIB_DSO
-#define ERR_R_ENGINE_LIB ERR_LIB_ENGINE
-#define ERR_R_OCSP_LIB  ERR_LIB_OCSP
-#define ERR_R_EC_LIB   ERR_LIB_EC
+#define ERR_R_SYS_LIB  ERR_LIB_SYS       /* 2 */
+#define ERR_R_BN_LIB   ERR_LIB_BN        /* 3 */
+#define ERR_R_RSA_LIB  ERR_LIB_RSA       /* 4 */
+#define ERR_R_DH_LIB   ERR_LIB_DH        /* 5 */
+#define ERR_R_EVP_LIB  ERR_LIB_EVP       /* 6 */
+#define ERR_R_BUF_LIB  ERR_LIB_BUF       /* 7 */
+#define ERR_R_OBJ_LIB  ERR_LIB_OBJ       /* 8 */
+#define ERR_R_PEM_LIB  ERR_LIB_PEM       /* 9 */
+#define ERR_R_DSA_LIB  ERR_LIB_DSA      /* 10 */
+#define ERR_R_X509_LIB ERR_LIB_X509     /* 11 */
+#define ERR_R_ASN1_LIB ERR_LIB_ASN1     /* 13 */
+#define ERR_R_CONF_LIB ERR_LIB_CONF     /* 14 */
+#define ERR_R_CRYPTO_LIB ERR_LIB_CRYPTO  /* 15 */
+#define ERR_R_EC_LIB   ERR_LIB_EC       /* 16 */
+#define ERR_R_SSL_LIB  ERR_LIB_SSL      /* 20 */
+#define ERR_R_BIO_LIB  ERR_LIB_BIO      /* 32 */
+#define ERR_R_PKCS7_LIB        ERR_LIB_PKCS7    /* 33 */
+#define ERR_R_X509V3_LIB ERR_LIB_X509V3  /* 34 */
+#define ERR_R_PKCS12_LIB ERR_LIB_PKCS12  /* 35 */
+#define ERR_R_RAND_LIB ERR_LIB_RAND     /* 36 */
+#define ERR_R_DSO_LIB  ERR_LIB_DSO      /* 37 */
+#define ERR_R_ENGINE_LIB ERR_LIB_ENGINE  /* 38 */
+#define ERR_R_OCSP_LIB  ERR_LIB_OCSP     /* 39 */
+
+#define ERR_R_NESTED_ASN1_ERROR                        58
+#define ERR_R_BAD_ASN1_OBJECT_HEADER           59
+#define ERR_R_BAD_GET_ASN1_OBJECT_CALL         60
+#define ERR_R_EXPECTING_AN_ASN1_SEQUENCE       61
+#define ERR_R_ASN1_LENGTH_MISMATCH             62
+#define ERR_R_MISSING_ASN1_EOS                 63
 
 /* fatal error */
+#define ERR_R_FATAL                            64
 #define        ERR_R_MALLOC_FAILURE                    (1|ERR_R_FATAL)
 #define        ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED       (2|ERR_R_FATAL)
 #define        ERR_R_PASSED_NULL_PARAMETER             (3|ERR_R_FATAL)
-#define ERR_R_NESTED_ASN1_ERROR                        (4)
-#define ERR_R_BAD_ASN1_OBJECT_HEADER           (5)
-#define ERR_R_BAD_GET_ASN1_OBJECT_CALL         (6)
-#define ERR_R_EXPECTING_AN_ASN1_SEQUENCE       (7)
-#define ERR_R_ASN1_LENGTH_MISMATCH             (8)
-#define ERR_R_MISSING_ASN1_EOS                 (9)
+#define        ERR_R_INTERNAL_ERROR                    (4|ERR_R_FATAL)
+
+/* 99 is the maximum possible ERR_R_... code, higher values
+ * are reserved for the individual libraries */
+
 
 typedef struct ERR_string_data_st
        {
index de96148..84dbd4a 100644 (file)
@@ -526,7 +526,7 @@ int PKCS7_dataFinal(PKCS7 *p7, BIO *bio)
                                BIO_get_md_ctx(btmp,&mdc);
                                if (mdc == NULL)
                                        {
-                                       PKCS7err(PKCS7_F_PKCS7_DATASIGN,PKCS7_R_INTERNAL_ERROR);
+                                       PKCS7err(PKCS7_F_PKCS7_DATASIGN,ERR_R_INTERNAL_ERROR);
                                        goto err;
                                        }
                                if (EVP_MD_CTX_type(mdc) == j)
@@ -709,7 +709,7 @@ int PKCS7_signatureVerify(BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si,
                if (mdc == NULL)
                        {
                        PKCS7err(PKCS7_F_PKCS7_SIGNATUREVERIFY,
-                                                       PKCS7_R_INTERNAL_ERROR);
+                                                       ERR_R_INTERNAL_ERROR);
                        goto err;
                        }
                if (EVP_MD_CTX_type(mdc) == md_type)
index bc16174..a075647 100644 (file)
@@ -408,7 +408,6 @@ int SMIME_text(BIO *in, BIO *out);
 #define PKCS7_R_DIGEST_FAILURE                          101
 #define PKCS7_R_ERROR_ADDING_RECIPIENT                  120
 #define PKCS7_R_ERROR_SETTING_CIPHER                    121
-#define PKCS7_R_INTERNAL_ERROR                          102
 #define PKCS7_R_INVALID_MIME_TYPE                       131
 #define PKCS7_R_INVALID_NULL_POINTER                    143
 #define PKCS7_R_MIME_NO_CONTENT_TYPE                    132
index b69759f..5e51527 100644 (file)
@@ -105,7 +105,6 @@ static ERR_STRING_DATA PKCS7_str_reasons[]=
 {PKCS7_R_DIGEST_FAILURE                  ,"digest failure"},
 {PKCS7_R_ERROR_ADDING_RECIPIENT          ,"error adding recipient"},
 {PKCS7_R_ERROR_SETTING_CIPHER            ,"error setting cipher"},
-{PKCS7_R_INTERNAL_ERROR                  ,"internal error"},
 {PKCS7_R_INVALID_MIME_TYPE               ,"invalid mime type"},
 {PKCS7_R_INVALID_NULL_POINTER            ,"invalid null pointer"},
 {PKCS7_R_MIME_NO_CONTENT_TYPE            ,"mime no content type"},
index b549628..6e1e296 100644 (file)
@@ -456,7 +456,7 @@ static int get_server_hello(SSL *s)
                if (s->session->peer != NULL) /* can't happen*/
                        {
                        ssl2_return_error(s, SSL2_PE_UNDEFINED_ERROR);
-                       SSLerr(SSL_F_GET_SERVER_HELLO, SSL_R_INTERNAL_ERROR);
+                       SSLerr(SSL_F_GET_SERVER_HELLO, ERR_R_INTERNAL_ERROR);
                        return(-1);
                        }
 
@@ -469,7 +469,7 @@ static int get_server_hello(SSL *s)
                /* can't happen */
                {
                ssl2_return_error(s, SSL2_PE_UNDEFINED_ERROR);
-               SSLerr(SSL_F_GET_SERVER_HELLO, SSL_R_INTERNAL_ERROR);
+               SSLerr(SSL_F_GET_SERVER_HELLO, ERR_R_INTERNAL_ERROR);
                return(-1);
                }
                
index 6212adf..625e1ae 100644 (file)
@@ -147,7 +147,7 @@ int ssl3_connect(SSL *s)
 
                        if ((s->version & 0xff00 ) != 0x0300)
                                {
-                               SSLerr(SSL_F_SSL3_CONNECT, SSL_R_INTERNAL_ERROR);
+                               SSLerr(SSL_F_SSL3_CONNECT, ERR_R_INTERNAL_ERROR);
                                ret = -1;
                                goto end;
                                }
@@ -965,7 +965,7 @@ static int ssl3_get_key_exchange(SSL *s)
                        pkey=X509_get_pubkey(s->session->sess_cert->peer_pkeys[SSL_PKEY_RSA_ENC].x509);
                else
                        {
-                       SSLerr(SSL_F_SSL3_GET_KEY_EXCHANGE,SSL_R_INTERNAL_ERROR);
+                       SSLerr(SSL_F_SSL3_GET_KEY_EXCHANGE,ERR_R_INTERNAL_ERROR);
                        goto err;
                        }
                s->session->sess_cert->peer_rsa_tmp=rsa;
@@ -1133,7 +1133,7 @@ static int ssl3_get_key_exchange(SSL *s)
                else
 #endif
                        {
-                       SSLerr(SSL_F_SSL3_GET_KEY_EXCHANGE,SSL_R_INTERNAL_ERROR);
+                       SSLerr(SSL_F_SSL3_GET_KEY_EXCHANGE,ERR_R_INTERNAL_ERROR);
                        goto err;
                        }
                }
@@ -1142,7 +1142,7 @@ static int ssl3_get_key_exchange(SSL *s)
                /* still data left over */
                if (!(alg & SSL_aNULL))
                        {
-                       SSLerr(SSL_F_SSL3_GET_KEY_EXCHANGE,SSL_R_INTERNAL_ERROR);
+                       SSLerr(SSL_F_SSL3_GET_KEY_EXCHANGE,ERR_R_INTERNAL_ERROR);
                        goto err;
                        }
                if (n != 0)
@@ -1380,7 +1380,7 @@ static int ssl3_send_client_key_exchange(SSL *s)
                                        (pkey->type != EVP_PKEY_RSA) ||
                                        (pkey->pkey.rsa == NULL))
                                        {
-                                       SSLerr(SSL_F_SSL3_SEND_CLIENT_KEY_EXCHANGE,SSL_R_INTERNAL_ERROR);
+                                       SSLerr(SSL_F_SSL3_SEND_CLIENT_KEY_EXCHANGE,ERR_R_INTERNAL_ERROR);
                                        goto err;
                                        }
                                rsa=pkey->pkey.rsa;
@@ -1549,7 +1549,7 @@ static int ssl3_send_client_key_exchange(SSL *s)
                else
                        {
                        ssl3_send_alert(s,SSL3_AL_FATAL,SSL_AD_HANDSHAKE_FAILURE);
-                       SSLerr(SSL_F_SSL3_SEND_CLIENT_KEY_EXCHANGE,SSL_R_INTERNAL_ERROR);
+                       SSLerr(SSL_F_SSL3_SEND_CLIENT_KEY_EXCHANGE,ERR_R_INTERNAL_ERROR);
                        goto err;
                        }
                
@@ -1624,7 +1624,7 @@ static int ssl3_send_client_verify(SSL *s)
                else
 #endif
                        {
-                       SSLerr(SSL_F_SSL3_SEND_CLIENT_VERIFY,SSL_R_INTERNAL_ERROR);
+                       SSLerr(SSL_F_SSL3_SEND_CLIENT_VERIFY,ERR_R_INTERNAL_ERROR);
                        goto err;
                        }
                *(d++)=SSL3_MT_CERTIFICATE_VERIFY;
@@ -1734,7 +1734,7 @@ static int ssl3_check_cert_and_algorithm(SSL *s)
 
        if (sc == NULL)
                {
-               SSLerr(SSL_F_SSL3_CHECK_CERT_AND_ALGORITHM,SSL_R_INTERNAL_ERROR);
+               SSLerr(SSL_F_SSL3_CHECK_CERT_AND_ALGORITHM,ERR_R_INTERNAL_ERROR);
                goto err;
                }
 
index 012a4b8..ad367c0 100644 (file)
@@ -234,7 +234,7 @@ int ssl3_change_cipher_state(SSL *s, int which)
 
        if (n > s->s3->tmp.key_block_length)
                {
-               SSLerr(SSL_F_SSL3_CHANGE_CIPHER_STATE,SSL_R_INTERNAL_ERROR);
+               SSLerr(SSL_F_SSL3_CHANGE_CIPHER_STATE,ERR_R_INTERNAL_ERROR);
                goto err2;
                }
 
index a128d61..8166fc1 100644 (file)
@@ -170,7 +170,7 @@ static int ssl3_read_n(SSL *s, int n, int max, int extend)
        }
        if (n > max) /* does not happen */
                {
-               SSLerr(SSL_F_SSL3_READ_N,SSL_R_INTERNAL_ERROR);
+               SSLerr(SSL_F_SSL3_READ_N,ERR_R_INTERNAL_ERROR);
                return -1;
                }
 
@@ -718,7 +718,7 @@ int ssl3_read_bytes(SSL *s, int type, unsigned char *buf, int len, int peek)
        if ((type && (type != SSL3_RT_APPLICATION_DATA) && (type != SSL3_RT_HANDSHAKE) && type) ||
            (peek && (type != SSL3_RT_APPLICATION_DATA)))
                {
-               SSLerr(SSL_F_SSL3_READ_BYTES, SSL_R_INTERNAL_ERROR);
+               SSLerr(SSL_F_SSL3_READ_BYTES, ERR_R_INTERNAL_ERROR);
                return -1;
                }
 
@@ -1069,7 +1069,7 @@ start:
                 * of SSL3_RT_HANDSHAKE when s->in_handshake is set, but that
                 * should not happen when type != rr->type */
                al=SSL_AD_UNEXPECTED_MESSAGE;
-               SSLerr(SSL_F_SSL3_READ_BYTES,SSL_R_INTERNAL_ERROR);
+               SSLerr(SSL_F_SSL3_READ_BYTES,ERR_R_INTERNAL_ERROR);
                goto f_err;
        case SSL3_RT_APPLICATION_DATA:
                /* At this point, we were expecting handshake data,
index 0a46e4a..dce89bf 100644 (file)
@@ -158,7 +158,7 @@ int ssl3_accept(SSL *s)
 
                        if ((s->version>>8) != 3)
                                {
-                               SSLerr(SSL_F_SSL3_ACCEPT, SSL_R_INTERNAL_ERROR);
+                               SSLerr(SSL_F_SSL3_ACCEPT, ERR_R_INTERNAL_ERROR);
                                return -1;
                                }
                        s->type=SSL_ST_ACCEPT;
@@ -1005,7 +1005,7 @@ static int ssl3_send_server_key_exchange(SSL *s)
                        if (s->s3->tmp.dh != NULL)
                                {
                                DH_free(dh);
-                               SSLerr(SSL_F_SSL3_SEND_SERVER_KEY_EXCHANGE, SSL_R_INTERNAL_ERROR);
+                               SSLerr(SSL_F_SSL3_SEND_SERVER_KEY_EXCHANGE, ERR_R_INTERNAL_ERROR);
                                goto err;
                                }
 
@@ -1612,7 +1612,7 @@ static int ssl3_get_cert_verify(SSL *s)
        else
 #endif
                {
-               SSLerr(SSL_F_SSL3_GET_CERT_VERIFY,SSL_R_INTERNAL_ERROR);
+               SSLerr(SSL_F_SSL3_GET_CERT_VERIFY,ERR_R_INTERNAL_ERROR);
                al=SSL_AD_UNSUPPORTED_CERTIFICATE;
                goto f_err;
                }
@@ -1802,7 +1802,7 @@ int ssl3_send_server_certificate(SSL *s)
                                 & (SSL_MKEY_MASK|SSL_AUTH_MASK))
                         != (SSL_aKRB5|SSL_kKRB5))
                        {
-                       SSLerr(SSL_F_SSL3_SEND_SERVER_CERTIFICATE,SSL_R_INTERNAL_ERROR);
+                       SSLerr(SSL_F_SSL3_SEND_SERVER_CERTIFICATE,ERR_R_INTERNAL_ERROR);
                        return(0);
                        }
 
index d16b16c..0483b63 100644 (file)
--- a/ssl/ssl.h
+++ b/ssl/ssl.h
@@ -1452,7 +1452,6 @@ int SSL_COMP_add_compression_method(int id,char *cm);
 #define SSL_R_GOT_A_FIN_BEFORE_A_CCS                    154
 #define SSL_R_HTTPS_PROXY_REQUEST                       155
 #define SSL_R_HTTP_REQUEST                              156
-#define SSL_R_INTERNAL_ERROR                            157
 #define SSL_R_INVALID_CHALLENGE_LENGTH                  158
 #define SSL_R_INVALID_COMMAND                           280
 #define SSL_R_INVALID_PURPOSE                           278
index 82b1b80..3042033 100644 (file)
@@ -267,7 +267,6 @@ static ERR_STRING_DATA SSL_str_reasons[]=
 {SSL_R_GOT_A_FIN_BEFORE_A_CCS            ,"got a fin before a ccs"},
 {SSL_R_HTTPS_PROXY_REQUEST               ,"https proxy request"},
 {SSL_R_HTTP_REQUEST                      ,"http request"},
-{SSL_R_INTERNAL_ERROR                    ,"internal error"},
 {SSL_R_INVALID_CHALLENGE_LENGTH          ,"invalid challenge length"},
 {SSL_R_INVALID_COMMAND                   ,"invalid command"},
 {SSL_R_INVALID_PURPOSE                   ,"invalid purpose"},
index 75816e7..1edb279 100644 (file)
@@ -105,7 +105,7 @@ int SSL_clear(SSL *s)
 #else
        if (s->new_session)
                {
-               SSLerr(SSL_F_SSL_CLEAR,SSL_R_INTERNAL_ERROR);
+               SSLerr(SSL_F_SSL_CLEAR,ERR_R_INTERNAL_ERROR);
                return 0;
                }
 #endif
@@ -1494,7 +1494,7 @@ X509 *ssl_get_server_send_cert(SSL *s)
                }
        else /* if (kalg & SSL_aNULL) */
                {
-               SSLerr(SSL_F_SSL_GET_SERVER_SEND_CERT,SSL_R_INTERNAL_ERROR);
+               SSLerr(SSL_F_SSL_GET_SERVER_SEND_CERT,ERR_R_INTERNAL_ERROR);
                return(NULL);
                }
        if (c->pkeys[i].x509 == NULL) return(NULL);
@@ -1523,7 +1523,7 @@ EVP_PKEY *ssl_get_sign_pkey(SSL *s,SSL_CIPHER *cipher)
                }
        else /* if (alg & SSL_aNULL) */
                {
-               SSLerr(SSL_F_SSL_GET_SIGN_PKEY,SSL_R_INTERNAL_ERROR);
+               SSLerr(SSL_F_SSL_GET_SIGN_PKEY,ERR_R_INTERNAL_ERROR);
                return(NULL);
                }
        }
index ae33bda..26496d7 100644 (file)
@@ -290,7 +290,7 @@ int tls1_change_cipher_state(SSL *s, int which)
 
        if (n > s->s3->tmp.key_block_length)
                {
-               SSLerr(SSL_F_TLS1_CHANGE_CIPHER_STATE,SSL_R_INTERNAL_ERROR);
+               SSLerr(SSL_F_TLS1_CHANGE_CIPHER_STATE,ERR_R_INTERNAL_ERROR);
                goto err2;
                }