summaryrefslogtreecommitdiffstats
path: root/ssl/t1_lib.c
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2009-09-04 17:53:30 +0000
committerDr. Stephen Henson <steve@openssl.org>2009-09-04 17:53:30 +0000
commit197ab47bdd7e9d5b897091132dd6c05b0a06360a (patch)
treebef5a81642a3b6d66ffc010d9e2d1b3460970467 /ssl/t1_lib.c
parente8cce0babef182f70944a74025a8ec4f9a7b2167 (diff)
PR: 2028
Submitted by: Robin Seggelmann <seggelmann@fh-muenster.de> Approved by: steve@openssl.org Fix DTLS cookie management bugs.
Diffstat (limited to 'ssl/t1_lib.c')
-rw-r--r--ssl/t1_lib.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c
index c813729f33..2fc5176dcf 100644
--- a/ssl/t1_lib.c
+++ b/ssl/t1_lib.c
@@ -753,6 +753,14 @@ int tls1_process_ticket(SSL *s, unsigned char *session_id, int len,
return 1;
if (p >= limit)
return -1;
+ /* Skip past DTLS cookie */
+ if (s->version == DTLS1_VERSION || s->version == DTLS1_BAD_VER)
+ {
+ i = *(p++);
+ p+= i;
+ if (p >= limit)
+ return -1;
+ }
/* Skip past cipher list */
n2s(p, i);
p+= i;