Fix polarssl

Change-Id: I4b461ce72f7e828c689f1190dec78bea40f60d50
diff --git a/mbtk/Make.defines b/mbtk/Make.defines
index bb6556a..0b5f1fe 100755
--- a/mbtk/Make.defines
+++ b/mbtk/Make.defines
@@ -56,6 +56,10 @@
 	-UDEBUG \

 	-D_FORTIFY_SOURCE=2 \

 	-D_GNU_SOURCE

+	

+ifeq ($(BUILD_PLATFORM), gcc-4.9)

+DEFINE += -DMBTK_POLARSSL_SUPPORT

+endif

 

 LIB_DIR = \

 	-L$(OUT_DIR)/lib

diff --git a/mbtk/include/mbtk/mbtk_sock2.h b/mbtk/include/mbtk/mbtk_sock2.h
index 3dfaad1..52d75cc 100755
--- a/mbtk/include/mbtk/mbtk_sock2.h
+++ b/mbtk/include/mbtk/mbtk_sock2.h
@@ -107,6 +107,7 @@
     mbtk_sock_cb_func sock_cb;
 } mbtk_init_info;
 
+#ifdef MBTK_POLARSSL_SUPPORT
 #define DFL_SERVER_NAME         "asr"
 #define DFL_SERVER_ADDR         NULL
 #define DFL_SERVER_PORT         4433
@@ -134,6 +135,7 @@
 #define DFL_RECO_DELAY          0
 #define DFL_TICKETS             SSL_SESSION_TICKETS_ENABLED
 #define DFL_ALPN_STRING         NULL
