Ondřej Surý
de2ce4c7ca
Rewrite reference counting in isc_mem to use isc_refcount API
2018-05-24 18:22:56 +02:00
Ondřej Surý
8039f3c00f
Rewrite isc_refcount API after stdatomics and use release-acquire memory barriers
2018-05-24 18:22:56 +02:00
Ondřej Surý
7f7f1868c2
Add compatibility stdatomic.h header for Windows
2018-05-24 16:36:07 +02:00
Ondřej Surý
1721667a01
Only require stdatomic.h when compiled with threading support
2018-05-24 10:37:46 +02:00
Mukund Sivaraman
bcb011a306
Various fixes to lib/isc/stats.c
...
* Re-introduce ISC_STATS_LOCKCOUNTERS so that it is an optional feature (it adds lock contention)
* Fix desired rwlock type in lock calls (they were opposite of what should be used)
* Add locking to isc_stats_set()
* Inline create_stats()
2018-05-24 10:37:46 +02:00
Ondřej Surý
41b34f7416
Reintroduce the rwlock needed for dumping stats consistently
2018-05-24 10:37:46 +02:00
Ondřej Surý
4f03d524f7
Cleanup atomic from Windows build files
2018-05-24 10:37:45 +02:00
Ondřej Surý
158986c5e9
Unwrap isc_refcount_t from struct isc_refcount as it is always a simple type now
2018-05-24 10:37:06 +02:00
Ondřej Surý
ef368be4d1
Remove extra incrementcounter / decrementcounter functions
2018-05-24 10:36:23 +02:00
Ondřej Surý
42dccefb37
C compiler standard atomics support is now required to compile
2018-05-24 10:36:23 +02:00
Evan Hunt
9147a31b94
copyrights
2018-05-23 12:39:40 -04:00
Evan Hunt
1c1a02d244
fix broken win32 code in random.c
2018-05-22 16:32:21 -07:00
Ondřej Surý
7ee8a7e69f
address win32 build issues
...
- Replace external -DOPENSSL/-DPKCS11CRYPTO with properly AC_DEFINEd
HAVE_OPENSSL/HAVE_PKCS11
- Don't enforce the crypto provider from platform.h, just from dst_api.c
and configure scripts
2018-05-22 16:32:21 -07:00
Ondřej Surý
c4a38bd127
Remove extra FATAL prefix from FATAL_ERROR call
2018-05-22 12:31:54 +02:00
Ondřej Surý
88631dad8f
Provide better error message on failed RAND_bytes call
2018-05-22 12:12:25 +02:00
Tinderbox User
9536688b37
regenerate doc
2018-05-21 19:59:45 +00:00
Evan Hunt
df4df8e0d5
begin preparation for 9.13.0
...
- tidy up release notes, removing the existing "security fixes" and
"bug fixes" sections
- add a section in the release notes to discuss the new version
numbering
- update version, CHANGES, api, and mapapi files
2018-05-21 11:50:38 -07:00
Mark Andrews
6bff1768cf
ISC_SOCKEVENTATTR_TRUNC was not be set
2018-05-18 15:34:48 +10:00
Ondřej Surý
2b8fab6828
Remove genrandom command and all usage of specific random files throughout the system test suite
2018-05-16 09:54:35 +02:00
Ondřej Surý
3a4f820d62
Replace all random functions with isc_random, isc_random_buf and isc_random_uniform API.
...
The three functions has been modeled after the arc4random family of
functions, and they will always return random bytes.
The isc_random family of functions internally use these CSPRNG (if available):
1. getrandom() libc call (might be available on Linux and Solaris)
2. SYS_getrandom syscall (might be available on Linux, detected at runtime)
3. arc4random(), arc4random_buf() and arc4random_uniform() (available on BSDs and Mac OS X)
4. crypto library function:
4a. RAND_bytes in case OpenSSL
4b. pkcs_C_GenerateRandom() in case PKCS#11 library
2018-05-16 09:54:35 +02:00
Michał Kępień
6ddbca6f2b
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.
2018-05-15 09:11:34 +02:00
Ondřej Surý
23c1f7e506
Enforce usage of OpenSSL or PKCS#11 library in platform.h header
2018-05-13 19:18:56 -07:00
Ondřej Surý
55a10b7acd
Remove $Id markers, Principal Author and Reviewed tags from the full source tree
2018-05-11 13:17:46 +02:00
Mark Andrews
6aae115d15
silence cppcheck portability warning
2018-05-11 08:12:17 +02:00
Mukund Sivaraman
3adcc033f6
Don't keep around debuglist structs when done
2018-05-11 11:17:14 +10:00
Mukund Sivaraman
b9886abd86
Reduce number of buckets in tracklines debuglink table
...
With 1044 res contexts, each with 65536 debuglink structs of 16 bytes
each, the debuglink table itself was consuming 1GB+ of memory.
2018-05-11 11:17:14 +10:00
Michał Kępień
172d0c401e
Address GCC 8 -Wformat-truncation warnings
2018-05-10 10:35:01 +02:00
Ondřej Surý
9a3a257374
Always use random data from the crypto provider
2018-05-03 15:03:46 +02:00
Ondřej Surý
8d3220643c
Also test the higher part of the confidence interval
2018-05-03 08:30:31 -04:00
Mark Andrews
f8d2a46daa
remove exit calls after FATAL_ERROR
2018-04-20 14:50:35 -07:00
Mark Andrews
49f8e9571c
use %u instead of %d for unsigned int arguments
2018-04-20 14:50:35 -07:00
Ondřej Surý
5311a3b7b5
We use too old Visual Compiler to use scoped variables
2018-04-12 10:37:33 +02:00
Ondřej Surý
7278c455bc
Remove isc_string_strcasestr implementation and clean up the header and headers
2018-04-12 10:37:33 +02:00
Ondřej Surý
11f26b42e3
Replace all usage of non-reentrant strtok() with strtok_r()
2018-04-12 10:37:33 +02:00
Ondřej Surý
921d05ddcf
Replace usage of strsep with POSIX strtok_r()
2018-04-12 10:37:33 +02:00
Ondřej Surý
b9552250cb
Remove unused isc_string_regiondup function.
2018-04-12 10:37:33 +02:00
Ondřej Surý
9fda5253fd
Remove isc_string_printf and isc_string_printf_truncate.
...
Replace with simple snprintf() as appropriate.
2018-04-12 10:37:33 +02:00
Ondřej Surý
ccdb0287e8
Remove isc_string_copy, isc_string_copy_truncate and isc_string_append.
...
Use strlcpy and strlcat as appropriate instead.
2018-04-12 10:37:33 +02:00
Ondřej Surý
20d145efef
Replace isc_string_touint64 with strtoull (C99)
2018-04-12 10:37:33 +02:00
Ondřej Surý
8bdc23add2
Change ISC_SOCKEVENTATTR_* defines into isc_sockeventattr_t enum
2018-04-12 09:54:24 +02:00
Ondřej Surý
c2f42583c0
Refactor ISC_SOCKET_* defines into an isc_socket_options_t enum
2018-04-12 09:54:21 +02:00
Ondřej Surý
8c99d104e3
Sync isc_file_template functions between unix and win32, so they are same
2018-04-11 23:04:20 +02:00
Ondřej Surý
7467735258
Define PATH_MAX on Windows as _MAX_PATH, so we can use it everywhere
2018-04-11 12:04:39 +02:00
Ondřej Surý
3c092eff4a
Cleanup included headers in hash.c using iwyu
2018-04-04 23:12:14 +02:00
Ondřej Surý
860d4f6177
Remove premature optimization in the FNV-1a while loop, the difference is negligible and the code is simpler.
2018-04-04 23:12:14 +02:00
Ondřej Surý
b097be17ef
Remove unused obsolete isc_hash_* function, and just keep the FNV-1a version
2018-04-04 23:12:14 +02:00
Ondřej Surý
05a1f9f301
chg: dev: Require support for ftello/fseeko functions
2018-03-17 22:51:13 +00:00
Evan Hunt
0fabe0da83
update file headers
2018-03-15 18:33:13 -07:00
Evan Hunt
1b3eac926e
add an 'untested' case when none of the atomic operations are available
...
- this fixes a build failure introduced in change 4913 when
compiling with ATF and --disable-atomic
2018-03-15 14:15:20 -04:00
Evan Hunt
56353aaf42
Fix compiler warnings and test failures when building without threads
2018-03-10 10:35:31 -08:00