Updated Branches: refs/heads/master d21e06472 -> e73aafc09
CLOUDSTACK-2940 Allowing Replacement of realhostip.com with a customized domain for SSVM. Though the config variable was there we were always hardcoding to realhostip.com Reviewed-by: Abhi Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/e73aafc0 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/e73aafc0 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/e73aafc0 Branch: refs/heads/master Commit: e73aafc09ae3dc21dcbf8851f29c4b1977489fe6 Parents: d21e064 Author: Nitin Mehta <[email protected]> Authored: Thu Oct 11 19:38:32 2012 +0530 Committer: Nitin Mehta <[email protected]> Committed: Wed Jun 12 11:51:45 2013 +0530 ---------------------------------------------------------------------- .../storage/download/DownloadMonitorImpl.java | 20 ++++++++++++-------- .../cloud/storage/upload/UploadMonitorImpl.java | 14 +++++++++----- 2 files changed, 21 insertions(+), 13 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e73aafc0/server/src/com/cloud/storage/download/DownloadMonitorImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/storage/download/DownloadMonitorImpl.java b/server/src/com/cloud/storage/download/DownloadMonitorImpl.java index 663ab4a..f72a563 100755 --- a/server/src/com/cloud/storage/download/DownloadMonitorImpl.java +++ b/server/src/com/cloud/storage/download/DownloadMonitorImpl.java @@ -178,6 +178,7 @@ public class DownloadMonitorImpl extends ManagerBase implements DownloadMonitor protected AccountManager _accountMgr; private Boolean _sslCopy = new Boolean(false); + String _ssvmUrlDomain; private String _copyAuthPasswd; private String _proxy = null; protected SearchBuilder<VMTemplateHostVO> ReadyTemplateStatesSearch; @@ -198,11 +199,8 @@ public class DownloadMonitorImpl extends ManagerBase implements DownloadMonitor _sslCopy = Boolean.parseBoolean(configs.get("secstorage.encrypt.copy")); _proxy = configs.get(Config.SecStorageProxy.key()); - String cert = configs.get("secstorage.ssl.cert.domain"); - if (!"realhostip.com".equalsIgnoreCase(cert)) { - s_logger.warn("Only realhostip.com ssl cert is supported, ignoring self-signed and other certs"); - } - + _ssvmUrlDomain = configs.get("secstorage.ssl.cert.domain"); + _copyAuthPasswd = configs.get("secstorage.copy.password"); _agentMgr.registerForHostEvents(new DownloadListener(this), true, false, false); @@ -318,9 +316,15 @@ public class DownloadMonitorImpl extends ManagerBase implements DownloadMonitor String hostname = ipAddress; String scheme = "http"; if (_sslCopy) { - hostname = ipAddress.replace(".", "-"); - hostname = hostname + ".realhostip.com"; - scheme = "https"; + hostname = ipAddress.replace(".", "-"); + scheme = "https"; + + // Code for putting in custom certificates. + if(_ssvmUrlDomain != null && _ssvmUrlDomain.length() > 0){ + hostname = hostname + "." + _ssvmUrlDomain; + }else{ + hostname = hostname + ".realhostip.com"; + } } return scheme + "://" + hostname + "/copy/SecStorage/" + dir + "/" + path; } http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e73aafc0/server/src/com/cloud/storage/upload/UploadMonitorImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/storage/upload/UploadMonitorImpl.java b/server/src/com/cloud/storage/upload/UploadMonitorImpl.java index 77f0d20..31f3e74 100755 --- a/server/src/com/cloud/storage/upload/UploadMonitorImpl.java +++ b/server/src/com/cloud/storage/upload/UploadMonitorImpl.java @@ -106,6 +106,7 @@ public class UploadMonitorImpl extends ManagerBase implements UploadMonitor { private String _name; private Boolean _sslCopy = new Boolean(false); + private String _ssvmUrlDomain; private ScheduledExecutorService _executor = null; Timer _timer; @@ -329,8 +330,14 @@ public class UploadMonitorImpl extends ManagerBase implements UploadMonitor { String scheme = "http"; if (_sslCopy) { hostname = ipAddress.replace(".", "-"); - hostname = hostname + ".realhostip.com"; scheme = "https"; + + // Code for putting in custom certificates. + if(_ssvmUrlDomain != null && _ssvmUrlDomain.length() > 0){ + hostname = hostname + "." + _ssvmUrlDomain; + }else{ + hostname = hostname + ".realhostip.com"; + } } return scheme + "://" + hostname + "/userdata/" + uuid; } @@ -347,10 +354,7 @@ public class UploadMonitorImpl extends ManagerBase implements UploadMonitor { final Map<String, String> configs = _configDao.getConfiguration("ManagementServer", params); _sslCopy = Boolean.parseBoolean(configs.get("secstorage.encrypt.copy")); - String cert = configs.get("secstorage.secure.copy.cert"); - if ("realhostip.com".equalsIgnoreCase(cert)) { - s_logger.warn("Only realhostip.com ssl cert is supported, ignoring self-signed and other certs"); - } + _ssvmUrlDomain = configs.get("secstorage.ssl.cert.domain"); _agentMgr.registerForHostEvents(new UploadListener(this), true, false, false); String cleanupInterval = configs.get("extract.url.cleanup.interval");
