From 5872a241f811d23e43aab43273a38f3cfa293678 Mon Sep 17 00:00:00 2001
From: ROOL <code@riscosopen.org>
Date: Thu, 15 Nov 2018 08:45:59 +0000
Subject: [PATCH] Ack escapes for receive/send too

Detail:
  Previously only receive with timeout cleared an Escape condition.
Admin:
  Submission for TCP/IP bounty.

Version 2.08. Tagged as 'mbedTLS-2_08'
---
 VersionNum    | 22 +++++++++++-----------
 c/net_sockets |  4 ++++
 2 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/VersionNum b/VersionNum
index 82e2ac9..563b76d 100644
--- a/VersionNum
+++ b/VersionNum
@@ -1,23 +1,23 @@
-/* (2.07)
+/* (2.08)
  *
  * This file is automatically maintained by srccommit, do not edit manually.
  * Last processed by srccommit version: 1.1.
  *
  */
-#define Module_MajorVersion_CMHG        2.07
+#define Module_MajorVersion_CMHG        2.08
 #define Module_MinorVersion_CMHG        
-#define Module_Date_CMHG                22 Sep 2018
+#define Module_Date_CMHG                15 Nov 2018
 
-#define Module_MajorVersion             "2.07"
-#define Module_Version                  207
+#define Module_MajorVersion             "2.08"
+#define Module_Version                  208
 #define Module_MinorVersion             ""
-#define Module_Date                     "22 Sep 2018"
+#define Module_Date                     "15 Nov 2018"
 
-#define Module_ApplicationDate          "22-Sep-18"
+#define Module_ApplicationDate          "15-Nov-18"
 
 #define Module_ComponentName            "mbedTLS"
-#define Module_ComponentPath            "mixed/RiscOS/Sources/Lib/mbedTLS"
+#define Module_ComponentPath            "apache/RiscOS/Sources/Lib/mbedTLS"
 
-#define Module_FullVersion              "2.07"
-#define Module_HelpVersion              "2.07 (22 Sep 2018)"
-#define Module_LibraryVersionInfo       "2:7"
+#define Module_FullVersion              "2.08"
+#define Module_HelpVersion              "2.08 (15 Nov 2018)"
+#define Module_LibraryVersionInfo       "2:8"
diff --git a/c/net_sockets b/c/net_sockets
index 9398555..5521206 100644
--- a/c/net_sockets
+++ b/c/net_sockets
@@ -469,6 +469,8 @@ int mbedtls_net_recv(void *ctx, unsigned char *buf, size_t len)
 
 		if (errno == EINTR)
 		{
+			/* Escape */
+			_swix(OS_Byte, _IN(0), OsByte_AcknowledgeEscape); 
 			return MBEDTLS_ERR_SSL_WANT_READ;
 		}
 
@@ -553,6 +555,8 @@ int mbedtls_net_send(void *ctx, const unsigned char *buf, size_t len)
 
 		if (errno == EINTR)
 		{
+			/* Escape */
+			_swix(OS_Byte, _IN(0), OsByte_AcknowledgeEscape); 
 			return MBEDTLS_ERR_SSL_WANT_WRITE;
 		}
 
-- 
GitLab