projects
/
shibboleth
/
cpp-sp-resolver.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
b9c75b2
)
Get GSS token added to extraction set, adjust name of XML wrapper.
author
Scott Cantor
<cantor.2@osu.edu>
Tue, 29 Mar 2011 11:56:43 +0000
(11:56 +0000)
committer
Scott Cantor
<cantor.2@osu.edu>
Tue, 29 Mar 2011 11:56:43 +0000
(11:56 +0000)
src/shibresolver/resolver.cpp
patch
|
blob
|
history
diff --git
a/src/shibresolver/resolver.cpp
b/src/shibresolver/resolver.cpp
index
f1d5d58
..
287adda
100644
(file)
--- a/
src/shibresolver/resolver.cpp
+++ b/
src/shibresolver/resolver.cpp
@@
-169,6
+169,11
@@
void ShibbolethResolver::addToken(gss_ctx_id_t* ctx)
void ShibbolethResolver::addToken(const gss_buffer_t contextbuf)
{
void ShibbolethResolver::addToken(const gss_buffer_t contextbuf)
{
+ if (m_gsswrapper) {
+ delete m_gsswrapper;
+ m_gsswrapper = NULL;
+ }
+
xsecsize_t len=0;
XMLByte* out=Base64::encode(reinterpret_cast<const XMLByte*>(contextbuf->value), contextbuf->length, &len);
if (out) {
xsecsize_t len=0;
XMLByte* out=Base64::encode(reinterpret_cast<const XMLByte*>(contextbuf->value), contextbuf->length, &len);
if (out) {
@@
-180,7
+185,7
@@
void ShibbolethResolver::addToken(const gss_buffer_t contextbuf)
#else
XMLString::release((char**)&out);
#endif
#else
XMLString::release((char**)&out);
#endif
- static const XMLCh _GSSAPI[] = UNICODE_LITERAL_
6(G,S,S,A,P,I
);
+ static const XMLCh _GSSAPI[] = UNICODE_LITERAL_
13(G,S,S,A,P,I,C,o,n,t,e,x,t
);
m_gsswrapper = new AnyElementImpl(shibspconstants::SHIB2ATTRIBUTEMAP_NS, _GSSAPI);
m_gsswrapper->setTextContent(temp.get());
}
m_gsswrapper = new AnyElementImpl(shibspconstants::SHIB2ATTRIBUTEMAP_NS, _GSSAPI);
m_gsswrapper->setTextContent(temp.get());
}
@@
-223,7
+228,7
@@
void ShibbolethResolver::resolve()
if (!app)
throw ConfigurationException("Unable to locate application for resolution.");
if (!app)
throw ConfigurationException("Unable to locate application for resolution.");
-#ifdef HAVE_GSSAPI
+#ifdef
SHIBRESOLVER_
HAVE_GSSAPI
if (m_gsswrapper)
m_tokens.push_back(m_gsswrapper);
#endif
if (m_gsswrapper)
m_tokens.push_back(m_gsswrapper);
#endif