]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Fix to constrain signer_name to be a parent of the lookupname.
authorWouter Wijngaards <wouter@nlnetlabs.nl>
Tue, 13 Dec 2011 12:37:47 +0000 (12:37 +0000)
committerWouter Wijngaards <wouter@nlnetlabs.nl>
Tue, 13 Dec 2011 12:37:47 +0000 (12:37 +0000)
git-svn-id: file:///svn/unbound/trunk@2571 be551aaa-1e26-0410-a405-d3ace91eadb9

doc/Changelog
validator/validator.c

index 7802c7b912df05d117f6e28ce7b750d6d8fa371c..6d28676cc19dd71516cbb009c213f8ba874a66aa 100644 (file)
@@ -2,6 +2,7 @@
        - iana portlist updated.
        - svn tag 1.4.14rc1
        - fix infra cache comparison.
+       - Fix to constrain signer_name to be a parent of the lookupname.
 
 5 December 2011: Wouter
        - Fix getaddrinfowithincludes on windows with fedora16 mingw32-gcc.
index 6c25fa6b3f8db27f9ec19605846641252138ec05..0ac593d821109891ce02841bb86636ec0641dfe2 100644 (file)
@@ -1266,6 +1266,12 @@ processInit(struct module_qstate* qstate, struct val_qstate* vq,
        /* Determine the signer/lookup name */
        val_find_signer(subtype, &vq->qchase, vq->orig_msg->rep, 
                vq->rrset_skip, &vq->signer_name, &vq->signer_len);
+       if(vq->signer_name != NULL &&
+               !dname_subdomain_c(lookup_name, vq->signer_name)) {
+               log_nametypeclass(VERB_ALGO, "this signer name is not a parent "
+                       "of lookupname, omitted", vq->signer_name, 0, 0);
+               vq->signer_name = NULL;
+       }
        if(vq->signer_name == NULL) {
                log_nametypeclass(VERB_ALGO, "no signer, using", lookup_name,
                        0, 0);