Ondřej Surý
8903d68d69
gcc defines __SANITIZE_ADDRESS__ and not __ADDRESS_SANITIZER__, use the correct #define
2018-12-19 12:24:59 +01:00
Ondřej Surý
e1ce3a3d42
Define __ADDRESS_SANITIZER__ if compiling under clang's AddressSanitizer
2018-12-19 09:54:37 +01:00
Tinderbox User
5bd855251c
prep 9.13.5
2018-12-07 03:41:19 +00:00
Ondřej Surý
953a957dfa
Just #define isc_refcount_increment0() to isc_refcount_increment()
2018-12-05 14:16:41 +01:00
Ondřej Surý
8537adef4c
The isc_refcount_decrement must use memory_order_release and isc_refcount_destroy must run thread barrier with memory_order_require
2018-12-05 14:11:53 +01:00
Witold Kręcicki
ddc1d4d6d4
Fix a race between process_fd and socketclose in unix socket code. [GL #744 ]
2018-12-05 12:03:52 +00:00
Ondřej Surý
d13cabd27e
fixup! When compiling for fuzzing, ensure the pseudo random number seed is non-zero.
2018-11-30 11:21:55 +00:00
Stephen Morris
77032a4e29
When compiling for fuzzing, ensure the pseudo random number seed is non-zero.
2018-11-30 11:21:55 +00:00
Mark Andrews
a487473fc5
add missing DBC checks for catz and add isc_magic checks; add DBC checks to ht.c
2018-11-29 12:39:20 +11:00
Ondřej Surý
a688a43faf
Move the CMocka include directories from CFLAGS to CINCLUDES where it belongs to not get overriden later by the default CFLAGS rule
2018-11-26 16:16:34 +01:00
Michał Kępień
62ca7743ae
Fix compilation on CentOS 6 (i386)
...
The stock toolchain available on CentOS 6 for i386 is unable to use the
_mm_pause() intrinsic. Fix by using "rep; nop" assembly instructions on
that platform instead.
2018-11-26 10:57:14 +01:00
Ondřej Surý
e24afa3088
Fix typo __LINE -> __LINE__
2018-11-24 00:53:24 +01:00
Witold Kręcicki
d5793ecca2
- isc_task_create_bound - create a task bound to specific task queue
...
If we know that we'll have a task pool doing specific thing it's better
to use this knowledge and bind tasks to task queues, this behaves better
than randomly choosing the task queue.
- use bound resolver tasks - we have a pool of tasks doing resolutions,
we can spread the load evenly using isc_task_create_bound
- quantum set universally to 25
2018-11-23 04:34:02 -05:00
Mark Andrews
509dad8737
handle systems without IPv4
2018-11-23 12:05:53 +11:00
Mark Andrews
6696a40ea9
address resource leak; don't call close() on socket error;
2018-11-23 10:34:59 +11:00
Ondřej Surý
d1a8a3faed
Memory allocations must be fatal even when default_memalloc is not used
2018-11-22 16:46:57 +01:00
Ondřej Surý
2fa857d502
Cleanup lib/isc/mem.c after failed allocations made fatal
2018-11-22 16:46:56 +01:00
Ondřej Surý
3987a146be
Remove isc_mem_{set,get}quota unused functions
2018-11-22 16:46:56 +01:00
Håvard Eidnes
f6c4ed94e4
Fix the build on NetBSD due to the differences in pthread implementation.
...
Signed-off-by: Ondřej Surý <ondrej@sury.org>
2018-11-22 09:43:43 -05:00
Witold Kręcicki
929ea7c2c4
- Make isc_mutex_destroy return void
...
- Make isc_mutexblock_init/destroy return void
- Minor cleanups
2018-11-22 11:52:08 +00:00
Ondřej Surý
d940e95206
isc_quota_init now returns 'void'
2018-11-22 11:52:08 +00:00
Ondřej Surý
2f3eee5a4f
isc_mutex_init returns 'void'
2018-11-22 11:51:49 +00:00
Ondřej Surý
73a8999d1c
isc_condition_init returns 'void'
2018-11-22 11:51:49 +00:00
Witold Kręcicki
0bed9bfc28
isc_mutex_init and isc_condition_init failures are now fatal
2018-11-22 11:51:49 +00:00
Tinderbox User
db1cd0d970
prep 9.13.4
2018-11-22 00:20:22 +00:00
Witold Kręcicki
5f81aa10bc
Use proper casting in socket unit test
2018-11-19 17:40:34 +01:00
Ondřej Surý
7a3eb391fa
Fix memory leak in lex_test.c
2018-11-19 07:47:05 +01:00
Evan Hunt
8f15219f36
remove (or hide behind a 'verbose' flag) extra output from system tests
2018-11-16 20:46:14 +00:00
Mark Andrews
1ca5920113
2018-11-16 12:24:18 +11:00
Mark Andrews
474fbe88bf
add missing tasks argument
2018-11-16 11:51:05 +11:00
Evan Hunt
c2a274cc5d
silence "unused return value" warning
2018-11-15 12:54:11 -08:00
Ondřej Surý
8de2451756
Abort on memory allocation failure
2018-11-15 17:24:08 +01:00
Witold Kręcicki
79afbe2966
Some comments
2018-11-15 08:21:40 +00:00
Witold Kręcicki
16d329d55b
Work with assumption that isc_mem_get always succeds; Crash if isc_thread_create, isc_mutex_init or isc_condition_init fails
2018-11-15 08:21:40 +00:00
Evan Hunt
1f0cd6606e
style: one-line statement braces, line length, etc
2018-11-15 08:21:40 +00:00
Witold Krecicki
e55bbec66e
FreeBSD fixes - proper affinity setting, don't use SO_REUSEPORT
2018-11-15 08:21:17 +00:00
Witold Krecicki
3f7d79e574
Don't doublelock fdlock on Solaris
2018-11-15 08:21:17 +00:00
Witold Kręcicki
ca7b5ceee5
Synchronize Windows socket code with API changes.
2018-11-15 08:21:17 +00:00
Witold Kręcicki
c1a4f0e66a
Use multiple worker queues (using isc_task_sendto()) in unix socket code
2018-11-15 08:21:17 +00:00
Witold Kręcicki
b2b210d6d9
Make watching/unwatching sockets saner.
2018-11-15 08:21:17 +00:00
Witold Kręcicki
d652551e86
Use the newly accepted FD in TCP code.
2018-11-15 08:21:17 +00:00
Witold Kręcicki
88edf8fe4d
Use isc_refcount_t in socket reference counting.
2018-11-15 08:21:17 +00:00
Witold Krecicki
7223790380
Multiple network event loop threads support for Solarises /dev/poll.
2018-11-15 08:21:17 +00:00
Witold Kręcicki
9c926a5d9b
Mangle fdlocks a bit.
...
Mutexes are slower if they're in the same cache line. Since
fd's come in herds, and usually our listen sockets will have nearby
fd numbers, we mangle fdlocks so that the locks are further away.
2018-11-15 08:21:17 +00:00
Witold Kręcicki
58d75d9d8d
Fix a race between socket closing and incoming event.
2018-11-15 08:21:17 +00:00
Witold Kręcicki
f94f4bc1f4
Set network threads CPU affintity.
2018-11-15 08:21:17 +00:00
Witold Kręcicki
bd024eee57
Add runtime detection of SO_REUSEPORT, use it instead of dup() if available.
2018-11-15 08:21:17 +00:00
Witold Krecicki
6feb688f69
Use multiple network event loop threads with separate data structures.
2018-11-15 08:21:17 +00:00
Witold Kręcicki
cbc1b12311
Do IO after event directly in the network thread, don't queue an event in a separate task.
2018-11-15 08:21:17 +00:00
Witold Kręcicki
778ab8158a
Remove fdwatch sockets, those are not used anywhere.
2018-11-15 08:21:17 +00:00
Evan Hunt
8c4d50c6bc
remove ATF source code and Atffiles
2018-11-14 20:17:04 -08:00
Joey
9eea00cd3c
convert socket_test; remove ATF from lib/isc/tests
2018-11-14 20:17:04 -08:00
Evan Hunt
bd009b34a6
convert regex_test
2018-11-14 20:17:04 -08:00
Evan Hunt
6ad7acd787
convert random_test
2018-11-14 20:17:04 -08:00
Joey
683094e308
convert mem_test
2018-11-14 20:17:04 -08:00
Evan Hunt
20cef35ece
convert timer_test
2018-11-14 20:17:04 -08:00
Evan Hunt
3e52987229
convert task_test
2018-11-14 20:17:04 -08:00
Joey
72f60bdd84
convert hash_test
2018-11-14 20:17:04 -08:00
Evan Hunt
c701f036ea
convert ht_test
2018-11-14 20:17:04 -08:00
Evan Hunt
3bf9a1e567
convert time_test
2018-11-14 20:17:04 -08:00
Evan Hunt
c9ff174dce
convert taskpool_test
2018-11-14 20:17:04 -08:00
Evan Hunt
4f84acb788
convert pool_test
2018-11-14 20:17:04 -08:00
Evan Hunt
231436039d
convert sockaddr_test
2018-11-14 20:17:04 -08:00
Evan Hunt
7ab8c5b583
convert netaddr_test
2018-11-14 20:17:04 -08:00
Evan Hunt
5f377136be
convert symtab_test
2018-11-14 20:17:04 -08:00
Evan Hunt
b3db0266cb
convert queue_test
2018-11-14 20:17:04 -08:00
Evan Hunt
8161be27db
convert file_test
2018-11-14 20:17:04 -08:00
Evan Hunt
4133fd86f1
convert lex_test
2018-11-14 20:17:04 -08:00
Evan Hunt
049a3a7c0e
convert errno_test
2018-11-14 20:17:04 -08:00
Evan Hunt
c1c8d8846f
convert safe_test
2018-11-14 20:17:04 -08:00
Evan Hunt
718ca3166c
convert radix_test
2018-11-14 20:17:04 -08:00
Evan Hunt
cc6ab2416b
convert heap_test
2018-11-14 20:17:04 -08:00
Evan Hunt
a7c308df9c
convert parse_test
2018-11-14 20:17:04 -08:00
Evan Hunt
52b86f0abe
convert counter_test
2018-11-14 20:17:04 -08:00
Evan Hunt
02a5db7631
convert buffer_test
2018-11-14 20:17:04 -08:00
Evan Hunt
dc88db015b
convert aes_test
2018-11-14 20:17:04 -08:00
Evan Hunt
d8766293ab
assert if {isc,dns,ns}_test_begin() is called when a prior test is running
2018-11-14 20:17:04 -08:00
Evan Hunt
b434b0a4b6
remove .NOTPARALLEL so unit tests can build faster
2018-11-14 20:17:04 -08:00
Evan Hunt
f456e64736
set HAVE_CMOCKA correctly when using --with-cmocka=yes
...
(note: this is still broken if using --with-cmocka=path)
2018-11-14 20:17:04 -08:00
Ondřej Surý
de6f43d071
Use static assertion to check for correct alignment size
2018-11-14 18:18:27 -05:00
Ondřej Surý
5e44a1008f
Define STATIC_ASSERT(cond, msg) to be _Static_assert(cond, msg) everywhere but on Windows where it stays to be INSIST(cond)
2018-11-14 18:18:27 -05:00
Mark Andrews
9024cf0c15
remove lib/isc/tests/result_test as it is now cmocka
2018-11-13 07:26:29 +11:00
Evan Hunt
471110933a
convert result tests to use CMocka instead of ATF
2018-11-10 12:29:40 -08:00
Mark Andrews
4f04a79250
check result tables are complete
2018-11-10 10:30:43 +11:00
Ondřej Surý
6f5fe11f5a
isc_stdtime_t is always 32-bit now, so remove the always true macro STDTIME_ON_32BITS
2018-11-09 02:27:06 +07:00
Ondřej Surý
68ca987792
Remove dummy ISLOCKED macro
2018-11-08 12:22:26 +07:00
Ondřej Surý
23fff6c569
Hint the compiler with ISC_UNREACHABLE(); that code after INSIST(0); cannot be reached
2018-11-08 12:22:17 +07:00
Ondřej Surý
e2e138a801
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
2018-11-08 12:21:53 +07:00
Ondřej Surý
a831e0f72d
When ISC assertions are disabled, still execute the condition to prevent unused variable warnings/errors from the compiler
2018-11-08 12:21:53 +07:00
Ondřej Surý
b2b43fd235
Turn (int & flag) into (int & flag) != 0 when implicitly typed to bool
2018-11-08 12:21:53 +07:00
Ondřej Surý
fbd2e47f51
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 ==)
2018-11-08 12:21:53 +07:00
Witold Kręcicki
ce478b4fc9
Fix a typo in lib/isc/unix/thread.c
2018-11-07 19:31:06 +00:00
Witold Kręcicki
460c8038c1
Use a single wake_all_queues() function to wake all queues
2018-11-06 08:19:50 +00:00
Witold Kręcicki
b3827319e0
Switch from privileged to un-privileged mode under lock
2018-11-06 08:19:50 +00:00
Witold Kręcicki
f166cabcae
Document isc_task_sendto properly, make sure that cpu we're sending to is always sane
2018-11-06 08:19:50 +00:00
Witold Kręcicki
025c74adee
Use proper memory ordering for tasks_running/tasks_ready
2018-11-06 08:19:50 +00:00
Witold Kręcicki
8fb5bc783f
Comment about taskmgr exclusive mode, fix a REQUIRE.
2018-11-06 08:19:50 +00:00
Witold Kręcicki
913856911a
Saner exclusive task handling in taskmgr
2018-11-06 08:19:50 +00:00
Witold Kręcicki
17d46fd48b
Formatting
2018-11-06 08:19:50 +00:00
Witold Kręcicki
c80e25e482
Get rid of isc_taskmgr_setmode, we only use it to set privileged mode
2018-11-06 08:19:50 +00:00
Witold Kręcicki
64020dd7bc
Make sure all priority tasks are done before entering normal execution
2018-11-06 08:19:50 +00:00
Witold Kręcicki
669a694d3b
Post shutting down tasks always to manager 0
2018-11-06 08:19:50 +00:00
Witold Kręcicki
c416389d32
Separate structure for each thread/queue; 2-phase-locking for exclusive tasks
2018-11-06 08:19:50 +00:00
Witold Kręcicki
818d63a3a1
Always restart dispatchers on empty readyq
2018-11-06 08:19:50 +00:00
Witold Kręcicki
d7be8afea5
Taskmgr shutdown fixes
2018-11-06 08:19:50 +00:00
Witold Kręcicki
81a85070c5
Multiple worker queues
2018-11-06 08:19:50 +00:00
Witold Krecicki
7b6721b27f
isc_thread_setaffinity()
2018-11-06 08:19:50 +00:00
Michał Kępień
0e979358ee
[squash] Rework code preparing a HTTP response for sending in lib/isc/httpd.c
2018-10-31 13:46:52 +01:00
Witold Kręcicki
54b9690a4e
Remove vector socket functions from Unix socket code and library headers
...
Remove the following functions in order to simplify socket code:
- isc_socket_recvv()
- isc_socket_sendtov()
- isc_socket_sendtov2()
- isc_socket_sendv()
2018-10-31 12:12:53 +01:00
Witold Kręcicki
76ec6861e5
Remove vector socket functions from Windows socket code
...
Remove the following functions in order to simplify socket code:
- isc_socket_recvv()
- isc_socket_sendtov()
- isc_socket_sendtov2()
- isc_socket_sendv()
2018-10-31 12:12:53 +01:00
Witold Kręcicki
07eebc42e4
Do not use vector socket functions in HTTP server code
...
Refactor code in lib/isc/httpd.c to no longer use isc_socket_sendv() as
this function will be removed shortly.
2018-10-31 12:12:50 +01:00
Evan Hunt
b27630a130
remove config.h references
2018-10-30 10:42:41 -07:00
Evan Hunt
a0de6707c0
silence warning from missing print.h
2018-10-30 08:06:34 -07:00
Michał Kępień
e1f0aed034
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.
2018-10-30 13:33:25 +01:00
Michał Kępień
15440d8027
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.
2018-10-30 13:33:25 +01:00
Mark Andrews
97a680e5ce
document eol
2018-10-30 11:03:02 +11:00
Evan Hunt
dfe5d3330c
added stdatomic.h and md.h
2018-10-29 11:26:38 -07:00
Mark Andrews
561b780ba0
Only set IPV6_USE_MIN_MTU on IPv6.
2018-10-29 16:49:33 +11:00
Ondřej Surý
d6c50674bb
Remove last traces of DSA and NSEC3DSA algorithm, but restore the algnumber -> name mapping
2018-10-26 11:50:11 +02:00
Ondřej Surý
8efd394c80
Remove last bits of PKCS#11 DH support that has been already removed
2018-10-26 11:50:11 +02:00
Ondřej Surý
eb603cb021
Check for individual OpenSSL functions instead of relying on version number
2018-10-26 06:15:51 +02:00
Mark Andrews
632a0ae10b
EVP_CIPHER_CTX_new and EVP_CIPHER_CTX_free exist in OpenSSL 1.0.1
2018-10-26 10:01:14 +11:00
Ondřej Surý
68b49d87b2
Add md.h and md.c to Windows build files
2018-10-25 20:59:48 +02:00
Ondřej Surý
13888c93a4
Split isc_crc64 API test into separate unit test and convert it to cmocka
2018-10-25 08:16:24 +02:00
Ondřej Surý
b98ac2593c
Add generic hashed message authentication code API (isc_hmac) to replace specific HMAC functions hmacmd5/hmacsha1/hmacsha2...
2018-10-25 08:15:42 +02:00
Ondřej Surý
7fd3dc63de
Add generic message digest API (isc_md) to replace specific MD functions md5/sha1/sha256
2018-10-25 08:15:42 +02:00
Mark Andrews
afde30fe9b
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
2018-10-24 22:00:08 -04:00
Ondřej Surý
4b47958163
Fix typo in isc_rwlock_pause() on sparc
2018-10-23 09:29:03 +02:00
Evan Hunt
e839972ee2
address unresolved externals
2018-10-19 00:49:53 -07:00
Evan Hunt
3f35ab8567
remove references to methods and app_api.c
2018-10-19 00:28:53 -07:00
Evan Hunt
c609a67ac7
change to bool constants; also fixed style error
2018-10-18 20:42:25 -07:00
Evan Hunt
09f58ab63f
retain a minimal "methods" struct in the mctx
...
- this enables memory to be allocated and freed in dyndb modules
when named is linked statically. when we standardize on libtool,
this should become unnecessary.
- also, simplified the isc_mem_create/createx API by removing
extra compatibility functions
2018-10-18 09:19:12 +00:00
Evan Hunt
0e86fa16e8
complete removal of a few unneeded functions
...
- removed register functions from isc_app, isc_timer, isc_task
- added a task_p.h header for use by unit tests
2018-10-18 09:19:12 +00:00
Witold Kręcicki
38a127c35b
Remove layering from isc_task, isc_app, isc_socket, isc_timer, isc_mem
2018-10-18 09:19:12 +00:00
Witold Kręcicki
cdbac34cba
Get rid of isc_bind9 conditional
2018-10-18 09:19:12 +00:00
Ondřej Surý
5ccbb274d2
Remove HAVE_OPENSSL guard from openssl_shim.{c,h} and uncrustify it
2018-10-05 13:12:48 +02:00
Ondřej Surý
3994b1f9c2
Remove support for obsoleted and insecure DSA and DSA-NSEC3-SHA1 algorithms
2018-10-05 09:21:43 +02:00
Mark Andrews
f723a1247f
Undo implict promotion to 64 bits in our Windows implementation of atomic_load_explicit() by casting to uint_fast32_t.
2018-10-04 06:59:28 +10:00
Mark Andrews
d4cc0b98de
use PRIuFAST32 instead of PRIdFAST32
2018-10-03 07:59:18 +10:00
Zhaolong Zhang
21966423cd
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.
2018-09-27 15:17:52 +02:00
Thomas Jach
f2d6b1b859
Couple additional Windows build fixes in VCX files
2018-09-26 09:34:34 +02:00
Mark Andrews
a1d8306e3a
add strlcat and strlcpy
2018-09-20 14:53:26 +10:00
Mark Andrews
be333e93ec
remove isc_string_strlcat and isc_string_strlcpy
2018-09-20 14:00:28 +10:00
Mark Andrews
0eda75fec0
don't typedef socklen_t for _MSC_VER >= 1914
2018-09-20 13:51:50 +10:00
Mark Andrews
81b133d963
avoid macro name collision with system defined macro
2018-09-10 09:18:17 +10:00
Evan Hunt
2c3b827e5d
<isc/string.h> instead of "isc/string.h"
2018-09-07 15:26:50 -07:00
Ondřej Surý
161b5dccae
Remove NEED_PTHREAD_SCOPE_SYSTEM define that was needed on older FreeBSDs
2018-09-07 12:17:40 +02:00
Ondřej Surý
2750799132
Assume socklen_t is always available on all supported platforms (except on Windows where it is typedefed to int32_t)
2018-09-07 12:17:40 +02:00
Ondřej Surý
5d8f9bf935
Always enable CALL_PTHREAD_SETCONCURRENCY as it is part of POSIX Threads
2018-09-07 12:17:40 +02:00
Ondřej Surý
927b65aa7f
Remove now dummy HAVE_UNIXWARE_SIGWAIT define
2018-09-07 12:17:40 +02:00
Ondřej Surý
c7b1e7fd08
Linux (glibc) has NPTL since LinuxThreads are no-more, so remove HAVE_LINUXTHREADS
2018-09-07 12:17:40 +02:00
Ondřej Surý
2f02552a93
Remove now dummy NEED_PTHREAD_INIT
2018-09-07 12:17:30 +02:00
Ondřej Surý
4d46f0f95d
Drop ISC_PLATFORM_USEDECLSPEC and IRS_PLATFORM_USEDECLSPEC as they are platform dependent and only unix vs win32 platform.h header difference is enough
2018-09-07 12:17:30 +02:00
Ondřej Surý
51b0d5d55e
Replace platform ISC_PLATFORM_HAVESTATNSEC with config ENABLE_STAT_NSEC
2018-09-07 12:17:30 +02:00
Ondřej Surý
f1d3055d7b
Replace platform ISC_PLATFORM_HAVETFO with config ENABLE_TCP_FASTOPEN
2018-09-07 12:17:30 +02:00
Ondřej Surý
092edb5b44
Replace platform ISC_PLATFORM_HAVEDEVPOLL with check for devpoll.h headers
2018-09-07 12:17:30 +02:00
Ondřej Surý
5d65392d18
Replace platform ISC_PLATFORM_HAVEEPOLL with config HAVE_EPOLL_CREATE1
2018-09-07 12:17:30 +02:00
Ondřej Surý
68f473a25e
Replace platform ISC_PLATFORM_HAVEKQUEUE with config HAVE_KQUEUE
2018-09-07 12:17:30 +02:00
Ondřej Surý
d00ef56dfa
Remove dummy ISC_PLATFORM_HAVESTRINGSH platform define
2018-09-07 12:17:30 +02:00
Ondřej Surý
47f18c7d50
Replace platform ISC_PLATFORM_NEEDSTRLCPY and ISC_PLATFORM_NEEDSTRLCAT with AC_CHECK_FUNCS call
2018-09-07 12:17:30 +02:00
Ondřej Surý
4014bc42dd
According to POSIX.1-2001, POSIX.1-2008 #include <sys/select.h> is correct way to get fd_set
2018-09-07 12:17:30 +02:00
Ondřej Surý
1333d4a71a
Remove dummy ISC_PLATFORM_HAVELIFCONF platform define
2018-09-07 12:17:30 +02:00
Ondřej Surý
0bea5c2baf
Replace platform.h ISC_PLATFORM_HAVEIFNAMETOINDEX with config HAVE_IF_NAMETOINDEX
2018-09-07 12:17:30 +02:00
Ondřej Surý
53d87175df
Remove dummy ISC_PLATFORM_HAVEIF_LADDRREQ platform define
2018-09-07 12:17:30 +02:00
Ondřej Surý
c798db0fcd
Remove dummy ISC_PLATFORM_HAVEIF_LADDRCONF define
2018-09-07 12:17:30 +02:00
Ondřej Surý
f8635fd719
Remove dummy ISC_PLATFORM_NEEDSTRCASESTR define from platform.h
2018-09-07 12:17:30 +02:00
Ondřej Surý
22e5231f99
Remove ISC_PLATFORM_BUSYWAITNOP in favour of direct isc_rwlock_pause() define
2018-09-07 12:17:29 +02:00
Ondřej Surý
376bea8b40
Cleanup the custom atomic defines from Windows and remove empty atomic_test.c
2018-09-07 12:17:29 +02:00
Ondřej Surý
510bb376e1
Define platform.h ISC_PLATFORM_USEBACKTRACE with config.h USE_BACKTRACE
2018-09-07 12:17:29 +02:00
Witold Kręcicki
17212cf996
Align CMSG buffers to a void* boundary, fixes crash on architectures with strict alignment
...
CHANGES entry
2018-09-07 09:34:32 +02:00
Ondřej Surý
0dc714c40d
On 32-bit Windows use only default memory ordering
2018-09-05 22:20:58 +02:00
Tinderbox User
19ed6f8f5a
prep 9.13.3
2018-09-04 06:11:38 +00:00
Ondřej Surý
142cb0ab8f
Remove already removed headers from the Makefiles
2018-09-03 12:09:52 +02:00
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ý
e582d085de
Fix InterlockedCompareExchange64Acquire -> InterlockedCompareExchangeAcquire64 and variants
2018-08-29 22:23:46 +02:00
Ondřej Surý
d967e107f6
Remove isc_net_pton and isc_net_ntop from Windows libisc.def.in
2018-08-29 21:21:52 +02: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ý
cacd21c075
Enable system extensions macros using AC_USE_SYSTEM_EXTENSIONS
...
and remove handcrafted code that enabled __EXTENSIONS__ and _GNU_SOURCE
2018-08-29 13:31:27 +02:00
Ondřej Surý
dc410ce58f
Remove broken @ISC_IPV6_H@ placeholder from Makefile.in
2018-08-28 21:15:32 +02:00
Witold Kręcicki
103b60e0bc
Pre-merge nits
2018-08-28 20:25:36 +02:00
Evan Hunt
cddb699690
style nits
2018-08-28 20:19:47 +02:00
Mukund Sivaraman
700614a0eb
Set SO_SNDBUF
2018-08-28 20:19:47 +02:00
Ondřej Surý
fecbc7923a
Remove isc_keyboard family of functions as they were not used anywhere
2018-08-28 14:37:30 +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ý
0f24c55d38
Refactor *_destroy and *_detach functions to unified order of actions.
...
This properly orders clearing the freed pointer and calling isc_refcount_destroy
as early as possible to have ability to put proper memory barrier when cleaning
up reference counting.
2018-08-28 13:15:59 +02:00
Ondřej Surý
9d5df99a9d
Directly use return value of atomic_compare_exchange_strong_explicit insteaf of comparing expected value
2018-08-28 12:15:39 +02:00
Ondřej Surý
b5709e5531
Explicitly load atomic values in lib/isc/rwlock.c
2018-08-28 12:15:39 +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ý
93e8ba1b50
Rewrite reference counting in isc_mem to use isc_refcount API
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ý
a11a271b28
Assume non-broken recvmsg
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