DIRKRB-707 start has server with specific conf_dir failed bug. Contributed by weizhenyuan.
diff --git a/has-project/has-common/src/main/java/org/apache/kerby/has/common/HasConfig.java b/has-project/has-common/src/main/java/org/apache/kerby/has/common/HasConfig.java
index e0f3f1e..bbc8e53 100644
--- a/has-project/has-common/src/main/java/org/apache/kerby/has/common/HasConfig.java
+++ b/has-project/has-common/src/main/java/org/apache/kerby/has/common/HasConfig.java
@@ -62,6 +62,16 @@
}
public String getSslServerConf() {
+ String value = getString(HasConfigKey.SSL_SERVER_CONF, false, "HAS");
+ if (value != null) {
+ return value;
+ }
+ if (getConfDir() != null) {
+ File sslSrvConf = new File(getConfDir(), "ssl-server.conf");
+ if (sslSrvConf.exists() && sslSrvConf.isFile()) {
+ return sslSrvConf.getAbsolutePath();
+ }
+ }
return getString(HasConfigKey.SSL_SERVER_CONF, true, "HAS");
}
diff --git a/has-project/has-server/src/main/java/org/apache/kerby/has/server/HasServer.java b/has-project/has-server/src/main/java/org/apache/kerby/has/server/HasServer.java
index 5991e55..f92f140 100644
--- a/has-project/has-server/src/main/java/org/apache/kerby/has/server/HasServer.java
+++ b/has-project/has-server/src/main/java/org/apache/kerby/has/server/HasServer.java
@@ -583,6 +583,7 @@
// Parse has-server.conf to get http_host and http_port
File confFile = new File(confDir, "has-server.conf");
hasConfig = HasUtil.getHasConfig(confFile);
+ hasConfig.setConfDir(getConfDir().getAbsoluteFile());
try {
String httpHost;
String httpPort;