diff --git a/Boka/Package.resolved b/Boka/Package.resolved index fbf27596..c4ca695a 100644 --- a/Boka/Package.resolved +++ b/Boka/Package.resolved @@ -6,8 +6,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/gh123man/Async-Channels.git", "state" : { - "revision" : "37d32cfc70f08b72a38a2c40f65338ee023afa45", - "version" : "1.0.1" + "revision" : "e4c71cd0364532d34b27e76f4ab7229abaaaefb4", + "version" : "1.0.2" } }, { diff --git a/Networking/Sources/MsQuicSwift/NetAddr.swift b/Networking/Sources/MsQuicSwift/NetAddr.swift index e6593558..245e201d 100644 --- a/Networking/Sources/MsQuicSwift/NetAddr.swift +++ b/Networking/Sources/MsQuicSwift/NetAddr.swift @@ -104,7 +104,7 @@ private func parseQuicAddr(_ addr: QUIC_ADDR) -> (String, UInt16, Bool)? { private func parseIpv4Addr(_ address: String) -> (String, UInt16)? { let ipv4Pattern = #"((?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"# - let ipv4WithPortPattern = #"(\#(ipv4Pattern)):(\d{1,5})"# + let ipv4WithPortPattern = #"(\#(ipv4Pattern)):(\d{1,5})(?=\s*$|\s+)"# let regex = try? NSRegularExpression(pattern: ipv4WithPortPattern, options: []) let range = NSRange(location: 0, length: address.utf16.count) @@ -142,7 +142,7 @@ private func parseIpv6Addr(_ address: String) -> (String, UInt16)? { "|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::", ")", ].reduce("", +) - let ipv6WithPortPattern = #"\[(\#(ipv6Pattern))\]:(\d{1,5})"# + let ipv6WithPortPattern = #"\[(\#(ipv6Pattern))\]:(\d{1,5})(?=\s*$|\s+)"# let regex = try? NSRegularExpression(pattern: ipv6WithPortPattern, options: []) let range = NSRange(location: 0, length: address.utf16.count) diff --git a/Networking/Tests/MsQuicSwiftTests/NetAddrTests.swift b/Networking/Tests/MsQuicSwiftTests/NetAddrTests.swift index 7ef858b0..dbd3104c 100644 --- a/Networking/Tests/MsQuicSwiftTests/NetAddrTests.swift +++ b/Networking/Tests/MsQuicSwiftTests/NetAddrTests.swift @@ -51,9 +51,15 @@ struct NetAddrTests { @Test func parseInvalidFormat() async throws { - let address = "abcd:::" - let netAddr = NetAddr(address: address) - #expect(netAddr == nil) + let address1 = "abcd:::" + let netAddr1 = NetAddr(address: address1) + #expect(netAddr1 == nil) + let address2 = "127.0.0.1:12,awef" + let netAddr2 = NetAddr(address: address2) + #expect(netAddr2 == nil) + let address3 = "[2001:db8:85a3::8a2e:370:7334]:8080,8081,8082" + let netAddr3 = NetAddr(address: address3) + #expect(netAddr3 == nil) } @Test diff --git a/boka.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/boka.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 3b97f812..346b6588 100644 --- a/boka.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/boka.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,13 +1,13 @@ { - "originHash" : "15c8990c2a71904ae0fb2311d87b37d53447f70bb359a55f0a30906bb5dcd56f", + "originHash" : "a1c5a905aa50d79012ebf1996304b1c1eb89ff484b4c2fb93ed061eca43155f6", "pins" : [ { "identity" : "async-channels", "kind" : "remoteSourceControl", "location" : "https://github.com/gh123man/Async-Channels.git", "state" : { - "revision" : "37d32cfc70f08b72a38a2c40f65338ee023afa45", - "version" : "1.0.1" + "revision" : "e4c71cd0364532d34b27e76f4ab7229abaaaefb4", + "version" : "1.0.2" } }, { @@ -87,8 +87,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/apple/swift-asn1.git", "state" : { - "revision" : "df5d2fcd22e3f480e3ef85bf23e277a4a0ef524d", - "version" : "1.2.0" + "revision" : "7faebca1ea4f9aaf0cda1cef7c43aecd2311ddf6", + "version" : "1.3.0" } }, { @@ -114,8 +114,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/apple/swift-certificates.git", "state" : { - "revision" : "2f797305c1b5b982acaa6005d8a9f970cc4e97ff", - "version" : "1.5.0" + "revision" : "1fbb6ef21f1525ed5faf4c95207b9c11bea27e94", + "version" : "1.6.1" } }, {