From febad2dfa0c20f335bd5a22ef4e89eedeb4e580d Mon Sep 17 00:00:00 2001 From: Jon Jensen Date: Mon, 4 Apr 2022 16:26:49 -0600 Subject: [PATCH] Remove [ ] from around IPv6 addresses so whois works on them --- src/who_is.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/who_is.rs b/src/who_is.rs index e6407f2..e167aeb 100644 --- a/src/who_is.rs +++ b/src/who_is.rs @@ -292,9 +292,20 @@ impl WhoIs { None => &self.ip, }; + // Remove [ ] wrapper around IPv6 addresses, which is added by to_uri_authority_string() + // at https://github.com/magiclen/validators/blob/953b61fdfcad45cda128cef71d91bec5a1207642/validators-derive/src/validator_handlers/ipv6.rs#L323 + let target = options.target.to_uri_authority_string(); + //eprintln!("target={}", target); + let re = Regex::new(r"^\[(.+)\]$").unwrap(); + let bare_ip_string = match re.captures(&target) { + Some(target) => target.get(1).unwrap().as_str().to_string(), + None => target.to_string(), + }; + //eprintln!("bare_ip_string={}", bare_ip_string); + Self::lookup_inner( server, - options.target.to_uri_authority_string().as_ref(), + &bare_ip_string, options.timeout, options.follow, )