Example TLS client with wolfSSL

Dependencies:   EthernetInterface-FRDM-k64F mbed-rtos mbed wolfSSL-TLS13-Beta Example-client-tls

Dependents:   Example-client-tls

Revision:
10:37e38ee43b8f
Parent:
9:0b93e8d9a31c
Parent:
6:12068e6dc456
--- a/client-tls.cpp	Tue Aug 22 10:59:36 2017 +0000
+++ b/client-tls.cpp	Tue Aug 22 11:02:42 2017 +0000
@@ -43,7 +43,7 @@
 static int getline(char *prompt, char *buff, int size)
 {
     int sz ;
-    
+
     printf("%s", prompt) ;
     for(sz = 0 ;  (sz < size) && ((*buff = getchar()) != '\r'); sz++, buff++) {
         putchar(*buff) ;
@@ -84,7 +84,7 @@
 /*
  *  clients initial contact with server. Socket to connect to: sock
  */
- int ClientGreet(TCPSocketConnection *socket, WOLFSSL *ssl)
+int ClientGreet(TCPSocketConnection *socket, WOLFSSL *ssl)
 {
     /* data to send to the server, data recieved from the server */
     char    sendBuff[MAXDATASIZE], rcvBuff[MAXDATASIZE] = {0};
@@ -98,21 +98,16 @@
         printf("Write error[%d]\n", ret, wc_GetErrorString(ret));
         return EXIT_FAILURE;
     }
-    printf("Recieved:\n");
-    while(1) {
-        if ((ret = wolfSSL_read(ssl, rcvBuff, sizeof(rcvBuff)-1)) < 0) {
-            if(ret == 0)break ;
-            /* the server failed to send data, or error trying */
-            ret = wolfSSL_get_error(ssl, 0);
-            printf("Read error[%d], %s\n", ret, wc_GetErrorString(ret));
-            return EXIT_FAILURE;
-        }
-        rcvBuff[ret] = '\0' ;
-        printf("%s", rcvBuff);
-        if((rcvBuff[ret-3] == '\n')&&
-           (rcvBuff[ret-2] == '\n')&&
-           (rcvBuff[ret-1] == '\n'))break ;
+
+    if ((ret = wolfSSL_read(ssl, rcvBuff, sizeof(rcvBuff)-1)) < 0) {
+        /* the server failed to send data, or error trying */
+        ret = wolfSSL_get_error(ssl, 0);
+        printf("Read error[%d], %s\n", ret, wc_GetErrorString(ret));
+        return EXIT_FAILURE;
     }
+    rcvBuff[ret] = '\0' ; 
+    printf("Recieved: %s\n", rcvBuff);
+
     return ret;
 }
 
@@ -154,7 +149,7 @@
     } else {
         ret = wolfSSL_get_error(ssl, 0);
         printf("TLS Connect error[%d], %s\n", ret, wc_GetErrorString(ret));
-        return EXIT_FAILURE;        
+        return EXIT_FAILURE;
     }
     /* frees all data before client termination */
     wolfSSL_free(ssl);
@@ -171,7 +166,7 @@
 {
     char server_addr[40] ;
     char server_port[10] ;
-    
+
     printf("Starting TLS Client,...\n") ;
     wolfSSL_Init();      /* initialize wolfSSL */
     /* wolfSSL_Debugging_ON(); */
@@ -187,7 +182,7 @@
 
     getline("Server Addr: ", server_addr, sizeof(server_addr)) ;
     getline("Server Port: ", server_port, sizeof(server_port)) ;
-    
+
     while (socket.connect(server_addr, atoi(server_port)) < 0) {
         printf("Unable to connect to (%s) on port (%s)\n", server_addr, server_port);
         wait(1.0);