1. 27 Mar, 2020 2 commits
  2. 26 Mar, 2020 13 commits
    • Mark Andrews's avatar
      Merge branch... · 5826c85a
      Mark Andrews authored
      Merge branch '1678-bind-fails-to-build-with-mysql-support-against-mysql8-mysql-connector-8' into 'master'
      
      Resolve "BIND fails to build with MYSQL support against mysql8/mysql-connector-8"
      
      Closes #1678
      
      See merge request !3235
      5826c85a
    • Ondřej Surý's avatar
      Use compound literals in mysql_options() call · 715b7a7c
      Ondřej Surý authored
      Makes use of compound literals instead of using extra my_bool
      variable just to hold "true/1" value.
      715b7a7c
    • Mark Andrews's avatar
      Typedef my_bool if missing. · c6d5d5c8
      Mark Andrews authored
      ORACLE MySQL 8.0 has dropped the my_bool type, so we need to reinstate
      it back when compiling with that version or higher.  MariaDB is still
      keeping the my_bool type.  The numbering between the two (MariaDB 5.x
      jumped to MariaDB 10.x) doesn't make the life of the developer easy.
      c6d5d5c8
    • Mark Andrews's avatar
      remove unused variable · 7af9883b
      Mark Andrews authored
      7af9883b
    • Michał Kępień's avatar
      Merge branch 'michal/misc-gitlab-ci-yml-cleanups' into 'master' · 3377bc4b
      Michał Kępień authored
      Miscellaneous .gitlab-ci.yml cleanups
      
      See merge request !3298
      3377bc4b
    • Michał Kępień's avatar
      Remove unused YAML anchors · 3d121ede
      Michał Kępień authored
      Some YAML anchors defined in .gitlab-ci.yml are not subsequently used.
      Remove them to prevent confusion.
      3d121ede
    • Michał Kępień's avatar
      Do not install compiledb in cppcheck job · 3d264dbe
      Michał Kępień authored
      compiledb is already included in the Docker image used by the cppcheck
      job.  Do not attempt installing it again.
      3d264dbe
    • Michał Kępień's avatar
      Include compiler name in all build/test job names · 0c898084
      Michał Kępień authored
      Most build/test job names already contain a "clang", "gcc", or "msvc"
      prefix which indicates the compiler used for a given job.  Apply that
      naming convention to all build/test job names.
      0c898084
    • Michał Kępień's avatar
      Refactor TSAN unit test job definitions · 84463f33
      Michał Kępień authored
      Multiple YAML keys have identical values for both TSAN unit test job
      definitions.  Extract these common keys to a YAML anchor and use it in
      TSAN unit test job definitions to reduce code duplication.
      84463f33
    • Michał Kępień's avatar
      Run "kyua report-html" for TSAN unit test jobs · 6ebce942
      Michał Kępień authored
      Definitions of jobs running unit tests under TSAN contain an
      "after_script" YAML key.  Since the "unit_test_job" anchor is included
      in those job definitions before "after_script" is defined, the
      job-specific value of that key overrides the one defined in the included
      anchor.  This prevents "kyua report-html" from being run for TSAN unit
      test jobs.  Moving the invocation of "kyua report-html" to the "script"
      key in the "unit_test_job" anchor is not acceptable as it would cause
      the exit code of that command to determine the result of all unit test
      jobs and we need that to be the exit code of "make unit".  Instead, add
      "kyua report-html" invocations to the "after_script" key of TSAN unit
      test job definitions to address the problem without affecting other job
      definitions.
      6ebce942
    • Michał Kępień's avatar
      Refactor TSAN system test job definitions · a9aa295f
      Michał Kępień authored
      Multiple YAML keys have identical values for both TSAN system test job
      definitions.  Extract these common keys to a YAML anchor and use it in
      TSAN system test job definitions to reduce code duplication.
      a9aa295f
    • Michał Kępień's avatar
      Drop "before_script" key from TSAN job definitions · 8ef01c7b
      Michał Kępień authored
      Both "system_test_job" and "unit_test_job" YAML anchors contain a
      "before_script" key.  TSAN job definitions first specify their own value
      of the "before_script" key and then include the aforementioned YAML
      anchors, which results in the value of the "before_script" key being
      overridden with the value specified by the included anchor.  Given this,
      remove "before_script" definitions specific to TSAN jobs as they serve
      no practical purpose.
      8ef01c7b
    • Michał Kępień's avatar
      Define TSAN options in a global variable · 6325c099
      Michał Kępień authored
      All assignments for the TSAN_OPTIONS variable are identical across the
      entire .gitlab-ci.yml file.  Define a global TSAN_OPTIONS_COMMON
      variable and use it in job definitions to reduce code duplication.
      6325c099
  3. 25 Mar, 2020 11 commits
    • Ondřej Surý's avatar
      Merge branch '1679-fix-the-typecase-to-isc_stdtime_get' into 'master' · 4167eba3
      Ondřej Surý authored
      Correct the typecast of .tv_sec in isc_stdtime_get()
      
      Closes #1679
      
      See merge request !3294
      4167eba3
    • Ondřej Surý's avatar
      7c8179c5
    • Ondřej Surý's avatar
      Merge branch '1679-fix-the-tv_nsec_check' into 'master' · 03727c14
      Ondřej Surý authored
      Fix the tv_nsec check in isc_stdtime_get()
      
      Closes #1679
      
      See merge request !3292
      03727c14
    • Ondřej Surý's avatar
      Fix the tv_nsec check in isc_stdtime_get() · 0d06a62d
      Ondřej Surý authored
      0d06a62d
    • Ondřej Surý's avatar
      Merge branch 'ondrej/no-clang-on-debian-sid' into 'master' · 4154677f
      Ondřej Surý authored
      Rewrite .gitlab-ci.yml to have 'base_image' and other GitLab CI improvements
      
      See merge request !3279
      4154677f
    • Ondřej Surý's avatar
    • Ondřej Surý's avatar
    • Ondřej Surý's avatar
      Adjust the GitLab CI jobs to match the new images · 5f5721aa
      Ondřej Surý authored
      The custom builds (oot, asan, tsan) were mostly built using Debian sid
      amd64 image.  The problem was that this image broke too easily, because
      it's Debian "unstable" after all.
      
      This commit introduces "base_image" that should be most stable with
      extra bits on top (clang, coccinelle, cppcheck, ...).  Currently, that
      would be Debian buster amd64.
      
      Other changes introduced by this commit:
      
      * Change the default clang version to 10
      * Run both ASAN and TSAN with both gcc and clang compilers
      * Remove Clang Debian stretch i386 job
      5f5721aa
    • Ondřej Surý's avatar
      Merge branch 'ondrej/scan-build-10-fixes' into 'master' · d07c3d6c
      Ondřej Surý authored
      Fix new warnings reported by scan-build from LLVM/Clang 10
      
      See merge request !3285
      d07c3d6c
    • Ondřej Surý's avatar
      Fix 'Dereference of null pointer' from scan-build-10 · ddd0d356
      Ondřej Surý authored
      These are mostly false positives, the clang-analyzer FAQ[1] specifies
      why and how to fix it:
      
      > The reason the analyzer often thinks that a pointer can be null is
      > because the preceding code checked compared it against null. So if you
      > are absolutely sure that it cannot be null, remove the preceding check
      > and, preferably, add an assertion as well.
      
      The 4 warnings reported are:
      
      dnssec-cds.c:781:4: warning: Access to field 'base' results in a dereference of a null pointer (loaded from variable 'buf')
                              isc_buffer_availableregion(buf, &r);
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      /builds/isc-projects/bind9/lib/isc/include/isc/buffer.h:996:36: note: expanded from macro 'isc_buffer_availableregion'
                                         ^
      /builds/isc-projects/bind9/lib/isc/include/isc/buffer.h:821:16: note: expanded from macro 'ISC__BUFFER_AVAILABLEREGION'
                      (_r)->base = isc_buffer_used(_b);              \
                                   ^~~~~~~~~~~~~~~~~~~
      /builds/isc-projects/bind9/lib/isc/include/isc/buffer.h:152:29: note: expanded from macro 'isc_buffer_used'
              ((void *)((unsigned char *)(b)->base + (b)->used)) /*d*/
                                         ^~~~~~~~~
      1 warning generated.
      
      --
      
      byname_test.c:308:34: warning: Access to field 'fwdtable' results in a dereference of a null pointer (loaded from variable 'view')
                      RUNTIME_CHECK(dns_fwdtable_add(view->fwdtable, dns_rootname,
                                                     ^~~~~~~~~~~~~~
      /builds/isc-projects/bind9/lib/isc/include/isc/util.h:318:52: note: expanded from macro 'RUNTIME_CHECK'
                                                         ^~~~
      /builds/isc-projects/bind9/lib/isc/include/isc/error.h:50:21: note: expanded from macro 'ISC_ERROR_RUNTIMECHECK'
              ((void)(ISC_LIKELY(cond) ||  \
                                 ^~~~
      /builds/isc-projects/bind9/lib/isc/include/isc/likely.h:23:43: note: expanded from macro 'ISC_LIKELY'
                                                  ^
      1 warning generated.
      
      --
      
      ./rndc.c:255:6: warning: Dereference of null pointer (loaded from variable 'host')
              if (*host == '/') {
                  ^~~~~
      1 warning generated.
      
      --
      
      ./main.c:1254:9: warning: Access to field 'sctx' results in a dereference of a null pointer (loaded from variable 'named_g_server')
              sctx = named_g_server->sctx;
                     ^~~~~~~~~~~~~~~~~~~~
      1 warning generated.
      
      References:
      1. https://clang-analyzer.llvm.org/faq.html#null_pointer
      ddd0d356
    • Ondřej Surý's avatar
      Fix 'Dead nested assignment's from scan-build-10 · 262f087b
      Ondřej Surý authored
      The 3 warnings reported are:
      
      os.c:872:7: warning: Although the value stored to 'ptr' is used in the enclosing expression, the value is never actually read from 'ptr'
              if ((ptr = strtok_r(command, " \t", &last)) == NULL) {
                   ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      1 warning generated.
      
      --
      
      rpz.c:1117:10: warning: Although the value stored to 'zbits' is used in the enclosing expression, the value is never actually read from 'zbits'
              return (zbits &= x);
                      ^        ~
      1 warning generated.
      
      --
      
      openssleddsa_link.c:532:10: warning: Although the value stored to 'err' is used in the enclosing expression, the value is never actually read from 'err'
              while ((err = ERR_get_error()) != 0) {
                      ^     ~~~~~~~~~~~~~~~
      1 warning generated.
      262f087b
  4. 24 Mar, 2020 8 commits
  5. 20 Mar, 2020 6 commits