Uploaded image for project: 'Identity Provider'
  1. Identity Provider
  2. IDP-815

On Windows, idp.home must use slashes instead of backslashes

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.1.2, 3.2.0
    • Fix Version/s: 3.2.1, 3.3.0
    • Component/s: Spring Web Flow
    • Labels:
      None
    • Environment:

      Windows 7 Pro

      Description

      On Windows, I hit the same bug described here :
      http://shibboleth.1660669.n2.nabble.com/error-exception-occurred-constructing-the-flow-authn-Password-td7616611.html
      and here :
      http://shibboleth.1660669.n2.nabble.com/Oddness-running-from-a-daemon-td7607468.html

      But these ressources didn't highlight the workaround well enough for me to find it quickly.

      For the sake of completeness,
      when authentication flow is initializing, I got this error :

      2015-09-11 18:38:33,079 - ERROR [net.shibboleth.idp.authn:-2] - Uncaught runtime exception
      org.springframework.webflow.definition.registry.FlowDefinitionConstructionException: An exception occurred constructing the flow 'authn/Password'
      	at org.springframework.webflow.engine.builder.DefaultFlowHolder.assembleFlow(DefaultFlowHolder.java:111)
      Caused by: org.springframework.webflow.engine.builder.FlowBuilderException: Unable to get the model for this flow
      	at org.springframework.webflow.engine.builder.model.FlowModelFlowBuilder.doInit(FlowModelFlowBuilder.java:154)
      Caused by: org.springframework.webflow.engine.model.builder.FlowModelBuilderException: Unable to find flow 'authn/conditions' to inherit from
      	at org.springframework.webflow.engine.model.builder.xml.XmlFlowModelBuilder.mergeFlows(XmlFlowModelBuilder.java:635)
      Caused by: org.springframework.webflow.engine.model.registry.NoSuchFlowModelException: No flow model 'authn/conditions' found
      	at org.springframework.webflow.engine.model.registry.FlowModelRegistryImpl.getFlowModelHolder(FlowModelRegistryImpl.java:80)
      

      With debug log, we can see that the flow id is not correctly computed :

      2015-09-14 11:25:16,705 - DEBUG [org.springframework.webflow.definition.registry.FlowDefinitionRegistryImpl:99] - Registering flow definition 'file [C:\SHIBBO~1\flows\authn\conditions\conditions-flow.xml]' under id *'C:/SHIBBO~1/flows/authn/conditions'*
      

      The workaround is to use slashes instead of backslashes when configuring the idp.home
      In my case : C:/SHIBBO~1 instead of C:\SHIBBO~1

      This fixes the flow id computation :

      2015-09-14 12:15:01,222 - DEBUG [org.springframework.webflow.definition.registry.FlowDefinitionRegistryImpl:99] - Registering flow definition 'file [C:\SHIBBO~1\flows\authn\conditions\conditions-flow.xml]' under id *'authn/conditions'*
      

      I think this should be at least very well documented in the installation notes.

      But it would be better to have it fix, either with a workaround in Shibboleth or inside Spring WebFlow
      (This may be an issue in FlowDefinitionResourceFactory.getFlowId and/or FlowDefinitionResourceFactory.truncateFilePath)

        Attachments

          Activity

            People

            Assignee:
            tzeller@shibboleth.net Tom Zeller
            Reporter:
            farrault@idp.protectnetwork.org farrault@idp.protectnetwork.org
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: