Commit graph

1114 commits

Author SHA1 Message Date
Ondřej Surý
22c0f129ae Add support for cmocka assert testing by overriding REQUIRE/INSIST/... macros when UNIT_TESTING is defined
(cherry picked from commit 52731c000d)
2018-11-12 12:56:15 +11:00
Ondřej Surý
9000f73ba3 Properly use ATOMIC_*_LOCK_FREE preprocessor constants
The ATOMIC_*_LOCK_FREE can evalutate either 0, 1, or 2 which indicate the
lock-free property of the corresponding atomic types (both signed and unsigned).

	Value	Explanation
	-----	--------------------------------------
	  0	The atomic type is never lock-free
	  1	The atomic type is sometimes lock-free
	  2	The atomic type is always lock-free
	-----	--------------------------------------

(cherry picked from commit a5e7901eb9)
2018-11-09 05:00:32 +07:00
Ondřej Surý
2079e44fb9 Define PK11_UTIMACO_FLAVOR and add detection code to configure.ac 2018-11-09 00:07:44 +07:00
Ondřej Surý
c5b54803cd Remove dummy ISLOCKED macro
(cherry picked from commit 68ca987792)
(cherry picked from commit 5ad72603a8)
2018-11-08 22:42:52 +07:00
Ondřej Surý
f1224b4af1 When ISC assertions are disabled, still execute the condition to prevent unused variable warnings/errors from the compiler
(cherry picked from commit a831e0f72d)
(cherry picked from commit 3d834566f1)
2018-11-08 22:03:00 +07:00
Ondřej Surý
12a266211e Turn (int & flag) into (int & flag) != 0 when implicitly typed to bool
(cherry picked from commit b2b43fd235)
(cherry picked from commit fcd1569e2b)
2018-11-08 22:02:58 +07:00
Ondřej Surý
9d15323e24 Add small tweaks to the code to fix compilation when ISC assertions are disabled
While implementing the new unit testing framework cmocka, it was found that the
BIND 9 code doesn't compile when assertions are disabled or replaced with any
function (such as mock_assert() from cmocka unit testing framework) that's not
directly recognized as assertion by the compiler.

This made the compiler to complain about blocks of code that was recognized as
unreachable before, but now it isn't.

The changes in this commit include:

* assigns default values to couple of local variables,
* moves some return statements around INSIST assertions,
* adds __builtin_unreachable(); annotations after some INSIST assertions,
* fixes one broken assertion (= instead of ==)

(cherry picked from commit fbd2e47f51)
(cherry picked from commit b222783ae9)
2018-11-08 22:00:49 +07:00
Mark Andrews
67816c747d document eol
(cherry picked from commit 97a680e5ce)
2018-10-30 11:18:06 +11:00
Mark Andrews
ced589e379 avoid macro name collision with system defined macro
(cherry picked from commit 81b133d963)
2018-09-10 09:30:59 +10:00
Ondřej Surý
b92a1791b3 Use isc/stdatomic.h to switch to __atomic builtins when compiling in C++ mode 2018-09-07 16:55:22 +02:00
Witold Kręcicki
3da95ab2ed Align CMSG buffers to a void* boundary, fixes crash on architectures with strict alignment
CHANGES entry

(cherry picked from commit 17212cf996)
2018-09-07 10:30:12 +02:00
Ondřej Surý
302cae89f3 Bail-out early in the for install loops instead of continuing because for masks the error in the middle
(cherry picked from commit 25248eb097)
(cherry picked from commit 3fbceba0a8)
2018-09-03 13:49:35 +02:00
Witold Krecicki
eec06494aa Silence some warnings and errors
(cherry picked from commit 0f0dfc7f86)
2018-08-31 17:54:54 -07:00
Ondřej Surý
32a0d602ea We want to install compatibility shim isc/int.h and isc/boolean.h headers 2018-08-22 09:07:39 +02:00
Ondřej Surý
a2ffc37ad3 Don't install removed int.h and boolean.h headers 2018-08-14 20:14:05 -04:00
Ondřej Surý
0a10dfa524 Add compatibility isc/boolean.h and isc/int.h headers
(cherry picked from commit 0dad73aafa)
2018-08-10 15:20:58 +02:00
Ondřej Surý
1084b40b44 Replace custom isc_boolean_t with C standard bool type
(cherry picked from commit 994e656977)
(cherry picked from commit 884929400c)
2018-08-10 15:20:57 +02:00
Ondřej Surý
aaa76dc654 Replace custom isc_u?intNN_t types with C99 u?intNN_t types
(cherry picked from commit cb6a185c69)
(cherry picked from commit d61e6a3111)
2018-08-10 15:20:57 +02:00
Ondřej Surý
bfc6a25f2d Replace ISC_PRINT_QUADFORMAT with inttypes.h format constants
(cherry picked from commit 64fe6bbaf2)
(cherry picked from commit c863a076ae)
2018-08-10 15:20:57 +02:00
Evan Hunt
b75a2b9730 improve readability of radix code
- use RADIX_V4, RADIX_V6, RADIX_V4_ECS, and RADIX_V6_ECS as array
  indices instead of 0 through 3.
- remove some unused macros

(cherry picked from commit f7f20b1202)
2018-06-08 12:11:19 -07:00
Michał Kępień
803537b991 isc_buffer_*(): if source can be NULL, only call memmove() when length is non-zero
Certain isc_buffer_*() functions might call memmove() with the second
argument (source) set to NULL and the third argument (length) set to 0.
While harmless, it triggers an ubsan warning:

    runtime error: null pointer passed as argument 2, which is declared to never be null

