What's New
ICMPv6 Support (new feature)
- Auto-detection: pass an IPv6 address and QueenSono automatically uses ICMPv6 (protocol 58) — no extra flags needed
- Works with all existing modes: send/receive, echo reply, integrity check
- Listen address auto-adapts (e.g.
0.0.0.0swaps to::when the remote is IPv6)
Usage
# IPv6 — just works
qssender send --remote fe80::1 "hello"
qsreceiver receive --listen ::
# IPv4 — unchanged
qssender send --remote 192.168.1.1 "hello"
qsreceiver receive --listen 0.0.0.0Implementation
- New
Protoconfig struct centralizes IPv4/IPv6 differences (network string, protocol number, ICMP type constants) DetectProto(addr)inspects the IP address format and returns the correct configResolveListenAddradapts wildcard listen addresses to match the detected protocol- All hardcoded IPv4 references removed from
send.go,receive.go,reply.go - No public API changes — fully backward compatible
Testing
- 20 new unit tests for protocol detection and address resolution
- Table-driven tests with mutation testing validation (100% kill rate on protocol.go)
- All 38 tests pass,
go vetclean
Closes #9