GerritPersonIdentProvider: Sanitize user.name and user.email values
The user.name and user.email values are taken as-is from the config without any sanitization, which would allow them to be configured with values that may interfere with standard email address parsing. Use JGit's PersonIdent#appendSanitized method to sanitize the values. Change-Id: If9c555aae26f1afcee1ec566154b43b7a11d2c71
This commit is contained in:
@@ -14,6 +14,8 @@
|
||||
|
||||
package com.google.gerrit.server;
|
||||
|
||||
import static com.google.common.base.MoreObjects.firstNonNull;
|
||||
|
||||
import com.google.gerrit.server.config.GerritServerConfig;
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.Provider;
|
||||
@@ -30,12 +32,14 @@ public class GerritPersonIdentProvider implements Provider<PersonIdent> {
|
||||
|
||||
@Inject
|
||||
public GerritPersonIdentProvider(@GerritServerConfig final Config cfg) {
|
||||
String name = cfg.getString("user", null, "name");
|
||||
if (name == null) {
|
||||
name = "Gerrit Code Review";
|
||||
}
|
||||
this.name = name;
|
||||
email = cfg.get(UserConfig.KEY).getCommitterEmail();
|
||||
StringBuilder name = new StringBuilder();
|
||||
PersonIdent.appendSanitized(
|
||||
name, firstNonNull(cfg.getString("user", null, "name"), "Gerrit Code Review"));
|
||||
this.name = name.toString();
|
||||
|
||||
StringBuilder email = new StringBuilder();
|
||||
PersonIdent.appendSanitized(email, cfg.get(UserConfig.KEY).getCommitterEmail());
|
||||
this.email = email.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user