chauth / confluence_http_authenticator

The new home of the Confluence HTTP Authenticator (formerly known as the Confluence Shibboleth Authenticator)
Other
64 stars 36 forks source link

Confluence 5.8 seems to break the plugin #28

Closed adam-bishop closed 9 years ago

adam-bishop commented 9 years ago

I haven't had time to explore this fully (and probably won't for a while).

My suspicion is that it is related to the Java 8 upgrade.

Has Java 8 / Confluence 5.8 been confirmed to work?

TheMysteriousX commented 9 years ago

Grabbed a stack trace but it's left me more confused.

2015-06-05 00:59:26,485 INFO [localhost-startStop-1] [com.atlassian.confluence.lifecycle] contextInitialized Starting Confluence 5.8.4 [build 5982 based on commit hash f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7]
2015-06-05 00:59:28,277 INFO [localhost-startStop-1] [springframework.web.context.ContextLoader] initWebApplicationContext Root WebApplicationContext: initialization started
2015-06-05 00:59:28,660 ERROR [localhost-startStop-1] [springframework.web.context.ContextLoader] initWebApplicationContext Context initialization failed
org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [schedulingSubsystemContext.xml]; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'clusteredImplementationBeanRegistry' is defined
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:420)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
    at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:124)
    at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:92)
    at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:123)
    at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:422)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
    at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
    at com.atlassian.spring.container.ContainerContextLoaderListener.contextInitialized(ContainerContextLoaderListener.java:32)
    at com.atlassian.confluence.setup.ConfluenceBootstrappedContextLoaderListener.contextInitialized(ConfluenceBootstrappedContextLoaderListener.java:44)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4728)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5166)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1399)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'clusteredImplementationBeanRegistry' is defined
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:387)
    at com.atlassian.confluence.spring.namespace.ClusteredImplementationBeanDefinitionDecorator.registerClusteredImplementationBean(ClusteredImplementationBeanDefinitionDecorator.java:54)
    at com.atlassian.confluence.spring.namespace.ClusteredImplementationBeanDefinitionDecorator.decorate(ClusteredImplementationBeanDefinitionDecorator.java:45)
    at org.springframework.beans.factory.xml.NamespaceHandlerSupport.decorate(NamespaceHandlerSupport.java:106)
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.decorateIfRequired(BeanDefinitionParserDelegate.java:1334)
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.decorateBeanDefinitionIfRequired(BeanDefinitionParserDelegate.java:1313)
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.decorateBeanDefinitionIfRequired(BeanDefinitionParserDelegate.java:1301)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.processBeanDefinition(DefaultBeanDefinitionDocumentReader.java:241)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseDefaultElement(DefaultBeanDefinitionDocumentReader.java:153)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:132)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:92)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:507)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:398)
    ... 24 more
2015-06-05 00:59:28,664 ERROR [localhost-startStop-1] [ContainerBase.[Standalone].[localhost].[/]] log Exception sending context initialized event to listener instance of class com.atlassian.confluence.setup.ConfluenceBootstrappedContextLoaderListener
org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [schedulingSubsystemContext.xml]; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'clusteredImplementationBeanRegistry' is defined
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:420)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
    at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:124)
    at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:92)
    at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:123)
    at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:422)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
    at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
    at com.atlassian.spring.container.ContainerContextLoaderListener.contextInitialized(ContainerContextLoaderListener.java:32)
    at com.atlassian.confluence.setup.ConfluenceBootstrappedContextLoaderListener.contextInitialized(ConfluenceBootstrappedContextLoaderListener.java:44)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4728)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5166)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1399)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'clusteredImplementationBeanRegistry' is defined
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:387)
    at com.atlassian.confluence.spring.namespace.ClusteredImplementationBeanDefinitionDecorator.registerClusteredImplementationBean(ClusteredImplementationBeanDefinitionDecorator.java:54)
    at com.atlassian.confluence.spring.namespace.ClusteredImplementationBeanDefinitionDecorator.decorate(ClusteredImplementationBeanDefinitionDecorator.java:45)
    at org.springframework.beans.factory.xml.NamespaceHandlerSupport.decorate(NamespaceHandlerSupport.java:106)
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.decorateIfRequired(BeanDefinitionParserDelegate.java:1334)
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.decorateBeanDefinitionIfRequired(BeanDefinitionParserDelegate.java:1313)
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.decorateBeanDefinitionIfRequired(BeanDefinitionParserDelegate.java:1301)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.processBeanDefinition(DefaultBeanDefinitionDocumentReader.java:241)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseDefaultElement(DefaultBeanDefinitionDocumentReader.java:153)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:132)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:92)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:507)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:398)
    ... 24 more
