[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SCM] GNU gnutls branch, master, updated. gnutls_2_9_10-338-g2a539ad,
Nikos Mavrogiannopoulos <=