public class com.novell.ldapchai.impl.edir.NmasResponseSet extends com.novell.ldapchai.cr.AbstractResponseSet
{
private static final com.novell.ldapchai.util.internal.ChaiLogger LOGGER;
private final com.novell.ldapchai.ChaiUser user;
private static final java.lang.String NMAS_XML_ROOTNODE;
private static final java.lang.String NMAS_XML_ATTR_RANDOM_COUNT;
private static final java.lang.String NMAS_XML_NODE_CHALLENGE;
private static final java.lang.String NMAS_XML_ATTR_TYPE;
private static final java.lang.String NMAS_XML_ATTR_DEFINE;
private static final java.lang.String NMAS_XML_ATTR_MIN_LENGTH;
private static final java.lang.String NMAS_XML_ATTR_MAX_LENGTH;
static com.novell.ldapchai.impl.edir.NmasResponseSet readNmasUserResponseSet(com.novell.ldapchai.ChaiUser) throws com.novell.ldapchai.exception.ChaiUnavailableException
{
byte[] v;
com.novell.ldapchai.ChaiUser v;
java.util.function.Supplier v, v;
javax.naming.ldap.ExtendedResponse v;
int[] v, v;
int v, v;
com.novell.ldapchai.impl.edir.entry.ext.GetLoginConfigRequest v;
java.lang.String v, v;
java.lang.Exception v;
com.novell.ldapchai.provider.ChaiProvider v;
com.novell.ldapchai.impl.edir.NmasResponseSet v;
com.novell.ldapchai.util.internal.ChaiLogger v, v;
v := @parameter: com.novell.ldapchai.ChaiUser;
v = new com.novell.ldapchai.impl.edir.entry.ext.GetLoginConfigRequest;
specialinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.GetLoginConfigRequest: void <init>()>();
v = interfaceinvoke v.<com.novell.ldapchai.ChaiUser: java.lang.String getEntryDN()>();
virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.GetLoginConfigRequest: void setObjectDN(java.lang.String)>(v);
virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.GetLoginConfigRequest: void setTag(java.lang.String)>("ChallengeResponseQuestions");
v = staticinvoke <com.novell.ldapchai.impl.edir.entry.ext.NMASChallengeResponse: int[] getMethodId()>();
virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.GetLoginConfigRequest: void setMethodID(int[])>(v);
v = staticinvoke <com.novell.ldapchai.impl.edir.entry.ext.NMASChallengeResponse: int[] getMethodId()>();
v = lengthof v;
v = v * 4;
virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.GetLoginConfigRequest: void setMethodIDLen(int)>(v);
label:
v = interfaceinvoke v.<com.novell.ldapchai.ChaiUser: com.novell.ldapchai.provider.ChaiProvider getChaiProvider()>();
v = interfaceinvoke v.<com.novell.ldapchai.provider.ChaiProvider: javax.naming.ldap.ExtendedResponse extendedOperation(javax.naming.ldap.ExtendedRequest)>(v);
v = interfaceinvoke v.<javax.naming.ldap.ExtendedResponse: byte[] getEncodedValue()>();
if v != null goto label;
label:
return null;
label:
v = new java.lang.String;
specialinvoke v.<java.lang.String: void <init>(byte[],java.lang.String)>(v, "UTF8");
v = <com.novell.ldapchai.impl.edir.NmasResponseSet: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.impl.edir.NmasResponseSet$lambda_readNmasUserResponseSet_0__50: java.util.function.Supplier bootstrap$(java.lang.String)>(v);
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void trace(java.util.function.Supplier)>(v);
v = staticinvoke <com.novell.ldapchai.impl.edir.NmasResponseSet: com.novell.ldapchai.impl.edir.NmasResponseSet readNmasUserResponseSet(com.novell.ldapchai.ChaiUser,java.lang.String)>(v, v);
label:
return v;
label:
v := @caughtexception;
v = <com.novell.ldapchai.impl.edir.NmasResponseSet: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.impl.edir.NmasResponseSet$lambda_readNmasUserResponseSet_1__51: java.util.function.Supplier bootstrap$(com.novell.ldapchai.ChaiUser,java.lang.Exception)>(v, v);
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void error(java.util.function.Supplier)>(v);
return null;
catch java.io.IOException from label to label with label;
catch com.novell.ldapchai.exception.ChaiValidationException from label to label with label;
catch com.novell.ldapchai.exception.ChaiOperationException from label to label with label;
catch java.io.IOException from label to label with label;
catch com.novell.ldapchai.exception.ChaiValidationException from label to label with label;
catch com.novell.ldapchai.exception.ChaiOperationException from label to label with label;
}
static com.novell.ldapchai.impl.edir.NmasResponseSet readNmasUserResponseSet(com.novell.ldapchai.ChaiUser, java.lang.String) throws com.novell.ldapchai.exception.ChaiValidationException
{
java.util.Locale v;
com.novell.ldapchai.cr.AbstractResponseSet$STATE v;
boolean v, v;
java.util.List v;
java.lang.StringBuilder v, v, v, v;
com.novell.ldapchai.impl.edir.NmasResponseSet v;
com.novell.ldapchai.util.internal.ChaiLogger v, v, v, v, v, v, v, v, v;
com.novell.ldapchai.ChaiUser v;
java.util.HashMap v;
java.util.function.Supplier v, v, v, v, v, v, v, v, v;
com.novell.ldapchai.cr.ChallengeSet v;
int v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v;
java.util.Iterator v;
java.io.IOException v, v, v;
java.lang.Object v;
v := @parameter: com.novell.ldapchai.ChaiUser;
v := @parameter: java.lang.String;
v = null;
v = 0;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = virtualinvoke v.<java.lang.String: int indexOf(java.lang.String)>("<");
if v <= 0 goto label;
label:
v = 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = <com.novell.ldapchai.impl.edir.NmasResponseSet: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.impl.edir.NmasResponseSet$lambda_readNmasUserResponseSet_2__56: java.util.function.Supplier bootstrap$(java.lang.String)>(v);
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void trace(java.util.function.Supplier)>(v);
v = staticinvoke <com.novell.ldapchai.impl.edir.NmasResponseSet: com.novell.ldapchai.cr.ChallengeSet parseNmasUserResponseXML(java.lang.String)>(v);
v = <com.novell.ldapchai.impl.edir.NmasResponseSet: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.impl.edir.NmasResponseSet$lambda_readNmasUserResponseSet_3__57: java.util.function.Supplier bootstrap$(int)>(v);
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void trace(java.util.function.Supplier)>(v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<java.lang.StringBuilder: int length()>();
if v <= 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", ");
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("error parsing index stripped value: ");
v = virtualinvoke v.<java.io.IOException: java.lang.String getMessage()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = <com.novell.ldapchai.impl.edir.NmasResponseSet: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.impl.edir.NmasResponseSet$lambda_readNmasUserResponseSet_4__60: java.util.function.Supplier bootstrap$(java.io.IOException)>(v);
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void trace(java.util.function.Supplier)>(v);
label:
if v != null goto label;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("<?xml");
if v == 0 goto label;
label:
v = v + 1;
v = staticinvoke <com.novell.ldapchai.impl.edir.NmasResponseSet: com.novell.ldapchai.cr.ChallengeSet parseNmasUserResponseXML(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("error parsing raw value: ");
v = virtualinvoke v.<java.io.IOException: java.lang.String getMessage()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = <com.novell.ldapchai.impl.edir.NmasResponseSet: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.impl.edir.NmasResponseSet$lambda_readNmasUserResponseSet_5__59: java.util.function.Supplier bootstrap$(java.io.IOException)>(v);
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void trace(java.util.function.Supplier)>(v);
label:
v = <com.novell.ldapchai.impl.edir.NmasResponseSet: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.impl.edir.NmasResponseSet$lambda_readNmasUserResponseSet_6__55: java.util.function.Supplier bootstrap$()>();
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void trace(java.util.function.Supplier)>(v);
label:
if v != null goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
if v <= 16 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(16);
label:
v = v + 1;
v = staticinvoke <com.novell.ldapchai.impl.edir.NmasResponseSet: com.novell.ldapchai.cr.ChallengeSet parseNmasUserResponseXML(java.lang.String)>(v);
v = <com.novell.ldapchai.impl.edir.NmasResponseSet: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.impl.edir.NmasResponseSet$lambda_readNmasUserResponseSet_7__54: java.util.function.Supplier bootstrap$()>();
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void trace(java.util.function.Supplier)>(v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<java.lang.StringBuilder: int length()>();
if v <= 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", ");
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("error parsing header stripped value: ");
v = virtualinvoke v.<java.io.IOException: java.lang.String getMessage()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = <com.novell.ldapchai.impl.edir.NmasResponseSet: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.impl.edir.NmasResponseSet$lambda_readNmasUserResponseSet_8__58: java.util.function.Supplier bootstrap$(java.io.IOException)>(v);
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void trace(java.util.function.Supplier)>(v);
label:
if v != null goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.StringBuilder)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("unable to parse nmas ChallengeResponseQuestions: \u0001");
if v <= 0 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
if v <= 16 goto label;
v = <com.novell.ldapchai.impl.edir.NmasResponseSet: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.impl.edir.NmasResponseSet$lambda_readNmasUserResponseSet_9__53: java.util.function.Supplier bootstrap$(java.lang.String)>(v);
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void error(java.util.function.Supplier)>(v);
goto label;
label:
v = <com.novell.ldapchai.impl.edir.NmasResponseSet: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.impl.edir.NmasResponseSet$lambda_readNmasUserResponseSet_10__52: java.util.function.Supplier bootstrap$(java.lang.String)>(v);
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void trace(java.util.function.Supplier)>(v);
label:
return null;
label:
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = interfaceinvoke v.<com.novell.ldapchai.cr.ChallengeSet: java.util.List getChallenges()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, null);
goto label;
label:
v = new com.novell.ldapchai.impl.edir.NmasResponseSet;
v = interfaceinvoke v.<com.novell.ldapchai.cr.ChallengeSet: java.util.Locale getLocale()>();
v = interfaceinvoke v.<com.novell.ldapchai.cr.ChallengeSet: int getMinRandomRequired()>();
v = <com.novell.ldapchai.cr.AbstractResponseSet$STATE: com.novell.ldapchai.cr.AbstractResponseSet$STATE READ>;
v = interfaceinvoke v.<com.novell.ldapchai.cr.ChallengeSet: java.lang.String getIdentifier()>();
specialinvoke v.<com.novell.ldapchai.impl.edir.NmasResponseSet: void <init>(java.util.Map,java.util.Locale,int,com.novell.ldapchai.cr.AbstractResponseSet$STATE,com.novell.ldapchai.ChaiUser,java.lang.String)>(v, v, v, v, v, v);
return v;
catch java.io.IOException from label to label with label;
catch java.io.IOException from label to label with label;
catch java.io.IOException from label to label with label;
}
static com.novell.ldapchai.cr.ChallengeSet parseNmasUserResponseXML(java.lang.String) throws java.io.IOException, com.novell.ldapchai.exception.ChaiValidationException
{
org.jrivard.xmlchai.XmlDocument v;
com.novell.ldapchai.cr.ChaiChallengeSet v;
boolean v, v, v;
java.util.List v;
java.util.Optional v, v, v, v, v, v, v;
com.novell.ldapchai.cr.ChaiChallenge v;
java.util.function.Supplier v;
org.jrivard.xmlchai.XmlElement v;
java.util.ArrayList v;
org.jrivard.xmlchai.AccessMode v;
int v, v, v;
java.lang.String v, v, v;
org.jrivard.xmlchai.XmlFactory v;
java.util.Iterator v;
java.lang.Object v, v, v, v, v, v, v, v;
v := @parameter: java.lang.String;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = staticinvoke <org.jrivard.xmlchai.XmlFactory: org.jrivard.xmlchai.XmlFactory getFactory()>();
v = <org.jrivard.xmlchai.AccessMode: org.jrivard.xmlchai.AccessMode IMMUTABLE>;
v = interfaceinvoke v.<org.jrivard.xmlchai.XmlFactory: org.jrivard.xmlchai.XmlDocument parseString(java.lang.String,org.jrivard.xmlchai.AccessMode)>(v, v);
v = interfaceinvoke v.<org.jrivard.xmlchai.XmlDocument: org.jrivard.xmlchai.XmlElement getRootElement()>();
v = interfaceinvoke v.<org.jrivard.xmlchai.XmlElement: java.util.Optional getAttribute(java.lang.String)>("RandomQuestions");
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>("0");
v = staticinvoke <com.novell.ldapchai.util.internal.StringHelper: int convertStrToInt(java.lang.String,int)>(v, 0);
v = interfaceinvoke v.<org.jrivard.xmlchai.XmlElement: java.util.Optional getAttribute(java.lang.String)>("GUID");
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(null);
v = interfaceinvoke v.<org.jrivard.xmlchai.XmlDocument: java.util.List evaluateXpathToElements(java.lang.String)>("//Challenge");
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<org.jrivard.xmlchai.XmlElement: java.util.Optional getAttribute(java.lang.String)>("MaxLength");
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>("");
v = staticinvoke <com.novell.ldapchai.util.internal.StringHelper: int convertStrToInt(java.lang.String,int)>(v, 255);
v = interfaceinvoke v.<org.jrivard.xmlchai.XmlElement: java.util.Optional getAttribute(java.lang.String)>("MinLength");
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>("");
v = staticinvoke <com.novell.ldapchai.util.internal.StringHelper: int convertStrToInt(java.lang.String,int)>(v, 2);
v = "Admin";
v = interfaceinvoke v.<org.jrivard.xmlchai.XmlElement: java.util.Optional getAttribute(java.lang.String)>("Define");
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(null);
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
v = "Required";
v = interfaceinvoke v.<org.jrivard.xmlchai.XmlElement: java.util.Optional getAttribute(java.lang.String)>("Type");
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(null);
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
v = interfaceinvoke v.<org.jrivard.xmlchai.XmlElement: java.util.Optional getText()>();
v = staticinvoke <com.novell.ldapchai.impl.edir.NmasResponseSet$lambda_parseNmasUserResponseXML_11__61: java.util.function.Supplier bootstrap$()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElseThrow(java.util.function.Supplier)>(v);
v = new com.novell.ldapchai.cr.ChaiChallenge;
specialinvoke v.<com.novell.ldapchai.cr.ChaiChallenge: void <init>(boolean,java.lang.String,int,int,boolean,int,boolean)>(v, v, v, v, v, 0, 0);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = new com.novell.ldapchai.cr.ChaiChallengeSet;
specialinvoke v.<com.novell.ldapchai.cr.ChaiChallengeSet: void <init>(java.util.Collection,int,java.util.Locale,java.lang.String)>(v, v, null, v);
return v;
}
void <init>(java.util.Map, java.util.Locale, int, com.novell.ldapchai.cr.AbstractResponseSet$STATE, com.novell.ldapchai.ChaiUser, java.lang.String) throws com.novell.ldapchai.exception.ChaiValidationException
{
com.novell.ldapchai.ChaiUser v;
java.util.Locale v;
java.util.Map v, v, v;
int v;
java.lang.String v;
com.novell.ldapchai.cr.AbstractResponseSet$STATE v;
com.novell.ldapchai.impl.edir.NmasResponseSet v;
v := @this: com.novell.ldapchai.impl.edir.NmasResponseSet;
v := @parameter: java.util.Map;
v := @parameter: java.util.Locale;
v := @parameter: int;
v := @parameter: com.novell.ldapchai.cr.AbstractResponseSet$STATE;
v := @parameter: com.novell.ldapchai.ChaiUser;
v := @parameter: java.lang.String;
v = staticinvoke <com.novell.ldapchai.impl.edir.NmasResponseSet: java.util.Map convertAnswerTextMap(java.util.Map)>(v);
v = staticinvoke <java.util.Collections: java.util.Map emptyMap()>();
specialinvoke v.<com.novell.ldapchai.cr.AbstractResponseSet: void <init>(java.util.Map,java.util.Map,java.util.Locale,int,com.novell.ldapchai.cr.AbstractResponseSet$STATE,java.lang.String,java.time.Instant)>(v, v, v, v, v, v, null);
v.<com.novell.ldapchai.impl.edir.NmasResponseSet: com.novell.ldapchai.ChaiUser user> = v;
return;
}
public java.lang.String stringValue() throws java.lang.UnsupportedOperationException
{
java.lang.UnsupportedOperationException v;
com.novell.ldapchai.impl.edir.NmasResponseSet v;
v := @this: com.novell.ldapchai.impl.edir.NmasResponseSet;
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("stringValue() is not supported by NMAS response sets");
throw v;
}
public boolean test(java.util.Map)
{
java.lang.UnsupportedOperationException v;
com.novell.ldapchai.impl.edir.NmasResponseSet v;
java.util.Map v;
v := @this: com.novell.ldapchai.impl.edir.NmasResponseSet;
v := @parameter: java.util.Map;
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("NMAS Response testing not yet implemented");
throw v;
}
boolean write() throws com.novell.ldapchai.exception.ChaiUnavailableException, com.novell.ldapchai.exception.ChaiOperationException
{
byte[] v, v;
java.util.Map v;
java.util.Set v;
java.lang.Exception v;
com.novell.ldapchai.provider.ChaiProvider v, v;
com.novell.ldapchai.ChaiUser v, v, v, v;
java.util.function.Supplier v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v;
java.lang.IllegalStateException v;
javax.naming.ldap.ExtendedResponse v, v;
int[] v, v, v, v;
com.novell.ldapchai.cr.AbstractResponseSet$STATE v, v, v;
com.novell.ldapchai.exception.ChaiValidationException v;
boolean v, v;
com.novell.ldapchai.impl.edir.NmasResponseSet v;
java.io.UnsupportedEncodingException v;
com.novell.ldapchai.util.internal.ChaiLogger v, v, v, v, v, v, v;
com.novell.ldapchai.impl.edir.entry.ext.PutLoginConfigRequest v;
com.novell.ldapchai.cr.ChallengeSet v;
com.novell.ldapchai.impl.edir.entry.ext.PutLoginSecretRequest v;
int v, v, v, v, v, v, v, v;
com.novell.ldapchai.exception.ChaiOperationException v, v;
java.util.Iterator v;
java.lang.Object v, v, v;
v := @this: com.novell.ldapchai.impl.edir.NmasResponseSet;
v = v.<com.novell.ldapchai.impl.edir.NmasResponseSet: com.novell.ldapchai.cr.AbstractResponseSet$STATE state>;
v = <com.novell.ldapchai.cr.AbstractResponseSet$STATE: com.novell.ldapchai.cr.AbstractResponseSet$STATE NEW>;
if v == v goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("RepsonseSet not suitable for writing (not in NEW state)");
throw v;
label:
v = new com.novell.ldapchai.impl.edir.entry.ext.PutLoginConfigRequest;
specialinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.PutLoginConfigRequest: void <init>()>();
v = v.<com.novell.ldapchai.impl.edir.NmasResponseSet: com.novell.ldapchai.ChaiUser user>;
v = interfaceinvoke v.<com.novell.ldapchai.ChaiUser: java.lang.String getEntryDN()>();
virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.PutLoginConfigRequest: void setObjectDN(java.lang.String)>(v);
v = virtualinvoke v.<com.novell.ldapchai.impl.edir.NmasResponseSet: com.novell.ldapchai.cr.ChallengeSet getChallengeSet()>();
v = v.<com.novell.ldapchai.impl.edir.NmasResponseSet: java.lang.String csIdentifier>;
v = staticinvoke <com.novell.ldapchai.impl.edir.NmasResponseSet: java.lang.String csToNmasXML(com.novell.ldapchai.cr.ChallengeSet,java.lang.String)>(v, v);
v = virtualinvoke v.<java.lang.String: byte[] getBytes(java.lang.String)>("UTF8");
virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.PutLoginConfigRequest: void setData(byte[])>(v);
v = lengthof v;
virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.PutLoginConfigRequest: void setDataLen(int)>(v);
virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.PutLoginConfigRequest: void setTag(java.lang.String)>("ChallengeResponseQuestions");
v = staticinvoke <com.novell.ldapchai.impl.edir.entry.ext.NMASChallengeResponse: int[] getMethodId()>();
virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.PutLoginConfigRequest: void setMethodID(int[])>(v);
v = staticinvoke <com.novell.ldapchai.impl.edir.entry.ext.NMASChallengeResponse: int[] getMethodId()>();
v = lengthof v;
v = v * 4;
virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.PutLoginConfigRequest: void setMethodIDLen(int)>(v);
v = v.<com.novell.ldapchai.impl.edir.NmasResponseSet: com.novell.ldapchai.ChaiUser user>;
v = interfaceinvoke v.<com.novell.ldapchai.ChaiUser: com.novell.ldapchai.provider.ChaiProvider getChaiProvider()>();
v = interfaceinvoke v.<com.novell.ldapchai.provider.ChaiProvider: javax.naming.ldap.ExtendedResponse extendedOperation(javax.naming.ldap.ExtendedRequest)>(v);
if v == null goto label;
v = virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.PutLoginConfigResponse: int getNmasRetCode()>();
if v == 0 goto label;
v = <com.novell.ldapchai.impl.edir.NmasResponseSet: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.impl.edir.NmasResponseSet$lambda_write_12__64: java.util.function.Supplier bootstrap$(javax.naming.ldap.ExtendedResponse)>(v);
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void debug(java.util.function.Supplier)>(v);
label:
return 0;
label:
v := @caughtexception;
v = <com.novell.ldapchai.impl.edir.NmasResponseSet: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.impl.edir.NmasResponseSet$lambda_write_13__68: java.util.function.Supplier bootstrap$(java.io.UnsupportedEncodingException)>(v);
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void error(java.util.function.Supplier)>(v);
return 0;
label:
v := @caughtexception;
v = <com.novell.ldapchai.impl.edir.NmasResponseSet: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.impl.edir.NmasResponseSet$lambda_write_14__67: java.util.function.Supplier bootstrap$(com.novell.ldapchai.exception.ChaiOperationException)>(v);
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void error(java.util.function.Supplier)>(v);
throw v;
label:
v := @caughtexception;
v = <com.novell.ldapchai.impl.edir.NmasResponseSet: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.impl.edir.NmasResponseSet$lambda_write_15__66: java.util.function.Supplier bootstrap$(com.novell.ldapchai.exception.ChaiValidationException)>(v);
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void error(java.util.function.Supplier)>(v);
v = virtualinvoke v.<com.novell.ldapchai.exception.ChaiValidationException: java.lang.String getMessage()>();
v = staticinvoke <com.novell.ldapchai.exception.ChaiOperationException: com.novell.ldapchai.exception.ChaiOperationException forErrorMessage(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
v = 1;
v = v.<com.novell.ldapchai.impl.edir.NmasResponseSet: java.util.Map crMap>;
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
label:
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = virtualinvoke v.<com.novell.ldapchai.impl.edir.NmasResponseSet$NmasAnswer: java.lang.String getAnswerText()>();
v = virtualinvoke v.<java.lang.String: byte[] getBytes(java.lang.String)>("UTF8");
v = new com.novell.ldapchai.impl.edir.entry.ext.PutLoginSecretRequest;
specialinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.PutLoginSecretRequest: void <init>()>();
v = v.<com.novell.ldapchai.impl.edir.NmasResponseSet: com.novell.ldapchai.ChaiUser user>;
v = interfaceinvoke v.<com.novell.ldapchai.ChaiUser: java.lang.String getEntryDN()>();
virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.PutLoginSecretRequest: void setObjectDN(java.lang.String)>(v);
virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.PutLoginSecretRequest: void setData(byte[])>(v);
v = lengthof v;
virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.PutLoginSecretRequest: void setDataLen(int)>(v);
v = interfaceinvoke v.<com.novell.ldapchai.cr.Challenge: java.lang.String getChallengeText()>();
virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.PutLoginSecretRequest: void setTag(java.lang.String)>(v);
v = staticinvoke <com.novell.ldapchai.impl.edir.entry.ext.NMASChallengeResponse: int[] getMethodId()>();
virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.PutLoginSecretRequest: void setMethodID(int[])>(v);
v = staticinvoke <com.novell.ldapchai.impl.edir.entry.ext.NMASChallengeResponse: int[] getMethodId()>();
v = lengthof v;
v = v * 4;
virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.PutLoginSecretRequest: void setMethodIDLen(int)>(v);
v = v.<com.novell.ldapchai.impl.edir.NmasResponseSet: com.novell.ldapchai.ChaiUser user>;
v = interfaceinvoke v.<com.novell.ldapchai.ChaiUser: com.novell.ldapchai.provider.ChaiProvider getChaiProvider()>();
v = interfaceinvoke v.<com.novell.ldapchai.provider.ChaiProvider: javax.naming.ldap.ExtendedResponse extendedOperation(javax.naming.ldap.ExtendedRequest)>(v);
if v == null goto label;
v = virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.PutLoginSecretResponse: int getNmasRetCode()>();
if v == 0 goto label;
v = <com.novell.ldapchai.impl.edir.NmasResponseSet: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.impl.edir.NmasResponseSet$lambda_write_16__63: java.util.function.Supplier bootstrap$(javax.naming.ldap.ExtendedResponse)>(v);
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void debug(java.util.function.Supplier)>(v);
v = 0;
label:
goto label;
label:
v := @caughtexception;
v = <com.novell.ldapchai.impl.edir.NmasResponseSet: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.impl.edir.NmasResponseSet$lambda_write_17__65: java.util.function.Supplier bootstrap$(java.lang.Exception)>(v);
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void error(java.util.function.Supplier)>(v);
goto label;
label:
if v == 0 goto label;
v = <com.novell.ldapchai.impl.edir.NmasResponseSet: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.impl.edir.NmasResponseSet$lambda_write_18__62: java.util.function.Supplier bootstrap$(com.novell.ldapchai.impl.edir.NmasResponseSet)>(v);
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void info(java.util.function.Supplier)>(v);
v = <com.novell.ldapchai.cr.AbstractResponseSet$STATE: com.novell.ldapchai.cr.AbstractResponseSet$STATE WRITTEN>;
v.<com.novell.ldapchai.impl.edir.NmasResponseSet: com.novell.ldapchai.cr.AbstractResponseSet$STATE state> = v;
label:
return v;
catch java.io.UnsupportedEncodingException from label to label with label;
catch com.novell.ldapchai.exception.ChaiOperationException from label to label with label;
catch com.novell.ldapchai.exception.ChaiValidationException from label to label with label;
catch java.lang.Exception from label to label with label;
}
static java.lang.String csToNmasXML(com.novell.ldapchai.cr.ChallengeSet, java.lang.String)
{
java.lang.IllegalStateException v;
org.jrivard.xmlchai.XmlDocument v;
org.jrivard.xmlchai.XmlElement v, v;
com.novell.ldapchai.cr.ChallengeSet v;
org.jrivard.xmlchai.XmlFactory$OutputFlag[] v;
int v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v;
org.jrivard.xmlchai.XmlFactory v;
boolean v, v, v;
java.util.Iterator v;
java.io.IOException v;
java.util.List v;
java.lang.Object v;
v := @parameter: com.novell.ldapchai.cr.ChallengeSet;
v := @parameter: java.lang.String;
v = staticinvoke <org.jrivard.xmlchai.XmlFactory: org.jrivard.xmlchai.XmlFactory getFactory()>();
v = interfaceinvoke v.<org.jrivard.xmlchai.XmlFactory: org.jrivard.xmlchai.XmlDocument newDocument(java.lang.String)>("Challenges");
v = interfaceinvoke v.<org.jrivard.xmlchai.XmlDocument: org.jrivard.xmlchai.XmlElement getRootElement()>();
v = interfaceinvoke v.<com.novell.ldapchai.cr.ChallengeSet: int getMinRandomRequired()>();
v = staticinvoke <java.lang.String: java.lang.String valueOf(int)>(v);
interfaceinvoke v.<org.jrivard.xmlchai.XmlElement: void setAttribute(java.lang.String,java.lang.String)>("RandomQuestions", v);
if v == null goto label;
interfaceinvoke v.<org.jrivard.xmlchai.XmlElement: void setAttribute(java.lang.String,java.lang.String)>("GUID", v);
goto label;
label:
interfaceinvoke v.<org.jrivard.xmlchai.XmlElement: void setAttribute(java.lang.String,java.lang.String)>("GUID", "0");
label:
v = interfaceinvoke v.<com.novell.ldapchai.cr.ChallengeSet: java.util.List getChallenges()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<org.jrivard.xmlchai.XmlFactory: org.jrivard.xmlchai.XmlElement newElement(java.lang.String)>("Challenge");
v = interfaceinvoke v.<com.novell.ldapchai.cr.Challenge: java.lang.String getChallengeText()>();
if v == null goto label;
v = interfaceinvoke v.<com.novell.ldapchai.cr.Challenge: java.lang.String getChallengeText()>();
interfaceinvoke v.<org.jrivard.xmlchai.XmlElement: void setText(java.lang.String)>(v);
label:
v = interfaceinvoke v.<com.novell.ldapchai.cr.Challenge: boolean isAdminDefined()>();
if v == 0 goto label;
interfaceinvoke v.<org.jrivard.xmlchai.XmlElement: void setAttribute(java.lang.String,java.lang.String)>("Define", "Admin");
goto label;
label:
interfaceinvoke v.<org.jrivard.xmlchai.XmlElement: void setAttribute(java.lang.String,java.lang.String)>("Define", "User");
label:
v = interfaceinvoke v.<com.novell.ldapchai.cr.Challenge: boolean isRequired()>();
if v == 0 goto label;
interfaceinvoke v.<org.jrivard.xmlchai.XmlElement: void setAttribute(java.lang.String,java.lang.String)>("Type", "Required");
goto label;
label:
interfaceinvoke v.<org.jrivard.xmlchai.XmlElement: void setAttribute(java.lang.String,java.lang.String)>("Type", "Random");
label:
v = interfaceinvoke v.<com.novell.ldapchai.cr.Challenge: int getMinLength()>();
v = staticinvoke <java.lang.String: java.lang.String valueOf(int)>(v);
interfaceinvoke v.<org.jrivard.xmlchai.XmlElement: void setAttribute(java.lang.String,java.lang.String)>("MinLength", v);
v = interfaceinvoke v.<com.novell.ldapchai.cr.Challenge: int getMaxLength()>();
v = staticinvoke <java.lang.String: java.lang.String valueOf(int)>(v);
interfaceinvoke v.<org.jrivard.xmlchai.XmlElement: void setAttribute(java.lang.String,java.lang.String)>("MaxLength", v);
interfaceinvoke v.<org.jrivard.xmlchai.XmlElement: void attachElement(org.jrivard.xmlchai.XmlElement)>(v);
goto label;
label:
v = newarray (org.jrivard.xmlchai.XmlFactory$OutputFlag)[0];
v = interfaceinvoke v.<org.jrivard.xmlchai.XmlFactory: java.lang.String outputString(org.jrivard.xmlchai.XmlDocument,org.jrivard.xmlchai.XmlFactory$OutputFlag[])>(v, v);
label:
return v;
label:
v := @caughtexception;
v = new java.lang.IllegalStateException;
v = virtualinvoke v.<java.io.IOException: java.lang.String getMessage()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("unexpected error serializing xml document for NMAS response set: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
catch java.io.IOException from label to label with label;
}
private static java.util.Map convertAnswerTextMap(java.util.Map)
{
java.util.Iterator v;
java.util.Set v;
java.util.LinkedHashMap v;
com.novell.ldapchai.impl.edir.NmasResponseSet$NmasAnswer v;
java.util.Map v;
java.lang.Object v, v, v;
boolean v;
v := @parameter: java.util.Map;
v = new java.util.LinkedHashMap;
specialinvoke v.<java.util.LinkedHashMap: void <init>()>();
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = new com.novell.ldapchai.impl.edir.NmasResponseSet$NmasAnswer;
specialinvoke v.<com.novell.ldapchai.impl.edir.NmasResponseSet$NmasAnswer: void <init>(java.lang.String)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
return v;
}
public java.util.List asChallengeBeans(boolean)
{
java.lang.UnsupportedOperationException v;
java.util.Iterator v;
java.util.Set v;
java.util.ArrayList v;
java.util.List v;
com.novell.ldapchai.cr.bean.ChallengeBean v;
java.util.Map v, v;
java.lang.Object v;
com.novell.ldapchai.impl.edir.NmasResponseSet v;
boolean v, v;
v := @this: com.novell.ldapchai.impl.edir.NmasResponseSet;
v := @parameter: boolean;
if v == 0 goto label;
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("NMAS stored responses do not support retrieval of answers");
throw v;
label:
v = v.<com.novell.ldapchai.impl.edir.NmasResponseSet: java.util.Map crMap>;
if v != null goto label;
v = staticinvoke <java.util.Collections: java.util.List emptyList()>();
return v;
label:
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = v.<com.novell.ldapchai.impl.edir.NmasResponseSet: java.util.Map crMap>;
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<com.novell.ldapchai.cr.Challenge: com.novell.ldapchai.cr.bean.ChallengeBean asChallengeBean()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
return v;
}
public java.util.List asHelpdeskChallengeBeans(boolean)
{
java.lang.UnsupportedOperationException v;
com.novell.ldapchai.impl.edir.NmasResponseSet v;
boolean v;
v := @this: com.novell.ldapchai.impl.edir.NmasResponseSet;
v := @parameter: boolean;
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("NMAS stored responses do not support Helpdesk Challenges");
throw v;
}
static void <clinit>()
{
com.novell.ldapchai.util.internal.ChaiLogger v;
v = staticinvoke <com.novell.ldapchai.util.internal.ChaiLogger: com.novell.ldapchai.util.internal.ChaiLogger getLogger(java.lang.Class)>(class "Lcom/novell/ldapchai/impl/edir/NmasResponseSet;");
<com.novell.ldapchai.impl.edir.NmasResponseSet: com.novell.ldapchai.util.internal.ChaiLogger LOGGER> = v;
return;
}
}