Add DSA library string. Workaround for IIS .key file invalid
authorDr. Stephen Henson <steve@openssl.org>
Wed, 24 May 2000 13:09:59 +0000 (13:09 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Wed, 24 May 2000 13:09:59 +0000 (13:09 +0000)
ASN1 encoding.

CHANGES
crypto/asn1/n_pkey.c
crypto/err/err.c

diff --git a/CHANGES b/CHANGES
index b1b2850..bc4f221 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -4,6 +4,10 @@
 
  Changes between 0.9.5a and 0.9.6  [xx XXX 2000]
 
+  *) Add missing DSA library text string. Work around for some IIS
+     key files with invalid SEQUENCE encoding.
+     [Steve Henson]
+
   *) Add a document (doc/standards.txt) that list all kinds of standards
      and so on that are implemented in OpenSSL.
      [Richard Levitte]
index d804986..5a7d494 100644 (file)
@@ -211,7 +211,11 @@ RSA *d2i_Netscape_RSA(RSA **a, unsigned char **pp, long length, int (*cb)())
        M_ASN1_BIT_STRING_free(os);
        c.q=c.p;
        if ((ret=d2i_Netscape_RSA_2(a,&c.p,c.slen,cb)) == NULL) goto err;
-       c.slen-=(c.p-c.q);
+       /* Note: some versions of IIS key files use length values that are
+        * too small for the surrounding SEQUENCEs. This following line
+        * effectively disable length checking.
+        */
+       c.slen = 0;
 
        M_ASN1_D2I_Finish(a,RSA_free,ASN1_F_D2I_NETSCAPE_RSA);
        }
index 0944cc2..b0ee24c 100644 (file)
@@ -137,6 +137,7 @@ 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"},