]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Fix #1280: Unbound fails assert when response from authoritative
authorWouter Wijngaards <wouter@nlnetlabs.nl>
Tue, 13 Jun 2017 14:25:47 +0000 (14:25 +0000)
committerWouter Wijngaards <wouter@nlnetlabs.nl>
Tue, 13 Jun 2017 14:25:47 +0000 (14:25 +0000)
  contains malformed qname.  When 0x20 caps-for-id is enabled, when
  assertions are not enabled the malformed qname is handled correctly.
- 1.6.3 tag created, with only #1280 fix, trunk is 1.6.4 development.

git-svn-id: file:///svn/unbound/trunk@4224 be551aaa-1e26-0410-a405-d3ace91eadb9

configure
configure.ac
doc/Changelog
services/outside_network.c
testdata/fwd_malformed.tpkg [new file with mode: 0644]

index c45f9ba8d52f5fc9cb776b9eaa70d36e701c5cac..202dc7d6ea866ea7cb31d29b5cf10aee564ec229 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for unbound 1.6.3.
+# Generated by GNU Autoconf 2.69 for unbound 1.6.4.
 #
 # Report bugs to <unbound-bugs@nlnetlabs.nl>.
 #
@@ -590,8 +590,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='unbound'
 PACKAGE_TARNAME='unbound'
-PACKAGE_VERSION='1.6.3'
-PACKAGE_STRING='unbound 1.6.3'
+PACKAGE_VERSION='1.6.4'
+PACKAGE_STRING='unbound 1.6.4'
 PACKAGE_BUGREPORT='unbound-bugs@nlnetlabs.nl'
 PACKAGE_URL=''
 
@@ -1437,7 +1437,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures unbound 1.6.3 to adapt to many kinds of systems.
+\`configure' configures unbound 1.6.4 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1502,7 +1502,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of unbound 1.6.3:";;
+     short | recursive ) echo "Configuration of unbound 1.6.4:";;
    esac
   cat <<\_ACEOF
 
@@ -1714,7 +1714,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-unbound configure 1.6.3
+unbound configure 1.6.4
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2423,7 +2423,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by unbound $as_me 1.6.3, which was
+It was created by unbound $as_me 1.6.4, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2775,11 +2775,11 @@ UNBOUND_VERSION_MAJOR=1
 
 UNBOUND_VERSION_MINOR=6
 
-UNBOUND_VERSION_MICRO=3
+UNBOUND_VERSION_MICRO=4
 
 
 LIBUNBOUND_CURRENT=7
-LIBUNBOUND_REVISION=2
+LIBUNBOUND_REVISION=3
 LIBUNBOUND_AGE=5
 # 1.0.0 had 0:12:0
 # 1.0.1 had 0:13:0
@@ -2833,6 +2833,7 @@ LIBUNBOUND_AGE=5
 # 1.6.1 had 7:0:5 # ub_callback_t typedef renamed to ub_callback_type
 # 1.6.2 had 7:1:5
 # 1.6.3 had 7:2:5
+# 1.6.4 had 7:3:5
 
 #   Current  -- the number of the binary API that we're implementing
 #   Revision -- which iteration of the implementation of the binary
@@ -20641,7 +20642,7 @@ _ACEOF
 
 
 
-version=1.6.3
+version=1.6.4
 
 date=`date +'%b %e, %Y'`
 
@@ -21160,7 +21161,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by unbound $as_me 1.6.3, which was
+This file was extended by unbound $as_me 1.6.4, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -21226,7 +21227,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-unbound config.status 1.6.3
+unbound config.status 1.6.4
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
index 3652deecc9ea2f9b34d5bcc4e3ebda80342c6d85..e908ff21331a119ed762ed10b3a17a901840d3ca 100644 (file)
@@ -11,14 +11,14 @@ sinclude(dnscrypt/dnscrypt.m4)
 # must be numbers. ac_defun because of later processing
 m4_define([VERSION_MAJOR],[1])
 m4_define([VERSION_MINOR],[6])
-m4_define([VERSION_MICRO],[3])
+m4_define([VERSION_MICRO],[4])
 AC_INIT(unbound, m4_defn([VERSION_MAJOR]).m4_defn([VERSION_MINOR]).m4_defn([VERSION_MICRO]), unbound-bugs@nlnetlabs.nl, unbound)
 AC_SUBST(UNBOUND_VERSION_MAJOR, [VERSION_MAJOR])
 AC_SUBST(UNBOUND_VERSION_MINOR, [VERSION_MINOR])
 AC_SUBST(UNBOUND_VERSION_MICRO, [VERSION_MICRO])
 
 LIBUNBOUND_CURRENT=7
-LIBUNBOUND_REVISION=2
+LIBUNBOUND_REVISION=3
 LIBUNBOUND_AGE=5
 # 1.0.0 had 0:12:0
 # 1.0.1 had 0:13:0
@@ -72,6 +72,7 @@ LIBUNBOUND_AGE=5
 # 1.6.1 had 7:0:5 # ub_callback_t typedef renamed to ub_callback_type
 # 1.6.2 had 7:1:5
 # 1.6.3 had 7:2:5
+# 1.6.4 had 7:3:5
 
 #   Current  -- the number of the binary API that we're implementing
 #   Revision -- which iteration of the implementation of the binary
index fc2a67724e39f942f1961a066d29d5d19389b918..46ad6ec7d8073dcbe99475fc4c4437775e63c385 100644 (file)
@@ -1,5 +1,9 @@
 13 June 2017: Wouter
        - Fix #1279: Memory leak on reload when python module is enabled.
+       - Fix #1280: Unbound fails assert when response from authoritative
+         contains malformed qname.  When 0x20 caps-for-id is enabled, when
+         assertions are not enabled the malformed qname is handled correctly.
+       - 1.6.3 tag created, with only #1280 fix, trunk is 1.6.4 development.
 
 12 June 2017: Wouter
        - Fix #1278: Incomplete wildcard proof.
index 89518ce19d08aafa7269150eafce6888b7c722a4..c5d6782b3108bb9ec78f882e35e70c7a6012722e 100644 (file)
@@ -1559,7 +1559,7 @@ serviced_check_qname(sldns_buffer* pkt, uint8_t* qbuf, size_t qbuflen)
                return 0;
        while(len1 != 0 || len2 != 0) {
                if(LABEL_IS_PTR(len1)) {
-                       d1 = sldns_buffer_at(pkt, PTR_OFFSET(len1, *d1));
+                       d1 = sldns_buffer_begin(pkt)+PTR_OFFSET(len1, *d1);
                        if(d1 >= sldns_buffer_at(pkt, sldns_buffer_limit(pkt)))
                                return 0;
                        len1 = *d1++;
diff --git a/testdata/fwd_malformed.tpkg b/testdata/fwd_malformed.tpkg
new file mode 100644 (file)
index 0000000..82a11ac
Binary files /dev/null and b/testdata/fwd_malformed.tpkg differ