Fixes around default SSL cert setting

This commit is contained in:
Aidan Follestad 2019-01-26 14:27:55 -08:00
parent 75297c7ff5
commit 33388bd5c2
4 changed files with 12 additions and 3 deletions

View file

@ -153,7 +153,7 @@ class AddSiteViewModel(
validationArgs = getValidationArgs(),
networkTimeout = timeout,
disabled = false,
certificate = certificateUri.value.toString()
certificate = certificateUri.value?.toString()
)
val newLastResult = ValidationResult(

View file

@ -231,7 +231,7 @@ class ViewSiteViewModel(
validationArgs = getValidationArgs(),
networkTimeout = timeout,
disabled = false,
certificate = certificateUri.value.toString()
certificate = certificateUri.value?.toString()
)
val retryPolicyTimes = retryPolicyTimes.value ?: 0

View file

@ -18,3 +18,10 @@ package com.afollestad.nocknock.utilities.ext
import android.net.Uri
fun String.toUri() = Uri.parse(this)!!
fun String?.isNotNullOrEmpty(): Boolean {
if (this == null || this == "null") {
return false
}
return !isNullOrEmpty()
}

View file

@ -26,6 +26,7 @@ import com.afollestad.nocknock.data.model.Status.OK
import com.afollestad.nocknock.engine.R
import com.afollestad.nocknock.engine.ssl.SslManager
import com.afollestad.nocknock.engine.validation.ValidationJob.Companion.KEY_SITE_ID
import com.afollestad.nocknock.utilities.ext.isNotNullOrEmpty
import com.afollestad.nocknock.utilities.providers.BundleProvider
import com.afollestad.nocknock.utilities.providers.JobInfoProvider
import com.afollestad.nocknock.utilities.providers.StringProvider
@ -168,7 +169,7 @@ class RealValidationExecutor(
return try {
val clientWithTimeout = clientTimeoutChanger(okHttpClient, siteSettings.networkTimeout)
val client = if (!siteSettings.certificate.isNullOrEmpty()) {
val client = if (siteSettings.certificate.isNotNullOrEmpty()) {
sslManager.clientForCertificate(
certUri = siteSettings.certificate!!,
siteUri = site.url,
@ -205,6 +206,7 @@ class RealValidationExecutor(
)
)
} catch (ex: Exception) {
ex.printStackTrace()
log("performValidation(${site.id}) = Error: ${ex.message}")
CheckResult(model = site.withStatus(status = ERROR, reason = ex.message))
}