Release 6.1.10

This commit is contained in:
Yuxin Zhou 2022-01-26 23:52:30 +00:00
parent acbab7219b
commit 12b2638ec7
62 changed files with 334 additions and 160 deletions

View File

@ -85,7 +85,7 @@ TX_BLOCK_POOL nx_bsd_socket_block_pool;
/* Define the memory area for the socket block pool... use TCP socket size, since it is the larger. */
static UCHAR nx_bsd_socket_pool_memory[NX_BSD_MAX_SOCKETS*(sizeof(NX_TCP_SOCKET)+sizeof(VOID *))];
static ULONG nx_bsd_socket_pool_memory[NX_BSD_MAX_SOCKETS * (sizeof(NX_TCP_SOCKET) + sizeof(VOID *)) / sizeof(ULONG)];
/* Define the block pool that will be used to dynamically allocate addrinfo struct. */
@ -96,8 +96,8 @@ TX_BLOCK_POOL nx_bsd_addrinfo_block_pool;
* Every address may be mapped to 3 socktypes, SOCK_STREAM and SOCK_DGRAM,
* 3 blocks for addrinfo) + 1 block for IP adddress = 4 blocks */
static UCHAR nx_bsd_addrinfo_pool_memory[NX_BSD_IPV4_ADDR_MAX_NUM * 4
*(sizeof(struct addrinfo) + sizeof(VOID *))];
static ULONG nx_bsd_addrinfo_pool_memory[NX_BSD_IPV4_ADDR_MAX_NUM * 4
*(sizeof(struct addrinfo) + sizeof(VOID *)) / sizeof(ULONG)];
#ifdef NX_BSD_ENABLE_DNS
@ -109,7 +109,7 @@ extern NX_DNS *_nx_dns_instance_ptr;
TX_BLOCK_POOL nx_bsd_cname_block_pool;
/* Here we just support a CNAME per IP address. */
static UCHAR nx_bsd_cname_pool_memory[NX_BSD_IPV4_ADDR_MAX_NUM * (NX_DNS_NAME_MAX + 1)];
static ULONG nx_bsd_cname_pool_memory[NX_BSD_IPV4_ADDR_MAX_NUM * (NX_DNS_NAME_MAX + 1) / sizeof(ULONG)];
#endif /* NX_DNS_ENABLE_EXTENDED_RR_TYPES */
#endif /* NX_BSD_ENABLE_DNS */

View File

