mirror of
https://github.com/wweir/sower.git
synced 2026-10-19 16:14:33 +00:00
- The sower frame checksum now covers the command and port in addition to the target, using HMAC-SHA256 (length-extension resistant) so a man-in-the-middle on a plaintext link cannot retarget a captured frame to an arbitrary port. - Unwrap rejects empty or control-character target hosts. - The SOCKS5 server writes the RFC 1928 METHOD=0xFF failure response instead of leaving the peer hanging on an unusable negotiation. - DHCP discovery validates the reply (matching xid, BOOTREPLY, message type OFFER) and skips unrelated packets instead of trusting the first datagram, closing a LAN-side DNS-hijack vector; the socket also sets SO_BROADCAST explicitly (Go 1.26 removed UDPConn.SetBroadcast). - The uTLS handshake gets a bounded default deadline when the dialer has no timeout, so it cannot hang open forever. - The suffix tree trims every trailing dot so dirty rule files cannot build unreachable empty-label subtrees.