Ondřej Surý
25248eb097
Bail-out early in the for install loops instead of continuing because for masks the error in the middle
2018-09-03 12:05:45 +02:00
Witold Krecicki
d932ec871c
Silence some warnings and errors
2018-08-31 13:48:26 -07:00
Ondřej Surý
aa3e33575d
Fixup Windows build after strerr changes
2018-08-29 21:21:52 +02:00
Evan Hunt
1656152d76
Ensure that POSIX strerror_r variant is use even when _GNU_SOURCE is enabled by default
2018-08-29 13:31:28 +02:00
Ondřej Surý
dc410ce58f
Remove broken @ISC_IPV6_H@ placeholder from Makefile.in
2018-08-28 21:15:32 +02:00
Ondřej Surý
91aa405778
Update the isc_refcount documentation in doxygen format
2018-08-28 13:15:59 +02:00
Ondřej Surý
d1d15c03e2
Switch everything back to relaxed memory ordering
2018-08-28 12:15:39 +02:00
Ondřej Surý
bef8ac5bae
Rewrite isc_refcount API to fetch_and_<op>, instead of former <op>_and_<fetch>
2018-08-28 12:15:39 +02:00
Ondřej Surý
0a7535ac81
isc_refcount_init() now doesn't return isc_result_t and asserts on failed initialization
2018-08-28 12:15:39 +02:00
Ondřej Surý
e9e55cbd03
Remove isc_atomic usage from rwlock.c and stats.c
2018-08-28 12:15:39 +02:00
Ondřej Surý
e119de4169
Replace arch specific atomic.h with global atomic.h header using either stdatomic, __atomic or __sync primitives
2018-08-28 12:15:39 +02:00
Ondřej Surý
facc390b54
Update configure.in to check for both stdatomic.h and __atomic builtins
2018-08-28 12:15:39 +02:00
Ondřej Surý
f1d658764c
Remove dead check for long long support
2018-08-28 10:31:49 +02:00
Ondřej Surý
52e1c45156
Assume PTHREAD_ONCE_INIT is not broken (remove support for ancient Solaris)
2018-08-28 10:31:48 +02:00
Ondřej Surý
1672935717
Use strerror_r from POSIX.1-2001 (strerror_s on Windows) instead of custom isc__strerror()
2018-08-28 10:31:48 +02:00
Ondřej Surý
efd613e874
memmove, strtoul, and strcasestr functions are part of ISO C90, remove the compatibility shim
2018-08-28 10:31:48 +02:00
Ondřej Surý
29c853f500
Remove check for isc_port_t; Windows never have it, Unix always have it
2018-08-28 10:31:48 +02:00
Ondřej Surý
40f7680efa
Ignore sockaddr_{sin,sin6,sun}.{sin,sin6,sun}_len even on systems that define it
2018-08-28 10:31:48 +02:00
Ondřej Surý
e6dc08b06c
Always assume BSD4.4 msghdr version
2018-08-28 10:31:48 +02:00
Ondřej Surý
388d6db5a1
Remove support for legacy systems without inet_{ntop,pton} w/ IPv6 support
2018-08-28 10:31:48 +02:00
Ondřej Surý
3ab9c99567
Remove support for legacy systems without in6_pktinfo
2018-08-28 10:31:48 +02:00
Ondřej Surý
8c526df306
Remove support for legacy systems without sin6_scope_id
2018-08-28 10:31:48 +02:00
Ondřej Surý
4150a86046
Remove support for legacy platforms without in6addr_loopback
2018-08-28 10:31:48 +02:00
Ondřej Surý
5083a42072
Remove support for legacy systems without in6addr_any
2018-08-28 10:31:48 +02:00
Ondřej Surý
b962f47d3e
Remove support for pre-RFC2133 IPv6 implementation (in_addr6)
2018-08-28 10:31:48 +02:00
Ondřej Surý
7b21bbb7c1
Require IPv6 support from the OS
2018-08-28 10:31:47 +02:00
Ondřej Surý
b02de1ec30
Remove legacy support for SunOS
2018-08-28 10:31:47 +02:00
Ondřej Surý
18e3c8d232
Remove legacy support for Tru64
2018-08-28 10:31:47 +02:00
Ondřej Surý
9a8da1e25a
Remove legacy BSD/OS support (ipv6,various hacks)
2018-08-28 10:31:47 +02:00
Ondřej Surý
e53a72a649
Remove legacy UnixWare support (sigwait, ipv6)
2018-08-28 10:31:47 +02:00
Witold Kręcicki
5cdb38c2c7
Remove unthreaded support
2018-08-16 17:18:52 +02:00
Mathieu Arnold
4c06eb20cc
Don't try to install removed int.h and boolean.h headers
2018-08-13 15:30:36 +02:00
Ondřej Surý
994e656977
Replace custom isc_boolean_t with C standard bool type
2018-08-08 09:37:30 +02:00
Ondřej Surý
cb6a185c69
Replace custom isc_u?intNN_t types with C99 u?intNN_t types
2018-08-08 09:37:28 +02:00
Ondřej Surý
64fe6bbaf2
Replace ISC_PRINT_QUADFORMAT with inttypes.h format constants
2018-08-08 09:36:44 +02:00
Ondřej Surý
20faf4652a
Change isc_buffer_reallocate() into a static functions as it is not used outside of isc_buffer_reserve()
2018-07-31 22:00:30 +02:00
Ondřej Surý
b105ccee68
Remove isc_safe_memcompare, it's not needed anywhere and can't be replaced with CRYPTO_memcmp()
2018-07-20 10:06:14 -04:00
Ondřej Surý
66ba2fdad5
Replace isc_safe routines with their OpenSSL counter parts
2018-07-20 00:34:26 -04:00
Mark Andrews
4c3386ad95
remove lib/isc/print.c and lib/isc/tests/print_test.c
2018-07-19 23:24:28 -04:00
Ondřej Surý
fc496b2b5d
Fix DH and ECDSA algorithms in PKCS#11 build
2018-07-19 14:00:40 -04:00
Ondřej Surý
c3b8130fe8
Make OpenSSL mandatory
2018-07-19 12:47:03 -04:00
Ondřej Surý
45bee4d3c3
Cleanup cmocka related whitespace
2018-06-21 12:20:07 +02:00
Ondřej Surý
52731c000d
Add support for cmocka assert testing by overriding REQUIRE/INSIST/... macros when UNIT_TESTING is defined
2018-06-20 06:30:07 -04:00
Ondřej Surý
8ee23a47e8
Add better EMPTY_TRANSLATION_UNIT to isc/util.h
2018-06-14 17:58:03 -04:00
Ondřej Surý
b4aa7a9d7e
Remove entropy.h from Makefile.in
2018-06-06 14:36:33 +02:00
Ondřej Surý
27593e65dc
Remove support for obsoleted ECC-GOST (GOST R 34.11-94) algorithm
2018-06-05 09:14:14 +02:00
Ondřej Surý
28e0b2c4c4
Use isc int types to be able to build with old VS
2018-05-30 06:26:05 +02:00
Ondřej Surý
ce71d94434
Make the xoshiro128plusplus thread-safe
2018-05-29 22:58:49 +02:00
Ondřej Surý
99ba29bc52
Change isc_random() to be just PRNG, and add isc_nonce_buf() that uses CSPRNG
...
This commit reverts the previous change to use system provided
entropy, as (SYS_)getrandom is very slow on Linux because it is
a syscall.
The change introduced in this commit adds a new call isc_nonce_buf
that uses CSPRNG from cryptographic library provider to generate
secure data that can be and must be used for generating nonces.
Example usage would be DNS cookies.
The isc_random() API has been changed to use fast PRNG that is not
cryptographically secure, but runs entirely in user space. Two
contestants have been considered xoroshiro family of the functions
by Villa&Blackman and PCG by O'Neill. After a consideration the
xoshiro128starstar function has been used as uint32_t random number
provider because it is very fast and has good enough properties
for our usage pattern.
The other change introduced in the commit is the more extensive usage
of isc_random_uniform in places where the usage pattern was
isc_random() % n to prevent modulo bias. For usage patterns where
only 16 or 8 bits are needed (DNS Message ID), the isc_random()
functions has been renamed to isc_random32(), and isc_random16() and
isc_random8() functions have been introduced by &-ing the
isc_random32() output with 0xffff and 0xff. Please note that the
functions that uses stripped down bit count doesn't pass our
NIST SP 800-22 based random test.
2018-05-29 22:58:21 +02:00
Evan Hunt
3006ccb7f0
improve readability of radix code
...
- use RADIX_V4 and RADIX_V6 instead of 0 and 1 as array indices
- remove some unused macros
2018-05-28 18:45:41 -04:00