From e6334fd45064cb720399bf6aa75116ec62a88357 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Thu, 30 Jan 2020 12:04:15 +0900 Subject: Unnamed groups are not captured when named groups are used --- lib/net/ftp.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'lib/net/ftp.rb') diff --git a/lib/net/ftp.rb b/lib/net/ftp.rb index d1e545c0c8..1f6879d765 100644 --- a/lib/net/ftp.rb +++ b/lib/net/ftp.rb @@ -1044,7 +1044,7 @@ module Net TIME_PARSER = ->(value, local = false) { unless /\A(?\d{4})(?\d{2})(?\d{2}) (?\d{2})(?\d{2})(?\d{2}) - (\.(?\d+))?/x =~ value + (?:\.(?\d+))?/x =~ value raise FTPProtoError, "invalid time-val: #{value}" end usec = fractions.to_i * 10 ** (6 - fractions.to_s.size) @@ -1369,7 +1369,7 @@ module Net if !resp.start_with?("227") raise FTPReplyError, resp end - if m = /\((?\d+(,\d+){3}),(?\d+,\d+)\)/.match(resp) + if m = /\((?\d+(?:,\d+){3}),(?\d+,\d+)\)/.match(resp) return parse_pasv_ipv4_host(m["host"]), parse_pasv_port(m["port"]) else raise FTPProtoError, resp @@ -1385,9 +1385,9 @@ module Net if !resp.start_with?("228") raise FTPReplyError, resp end - if m = /\(4,4,(?\d+(,\d+){3}),2,(?\d+,\d+)\)/.match(resp) + if m = /\(4,4,(?\d+(?:,\d+){3}),2,(?\d+,\d+)\)/.match(resp) return parse_pasv_ipv4_host(m["host"]), parse_pasv_port(m["port"]) - elsif m = /\(6,16,(?\d+(,(\d+)){15}),2,(?\d+,\d+)\)/.match(resp) + elsif m = /\(6,16,(?\d+(?:,\d+){15}),2,(?\d+,\d+)\)/.match(resp) return parse_pasv_ipv6_host(m["host"]), parse_pasv_port(m["port"]) else raise FTPProtoError, resp -- cgit v1.2.3