Ondřej Surý
69e84ab9c1
Fixup the increment vs decrement typo in lib/isc/win32/socket.c
2019-07-21 22:05:24 -04:00
Ondřej Surý
a912f31398
Add new default siphash24 cookie algorithm, but keep AES as legacy
...
This commit changes the BIND cookie algorithms to match
draft-sury-toorop-dnsop-server-cookies-00. Namely, it changes the Client Cookie
algorithm to use SipHash 2-4, adds the new Server Cookie algorithm using SipHash
2-4, and changes the default for the Server Cookie algorithm to be siphash24.
Add siphash24 cookie algorithm, and make it keep legacy aes as
2019-07-21 15:16:28 -04:00
Witold Kręcicki and Ondřej Surý
afa81ee4e4
Remove all cookie algorithms but AES, which was used as a default, for legacy purposes.
2019-07-21 10:08:14 -04:00
Ondřej Surý
d1c7b79183
Fix the memory leaks in GeoIP unit test
...
Each individual test opened GeoIP databased but the database handles were never
closed. This commit moves the open/close from the individual unit tests into
the _setup and _teardown methods where they really belong.
2019-07-16 15:35:34 +02:00
Ondřej Surý
5b5930dca1
Remove #include <config.h> usage from siphash.c and siphash_test.c
2019-07-12 15:28:58 +02:00
Ondřej Surý
dc234e3819
Replace the only memcpy usage with memmove
2019-07-12 15:28:00 +02:00
Tinderbox User
2e637325ed
prep 9.15.2
2019-07-10 14:59:47 +00:00
Witold Kręcicki
895eabd376
Fix Windows compilation issues with !1952 , contributed by Thomas Jach
2019-07-10 12:31:39 +02:00
Witold Kręcicki
e56cc07f50
Fix a few broken atomics initializations
2019-07-09 16:11:14 +02:00
Ondřej Surý and Witold Kręcicki
81faafd508
lib/ns/stats.c: use isc_refcount_t
2019-07-09 16:11:14 +02:00
Ondřej Surý and Witold Kręcicki
0471d1c1ce
lib/isc/win32/socket.c: use isc_refcount_t
2019-07-09 16:11:14 +02:00
Ondřej Surý and Witold Kręcicki
c0511688b5
lib/isc/task.c: use isc_refcount_t
2019-07-09 16:11:14 +02:00
Ondřej Surý and Witold Kręcicki
f1471bc2e1
lib/isc/stats.c: Use ->references instead of ->refs
2019-07-09 16:11:14 +02:00
Ondřej Surý and Witold Kręcicki
cbe8034dc8
lib/isc/quota.c: use proper acquire/release/relaxed memory order semantics
2019-07-09 16:11:14 +02:00
Ondřej Surý and Witold Kręcicki
244ac0601f
lib/isc/counter.c: use isc_refcount_t
2019-07-09 16:11:14 +02:00
Ondřej Surý and Witold Kręcicki
81550c67da
lib/dns/zt.c: use isc_refcount_t and atomics
2019-07-09 16:11:14 +02:00
Ondřej Surý and Witold Kręcicki
3c30d095c4
lib/dns/tsig.c: use isc_refcount_t
2019-07-09 16:11:14 +02:00
Ondřej Surý and Witold Kręcicki
2a57d0b00c
lib/dns/ssu.c: use isc_refcount_t
2019-07-09 16:11:14 +02:00
Ondřej Surý and Witold Kręcicki
38a973a33f
lib/dns/sdlz.c:
...
- use isc_refcount_t
- properly detach from nodes so that we don't destroy objects
that have non-zero references count
2019-07-09 16:10:53 +02:00
Ondřej Surý and Witold Kręcicki
f3577e4635
lib/dns/sdb.c: use isc_refcount_t
2019-07-09 16:09:36 +02:00
Ondřej Surý and Witold Kręcicki
9da902a201
lib/dns/resolver.c: use isc_refcount_t and atomics
2019-07-09 16:09:36 +02:00
Ondřej Surý and Witold Kręcicki
6622c7a70a
lib/dns/masterdump.c: use isc_refcount_t and atomics
2019-07-09 16:09:36 +02:00
Ondřej Surý and Witold Kręcicki
1097a209e1
lib/dns/master.c: use isc_refcount_t and atomics
2019-07-09 16:09:36 +02:00
Ondřej Surý and Witold Kręcicki
8a128151f9
lib/dns/lib.c: use isc_refcount_t
2019-07-09 16:09:36 +02:00
Ondřej Surý and Witold Kręcicki
3dece71b91
lib/dns/nta.c: use isc_refcount_t
2019-07-09 16:09:36 +02:00
Ondřej Surý and Witold Kręcicki
f5d3250d90
lib/dns/ecdb.c: use isc_refcount_t
2019-07-09 16:09:36 +02:00
Ondřej Surý and Witold Kręcicki
d108e86cc8
lib/dns/dbtable.c: use isc_refcount_t
2019-07-09 16:09:36 +02:00
Witold Kręcicki
757cff6644
lib/dns/cache.c: use isc_refcount_t
2019-07-09 16:09:36 +02:00
Witold Kręcicki
44e2088449
dns/stats.c: use isc_refcount_t
2019-07-09 16:09:36 +02:00
Witold Kręcicki
de73904d03
lib/ns/client: use refcount_t for reference counting
2019-07-09 16:09:36 +02:00
Witold Kręcicki
fc19182e97
lib/ns/lib.c: use isc_refcount_t for reference counting
2019-07-09 16:09:36 +02:00
Witold Kręcicki
92424e23fa
Special, for-tests-only, mode with atomics emulated by a mutex-locked variable - useful for finding atomics congestions
2019-07-09 16:09:36 +02:00
Witold Kręcicki
5aeb99786e
Properly initialize all atomic variables
2019-07-09 16:09:36 +02:00
Witold Kręcicki
3fcf98c8d3
isc/stats: use isc_refcount_t
2019-07-09 16:09:36 +02:00
Witold Kręcicki
420f84f3f5
isc/timer: use isc_refcount_t
2019-07-09 16:09:36 +02:00
Witold Kręcicki
b56948743a
lib/isc/task: use isc_refcount_t
2019-07-09 16:09:36 +02:00
Witold Kręcicki
5d49f0ac39
dns/zt.c: use isc_refcount_t for reference counting
2019-07-09 16:09:36 +02:00
Witold Kręcicki
c434cc69d7
interfacemgr: use isc_refcount_t for reference counting
2019-07-09 16:09:36 +02:00
Witold Kręcicki
5686c33068
Make portentry->refs an isc_refcount_t
2019-07-09 16:09:36 +02:00
Ondřej Surý and Evan Hunt
a2e89ff0c1
Get rid of DNS_GEOIP_DATABASE_INIT explicit initializer for geoip dbs
...
Instead of the explicit struct initializer with all member, rely on the fact
that static variables are explicitly initialized to 0 if not explicitly
initialized.
2019-07-04 08:58:26 -07:00
Thomas Jach and Evan Hunt
9ba3e3f1b5
convert geoip to geoip2 in win32utils/Configure
2019-07-04 08:58:26 -07:00
Evan Hunt
787f2a7e03
remove all support for legacy GeoIP
2019-07-04 08:56:45 -07:00
Matthijs Mekking
d1503cbfa2
Deprecate dnssec-lookaside option
...
Add the CFG_CLAUSEFLAG_DEPRECATED flag to the option so that people are
discouraged from using DLV.
2019-07-04 14:14:28 +02:00
Evan Hunt
81fcde5953
fix broken windows build
...
The MSVS C compiler requires every struct to have at least one member.
The dns_geoip_databases_t structure had one set of members for
HAVE_GEOIP and a different set for HAVE_GEOIP2, and none when neither
API is in use.
This commit silences the compiler error by moving the declaration of
dns_geoip_databases_t to types.h as an opaque reference, and commenting
out the contents of geoip.h when neither version of GeoIP is enabled.
2019-07-03 12:17:27 -04:00
Michał Kępień
df42771a54
Define ATOMIC_VAR_INIT() on Windows
...
Commit b104a9bc50 introduced unconditional
use of the ATOMIC_VAR_INIT() macro in bin/dnssec/dnssec-signzone.c even
though that macro is only defined on Unix platforms. Define it on
Windows systems as well in order to prevent build failures.
2019-07-03 14:27:53 +02:00
Ondřej Surý and Ondřej Surý
00807c03af
Protect global init_count variable in rbtdb.c by making it atomic
2019-07-03 00:05:34 -04:00
Ondřej Surý and Ondřej Surý
49462cf974
Make isc_rwlock.c thread-safe
...
The ThreadSanitizer found several possible data races in our rwlock
implementation. This commit changes all the unprotected variables to atomic and
also changes the explicit memory ordering (atomic_<foo>_explicit(..., <order>)
functions to use our convenience macros (atomic_<foo>_<order>).
2019-07-03 00:05:34 -04:00
Mark Andrews and Ondřej Surý
7c95192691
Define ATOMIC_VAR_INIT in isc/stdatomic.h shim
2019-07-03 00:05:34 -04:00
Ondřej Surý and Ondřej Surý
570f358252
Add atomic_compare_exchange_strong_relaxed convenience macro
2019-07-03 00:05:34 -04:00
Ondřej Surý
723433cbc6
Add rules to make sure subdirs are always built before testdirs
2019-07-02 12:32:22 +02:00