summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Pursehouse <david.pursehouse@sonymobile.com>2015-11-27 00:15:42 +0900
committerDavid Pursehouse <david.pursehouse@sonymobile.com>2015-11-27 11:33:02 +0900
commit21bd07bc97016651482ec29b872ae6691f47060a (patch)
treedf902d4f9043e1bda56e890cc7ee441eaea68800
parentd4b57bea6a4205c95b7445f04e4226811509108c (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
-rw-r--r--Documentation/config-gerrit.txt20
-rw-r--r--gerrit-server/src/main/java/com/google/gerrit/server/account/DefaultRealm.java8
-rw-r--r--gerrit-server/src/main/java/com/google/gerrit/server/auth/ldap/LdapRealm.java4
-rw-r--r--gerrit-server/src/main/java/com/google/gerrit/server/config/AuthConfig.java7
-rw-r--r--gerrit-server/src/main/java/com/google/gerrit/server/mail/EmailSettings.java2
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);
}