diff options
Diffstat (limited to 'src/lib/libssl/d1_lib.c')
| -rw-r--r-- | src/lib/libssl/d1_lib.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/lib/libssl/d1_lib.c b/src/lib/libssl/d1_lib.c index 48e8b6ffbb..c3b77c889b 100644 --- a/src/lib/libssl/d1_lib.c +++ b/src/lib/libssl/d1_lib.c | |||
| @@ -204,7 +204,8 @@ void dtls1_clear(SSL *s) | |||
| 204 | pqueue buffered_messages; | 204 | pqueue buffered_messages; |
| 205 | pqueue sent_messages; | 205 | pqueue sent_messages; |
| 206 | pqueue buffered_app_data; | 206 | pqueue buffered_app_data; |
| 207 | 207 | unsigned int mtu; | |
| 208 | |||
| 208 | if (s->d1) | 209 | if (s->d1) |
| 209 | { | 210 | { |
| 210 | unprocessed_rcds = s->d1->unprocessed_rcds.q; | 211 | unprocessed_rcds = s->d1->unprocessed_rcds.q; |
| @@ -212,6 +213,7 @@ void dtls1_clear(SSL *s) | |||
| 212 | buffered_messages = s->d1->buffered_messages; | 213 | buffered_messages = s->d1->buffered_messages; |
| 213 | sent_messages = s->d1->sent_messages; | 214 | sent_messages = s->d1->sent_messages; |
| 214 | buffered_app_data = s->d1->buffered_app_data.q; | 215 | buffered_app_data = s->d1->buffered_app_data.q; |
| 216 | mtu = s->d1->mtu; | ||
| 215 | 217 | ||
| 216 | dtls1_clear_queues(s); | 218 | dtls1_clear_queues(s); |
| 217 | 219 | ||
| @@ -222,6 +224,11 @@ void dtls1_clear(SSL *s) | |||
| 222 | s->d1->cookie_len = sizeof(s->d1->cookie); | 224 | s->d1->cookie_len = sizeof(s->d1->cookie); |
| 223 | } | 225 | } |
| 224 | 226 | ||
| 227 | if (SSL_get_options(s) & SSL_OP_NO_QUERY_MTU) | ||
| 228 | { | ||
| 229 | s->d1->mtu = mtu; | ||
| 230 | } | ||
| 231 | |||
| 225 | s->d1->unprocessed_rcds.q = unprocessed_rcds; | 232 | s->d1->unprocessed_rcds.q = unprocessed_rcds; |
| 226 | s->d1->processed_rcds.q = processed_rcds; | 233 | s->d1->processed_rcds.q = processed_rcds; |
| 227 | s->d1->buffered_messages = buffered_messages; | 234 | s->d1->buffered_messages = buffered_messages; |