Modify all memmove() call sites in lib/isc/include/isc/buffer.h and
lib/isc/buffer.c which may potentially use NULL as the second argument
(source) so that memmove() is only called if the third argument (length)
is non-zero.

(cherry picked from commit 6ddbca6f2b)
2018-05-15 09:32:19 +02:00
Ondřej Surý
188526f41c Remove $Id markers, Principal Author and Reviewed tags from the full source tree
(cherry picked from commit 55a10b7acd)
2018-05-11 14:25:15 +02:00
Evan Hunt
09cf48603a update file headers 2018-03-15 18:38:48 -07:00
Evan Hunt
8b205089b7 update file headers to remove copyright years 2018-03-14 16:40:20 -07:00
Mark Andrews
5bcd0fe019 copyrights 2018-01-25 16:47:34 +11:00
Mark Andrews
31c7ab4fb3 4811. [bug] Revert api changes to use <isc/buffer.h> inline
macros.  Provide a alternative mechanism to turn
                        on the use of inline macros when building BIND.
                        [RT #46520]

(cherry picked from commit a1a5145867)
2018-01-25 16:42:37 +11:00
Evan Hunt
567aab801d [v9_11] copyrights 2018-01-24 09:50:56 -08:00
Mark Andrews
fc04365d2f 4875. [bug] Address compile failures on older systems. [RT #47015]
(cherry picked from commit 99178b6329)
2018-01-24 13:10:44 +11:00
Tinderbox User
9eb24f1f84 update copyright notice / whitespace 2018-01-17 23:47:10 +00:00
Francis Dupont
f9c410d937 Merged rt46864 (check MD5 amd SHA1 support) 2018-01-17 14:40:13 +01:00
Tinderbox User
a1cf2291a9 update copyright notice / whitespace 2017-12-06 23:46:07 +00:00
Mukund Sivaraman
16f43564c6 Backport performance work to 9.11 (#45637) 2017-12-06 10:35:21 +05:30
Mark Andrews
de9c02bbe8 silence compiler warning [RT #46471] 2017-11-23 17:02:31 +11:00
Mark Andrews
24231e53a5 4804. [port] win32: access() does not work on directories as
required by POSIX.  Supply a alternative in
                        isc_file_isdirwritable. [RT #46394]
2017-11-01 09:39:08 +11:00
Tinderbox User
ff2d95be3d update copyright notice / whitespace 2017-10-19 23:46:54 +00:00
Mark Andrews
659b66eb54 s/REQUIRE/ISC_REQUIRE/; include <isc/assertions.h> if ISC_REQUIRE is used; include <isc/likely.h> if ISC_{UN}LIKELY is used
(cherry picked from commit 0fab171196)
2017-10-19 16:47:23 +11:00
Mark Andrews
f44202ab64 4774. [bug] <isc/util.h> was incorrectly included in several
header files. [RT #46311]

(cherry picked from commit fe79e2efbf)
2017-10-19 12:32:53 +11:00
Tinderbox User
3d5ed84c6f update copyright notice / whitespace 2017-10-17 23:49:26 +00:00
Michał Kępień
ad9772c559 [v9_11] Doxygen fixes and cleanups
4773.	[doc]		Fixed generating Doxygen documentation for functions
			annotated using certain macros.  Miscellaneous
			Doxygen-related cleanups. [RT #46276]

(cherry picked from commit 2361003a88)
2017-10-17 06:58:05 +02:00
Tinderbox User
8a99b24dbe update copyright notice / whitespace 2017-10-06 23:46:41 +00:00
Evan Hunt
f592d2f76c [v9_11] further restrict update-policy local
4762.	[func]		"update-policy local" is now restricted to updates
                from local addresses. (Previously, other addresses
                were allowed so long as updates were signed by the
                local session key.) [RT #45492]
2017-10-06 15:43:18 -07:00
Tinderbox User
0bf752f483 update copyright notice / whitespace 2017-09-27 23:46:52 +00:00
Mukund Sivaraman
a8fa3e2d44 Make isc_refcount_current() atomically read the counter value (#46074)
(cherry picked from commit abb8813a33)
2017-09-27 15:09:42 +05:30
Mark Andrews
d72952cf25 4739. [cleanup] Address clang static analysis warnings. [RT #45952]
(cherry picked from commit f9f3f20d2d)
2017-09-27 10:58:44 +10:00
Mukund Sivaraman
dc0d95a23d Use stdint.h only when stdatomic.h is in use (stdint.h isn't available everywhere)
(cherry picked from commit fb9712f639)
2017-09-22 15:15:34 +05:30
Tinderbox User
8688e7005a update copyright notice / whitespace 2017-09-19 23:47:50 +00:00
Mukund Sivaraman
b5252fcde5 Don't use memset() to wipe memory (#45947)
(cherry picked from commit d5707676e4)
2017-09-19 17:00:37 +05:30
Mukund Sivaraman
9905606390 Use C11's stdatomic.h instead of isc_atomic where available
(cherry picked from commit 404c9b1c53)
2017-09-19 15:49:21 +05:30
Tinderbox User
bd911976d5 update copyright notice / whitespace 2017-09-13 23:52:25 +00:00
Evan Hunt
7cd594b842 [master] cleanup strcat/strcpy
4722.	[cleanup]	Clean up uses of strcpy() and strcat() in favor of
			strlcpy() and strlcat() for safety. [RT #45981]

(cherry picked from commit 114f95089c)
2017-09-13 00:17:16 -07:00