Skip to content

Commit 6d55b42

Browse files
authored
Merge pull request wolfSSL#9483 from josepho0918/mqx
Enhance MQX platform support and integration
2 parents dd40417 + 10efcd9 commit 6d55b42

File tree

5 files changed

+31
-3
lines changed

5 files changed

+31
-3
lines changed

src/sniffer.c

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,15 +56,23 @@
5656
/* default */
5757
#define XINET_NTOA inet_ntoa
5858
#define XINET_ATON inet_aton
59+
#ifdef FREESCALE_MQX
60+
#define XINET_PTON(a,b,c,d) inet_pton((a),(b),(c),(d))
61+
#else
5962
#define XINET_PTON(a,b,c) inet_pton((a),(b),(c))
63+
#endif
6064
#define XINET_NTOP inet_ntop
6165
#define XINET_ADDR inet_addr
6266
#define XHTONS htons
6367
#define XNTOHS ntohs
6468
#define XHTONL htonl
6569
#define XNTOHL ntohl
70+
#ifdef FREESCALE_MQX
71+
#define XINADDR_NONE INADDR_BROADCAST
72+
#else
6673
#define XINADDR_NONE INADDR_NONE
6774
#endif
75+
#endif
6876

6977
#if !defined(WOLFCRYPT_ONLY) && !defined(NO_FILESYSTEM)
7078
#ifdef WOLFSSL_SNIFFER
@@ -76,7 +84,7 @@
7684
#ifdef TCP_PROTOCOL
7785
#undef TCP_PROTOCOL
7886
#endif
79-
#else
87+
#elif !defined(FREESCALE_MQX)
8088
#ifndef _WIN32
8189
#include <arpa/inet.h>
8290
#else
@@ -1817,6 +1825,9 @@ static int SetNamedPrivateKey(const char* name, const char* address, int port,
18171825
#ifdef FUSION_RTOS
18181826
if (XINET_PTON(AF_INET6, address, serverIp.ip6,
18191827
sizeof(serverIp.ip4)) == 1)
1828+
#elif defined(FREESCALE_MQX)
1829+
if (XINET_PTON(AF_INET6, address, serverIp.ip6,
1830+
sizeof(serverIp.ip6)) == RTCS_OK)
18201831
#else
18211832
if (XINET_PTON(AF_INET6, address, serverIp.ip6) == 1)
18221833
#endif
@@ -7672,6 +7683,9 @@ int ssl_RemoveSession(const char* clientIp, int clientPort,
76727683
#ifdef FUSION_RTOS
76737684
if (XINET_PTON(AF_INET6, clientIp, clientAddr.ip6,
76747685
sizeof(clientAddr.ip4)) == 1)
7686+
#elif defined(FREESCALE_MQX)
7687+
if (XINET_PTON(AF_INET6, clientIp, clientAddr.ip6,
7688+
sizeof(clientAddr.ip6)) == RTCS_OK)
76757689
#else
76767690
if (XINET_PTON(AF_INET6, clientIp, clientAddr.ip6) == 1)
76777691
#endif
@@ -7691,6 +7705,9 @@ int ssl_RemoveSession(const char* clientIp, int clientPort,
76917705
#ifdef FUSION_RTOS
76927706
if (XINET_PTON(AF_INET6, serverIp, serverAddr.ip6,
76937707
sizeof(serverAddr.ip4)) == 1)
7708+
#elif defined(FREESCALE_MQX)
7709+
if (XINET_PTON(AF_INET6, clientIp, clientAddr.ip6,
7710+
sizeof(clientAddr.ip6)) == RTCS_OK)
76947711
#else
76957712
if (XINET_PTON(AF_INET6, serverIp, serverAddr.ip6) == 1)
76967713
#endif

src/ssl.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21390,7 +21390,11 @@ WOLFSSL_ASN1_STRING* wolfSSL_a2i_IPADDRESS(const char* ipa)
2139021390
}
2139121391

2139221392
buf[WOLFSSL_IP6_ADDR_LEN] = '\0';
21393+
#ifdef FREESCALE_MQX
21394+
if (XINET_PTON(af, ipa, (void*)buf, sizeof(buf)) != RTCS_OK) {
21395+
#else
2139321396
if (XINET_PTON(af, ipa, (void*)buf) != 1) {
21397+
#endif
2139421398
WOLFSSL_MSG("Error parsing IP address");
2139521399
return NULL;
2139621400
}

wolfssl/wolfcrypt/settings.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1853,8 +1853,7 @@ extern void uITRON4_free(void *p) ;
18531853
#else
18541854
#define XFREE(p, h, t) {void* xp = (p); (void)(h); (void)(t); if ((xp)) _mem_free((xp));}
18551855
#endif
1856-
1857-
/* Note: MQX has no realloc, using fastmath above */
1856+
#define XREALLOC(p, n, h, t) ((void)(h), (void)(t), (void *)_mem_realloc((p), (n)))
18581857
#endif
18591858
#ifdef USE_FAST_MATH
18601859
/* Undef first to avoid re-definition if user_settings.h defines */

wolfssl/wolfcrypt/wc_port.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -935,6 +935,7 @@ WOLFSSL_ABI WOLFSSL_API int wolfCrypt_Cleanup(void);
935935
#define XSEEK_END IO_SEEK_END
936936
#define XBADFILE NULL
937937
#define XFGETS fgets
938+
#define XFPRINTF fprintf
938939

939940
#elif defined(WOLFSSL_DEOS)
940941
#define NO_FILESYSTEM

wolfssl/wolfio.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -602,6 +602,11 @@ WOLFSSL_API int wolfIO_RecvFrom(SOCKET_T sd, WOLFSSL_BIO_ADDR *addr, char *buf,
602602
} while(0)
603603
#endif
604604
#define StartTCP() WC_DO_NOTHING
605+
#elif defined(FREESCALE_MQX)
606+
#ifndef CloseSocket
607+
#define CloseSocket(s) closesocket(s)
608+
#endif
609+
#define StartTCP() WC_DO_NOTHING
605610
#else
606611
#ifndef CloseSocket
607612
#define CloseSocket(s) close(s)
@@ -987,6 +992,8 @@ WOLFSSL_API void wolfSSL_SetIOWriteFlags(WOLFSSL* ssl, int flags);
987992
#else
988993
#define XINET_PTON(a,b,c) InetPton((a),(PCWSTR)(b),(c))
989994
#endif
995+
#elif defined(FREESCALE_MQX)
996+
#define XINET_PTON(a,b,c,d) inet_pton((a),(b),(c),(d))
990997
#else
991998
#define XINET_PTON(a,b,c) inet_pton((a),(b),(c))
992999
#endif

0 commit comments

Comments
 (0)