|
|
@ -33,23 +33,25 @@ public final class OpenGroupManagerV2 : NSObject {
|
|
|
|
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 {
|
|
|
|
guard let serverUrl: URL = URL(string: server) else { return false }
|
|
|
|
guard let serverUrl: URL = URL(string: server) else { return false }
|
|
|
|
|
|
|
|
|
|
|
|
let schemeFreeServer: String = (serverUrl.host ?? server)
|
|
|
|
let serverHost: String = (serverUrl.host ?? server)
|
|
|
|
let schemeFreeDefaultServer: String = OpenGroupAPIV2.defaultServer.substring(from: "http://".count)
|
|
|
|
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)",
|
|
|
|