bind9/lib/isc
Artem Boldariev 6725d36cfd Avoid using sock->iface and sock->peer from the lower transport
This commit modifies TLS Stream and DNS-over-HTTPS transports so that
they do not use the "sock->iface" and "sock->peer" of the lower level
transport directly.

That did not cause any problems before, as things worked as expected,
but with the introduction of PROXYv2 support we use handles to store
the information in both PROXY Stream and UDP Proxy
transports. Therefore, in order to propagate the information (like
addresses), extracted from PROXYv2 headers, from the lower level
transports to the higher-level ones, we need to get that information
from the lower-level handles rather than sockets. That means that we
should get the peer and interface addresses using the intended
APIs ("isc_nmhandle_peeraddr()" and "isc_nmhandle_localaddr()").
2023-12-06 15:15:25 +02:00
..
include PROXYv2 over UDP transport 2023-12-06 15:15:25 +02:00
netmgr Avoid using sock->iface and sock->peer from the lower transport 2023-12-06 15:15:25 +02:00
.gitignore Add support for User Statically Defined Tracing (USDT) probes 2023-08-21 18:39:53 +02:00
ascii.c Consolidate some ASCII tables in isc/ascii and isc/hex 2022-09-12 12:18:57 +01:00
assertions.c Ad-hoc backtrace logging with isc_backtrace_log() 2023-03-29 10:47:53 +00:00
async.c Cleanup the __tsan_acquire/__tsan_release 2023-07-28 08:59:08 +02:00
async_p.h Change the isc_async API to use cds_wfcqueue internally 2023-05-12 14:16:25 +02:00
backtrace.c Ad-hoc backtrace logging with isc_backtrace_log() 2023-03-29 10:47:53 +00:00
base32.c Silence uninitialized value false positives 2023-03-08 22:40:03 +00:00
base64.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:33:43 +01:00
commandline.c Apply the isc_mem_cget semantic patch 2023-08-31 22:08:35 +02:00
condition.c De-duplicate some calls to strerror_r() 2022-10-17 11:58:26 +01:00
counter.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
crc64.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
dir.c Remove do-nothing header <isc/print.h> 2023-02-15 16:44:47 +00:00
entropy.c Switch the CSPRNG function from RAND_bytes() to uv_random() 2022-09-26 15:13:11 +02:00
errno.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
errno2result.c Translate POSIX errorcode EROFS to ISC_R_NOPERM 2023-06-14 13:12:45 +01:00
errno2result.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
error.c Remove do-nothing header <isc/print.h> 2023-02-15 16:44:47 +00:00
file.c Remove do-nothing header <isc/print.h> 2023-02-15 16:44:47 +00:00
fips.c Define isc_fips_mode() and isc_fips_set_mode() 2023-04-03 12:05:28 +10:00
getaddresses.c Move bind9_getaddresses() to isc_getaddresses() 2023-02-21 13:12:26 +00:00
hash.c Implement incremental version of isc_hash32 and isc_hash64 2023-09-12 16:17:06 +02:00
hashmap.c Use atomics for the iterators number in isc_hashmap_t 2023-11-14 08:56:41 +00:00
heap.c Apply the isc_mem_cget semantic patch 2023-08-31 22:08:35 +02:00
hex.c Consolidate some ASCII tables in isc/ascii and isc/hex 2022-09-12 12:18:57 +01:00
histo.c Remove ISC_MEM_ZERO and isc_mem_*x() API 2023-08-31 22:08:35 +02:00
hmac.c Clear OpenSSL errors on EVP failures 2023-09-01 12:01:19 +10:00
ht.c Do extra manual isc_mem_cget() conversions 2023-08-31 22:08:35 +02:00
httpd.c Explicitly cast chars to unsigned chars for <ctype.h> functions 2023-09-22 08:29:17 +02:00
interfaceiter.c Remove do-nothing header <isc/print.h> 2023-02-15 16:44:47 +00:00
iterated_hash.c Clear OpenSSL errors on SHA failures 2023-09-01 12:01:20 +10:00
jemalloc_shim.h Make it possible to create memory contexts backed by jemalloc arenas 2023-09-05 09:39:41 +02:00
job.c Add tracing probes to the isc_job unit 2023-08-21 18:39:53 +02:00
job_p.h Change the isc_async API to use cds_wfcqueue internally 2023-05-12 14:16:25 +02:00
lex.c Remove do-nothing header <isc/print.h> 2023-02-15 16:44:47 +00:00
lib.c Implement incremental version of isc_hash32 and isc_hash64 2023-09-12 16:17:06 +02:00
log.c Do extra manual isc_mem_cget() conversions 2023-08-31 22:08:35 +02:00
loop.c Apply the isc_mem_cget semantic patch 2023-08-31 22:08:35 +02:00
loop_p.h Remove isc_qsbr (we are using liburcu instead) 2023-05-12 20:48:31 +01:00
Makefile.am PROXYv2 over UDP transport 2023-12-06 15:15:25 +02:00
managers.c remove isc_task completely 2023-02-16 18:35:32 +01:00
md.c Call ERR_clear_error on EVP_MD_fetch or EVP_##alg error 2023-09-06 00:28:56 +00:00
mem.c Cleanup unused stats_bucket() macro 2023-11-29 14:16:20 +01:00
mem_p.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
meminfo.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
mutex.c Remove do-nothing header <isc/print.h> 2023-02-15 16:44:47 +00:00
mutex_p.h Use library constructor to create default mutex attr once 2022-07-13 13:19:32 +02:00
mutexblock.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
net.c Completely remove the Unix Domain Socket support from BIND 9 2023-09-19 18:51:35 +02:00
netaddr.c Update the source code formatting using clang-format-17 2023-10-17 17:47:46 +02:00
netscope.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
nonce.c Switch the CSPRNG function from RAND_bytes() to uv_random() 2022-09-26 15:13:11 +02:00
openssl_shim.c Do not provide a shim for SSL_SESSION_is_resumable() 2022-05-23 18:25:18 +03:00
openssl_shim.h Do not provide a shim for SSL_SESSION_is_resumable() 2022-05-23 18:25:18 +03:00
os.c Add isc_os_umask() function to get current umask 2023-03-31 12:52:59 +00:00
os_p.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
parseint.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
picohttpparser.c Update sources to Clang 15 formatting 2022-11-29 08:54:34 +01:00
picohttpparser.h Add picohttpparser.{c.h} from https://github.com/h2o/picohttpparser 2022-10-14 11:26:54 +02:00
portset.c Use designated initializers instead of memset()/MEM_ZERO for structs 2022-10-05 16:44:05 +02:00
probes.d Add tracing probes to the isc_job unit 2023-08-21 18:39:53 +02:00
proxy2.c Add PROXYv2 header utilities 2023-12-06 15:15:24 +02:00
quota.c Cleanup the __tsan_acquire/__tsan_release 2023-07-28 08:59:08 +02:00
radix.c Refactor isc_radix_create to return void 2023-10-13 14:44:40 +02:00
random.c Move the isc_random API initialization to the thread_local variable 2023-04-27 12:38:53 +02:00
ratelimiter.c Improve isc_refcount with initializer and implicit destroy 2023-09-24 10:08:56 +02:00
regex.c Remove do-nothing header <isc/print.h> 2023-02-15 16:44:47 +00:00
region.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
result.c Limit isccc_cc_fromwire recursion depth 2023-09-07 19:46:19 +02:00
rwlock.c Add tracing probes to the custom isc_rwlock implementation 2023-08-21 18:39:53 +02:00
safe.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
serial.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
signal.c Fix a crash when dig or host receive a signal 2023-03-31 09:52:54 +00:00
sockaddr.c Add isc_sockaddr_hash_ex that can be used in incremental hashing 2023-09-19 19:56:33 +02:00
stats.c Apply the isc_mem_cget semantic patch 2023-08-31 22:08:35 +02:00
stdio.c Apply the SET_IF_NOT_NULL() semantic patch 2023-08-15 12:21:41 +02:00
stdtime.c Provide isc_stdtime_now(void) that returns value 2023-03-31 13:16:28 +02:00
string.c Explain <isc/strerr.h> a little more 2023-02-15 16:44:09 +00:00
symtab.c Apply the isc_mem_cget semantic patch 2023-08-31 22:08:35 +02:00
syslog.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
tests Move all the unit tests to /tests/<libname>/ 2022-05-28 14:53:02 -07:00
thread.c Cleanup the __tsan_acquire/__tsan_release 2023-07-28 08:59:08 +02:00
tid.c Make dns_dispatch bound to threads 2023-09-16 07:32:17 +02:00
time.c Add <isc/overflow.h> for checked mul, add, and sub 2023-06-27 12:38:09 +02:00
timer.c remove isc_task completely 2023-02-16 18:35:32 +01:00
tls.c Disable OpenSSL memory contexts for OpenSSL < 3.0.0 2023-10-19 12:54:40 +02:00
tm.c Replace DE_CONST(k, v) with v = UNCONST(k) macro 2023-04-03 10:25:56 +00:00
url.c Update the source code formatting using clang-format-17 2023-10-17 17:47:46 +02:00
utf8.c Update sources to Clang 15 formatting 2022-11-29 08:54:34 +01:00
uv.c Add isc_mem_callocate() for safer array allocation 2023-06-27 12:38:09 +02:00
work.c Improve the Userspace RCU integration 2023-04-27 12:38:53 +02:00
xml.c Add autoconf option to enable memory leak detection in libraries 2022-09-27 17:53:04 +02:00