2015-06-05 00:59:28,667 WARN [localhost-startStop-1] [atlassian.confluence.upgrade.UpgradeLauncherServletContextListener] contextInitialized Upgrades not attempted due to error in main spring context
2015-06-05 00:59:28,667 WARN [localhost-startStop-1] [atlassian.confluence.plugin.PluginFrameworkContextListener] contextInitialized Not starting full plugin system due to error in main spring context
2015-06-05 00:59:28,683 ERROR [localhost-startStop-1] [ContainerBase.[Standalone].[localhost].[/]] log Exception sending context destroyed event to listener instance of class com.atlassian.confluence.plugin.PluginFrameworkContextListener
java.lang.NullPointerException
    at com.atlassian.spring.container.ContainerManager.getComponent(ContainerManager.java:33)
    at com.atlassian.confluence.plugin.PluginFrameworkContextListener.getPluginSystemLifecycle(PluginFrameworkContextListener.java:115)
    at com.atlassian.confluence.plugin.PluginFrameworkContextListener.contextDestroyed(PluginFrameworkContextListener.java:75)
    at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4775)
    at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5389)
    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:160)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1399)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
2015-06-05 00:59:28,683 INFO [localhost-startStop-1] [com.atlassian.confluence.lifecycle] contextDestroyed Stopping Confluence
huang63 commented 9 years ago

We have not upgraded ours to Confluence 5.8 yet. However, it seems everything works fine with Confluence 5.7.3 and JRE 1.8.0_45.

erkkiaalto commented 9 years ago

I can confirm the problem. Mysteriously, 5.8.4+JRE 1.8.0_45 worked in our test environment, but in the production environment the mere presence of the authenticator jar breaks Confluence. There is a serious security problem in 5.7 and we must possibly switch to crowd+shibboleth earlier than we would have liked.

joninous commented 9 years ago

@erkkiaalto Sorry for the slight off-topic but could you elaborate on that "serious security problem in 5.7"? Does it consern 5.7 + HTTP Authenticator or is it a general Confluence problem? To my knowledge there haven't been any critical vulnerabilities in Confluence since January.

erkkiaalto commented 9 years ago

CONF-37542 Alas, it is not considered critical by atlassian. Therefore, there is no patch for 5.7

adam-bishop commented 9 years ago

@erkkiaalto that's encouraging. I was considering if it was worth deploying an instance from scratch and rebuilding.

adam-bishop commented 9 years ago

I've rebuilt the plugin with a minor change and it seems to work.

I'll submit a pull request with my tiny change, and then update when it's had a few days of use.

garysweaver commented 9 years ago

@adam-bishop Ok, thanks! Will look forward to the PR.

tydalforce commented 9 years ago

Just ran into this with Confluence 5.8.4 -- hate to be a pest but was hoping for an update on the fix?
Thanks!

TheMysteriousX commented 9 years ago

The changes I've made are here:

https://github.com/TheMysteriousX/confluence_http_authenticator/commit/c053685bba4acf2728b5fc2e63a85e3fe8b61da5

