diff options
| author | Harsh Shandilya <me@msfjarvis.dev> | 2020-12-10 22:47:18 +0530 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-12-10 22:47:18 +0530 |
| commit | ce2e657108187a34416cfbfc0c5d2fc8bb9277f3 (patch) | |
| tree | 850810300c35213d54f8acccb1cbe474002f6829 /app/src/main/java/dev/msfjarvis/aps/util | |
| parent | c02ad427be3652298f4a07a5f1a0d68e4ac44c45 (diff) | |
| download | HardenedPass-ce2e657108187a34416cfbfc0c5d2fc8bb9277f3.tar.gz HardenedPass-ce2e657108187a34416cfbfc0c5d2fc8bb9277f3.zip | |
Better guidance for users to deal with host key changes (#1242)
* Provide actionable guidance for host key mismatches
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Update changelog
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
* Hide host key clear button after use
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
Diffstat (limited to 'app/src/main/java/dev/msfjarvis/aps/util')
| -rw-r--r-- | app/src/main/java/dev/msfjarvis/aps/util/settings/GitSettings.kt | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/app/src/main/java/dev/msfjarvis/aps/util/settings/GitSettings.kt b/app/src/main/java/dev/msfjarvis/aps/util/settings/GitSettings.kt index 864cbf81..82af814b 100644 --- a/app/src/main/java/dev/msfjarvis/aps/util/settings/GitSettings.kt +++ b/app/src/main/java/dev/msfjarvis/aps/util/settings/GitSettings.kt @@ -55,6 +55,7 @@ object GitSettings { private val settings by lazy(LazyThreadSafetyMode.PUBLICATION) { Application.instance.sharedPrefs } private val encryptedSettings by lazy(LazyThreadSafetyMode.PUBLICATION) { Application.instance.getEncryptedGitPrefs() } private val proxySettings by lazy(LazyThreadSafetyMode.PUBLICATION) { Application.instance.getEncryptedProxyPrefs() } + private val hostKeyPath by lazy(LazyThreadSafetyMode.NONE) { "${Application.instance.filesDir}/.host_key" } var authMode get() = AuthMode.fromString(settings.getString(PreferenceKeys.GIT_REMOTE_AUTH)) @@ -63,6 +64,7 @@ object GitSettings { putString(PreferenceKeys.GIT_REMOTE_AUTH, value.pref) } } + var url get() = settings.getString(PreferenceKeys.GIT_REMOTE_URL) private set(value) { @@ -78,8 +80,9 @@ object GitSettings { // should be deleted/reset. useMultiplexing = true encryptedSettings.edit { remove(PreferenceKeys.HTTPS_PASSWORD) } - File("${Application.instance.filesDir}/.host_key").delete() + clearSavedHostKey() } + var authorName get() = settings.getString(PreferenceKeys.GIT_CONFIG_AUTHOR_NAME) ?: "" set(value) { @@ -87,6 +90,7 @@ object GitSettings { putString(PreferenceKeys.GIT_CONFIG_AUTHOR_NAME, value) } } + var authorEmail get() = settings.getString(PreferenceKeys.GIT_CONFIG_AUTHOR_EMAIL) ?: "" set(value) { @@ -94,6 +98,7 @@ object GitSettings { putString(PreferenceKeys.GIT_CONFIG_AUTHOR_EMAIL, value) } } + var branch get() = settings.getString(PreferenceKeys.GIT_BRANCH_NAME) ?: DEFAULT_BRANCH private set(value) { @@ -101,6 +106,7 @@ object GitSettings { putString(PreferenceKeys.GIT_BRANCH_NAME, value) } } + var useMultiplexing get() = settings.getBoolean(PreferenceKeys.GIT_REMOTE_USE_MULTIPLEXING, true) set(value) { @@ -178,4 +184,16 @@ object GitSettings { branch = newBranch return UpdateConnectionSettingsResult.Valid } + + /** + * Deletes a previously saved SSH host key + */ + fun clearSavedHostKey() { + File(hostKeyPath).delete() + } + + /** + * Returns true if a host key was previously saved + */ + fun hasSavedHostKey(): Boolean = File(hostKeyPath).exists() } |
