summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGary Wicker <14828980+gkwicker@users.noreply.github.com>2020-07-10 15:36:31 -0700
committerGitHub <noreply@github.com>2020-07-10 15:36:31 -0700
commit47ced492012aff358149c83ebdda4e9c5f9aacaa (patch)
treeb0d234a1e69201bd5e5d5ffa174a0ec9f20e324d
parentb98b75e312da0968815fc43343947d4f0efa1755 (diff)
downloadfreertos-git-47ced492012aff358149c83ebdda4e9c5f9aacaa.tar.gz
Count only A records in DNS resolution logic (#135)
-rw-r--r--FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/FreeRTOS_DNS.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/FreeRTOS_DNS.c b/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/FreeRTOS_DNS.c
index 18fe02932..039cd21d1 100644
--- a/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/FreeRTOS_DNS.c
+++ b/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/FreeRTOS_DNS.c
@@ -1181,8 +1181,9 @@ uint16_t usType = 0U;
if( ( pxDNSMessageHeader->usFlags & dnsRX_FLAGS_MASK ) == dnsEXPECTED_RX_FLAGS )
{
const uint16_t usCount = ( uint16_t ) ipconfigDNS_CACHE_ADDRESSES_PER_ENTRY;
+ uint16_t usNumARecordsStored = 0;
- for( x = 0U; ( x < pxDNSMessageHeader->usAnswers ) && ( x < usCount ); x++ )
+ for( x = 0U; ( x < pxDNSMessageHeader->usAnswers ) && ( usNumARecordsStored < usCount ); x++ )
{
BaseType_t xDoAccept;
@@ -1259,6 +1260,7 @@ uint16_t usType = 0U;
if( xDoStore != pdFALSE )
{
( void ) prvProcessDNSCache( pcName, &ulIPAddress, pxDNSAnswerRecord->ulTTL, pdFALSE );
+ usNumARecordsStored++; /* Track # of A records stored */
}
/* Show what has happened. */