[java-identity-provider] branch master updated: IDP-1152 - Global transitions are inherited into subflows

Scott Cantor cantor.2 at osu.edu
Wed Mar 29 16:12:10 EDT 2017


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=7d391b4670bf42b0214608b45f0de47cb9d66f71

The following commit(s) were added to refs/heads/master by this push:
       new  7d391b4   IDP-1152 - Global transitions are inherited into subflows
7d391b4 is described below

commit 7d391b4670bf42b0214608b45f0de47cb9d66f71
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Wed Mar 29 16:12:08 2017 -0400

    IDP-1152 - Global transitions are inherited into subflows
    
    https://issues.shibboleth.net/jira/browse/IDP-1152
    
    Add InvalidEvent handling to subflows.
---
 idp-conf/src/main/resources/conf/errors.xml                         | 1 +
 .../src/main/resources/system/flows/authn/authn-abstract-flow.xml   | 2 ++
 .../main/resources/system/flows/c14n/subject-c14n-abstract-flow.xml | 2 ++
 .../system/flows/client-storage/client-storage-read-flow.xml        | 2 ++
 .../system/flows/client-storage/client-storage-write-flow.xml       | 2 ++
 .../resources/system/flows/intercept/intercept-abstract-flow.xml    | 2 ++
 idp-conf/src/main/resources/system/messages/messages.properties     | 6 ++++++
 7 files changed, 17 insertions(+)

diff --git a/idp-conf/src/main/resources/conf/errors.xml b/idp-conf/src/main/resources/conf/errors.xml
index 5de522f..6a2d0a2 100644
--- a/idp-conf/src/main/resources/conf/errors.xml
+++ b/idp-conf/src/main/resources/conf/errors.xml
@@ -26,6 +26,7 @@
         <entry key="AttributeReleaseRejected" value="true" />
         <entry key="TermsRejected" value="true" />
         <entry key="RuntimeException" value="false" />
+        <entry key="InvalidEvent" value="false" />
         <!--
         <entry key="IdentitySwitch" value="false" />
         <entry key="NoPotentialFlow" value="false" />
diff --git a/idp-conf/src/main/resources/system/flows/authn/authn-abstract-flow.xml b/idp-conf/src/main/resources/system/flows/authn/authn-abstract-flow.xml
index e2b534f..c14a1aa 100644
--- a/idp-conf/src/main/resources/system/flows/authn/authn-abstract-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/authn/authn-abstract-flow.xml
@@ -19,6 +19,7 @@
     <end-state id="IdentitySwitch" />
     <end-state id="InputOutputError" />
     <end-state id="InvalidCredentials" />
+    <end-state id="InvalidEvent" />
     <end-state id="InvalidProfileContext" />
     <end-state id="InvalidSubjectContext" />
     <end-state id="InvalidSubjectCanonicalizationContext" />
@@ -56,6 +57,7 @@
         <transition on="RestartAuthentication" to="RestartAuthentication" />
         <transition on="RuntimeException" to="RuntimeException" />
         <transition on="SubjectCanonicalizationError" to="SubjectCanonicalizationError" />
+        <transition on="#{!'proceed'.equals(currentEvent.id)}" to="InvalidEvent" />
     </global-transitions>
 
 </flow>
diff --git a/idp-conf/src/main/resources/system/flows/c14n/subject-c14n-abstract-flow.xml b/idp-conf/src/main/resources/system/flows/c14n/subject-c14n-abstract-flow.xml
index 8b72687..fc569aa 100644
--- a/idp-conf/src/main/resources/system/flows/c14n/subject-c14n-abstract-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/c14n/subject-c14n-abstract-flow.xml
@@ -12,6 +12,7 @@
     <end-state id="proceed" />
 
     <!-- Error events to reflect back from this subflow. -->
+    <end-state id="InvalidEvent" />
     <end-state id="InvalidProfileContext" />
     <end-state id="InvalidSubject" />
     <end-state id="InvalidSubjectContext" />
@@ -38,6 +39,7 @@
         <transition on="ReselectFlow" to="ReselectFlow" />
         <transition on="RuntimeException" to="RuntimeException" />
         <transition on="SubjectCanonicalizationError" to="SubjectCanonicalizationError" />
+        <transition on="#{!'proceed'.equals(currentEvent.id)}" to="InvalidEvent" />
     </global-transitions>
 
 </flow>
