]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
lint faster, lint fix and define.
authorWouter Wijngaards <wouter@nlnetlabs.nl>
Thu, 26 Apr 2007 07:55:51 +0000 (07:55 +0000)
committerWouter Wijngaards <wouter@nlnetlabs.nl>
Thu, 26 Apr 2007 07:55:51 +0000 (07:55 +0000)
git-svn-id: file:///svn/unbound/trunk@260 be551aaa-1e26-0410-a405-d3ace91eadb9

Makefile.in
doc/Changelog
util/data/msgparse.h
util/data/msgreply.c

index 6a3208e4552814d57fae8565ee49d31c14002178..7b9eff8b2f89d10337b0af53eebf26693020986c 100644 (file)
@@ -126,12 +126,13 @@ realclean: clean
        rm -f util/configlexer.c util/configparser.c util/configparser.h
        rm -f Makefile 
 
-lint:
-       $Qfor i in $(filter-out util/configparser.c,$(filter-out util/configlexer.c,$(sort $(ALL_SRC)))); do \
-               echo lint $$i; \
-               $(LINT) $(LINTFLAGS) -I. -I$(srcdir) -I$(ldnsdir)/include $(srcdir)/$$i ; \
-               if [ $$? -ne 0 ] ; then exit 1 ; fi ; \
-       done
+$(BUILD)%.lint:    $(srcdir)/%.c 
+       $(INFO) Lint $<
+       @if test ! -d $(dir $@); then $(INSTALL) -d $(patsubst %/,%,$(dir $@)); fi
+       $Q$(LINT) $(LINTFLAGS) -I. -I$(srcdir) -I$(ldnsdir)/include $<
+       $Qtouch $@
+
+lint:  $(addprefix $(BUILD),$(filter-out util/configparser.lint,$(filter-out util/configlexer.lint,$(sort $(ALL_SRC:.c=.lint)))))
 
 tags:  $(srcdir)/*.[ch] $(srcdir)/*/*.[ch]
        ctags  -f $(srcdir)/tags $(srcdir)/*.[ch] $(srcdir)/*/*.[ch]
index c7fea50d4155f9f58cda2c095a29a52e4a5ab55c..3f536e4cf96e33f754c64153970589febd5a9586 100644 (file)
@@ -1,5 +1,8 @@
 26 April 2007: Wouter
        - floating point exception fix in lock-verify.
+       - lint uses make dependency
+       - fixup lint in dname owner domain name compression code.
+       - define for offset range that can be compressed to.
 
 25 April 2007: Wouter
        - prettier code; parse_rrset->type kept in host byte order.
index fac9ab32963b2c08431399b0fb9931e96bf81db5..93b072ceec4418f52b14b7e5e7dc49d5a65bac64 100644 (file)
@@ -183,6 +183,8 @@ struct rr_parse {
 
 /** error codes, extended with EDNS, so > 15. */
 #define EDNS_RCODE_BADVERS     16      /** bad EDNS version */
+/** largest valid compression offset */
+#define PTR_MAX_OFFSET         0x3fff
 
 /**
  * EDNS data storage
index 9b49b0427026f1667f4720d0cc2037c4bfab8d80..eb9cb46a61ab219e76f410d9ca887839695ec53f 100644 (file)
@@ -649,7 +649,7 @@ compress_tree_store(struct compress_tree_node** tree, uint8_t* dname,
        if(closest) uplabs = labs - closest->labs;
        log_assert(uplabs >= 0);
        while(uplabs--) {
-               if(offset > 0x3fff) { /* largest valid compr. offset */
+               if(offset > PTR_MAX_OFFSET) {
                        if(lastparentptr) 
                                *lastparentptr = closest;
                        return 1; /* compression pointer no longer useful */
@@ -713,7 +713,7 @@ bakedname(int dosig, struct compress_tree_node** tree, size_t* offset,
        struct compress_tree_node* p;
        int labs = dname_count_labels(rk->dname);
        p = compress_tree_lookup(*tree, rk->dname, labs);
-       if(p) {
+       if(p && p->offset <= PTR_MAX_OFFSET) {
                /* compress it */
                int labcopy = labs - p->labs;
                size_t len = 0;
@@ -735,7 +735,7 @@ bakedname(int dosig, struct compress_tree_node** tree, size_t* offset,
                        from += lablen;
                }
                /* insert compression ptr */
-               ptr = 0xc000 | p->offset;
+               ptr = (uint16_t)(0xc000 | p->offset);
                ptr = htons(ptr);
                memmove(dat, &ptr, sizeof(ptr));
                len += sizeof(ptr);