gnutls-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] GNU gnutls branch, master, updated. gnutls_3_0_13-59-g2a1d17b


From: Nikos Mavrogiannopoulos
Subject: [SCM] GNU gnutls branch, master, updated. gnutls_3_0_13-59-g2a1d17b
Date: Sun, 26 Feb 2012 11:20:05 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU gnutls".

http://git.savannah.gnu.org/cgit/gnutls.git/commit/?id=2a1d17bd9f742005d92a7ae0277b29576b57ff07

The branch, master has been updated
       via  2a1d17bd9f742005d92a7ae0277b29576b57ff07 (commit)
      from  194abfaa5869b19d737df5e0c640056fad9384ec (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 2a1d17bd9f742005d92a7ae0277b29576b57ff07
Author: Nikos Mavrogiannopoulos <address@hidden>
Date:   Sun Feb 26 12:25:16 2012 +0100

    If a client hello is received immediately after a completed handshake 
delete the async_timer to rehandshake.

-----------------------------------------------------------------------

Summary of changes:
 lib/gnutls_record.c |   19 ++++++++++++++-----
 1 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/lib/gnutls_record.c b/lib/gnutls_record.c
index 8bf608b..216737c 100644
--- a/lib/gnutls_record.c
+++ b/lib/gnutls_record.c
@@ -690,13 +690,22 @@ record_add_to_buffers (gnutls_session_t session,
                 
               if (_dtls_is_async(session) && _dtls_async_timer_active(session))
                 {
-                  ret = _dtls_retransmit(session);
-                  if (ret == 0) 
+                  if (session->security_parameters.entity == GNUTLS_SERVER &&
+                      bufel->htype == GNUTLS_HANDSHAKE_CLIENT_HELLO)
                     {
-                      ret = gnutls_assert_val(GNUTLS_E_AGAIN);
-                      goto unexpected_packet;
+                      /* client requested rehandshake. Delete the timer */
+                      _dtls_async_timer_delete(session);
+                    }
+                  else
+                    {
+                      ret = _dtls_retransmit(session);
+                      if (ret == 0) 
+                        {
+                          ret = gnutls_assert_val(GNUTLS_E_AGAIN);
+                          goto unexpected_packet;
+                        }
+                      goto cleanup;
                     }
-                  goto cleanup;
                 }
             }
 


hooks/post-receive
-- 
GNU gnutls



reply via email to

[Prev in Thread] Current Thread [Next in Thread]