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_2_9_10-338-g2a539ad


From: Nikos Mavrogiannopoulos
Subject: [SCM] GNU gnutls branch, master, updated. gnutls_2_9_10-338-g2a539ad
Date: Tue, 17 Aug 2010 17:15:28 +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=2a539ad961affeffee32cb6148f421c8e66ab693

The branch, master has been updated
       via  2a539ad961affeffee32cb6148f421c8e66ab693 (commit)
       via  98e0e3c400366ad8b4ba835b48f89e4e45c06acd (commit)
      from  9381debafa9ad51a55cf52a932022eaf3a97a522 (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 2a539ad961affeffee32cb6148f421c8e66ab693
Author: Sjoerd Simons <address@hidden>
Date:   Wed Aug 11 13:48:26 2010 +0100

    Check whether the error is fatal in more cases
    
    When stressing the async API of gnutls a lot of internal errors are hit as
    IMED_RET clears the handshake hash buffers as a result of -EAGAIN even 
though
    it would never be re-initialized at that point, but is still needed in later
    stages.
    
    Signed-off-by: Nikos Mavrogiannopoulos <address@hidden>

commit 98e0e3c400366ad8b4ba835b48f89e4e45c06acd
Author: Sjoerd Simons <address@hidden>
Date:   Wed Aug 11 11:06:43 2010 +0100

    Add state for flushing the handshake buffer
    
    A seperate state is needed between flushing the handshake buffers and 
sending
    the chipher spec change otherwise it's impossible to determine whether
    _gnutls_send_change_cipher_spec is called for the first time or again.
    
    Signed-off-by: Nikos Mavrogiannopoulos <address@hidden>

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

Summary of changes:
 lib/gnutls_handshake.c |   22 ++++++++++++----------
 lib/gnutls_int.h       |    2 +-
 2 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/lib/gnutls_handshake.c b/lib/gnutls_handshake.c
index 780d573..c0b2c64 100644
--- a/lib/gnutls_handshake.c
+++ b/lib/gnutls_handshake.c
@@ -2670,7 +2670,7 @@ _gnutls_handshake_client (gnutls_session_t session)
     case STATE1:
       ret = _gnutls_send_hello (session, AGAIN (STATE1));
       STATE = STATE1;
-      IMED_RET ("send hello", ret, 0);
+      IMED_RET ("send hello", ret, 1);
 
     case STATE2:
       /* receive the server hello */
@@ -2750,7 +2750,7 @@ _gnutls_handshake_client (gnutls_session_t session)
        ret =
          _gnutls_send_client_certificate_verify (session, AGAIN (STATE9));
       STATE = STATE9;
-      IMED_RET ("send client certificate verify", ret, 0);
+      IMED_RET ("send client certificate verify", ret, 1);
 
       STATE = STATE0;
     default:
@@ -2785,7 +2785,9 @@ _gnutls_send_handshake_final (gnutls_session_t session, 
int init)
           return ret;
         }
 
-      ret = _gnutls_send_change_cipher_spec (session, AGAIN2 (oldstate, 
STATE20));
+    case STATE21:
+      ret = _gnutls_send_change_cipher_spec (session, AGAIN (STATE21));
+      STATE = STATE21;
 
       if (ret < 0)
        {
@@ -2812,10 +2814,10 @@ _gnutls_send_handshake_final (gnutls_session_t session, 
int init)
          return ret;
        }
 
-    case STATE21:
+    case STATE22:
       /* send the finished message */
-      ret = _gnutls_send_finished (session, AGAIN (STATE21));
-      STATE = STATE21;
+      ret = _gnutls_send_finished (session, AGAIN (STATE22));
+      STATE = STATE22;
       if (ret < 0)
        {
          ERR ("send Finished", ret);
@@ -2913,7 +2915,7 @@ _gnutls_handshake_server (gnutls_session_t session)
     case STATE2:
       ret = _gnutls_send_hello (session, AGAIN (STATE2));
       STATE = STATE2;
-      IMED_RET ("send hello", ret, 0);
+      IMED_RET ("send hello", ret, 1);
 
     case STATE70:
       if (session->security_parameters.do_send_supplemental)
@@ -2955,7 +2957,7 @@ _gnutls_handshake_server (gnutls_session_t session)
                                        GNUTLS_HANDSHAKE_SERVER_HELLO_DONE,
                                        AGAIN (STATE6));
       STATE = STATE6;
-      IMED_RET ("send server hello done", ret, 0);
+      IMED_RET ("send server hello done", ret, 1);
 
     case STATE71:
       if (session->security_parameters.do_recv_supplemental)
@@ -3026,7 +3028,7 @@ _gnutls_handshake_common (gnutls_session_t session)
 #endif
 
       ret = _gnutls_send_handshake_final (session, FALSE);
-      IMED_RET ("send handshake final", ret, 0);
+      IMED_RET ("send handshake final", ret, 1);
 
       /* only store if we are not resuming */
       if (session->security_parameters.entity == GNUTLS_SERVER)
@@ -3039,7 +3041,7 @@ _gnutls_handshake_common (gnutls_session_t session)
     {                          /* if we are a client not resuming - or we are 
a server resuming */
 
       ret = _gnutls_send_handshake_final (session, TRUE);
-      IMED_RET ("send handshake final 2", ret, 0);
+      IMED_RET ("send handshake final 2", ret, 1);
 
 #ifdef ENABLE_SESSION_TICKET
       switch (STATE)
diff --git a/lib/gnutls_int.h b/lib/gnutls_int.h
index a7e3287..ef38fb7 100644
--- a/lib/gnutls_int.h
+++ b/lib/gnutls_int.h
@@ -153,7 +153,7 @@ typedef enum change_cipher_spec_t
 typedef enum handshake_state_t
 { STATE0 = 0, STATE1, STATE2,
   STATE3, STATE4, STATE5,
-  STATE6, STATE7, STATE8, STATE9, STATE20 = 20, STATE21,
+  STATE6, STATE7, STATE8, STATE9, STATE20 = 20, STATE21, STATE22,
   STATE30 = 30, STATE31, STATE40 = 40, STATE41, STATE50 = 50,
   STATE60 = 60, STATE61, STATE62, STATE70, STATE71
 } handshake_state_t;


hooks/post-receive
-- 
GNU gnutls



reply via email to

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