Lines Matching refs:edns

463 	struct edns_data* edns)
474 uint16_t udpsize = edns->udp_size;
498 edns->edns_version = EDNS_ADVERTISED_VERSION;
499 edns->udp_size = EDNS_ADVERTISED_SIZE;
500 edns->ext_rcode = 0;
501 edns->bits &= EDNS_DO;
503 &msg->qinfo, id, flags, edns);
526 edns->edns_version = EDNS_ADVERTISED_VERSION;
527 edns->udp_size = EDNS_ADVERTISED_SIZE;
528 edns->ext_rcode = 0;
529 edns->bits &= EDNS_DO;
533 udpsize, edns, (int)(edns->bits & EDNS_DO), secure)) {
535 &msg->qinfo, id, flags, edns);
549 struct comm_reply* repinfo, struct edns_data* edns)
552 uint16_t udpsize = edns->udp_size;
584 edns->edns_version = EDNS_ADVERTISED_VERSION;
585 edns->udp_size = EDNS_ADVERTISED_SIZE;
586 edns->ext_rcode = 0;
587 edns->bits &= EDNS_DO;
589 qinfo, id, flags, edns);
615 edns->edns_version = EDNS_ADVERTISED_VERSION;
616 edns->udp_size = EDNS_ADVERTISED_SIZE;
617 edns->ext_rcode = 0;
618 edns->bits &= EDNS_DO;
621 udpsize, edns, (int)(edns->bits & EDNS_DO), secure)) {
623 qinfo, id, flags, edns);
660 * @param edns: edns reply information.
663 chaos_replystr(sldns_buffer* pkt, const char* str, struct edns_data* edns)
689 edns->edns_version = EDNS_ADVERTISED_VERSION;
690 edns->udp_size = EDNS_ADVERTISED_SIZE;
691 edns->bits &= EDNS_DO;
692 attach_edns_record(pkt, edns);
699 * @param edns: edns info from query.
705 struct edns_data* edns, sldns_buffer* pkt)
721 chaos_replystr(pkt, buf, edns);
724 chaos_replystr(pkt, "no hostname", edns);
727 else chaos_replystr(pkt, cfg->identity, edns);
738 chaos_replystr(pkt, PACKAGE_STRING, edns);
739 else chaos_replystr(pkt, cfg->version, edns);
800 struct edns_data edns;
868 if((ret=parse_edns_from_pkt(c->buffer, &edns)) != 0) {
870 verbose(VERB_ALGO, "worker parse edns: formerror.");
882 if(edns.edns_present && edns.edns_version != 0) {
883 edns.ext_rcode = (uint8_t)(EDNS_RCODE_BADVERS>>4);
884 edns.edns_version = EDNS_ADVERTISED_VERSION;
885 edns.udp_size = EDNS_ADVERTISED_SIZE;
886 edns.bits &= EDNS_DO;
887 verbose(VERB_ALGO, "query with bad edns version.");
892 attach_edns_record(c->buffer, &edns);
895 if(edns.edns_present && edns.udp_size < NORMAL_UDP_SIZE &&
898 (int)edns.udp_size);
900 edns.udp_size = NORMAL_UDP_SIZE;
902 if(edns.udp_size > worker->daemon->cfg->max_udp_size &&
906 " (%d to max-udp-size)", (int)edns.udp_size);
908 edns.udp_size = worker->daemon->cfg->max_udp_size;
910 if(edns.udp_size < LDNS_HEADER_SIZE) {
911 verbose(VERB_ALGO, "worker request: edns is too small.");
925 qinfo.qclass, &edns, repinfo);
927 edns.udp_size = 65535; /* max size for TCP replies */
929 &edns, c->buffer)) {
933 if(local_zones_answer(worker->daemon->local_zones, &qinfo, &edns,
976 &edns)) {
999 &edns)) {
1019 &edns, repinfo, *(uint16_t*)(void *)sldns_buffer_begin(c->buffer));