summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrederic Peters <fpeters@entrouvert.com>2007-05-02 11:31:38 +0000
committerFrederic Peters <fpeters@entrouvert.com>2007-05-02 11:31:38 +0000
commit0777f98fde76c30be996f07a93eefdf144c2d7a6 (patch)
tree518832eea50086753890ceb1f74c65cf1e3328df
parent7ec330821df2c6d986ba6e2f70edf5d38dce1dca (diff)
downloadlasso-0777f98fde76c30be996f07a93eefdf144c2d7a6.tar.gz
lasso-0777f98fde76c30be996f07a93eefdf144c2d7a6.tar.xz
lasso-0777f98fde76c30be996f07a93eefdf144c2d7a6.zip
hardened id-wsf1 disco detection against misc nodes
-rw-r--r--lasso/id-wsf/discovery.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/lasso/id-wsf/discovery.c b/lasso/id-wsf/discovery.c
index a4cd9b0c..8da5cebf 100644
--- a/lasso/id-wsf/discovery.c
+++ b/lasso/id-wsf/discovery.c
@@ -403,12 +403,19 @@ lasso_discovery_get_resource_offering_auto(LassoDiscovery *discovery, const gcha
while (iter2) {
LassoSamlAttribute *attribute = iter2->data;
iter2 = g_list_next(iter2);
- if (strcmp(attribute->attributeName, "DiscoveryResourceOffering") != 0)
+ if (! LASSO_IS_SAML_ATTRIBUTE(attribute)) {
continue;
+ }
+ if (strcmp(attribute->attributeName, "DiscoveryResourceOffering") != 0) {
+ continue;
+ }
iter3 = attribute->AttributeValue;
while (iter3) {
LassoSamlAttributeValue *attribute_value = iter3->data;
iter3 = g_list_next(iter3);
+ if (! LASSO_IS_SAML_ATTRIBUTE_VALUE(attribute_value)) {
+ continue;
+ }
iter4 = attribute_value->any;
while (iter4) {
LassoDiscoResourceOffering *v = iter4->data;