anubis/internal
The Ninth 00fa939acf
Implement FCrDNS and other DNS features (#1308)
* Implement FCrDNS and other DNS features

* Redesign DNS cache and methods

* Fix DNS cache

* Rename regexSafe arg

* Alter verifyFCrDNS(addr) behaviour

* Remove unused dnsCache field from Server struct

* Upd expressions docs

* Update docs/docs/CHANGELOG.md

Signed-off-by: Xe Iaso <me@xeiaso.net>

* refactor(dns): simplify FCrDNS logging

* docs: clarify verifyFCrDNS behavior

Add a note to the documentation for `verifyFCrDNS` to clarify that it returns true when no PTR records are found for the given IP address.

* fix(dns): Improve FCrDNS error handling and tests

The `VerifyFCrDNS` function previously ignored errors returned from reverse DNS lookups. This could lead to incorrect passes when a DNS failure (other than a simple 'not found') occurred. This change ensures that any error from a reverse lookup will cause the FCrDNS check to fail.

The test suite for FCrDNS has been updated to reflect this change. The mock DNS lookups now simulate both 'not found' errors and other generic DNS errors. The test cases have been updated to ensure that the function behaves correctly in both scenarios, resolving a situation where two test cases were effectively duplicates.

* docs: Update FCrDNS documentation and spelling

Corrected a typo in the `verifyFCrDNS` function documentation.

Additionally, updated the spelling exception list to include new terms and remove redundant entries.

* chore: update spelling

Signed-off-by: Xe Iaso <me@xeiaso.net>

---------

Signed-off-by: Xe Iaso <me@xeiaso.net>
Co-authored-by: Xe Iaso <me@xeiaso.net>
2025-11-26 22:24:45 -05:00
..
actorify feat(store/bbolt): implement actor pattern (#1107) 2025-09-12 18:35:22 +00:00
dns Implement FCrDNS and other DNS features (#1308) 2025-11-26 22:24:45 -05:00
dnsbl Refactor and split out things into cmd and lib (#77) 2025-03-22 18:44:49 -04:00
glob feat: glob matching for redirect domains (#1084) 2025-09-06 15:46:18 +00:00
ogtags feat: writing logs to the filesystem with rotation support (#1299) 2025-11-21 11:46:00 -05:00
test feat: writing logs to the filesystem with rotation support (#1299) 2025-11-21 11:46:00 -05:00
gzip.go feat(lib): ensure that clients store cookies (#501) 2025-05-16 13:03:40 -04:00
hash.go perf: Replace internal SHA256 hashing with xxhash for 4-6x performance improvement (#676) 2025-06-16 22:53:53 -04:00
hash_bench_test.go perf: Replace internal SHA256 hashing with xxhash for 4-6x performance improvement (#676) 2025-06-16 22:53:53 -04:00
headers.go feat(internal/headers): extend debug logging of X-Forwarded-For middlewares (#1269) 2025-11-15 14:31:43 -05:00
health.go feat(anubis): add /healthz route to metrics server (#843) 2025-07-17 00:31:18 +00:00
ja4h.go feat(cmd/anubis): capture ja4h fingerprints (#834) 2025-07-14 23:31:33 -04:00
listor.go feat(store/valkey): Add Redis(R) Sentinel support (#1294) 2025-11-18 09:55:19 -05:00
listor_test.go feat(store/valkey): Add Redis(R) Sentinel support (#1294) 2025-11-18 09:55:19 -05:00
log.go feat: writing logs to the filesystem with rotation support (#1299) 2025-11-21 11:46:00 -05:00
log_test.go internal/log: Implement logging of HOST when using subrequest auth (#1027) 2025-08-29 19:04:33 +00:00
mimetype.go fix(internal): register mime type for .mjs files (#577) 2025-05-28 13:52:48 +00:00
unbreakdocker.go feat(lib): use new challenge creation flow (#749) 2025-07-04 20:42:28 +00:00
xff_test.go Adds ability to toggle off stripping of private addrs from XFF (#619) 2025-06-09 13:33:19 +00:00