bind9/lib/isc/include/isc
Artem Boldariev 4a88fc9d5b PROXYv2 over UDP transport
This commit adds a new transport that supports PROXYv2 over UDP. It is
built on top of PROXYv2 handling code (just like PROXY Stream). It
works by processing and stripping the PROXYv2 headers at the beginning
of a datagram (when accepting a datagram) or by placing a PROXYv2
header to the beginning of an outgoing datagram.

The transport is built in such a way that incoming datagrams are being
handled with minimal memory allocations and copying.
2023-12-06 15:15:25 +02:00
..
align.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
ascii.h Add a case-insensitive option directly to siphash 2-4 implementation 2022-10-04 10:32:40 +02:00
assertions.h Replace ISC_NORETURN with C11's noreturn 2022-03-25 08:33:43 +01:00
async.h Add isc_async_current() macro to run job on current loop 2023-03-30 16:07:41 +02:00
atomic.h Simple lock-free stack in <isc/stack.h> 2023-02-22 16:13:37 +00:00
attributes.h Replace __attribute__((unused)) with ISC_ATTR_UNUSED attribute macro 2023-03-30 23:29:25 +02:00
backtrace.h Cleanup the last Windows / MSC ifdefs and comments 2023-04-03 09:06:20 +00:00
barrier.h Prefer the pthread_barrier implementation over uv_barrier 2023-01-11 09:51:02 +01:00
base32.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
base64.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
buffer.h Apply the isc_mem_cget semantic patch 2023-08-31 22:08:35 +02:00
commandline.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
condition.h Make the pthread_rwlock implementation header-only macros [2/2] 2022-11-02 10:34:10 +01:00
counter.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
crc64.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
dir.h Apply adjusted clang-format 2023-03-10 17:31:28 +01:00
dnsstream.h Fix a condition in isc_dnsstream_assembler_incoming() 2023-08-24 11:59:57 +00:00
endian.h Update the source code formatting using clang-format-17 2023-10-17 17:47:46 +02:00
entropy.h Switch the CSPRNG function from RAND_bytes() to uv_random() 2022-09-26 15:13:11 +02:00
errno.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
error.h Include the function name when reporting unexpected errors 2022-10-17 13:43:59 +01:00
file.h Apply adjusted clang-format 2023-03-10 17:31:28 +01:00
fips.h Define isc_fips_mode() and isc_fips_set_mode() 2023-04-03 12:05:28 +10:00
formatcheck.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
fuzz.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
getaddresses.h Remove some lingering references to libbind9 2023-03-08 10:06:22 +00:00
hash.h Remove isc_hash_function macro 2023-09-19 19:56:33 +02:00
hashmap.h Refactor isc_hashmap to accept custom match function 2023-09-16 07:20:48 +02:00
heap.h Make isc_heap_create() and isc_heap_insert() return void 2022-03-08 11:19:34 +01:00
hex.h Consolidate some ASCII tables in isc/ascii and isc/hex 2022-09-12 12:18:57 +01:00
histo.h Simplify histogram quantiles 2023-04-03 12:08:05 +01:00
hmac.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
ht.h Make isc_ht optionally case insensitive 2022-03-28 15:02:18 -07:00
httpd.h remove isc_task completely 2023-02-16 18:35:32 +01:00
interfaceiter.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
iterated_hash.h Use thread_local EVP_MD_CTX in isc_iterated_hash() 2023-01-18 19:36:21 +01:00
job.h Reformat sources with up-to-date clang-format-17 2023-11-13 16:52:35 +01:00
lang.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
lex.h Change the return type of isc_lex_create() to void 2022-10-26 12:55:06 +02:00
list.h Add ISC_LIST_FOREACH_REV(_SAFE) macros 2023-10-25 12:36:13 +02:00
log.h Remove do-nothing header <isc/offset.h> 2023-02-15 16:44:47 +00:00
loop.h Don't undef <unit>_TRACE, instead add comment how to enable it 2023-10-13 11:40:16 +02:00
magic.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
managers.h remove isc_task completely 2023-02-16 18:35:32 +01:00
md.h Avoid implicit algorithm fetch for OpenSSL EVP_MD family 2023-01-18 18:32:57 +01:00
mem.h Refactor the handling of isc_mem overmem condition 2023-11-29 14:16:20 +01:00
meminfo.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
mutex.h Add the reader-writer synchronization with modified C-RW-WP 2023-02-15 09:30:04 +01:00
mutexblock.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
net.h Update the source code formatting using clang-format-17 2023-10-17 17:47:46 +02:00
netaddr.h Completely remove the Unix Domain Socket support from BIND 9 2023-09-19 18:51:35 +02:00
netmgr.h PROXYv2 over UDP transport 2023-12-06 15:15:25 +02:00
netscope.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
nonce.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
once.h Improve reporting for pthread_once errors 2022-10-14 16:39:21 +02:00
os.h Add isc_os_umask() function to get current umask 2023-03-31 12:52:59 +00:00
overflow.h Add <isc/overflow.h> for checked mul, add, and sub 2023-06-27 12:38:09 +02:00
parseint.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
pause.h Improve the spinloop pause / yield hint 2023-02-14 17:13:24 +00:00
portset.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
proxy2.h Add PROXYv2 header utilities 2023-12-06 15:15:24 +02:00
quota.h Don't undef <unit>_TRACE, instead add comment how to enable it 2023-10-13 11:40:16 +02:00
radix.h Update the source code formatting using clang-format-17 2023-10-17 17:47:46 +02:00
random.h Make isc_random_uniform() nearly divisionless 2022-04-22 16:40:37 +01:00
ratelimiter.h refactor isc_ratelimiter to use loop callbacks 2023-01-31 21:41:19 -08:00
refcount.h Improve isc_refcount with initializer and implicit destroy 2023-09-24 10:08:56 +02:00
regex.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
region.h Update clang to version 14 2022-06-16 17:21:11 +02:00
result.h Limit isccc_cc_fromwire recursion depth 2023-09-07 19:46:19 +02:00
rwlock.h clean up unused dns_db methods 2023-07-17 14:50:25 +02:00
safe.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
serial.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
signal.h New event loop handling API 2022-08-25 12:24:29 +02:00
siphash.h Implement incremental version of SipHash 2-4 and HalfSipHash 2-4 2023-09-12 16:17:06 +02:00
sockaddr.h Add isc_sockaddr_hash_ex that can be used in incremental hashing 2023-09-19 19:56:33 +02:00
spinlock.h Add isc_spinlock unit with shim pthread_spin implementation 2023-04-21 12:10:02 +02:00
stats.h Remove Raw and FDWatch type of socket statistics 2023-09-19 18:51:35 +02:00
stdio.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
stdtime.h Remove isc_stdtime_get() macro 2023-03-31 13:33:16 +02:00
strerr.h Explain <isc/strerr.h> a little more 2023-02-15 16:44:09 +00:00
string.h Use strnstr implementation from FreeBSD if not provided by OS 2022-10-04 14:21:41 +11:00
symtab.h Update clang to version 14 2022-06-16 17:21:11 +02:00
syslog.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
thread.h Reformat sources with up-to-date clang-format-17 2023-11-13 16:52:35 +01:00
tid.h Make dns_dispatch bound to threads 2023-09-16 07:32:17 +02:00
time.h Refactor isc_time_now() to return time, and not result 2023-03-31 15:02:06 +02:00
timer.h Add isc_timer_async_destroy() helper function 2022-09-21 14:25:33 -07:00
tls.h Handle fatal and FIPS provider interactions 2023-04-03 12:44:27 +10:00
tm.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
types.h PROXYv2 over UDP transport 2023-12-06 15:15:25 +02:00
urcu.h Cleanup the __tsan_acquire/__tsan_release 2023-07-28 08:59:08 +02:00
url.h Rewrite isc_httpd using picohttpparser and isc_url_parse 2022-10-14 11:26:54 +02:00
utf8.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
util.h A SET_IF_NOT_NULL() macro for optional return values 2023-08-15 12:04:29 +02:00
uv.h De-duplicate some calls to strerror_r() 2022-10-17 11:58:26 +01:00
work.h Reformat sources with up-to-date clang-format-17 2023-11-13 16:52:35 +01:00
xml.h Use custom isc_mem based allocator for libxml2 2022-09-27 17:10:42 +02:00