More fixes to take care of the issue of authenticating users which exist
in containers with names that contain reserved XML characters.
This commit is contained in:
parent
e0665ad76f
commit
87022ad2a0
@ -145,7 +145,7 @@ CLASSES = $(addprefix $(BUILDDIR)/, $(JAVAFILES:%.java=%.class))
|
|||||||
|
|
||||||
XMLSEC_LIBS = $(XMLSEC_JARS_DIR)/xmlsec-1.4.0.jar
|
XMLSEC_LIBS = $(XMLSEC_JARS_DIR)/xmlsec-1.4.0.jar
|
||||||
|
|
||||||
LIBS = /usr/share/java/servletapi5.jar:/usr/share/java/xerces-j2.jar:/usr/share/java/log4j.jar
|
LIBS = /usr/share/java/servletapi5.jar:/usr/share/java/xerces-j2.jar:/usr/share/java/log4j.jar:/usr/share/java/jakarta-commons-lang.jar
|
||||||
if LIB64
|
if LIB64
|
||||||
CASA_JAR = /usr/lib64/miCASA.jar
|
CASA_JAR = /usr/lib64/miCASA.jar
|
||||||
else
|
else
|
||||||
|
@ -336,9 +336,6 @@ public final class CasaIdentityToken implements IdentityToken
|
|||||||
// Verify that we are processing the expected tag
|
// Verify that we are processing the expected tag
|
||||||
if (idElementName.equalsIgnoreCase(qName))
|
if (idElementName.equalsIgnoreCase(qName))
|
||||||
{
|
{
|
||||||
// Un-escape the identity id
|
|
||||||
m_casaIdentToken.m_identityId = StringEscapeUtils.unescapeXml(m_casaIdentToken.m_identityId);
|
|
||||||
|
|
||||||
// Advance to the next state
|
// Advance to the next state
|
||||||
m_state = AWAITING_SOURCE_NAME_ELEMENT_START;
|
m_state = AWAITING_SOURCE_NAME_ELEMENT_START;
|
||||||
}
|
}
|
||||||
@ -406,40 +403,6 @@ public final class CasaIdentityToken implements IdentityToken
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case AWAITING_ATTRIBUTE_END:
|
case AWAITING_ATTRIBUTE_END:
|
||||||
|
|
||||||
// If necessary, un-escape the attribute data.
|
|
||||||
if (!m_encryptedAttrs)
|
|
||||||
{
|
|
||||||
Attribute attrib = m_casaIdentToken.m_attributes.remove(m_currAttribute);
|
|
||||||
if (attrib != null)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
String attribData = (String) attrib.get();
|
|
||||||
if (attribData != null)
|
|
||||||
{
|
|
||||||
m_casaIdentToken.m_attributes.put(m_currAttribute,
|
|
||||||
StringEscapeUtils.unescapeXml(attribData));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
m_log.error("SAXHandler.endElement()- Attribute data not found");
|
|
||||||
throw new SAXException("Attribute data not found");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (NamingException e)
|
|
||||||
{
|
|
||||||
m_log.error("SAXHandler.endElement()- Attribute data not found");
|
|
||||||
throw new SAXException("Attribute data not found", e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
m_log.error("SAXHandler.endElement()- Attribute not found");
|
|
||||||
throw new SAXException("Attribute not found");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Advance to the next state
|
// Advance to the next state
|
||||||
m_state = AWAITING_ATTRIBUTE_START;
|
m_state = AWAITING_ATTRIBUTE_START;
|
||||||
break;
|
break;
|
||||||
@ -511,7 +474,6 @@ public final class CasaIdentityToken implements IdentityToken
|
|||||||
// Proceed based on our state
|
// Proceed based on our state
|
||||||
switch (m_state)
|
switch (m_state)
|
||||||
{
|
{
|
||||||
|
|
||||||
case AWAITING_ID_DATA:
|
case AWAITING_ID_DATA:
|
||||||
// Consume the data
|
// Consume the data
|
||||||
m_casaIdentToken.m_identityId = new String(ch, start, length);
|
m_casaIdentToken.m_identityId = new String(ch, start, length);
|
||||||
@ -520,6 +482,11 @@ public final class CasaIdentityToken implements IdentityToken
|
|||||||
m_state = AWAITING_ID_ELEMENT_END;
|
m_state = AWAITING_ID_ELEMENT_END;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case AWAITING_ID_ELEMENT_END:
|
||||||
|
// Consume the data
|
||||||
|
m_casaIdentToken.m_identityId = m_casaIdentToken.m_identityId.concat(new String(ch, start, length));
|
||||||
|
break;
|
||||||
|
|
||||||
case AWAITING_SOURCE_NAME_DATA:
|
case AWAITING_SOURCE_NAME_DATA:
|
||||||
// Consume the data
|
// Consume the data
|
||||||
m_casaIdentToken.m_sourceName = new String(ch, start, length);
|
m_casaIdentToken.m_sourceName = new String(ch, start, length);
|
||||||
@ -528,6 +495,11 @@ public final class CasaIdentityToken implements IdentityToken
|
|||||||
m_state = AWAITING_SOURCE_NAME_ELEMENT_END;
|
m_state = AWAITING_SOURCE_NAME_ELEMENT_END;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case AWAITING_SOURCE_NAME_ELEMENT_END:
|
||||||
|
// Consume the data
|
||||||
|
m_casaIdentToken.m_sourceName = m_casaIdentToken.m_sourceName.concat(new String(ch, start, length));
|
||||||
|
break;
|
||||||
|
|
||||||
case AWAITING_SOURCE_URL_DATA:
|
case AWAITING_SOURCE_URL_DATA:
|
||||||
// Consume the data
|
// Consume the data
|
||||||
m_casaIdentToken.m_sourceUrl = new String(ch, start, length);
|
m_casaIdentToken.m_sourceUrl = new String(ch, start, length);
|
||||||
@ -536,6 +508,11 @@ public final class CasaIdentityToken implements IdentityToken
|
|||||||
m_state = AWAITING_SOURCE_URL_ELEMENT_END;
|
m_state = AWAITING_SOURCE_URL_ELEMENT_END;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case AWAITING_SOURCE_URL_ELEMENT_END:
|
||||||
|
// Consume the data
|
||||||
|
m_casaIdentToken.m_sourceUrl = m_casaIdentToken.m_sourceUrl.concat(new String(ch, start, length));
|
||||||
|
break;
|
||||||
|
|
||||||
case AWAITING_TARGET_SERVICE_DATA:
|
case AWAITING_TARGET_SERVICE_DATA:
|
||||||
// Consume the data
|
// Consume the data
|
||||||
m_casaIdentToken.m_service = new String(ch, start, length);
|
m_casaIdentToken.m_service = new String(ch, start, length);
|
||||||
@ -544,6 +521,11 @@ public final class CasaIdentityToken implements IdentityToken
|
|||||||
m_state = AWAITING_TARGET_SERVICE_ELEMENT_END;
|
m_state = AWAITING_TARGET_SERVICE_ELEMENT_END;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case AWAITING_TARGET_SERVICE_ELEMENT_END:
|
||||||
|
// Consume the data
|
||||||
|
m_casaIdentToken.m_service = m_casaIdentToken.m_service.concat(new String(ch, start, length));
|
||||||
|
break;
|
||||||
|
|
||||||
case AWAITING_TARGET_HOST_DATA:
|
case AWAITING_TARGET_HOST_DATA:
|
||||||
// Consume the data
|
// Consume the data
|
||||||
m_casaIdentToken.m_host = new String(ch, start, length);
|
m_casaIdentToken.m_host = new String(ch, start, length);
|
||||||
@ -560,6 +542,11 @@ public final class CasaIdentityToken implements IdentityToken
|
|||||||
m_state = AWAITING_TARGET_HOST_ELEMENT_END;
|
m_state = AWAITING_TARGET_HOST_ELEMENT_END;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case AWAITING_TARGET_HOST_ELEMENT_END:
|
||||||
|
// Consume the data
|
||||||
|
m_casaIdentToken.m_host = m_casaIdentToken.m_host.concat(new String(ch, start, length));
|
||||||
|
break;
|
||||||
|
|
||||||
case AWAITING_ATTRIBUTE_DATA:
|
case AWAITING_ATTRIBUTE_DATA:
|
||||||
// Consume the data
|
// Consume the data
|
||||||
//
|
//
|
||||||
|
@ -54,4 +54,4 @@ server.loader=${catalina.home}/server/classes,${catalina.home}/server/lib/*.jar
|
|||||||
# "foo/*.jar": Add all the JARs of the specified folder as class
|
# "foo/*.jar": Add all the JARs of the specified folder as class
|
||||||
# repositories
|
# repositories
|
||||||
# "foo/bar.jar": Add bar.jar as a class repository
|
# "foo/bar.jar": Add bar.jar as a class repository
|
||||||
shared.loader=${catalina.base}/shared/classes,${catalina.base}/shared/lib/*.jar,/usr/share/java/identity-abstraction/*.jar,/usr/share/java/CASA/*.jar
|
shared.loader=${catalina.base}/shared/classes,${catalina.base}/shared/lib/*.jar,/usr/share/java/identity-abstraction/*.jar,/usr/share/java/CASA/*.jar,/usr/share/java/*.jar
|
||||||
|
Loading…
Reference in New Issue
Block a user