Skip to content

Commit 63a944d

Browse files
committed
Fix swift-png compatibility issue (for CI) and clean up DNS resolution code slightly
1 parent 363a7fd commit 63a944d

File tree

3 files changed

+19
-39
lines changed

3 files changed

+19
-39
lines changed

Package.resolved

Lines changed: 1 addition & 19 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Sources/Core/Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ let package = Package(
8686
.package(url: "https://github.com/fourplusone/swift-package-zlib", from: "1.2.11"),
8787
.package(url: "https://github.com/stackotter/swift-image.git", branch: "master"),
8888
.package(url: "https://github.com/OpenCombine/OpenCombine.git", from: "0.13.0"),
89-
.package(url: "https://github.com/stackotter/swift-png", revision: "2ef3b194250cf8827462fc84f36a4e0cdc471ef0"),
89+
.package(url: "https://github.com/stackotter/swift-png", revision: "b11a34847192cec24fa91c23fe771e95eb2c08cc"),
9090
.package(url: "https://github.com/stackotter/ASN1Parser", branch: "main"),
9191
.package(url: "https://github.com/krzyzanowskim/CryptoSwift", from: "1.6.0"),
9292
.package(url: "https://github.com/Kitura/SwiftyRequest.git", from: "3.1.0"),

Sources/Core/Sources/Network/ServerConnection.swift

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -142,30 +142,28 @@ public class ServerConnection {
142142
}
143143
}
144144

145-
// If `host` is an ip already, no need to perform DNS lookups
146-
if isIp {
145+
guard !isIp else {
147146
return (server.host, server.port ?? 25565)
148-
} else {
149-
let resolver = Resolver()
150-
151-
// Check for SRV records if no port is specified
152-
if server.port == nil {
153-
do {
154-
let records = try resolver.discover("_minecraft._tcp.\(server.host)")
155-
if let record = records.first {
156-
return (record.address, record.port.map(UInt16.init) ?? server.port ?? 25565)
157-
}
158-
} catch {}
159-
}
147+
}
160148

161-
// Check for regular records
162-
let records = try resolver.resolve(server.host)
163-
if let record = records.first {
164-
return (record.address, server.port ?? 25565)
149+
// If `host` is an ip already, no need to perform DNS lookups
150+
let resolver = Resolver(timeout: 10)
151+
152+
// Check for SRV records if no port is specified
153+
if server.port == nil {
154+
let records = try? resolver.discover("_minecraft._tcp.\(server.host)")
155+
if let record = records?.first {
156+
return (record.address, record.port.map(UInt16.init) ?? server.port ?? 25565)
165157
}
158+
}
166159

167-
throw ServerConnectionError.failedToResolveHostname(hostname: server.host, nil)
160+
// Check for regular records
161+
let records = try resolver.resolve(server.host)
162+
if let record = records.first {
163+
return (record.address, server.port ?? 25565)
168164
}
165+
166+
throw ServerConnectionError.failedToResolveHostname(hostname: server.host, nil)
169167
} catch {
170168
throw ServerConnectionError.failedToResolveHostname(hostname: server.host, error)
171169
}

0 commit comments

Comments
 (0)