Merge pull request #595 from mpretty-cyro/fix/open-group-existing-url-matching

Fix open group existing url matching
pull/598/head
RyanZhao 3 years ago committed by GitHub
commit aa34484174
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -31,23 +31,27 @@ public final class OpenGroupManagerV2 : NSObject {
// MARK: Adding & Removing // MARK: Adding & Removing
public func hasExistingOpenGroup(room: String, server: String, publicKey: String, using transaction: YapDatabaseReadWriteTransaction) -> Bool { public func hasExistingOpenGroup(room: String, server: String, publicKey: String, using transaction: YapDatabaseReadWriteTransaction) -> Bool {
let schemeFreeServer: String = (server.starts(with: "https://") ? server.substring(from: "https://".count) : server.substring(from: "http://".count)) guard let serverUrl: URL = URL(string: server) else { return false }
let schemeFreeDefaultServer: String = OpenGroupAPIV2.defaultServer.substring(from: "http://".count)
let serverHost: String = (serverUrl.host ?? server)
let serverPort: String = (serverUrl.port.map { ":\($0)" } ?? "")
let defaultServerHost: String = OpenGroupAPIV2.defaultServer.substring(from: "http://".count)
var serverOptions: Set<String> = Set([ var serverOptions: Set<String> = Set([
schemeFreeServer, server,
"http://\(schemeFreeServer)", "\(serverHost)\(serverPort)",
"https://\(schemeFreeServer)" "http://\(serverHost)\(serverPort)",
"https://\(serverHost)\(serverPort)"
]) ])
if schemeFreeServer == OpenGroupAPIV2.legacyDefaultServerDNS { if serverHost == OpenGroupAPIV2.legacyDefaultServerDNS {
let defaultServerOptions: Set<String> = Set([ let defaultServerOptions: Set<String> = Set([
schemeFreeDefaultServer, defaultServerHost,
OpenGroupAPIV2.defaultServer, OpenGroupAPIV2.defaultServer,
"https://\(schemeFreeDefaultServer)" "https://\(defaultServerHost)"
]) ])
serverOptions = serverOptions.union(defaultServerOptions) serverOptions = serverOptions.union(defaultServerOptions)
} }
else if schemeFreeServer == schemeFreeDefaultServer { else if serverHost == defaultServerHost {
let legacyServerOptions: Set<String> = Set([ let legacyServerOptions: Set<String> = Set([
OpenGroupAPIV2.legacyDefaultServerDNS, OpenGroupAPIV2.legacyDefaultServerDNS,
"http://\(OpenGroupAPIV2.legacyDefaultServerDNS)", "http://\(OpenGroupAPIV2.legacyDefaultServerDNS)",

Loading…
Cancel
Save