Skip to content

Commit

Permalink
Merge pull request #1 from harimau-qirex/cecille-darwin-fix
Browse files Browse the repository at this point in the history
Update the MDNS darwin fix.
  • Loading branch information
cecille authored Nov 18, 2021
2 parents 1b3021d + 8a69060 commit c5fca61
Showing 1 changed file with 12 additions and 12 deletions.
24 changes: 12 additions & 12 deletions src/platform/Darwin/DnssdImpl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -460,15 +460,6 @@ static CHIP_ERROR GetAddrInfo(void * context, DnssdResolveCallback callback, uin
}
else
{
// -1 is the local only interface. In this case, we can use localhost ::1
CHIP_ERROR chip_err = MdnsContexts::GetInstance().Add(sdCtx, sdRef);
if (chip_err != CHIP_NO_ERROR)
{
// TODO: Above doesn't check the error return, but it does seem like we want to trigger the callback if this fails.
CheckForSuccess(sdCtx, __func__, kDNSServiceErr_Unknown, true);
return chip_err;
}

sockaddr_in6 sockaddr;
memset(&sockaddr, 0, sizeof(sockaddr));
sockaddr.sin6_len = sizeof(sockaddr);
Expand All @@ -477,9 +468,18 @@ static CHIP_ERROR GetAddrInfo(void * context, DnssdResolveCallback callback, uin
sockaddr.sin6_port = htons((unsigned short) port);
uint32_t ttl = 120; // default TTL for records with hostnames is 120 seconds
uint32_t interface = 0; // Set interface to ANY (0) - network stack can decide how to route this.
OnGetAddrInfo(sdRef, 0 /* flags */, 0, kDNSServiceErr_NoError, hostname, reinterpret_cast<sockaddr *>(&sockaddr), ttl,
sdCtx);
return err;
OnGetAddrInfo(nullptr, 0 /* flags */, interface, kDNSServiceErr_NoError, hostname, reinterpret_cast<struct sockaddr *>(&sockaddr),
ttl, sdCtx);

// Don't leak memory.
std::vector<TextEntry>::iterator textEntry;
for (textEntry = sdCtx->textEntries.begin(); textEntry != sdCtx->textEntries.end(); textEntry++)
{
free(const_cast<char *>(textEntry->mKey));
free(const_cast<uint8_t *>(textEntry->mData));
}

return CHIP_NO_ERROR;
}
}

Expand Down

0 comments on commit c5fca61

Please sign in to comment.