[java-identity-provider] branch master updated: IDP-1642 - Migrate configuration into jars where feasible
Scott Cantor
cantor.2 at osu.edu
Tue Jul 21 17:37:19 UTC 2020
This is an automated email from the git hooks/post-receive script.
scantor pushed a commit to branch master
in repository java-identity-provider.
View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=663d70c4a8e4178713fb8f266ee8c777e00e7bb2
The following commit(s) were added to refs/heads/master by this push:
new 663d70c4a IDP-1642 - Migrate configuration into jars where feasible
663d70c4a is described below
commit 663d70c4a8e4178713fb8f266ee8c777e00e7bb2
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Tue Jul 21 13:37:56 2020 -0400
IDP-1642 - Migrate configuration into jars where feasible
https://issues.shibboleth.net/jira/browse/IDP-1642
Move back to explicit flow registration.
Prevent jar override of system flows.
---
.../shibboleth/idp/admin/flows}/hello-beans.xml | 0
.../shibboleth/idp/admin/flows}/hello-flow.xml | 0
.../shibboleth/idp/admin/flows}/lockout-beans.xml | 0
.../shibboleth/idp/admin/flows}/lockout-flow.xml | 0
.../shibboleth/idp/admin/flows}/mdquery-beans.xml | 0
.../shibboleth/idp/admin/flows}/mdquery-flow.xml | 0
.../shibboleth/idp/admin/flows}/metrics-beans.xml | 0
.../shibboleth/idp/admin/flows}/metrics-flow.xml | 0
.../shibboleth/idp/admin/flows}/reload-metadata-beans.xml | 0
.../shibboleth/idp/admin/flows}/reload-metadata-flow.xml | 0
.../shibboleth/idp/admin/flows}/reload-service-beans.xml | 0
.../shibboleth/idp/admin/flows}/reload-service-flow.xml | 0
.../shibboleth/idp/admin/flows}/resolvertest-beans.xml | 0
.../shibboleth/idp/admin/flows}/resolvertest-flow.xml | 0
.../shibboleth/idp/admin/flows}/status-beans.xml | 0
.../shibboleth/idp/admin/flows}/status-flow.xml | 0
.../shibboleth/idp/admin/flows}/storage-beans.xml | 0
.../shibboleth/idp/admin/flows}/storage-flow.xml | 0
.../shibboleth/idp/admin/flows}/unlock-keys-beans.xml | 0
.../shibboleth/idp/admin/flows}/unlock-keys-flow.xml | 0
.../src/main/resources/system/conf/webflow-config.xml | 15 +++++++++++++--
.../spring/factory/FlowDefinitionRegistryFactoryBean.java | 15 +++++++++++++++
22 files changed, 28 insertions(+), 2 deletions(-)
diff --git a/idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/hello/hello-beans.xml b/idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/hello-beans.xml
similarity index 100%
rename from idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/hello/hello-beans.xml
rename to idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/hello-beans.xml
diff --git a/idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/hello/hello-flow.xml b/idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/hello-flow.xml
similarity index 100%
rename from idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/hello/hello-flow.xml
rename to idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/hello-flow.xml
diff --git a/idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/lockout/lockout-beans.xml b/idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/lockout-beans.xml
similarity index 100%
rename from idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/lockout/lockout-beans.xml
rename to idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/lockout-beans.xml
diff --git a/idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/lockout/lockout-flow.xml b/idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/lockout-flow.xml
similarity index 100%
rename from idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/lockout/lockout-flow.xml
rename to idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/lockout-flow.xml
diff --git a/idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/mdquery/mdquery-beans.xml b/idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/mdquery-beans.xml
similarity index 100%
rename from idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/mdquery/mdquery-beans.xml
rename to idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/mdquery-beans.xml
diff --git a/idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/mdquery/mdquery-flow.xml b/idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/mdquery-flow.xml
similarity index 100%
rename from idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/mdquery/mdquery-flow.xml
rename to idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/mdquery-flow.xml
diff --git a/idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/metrics/metrics-beans.xml b/idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/metrics-beans.xml
similarity index 100%
rename from idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/metrics/metrics-beans.xml
rename to idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/metrics-beans.xml
diff --git a/idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/metrics/metrics-flow.xml b/idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/metrics-flow.xml
similarity index 100%
rename from idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/metrics/metrics-flow.xml
rename to idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/metrics-flow.xml
diff --git a/idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/reload-metadata/reload-metadata-beans.xml b/idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/reload-metadata-beans.xml
similarity index 100%
rename from idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/reload-metadata/reload-metadata-beans.xml
rename to idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/reload-metadata-beans.xml
diff --git a/idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/reload-metadata/reload-metadata-flow.xml b/idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/reload-metadata-flow.xml
similarity index 100%
rename from idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/reload-metadata/reload-metadata-flow.xml
rename to idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/reload-metadata-flow.xml
diff --git a/idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/reload-service/reload-service-beans.xml b/idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/reload-service-beans.xml
similarity index 100%
rename from idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/reload-service/reload-service-beans.xml
rename to idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/reload-service-beans.xml
diff --git a/idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/reload-service/reload-service-flow.xml b/idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/reload-service-flow.xml
similarity index 100%
rename from idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/reload-service/reload-service-flow.xml
rename to idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/reload-service-flow.xml
diff --git a/idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/resolvertest/resolvertest-beans.xml b/idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/resolvertest-beans.xml
similarity index 100%
rename from idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/resolvertest/resolvertest-beans.xml
rename to idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/resolvertest-beans.xml
diff --git a/idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/resolvertest/resolvertest-flow.xml b/idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/resolvertest-flow.xml
similarity index 100%
rename from idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/resolvertest/resolvertest-flow.xml
rename to idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/resolvertest-flow.xml
diff --git a/idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/status/status-beans.xml b/idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/status-beans.xml
similarity index 100%
rename from idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/status/status-beans.xml
rename to idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/status-beans.xml
diff --git a/idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/status/status-flow.xml b/idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/status-flow.xml
similarity index 100%
rename from idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/status/status-flow.xml
rename to idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/status-flow.xml
diff --git a/idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/storage/storage-beans.xml b/idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/storage-beans.xml
similarity index 100%
rename from idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/storage/storage-beans.xml
rename to idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/storage-beans.xml
diff --git a/idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/storage/storage-flow.xml b/idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/storage-flow.xml
similarity index 100%
rename from idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/storage/storage-flow.xml
rename to idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/storage-flow.xml
diff --git a/idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/unlock-keys/unlock-keys-beans.xml b/idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/unlock-keys-beans.xml
similarity index 100%
rename from idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/unlock-keys/unlock-keys-beans.xml
rename to idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/unlock-keys-beans.xml
diff --git a/idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/unlock-keys/unlock-keys-flow.xml b/idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/unlock-keys-flow.xml
similarity index 100%
rename from idp-admin-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/unlock-keys/unlock-keys-flow.xml
rename to idp-admin-impl/src/main/resources/net/shibboleth/idp/admin/flows/unlock-keys-flow.xml
diff --git a/idp-conf/src/main/resources/system/conf/webflow-config.xml b/idp-conf/src/main/resources/system/conf/webflow-config.xml
index 4f4ff1361..7cc686c7c 100644
--- a/idp-conf/src/main/resources/system/conf/webflow-config.xml
+++ b/idp-conf/src/main/resources/system/conf/webflow-config.xml
@@ -18,9 +18,20 @@
<map>
<!-- Abstract base flow for admin flows. -->
<entry key="admin.abstract" value="classpath:/net/shibboleth/idp/admin/flows/admin-abstract-flow.xml"/>
-
+
<!-- Status flow (extra location is for backward compatibility). -->
- <entry key="status" value="classpath:/META-INF/net/shibboleth/idp/flows/admin/status/status-flow.xml" />
+ <entry key="status" value="classpath:/net/shibboleth/idp/admin/flows/status-flow.xml" />
+
+ <!-- Administrative and debugging flows. -->
+ <entry key="admin/hello" value="classpath:/net/shibboleth/idp/admin/flows/hello-flow.xml" />
+ <entry key="admin/resolvertest" value="classpath:/net/shibboleth/idp/admin/flows/resolvertest-flow.xml" />
+ <entry key="admin/reload-service" value="classpath:/net/shibboleth/idp/admin/flows/reload-service-flow.xml" />
+ <entry key="admin/reload-metadata" value="classpath:/net/shibboleth/idp/admin/flows/reload-metadata-flow.xml" />
+ <entry key="admin/lockout" value="classpath:/net/shibboleth/idp/admin/flows/lockout-flow.xml" />
+ <entry key="admin/mdquery" value="classpath:/net/shibboleth/idp/admin/flows/mdquery-flow.xml" />
+ <entry key="admin/metrics" value="classpath:/net/shibboleth/idp/admin/flows/metrics-flow.xml" />
+ <entry key="admin/storage" value="classpath:/net/shibboleth/idp/admin/flows/storage-flow.xml" />
+ <entry key="admin/unlock-keys" value="classpath:/net/shibboleth/idp/admin/flows/unlock-keys-flow.xml" />
<!-- Proprietary logout flow. -->
<entry key="Logout" value="../system/flows/logout/logout-flow.xml" />
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/FlowDefinitionRegistryFactoryBean.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/FlowDefinitionRegistryFactoryBean.java
index b208ecbd9..03399dea7 100644
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/FlowDefinitionRegistryFactoryBean.java
+++ b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/factory/FlowDefinitionRegistryFactoryBean.java
@@ -18,10 +18,13 @@
package net.shibboleth.idp.profile.spring.factory;
import java.io.IOException;
+import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
+import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.Map;
+import java.util.Set;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
@@ -206,8 +209,20 @@ public class FlowDefinitionRegistryFactoryBean extends AbstractFactoryBean<FlowD
throw new IllegalStateException(
"An I/O Exception occurred resolving the flow location pattern '" + pattern.getKey() + "'", e);
}
+
+ // Establish baseline of registered flows.
+ final Set<String> existingFlows = new HashSet<>();
+ Arrays.stream(flowRegistry.getFlowDefinitionIds()).forEachOrdered(existingFlows::add);
+
for (final FlowDefinitionResource resource : resources) {
+ if (existingFlows.contains(resource.getId())) {
+ throw new IllegalStateException("Illegal attempt to register pre-existing flow ID '" +
+ resource.getId() + "'" + "via resource: " + resource.getPath());
+ }
registerFlow(resource, flowRegistry);
+
+ // Update running tracker.
+ existingFlows.add(resource.getId());
}
}
}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list