You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by an...@apache.org on 2015/10/02 03:33:48 UTC
ignite git commit: ignite-1219 Trust managers validation.
Repository: ignite
Updated Branches:
refs/heads/ignite-843 aad6eb215 -> 7db239961
ignite-1219 Trust managers validation.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/7db23996
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/7db23996
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/7db23996
Branch: refs/heads/ignite-843
Commit: 7db2399616af4e309093a9a8c776ae0b2eac84b4
Parents: aad6eb2
Author: Vasiliy Sisko <vs...@gridgain.com>
Authored: Fri Oct 2 08:33:40 2015 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Fri Oct 2 08:33:40 2015 +0700
----------------------------------------------------------------------
.../main/js/controllers/clusters-controller.js | 16 ++++++++--
.../main/js/controllers/models/clusters.json | 32 ++++++++++----------
.../src/main/js/helpers/common-utils.js | 9 +++---
.../js/routes/generator/generator-common.js | 18 +++++++++--
.../main/js/routes/generator/generator-java.js | 10 ++++--
.../main/js/routes/generator/generator-xml.js | 10 ++++--
6 files changed, 63 insertions(+), 32 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/7db23996/modules/control-center-web/src/main/js/controllers/clusters-controller.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/clusters-controller.js b/modules/control-center-web/src/main/js/controllers/clusters-controller.js
index 772b39b..9ecb7d5 100644
--- a/modules/control-center-web/src/main/js/controllers/clusters-controller.js
+++ b/modules/control-center-web/src/main/js/controllers/clusters-controller.js
@@ -56,6 +56,11 @@ consoleModule.controller('clustersController', [
$preview.previewInit(preview);
};
+ $scope.trustManagersConfigured = function() {
+ return $scope.backupItem.sslEnabled && $common.isDefined($scope.backupItem.sslContextFactory)
+ && !$common.isEmptyArray($scope.backupItem.sslContextFactory.trustManagers)
+ };
+
$scope.previewChanged = $preview.previewChanged;
$scope.hidePopover = $common.hidePopover;
@@ -380,9 +385,14 @@ consoleModule.controller('clustersController', [
return showPopoverMessage($scope.panels, 'general', 'serviceAccountId', 'Account ID should not be empty');
}
- if (item.sslEnabled && (!$common.isDefined(item.sslContextFactory)
- || $common.isEmptyString(item.sslContextFactory.keyStoreFilePath)))
- return showPopoverMessage($scope.panels, 'sslConfiguration', 'keyStoreFilePath', 'Key store file should not be empty');
+ if (item.sslEnabled) {
+ if (!$common.isDefined(item.sslContextFactory)
+ || $common.isEmptyString(item.sslContextFactory.keyStoreFilePath))
+ return showPopoverMessage($scope.panels, 'sslConfiguration', 'keyStoreFilePath', 'Key store file should not be empty');
+
+ if ($common.isEmptyString(item.sslContextFactory.trustStoreFilePath) && $common.isEmptyArray(item.sslContextFactory.trustManagers))
+ return showPopoverMessage($scope.panels, 'sslConfiguration', 'sslConfiguration-title', 'Trust storage file or managers should be configured');
+ }
if (!item.swapSpaceSpi || !item.swapSpaceSpi.kind && item.caches) {
for (var i = 0; i < item.caches.length; i++) {
http://git-wip-us.apache.org/repos/asf/ignite/blob/7db23996/modules/control-center-web/src/main/js/controllers/models/clusters.json
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/models/clusters.json b/modules/control-center-web/src/main/js/controllers/models/clusters.json
index 3556837..1b1c0a1 100644
--- a/modules/control-center-web/src/main/js/controllers/models/clusters.json
+++ b/modules/control-center-web/src/main/js/controllers/models/clusters.json
@@ -790,12 +790,26 @@
]
},
{
+ "label": "Trust managers",
+ "type": "table-simple",
+ "path": "sslContextFactory",
+ "model": "trustManagers",
+ "placeholder": "Trust manager",
+ "focusId": "trustManagers",
+ "addTip": "Add new trust manager.",
+ "removeTip": "Remove trust manager",
+ "hide": "!backupItem.sslEnabled",
+ "tableTip": [
+ "Pre-configured trust managers"
+ ]
+ },
+ {
"label": "Trust store file",
"id": "trustStoreFilePath",
"type": "text",
"path": "sslContextFactory",
"model": "trustStoreFilePath",
- "hide": "!backupItem.sslEnabled",
+ "hide": "!backupItem.sslEnabled || trustManagersConfigured()",
"tip": [
"Path to the trust store file"
]
@@ -808,24 +822,10 @@
"model": "trustStoreType",
"placeholder": "JKS",
"items": "sslStoreType",
- "hide": "!backupItem.sslEnabled",
+ "hide": "!backupItem.sslEnabled || trustManagersConfigured()",
"tip": [
"Trust store type used in context initialization"
]
- },
- {
- "label": "Trust managers",
- "type": "table-simple",
- "path": "sslContextFactory",
- "model": "trustManagers",
- "placeholder": "Trust manager",
- "focusId": "trustManagers",
- "addTip": "Add new trust manager.",
- "removeTip": "Remove trust manager",
- "hide": "!backupItem.sslEnabled",
- "tableTip": [
- "Pre-configured trust managers"
- ]
}
]
},
http://git-wip-us.apache.org/repos/asf/ignite/blob/7db23996/modules/control-center-web/src/main/js/helpers/common-utils.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/helpers/common-utils.js b/modules/control-center-web/src/main/js/helpers/common-utils.js
index e881f6a..7ea8885 100644
--- a/modules/control-center-web/src/main/js/helpers/common-utils.js
+++ b/modules/control-center-web/src/main/js/helpers/common-utils.js
@@ -31,12 +31,13 @@ $commonUtils.isDefined = function (v) {
* @returns {boolean} 'true' if value defined and not empty string.
*/
$commonUtils.isDefinedAndNotEmpty = function (v) {
- var definded = $commonUtils.isDefined(v);
+ var defined = $commonUtils.isDefined(v);
- if (definded && typeof(v) == 'string')
- definded = v.length > 0;
+ if (defined && (typeof(v) == 'string' ||
+ Object.prototype.toString.call(v) === '[object Array]'))
+ defined = v.length > 0;
- return definded;
+ return defined;
};
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/7db23996/modules/control-center-web/src/main/js/routes/generator/generator-common.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/routes/generator/generator-common.js b/modules/control-center-web/src/main/js/routes/generator/generator-common.js
index d07ee38..0e41557 100644
--- a/modules/control-center-web/src/main/js/routes/generator/generator-common.js
+++ b/modules/control-center-web/src/main/js/routes/generator/generator-common.js
@@ -318,7 +318,7 @@ $generatorCommon.TRANSACTION_CONFIGURATION = {
};
// SSL configuration code generation descriptor.
-$generatorCommon.SSL_CONFIGURATION_FACTORY = {
+$generatorCommon.SSL_CONFIGURATION_TRUST_FILE_FACTORY = {
className: 'org.apache.ignite.ssl.SslContextFactory',
fields: {
keyAlgorithm: null,
@@ -327,8 +327,20 @@ $generatorCommon.SSL_CONFIGURATION_FACTORY = {
keyStoreType: null,
protocol: null,
trustStoreFilePath: {type: 'path'},
- keyTrustPassword: {type: 'raw'},
- trustStoreType: null,
+ trustStorePassword: {type: 'raw'},
+ trustStoreType: null
+ }
+};
+
+// SSL configuration code generation descriptor.
+$generatorCommon.SSL_CONFIGURATION_TRUST_MANAGER_FACTORY = {
+ className: 'org.apache.ignite.ssl.SslContextFactory',
+ fields: {
+ keyAlgorithm: null,
+ keyStoreFilePath: {type: 'path'},
+ keyStorePassword: {type: 'raw'},
+ keyStoreType: null,
+ protocol: null,
trustManagers: {type: 'array'}
}
};
http://git-wip-us.apache.org/repos/asf/ignite/blob/7db23996/modules/control-center-web/src/main/js/routes/generator/generator-java.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/routes/generator/generator-java.js b/modules/control-center-web/src/main/js/routes/generator/generator-java.js
index bd3a24f..e9dbca8 100644
--- a/modules/control-center-web/src/main/js/routes/generator/generator-java.js
+++ b/modules/control-center-web/src/main/js/routes/generator/generator-java.js
@@ -1436,15 +1436,19 @@ $generatorJava.clusterSsl = function(cluster, res) {
cluster.sslContextFactory.keyStorePassword =
($commonUtils.isDefinedAndNotEmpty(cluster.sslContextFactory.keyStoreFilePath)) ? '_Key_Storage_Password_' : undefined;
- cluster.sslContextFactory.keyTrustPassword = ($commonUtils.isDefinedAndNotEmpty(cluster.sslContextFactory.trustStoreFilePath)) ?
+ cluster.sslContextFactory.trustStorePassword = ($commonUtils.isDefinedAndNotEmpty(cluster.sslContextFactory.trustStoreFilePath)) ?
'_Trust_Storage_Password_' : undefined;
+ var propsDesc = $commonUtils.isDefinedAndNotEmpty(cluster.sslContextFactory.trustManagers) ?
+ $generatorCommon.SSL_CONFIGURATION_TRUST_MANAGER_FACTORY.fields :
+ $generatorCommon.SSL_CONFIGURATION_TRUST_FILE_FACTORY.fields;
+
$generatorJava.beanProperty(res, 'cfg', cluster.sslContextFactory, 'sslContextFactory', 'sslContextFactory',
- 'org.apache.ignite.ssl.SslContextFactory', $generatorCommon.SSL_CONFIGURATION_FACTORY.fields, false);
+ 'org.apache.ignite.ssl.SslContextFactory', propsDesc, false);
}
return res;
-}
+};
/**
* Function to generate java code for cluster configuration.
http://git-wip-us.apache.org/repos/asf/ignite/blob/7db23996/modules/control-center-web/src/main/js/routes/generator/generator-xml.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/routes/generator/generator-xml.js b/modules/control-center-web/src/main/js/routes/generator/generator-xml.js
index a75ea9f..e4d2b13 100644
--- a/modules/control-center-web/src/main/js/routes/generator/generator-xml.js
+++ b/modules/control-center-web/src/main/js/routes/generator/generator-xml.js
@@ -568,14 +568,18 @@ $generatorXml.clusterSsl = function(cluster, res) {
cluster.sslContextFactory.keyStorePassword =
($commonUtils.isDefinedAndNotEmpty(cluster.sslContextFactory.keyStoreFilePath)) ? '${ssl.key.storage.password}' : undefined;
- cluster.sslContextFactory.keyTrustPassword =
+ cluster.sslContextFactory.trustStorePassword =
($commonUtils.isDefinedAndNotEmpty(cluster.sslContextFactory.trustStoreFilePath)) ? '${ssl.trust.storage.password}' : undefined;
- $generatorXml.beanProperty(res, cluster.sslContextFactory, 'sslContextFactory', $generatorCommon.SSL_CONFIGURATION_FACTORY, false);
+ var propsDesc = $commonUtils.isDefinedAndNotEmpty(cluster.sslContextFactory.trustManagers) ?
+ $generatorCommon.SSL_CONFIGURATION_TRUST_MANAGER_FACTORY :
+ $generatorCommon.SSL_CONFIGURATION_TRUST_FILE_FACTORY;
+
+ $generatorXml.beanProperty(res, cluster.sslContextFactory, 'sslContextFactory', propsDesc, false);
}
return res;
-}
+};
// Generate cache general group.
$generatorXml.cacheGeneral = function(cache, res) {