diff --git a/idp-conf/src/main/resources/system/flows/client-storage/client-storage-read-flow.xml b/idp-conf/src/main/resources/system/flows/client-storage/client-storage-read-flow.xml
index ba0e9ba..2f812ad 100644
--- a/idp-conf/src/main/resources/system/flows/client-storage/client-storage-read-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/client-storage/client-storage-read-flow.xml
@@ -42,6 +42,7 @@
     <end-state id="proceed" />
 
     <!-- Error events to reflect back from this subflow. -->
+    <end-state id="InvalidEvent" />
     <end-state id="InvalidProfileContext" />
     <end-state id="RuntimeException" />
 
@@ -49,6 +50,7 @@
         <transition on-exception="java.lang.RuntimeException" to="LogRuntimeException" />
         <transition on="InvalidProfileContext" to="InvalidProfileContext" />
         <transition on="RuntimeException" to="RuntimeException" />
+        <transition on="#{!'proceed'.equals(currentEvent.id)}" to="InvalidEvent" />
     </global-transitions>
 
     <bean-import resource="client-storage-read-beans.xml" />
diff --git a/idp-conf/src/main/resources/system/flows/client-storage/client-storage-write-flow.xml b/idp-conf/src/main/resources/system/flows/client-storage/client-storage-write-flow.xml
index 600d7e4..c353f4f 100644
--- a/idp-conf/src/main/resources/system/flows/client-storage/client-storage-write-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/client-storage/client-storage-write-flow.xml
@@ -49,6 +49,7 @@
     <end-state id="proceed" />
 
     <!-- Error events to reflect back from this subflow. -->
+    <end-state id="InvalidEvent" />
     <end-state id="InvalidProfileContext" />
     <end-state id="RuntimeException" />
 
@@ -56,6 +57,7 @@
         <transition on-exception="java.lang.RuntimeException" to="LogRuntimeException" />
         <transition on="InvalidProfileContext" to="InvalidProfileContext" />
         <transition on="RuntimeException" to="RuntimeException" />
+        <transition on="#{!'proceed'.equals(currentEvent.id)}" to="InvalidEvent" />
     </global-transitions>
 
     <bean-import resource="client-storage-write-beans.xml" />
diff --git a/idp-conf/src/main/resources/system/flows/intercept/intercept-abstract-flow.xml b/idp-conf/src/main/resources/system/flows/intercept/intercept-abstract-flow.xml
index dbf7840..f836cfc 100644
--- a/idp-conf/src/main/resources/system/flows/intercept/intercept-abstract-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/intercept/intercept-abstract-flow.xml
@@ -12,6 +12,7 @@
     <end-state id="proceed" />
 
     <!-- Error events to reflect back from this subflow. -->
+    <end-state id="InvalidEvent" />
     <end-state id="InvalidProfileContext" />
     <end-state id="MessageExpired" />
     <end-state id="MessageReplay" />
@@ -38,6 +39,7 @@
         <transition on="ContextCheckDenied" to="ContextCheckDenied" />
         <transition on="RestartAuthentication" to="RestartAuthentication" />
         <transition on="RuntimeException" to="RuntimeException" />
+        <transition on="#{!'proceed'.equals(currentEvent.id)}" to="InvalidEvent" />
     </global-transitions>
 
 </flow>
diff --git a/idp-conf/src/main/resources/system/messages/messages.properties b/idp-conf/src/main/resources/system/messages/messages.properties
index bb58ee7..af19e0f 100644
--- a/idp-conf/src/main/resources/system/messages/messages.properties
+++ b/idp-conf/src/main/resources/system/messages/messages.properties
@@ -43,6 +43,7 @@ UnableToEncrypt = unexpected
 AttributeReleaseRejected = no-release
 TermsRejected = no-terms
 RuntimeException = runtime-error
+InvalidEvent = invalid-event
 UnknownUsername = bad-username
 InvalidPassword = bad-password
 ExpiredPassword = expired-password
@@ -268,5 +269,10 @@ runtime-error.message = <p>A software error was encountered that prevents normal
                          <p>Please report this problem to your Help Desk or administrative staff. It has \
                          also been logged for an administrator to review.</p>
 
+invalid-event.title = Invalid Event
+invalid-event.message = <p>The underlying software encountered an event to which it was not programmed to respond.</p><br/> \
+                         <p>Please report this problem to your Help Desk or administrative staff. It has \
+                         also been logged for an administrator to review.</p>
+
 error.title = Error
 error.message = An error occurred: $eventId

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list