From 40ad4dda7ab44af2b91dd0e07acea84a25b283d0 Mon Sep 17 00:00:00 2001
From: Vivien Nicolas <vnicolas@apple.com>
Date: Wed, 18 Sep 2024 18:41:56 +0200
Subject: [PATCH] [DNS-SD] Common Resolution Data such as the idle interval,
 active interval, etc... are ignored by the dnssd platform discovery code when
 a commissionable node is discovered

---
 src/lib/dnssd/Discovery_ImplPlatform.cpp | 1 -
 src/lib/dnssd/TxtFields.cpp              | 1 +
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/dnssd/Discovery_ImplPlatform.cpp b/src/lib/dnssd/Discovery_ImplPlatform.cpp
index e214aed4f80da6..54947cd617bf0e 100644
--- a/src/lib/dnssd/Discovery_ImplPlatform.cpp
+++ b/src/lib/dnssd/Discovery_ImplPlatform.cpp
@@ -409,7 +409,6 @@ void DnssdService::ToDiscoveredCommissionNodeData(const Span<Inet::IPAddress> &
         ByteSpan key(reinterpret_cast<const uint8_t *>(mTextEntries[i].mKey), strlen(mTextEntries[i].mKey));
         ByteSpan val(mTextEntries[i].mData, mTextEntries[i].mDataSize);
         FillNodeDataFromTxt(key, val, discoveredData);
-        FillNodeDataFromTxt(key, val, discoveredData);
     }
 }
 
diff --git a/src/lib/dnssd/TxtFields.cpp b/src/lib/dnssd/TxtFields.cpp
index 20ca450b8734b5..7e0aca0d9d5049 100644
--- a/src/lib/dnssd/TxtFields.cpp
+++ b/src/lib/dnssd/TxtFields.cpp
@@ -262,6 +262,7 @@ void FillNodeDataFromTxt(const ByteSpan & key, const ByteSpan & val, CommissionN
         nodeData.supportsCommissionerGeneratedPasscode = Internal::GetCommissionerPasscode(val);
         break;
     default:
+        FillNodeDataFromTxt(key, val, static_cast<CommonResolutionData &>(nodeData));
         break;
     }
 }