diff --git a/java/google/registry/config/ConfigModule.java b/java/google/registry/config/ConfigModule.java index e16d8d807..cf949a3da 100644 --- a/java/google/registry/config/ConfigModule.java +++ b/java/google/registry/config/ConfigModule.java @@ -863,4 +863,15 @@ public final class ConfigModule { public static Duration provideAsyncDeleteFlowMapreduceDelay() { return Duration.standardSeconds(90); } + + /** + * The server ID used in the 'svID' element of an EPP 'greeting'. + * + * @see RFC 7530 + */ + @Provides + @Config("greetingServerId") + public static String provideGreetingServerId() { + return "Charleston Road Registry"; + } } diff --git a/java/google/registry/flows/session/HelloFlow.java b/java/google/registry/flows/session/HelloFlow.java index 78662ffd8..141271088 100644 --- a/java/google/registry/flows/session/HelloFlow.java +++ b/java/google/registry/flows/session/HelloFlow.java @@ -14,6 +14,7 @@ package google.registry.flows.session; +import google.registry.config.ConfigModule.Config; import google.registry.flows.EppException; import google.registry.flows.ExtensionManager; import google.registry.flows.Flow; @@ -26,11 +27,12 @@ public class HelloFlow implements Flow { @Inject ExtensionManager extensionManager; @Inject Clock clock; + @Inject @Config("greetingServerId") String greetingServerId; @Inject HelloFlow() {} @Override public Greeting run() throws EppException { extensionManager.validate(); // There are no legal extensions for this flow. - return Greeting.create(clock.nowUtc()); + return Greeting.create(clock.nowUtc(), greetingServerId); } } diff --git a/java/google/registry/model/eppoutput/Greeting.java b/java/google/registry/model/eppoutput/Greeting.java index 7f082496c..933a36c61 100644 --- a/java/google/registry/model/eppoutput/Greeting.java +++ b/java/google/registry/model/eppoutput/Greeting.java @@ -31,7 +31,7 @@ import org.joda.time.DateTime; */ public class Greeting extends ImmutableObject implements ResponseOrGreeting { - String svID = "Charleston Road Registry"; + String svID; DateTime svDate; /** This is never changed, so it might as well be static for efficiency. */ @@ -42,8 +42,9 @@ public class Greeting extends ImmutableObject implements ResponseOrGreeting { @XmlElement static Dcp dcp = new Dcp(); - public static Greeting create(DateTime svDate) { + public static Greeting create(DateTime svDate, String svID) { Greeting instance = new Greeting(); + instance.svID = svID; instance.svDate = svDate; return instance; }