+#endif
 
 /*************************************************************
     Variables:local,extern
diff --git a/mbtk/mbtk_lib/inc/mbtk_sock_internal.h b/mbtk/mbtk_lib/inc/mbtk_sock_internal.h
index e0cbaa0..4ee7125 100755
--- a/mbtk/mbtk_lib/inc/mbtk_sock_internal.h
+++ b/mbtk/mbtk_lib/inc/mbtk_sock_internal.h
@@ -9,6 +9,7 @@
 typedef struct {
     int fd;
     mbtk_sock_type type; // socket type:TCP or UDP
+#ifdef MBTK_POLARSSL_SUPPORT
     entropy_context* entropy;
     ctr_drbg_context* ctr_drbg;
     ssl_context *ssl;
@@ -16,6 +17,7 @@
     x509_crt *cacert;
     x509_crt *clicert;
     pk_context* pkey;
+#endif
 } mbtk_sock_inter_info_s;
 
 typedef struct {
diff --git a/mbtk/mbtk_lib/src/mbtk_sock2.c b/mbtk/mbtk_lib/src/mbtk_sock2.c
index bb1ddb8..0e65992 100755
--- a/mbtk/mbtk_lib/src/mbtk_sock2.c
+++ b/mbtk/mbtk_lib/src/mbtk_sock2.c
@@ -10,6 +10,8 @@
 #include <sys/time.h>
 #include <fcntl.h>
 #include <netdb.h>
+
+#ifdef MBTK_POLARSSL_SUPPORT
 #include <polarssl/net.h>
 #include <polarssl/ssl.h>
 #include <polarssl/entropy.h>
@@ -19,6 +21,9 @@
 #include <polarssl/error.h>
 #include <polarssl/debug.h>
 #include <polarssl/config.h>
+#else
+
+#endif
 #include <sys/ioctl.h>
 
 #ifdef LOG_TAG
@@ -272,7 +277,8 @@
     return handle;
 }
 
-static int mbtk_ssl_init(int fd ,bool ingnore_cert,mbtk_sock_inter_info_s* inter_info)
+#ifdef MBTK_POLARSSL_SUPPORT
+static int mbtk_polarssl_open(int fd ,bool ingnore_cert,mbtk_sock_inter_info_s* inter_info)
 {
     LOGE("8\n");
     int ret = 0, len, tail_len, i, written, frags;
@@ -477,7 +483,7 @@
     return 0;
 }
 
-int mbtk_ssl_close(mbtk_sock_inter_info_s *inter_info)
+static int mbtk_polarssl_close(mbtk_sock_inter_info_s *inter_info)
 {
     if (inter_info == NULL)
     {
@@ -512,6 +518,24 @@
     return 0;
 }
 
+static int mbtk_polarssl_write( ssl_context *ssl, const unsigned char *buf, size_t len )
+{
+    return ssl_write(ssl, buf, len);
+}
+
+static int mbtk_polarssl_read( ssl_context *ssl, unsigned char *buf, size_t len )
+{
+    return ssl_read(ssl, buf, len);
+}
+
+#else
+
+
+
+
+
+#endif
+
 extern mbtk_sock_session mbtk_sock_open(mbtk_sock_handle handle,mbtk_sock_info *info,
                 unsigned int timeout,
                 int *mbtk_errno)
@@ -703,11 +727,14 @@
     }
 #endif
     if(info->is_support_ssl){
-        if(mbtk_ssl_init(mbtk_sock[handle]->inter_infos[index_free].fd,info->ingnore_cert,&mbtk_sock[handle]->inter_infos[index_free]) == -1){
+#ifdef MBTK_POLARSSL_SUPPORT
+        if(mbtk_polarssl_open(mbtk_sock[handle]->inter_infos[index_free].fd,info->ingnore_cert,&mbtk_sock[handle]->inter_infos[index_free]) == -1){
             LOGE("mbtk_openssl_init fail");
             goto result_fail_with_close;
         }
+#else
 
+#endif
     }
 
     *mbtk_errno = MBTK_SOCK_SUCCESS;
@@ -736,7 +763,11 @@
             break;
         }
     }
-    return mbtk_ssl_init(mbtk_sock[handle]->inter_infos[index_free].fd,ingnore_cert,&mbtk_sock[handle]->inter_infos[index_free]);
+#ifdef MBTK_POLARSSL_SUPPORT
+    return mbtk_polarssl_open(mbtk_sock[handle]->inter_infos[index_free].fd,ingnore_cert,&mbtk_sock[handle]->inter_infos[index_free]);
+#else
+    return 0;
+#endif
 }
 extern int mbtk_ssl_close_func(mbtk_sock_handle handle ,bool ingnore_cert,mbtk_sock_session fd)
 {
@@ -751,9 +782,14 @@
             break;
         }
     }
+
+#ifdef MBTK_POLARSSL_SUPPORT
     if(mbtk_sock[handle]->inter_infos[index_free].ssl!=NULL);
         printf("\nmbtk_sock[handle]->inter_infos[index_free].ssl not empty\n");
-    return mbtk_ssl_close(&mbtk_sock[handle]->inter_infos[index_free]);
+    return mbtk_polarssl_close(&mbtk_sock[handle]->inter_infos[index_free]);
+#else
+    return 0;
+#endif
 }
 
 extern int mbtk_sock_write(mbtk_sock_handle handle,mbtk_sock_session session,
@@ -800,9 +836,13 @@
     unsigned int count = 0;
     if(mbtk_sock[handle]->infos[index].type == MBTK_SOCK_TCP) {
         while(count < buf_len){
-            if(mbtk_sock[handle]->infos[index].is_support_ssl)
-                len = ssl_write(inter_info->ssl,(char*)buffer + count,buf_len - count);
-            else
+            if(mbtk_sock[handle]->infos[index].is_support_ssl) {
+#ifdef MBTK_POLARSSL_SUPPORT
+                len = mbtk_polarssl_write(inter_info->ssl,(char*)buffer + count,buf_len - count);
+#else
+
+#endif
+            } else
                 len = write(inter_info->fd,(char*)buffer + count,buf_len - count);
             if(len < 0){
                 if(errno == EWOULDBLOCK){
@@ -904,9 +944,13 @@
         memset(buffer,0x0,buf_len);
         while(count < buf_len){
             try_count++;
-            if(mbtk_sock[handle]->infos[index].is_support_ssl)
-                len = ssl_read(inter_info->ssl,(char*)buffer + count,buf_len - count);
-            else
+            if(mbtk_sock[handle]->infos[index].is_support_ssl) {
+#ifdef MBTK_POLARSSL_SUPPORT
+                len = mbtk_polarssl_read(inter_info->ssl,(char*)buffer + count,buf_len - count);
+#else
+
+#endif
+            } else
                 len = read(inter_info->fd,(char*)buffer + count,buf_len - count);
             if(len < 0){
                 if(errno == EWOULDBLOCK){
@@ -1075,11 +1119,13 @@
             memset(buffer,0x0,buf_len);
             while(count < buf_len){
                 try_count++;
-                if( inter_info->ssl == NULL)
-                    printf("\ninter_info->ssl == NULL\n");
-                if(mbtk_sock[handle]->infos[index].is_support_ssl)
-                    len = ssl_read(inter_info->ssl,(char*)buffer + count,buf_len - count);
-                else
+                if(mbtk_sock[handle]->infos[index].is_support_ssl) {
+#ifdef MBTK_POLARSSL_SUPPORT
+                    len = mbtk_polarssl_read(inter_info->ssl,(char*)buffer + count,buf_len - count);
+#else
+
+#endif
+                } else
                     len = read(inter_info->fd,(char*)buffer + count,buf_len - count);
                 *read_line_count = len;
                 if(len < 0){
@@ -1249,9 +1295,13 @@
     if(mbtk_sock[handle]->infos[index].type == MBTK_SOCK_TCP) {
         memset(buffer,0x0,buf_len);
         while(read_count < buf_len) {
-            if(mbtk_sock[handle]->infos[index].is_support_ssl)
+            if(mbtk_sock[handle]->infos[index].is_support_ssl) {
+#ifdef MBTK_POLARSSL_SUPPORT
                 len = ssl_read(inter_info->ssl,(char*)buffer + read_count,buf_len - read_count);
-            else
+#else
+
+#endif
+            } else
                 len = read(inter_info->fd,(char*)buffer  + read_count,buf_len - read_count);
 
             if(len > 0) {
@@ -1335,9 +1385,13 @@
     if(mbtk_sock[handle]->infos[index].type == MBTK_SOCK_TCP) {
 TCP_READ_AGAIN:
         memset(buffer,0x0,buf_len);
-        if(mbtk_sock[handle]->infos[index].is_support_ssl)
+        if(mbtk_sock[handle]->infos[index].is_support_ssl) {
+#ifdef MBTK_POLARSSL_SUPPORT
             len = ssl_read(inter_info->ssl,(char*)buffer,buf_len);
-        else
+#else
+
+#endif
+        } else
             len = read(inter_info->fd,(char*)buffer,buf_len);
         if(len < 0){
             if(errno == EWOULDBLOCK){
@@ -1430,11 +1484,15 @@
     }
 
     if(mbtk_sock[handle]->infos[index].is_support_ssl){
-        if(mbtk_ssl_close(inter_info)== -1)
+#ifdef MBTK_POLARSSL_SUPPORT
+        if(mbtk_polarssl_close(inter_info)== -1)
         {
             LOGE("close ssl fail");
             return -1;
         }
+#else
+
+#endif
     }
 
     *mbtk_errno = MBTK_SOCK_SUCCESS;