Merge in the latest fixes from 0.9.6a-beta3.
authorRichard Levitte <levitte@openssl.org>
Fri, 30 Mar 2001 15:31:42 +0000 (15:31 +0000)
committerRichard Levitte <levitte@openssl.org>
Fri, 30 Mar 2001 15:31:42 +0000 (15:31 +0000)
These changes will be part of OpenSSL 0.9.6a beta3 [engine]

CHANGES
apps/s_server.c
crypto/asn1/asn1_lib.c

diff --git a/CHANGES b/CHANGES
index 13c729abb30eec264e39a44f00d323ed51cb5062..288d067f8713675e085e3842950c383bfef2b908 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -4,6 +4,12 @@
 
  Changes between 0.9.6 and 0.9.6a  [xx XXX 2001]
 
+  *) Fix for asn1_GetSequence() for indefinite length constructed data.
+     If SEQUENCE is length is indefinite just set c->slen to the total
+     amount of data available.
+     [Steve Henson, reported by shige@FreeBSD.org]
+     [This change does not apply to 0.9.7.]
+
   *) Change bctest to avoid here-documents inside command substitution
      (workaround for FreeBSD /bin/sh bug).
      [Bodo Moeller]
index eb275e2b6dd384bc0b809bcbdc58d0ff9435dde0..46bf0768331a72049be81b3d1dd1a96f2c06dd15 100644 (file)
@@ -1395,9 +1395,6 @@ static int www_body(char *hostname, int s, unsigned char *context)
 
                                switch (dot)
                                        {
-                               case 0:
-                                       dot = (e[0] == '/') ? 1 : 0;
-                                       break;
                                case 1:
                                        dot = (e[0] == '.') ? 2 : 0;
                                        break;
@@ -1408,6 +1405,8 @@ static int www_body(char *hostname, int s, unsigned char *context)
                                        dot = (e[0] == '/') ? -1 : 0;
                                        break;
                                        }
+                               if (dot == 0)
+                                       dot = (e[0] == '/') ? 1 : 0;
                                }
                        dot = (dot == 3) || (dot == -1); /* filename contains ".." component */
 
index 77447a5240959387c9a7dd634e5519a8b171798f..a8b651e54e7c0d18ecaefd24e7fee4d4fcb70f12 100644 (file)
@@ -301,7 +301,7 @@ int asn1_GetSequence(ASN1_CTX *c, long *length)
                return(0);
                }
        if (c->inf == (1|V_ASN1_CONSTRUCTED))
-               c->slen= *length+ *(c->pp)-c->p;
+               c->slen= *length;
        c->eos=0;
        return(1);
        }