bind9/lib/isc/include/isc
Ondřej Surý 6175577210
Use SipHash-1-3 for hash tables, keep SipHash-2-4 for cookies
SipHash-2-4 was designed as a conservative PRF/MAC with extra rounds
against future attacks.  For hash tables, where outputs are never
exposed, SipHash-1-3 provides sufficient collision resistance with
fewer rounds.  As the SipHash author noted: "I would be very surprised
if SipHash-1-3 introduced weaknesses for hash tables."

DNS cookies continue to use SipHash-2-4 since cookie values are sent
on the wire and must resist online attacks.
2026-05-15 08:15:59 +02:00
..
ascii.h Switch symtab to use fxhash hashing 2025-03-20 11:26:09 +01:00
assertions.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
async.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
atomic.h Fix isc_quota bug 2025-02-20 10:56:00 +00:00
attributes.h Move ISC_NONSTRING from util.h to attributes.h 2026-03-23 11:06:28 +01:00
backtrace.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
barrier.h Prefer the pthread_barrier implementation over uv_barrier 2023-01-11 09:51:02 +01:00
base32.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
base64.h Add enum for use with isc_base64_tobuffer and isc_hex_tobuffer 2026-01-27 23:57:34 +11:00
bit.h Fix building on OpenBSD 7.8 with Clang 19.1.7 2025-11-20 11:08:23 +11:00
buffer.h switch to RETERR where it wasn't being used 2025-12-03 13:45:43 -08:00
commandline.h Allow commandline.c to compile on Solaris 2025-06-02 09:00:48 +00:00
counter.h Cleanup the isc_counter unit 2025-02-21 09:51:42 +00:00
crypto.h switch isc_md_type_t to a proper enum 2026-02-02 11:12:55 +03:00
dir.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
dnsstream.h Remove redundant parentheses from the return statement 2024-11-19 12:27:22 +01:00
endian.h include <sys/endian.h> according by checking in meson 2026-03-31 16:06:37 +03:00
errno.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
error.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
file.h Stop isc_file_safecreate from following symlinks 2026-04-29 16:56:25 +02: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
fxhash.h Add missing parenthesis to fxhash 2026-04-16 16:03:40 +02:00
getaddresses.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
hash.h Use SipHash-1-3 for hash tables, keep SipHash-2-4 for cookies 2026-05-15 08:15:59 +02:00
hashmap.h Refactor isc_hashmap to accept custom match function 2023-09-16 07:20:48 +02:00
heap.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
helper.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
hex.h Add enum for use with isc_base64_tobuffer and isc_hex_tobuffer 2026-01-27 23:57:34 +11:00
histo.h Use standard reference counting for isc_histomulti 2026-02-26 14:00:10 +00:00
hmac.h Separate isc_hmac between pre and post OpenSSL 3.0 2026-02-02 11:50:14 +03:00
ht.h clean up uses of ISC_R_NOMEMORY 2025-01-23 15:54:57 -08:00
httpd.h Refactor the network manager to be a singleton 2025-07-23 22:45:38 +02:00
interfaceiter.h clean up uses of ISC_R_NOMEMORY 2025-01-23 15:54:57 -08:00
iterated_hash.h Enforce NSEC3 record consistency 2026-02-24 14:57:22 +01:00
job.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
lex.h clean up uses of ISC_R_NOMEMORY 2025-01-23 15:54:57 -08:00
lib.h document usage of BIND9 constructors/destructors 2025-12-04 16:09:40 +01:00
list.h make all ISC_LIST_FOREACH calls safe 2025-05-23 13:09:10 -07:00
log.h Fix building on uclibc 2026-01-04 15:14:10 +01:00
loop.h Change the loopmgr to be singleton 2025-07-23 22:44: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 Add and use global memory context called isc_g_mctx 2025-08-04 11:29:26 +02:00
md.h cleanup unused header in isc/md.h 2026-02-02 11:50:14 +03:00
mem.h Reduce memory footprint by enabling background page purging 2026-04-08 16:42:19 +02:00
meminfo.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
mutex.h Move locking macros into individual headers 2025-03-01 07:33:51 +01:00
net.h Rename isc_net_getudpportrange() to isc_net_getportrange() 2026-02-20 14:06:23 +01:00
netaddr.h Add ISC_LIST support for isc_netaddr_t 2026-03-30 20:41:13 +02:00
netmgr.h Implement IP_LOCAL_PORT_RANGE socket option for Linux 2026-02-20 14:06:23 +01:00
netscope.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
nonce.h Use arc4random for CSPRNG when available 2025-10-02 13:26:07 +02:00
once.h Move the library init and shutdown to executables 2025-02-22 16:19:00 +01:00
os.h Implement IP_LOCAL_PORT_RANGE socket option for Linux 2026-02-20 14:06:23 +01:00
ossl_wrap.h expose isc__crypto_md in isc/ossl_wrap.h 2026-02-02 11:50:14 +03:00
overflow.h Simplify add/sub/mul overflow checks 2025-08-26 15:32:53 +02:00
parseint.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
pause.h Improve the spinloop pause / yield hint 2023-02-14 17:13:24 +00:00
portset.h clean up uses of ISC_R_NOMEMORY 2025-01-23 15:54:57 -08:00
proxy2.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
queue.h Use clang-format-22 to update formatting 2026-03-04 10:56:41 +01:00
quota.h Use clang-format-22 to update formatting 2026-03-04 10:56:41 +01:00
radix.h clean up uses of ISC_R_NOMEMORY 2025-01-23 15:54:57 -08:00
random.h Fix assertion failure from arc4random_uniform with invalid limit 2025-10-24 22:20:43 +02:00
ratelimiter.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
readline.h Drop readline alternatives in favor of libedit 2025-03-31 15:20:40 +02:00
refcount.h Use clang-format-22 to update formatting 2026-03-04 10:56:41 +01:00
regex.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
region.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
result.h Switch UDP fetches to TCP on the first response with a wrong query id 2026-05-14 15:56:18 +02:00
rwlock.h Move locking macros into individual headers 2025-03-01 07:33:51 +01:00
safe.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
serial.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
sieve.h Only unlink from SIEVE LRU if it is still linked 2025-11-04 19:52:45 +01:00
signal.h Change the loopmgr to be singleton 2025-07-23 22:44:16 +02:00
siphash.h Use SipHash-1-3 for hash tables, keep SipHash-2-4 for cookies 2026-05-15 08:15:59 +02:00
slist.h Fix formatting 2025-12-10 12:18:34 +01:00
sockaddr.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
spinlock.h Move locking macros into individual headers 2025-03-01 07:33:51 +01:00
stats.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
statsmulti.h Convert isc_statsmulti to use ISC_REFCOUNT_IMPL 2026-03-26 10:19:25 +01:00
stdio.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
stdtime.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
strerr.h Explain <isc/strerr.h> a little more 2023-02-15 16:44:09 +00:00
string.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
symtab.h Refactor and simplify isc_symtab 2025-02-17 11:43:19 +01:00
syslog.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
thread.h Add support for setting thread stack size 2025-08-05 10:46:09 +02:00
tid.h Add ISC_TID_MAX with default being 512 threads 2025-06-28 13:32:12 +02:00
time.h Detect and possibly define constexpr using Autoconf 2024-12-25 15:21:26 +01:00
timer.h Add isc_timer_running() function to check status of timer 2025-02-21 22:05:43 +01:00
tls.h move openssl error reporting to isc/ossl_wrap 2026-02-02 11:50:14 +03:00
tm.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
types.h Add ISC_LIST support for isc_netaddr_t 2026-03-30 20:41:13 +02:00
urcu.h Fix data race in RCU pointer exchange operations 2026-03-19 08:10:22 +01:00
url.h Rewrite isc_httpd using picohttpparser and isc_url_parse 2022-10-14 11:26:54 +02:00
utf8.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
util.h Move ISC_NONSTRING from util.h to attributes.h 2026-03-23 11:06:28 +01:00
uv.h Convert the isc/tid.h to use own signed integer isc_tid_t type 2025-06-28 13:32:12 +02:00
work.h Remove C++ support from the public header 2024-12-18 13:10:39 +01:00
xml.h Use custom isc_mem based allocator for libxml2 2022-09-27 17:10:42 +02:00