Commit Graph
3181 Commits
Author SHA1 Message Date
Evan Hunt f29a9d5bc5 convert parse_test
(cherry picked from commit a7c308df9c)
2018-11-14 22:08:50 -08:00
Evan Hunt 856add745a convert counter_test
(cherry picked from commit 52b86f0abe)
2018-11-14 22:08:50 -08:00
Evan Hunt 3095574c1c convert buffer_test
(cherry picked from commit 02a5db7631)
2018-11-14 22:08:49 -08:00
Evan Hunt c679b85424 convert aes_test
(cherry picked from commit dc88db015b)
2018-11-14 22:08:26 -08:00
Evan Hunt 41831a7d24 assert if {isc,dns,ns}_test_begin() is called when a prior test is running
(cherry picked from commit d8766293ab)
2018-11-14 22:04:35 -08:00
Evan Hunt 03c7a096c6 remove .NOTPARALLEL so unit tests can build faster
(cherry picked from commit b434b0a4b6)
2018-11-14 21:54:43 -08:00
Mark Andrews 97a108f00d remove lib/isc/tests/result_test as it is now cmocka
(cherry picked from commit 9024cf0c15)
2018-11-13 07:50:13 +11:00
Evan HuntandMark Andrews 0a2706b288 convert result tests to use CMocka instead of ATF
(cherry picked from commit 471110933a)
2018-11-12 15:10:52 +11:00
Mark Andrews 3bc66aa712 check result tables are complete
(cherry picked from commit 4f04a79250)
2018-11-12 15:09:37 +11:00
Ondřej SurýandMark Andrews 3223b1b540 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:31:45 +11:00
Ondřej SurýandMark Andrews 3b2f9ceec6 Integrate cmocka unit testing framework to kyua
(cherry picked from commit 07910f0153)
2018-11-12 12:22:33 +11:00
Ondřej Surý a5e7901eb9 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
	-----	--------------------------------------
2018-11-09 04:50:50 +07:00
Ondřej Surý 956d1bda02 isc_stdtime_t is always 32-bit now, so remove the always true macro STDTIME_ON_32BITS
(cherry picked from commit 6f5fe11f5a)
2018-11-09 02:56:49 +07:00
Ondřej Surý 6610da90d1 Define PK11_UTIMACO_FLAVOR and add detection code to configure.ac
(cherry picked from commit 2079e44fb9)
2018-11-09 00:35:05 +07:00
Ondřej Surý 5ad72603a8 Remove dummy ISLOCKED macro
(cherry picked from commit 68ca987792)
2018-11-08 15:09:12 +07:00
Ondřej Surý 4568669807 Hint the compiler with ISC_UNREACHABLE(); that code after INSIST(0); cannot be reached
(cherry picked from commit 23fff6c569)
2018-11-08 15:09:12 +07:00
Ondřej Surý 1e6329038b Don't assert on failed getrlimit call to allow called to handle this gracefully as it already does, just abort where we need to know the numbers
(cherry picked from commit e2e138a801)
2018-11-08 14:37:14 +07:00
Ondřej Surý 3d834566f1 When ISC assertions are disabled, still execute the condition to prevent unused variable warnings/errors from the compiler
(cherry picked from commit a831e0f72d)
2018-11-08 14:37:14 +07:00
Ondřej Surý fcd1569e2b Turn (int & flag) into (int & flag) != 0 when implicitly typed to bool
(cherry picked from commit b2b43fd235)
2018-11-08 14:37:14 +07:00
Ondřej Surý b222783ae9 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)
2018-11-08 14:05:23 +07:00
Evan Hunt d99a9db93a silence warning from missing print.h
(cherry picked from commit a0de6707c0)
2018-10-30 08:09:28 -07:00
Michał Kępień a21c1aacdf Fix isc_buffer_copyregion() for auto-reallocated buffers
While isc_buffer_copyregion() calls isc_buffer_reserve() to ensure the
target buffer will have enough available space to append the contents of
the source region to it, the variables used for subsequently checking
available space are not updated accordingly after that call.  This
prevents isc_buffer_copyregion() from working as expected for
auto-reallocated buffers: ISC_R_NOSPACE will be returned if enough space
is not already available in the target buffer before it is reallocated.
Fix by calling isc_buffer_used() and isc_buffer_availablelength()
directly instead of assigning their return values to local variables.

(cherry picked from commit e1f0aed034)
2018-10-30 13:33:42 +01:00
Michał Kępień 72caf33ffb Add unit tests for isc_buffer_copyregion()
Add some basic checks for isc_buffer_copyregion() to ensure it behaves
as expected for both fixed-size buffers and buffers which can be
automatically reallocated.  Adjust the list of headers included by
lib/isc/tests/buffer_test.c so that it matches what that test program
really uses.

