mirror of
https://github.com/SagerNet/sing-box.git
synced 2026-05-31 12:49:22 +00:00
The TTL computation and assignment loops treat OPT record's Hdr.Ttl as a regular TTL, but per RFC 6891 it encodes EDNS0 metadata (ExtRCode|Version|Flags). This corrupts cached responses causing systemd-resolved to reject them with EDNS version 255. Also fix pointer aliasing: storeCache() stored raw *dns.Msg pointer so subsequent mutations by Exchange() corrupted cached data. - Skip OPT records in all TTL loops (Exchange + loadResponse) - Use message.Copy() in storeCache() to isolate cache from mutations |
||
|---|---|---|
| .. | ||
| transport | ||
| client.go | ||
| client_log.go | ||
| client_truncate.go | ||
| extension_edns0_subnet.go | ||
| rcode.go | ||
| router.go | ||
| transport_adapter.go | ||
| transport_dialer.go | ||
| transport_manager.go | ||
| transport_registry.go | ||