diff options
author | David Pursehouse <david.pursehouse@sonymobile.com> | 2015-11-27 00:15:42 +0900 |
---|---|---|
committer | David Pursehouse <david.pursehouse@sonymobile.com> | 2015-11-27 11:33:02 +0900 |
commit | 21bd07bc97016651482ec29b872ae6691f47060a (patch) | |
tree | df902d4f9043e1bda56e890cc7ee441eaea68800 | |
parent | d4b57bea6a4205c95b7445f04e4226811509108c (diff) |
Move sendemail.allowRegisterNewEmail to auth.allowRegisterNewEmail
The sendemail section of the configuration is for settings related to how
Gerrit sends emails to users. allowRegisterEmail controls whether or not
users are allowed to register a new email address, which is not related
to Gerrit's sending of email.
Move the setting to the auth section, which is a more appropriate place
for it.
Change-Id: I06d9c4870060eb85bc4a05b536645d42df44e041
5 files changed, 19 insertions, 22 deletions
diff --git a/Documentation/config-gerrit.txt b/Documentation/config-gerrit.txt index 3992368756..45f7082c8f 100644 --- a/Documentation/config-gerrit.txt +++ b/Documentation/config-gerrit.txt @@ -482,6 +482,16 @@ editing gerrit.config and restarting the server. + Default is true. +[[auth.allowRegisterNewEmail]]auth.allowRegisterNewEmail:: ++ +Whether users are allowed to register new email addresses. ++ +In addition for the HTTP authentication type +link:#auth.httpemailheader[auth.httpemailheader] must *not* be set to +enable registration of new email addresses. ++ +By default, true. + [[cache]] === Section cache @@ -3154,16 +3164,6 @@ and all other properties of section sendemail are ignored. + By default, true, allowing notifications to be sent. -[[sendemail.allowRegisterNewEmail]]sendemail.allowRegisterNewEmail:: -+ -Whether users are allowed to register new email addresses. -+ -In addition for the HTTP authentication type -link:#auth.httpemailheader[auth.httpemailheader] must *not* be set to -enable registration of new email addresses. -+ -By default, true. - [[sendemail.connectTimeout]]sendemail.connectTimeout:: + The connection timeout of opening a socket connected to a diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/DefaultRealm.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/DefaultRealm.java index 7669cf96e8..5978703b42 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/DefaultRealm.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/DefaultRealm.java @@ -19,7 +19,6 @@ import com.google.gerrit.reviewdb.client.Account; import com.google.gerrit.reviewdb.client.AuthType; import com.google.gerrit.reviewdb.server.ReviewDb; import com.google.gerrit.server.config.AuthConfig; -import com.google.gerrit.server.mail.EmailSettings; import com.google.inject.Inject; import com.google.inject.Singleton; @@ -28,17 +27,14 @@ import java.util.Set; @Singleton public class DefaultRealm extends AbstractRealm { private final EmailExpander emailExpander; - private final EmailSettings emailSettings; private final AccountByEmailCache byEmail; private final AuthConfig authConfig; @Inject DefaultRealm(EmailExpander emailExpander, - EmailSettings emailSettings, AccountByEmailCache byEmail, AuthConfig authConfig) { this.emailExpander = emailExpander; - this.emailSettings = emailSettings; this.byEmail = byEmail; this.authConfig = authConfig; } @@ -52,7 +48,7 @@ public class DefaultRealm extends AbstractRealm { case FULL_NAME: return Strings.emptyToNull(authConfig.getHttpDisplaynameHeader()) == null; case REGISTER_NEW_EMAIL: - return emailSettings.allowRegisterNewEmail + return authConfig.isAllowRegisterNewEmail() && Strings.emptyToNull(authConfig.getHttpEmailHeader()) == null; default: return true; @@ -60,7 +56,7 @@ public class DefaultRealm extends AbstractRealm { } else { switch (field) { case REGISTER_NEW_EMAIL: - return emailSettings.allowRegisterNewEmail; + return authConfig.isAllowRegisterNewEmail(); default: return true; } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/auth/ldap/LdapRealm.java b/gerrit-server/src/main/java/com/google/gerrit/server/auth/ldap/LdapRealm.java index 9d7f7b7b58..cd1c4d3a50 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/auth/ldap/LdapRealm.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/auth/ldap/LdapRealm.java @@ -33,7 +33,6 @@ import com.google.gerrit.server.account.EmailExpander; import com.google.gerrit.server.auth.AuthenticationUnavailableException; import com.google.gerrit.server.config.AuthConfig; import com.google.gerrit.server.config.GerritServerConfig; -import com.google.gerrit.server.mail.EmailSettings; import com.google.gwtorm.server.SchemaFactory; import com.google.inject.Inject; import com.google.inject.Singleton; @@ -79,7 +78,6 @@ public class LdapRealm extends AbstractRealm { Helper helper, AuthConfig authConfig, EmailExpander emailExpander, - EmailSettings emailSettings, @Named(LdapModule.GROUP_CACHE) final LoadingCache<String, Set<AccountGroup.UUID>> membershipCache, @Named(LdapModule.USERNAME_CACHE) final LoadingCache<String, Optional<Account.Id>> usernameCache, @GerritServerConfig final Config config) { @@ -98,7 +96,7 @@ public class LdapRealm extends AbstractRealm { if (optdef(config, "accountSshUserName", "DEFAULT") != null) { readOnlyAccountFields.add(Account.FieldName.USER_NAME); } - if (!emailSettings.allowRegisterNewEmail) { + if (!authConfig.isAllowRegisterNewEmail()) { readOnlyAccountFields.add(Account.FieldName.REGISTER_NEW_EMAIL); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/config/AuthConfig.java b/gerrit-server/src/main/java/com/google/gerrit/server/config/AuthConfig.java index 6e6ed97ba5..c3bd519630 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/config/AuthConfig.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/config/AuthConfig.java @@ -60,6 +60,7 @@ public class AuthConfig { private final String cookiePath; private final boolean cookieSecure; private final SignedToken emailReg; + private final boolean allowRegisterNewEmail; @Inject AuthConfig(@GerritServerConfig final Config cfg) @@ -90,7 +91,7 @@ public class AuthConfig { useContributorAgreements = cfg.getBoolean("auth", "contributoragreements", false); userNameToLowerCase = cfg.getBoolean("auth", "userNameToLowerCase", false); - + allowRegisterNewEmail = cfg.getBoolean("auth", "allowRegisterNewEmail", true); String key = cfg.getString("auth", null, "registerEmailPrivateKey"); if (key != null && !key.isEmpty()) { @@ -297,4 +298,8 @@ public class AuthConfig { return authType == AuthType.LDAP || authType == AuthType.LDAP_BIND; } + + public boolean isAllowRegisterNewEmail() { + return allowRegisterNewEmail; + } } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/mail/EmailSettings.java b/gerrit-server/src/main/java/com/google/gerrit/server/mail/EmailSettings.java index 31135d0a2c..3c14f2f919 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/mail/EmailSettings.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/mail/EmailSettings.java @@ -22,13 +22,11 @@ import org.eclipse.jgit.lib.Config; @Singleton public class EmailSettings { - public final boolean allowRegisterNewEmail; public final boolean includeDiff; public final int maximumDiffSize; @Inject EmailSettings(@GerritServerConfig Config cfg) { - allowRegisterNewEmail = cfg.getBoolean("sendemail", "allowRegisterNewEmail", true); includeDiff = cfg.getBoolean("sendemail", "includeDiff", false); maximumDiffSize = cfg.getInt("sendemail", "maximumDiffSize", 256 << 10); } |