Skip to content

Commit

Permalink
Merge pull request #5965 from vector-im/feature/adm/matrix-id-certifi…
Browse files Browse the repository at this point in the history
…cate

Handling SSL/TLS errors during WellKnown lookup
  • Loading branch information
ouchadam authored May 10, 2022
2 parents 185cd31 + e97cdb0 commit ece48ba
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 11 deletions.
1 change: 1 addition & 0 deletions changelog.d/5965.sdk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Including SSL/TLS error handing when doing WellKnown lookups without a custom HomeServerConnectionConfig
Original file line number Diff line number Diff line change
Expand Up @@ -382,11 +382,16 @@ internal class DefaultAuthenticationService @Inject constructor(
return getWellknownTask.execute(
GetWellknownTask.Params(
domain = matrixId.getDomain(),
homeServerConnectionConfig = homeServerConnectionConfig
homeServerConnectionConfig = homeServerConnectionConfig.orWellKnownDefaults()
)
)
}

private fun HomeServerConnectionConfig?.orWellKnownDefaults() = this ?: HomeServerConnectionConfig.Builder()
// server uri is ignored when doing a wellknown lookup as we use the matrix id domain instead
.withHomeServerUri("https://dummy.org")
.build()

override suspend fun directAuthentication(homeServerConnectionConfig: HomeServerConnectionConfig,
matrixId: String,
password: String,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ internal interface GetWellknownTask : Task<GetWellknownTask.Params, WellknownRes
* the URL will be https://{domain}/.well-known/matrix/client
*/
val domain: String,
val homeServerConnectionConfig: HomeServerConnectionConfig?
val homeServerConnectionConfig: HomeServerConnectionConfig
)
}

Expand All @@ -61,15 +61,11 @@ internal class DefaultGetWellknownTask @Inject constructor(
return findClientConfig(params.domain, client)
}

private fun buildClient(homeServerConnectionConfig: HomeServerConnectionConfig?): OkHttpClient {
return if (homeServerConnectionConfig != null) {
okHttpClient.get()
.newBuilder()
.addSocketFactory(homeServerConnectionConfig)
.build()
} else {
okHttpClient.get()
}
private fun buildClient(homeServerConnectionConfig: HomeServerConnectionConfig): OkHttpClient {
return okHttpClient.get()
.newBuilder()
.addSocketFactory(homeServerConnectionConfig)
.build()
}

/**
Expand Down

0 comments on commit ece48ba

Please sign in to comment.