diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2011-02-19 16:57:44 +0100 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2011-02-19 19:08:35 +0100 |
commit | 089391da55d232908b9cdbba7f27b0ccfea26cca (patch) | |
tree | dbbdf207f712fb4c3b8975944ccea36c4f08bc35 /lib/gnutls_constate.c | |
parent | b5c0c987913d93e0bb8414c4f48242ee8f350382 (diff) | |
download | gnutls-089391da55d232908b9cdbba7f27b0ccfea26cca.tar.gz |
Changes to allow DTLS server side to operate. Added a simple UDP server on gnutls-serv.
Server other cleanups.
Diffstat (limited to 'lib/gnutls_constate.c')
-rw-r--r-- | lib/gnutls_constate.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/lib/gnutls_constate.c b/lib/gnutls_constate.c index aadb110d66..9e25d32fde 100644 --- a/lib/gnutls_constate.c +++ b/lib/gnutls_constate.c @@ -677,6 +677,7 @@ epoch_get_slot (gnutls_session_t session, uint16_t epoch) if (epoch_index >= MAX_EPOCH_INDEX) { + _gnutls_dtls_log("Epoch %d out of range (idx: %d, max: %d)\n", (int)epoch, (int)epoch_index, MAX_EPOCH_INDEX); gnutls_assert (); return NULL; } @@ -746,9 +747,19 @@ epoch_alive (gnutls_session_t session, record_parameters_st * params) const security_parameters_st *sp = &session->security_parameters; /* DTLS will, in addition, need to check the epoch timeout value. */ - return (params->epoch == sp->epoch_read - || params->epoch == sp->epoch_write - || params->epoch == sp->epoch_next); + if (params->usage_cnt > 0) + return 1; + + if (params->epoch == sp->epoch_read) + return 1; + + if (params->epoch == sp->epoch_write) + return 1; + + if (params->epoch == sp->epoch_next) + return 1; + + return 0; } void |