mdns: sending search packets also in probing and announcing state

mdns queries did not work properly when send imeadiately after set_hostname, which cuased reinit of pcb and therefore restarted probing, so search packets were blocked until probing finished
closes #2507, closes #2593
pull/3189/head
David Cermak 2018-10-12 08:13:55 +02:00
rodzic 41caedd0da
commit e885ff235f
1 zmienionych plików z 1 dodań i 1 usunięć

Wyświetl plik

@ -3450,7 +3450,7 @@ static mdns_tx_packet_t * _mdns_create_search_packet(mdns_search_once_t * search
static void _mdns_search_send_pcb(mdns_search_once_t * search, tcpip_adapter_if_t tcpip_if, mdns_ip_protocol_t ip_protocol) static void _mdns_search_send_pcb(mdns_search_once_t * search, tcpip_adapter_if_t tcpip_if, mdns_ip_protocol_t ip_protocol)
{ {
mdns_tx_packet_t * packet = NULL; mdns_tx_packet_t * packet = NULL;
if (_mdns_server->interfaces[tcpip_if].pcbs[ip_protocol].pcb && _mdns_server->interfaces[tcpip_if].pcbs[ip_protocol].state == PCB_RUNNING) { if (_mdns_server->interfaces[tcpip_if].pcbs[ip_protocol].pcb && _mdns_server->interfaces[tcpip_if].pcbs[ip_protocol].state > PCB_INIT) {
packet = _mdns_create_search_packet(search, tcpip_if, ip_protocol); packet = _mdns_create_search_packet(search, tcpip_if, ip_protocol);
if (!packet) { if (!packet) {
return; return;