Преглед изворни кода

Merge branch 'feature/mdns-always-announce-address' into 'master'

mdns: always send A/AAAA records in announcements

See merge request espressif/esp-idf!16254
Guo Jia Cheng пре 4 година
родитељ
комит
cfd2d177be
1 измењених фајлова са 6 додато и 1 уклоњено
  1. 6 1
      components/mdns/mdns.c

+ 6 - 1
components/mdns/mdns.c

@@ -1850,7 +1850,6 @@ static mdns_tx_packet_t * _mdns_create_announce_packet(mdns_if_t tcpip_if, mdns_
  */
 static mdns_tx_packet_t * _mdns_create_announce_from_probe(mdns_tx_packet_t * probe)
 {
-
     mdns_tx_packet_t * packet = _mdns_alloc_packet_default(probe->tcpip_if, probe->ip_protocol);
     if (!packet) {
         return NULL;
@@ -1867,6 +1866,12 @@ static mdns_tx_packet_t * _mdns_create_announce_from_probe(mdns_tx_packet_t * pr
                 _mdns_free_tx_packet(packet);
                 return NULL;
             }
+            mdns_host_item_t *host = mdns_get_host_item(s->service->hostname);
+            if (!_mdns_alloc_answer(&packet->answers, MDNS_TYPE_A, NULL, host, true, false)
+                    || !_mdns_alloc_answer(&packet->answers, MDNS_TYPE_AAAA, NULL, host, true, false)) {
+                _mdns_free_tx_packet(packet);
+                return NULL;
+            }
 
         } else if (s->type == MDNS_TYPE_A || s->type == MDNS_TYPE_AAAA) {
             if (!_mdns_alloc_answer(&packet->answers, s->type, NULL, s->host, true, false)) {