diff --git a/bin/update-metadata.in b/bin/update-metadata.in index fa8a242526f6b356d969211d8facd18b678d25de..95d818231602a4b1d0ea70b2a1e2daa22b399ab1 100755 --- a/bin/update-metadata.in +++ b/bin/update-metadata.in @@ -78,7 +78,7 @@ foreach my $id (split(/, */, $configuration->{groups}->{list})) { print "parsing metadata from file $file\n" if $options{verbose}; my $entities; eval { - $entities = $metadata->parse(type => 'sp'); + $entities = $metadata->parse(); }; if ($EVAL_ERROR) { $db->rollback(); @@ -86,11 +86,15 @@ foreach my $id (split(/, */, $configuration->{groups}->{list})) { } foreach my $entry (@$entities) { - # avoid duplicates + # skip duplicates next if $seen{$entry->{entityid}}++; + # skip entities different from SP or IdP + next if !$entry->{type}; + my $entity = AccountManager::Entity->new( db => $db, + type => $entry->{type}, entityid => $entry->{entityid}, displayname => $entry->{display_name}, information_url => $entry->{information_url},