I'm not convinced yet that they are more than a placebo. I think something else is stopping the plugin from loading under some circumstances. I'll spend a bit more time poking it this weekend, but I suspect something is being cached somewhere.

(I've also changed a few deprecated methods, but they haven't been pushed yet - those are the minimum changes I thought were necessary until things got weird).

tydalforce commented 9 years ago

Sadface. That's not working. Looks like I'm gonna have to stick to 5.7.x for now. Thanks though.
May be able to help test again in the nearish future though

garysweaver commented 9 years ago

@tydalforce just to check- Did you make sure that the changes in the commit he had were in your local version you cloned from his fork/did you make all the changes manually? And you built the local one? And copied into confluence? And then you restarted confluence/container server? Did you check the logs after that? Do they say the same thing? Did you try altering source and target to 1.8? Just want to make sure we don't dismiss his contribution too early if it might work. Updating similar has worked for me in the past.

tydalforce commented 9 years ago

Confluence 5.8.4 on Oracle Linux 6.5 64-bit with JDK 1.8.0_45

With each change, I stopped the Confluence server, copied the new .jar into WEB_INF/lib, started Confluence, and attempted to log in through our SSO/HTTP Server (Oracle HTTP Server / Oracle Access Manager). I tried making the same changes to my pom.xml and rebuilding; also tried changing to 1.8 - neither worked (both from the "chauth" repo). I also tried cloning the "TheMysteriousX" repo and building from there, also with the same results.
By "Not Working", I mean - I could connect to Confluence Web Server but it made me log in manually (LDAP)

garysweaver commented 9 years ago

@tydalforce Thanks! What do the logs say? Debug turned on as noted in readme? Could you post the scrubbed version of the log here or email them to Adam and me, and just include the portion of time when you are attempting to auth?

tydalforce commented 9 years ago

D'ohh, didn't think to try the logging. I didn't get any exceptions or other (obvious?) errors in the normal logs - startup looks normal, nothing showed up on login. But I didn't think to enable debug or anything. And, cuz everything's always high priority, I had to step back to 5.7.5 already.
I'm going to set up another box. Just takes time to get one and all that. At least then I can really play.

TheMysteriousX commented 9 years ago

I've spent some more time today with this. While the plugin is working on my live server with the changes, I cannot reproduce the success on a clean installation.

I've opened a ticket up with Atlassian to see what they think - I'm suspicious that this could be a Confluence bug, as the component mentioned (clusterImplementationRegistryBean) did used to be referenced in the file (schedulingSubsystemContext.xml) in the stacktrace.

tydalforce commented 9 years ago

I set up a sandbox environment so I could play with this and I'm getting completely different results. Now, if I have the remoteUserAuthenticator jar present in WEB-INF/lib, the server fails to start (Even if it's not referenced in seraph-config.xml). I see these in the log:

15-Jun-2015 08:26:45.672 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.startInternal Error listenerStart 15-Jun-2015 08:26:45.685 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.startInternal Context [/sandbox/confluence] startup failed due to previous errors

But, I don't see these "previous errors" .

I am seeing exceptions related to schedulingSubsystemContext and "clusteredImplementationBeanRegistry"?

2015-06-15 08:26:45,662 ERROR [localhost-startStop-1] [springframework.web.context.ContextLoader] initWebApplicationContext Context initialization failed org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [schedulingSubsystemContext.xml]; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'clusteredImplementationBeanRegistry' is defined at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:420) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342)

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'clusteredImplementationBeanRegistry' is defined at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:387) at com.atlassian.confluence.spring.namespace.ClusteredImplementationBeanDefinitionDecorator.registerClusteredImplementationBean(ClusteredImplementationBeanDefinitionDecorator.java:54) at com.atlassian.confluence.spring.namespace.ClusteredImplementationBeanDefinitionDecorator.decorate(ClusteredImplementationBeanDefinitionDecorator.java:45) at org.springframework.beans.factory.xml.NamespaceHandlerSupport.decorate(NamespaceHandlerSupport.java:106) at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.decorateIfRequired(BeanDefinitionParserDelegate.java:1334)

