mirror of
https://github.com/esp8266/Arduino.git
synced 2025-07-27 18:02:17 +03:00
[Issue #3145] ESP8266mDNS: Improve compliance with DNS-SD RFC6763
- When the "_services._dns_sd._udp.local" meta-query is received, an enumeration of services types is now returned (e.g. "_http._tcp.local") instead of an enumeration of instances (e.g. "MyService._http._tcp.local"). This is consistent with Section 9 of the RFC. - When a response is sent, the response records are now properly partitioned as either answers or additional records. Only response records that were explicitly requested as a result of the questions should be treated as answers. This is consistent with Section 12 of the RFC. - The "MDNSResponder::advertiseServices()" method has been removed as it was declared as "private" and is no longer being called. This method was sending a response on multiple interfaces when available, but this wasn't really necessary since the interface from which the request was received that caused it to be invoked is known.
This commit is contained in:
committed by
Ivan Grokhotkov
parent
2450ec6803
commit
0c66c8a88f
@ -125,9 +125,10 @@ private:
|
||||
uint16_t _getServicePort(char *service, char *proto);
|
||||
MDNSTxt * _getServiceTxt(char *name, char *proto);
|
||||
uint16_t _getServiceTxtLen(char *name, char *proto);
|
||||
IPAddress _getRequestMulticastInterface();
|
||||
void _parsePacket();
|
||||
void _reply(uint8_t replyMask, char * service, char *proto, uint16_t port, uint32_t ip);
|
||||
size_t advertiseServices(); // advertise all hosted services
|
||||
void _replyToTypeEnumRequest(IPAddress multicastInterface);
|
||||
void _replyToInstanceRequest(uint8_t questionMask, uint8_t responseMask, char * service, char *proto, uint16_t port, IPAddress multicastInterface);
|
||||
MDNSAnswer* _getAnswerFromIdx(int idx);
|
||||
int _getNumAnswers();
|
||||
bool _listen();
|
||||
|
Reference in New Issue
Block a user