| 1299 | } |
| 1300 | |
| 1301 | static bool QueryMatchesService(const RegisteredService& service, const char* qname, uint16_t qtype) |
| 1302 | { |
| 1303 | if (!IsServiceActive(service)) |
| 1304 | return false; |
| 1305 | |
| 1306 | switch (qtype) |
| 1307 | { |
| 1308 | case DNS_TYPE_PTR: |
| 1309 | return NameEquals(qname, service.m_ServiceTypeLocal); |
| 1310 | case DNS_TYPE_SRV: |
| 1311 | case DNS_TYPE_TXT: |
| 1312 | return NameEquals(qname, service.m_FullServiceName); |
| 1313 | case DNS_TYPE_A: |
| 1314 | return NameEquals(qname, service.m_HostLocal); |
| 1315 | case DNS_TYPE_ANY: |
| 1316 | return NameEquals(qname, service.m_ServiceTypeLocal) |
| 1317 | || NameEquals(qname, service.m_FullServiceName) |
| 1318 | || NameEquals(qname, service.m_HostLocal); |
| 1319 | default: |
| 1320 | return false; |
| 1321 | } |
| 1322 | } |
| 1323 | |
| 1324 | static bool IsValidTxtPayload(const RegisteredService& service) |
| 1325 | { |
no test coverage detected