Prevent invalid user agent header values from being set
(cherry picked from commit d2e62ffb199d515b588b4899f7e53ed00bc47819)
This commit is contained in:
parent
7f7602f9b7
commit
08c6876742
@ -93,6 +93,7 @@ import exh.util.toAnnotatedString
|
||||
import kotlinx.coroutines.Job
|
||||
import kotlinx.coroutines.launch
|
||||
import logcat.LogPriority
|
||||
import okhttp3.Headers
|
||||
import rikka.sui.Sui
|
||||
import uy.kohesive.injekt.Injekt
|
||||
import uy.kohesive.injekt.api.get
|
||||
@ -330,6 +331,13 @@ class SettingsAdvancedScreen : SearchableSettings {
|
||||
context.toast(R.string.error_user_agent_string_blank)
|
||||
return@EditTextPreference false
|
||||
}
|
||||
try {
|
||||
// OkHttp checks for valid values internally
|
||||
Headers.Builder().add("User-Agent", it)
|
||||
} catch (_: IllegalArgumentException) {
|
||||
context.toast(R.string.error_user_agent_string_invalid)
|
||||
return@EditTextPreference false
|
||||
}
|
||||
context.toast(R.string.requires_app_restart)
|
||||
true
|
||||
},
|
||||
|
@ -498,6 +498,7 @@
|
||||
<string name="pref_dns_over_https">DNS over HTTPS (DoH)</string>
|
||||
<string name="pref_user_agent_string">Default user agent string</string>
|
||||
<string name="error_user_agent_string_blank">User agent string can not be blank</string>
|
||||
<string name="error_user_agent_string_invalid">Invalid user agent string</string>
|
||||
<string name="pref_reset_user_agent_string">Reset default user agent string</string>
|
||||
<string name="requires_app_restart">Requires app restart to take effect</string>
|
||||
<string name="cookies_cleared">Cookies cleared</string>
|
||||
|
Loading…
x
Reference in New Issue
Block a user