From d3bb9f9db0c9f02efbc71486f18db629e39d0a14 Mon Sep 17 00:00:00 2001 From: Avently <7953703+avently@users.noreply.github.com> Date: Tue, 17 Sep 2024 21:25:44 +0700 Subject: [PATCH] validity of host --- .../simplex/common/views/usersettings/NetworkAndServers.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/usersettings/NetworkAndServers.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/usersettings/NetworkAndServers.kt index ca15e58340..5272353c20 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/usersettings/NetworkAndServers.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/usersettings/NetworkAndServers.kt @@ -290,6 +290,7 @@ fun SocksProxySettings( ) || !validCredential(usernameUnsaved.value.text) || !validCredential(passwordUnsaved.value.text) || + !validHost(hostUnsaved.value.text) || !validPort(portUnsaved.value.text) val resetDisabled = hostUnsaved.value.text.trim() == "localhost" && portUnsaved.value.text.trim() == "9050" && proxyAuthRandomUnsaved.value && onionHosts.value == NetCfg.defaults.onionHosts ModalView( @@ -316,7 +317,7 @@ fun SocksProxySettings( hostUnsaved, stringResource(MR.strings.host_verb), modifier = Modifier.fillMaxWidth(), - isValid = { true }, + isValid = ::validHost, keyboardActions = KeyboardActions(onNext = { defaultKeyboardAction(ImeAction.Next) }), keyboardType = KeyboardType.Text, ) @@ -483,6 +484,9 @@ fun SessionModePicker( ) } +private fun validHost(s: String): Boolean = + !s.contains('@') + // https://ihateregex.io/expr/port/ fun validPort(s: String): Boolean { val validPort = Regex("^(6553[0-5])|(655[0-2][0-9])|(65[0-4][0-9]{2})|(6[0-4][0-9]{3})|([1-5][0-9]{4})|([0-5]{0,5})|([0-9]{1,4})$")