Fix issue with renego & resend
diff --git a/include/polarssl/ssl.h b/include/polarssl/ssl.h
index f0b1ec1..de517d6 100644
--- a/include/polarssl/ssl.h
+++ b/include/polarssl/ssl.h
@@ -248,6 +248,13 @@
 
 /*
  * DTLS retransmission states, see RFC 6347 4.2.4
+ *
+ * Warning: the state is sometimes explicit sometimes implicit!
+ * - PREPARING is explicit (but could be implicit from ssl->state)
+ * - SENDING is merged in PREPARING for initial sends, explicit for resends
+ * - WAITING is usually implicit from ssl->state, except after resend
+ * - FINISHED is explicit (but could be implicit from state)
+ * TODO-DTLS: clean that up
  */
 #define SSL_RETRANS_PREPARING       0
 #define SSL_RETRANS_SENDING         1
diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index 04c199e..333e58e 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -2206,7 +2206,10 @@
         }
     }
 
-    ssl->handshake->retransmit_state = SSL_RETRANS_WAITING;
+    if( ssl->state == SSL_HANDSHAKE_OVER )
+        ssl->handshake->retransmit_state = SSL_RETRANS_FINISHED;
+    else
+        ssl->handshake->retransmit_state = SSL_RETRANS_WAITING;
 
     SSL_DEBUG_MSG( 2, ( "<= ssl_resend" ) );