fn split_addr_port(addr: &str) -> (String, Option<u16>)
Splits a client ip:port into (ip, port), tolerating bare IPs and bracketed IPv6.
ip:port
(ip, port)