summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2001-03-30 15:31:42 +0000
committerRichard Levitte <levitte@openssl.org>2001-03-30 15:31:42 +0000
commitac0d075faa44539f69a8ab7c9e9a00ca0a36f096 (patch)
treefb6e55d315883679f3e1f981f9238c203b8ef010
parent53195ba2151ce6298a6ae33890412e463af4c7e1 (diff)
Merge in the latest fixes from 0.9.6a-beta3.
These changes will be part of OpenSSL 0.9.6a beta3 [engine]
-rw-r--r--CHANGES6
-rw-r--r--apps/s_server.c5
-rw-r--r--crypto/asn1/asn1_lib.c2
3 files changed, 9 insertions, 4 deletions
diff --git a/CHANGES b/CHANGES
index 13c729abb3..288d067f87 100644
--- 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]
diff --git a/apps/s_server.c b/apps/s_server.c
index eb275e2b6d..46bf076833 100644
--- a/apps/s_server.c
+++ b/apps/s_server.c
@@ -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 */
diff --git a/crypto/asn1/asn1_lib.c b/crypto/asn1/asn1_lib.c
index 77447a5240..a8b651e54e 100644
--- a/crypto/asn1/asn1_lib.c
+++ b/crypto/asn1/asn1_lib.c
@@ -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);
}