From 958eb5c5bf6e12da2aeb6c463ebe5bacedd5e1e8 Mon Sep 17 00:00:00 2001 From: Abtin Keshavarzian Date: Thu, 25 Aug 2022 11:11:35 -0700 Subject: [PATCH] [srp-server] update validation of instance and service names (#8080) This commit updates `ProcessServiceDiscoveryInstructions()` method to use `Dns::Name::IsSubDomainOf()` to validate the relation between service instance name and the base service name. --- src/core/net/srp_server.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/core/net/srp_server.cpp b/src/core/net/srp_server.cpp index 7a435cec6..a065880ce 100644 --- a/src/core/net/srp_server.cpp +++ b/src/core/net/srp_server.cpp @@ -931,10 +931,8 @@ Error Server::ProcessServiceDiscoveryInstructions(Host & aHost, } // Verify that instance name and service name are related. - - VerifyOrExit( - StringEndsWith(instanceName, isSubType ? subServiceName : serviceName, kStringCaseInsensitiveMatch), - error = kErrorFailed); + VerifyOrExit(Dns::Name::IsSubDomainOf(instanceName, isSubType ? subServiceName : serviceName), + error = kErrorFailed); // Ensure the same service does not exist already. VerifyOrExit(aHost.FindService(serviceName, instanceName) == nullptr, error = kErrorFailed);