diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6c1ed3856..245170e4a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -24,6 +24,7 @@ All notable changes to this project will be documented in this file.
- Accessibility autofill has been removed completely due to being buggy, insecure and lacking in features. Upgrade to Android 8 or preferably later to gain access to our advanced Autofill implementation.
- The settings UI has been completely re-done to dramatically improve discoverability and navigation for users
+- Using the `git://` protocol in the server URL now presents an explicit discouragement rather than a generic error
## [1.13.4] - 2021-03-20
diff --git a/app/src/main/java/dev/msfjarvis/aps/ui/git/config/GitServerConfigActivity.kt b/app/src/main/java/dev/msfjarvis/aps/ui/git/config/GitServerConfigActivity.kt
index 56d9c0435..372d58637 100644
--- a/app/src/main/java/dev/msfjarvis/aps/ui/git/config/GitServerConfigActivity.kt
+++ b/app/src/main/java/dev/msfjarvis/aps/ui/git/config/GitServerConfigActivity.kt
@@ -116,6 +116,15 @@ class GitServerConfigActivity : BaseGitActivity() {
return@setOnClickListener
}
}
+ if (newUrl.startsWith("git://")) {
+ BasicBottomSheet.Builder(this)
+ .setTitleRes(R.string.git_scheme_disallowed_title)
+ .setMessageRes(R.string.git_scheme_disallowed_message)
+ .setPositiveButtonClickListener {}
+ .build()
+ .show(supportFragmentManager, "SSH_SCHEME_WARNING")
+ return@setOnClickListener
+ }
when (val updateResult =
GitSettings.updateConnectionSettingsIfValid(
newAuthMode = newAuthMode,
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index b9a371d8c..e077bf11c 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -389,6 +389,8 @@
It appears that your URL contains a custom port, but does not specify the ssh:// scheme.\nThis can cause the port to be considered a part of your path. Press OK here to fix the URL.
HTTPS URL with custom port
It looks like you are using a HTTPS URL with a custom port. This is not supported, and will cause problems down the line. Press OK to remove the port from your URL.
+ Using the git:// protocol is discouraged
+ The git protocol provided by git-daemon performs no transport encryption and is unsuitable for secure operations.
Proxy hostname