@ -155,7 +155,7 @@ UINT status;
/* FUNCTION RELEASE */
/* */
/* _nx_dhcp_create PORTABLE C */
/* 6.1.8 */
/* 6.1.10 */
/* AUTHOR */
/* */
/* Yuxin Zhou, Microsoft Corporation */
@ -206,13 +206,18 @@ UINT status;
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
/* resulting in version 6.1 */
/* 08-02-2021 Yuxin Zhou Modified comment(s), and */
/* improved the code, */
/* improved the code, */
/* resulting in version 6.1.8 */
/* 01-31-2022 Yuxin Zhou Modified comment(s), supported*/
/* multiple client instances, */
/* resulting in version 6.1.10 */
/* */
/**************************************************************************/
UINT _nx_dhcp_create(NX_DHCP *dhcp_ptr, NX_IP *ip_ptr, CHAR *name_ptr)
{
TX_INTERRUPT_SAVE_AREA
UINT status;
#ifdef NX_DHCP_CLIENT_ENABLE_HOST_NAME_CHECK
CHAR *temp_ptr;
@ -380,6 +385,8 @@ UINT label_length = 0;
nx_udp_socket_delete(&(dhcp_ptr -> nx_dhcp_socket));
}
dhcp_ptr -> nx_dhcp_socket.nx_udp_socket_reserved_ptr = (VOID*)dhcp_ptr;
/* Create the ThreadX activity timeout timer. This will be used to periodically check to see if
a client connection has gone silent and needs to be terminated. */
status = tx_timer_create(&(dhcp_ptr -> nx_dhcp_timer), "DHCP Client Timer", _nx_dhcp_timeout_entry,
@ -481,12 +488,22 @@ UINT label_length = 0;
return(status);
}
/* Otherwise, the DHCP initialization was successful. Place the
DHCP control block on the list of created DHCP instances. */
TX_DISABLE
/* Update the dhcp structure ID. */
dhcp_ptr -> nx_dhcp_id = NX_DHCP_ID;
/* Save the DHCP instance. */
/* Setup this DHCP's created links. */
dhcp_ptr -> nx_dhcp_created_next = _nx_dhcp_created_ptr;
/* Place the new DHCP control block on the head of created DHCPs. */
_nx_dhcp_created_ptr = dhcp_ptr;
/* Restore previous interrupt posture. */
TX_RESTORE
/* Default enable DHCP on the primary interface (0). */
_nx_dhcp_interface_enable(dhcp_ptr, 0);
@ -1670,7 +1687,7 @@ UINT status;
/* FUNCTION RELEASE */
/* */
/* _nx_dhcp_delete PORTABLE C */
/* 6.1 */
/* 6.1.10 */
/* AUTHOR */
/* */
/* Yuxin Zhou, Microsoft Corporation */
@ -1714,12 +1731,18 @@ UINT status;
/* 05-19-2020 Yuxin Zhou Initial Version 6.0 */
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
/* resulting in version 6.1 */
/* 01-31-2022 Yuxin Zhou Modified comment(s), supported*/
/* multiple client instances, */
/* resulting in version 6.1.10 */
/* */
/**************************************************************************/
UINT _nx_dhcp_delete(NX_DHCP *dhcp_ptr)
{
TX_INTERRUPT_SAVE_AREA
UINT i;
NX_DHCP *dhcp_previous;
/* Get the DHCP mutex. */
tx_mutex_get(&(dhcp_ptr -> nx_dhcp_mutex), TX_WAIT_FOREVER);
@ -1769,9 +1792,34 @@ UINT i;
/* Delete the DHCP mutex. */
tx_mutex_delete(&(dhcp_ptr -> nx_dhcp_mutex));
/* Disable interrupts. */
TX_DISABLE
/* Clear the dhcp structure ID. */
dhcp_ptr -> nx_dhcp_id = 0;
/* Remove the DHCP instance from the created list. */
if (_nx_dhcp_created_ptr == dhcp_ptr)
{
_nx_dhcp_created_ptr = _nx_dhcp_created_ptr -> nx_dhcp_created_next;
}
else
{
for (dhcp_previous = _nx_dhcp_created_ptr;
dhcp_previous -> nx_dhcp_created_next;
dhcp_previous = dhcp_previous -> nx_dhcp_created_next)
{
if (dhcp_previous -> nx_dhcp_created_next == dhcp_ptr)
{
dhcp_previous -> nx_dhcp_created_next = dhcp_ptr -> nx_dhcp_created_next;
break;
}
}
}
/* Restore interrupts. */
TX_RESTORE
/* Return a successful status. */
return(NX_SUCCESS);
}
@ -4961,7 +5009,7 @@ UINT _nx_dhcp_user_option_add_callback_set(NX_DHCP *dhcp_ptr, UINT (*dhcp_user_
/* FUNCTION RELEASE */
/* */
/* _nx_dhcp_udp_receive_notify PORTABLE C */
/* 6.1 */
/* 6.1.10 */
/* AUTHOR */
/* */
/* Yuxin Zhou, Microsoft Corporation */
@ -4995,15 +5043,20 @@ UINT _nx_dhcp_user_option_add_callback_set(NX_DHCP *dhcp_ptr, UINT (*dhcp_user_
/* 05-19-2020 Yuxin Zhou Initial Version 6.0 */
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
/* resulting in version 6.1 */
/* 01-31-2022 Yuxin Zhou Modified comment(s), supported*/
/* multiple client instances, */
/* resulting in version 6.1.10 */
/* */
/**************************************************************************/
VOID _nx_dhcp_udp_receive_notify(NX_UDP_SOCKET *socket_ptr)
{
NX_PARAMETER_NOT_USED(socket_ptr);
NX_DHCP *dhcp_ptr;
dhcp_ptr = (NX_DHCP *)(socket_ptr -> nx_udp_socket_reserved_ptr);
/* Set the data received event flag. */
tx_event_flags_set(&(_nx_dhcp_created_ptr -> nx_dhcp_events), NX_DHCP_CLIENT_RECEIVE_EVENT, TX_OR);
tx_event_flags_set(&(dhcp_ptr -> nx_dhcp_events), NX_DHCP_CLIENT_RECEIVE_EVENT, TX_OR);
}
@ -8907,7 +8960,7 @@ NX_DHCP_INTERFACE_RECORD *interface_record = NX_NULL;
/* FUNCTION RELEASE */
/* */
/* _nx_dhcp_ip_conflict PORTABLE C */
/* 6.1 */
/* 6.1.10 */
/* AUTHOR */
/* */
/* Yuxin Zhou, Microsoft Corporation */
@ -8944,21 +8997,44 @@ NX_DHCP_INTERFACE_RECORD *interface_record = NX_NULL;
/* 05-19-2020 Yuxin Zhou Initial Version 6.0 */
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
/* resulting in version 6.1 */
/* 01-31-2022 Yuxin Zhou Modified comment(s), supported*/
/* multiple client instances, */
/* resulting in version 6.1.10 */
/* */
/**************************************************************************/
VOID _nx_dhcp_ip_conflict(NX_IP *ip_ptr, UINT iface_index, ULONG ip_address, ULONG physical_msw, ULONG physical_lsw)
{
NX_PARAMETER_NOT_USED(ip_ptr);
TX_INTERRUPT_SAVE_AREA
NX_DHCP *dhcp_ptr;
NX_PARAMETER_NOT_USED(ip_address);
NX_PARAMETER_NOT_USED(physical_msw);
NX_PARAMETER_NOT_USED(physical_lsw);
/* Set the interface index. */
_nx_dhcp_created_ptr -> nx_dhcp_interface_conflict_flag |= (UINT)(1 << iface_index);
/* Disable interrupts. */
TX_DISABLE
/* Find the DHCP client. */
for (dhcp_ptr = _nx_dhcp_created_ptr; dhcp_ptr; dhcp_ptr = dhcp_ptr -> nx_dhcp_created_next)
{
if (dhcp_ptr -> nx_dhcp_ip_ptr == ip_ptr)
{
/* Set the interface index. */
dhcp_ptr -> nx_dhcp_interface_conflict_flag |= (UINT)(1 << iface_index);
/* Set the address conflict event flag. */
tx_event_flags_set(&(_nx_dhcp_created_ptr -> nx_dhcp_events), NX_DHCP_CLIENT_CONFLICT_EVENT, TX_OR);
break;
}
}
/* Restore interrupts. */
TX_RESTORE
/* Set the address conflict event flag. */
tx_event_flags_set(&(_nx_dhcp_created_ptr -> nx_dhcp_events), NX_DHCP_CLIENT_CONFLICT_EVENT, TX_OR);
}
#endif

View File

@ -26,7 +26,7 @@
/* APPLICATION INTERFACE DEFINITION RELEASE */
/* */
/* nx_dhcp.h PORTABLE C */
/* 6.1.8 */
/* 6.1.10 */
/* AUTHOR */
/* */
/* Yuxin Zhou, Microsoft Corporation */
@ -49,6 +49,9 @@
/* adding additional request */
/* option in parameter request,*/
/* resulting in version 6.1.8 */
/* 01-31-2022 Yuxin Zhou Modified comment(s), supported*/
/* multiple client instances, */
/* resulting in version 6.1.10 */
/* */
/**************************************************************************/
@ -510,6 +513,9 @@ typedef struct NX_DHCP_STRUCT
/* Define the callback function for adding specific DHCP user option. */
UINT (*nx_dhcp_user_option_add)(struct NX_DHCP_STRUCT *dhcp_ptr, UINT iface_index, UINT message_type, UCHAR *user_option_ptr, UINT *user_option_length);
/* Define the link between other DHCP structures created by the application. */
struct NX_DHCP_STRUCT *nx_dhcp_created_next;
/* This pointer is reserved for application specific use. */
void *nx_dhcp_reserved_ptr;

View File

@ -4890,7 +4890,7 @@ UINT authorization_decoded_size;
/* FUNCTION RELEASE */
/* */
/* _nx_http_server_retrieve_basic_authorization PORTABLE C */
/* 6.1 */
/* 6.1.10 */
/* AUTHOR */
/* */
/* Yuxin Zhou, Microsoft Corporation */
@ -4926,6 +4926,10 @@ UINT authorization_decoded_size;
/* 05-19-2020 Yuxin Zhou Initial Version 6.0 */
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
/* resulting in version 6.1 */
/* 01-31-2022 Yuxin Zhou Modified comment(s), fixed */
/* the HTTP Server state issue */
/* with basic authorization, */
/* resulting in version 6.1.10 */
/* */
/**************************************************************************/
UINT _nx_http_server_retrieve_basic_authorization(NX_PACKET *packet_ptr, CHAR *authorization_request_ptr)
@ -4991,6 +4995,9 @@ CHAR *buffer_ptr;
return(length);
}
/* Set the found flag back to false. */
found = NX_FALSE;
/* Now remove any extra blanks. */
while ((buffer_ptr < (CHAR *) packet_ptr -> nx_packet_append_ptr) && (*buffer_ptr == ' '))
{

View File

@ -12924,7 +12924,7 @@ UINT _nx_snmp_utility_error_info_set(UCHAR *buffer_ptr, UINT error_code, UINT e
/* FUNCTION RELEASE */
/* */
/* _nx_snmp_utility_object_id_get PORTABLE C */
/* 6.1.8 */
/* 6.1.10 */
/* AUTHOR */
/* */
/* Yuxin Zhou, Microsoft Corporation */
@ -12967,6 +12967,10 @@ UINT _nx_snmp_utility_error_info_set(UCHAR *buffer_ptr, UINT error_code, UINT e
/* improved the logic of */
/* converting number to string,*/
/* resulting in version 6.1.8 */
/* 01-31-2022 Yuxin Zhou Modified comment(s), */
/* initialized the sequence */
/* byte value, */
/* resulting in version 6.1.10 */
/* */
/**************************************************************************/
UINT _nx_snmp_utility_object_id_get(UCHAR *buffer_ptr, UCHAR *object_string, INT buffer_length)
@ -12997,9 +13001,6 @@ UINT string_length;
/* Initialize the string length to 0. */
string_length = 0;
/* Initialize the sequence byte value to NULL. */
value = 0;
/* First see if the ANS1 object type is present. */
if (buffer_ptr[0] != NX_SNMP_ANS1_OBJECT_ID)
{
@ -13150,6 +13151,9 @@ UINT string_length;
while (total)
{
/* Initialize the sequence byte value to NULL. */
value = 0;
/* Move the buffer pointer forward. */
byte = *buffer_ptr++;

View File

@ -2229,7 +2229,7 @@ NX_IP_HEADER *ip_header_ptr;
/* FUNCTION RELEASE */
/* */
/* _nx_sntp_client_extract_time_message_from_packet PORTABLE C */
/* 6.1 */
/* 6.1.10 */
/* AUTHOR */
/* */
/* Yuxin Zhou, Microsoft Corporation */
@ -2264,6 +2264,9 @@ NX_IP_HEADER *ip_header_ptr;
/* 09-30-2020 Yuxin Zhou Modified comment(s), and */
/* verified memcpy use cases, */
/* resulting in version 6.1 */
/* 01-31-2022 Yuxin Zhou Modified comment(s), corrected*/
/* the Reference Identifier, */
/* resulting in version 6.1.10 */
/* */
/**************************************************************************/
UINT _nx_sntp_client_extract_time_message_from_packet(NX_SNTP_CLIENT *client_ptr, NX_PACKET *packet_ptr)
@ -2306,7 +2309,6 @@ NX_SNTP_TIME_MESSAGE *time_message_ptr;
/* Advance to the next 32 bit field and extract the reference clock ID field. */
ntp_word_0++;
NX_CHANGE_ULONG_ENDIAN(*ntp_word_0);
memcpy(time_message_ptr -> reference_clock_id, ntp_word_0, 4); /* Use case of memcpy is verified. */
/* Advance to the next field (64 bit field) and extract the reference time stamp field. */

View File

@ -1049,7 +1049,7 @@ ULONG events;
/* FUNCTION RELEASE */
/* */
/* _nx_tftp_server_process_received_data PORTABLE C */
/* 6.1 */
/* 6.1.10 */
/* AUTHOR */
/* */
/* Yuxin Zhou, Microsoft Corporation */
@ -1090,6 +1090,10 @@ ULONG events;
/* 05-19-2020 Yuxin Zhou Initial Version 6.0 */
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
/* resulting in version 6.1 */
/* 01-31-2022 Yuxin Zhou Modified comment(s), improved */
/* the logic of processing */
/* chained packet, */
/* resulting in version 6.1.10 */
/* */
/**************************************************************************/
VOID _nx_tftp_server_process_received_data(NX_TFTP_SERVER *server_ptr)
@ -1097,8 +1101,8 @@ VOID _nx_tftp_server_process_received_data(NX_TFTP_SERVER *server_ptr)
UINT status;
NX_PACKET *packet_ptr;
UCHAR *buffer_ptr;
UCHAR request_code;
UCHAR request_code[2];
ULONG bytes_copyed;
/* Wait for a request on the TFTP UDP well known port 69. */
@ -1125,26 +1129,19 @@ UCHAR request_code;
/* Otherwise, we have received a packet successfully. */
/* Setup a pointer to packet buffer area. */
buffer_ptr = packet_ptr -> nx_packet_prepend_ptr;
/* Pickup up the request code. First one must be zero. */
status = nx_packet_data_extract_offset(packet_ptr, 0, request_code, sizeof(request_code), &bytes_copyed);
/* Pickup up the request code. First one must be zero. */
request_code = *buffer_ptr++;
/* If not zero, abort. */
if (request_code)
/* Check the return status. */
if (status || (request_code[0] != 0))
{
nx_packet_release(packet_ptr);
nx_packet_release(packet_ptr);
return;
}
/* Now get the actual request code. */
request_code = *buffer_ptr++;
/* Process relative to the TFTP request code. */
switch (request_code)
switch (request_code[1])
{
case NX_TFTP_CODE_READ:
@ -1208,7 +1205,7 @@ UCHAR request_code;
/* FUNCTION RELEASE */
/* */
/* _nx_tftp_server_open_for_read_process PORTABLE C */
/* 6.1 */
/* 6.1.10 */
/* AUTHOR */
/* */
/* Yuxin Zhou, Microsoft Corporation */
@ -1252,6 +1249,14 @@ UCHAR request_code;
/* 05-19-2020 Yuxin Zhou Initial Version 6.0 */
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
/* resulting in version 6.1 */
/* 01-31-2022 Yuxin Zhou Modified comment(s), */
/* checked the format of the */
/* received packet, improved */
/* the logic of processing */
/* chained packet, fixed the */
/* issue of cleaning up the */
/* client request entry, */
/* resulting in version 6.1.10 */
/* */
/**************************************************************************/
void _nx_tftp_server_open_for_read_process(NX_TFTP_SERVER *server_ptr, NX_PACKET *packet_ptr)
@ -1264,6 +1269,7 @@ UCHAR *buffer_ptr;
NX_TFTP_CLIENT_REQUEST *client_request_ptr;
NX_PACKET *new_packet = NX_NULL;
UINT status;
UINT count = 0;
/* Extract the source IP and port numbers. */
@ -1302,42 +1308,43 @@ UINT status;
return;
}
/* Initialize the client request structure. */
client_request_ptr -> nx_tftp_client_request_ip_address = ip_address;
client_request_ptr -> nx_tftp_client_request_port = port;
client_request_ptr -> nx_tftp_client_request_block_number = 1;
client_request_ptr -> nx_tftp_client_request_open_type = NX_TFTP_STATE_OPEN;
client_request_ptr -> nx_tftp_client_request_exact_fit = NX_FALSE;
#ifdef NX_TFTP_SERVER_RETRANSMIT_ENABLE
/* Reset the retransmission timeout and retries for the client request. */
client_request_ptr -> nx_tftp_client_retransmit_timeout = NX_TFTP_SERVER_RETRANSMIT_TIMEOUT;
client_request_ptr -> nx_tftp_client_retransmit_retries = 0;
#else
/* Clear the count of ACK retransmits from the other side. */
client_request_ptr -> nx_tftp_client_request_retransmits = 0;
#endif
/* Packet chain isn't supported. */
if (packet_ptr -> nx_packet_next)
{
nx_packet_release(packet_ptr);
return;
}
/* Setup a pointer to the file name. */
buffer_ptr = (UCHAR *) (packet_ptr -> nx_packet_prepend_ptr + 2);
if (packet_ptr -> nx_packet_length < 4)
/* The format of RRQ/WRQ packet should be:
2 bytes string 1 byte string 1 byte
------------------------------------------------
| Opcode | Filename | 0 | Mode | 0 |
------------------------------------------------
*/
while (buffer_ptr < (packet_ptr -> nx_packet_append_ptr - 1))
{
if (*buffer_ptr == 0)
{
count++;
if (count == 2)
break;
}
buffer_ptr++;
}
/* Check if the format of the termination is correct. */
if ((count != 1) || *(UCHAR *)(packet_ptr -> nx_packet_append_ptr - 1))
{
nx_packet_release(packet_ptr);
return;
}
/* Check if the packet buffer ends with NULL. */
if (*(UCHAR *)(packet_ptr -> nx_packet_append_ptr - 1))
{
nx_packet_release(packet_ptr);
return;
}
/* Reset the pointer to the file name. */
buffer_ptr = (UCHAR *) (packet_ptr -> nx_packet_prepend_ptr + 2);
/* Pickup the file size. */
status = fx_directory_information_get(server_ptr -> nx_tftp_server_media_ptr, (CHAR *) buffer_ptr, NX_NULL, &file_size, NX_NULL, NX_NULL, NX_NULL, NX_NULL, NX_NULL, NX_NULL);
@ -1394,6 +1401,26 @@ UINT status;
return;
}
/* Initialize the client request structure. */
client_request_ptr -> nx_tftp_client_request_ip_address = ip_address;
client_request_ptr -> nx_tftp_client_request_port = port;
client_request_ptr -> nx_tftp_client_request_block_number = 1;
client_request_ptr -> nx_tftp_client_request_open_type = NX_TFTP_STATE_OPEN;
client_request_ptr -> nx_tftp_client_request_exact_fit = NX_FALSE;
#ifdef NX_TFTP_SERVER_RETRANSMIT_ENABLE
/* Reset the retransmission timeout and retries for the client request. */
client_request_ptr -> nx_tftp_client_retransmit_timeout = NX_TFTP_SERVER_RETRANSMIT_TIMEOUT;
client_request_ptr -> nx_tftp_client_retransmit_retries = 0;
#else
/* Clear the count of ACK retransmits from the other side. */
client_request_ptr -> nx_tftp_client_request_retransmits = 0;
#endif
client_request_ptr -> nx_tftp_client_file_size = file_size;
/* Read data when length of file is larger then 0. */
@ -1415,6 +1442,8 @@ UINT status;
/* Unable to read the file, close it and release the packet. */
fx_file_close(&(client_request_ptr ->nx_tftp_client_request_file));
memset(client_request_ptr, 0, sizeof(NX_TFTP_CLIENT_REQUEST));
nx_packet_release(packet_ptr);
return;
}
@ -1477,7 +1506,7 @@ UINT status;
/* FUNCTION RELEASE */
/* */
/* _nx_tftp_server_open_for_write_process PORTABLE C */
/* 6.1 */
/* 6.1.10 */
/* AUTHOR */
/* */
/* Yuxin Zhou, Microsoft Corporation */
@ -1521,6 +1550,12 @@ UINT status;
/* 05-19-2020 Yuxin Zhou Initial Version 6.0 */
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
/* resulting in version 6.1 */
/* 01-31-2022 Yuxin Zhou Modified comment(s), */
/* checked the format of the */
/* received packet, improved */
/* the logic of processing */
/* chained packet, */
/* resulting in version 6.1.10 */
/* */
/**************************************************************************/
VOID _nx_tftp_server_open_for_write_process(NX_TFTP_SERVER *server_ptr, NX_PACKET *packet_ptr)
@ -1531,6 +1566,7 @@ UCHAR *buffer_ptr;
NX_TFTP_CLIENT_REQUEST *client_request_ptr;
NX_PACKET *new_packet;
UINT status;
UINT count = 0;
/* Extract the source IP and port numbers. */
@ -1569,21 +1605,43 @@ UINT status;
return;
}
/* Packet chain isn't supported. */
if (packet_ptr -> nx_packet_next)
{
nx_packet_release(packet_ptr);
return;
}
/* Setup a pointer to the file name. */
buffer_ptr = (UCHAR *) (packet_ptr -> nx_packet_prepend_ptr + 2);
if (packet_ptr -> nx_packet_length < 4)
/* The format of RRQ/WRQ packet should be:
2 bytes string 1 byte string 1 byte
------------------------------------------------
| Opcode | Filename | 0 | Mode | 0 |
------------------------------------------------
*/
while (buffer_ptr < (packet_ptr -> nx_packet_append_ptr - 1))
{
if (*buffer_ptr == 0)
{
count++;
if (count == 2)
break;
}
buffer_ptr++;
}
/* Check if the format of the termination is correct. */
if ((count != 1) || *(UCHAR *)(packet_ptr -> nx_packet_append_ptr - 1))
{
nx_packet_release(packet_ptr);
return;
}
/* Check if the packet buffer ends with NULL. */
if (*(UCHAR *)(packet_ptr -> nx_packet_append_ptr - 1))
{
nx_packet_release(packet_ptr);
return;
}
/* Reset the pointer to the file name. */
buffer_ptr = (UCHAR *) (packet_ptr -> nx_packet_prepend_ptr + 2);
/* Perform a file create. This will fail if the file is already present, which we don't care about at this point. */
fx_file_delete(server_ptr -> nx_tftp_server_media_ptr, (CHAR *) buffer_ptr);
@ -1689,7 +1747,7 @@ UINT status;
/* FUNCTION RELEASE */
/* */
/* _nx_tftp_server_data_process PORTABLE C */
/* 6.1 */
/* 6.1.10 */
/* AUTHOR */
/* */
/* Yuxin Zhou, Microsoft Corporation */
@ -1732,6 +1790,10 @@ UINT status;
/* 05-19-2020 Yuxin Zhou Initial Version 6.0 */
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
/* resulting in version 6.1 */
/* 01-31-2022 Yuxin Zhou Modified comment(s), improved */
/* the logic of processing */
/* chained packet, */
/* resulting in version 6.1.10 */
/* */
/**************************************************************************/
VOID _nx_tftp_server_data_process(NX_TFTP_SERVER *server_ptr, NX_PACKET *packet_ptr)
@ -1740,7 +1802,7 @@ VOID _nx_tftp_server_data_process(NX_TFTP_SERVER *server_ptr, NX_PACKET *packet
ULONG ip_address;
UINT port;
USHORT block_number;
UCHAR *buffer_ptr;
ULONG bytes_copyed;
NX_TFTP_CLIENT_REQUEST *client_request_ptr;
UINT status;
@ -1767,18 +1829,18 @@ UINT status;
return;
}
/* Setup a pointer to the block number. */
buffer_ptr = (UCHAR *) (packet_ptr -> nx_packet_prepend_ptr + 2);
/* Pickup the block number. */
status = nx_packet_data_extract_offset(packet_ptr, 2, (UCHAR *)&block_number, sizeof(block_number), &bytes_copyed);
if (packet_ptr -> nx_packet_length < 4)
/* Check return status. */
if (status || (bytes_copyed != 2))
{
nx_packet_release(packet_ptr);
return;
}
/* Pickup the block number. */
block_number = (USHORT)(*buffer_ptr++);
block_number = (USHORT)((block_number << 8) | (*buffer_ptr));
/* Adjust the endianness. */
NX_CHANGE_USHORT_ENDIAN(block_number);
/* Determine if this block number matches the current client block number. */
if (client_request_ptr -> nx_tftp_client_request_block_number != block_number)
@ -1937,7 +1999,7 @@ UINT status;
/* FUNCTION RELEASE */
/* */
/* _nx_tftp_server_ack_process PORTABLE C */
/* 6.1 */
/* 6.1.10 */
/* AUTHOR */
/* */
/* Yuxin Zhou, Microsoft Corporation */
@ -1980,6 +2042,10 @@ UINT status;
/* 05-19-2020 Yuxin Zhou Initial Version 6.0 */
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
/* resulting in version 6.1 */
/* 01-31-2022 Yuxin Zhou Modified comment(s), improved */
/* the logic of processing */
/* chained packet, */
/* resulting in version 6.1.10 */
/* */
/**************************************************************************/
VOID _nx_tftp_server_ack_process(NX_TFTP_SERVER *server_ptr, NX_PACKET *packet_ptr)
@ -1988,8 +2054,9 @@ VOID _nx_tftp_server_ack_process(NX_TFTP_SERVER *server_ptr, NX_PACKET *packet_
ULONG ip_address;
UINT port;
USHORT block_number;
UCHAR *buffer_ptr;
ULONG bytes_copyed;
NX_TFTP_CLIENT_REQUEST *client_request_ptr;
UINT status;
/* Extract the source IP and port numbers. */
@ -2014,18 +2081,18 @@ NX_TFTP_CLIENT_REQUEST *client_request_ptr;
return;
}
/* Setup a pointer to the block number. */
buffer_ptr = (UCHAR *) (packet_ptr -> nx_packet_prepend_ptr + 2);
/* Pickup the block number. */
status = nx_packet_data_extract_offset(packet_ptr, 2, (UCHAR *)&block_number, sizeof(block_number), &bytes_copyed);
if (packet_ptr -> nx_packet_length < 4)
/* Check return status. */
if (status || (bytes_copyed != 2))
{
nx_packet_release(packet_ptr);
return;
}
/* Pickup the block number. */
block_number = (USHORT)(*buffer_ptr++);
block_number = (USHORT)((block_number << 8) | (*buffer_ptr));
/* Adjust the endianness. */
NX_CHANGE_USHORT_ENDIAN(block_number);
/* Determine if this block number matches the request. */
if (client_request_ptr -> nx_tftp_client_request_block_number != block_number)
@ -2433,7 +2500,7 @@ NX_PACKET *new_packet;
/* FUNCTION RELEASE */
/* */
/* _nx_tftp_server_error_process PORTABLE C */
/* 6.1 */
/* 6.1.10 */
/* AUTHOR */
/* */
/* Yuxin Zhou, Microsoft Corporation */
@ -2467,6 +2534,10 @@ NX_PACKET *new_packet;
/* 05-19-2020 Yuxin Zhou Initial Version 6.0 */
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
/* resulting in version 6.1 */
/* 01-31-2022 Yuxin Zhou Modified comment(s), improved */
/* the logic of processing */
/* chained packet, */
/* resulting in version 6.1.10 */
/* */
/**************************************************************************/
VOID _nx_tftp_server_error_process(NX_TFTP_SERVER *server_ptr, NX_PACKET *packet_ptr)
@ -2478,16 +2549,16 @@ UINT port;
ULONG ip_address;
NX_TFTP_CLIENT_REQUEST *client_request_ptr;
/* Pickup a pointer to the error code in the buffer. */
buffer_ptr = packet_ptr -> nx_packet_prepend_ptr + 2;
if (packet_ptr -> nx_packet_length < 4)
/* Packet chain isn't supported. */
if (packet_ptr -> nx_packet_next)
{
nx_packet_release(packet_ptr);
return;
}
/* Pickup a pointer to the error code in the buffer. */
buffer_ptr = packet_ptr -> nx_packet_prepend_ptr + 2;
/* Set the error code in the server control block. */
server_ptr -> nx_tftp_server_error_code = (((UINT) (*buffer_ptr)) << 8);
buffer_ptr++;

View File

@ -26,7 +26,7 @@
/* APPLICATION INTERFACE DEFINITION RELEASE */
/* */
/* nx_api.h PORTABLE C */
/* 6.1.9 */
/* 6.1.10 */
/* AUTHOR */
/* */
/* Yuxin Zhou, Microsoft Corporation */
@ -76,6 +76,9 @@
/* 10-15-2021 Yuxin Zhou Modified comment(s), and */
/* updated product constants, */
/* resulting in version 6.1.9 */
/* 01-31-2022 Yuxin Zhou Modified comment(s), and */
/* updated product constants, */
/* resulting in version 6.1.10 */
/* */
/**************************************************************************/
@ -384,7 +387,7 @@ VOID _nx_trace_event_update(TX_TRACE_BUFFER_ENTRY *event, ULONG timestamp, ULONG
#define AZURE_RTOS_NETX
#define NETX_MAJOR_VERSION 6
#define NETX_MINOR_VERSION 1
#define NETX_PATCH_VERSION 9
#define NETX_PATCH_VERSION 10
/* The following symbols are defined for backward compatibility reasons.*/
#define EL_PRODUCT_NETX

View File

@ -472,7 +472,7 @@ UINT step;
/* FUNCTION RELEASE */
/* */
/* _nx_utility_base64_decode PORTABLE C */
/* 6.1.6 */
/* 6.1.10 */
/* AUTHOR */
/* */
/* Yuxin Zhou, Microsoft Corporation */
@ -507,6 +507,10 @@ UINT step;
/* DATE NAME DESCRIPTION */
/* */
/* 04-02-2021 Yuxin Zhou Initial Version 6.1.6 */
/* 01-31-2022 Yuxin Zhou Modified comment(s), */
/* fixed the issue of reading */
/* overflow, */
/* resulting in version 6.1.10 */
/* */
/**************************************************************************/
UINT _nx_utility_base64_decode(UCHAR *base64name, UINT base64name_size, UCHAR *name, UINT name_size, UINT *bytes_copied)
@ -531,13 +535,14 @@ UINT source_size = base64name_size;
/* Adjust the length to represent the ASCII name. */
base64name_size = ((base64name_size * 6) / 8);
if (base64name[source_size - 1] == '=')
if ((base64name_size) && (base64name[source_size - 1] == '='))
{
if (base64name[source_size - 2] == '=')
{
base64name_size --;
}
base64name_size--;
if ((base64name_size) && (base64name[source_size - 2] == '='))
{
base64name_size--;
}
}
/* Check the buffer size. */

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX ARCv2_EM/MetaWare Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX ARCv2_EM/MetaWare Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX ARC_HS/MetaWare Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX ARC_HS/MetaWare Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX ARM9/AC5 Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX ARM9/AC5 Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX ARM9/GNU Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX ARM9/GNU Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX ARM9/IAR Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX ARM9/IAR Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX C667X/TI Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX C667X/TI Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A15/GNU Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A15/GNU Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A5/AC5 Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A5/AC5 Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A7/GNU Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A7/GNU Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A5/IAR Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A5/IAR Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A5x/AC6 Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A5x/AC6 Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A7/AC5 Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A7/AC5 Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A7/GNU Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A7/GNU Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A7/IAR Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A7/IAR Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A8/AC5 Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A8/AC5 Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A8/GNU Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A8/GNU Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A8/IAR Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A8/IAR Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A9/AC5 Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A9/AC5 Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A9/GNU Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A9/GNU Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A9/IAR Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A9/IAR Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A9/AC5 Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-A9/AC5 Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M0/AC5 Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M0/AC5 Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -184,7 +184,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M0/GNU Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M0/GNU Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -181,7 +181,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M0/IAR Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M0/IAR Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M23/AC5 Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M23/AC5 Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -182,7 +182,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M23/GNU Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M23/GNU Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -181,7 +181,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M23/IAR Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M23/IAR Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M3/AC5 Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M3/AC5 Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -183,7 +183,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M3/GNU Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M3/GNU Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -181,7 +181,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M3/IAR Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M3/IAR Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M3/Keil Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M3/Keil Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M33/AC5 Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M33/AC5 Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -190,7 +190,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M33/GNU Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M33/GNU Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -181,7 +181,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M33/IAR Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M33/IAR Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M4/AC5 Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M4/AC5 Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -184,7 +184,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M3/GNU Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M3/GNU Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -181,7 +181,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M4/IAR Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M4/IAR Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M4/Keil Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M4/Keil Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M7/AC5 Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M7/AC5 Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -184,7 +184,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M7/GNU Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M7/GNU Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -181,7 +181,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M7/IAR Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-M7/IAR Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-R4/AC5 Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-R4/AC5 Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -179,7 +179,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-R4/AC6 Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-R4/AC6 Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -180,7 +180,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-R4/GNU Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-R4/GNU Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-R4/IAR Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-R4/IAR Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-R5/AC5 Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-R5/AC5 Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -180,7 +180,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-R5/GNU Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-R5/GNU Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-R5/IAR Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Cortex-R5/IAR Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -200,7 +200,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Linux/GNU Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Linux/GNU Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -212,7 +212,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX RXv2/CCRX Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX RXv2/CCRX Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX RXv2/GNU Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX RXv2/GNU Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX RXv2/IAR Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX RXv2/IAR Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif

View File

@ -201,7 +201,7 @@
#ifdef NX_SYSTEM_INIT
CHAR _nx_version_id[] =
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Win32/VS2019 Version 6.1.9 *";
"Copyright (c) Microsoft Corporation. All rights reserved. * NetX Win32/VS2019 Version 6.1.10 *";
#else
extern CHAR _nx_version_id[];
#endif