(cherry picked from commit 15440d8027)
2018-10-30 13:33:42 +01:00
Mark Andrews d09955736a document eol
(cherry picked from commit 97a680e5ce)
2018-10-30 11:16:49 +11:00
Mark Andrews 7ccca052c0 Only set IPV6_USE_MIN_MTU on IPv6.
(cherry picked from commit 561b780ba0)
2018-10-29 17:28:57 +11:00
Mark Andrews 7f07a0bb5d expand the pool then copy over the old entries so we that failures do not break the old pool; also don't leak the new pool on error
(cherry picked from commit afde30fe9b)
2018-10-25 13:20:03 +11:00
Tinderbox User 7f5e4faed8 prep 9.12.3rc1 2018-09-29 04:21:11 +00:00
Zhaolong ZhangandEvan Hunt 811c5ebf92 Fix crash caused by race condition in timer creation
The race condition is the timer elapses before isc__timer_create()
returns the pointer to the caller.  Assigning the return pointer before
enabling the timer will fix it.

(cherry picked from commit 21966423cd)
2018-09-27 12:59:51 -07:00
Mark Andrews 9a14141676 avoid macro name collision with system defined macro
(cherry picked from commit 81b133d963)
2018-09-10 09:30:38 +10:00
Witold KręcickiandOndřej Surý 0f6dee2a45 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:27:20 +02:00
Ondřej Surý 3fbceba0a8 Bail-out early in the for install loops instead of continuing because for masks the error in the middle
(cherry picked from commit 25248eb097)
2018-09-03 13:31:17 +02:00
Witold KrecickiandEvan Hunt 0f0dfc7f86 Silence some warnings and errors 2018-08-31 17:33:03 -07:00
Mark Andrews 072069f1d5 use sizeof(CK_SLOT_ID)
(cherry picked from commit 2c1d8b2e99)
2018-08-24 11:32:11 +10:00
Mark Andrews 59ce0f2620 unlink before unlock
(cherry picked from commit 4742f4ecba)
2018-08-24 10:58:20 +10:00
Ondřej Surý e66fdc5738 We want to install compatibility shim isc/int.h and isc/boolean.h headers 2018-08-22 09:22:35 +02:00
Mark Andrews 2dd18e9f60 fix lock order reversal
(cherry picked from commit 2bb4392bb3)
2018-08-21 13:30:47 +10:00
Ondřej SurýandMark Andrews e897ec66e6 Don't install removed int.h and boolean.h headers 2018-08-14 20:10:14 -04:00
Mark AndrewsandEvan Hunt cbccec86f7 mempool didn't work for sizes less than sizeof(void*)
(cherry picked from commit 5dd1beec8e)
2018-08-14 09:00:05 -07:00
Ondřej Surý cee556c4dd Make ENOBUFS a soft error
(cherry picked from commit ebf3083e08)
2018-08-13 19:22:56 +02:00
Ondřej SurýandOndřej Surý 08a962545d Fix various build failures on Windows (Courtesy of rockerinthelocker) 2018-08-11 05:57:42 -04:00
Ondřej SurýandOndřej Surý d87c1a120d Fix missing config.h in win32/socket.c and replace config.h with <config.h> 2018-08-11 04:45:37 -04:00
Ondřej Surý 0dad73aafa Add compatibility isc/boolean.h and isc/int.h headers 2018-08-10 11:17:51 +02:00
Ondřej Surý 2844f6529d Remove duplicate config.h
(cherry picked from commit 7351c505a0)
2018-08-10 11:17:51 +02:00
Ondřej Surý 884929400c Replace custom isc_boolean_t with C standard bool type
(cherry picked from commit 994e656977)
2018-08-10 11:17:51 +02:00
Ondřej Surý d61e6a3111 Replace custom isc_u?intNN_t types with C99 u?intNN_t types
(cherry picked from commit cb6a185c69)
2018-08-09 18:30:20 +02:00
Ondřej Surý 3523850065 Get rid of extra UINT64_MAX definition in lib/isc/win32/time.c
(cherry picked from commit 055278c936)
2018-08-09 18:30:20 +02:00
Ondřej Surý c863a076ae Replace ISC_PRINT_QUADFORMAT with inttypes.h format constants
(cherry picked from commit 64fe6bbaf2)
2018-08-09 18:30:20 +02:00
Mark Andrews 70d39a86ed remove dead code
(cherry picked from commit 83a1e87dd2)
2018-08-03 09:50:25 +10:00
Ondřej Surý 38a6d1d44d Change isc_buffer_reallocate() into a static functions as it is not used outside of isc_buffer_reserve()
(cherry picked from commit 20faf4652a)
2018-08-01 08:41:25 +02:00
Ondřej Surý 56117f9799 Remove illogical condition from isc_buffer_reallocate that would return ISC_R_NOSPACE when requested size is less than available size
(cherry picked from commit 7785f644c3)
2018-08-01 08:41:25 +02:00