- 14 Jan, 2020 24 commits
-
-
Ondřej Surý authored
-
Ondřej Surý authored
Convert more reference counting to isc_refcount API See merge request !2153
-
Ondřej Surý authored
-
Ondřej Surý authored
-
Ondřej Surý authored
-
Ondřej Surý authored
-
Ondřej Surý authored
The isc_refcount API that provides reference counting lost DbC checks for overflows and underflows in the isc_refcount_{increment,decrement} functions. The commit restores the overflow check in the isc_refcount_increment and underflows check in the isc_refcount_decrement by checking for the previous value to not be on the boundary.
-
Ondřej Surý authored
-
Ondřej Surý authored
-
Ondřej Surý authored
This commits removes superfluous checks when using the isc_refcount API. Examples of superfluous checks: 1. The isc_refcount_decrement function ensures there was not underflow, so this check is superfluous: INSIST(isc_refcount_decrement(&r) > 0); 2 .The isc_refcount_destroy() includes check whether the counter is zero, therefore this is superfluous: INSIST(isc_refcount_decrement(&r) == 1 && isc_refcount_destroy(&r));
-
Ondřej Surý authored
-
Ondřej Surý authored
-
Ondřej Surý authored
-
Ondřej Surý authored
-
Ondřej Surý authored
-
Ondřej Surý authored
-
Witold Krecicki authored
netmgr: handle errors properly in accept_connection. See merge request !2880
-
Witold Krecicki authored
-
Witold Krecicki authored
If a connection was closed early (right after accept()) an assertion that assumed that the connection was still alive could be triggered in accept_connection. Handle those errors properly and not with assertions, free all the resources afterwards.
-
Mark Andrews authored
Merge branch '1531-add-calls-to-dns_rdata_additionaldata-to-lib-dns-tests-rdata_test-c' into 'master' Resolve "Add calls to dns_rdata_additionaldata to lib/dns/tests/rdata_test.c" Closes #1531 See merge request !2795
-
Mark Andrews authored
-
Mark Andrews authored
-
Mark Andrews authored
-
- 13 Jan, 2020 16 commits
-
-
Evan Hunt authored
-
Evan Hunt authored
-
Evan Hunt authored
- also restored a test in the statistics test which was changed when the netmgr was introduced because active sockets were not being counted.
-
Evan Hunt authored
- the socket stat counters have been moved from socket.h to stats.h. - isc_nm_t now attaches to the same stats counter group as isc_socketmgr_t, so that both managers can increment the same set of statistics - isc__nmsocket_init() now takes an interface as a paramter so that the address family can be determined when initializing the socket. - based on the address family and socket type, a group of statistics counters will be associated with the socket - for example, UDP4Active with IPv4 UDP sockets and TCP6Active with IPv6 TCP sockets. note that no counters are currently associated with TCPDNS sockets; those stats will be handled by the underlying TCP socket. - the counters are not actually used by netmgr sockets yet; counter increment and decrement calls will be added in a later commit.
-
Witold Krecicki authored
Pass TCP listening sockets using async channel, not IPC Closes #1433, #1499, and #1500 See merge request !2825
-
Witold Krecicki authored
-
Witold Krecicki authored
If pktinfo were supported then we could listen on :: for ipv6 and get the information about the destination address from pktinfo structure passed in recvmsg but this method is not portable and libuv doesn't support it - so we need to listen on all interfaces. We should verify that this doesn't impact performance (we already do it for ipv4) and either remove all the ipv6pktinfo detection code or think of fixing libuv.
-
Evan Hunt authored
- use UV_{TC,UD}P_IPV6ONLY for IPv6 sockets, keeping the pre-netmgr behaviour. - add a new listening_error bool flag which is set if the child listener fails to start listening. This fixes a bug where named would hang if, e.g., we failed to bind to a TCP socket.
-
Witold Krecicki authored
For multithreaded TCP listening we need to pass a bound socket to all listening threads. Instead of using uv_pipe handle passing method which is quite complex (lots of callbacks, each of them with its own error handling) we now use isc_uv_export() to export the socket, pass it as a member of the isc__netievent_tcpchildlisten_t structure, and then isc_uv_import() it in the child thread, simplifying the process significantly.
-
Witold Krecicki authored
These functions can be used to pass a uv handle between threads in a safe manner. The other option is to use uv_pipe and pass the uv_handle via IPC, which is way more complex. uv_export() and uv_import() functions existed in libuv at some point but were removed later. This code is based on the original removed code. The Windows version of the code uses two functions internal to libuv; a patch for libuv is attached for exporting these functions.
-
Michal Nowak authored
Add openSUSE Tumbleweed image to the CI Closes #1303 See merge request !2826
-
Michal Nowak authored
Ensure BIND is continuously tested on Tumbleweed, a pure rolling release version of openSUSE. This will allow BIND incompatibilities with latest upstream versions of its dependencies to be caught more quickly.
-
Michał Kępień authored
Properly detect MMDB lookup failures Closes #1552 See merge request !2864
-
Michał Kępień authored
5339. [bug] With some libmaxminddb versions, named could erroneously match an IP address not belonging to any subnet defined in a given GeoIP2 database to one of the existing entries in that database. [GL #1552]
-
Michał Kępień authored
Only comparing the value of the integer passed as the last argument to MMDB_lookup_sockaddr() against MMDB_SUCCESS is not enough to ensure that an MMDB lookup was successful - the 'found_entry' field of the MMDB_lookup_result_s structure returned by that function also needs to be true or else the remaining contents of that structure should be ignored as the lookup failed. Extend the relevant logical condition in get_entry_for() to ensure the latter does not return incorrect MMDB entries for IP addresses which do not belong to any subnet defined in a given GeoIP2 database.
-
Ondřej Surý authored
Merge branch '1507-warning-threadsanitizer-data-race-lib-isc-tests-socket_test-simple' into 'master' Address dns_zt_asyncload races by properly using isc_reference_*. Closes #1507 See merge request !2870
-