Lines Matching defs:pkt

63 remove_rrset(const char* str, sldns_buffer* pkt, struct msg_parse* msg, 
69 dname_pkt_copy(pkt, buf, (*rrset)->dname);
112 uint8_t** nm, size_t* nmlen, sldns_buffer* pkt)
140 oldpos = sldns_buffer_position(pkt);
141 sldns_buffer_set_position(pkt, (size_t)(*nm - sldns_buffer_begin(pkt)));
142 *nmlen = pkt_dname_len(pkt);
143 sldns_buffer_set_position(pkt, oldpos);
151 mark_additional_rrset(sldns_buffer* pkt, struct msg_parse* msg,
162 if(get_additional_name(rrset, rr, &nm, &nmlen, pkt)) {
164 hashvalue_type h = pkt_hash_rrset(pkt, nm,
167 msg, pkt, h, 0, nm, nmlen,
174 h = pkt_hash_rrset(pkt, nm, LDNS_RR_TYPE_AAAA,
176 r = msgparse_hashtable_lookup(msg, pkt, h, 0, nm,
188 size_t* snamelen, sldns_buffer* pkt)
214 oldpos = sldns_buffer_position(pkt);
215 sldns_buffer_set_position(pkt, (size_t)(*sname - sldns_buffer_begin(pkt)));
216 dlen = pkt_dname_len(pkt);
217 sldns_buffer_set_position(pkt, oldpos);
227 uint8_t* alias, size_t* aliaslen, sldns_buffer* pkt)
232 if(!parse_get_cname_target(dname_rrset, &dtarg, &dtarglen, pkt))
245 dname_pkt_copy(pkt, alias, qname);
246 dname_pkt_copy(pkt, alias+(qnamelen-dname_rrset->dname_len), dtarg);
255 struct rrset_parse* nx, sldns_buffer* pkt)
271 dname_pkt_copy(pkt, cn->dname, *sname);
278 cn->hash=pkt_hash_rrset(pkt, cn->dname, cn->type, cn->rrset_class, 0);
310 pkt_strict_sub(sldns_buffer* pkt, uint8_t* sname, uint8_t* dr)
315 dname_pkt_copy(pkt, buf1, sname);
316 dname_pkt_copy(pkt, buf2, dr);
322 pkt_sub(sldns_buffer* pkt, uint8_t* comprname, uint8_t* zone)
325 dname_pkt_copy(pkt, buf, comprname);
331 sub_of_pkt(sldns_buffer* pkt, uint8_t* zone, uint8_t* comprname)
334 dname_pkt_copy(pkt, buf, comprname);
372 shorten_rrset(sldns_buffer* pkt, struct rrset_parse* rrset, int count)
395 dname_pkt_copy(pkt, buf, rrset->dname);
416 * @param pkt: packet.
424 scrub_normalize(sldns_buffer* pkt, struct msg_parse* msg,
453 pkt, msg, prev, &rrset);
457 pkt_strict_sub(pkt, sname, rrset->dname)) {
470 &aliaslen, pkt)) {
477 dname_pkt_compare(pkt, sname, nx->dname) == 0) {
481 if(!parse_get_cname_target(nx, &t, &tlen, pkt))
483 if(dname_pkt_compare(pkt, alias, t) == 0) {
493 aliaslen, region, msg, rrset, rrset, nx, pkt);
506 if(dname_pkt_compare(pkt, sname, rrset->dname) != 0) {
508 pkt, msg, prev, &rrset);
521 pkt_strict_sub(pkt, sname, nx->dname)) {
532 &aliaslen, pkt) &&
533 parse_get_cname_target(rrset, &t, &tlen, pkt) &&
534 dname_pkt_compare(pkt, alias, t) == 0) {
554 if(!parse_get_cname_target(rrset, &sname, &snamelen, pkt))
562 dname_pkt_compare(pkt, oldsname,
566 shorten_rrset(pkt, rrset, env->cfg->iter_scrub_ns);
579 pkt, msg, prev, &rrset);
585 shorten_rrset(pkt, rrset, env->cfg->iter_scrub_ns);
591 if(dname_pkt_compare(pkt, qinfo->qname, rrset->dname) == 0)
592 mark_additional_rrset(pkt, msg, rrset);
606 "RRset:", pkt, msg, prev, &rrset);
613 "RRset:", pkt, msg, prev, &rrset);
619 if(!sub_of_pkt(pkt, qinfo->qname, rrset->dname)) {
621 "RRset:", pkt, msg, prev, &rrset);
634 "RRset:", pkt, msg, prev, &rrset);
641 "RRset:", pkt, msg, prev, &rrset);
657 "RRset:", pkt, msg, prev, &rrset);
660 shorten_rrset(pkt, rrset, env->cfg->iter_scrub_ns);
668 dname_pkt_compare(pkt, qinfo->qname, rrset->dname) == 0) {
682 mark_additional_rrset(pkt, msg, rrset);
700 "RRset:", pkt, msg, prev, &rrset);
709 "RRset:", pkt, msg, prev, &rrset);
716 "RRset:", pkt, msg, prev, &rrset);
731 * @param pkt: packet
737 store_rrset(sldns_buffer* pkt, struct msg_parse* msg, struct module_env* env,
749 if(!parse_copy_decompress_rrset(pkt, msg, rrset, NULL, k)) {
763 * @param pkt: the packet buffer for decompression.
768 static int sanitize_nsec_is_overreach(sldns_buffer* pkt,
776 size_t pos = sldns_buffer_position(pkt);
780 rhspos = rhs-sldns_buffer_begin(pkt);
781 sldns_buffer_set_position(pkt, rhspos);
782 if(pkt_dname_len(pkt) == 0) {
784 sldns_buffer_set_position(pkt, pos);
787 if(sldns_buffer_position(pkt)-rhspos > len) {
789 sldns_buffer_set_position(pkt, pos);
792 sldns_buffer_set_position(pkt, pos);
793 if(!pkt_sub(pkt, rhs, zonename)) {
805 scrub_sanitize_rr_length(sldns_buffer* pkt, struct msg_parse* msg,
822 pkt, *rrset, rr_prev, rr, NULL, 0)) {
824 pkt, msg, prev, rrset);
840 pkt, *rrset, rr_prev, rr, NULL, 0)) {
842 pkt, msg, prev, rrset);
858 * @param pkt: packet.
868 scrub_sanitize(sldns_buffer* pkt, struct msg_parse* msg,
885 pkt_strict_sub(pkt, qinfo->qname, rrset->dname) &&
886 pkt_sub(pkt, rrset->dname, zonename)) {
899 if(dname_pkt_compare(pkt, qinfo->qname, rrset->dname) != 0) {
902 "RRset:", pkt, msg, prev, &rrset);
923 if(scrub_sanitize_rr_length(pkt, msg, prev, &rrset,
936 if(priv_rrset_bad(ie->priv, pkt, rrset)) {
937 remove_rrset(NULL, pkt, msg, prev, &rrset);
949 if(!pkt_sub(pkt, rrset->dname, zonename)) {
955 sub_of_pkt(pkt, zonename, rrset->dname)) {
969 store_rrset(pkt, msg, env, rrset);
971 "poison RRset:", pkt, msg, prev, &rrset);
976 "poison RRset:", pkt, msg, prev, &rrset);
992 "poison reference RRset:", pkt, msg, prev, &rrset);
997 sanitize_nsec_is_overreach(pkt, rrset, zonename)) {
999 "RRset:", pkt, msg, prev, &rrset);
1005 !pkt_strict_sub(pkt, rrset->dname, ns_rrset_dname)) {
1016 rrset->hash = pkt_hash_rrset(pkt, rrset->dname, rrset->type, rrset->rrset_class, rrset->flags);
1017 store_rrset(pkt, msg, env, rrset);
1019 "unverified glue reference RRset:", pkt, msg, prev, &rrset);
1029 scrub_message(sldns_buffer* pkt, struct msg_parse* msg,
1054 if(dname_pkt_compare(pkt, msg->qname, qinfo->qname) != 0)
1061 if(!scrub_normalize(pkt, msg, qinfo, region, env))
1064 if(!scrub_sanitize(pkt, msg, qinfo, zonename, env, ie, qstate))