Do not overwrite HTTP auth configuration settings When initialising GitHub authentication, we need to prevent existing customised settings on the [http] auth section from being overwritten with default values. Change-Id: I56f0df590543b831f96576a25561585361a6a059
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/InitGitHub.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/InitGitHub.java index 907f73d..5a78252 100644 --- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/InitGitHub.java +++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/InitGitHub.java
@@ -15,6 +15,7 @@ import java.net.URISyntaxException; +import com.google.common.base.Strings; import com.google.gerrit.pgm.init.api.ConsoleUI; import com.google.gerrit.pgm.init.api.InitStep; import com.google.gerrit.pgm.init.api.InitUtil; @@ -79,16 +80,22 @@ auth.string("HTTP Authentication Header", "httpHeader", "GITHUB_USER"); httpd.set("filterClass", "com.googlesource.gerrit.plugins.github.oauth.OAuthFilter"); - auth.set("httpExternalIdHeader", "GITHUB_OAUTH_TOKEN"); - auth.set("loginUrl","/login"); - auth.set("loginText", "Sign-in with GitHub"); - auth.set("registerPageUrl", "/#/register"); + authSetDefault("httpExternalIdHeader", "GITHUB_OAUTH_TOKEN"); + authSetDefault("loginUrl","/login"); + authSetDefault("loginText", "Sign-in with GitHub"); + authSetDefault("registerPageUrl", "/#/register"); } else { httpd.unset("filterClass"); httpd.unset("httpHeader"); } } + private void authSetDefault(String key, String defValue) { + if (Strings.isNullOrEmpty(auth.get(key))) { + auth.set(key, defValue); + } + } + private String getAssumedCanonicalWebUrl() { String url = gerrit.get("canonicalWebUrl"); if (url != null) {