diff options
author | Richard Levitte <levitte@openssl.org> | 2001-03-30 15:31:42 +0000 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2001-03-30 15:31:42 +0000 |
commit | ac0d075faa44539f69a8ab7c9e9a00ca0a36f096 (patch) | |
tree | fb6e55d315883679f3e1f981f9238c203b8ef010 | |
parent | 53195ba2151ce6298a6ae33890412e463af4c7e1 (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-- | CHANGES | 6 | ||||
-rw-r--r-- | apps/s_server.c | 5 | ||||
-rw-r--r-- | crypto/asn1/asn1_lib.c | 2 |
3 files changed, 9 insertions, 4 deletions
@@ -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); } |