Lines Matching refs:dohp
189 struct dohdata *dohp = data->req.doh;
191 dohp->pending--;
192 infof(data, "a DoH request is completed, %u to go", dohp->pending);
196 if(!dohp->pending) {
198 curl_slist_free_all(dohp->headers);
199 dohp->headers = NULL;
372 struct dohdata *dohp;
382 dohp = data->req.doh = calloc(1, sizeof(struct dohdata));
383 if(!dohp)
387 dohp->host = hostname;
388 dohp->port = port;
389 dohp->headers =
392 if(!dohp->headers)
396 result = dohprobe(data, &dohp->probe[DOH_PROBE_SLOT_IPADDR_V4],
398 data->multi, dohp->headers);
401 dohp->pending++;
406 result = dohprobe(data, &dohp->probe[DOH_PROBE_SLOT_IPADDR_V6],
408 data->multi, dohp->headers);
411 dohp->pending++;
418 curl_slist_free_all(dohp->headers);
421 (void)curl_multi_remove_handle(data->multi, dohp->probe[slot].easy);
422 Curl_close(&dohp->probe[slot].easy);
906 struct dohdata *dohp = data->req.doh;
908 if(!dohp)
911 if(!dohp->probe[DOH_PROBE_SLOT_IPADDR_V4].easy &&
912 !dohp->probe[DOH_PROBE_SLOT_IPADDR_V6].easy) {
917 else if(!dohp->pending) {
925 curl_multi_remove_handle(data->multi, dohp->probe[slot].easy);
926 Curl_close(&dohp->probe[slot].easy);
931 struct dnsprobe *p = &dohp->probe[slot];
942 type2name(p->dnstype), dohp->host);
953 infof(data, "DoH Host name: %s", dohp->host);
956 result = doh2ai(&de, dohp->host, dohp->port, &ai);
966 dns = Curl_cache_addr(data, ai, dohp->host, 0, dohp->port);
989 } /* !dohp->pending */