diff --git a/webwolf/src/main/java/org/owasp/webwolf/db/DataSourceResolver.java b/webwolf/src/main/java/org/owasp/webwolf/db/DataSourceResolver.java index 407b66ed5..ee90d2c0b 100644 --- a/webwolf/src/main/java/org/owasp/webwolf/db/DataSourceResolver.java +++ b/webwolf/src/main/java/org/owasp/webwolf/db/DataSourceResolver.java @@ -65,13 +65,24 @@ public class DataSourceResolver { @Value("${webgoat.actuator.configprops.path:/configprops}") private String configPropsPath; + @Value("${hsqldb.address}") + private String hsqlHost; + @Autowired ApplicationContext ctx; @Bean @DependsOn("dsConfigDiscovery") public DataSource dataSource(DataSourceProperties dataSourceProperties) { - DriverManagerDataSource driverManagerDataSource = new DriverManagerDataSource(dataSourceProperties.getUrl()); + String connectString = dataSourceProperties.getUrl(); + /** + * Replace the server address as reported by webgoat by the one that is given + * to WebWolf as the address of WebGoat. In case it doesn't run locally. + */ + if (connectString!=null) { + connectString = connectString.replace("0.0.0.0", hsqlHost); + } + DriverManagerDataSource driverManagerDataSource = new DriverManagerDataSource(connectString); driverManagerDataSource.setDriverClassName(dataSourceProperties.getDriverClassName()); return driverManagerDataSource; } diff --git a/webwolf/src/main/resources/application-webwolf.properties b/webwolf/src/main/resources/application-webwolf.properties index 2c5c464a7..ddeaee901 100644 --- a/webwolf/src/main/resources/application-webwolf.properties +++ b/webwolf/src/main/resources/application-webwolf.properties @@ -6,6 +6,7 @@ server.port=${WEBWOLF_PORT:9090} server.address=${WEBWOLF_HOST:127.0.0.1} server.servlet.session.cookie.name=WEBWOLFSESSION server.servlet.session.timeout=6000 +hsqldb.address=${WEBGOAT_HOST:127.0.0.1} spring.jpa.properties.hibernate.default_schema=CONTAINER spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.HSQLDialect