From: Scott Cantor Date: Tue, 30 Oct 2007 18:22:25 +0000 (+0000) Subject: Fix for jsessionid bug. X-Git-Tag: 1.3.1~19 X-Git-Url: http://www.project-moonshot.org/gitweb/?a=commitdiff_plain;h=6b9d34da44c9e6b6ec94bad490979eea9e63e5fc;hp=f32bf714cbf655dc98a81ec8479cec272f479828;p=shibboleth%2Fcpp-sp.git Fix for jsessionid bug. --- diff --git a/shib-target/shib-target.cpp b/shib-target/shib-target.cpp index 340c390..364836d 100644 --- a/shib-target/shib-target.cpp +++ b/shib-target/shib-target.cpp @@ -146,6 +146,17 @@ void ShibTarget::init( m_uri += uri; break; } + else if (*uri == ';') { + // If this is Java being stupid, skip everything up to the query string, if any. + if (!strncmp(uri, ";jsessionid=", 12)) { + if (uri = strchr(uri, '?')) + m_uri += uri; + break; + } + else { + m_uri += *uri; + } + } else if (*uri != '%') { m_uri += *uri; } @@ -159,7 +170,7 @@ void ShibTarget::init( ++uri; } } - + m_priv->m_Config = &ShibTargetConfig::getConfig(); m_priv->get_application(this, protocol, hostname, port, m_uri); }