2015-06-15 08:26:45,669 ERROR [localhost-startStop-1] [ContainerBase.[Standalone].[localhost].[/sandbox/confluence]] log Exception sending context initialized event to listener instance of class com.atlassian.confluence.setup.ConfluenceBootstrappedContextLoaderListener org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [schedulingSubsystemContext.xml]; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'clusteredImplementationBeanRegistry' is defined at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:420) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)

I can send full logs, I guess, I'm not sure how to attach files here? (New to both github and Confluence... ) If there's anything in particular to look for or try, I'm open to suggestions.

TheMysteriousX commented 9 years ago

I think I've cracked it, I've got a build that deploys and logs users in on a clean install. I'll test some of the more interesting features and clean up my changes later today.

TheMysteriousX commented 9 years ago

Pull request is in, could use some testing.

tydalforce commented 9 years ago

@TheMysteriousX Off to a great start here - I pulled a clean copy of your repo and built a new jar, tossed that in there and my server started successfully. I was able to log in with my local user.
I didn't think to set up the LDAP Server until just now, so... gonna take a while before I can say 100% "it works", but certainly progress at least.

garysweaver commented 9 years ago

@tydalforce please let us know when you have confidence it is working. Thanks for your help in testing and much thanks to @TheMysteriousX for the PR!

tydalforce commented 9 years ago

And sorry for the delay. The LDAP Sync is very slow, because our LDAP Server is huge. Plus, my test server decided to crash halfway through the day when I wasn't watching. Dunno what happened (Debug logging freaked out and overwrote anything useful). I should hopefully have something tomorrow. (c:

tydalforce commented 9 years ago

@garysweaver @TheMysteriousX - We have success! SSO is working with these changes.

tydalforce commented 9 years ago

While we've got this thread open and it's fresh in everyone's minds -- What about the JIRA version of the authenticator plugin? The current code is working with the current latest release (6.4.6) but I noticed it has the same applicationContext.xml (with the same exact contents).
What are the chances of this same thing breaking in, say, 6.5, or some future update? Would it be helpful to "fix" it proactively?
(I don't completely understand the tech behind the fix, so... just throwing it out there)

garysweaver commented 9 years ago

@tydalforce The JIRA version is a separate project and the two projects are separately managed, even though both projects are under the same GitHub group. I don't help with that one.

If anyone wants to create a similar fix for the JIRA authenticator and test it, feel free to PR to their project.

garysweaver commented 9 years ago

@tydalforce if you have time, could you right-click and download this: https://github.com/chauth/confluence_http_authenticator/blob/master/releases/remoteUserAuth-2.6.0.jar?raw=true then backup your working 2.6.0 jar and replace with that one and test? If this one works for you, let me know, I'll release it (it was just built on a different computer, but I want to ensure it is correct before release). Thanks!

tydalforce commented 9 years ago

@garysweaver I should be able to give that a shot on Monday. I'll also re-build from a fresh pull of this repo, now that you've updated it, to make sure that's all good too.
Feel free to nag me if you don't hear from me ;-}

tydalforce commented 9 years ago

@garysweaver - Sorry I didn't get to this yesterday. Migraine.
Everything works wonderfully! The remoteUserAuth-2.6.0.jar you linked above worked in my 5.8.4 server Building from a fresh clone of the repository worked in my 5.8.4 server I also tested a build for 5.7.3 to make sure these changes didn't break anything for older versions -- the only change I made for the build was the "confluence.version" in pom.xml to 5.7.3 -- and that worked fine.

So, I think we can declare victory here. Hooray!

garysweaver commented 9 years ago

Released as 2.6.0: https://marketplace.atlassian.com/plugins/shibauth.confluence.authentication.shibboleth

@TheMysteriousX Thanks for the fix! @tydalforce Thanks for testing!