Keep EtM state across renegotiations
diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index 8c981cf..b608e5c 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -3248,6 +3248,12 @@
 
     if( ssl->session )
     {
+#if defined(POLARSSL_SSL_ENCRYPT_THEN_MAC)
+        /* RFC 7366 3.1: keep the EtM state */
+        ssl->session_negotiate->encrypt_then_mac =
+                  ssl->session->encrypt_then_mac;
+#endif
+
         ssl_session_free( ssl->session );
         polarssl_free( ssl->session );
     }