Commit Graph
3161 Commits
Author SHA1 Message Date
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
Ondřej Surý 7d2c0859d5 Forbid isc_buffer_printf from growing the buffer unless auto reallocation is enabled
(cherry picked from commit 519bfe4c97)
2018-08-01 08:41:25 +02:00
Tinderbox User bbf35634c0 prep 9.12.2rc2 2018-06-28 04:42:37 +00:00
Witold Kręcicki 4007a9d020 Use completely static-sized buffers
(cherry picked from commit 49f90025a0)
2018-06-26 20:18:59 +02:00
Witold Kręcicki da63e95612 Fix socket cmsg buffer usage
(cherry picked from commit d79be7dd5e)
2018-06-26 20:12:58 +02:00
Evan HuntandOndřej Surý 87344e3493 prepare 9.12.1rc1 2018-06-21 18:46:32 +02:00
Evan Hunt f7f20b1202 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
2018-06-08 11:55:53 -07:00
Mark Andrews 24bb79f9fc ISC_SOCKEVENTATTR_TRUNC was not be set
(cherry picked from commit 6bff1768cf)
2018-05-18 15:59:14 +10:00
Mark Andrews d03a81c265 look for '\0' 2018-05-18 12:17:31 +10:00
Mark Andrews f5233ba5de add some %f format tests 2018-05-18 12:17:31 +10:00
Michał Kępień 18824a084b 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:28:17 +02:00
Ondřej Surý c35de9b383 Remove $Id markers, Principal Author and Reviewed tags from the full source tree
(cherry picked from commit 55a10b7acd)
2018-05-11 14:19:35 +02:00
Mark AndrewsandMichał Kępień 438395086c silence cppcheck portability warning
(cherry picked from commit 6aae115d15)
2018-05-11 08:30:13 +02:00
Mukund SivaramanandMark Andrews 224244227c Don't keep around debuglist structs when done
(cherry picked from commit 3adcc033f6)
2018-05-11 11:29:58 +10:00
Mukund SivaramanandMark Andrews 36277f7a63 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.

(cherry picked from commit b9886abd86)
2018-05-11 11:29:58 +10:00
Michał Kępień 6e26fab6b8 Address GCC 8 -Wformat-truncation warnings
(cherry picked from commit 172d0c401e)
2018-05-10 10:52:00 +02:00
Ondřej Surý 36efa304e6 Also test the higher part of the confidence interval
(cherry picked from commit 8d3220643c)
2018-05-03 15:04:15 +02:00
Mark AndrewsandOndřej Surý 77643775c5 remove exit calls after FATAL_ERROR
(cherry picked from commit f8d2a46daa)
2018-04-20 15:13:12 -07:00
Mark AndrewsandOndřej Surý ba238ab374 use %u instead of %d for unsigned int arguments
(cherry picked from commit 49f8e9571c)
2018-04-20 15:13:12 -07:00
Ondřej Surý 6171037403 Sync isc_file_template functions between unix and win32, so they are same
(cherry picked from commit 8c99d104e3)
2018-04-12 08:47:11 +02:00
Ondřej Surý e052e7f427 Define PATH_MAX on Windows as _MAX_PATH, so we can use it everywhere
(cherry picked from commit 7467735258)
2018-04-11 14:37:46 +02:00