1. 11 Mar, 2020 6 commits
    • Michał Kępień's avatar
      Ensure util/check-make-install.in is exported · 65c9496d
      Michał Kępień authored
      ./configure needs util/check-make-install.in to be present in the source
      directory in order to complete successfully.  Make sure this file is
      included in source tarballs created from the repository.
      65c9496d
    • Tinderbox User's avatar
      Adjust lib/isc/api version · 7ee22afb
      Tinderbox User authored
      The libisc LIBINTERFACE bump for 9.11.17 is unnecessary.
      A lot of headers were altered but the ABI tool did not report anything.
      Trust the ABI tool on this and decrement LIBINTERFACE and increment
      LIBREVISION.
      7ee22afb
    • Tinderbox User's avatar
      Note 9.11.17 in README · 33c1fb48
      Tinderbox User authored
      33c1fb48
    • Tinderbox User's avatar
      67d996f7
    • Tinderbox User's avatar
      regen v9_11 · 562bfd29
      Tinderbox User authored
      Michal caught at the last moment that a CHANGES entry did
      not have a GitLab issue/mr reference.  This check was omitted from
      the release process documentation.  The wiki is updated and the
      CHANGES file is updated in this commit.
      562bfd29
    • Tinderbox User's avatar
      prep 9.11.17 · dafa59ef
      Tinderbox User authored
      Bumped the version file and added release line in CHANGES.
      
      API files:
      - lib/bind9/api:
        No changes because only changes in comments.
      - lib/dns/api:
        Increment LIBINTERFACE because of the added field structure in
        dns_struct_update.
      - lib/isc/api:
        Increment LIBINTERFACE because of the PKCS#11 replacement.
      - lib/isccc/api:
        No changes because no source code changes.
      - lib/isccfg/api:
        Increment LIBREVISION because of minor source code changes.
      - lib/lwres/api:
        No changes because no source code changes.
      
      I decided no changes to README.md or the release notes were necessary.
      
      Perflab graphs look sane.
      dafa59ef
  2. 10 Mar, 2020 3 commits
  3. 09 Mar, 2020 3 commits
    • Evan Hunt's avatar
      remove redundant ZONEDB_UNLOCK · fca51376
      Evan Hunt authored
      (cherry picked from commit b54454b7)
      fca51376
    • Michał Kępień's avatar
      Merge branch 'michal/do-not-run-openbsd-system-test-jobs-for-tags-v9_11' into 'v9_11' · f324c3b7
      Michał Kępień authored
      [v9_11] Do not run OpenBSD system test jobs for tags
      
      See merge request !3190
      f324c3b7
    • Michał Kępień's avatar
      Do not run OpenBSD system test jobs for tags · d4c91308
      Michał Kępień authored
      OpenBSD virtual machines seem to affected particularly badly by other
      activity happening on the host.  This causes trouble around release
      time: when multiple tags are pushed to the repository, a large number of
      jobs is started concurrently on all CI runners.  In extreme cases, this
      causes the system test suite to run for about an hour (!) on OpenBSD
      VMs, with multiple tests failing.  We investigated the test artifacts
      for all such cases in the past and the outcome was always the same: test
      failures were caused by extremely slow I/O on the guest.  We tried
      various tricks to work around this problem, but nothing helped.
      
      Given the above, stop running OpenBSD system test jobs for pending BIND
      releases to prevent the results of these jobs from affecting the
      assessment of a given release's readiness for publication.  This change
      does not affect OpenBSD build jobs.  OpenBSD system test jobs will still
      be run for scheduled and web-requested pipelines, to make sure we catch
      any severe issues with test code on that platform sooner or later.
      
      (cherry picked from commit 7b002cea)
      d4c91308
  4. 06 Mar, 2020 4 commits
  5. 05 Mar, 2020 6 commits
  6. 04 Mar, 2020 7 commits
    • Michał Kępień's avatar
      Merge branch 'michal/fix-cppcheck-warnings' into 'v9_11' · 44e11e0c
      Michał Kępień authored
      Fix cppcheck warnings for 9.11
      
      See merge request !3143
      44e11e0c
    • Michał Kępień's avatar
      Fix cppcheck 1.90 warnings · be38f0c3
      Michał Kępień authored
      cppcheck 1.90 reports the following false positives for
      lib/dns/tests/rbt_serialize_test.c:
      
          lib/dns/tests/rbt_serialize_test.c:412:12: warning: Either the condition 'base!=NULL' is redundant or there is pointer arithmetic with NULL pointer. [nullPointerArithmeticRedundantCheck]
            p = base + (r % filesize);
                     ^
          lib/dns/tests/rbt_serialize_test.c:407:20: note: Assuming that condition 'base!=NULL' is not redundant
            assert_true(base != NULL && base != MAP_FAILED);
                             ^
          lib/dns/tests/rbt_serialize_test.c:405:14: note: Assignment 'base=mmap(NULL,filesize,PROT_READ|PROT_WRITE,0|MAP_PRIVATE,fd,0)', assigned value is 0
            base = mmap(NULL, filesize, PROT_READ|PROT_WRITE,
                       ^
          lib/dns/tests/rbt_serialize_test.c:412:12: note: Null pointer addition
            p = base + (r % filesize);
                     ^
          lib/dns/tests/rbt_serialize_test.c:413:12: warning: Either the condition 'base!=NULL' is redundant or there is pointer arithmetic with NULL pointer. [nullPointerArithmeticRedundantCheck]
            q = base + filesize;
                     ^
          lib/dns/tests/rbt_serialize_test.c:407:20: note: Assuming that condition 'base!=NULL' is not redundant
            assert_true(base != NULL && base != MAP_FAILED);
                             ^
          lib/dns/tests/rbt_serialize_test.c:405:14: note: Assignment 'base=mmap(NULL,filesize,PROT_READ|PROT_WRITE,0|MAP_PRIVATE,fd,0)', assigned value is 0
            base = mmap(NULL, filesize, PROT_READ|PROT_WRITE,
                       ^
          lib/dns/tests/rbt_serialize_test.c:413:12: note: Null pointer addition
            q = base + filesize;
                     ^
      
      This is caused by cppcheck not understanding how cmocka's assert_true()
      macro works.  The problem being reported is a false positive: if mmap()
      fails, the lines flagged by cppcheck will never be reached.  Address the
      problem by suppressing nullPointerArithmeticRedundantCheck warnings for
      the affected lines.
      be38f0c3
    • Michał Kępień's avatar
      Fix cppcheck 1.90 warning · ab4c9116
      Michał Kępień authored
      cppcheck 1.90 reports the following issue for bin/named/query.c:
      
          bin/named/query.c:6838:2: warning: %d in format string (no. 3) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint]
           snprintf(mbuf, sizeof(mbuf) - 1,
           ^
      
      Tweak the format specifier for client->query.restarts to address the
      problem.
      ab4c9116
    • Michał Kępień's avatar
      Fix cppcheck 1.90 warnings · 2a01bfd8
      Michał Kępień authored
      cppcheck 1.90 reports some false positives for lib/dns/client.c:
      
          lib/dns/client.c:1431:2: warning: Either the condition 'rctx==((void*)0)' is redundant or there is possible null pointer dereference: rctx. [nullPointerRedundantCheck]
           rctx->rdataset = rdataset;
           ^
          lib/dns/client.c:1416:11: note: Assuming that condition 'rctx==((void*)0)' is not redundant
           if (rctx == NULL)
                    ^
          lib/dns/client.c:1415:9: note: Assignment 'rctx=isc__mem_get(mctx,sizeof(*rctx),"lib/dns/client.c",1415)', assigned value is 0
           rctx = isc_mem_get(mctx, sizeof(*rctx));
                  ^
          lib/dns/client.c:1431:2: note: Null pointer dereference
           rctx->rdataset = rdataset;
           ^
          lib/dns/client.c:1438:2: warning: Either the condition 'rctx==((void*)0)' is redundant or there is possible null pointer dereference: rctx. [nullPointerRedundantCheck]
           rctx->sigrdataset = sigrdataset;
           ^
          lib/dns/client.c:1416:11: note: Assuming that condition 'rctx==((void*)0)' is not redundant
           if (rctx == NULL)
                    ^
          lib/dns/client.c:1415:9: note: Assignment 'rctx=isc__mem_get(mctx,sizeof(*rctx),"lib/dns/client.c",1415)', assigned value is 0
           rctx = isc_mem_get(mctx, sizeof(*rctx));
                  ^
          lib/dns/client.c:1438:2: note: Null pointer dereference
           rctx->sigrdataset = sigrdataset;
           ^
          lib/dns/client.c:1445:2: warning: Either the condition 'rctx==((void*)0)' is redundant or there is possible null pointer dereference: rctx. [nullPointerRedundantCheck]
           rctx->client = client;
           ^
          lib/dns/client.c:1416:11: note: Assuming that condition 'rctx==((void*)0)' is not redundant
           if (rctx == NULL)
                    ^
          lib/dns/client.c:1415:9: note: Assignment 'rctx=isc__mem_get(mctx,sizeof(*rctx),"lib/dns/client.c",1415)', assigned value is 0
           rctx = isc_mem_get(mctx, sizeof(*rctx));
                  ^
          lib/dns/client.c:1445:2: note: Null pointer dereference
           rctx->client = client;
           ^
          lib/dns/client.c:1827:2: warning: Either the condition 'ctx==((void*)0)' is redundant or there is possible null pointer dereference: ctx. [nullPointerRedundantCheck]
           ctx->client = client;
           ^
          lib/dns/client.c:1815:10: note: Assuming that condition 'ctx==((void*)0)' is not redundant
           if (ctx == NULL)
                   ^
          lib/dns/client.c:1814:8: note: Assignment 'ctx=isc__mem_get(client->mctx,sizeof(*ctx),"lib/dns/client.c",1814)', assigned value is 0
           ctx = isc_mem_get(client->mctx, sizeof(*ctx));
                 ^
          lib/dns/client.c:1827:2: note: Null pointer dereference
           ctx->client = client;
           ^
      
      All of them are caused by cppcheck not recognizing the relationship
      between isc_mem_get() returning NULL and the result variable being set
      to ISC_R_NOMEMORY (with a subsequent jump to a cleanup section).
      
      Move "goto cleanup;" statements into error handling branches to prevent
      cppcheck from generating these warnings.
      2a01bfd8
    • Michał Kępień's avatar
      Fix cppcheck 1.89 warnings · ae7c0cca
      Michał Kępień authored
      cppcheck 1.89 enabled certain value flow analysis mechanisms [1] which
      trigger null pointer dereference false positives that were previously
      not reported.  It seems that cppcheck no longer treats at least some
      REQUIRE() assertion failures as fatal, so add extra assertion macro
      definitions to lib/isc/include/isc/util.h that are only used when the
      CPPCHECK preprocessor macro is defined; these definitions make cppcheck
      1.89 behave as expected.
      
      There is an important requirement for these custom definitions to work:
      cppcheck must properly treat abort() as a function which does not
      return.  In order for that to happen, the __GNUC__ macro must be set to
      a high enough number (because system include directories are used and
      system headers compile attributes away if __GNUC__ is not high enough).
      __GNUC__ is thus set to the major version number of the GCC compiler
      used, which is what that latter does itself during compilation.
      
      [1] https://github.com/danmar/cppcheck/commit/aaeec462e6d96bb70c2b1cf030979d09e2d7c959
      
      (cherry picked from commit abfde3d5)
      ae7c0cca
    • Mark Andrews's avatar
      Merge branch '1656-masterformat-system-test-failed-missing-sleep-1-v9_11' into 'v9_11' · 2cc370f4
      Mark Andrews authored
      properly wait for zone to be loaded
      
      See merge request !3154
      2cc370f4
    • Mark Andrews's avatar
      properly wait for zone to be loaded · 5c544028
      Mark Andrews authored
      (cherry picked from commit 0abcface)
      5c544028
  7. 03 Mar, 2020 11 commits