projects
/
shibboleth
/
cpp-sp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix for jsessionid bug.
[shibboleth/cpp-sp.git]
/
shib-target
/
shib-target.cpp
diff --git
a/shib-target/shib-target.cpp
b/shib-target/shib-target.cpp
index
340c390
..
364836d
100644
(file)
--- a/
shib-target/shib-target.cpp
+++ b/
shib-target/shib-target.cpp
@@
-146,6
+146,17
@@
void ShibTarget::init(
m_uri += uri;
break;
}
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;
}
else if (*uri != '%') {
m_uri += *uri;
}
@@
-159,7
+170,7
@@
void ShibTarget::init(
++uri;
}
}
++uri;
}
}
-
+
m_priv->m_Config = &ShibTargetConfig::getConfig();
m_priv->get_application(this, protocol, hostname, port, m_uri);
}
m_priv->m_Config = &ShibTargetConfig::getConfig();
m_priv->get_application(this, protocol, hostname, port, m_uri);
}