class com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl extends com.novell.ldapchai.impl.AbstractChaiUser implements com.novell.ldapchai.impl.edir.entry.InetOrgPerson, com.novell.ldapchai.ChaiUser
{
private static final com.novell.ldapchai.util.internal.ChaiLogger LOGGER;
private static final java.lang.String PW_EXPIRATION_ZULU_TIMESTAMP;
public java.lang.String getLdapObjectClassName()
{
com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl v;
v := @this: com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl;
return "inetOrgPerson";
}
void <init>(java.lang.String, com.novell.ldapchai.provider.ChaiProvider)
{
com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl v;
java.lang.String v;
com.novell.ldapchai.provider.ChaiProvider v;
v := @this: com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl;
v := @parameter: java.lang.String;
v := @parameter: com.novell.ldapchai.provider.ChaiProvider;
specialinvoke v.<com.novell.ldapchai.impl.AbstractChaiUser: void <init>(java.lang.String,com.novell.ldapchai.provider.ChaiProvider)>(v, v);
return;
}
public com.novell.ldapchai.ChaiPasswordPolicy getPasswordPolicy() throws com.novell.ldapchai.exception.ChaiUnavailableException, com.novell.ldapchai.exception.ChaiOperationException
{
com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl v;
com.novell.ldapchai.ChaiPasswordPolicy v;
v := @this: com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl;
v = staticinvoke <com.novell.ldapchai.impl.edir.entry.EdirEntries: com.novell.ldapchai.ChaiPasswordPolicy readPasswordPolicy(com.novell.ldapchai.ChaiUser)>(v);
return v;
}
public boolean testPasswordPolicy(java.lang.String) throws com.novell.ldapchai.exception.ChaiUnavailableException, com.novell.ldapchai.exception.ChaiPasswordPolicyException
{
com.novell.ldapchai.exception.ChaiPasswordPolicyException v;
java.util.function.Supplier v, v;
javax.naming.ldap.ExtendedResponse v;
com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl v;
int v;
java.lang.String v, v, v;
com.novell.ldapchai.exception.ChaiOperationException v;
boolean v;
com.novell.ldapchai.provider.ChaiConfiguration v;
com.novell.ldapchai.provider.ChaiSetting v;
com.novell.ldapchai.exception.ChaiError v;
com.novell.ldapchai.provider.ChaiProvider v, v;
com.novell.ldapchai.impl.edir.entry.ext.PwdPolicyCheckRequest v;
com.novell.ldapchai.util.internal.ChaiLogger v, v;
v := @this: com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl;
v := @parameter: java.lang.String;
v = virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: com.novell.ldapchai.provider.ChaiProvider getChaiProvider()>();
v = interfaceinvoke v.<com.novell.ldapchai.provider.ChaiProvider: com.novell.ldapchai.provider.ChaiConfiguration getChaiConfiguration()>();
v = <com.novell.ldapchai.provider.ChaiSetting: com.novell.ldapchai.provider.ChaiSetting EDIRECTORY_ENABLE_NMAS>;
v = virtualinvoke v.<com.novell.ldapchai.provider.ChaiConfiguration: boolean getBooleanSetting(com.novell.ldapchai.provider.ChaiSetting)>(v);
if v != 0 goto label;
return 1;
label:
v = new com.novell.ldapchai.impl.edir.entry.ext.PwdPolicyCheckRequest;
specialinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.PwdPolicyCheckRequest: void <init>()>();
virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.PwdPolicyCheckRequest: void setData(java.lang.String)>(v);
v = virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: java.lang.String getEntryDN()>();
virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.PwdPolicyCheckRequest: void setObjectDN(java.lang.String)>(v);
label:
v = virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: com.novell.ldapchai.provider.ChaiProvider getChaiProvider()>();
v = interfaceinvoke v.<com.novell.ldapchai.provider.ChaiProvider: javax.naming.ldap.ExtendedResponse extendedOperation(javax.naming.ldap.ExtendedRequest)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl$lambda_testPasswordPolicy_0__77: java.util.function.Supplier bootstrap$(com.novell.ldapchai.exception.ChaiOperationException)>(v);
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void debug(java.util.function.Supplier)>(v);
return 1;
label:
if v == null goto label;
v = virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.PwdPolicyCheckResponse: int getNmasRetCode()>();
if v == 0 goto label;
v = <com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl$lambda_testPasswordPolicy_1__76: java.util.function.Supplier bootstrap$(int)>(v);
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void debug(java.util.function.Supplier)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("nmas error \u0001");
v = new com.novell.ldapchai.exception.ChaiPasswordPolicyException;
v = staticinvoke <com.novell.ldapchai.exception.ChaiErrors: com.novell.ldapchai.exception.ChaiError getErrorForMessage(java.lang.String)>(v);
specialinvoke v.<com.novell.ldapchai.exception.ChaiPasswordPolicyException: void <init>(java.lang.String,com.novell.ldapchai.exception.ChaiError)>(v, v);
throw v;
label:
return 1;
catch com.novell.ldapchai.exception.ChaiOperationException from label to label with label;
}
public final void unlockPassword() throws com.novell.ldapchai.exception.ChaiOperationException, com.novell.ldapchai.exception.ChaiUnavailableException
{
com.novell.ldapchai.exception.ChaiError v;
com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl v;
java.lang.String v, v, v, v;
com.novell.ldapchai.exception.ChaiOperationException v, v;
v := @this: com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl;
label:
v = "lockedByIntruder";
virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: void writeStringAttribute(java.lang.String,java.lang.String)>("lockedByIntruder", "FALSE");
v = "loginIntruderAttempts";
virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: void writeStringAttribute(java.lang.String,java.lang.String)>("loginIntruderAttempts", "0");
v = "loginIntruderResetTime";
virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: void writeStringAttribute(java.lang.String,java.lang.String)>("loginIntruderResetTime", "19800101010101Z");
v = virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: java.lang.String readStringAttribute(java.lang.String)>("loginGraceLimit");
if v == null goto label;
v = "loginGraceRemaining";
virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: void writeStringAttribute(java.lang.String,java.lang.String)>("loginGraceRemaining", v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<com.novell.ldapchai.exception.ChaiOperationException: java.lang.String getMessage()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, 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[])>("error writing to \u0001: \u0001");
v = new com.novell.ldapchai.exception.ChaiOperationException;
v = virtualinvoke v.<com.novell.ldapchai.exception.ChaiOperationException: com.novell.ldapchai.exception.ChaiError getErrorCode()>();
specialinvoke v.<com.novell.ldapchai.exception.ChaiOperationException: void <init>(java.lang.String,com.novell.ldapchai.exception.ChaiError,java.lang.Throwable)>(v, v, v);
throw v;
label:
return;
catch com.novell.ldapchai.exception.ChaiOperationException from label to label with label;
}
public final void addGroupMembership(com.novell.ldapchai.ChaiGroup) throws com.novell.ldapchai.exception.ChaiOperationException, com.novell.ldapchai.exception.ChaiUnavailableException
{
com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl v;
com.novell.ldapchai.ChaiGroup v;
v := @this: com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl;
v := @parameter: com.novell.ldapchai.ChaiGroup;
staticinvoke <com.novell.ldapchai.impl.edir.entry.EdirEntries: void writeGroupMembership(com.novell.ldapchai.ChaiUser,com.novell.ldapchai.ChaiGroup)>(v, v);
return;
}
public void removeGroupMembership(com.novell.ldapchai.ChaiGroup) throws com.novell.ldapchai.exception.ChaiOperationException, com.novell.ldapchai.exception.ChaiUnavailableException
{
com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl v;
com.novell.ldapchai.ChaiGroup v;
v := @this: com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl;
v := @parameter: com.novell.ldapchai.ChaiGroup;
staticinvoke <com.novell.ldapchai.impl.edir.entry.EdirEntries: void removeGroupMembership(com.novell.ldapchai.ChaiUser,com.novell.ldapchai.ChaiGroup)>(v, v);
return;
}
public final java.lang.String readPassword() throws com.novell.ldapchai.exception.ChaiUnavailableException, com.novell.ldapchai.exception.ChaiOperationException
{
com.novell.ldapchai.impl.edir.entry.ext.GetPwdRequest v;
java.util.function.Supplier v, v, v;
javax.naming.ldap.ExtendedResponse v;
com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl v;
int v;
java.lang.String v, v, v, v;
com.novell.ldapchai.exception.ChaiOperationException v, v, v;
boolean v;
java.lang.UnsupportedOperationException v;
com.novell.ldapchai.provider.ChaiConfiguration v;
com.novell.ldapchai.provider.ChaiSetting v;
com.novell.ldapchai.exception.ChaiError v, v, v;
com.novell.ldapchai.provider.ChaiProvider v, v;
com.novell.ldapchai.util.internal.ChaiLogger v, v, v;
v := @this: com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl;
v = virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: com.novell.ldapchai.provider.ChaiProvider getChaiProvider()>();
v = interfaceinvoke v.<com.novell.ldapchai.provider.ChaiProvider: com.novell.ldapchai.provider.ChaiConfiguration getChaiConfiguration()>();
v = <com.novell.ldapchai.provider.ChaiSetting: com.novell.ldapchai.provider.ChaiSetting EDIRECTORY_ENABLE_NMAS>;
v = virtualinvoke v.<com.novell.ldapchai.provider.ChaiConfiguration: boolean getBooleanSetting(com.novell.ldapchai.provider.ChaiSetting)>(v);
if v != 0 goto label;
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("readPassword() is not supported when ChaiSetting.EDIRECTORY_ENABLE_NMAS is false");
throw v;
label:
v = new com.novell.ldapchai.impl.edir.entry.ext.GetPwdRequest;
v = virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: java.lang.String getEntryDN()>();
specialinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.GetPwdRequest: void <init>(java.lang.String,java.lang.String)>("", v);
v = virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: 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.GetPwdResponse: int getNmasRetCode()>();
lookupswitch(v)
{
case -16049: goto label;
case 0: goto label;
default: goto label;
};
label:
v = virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.GetPwdResponse: java.lang.String getPwdStr()>();
return v;
label:
v = <com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl$lambda_readPassword_2__79: java.util.function.Supplier bootstrap$(int)>(v);
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void debug(java.util.function.Supplier)>(v);
v = new com.novell.ldapchai.exception.ChaiOperationException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("object has no password attribute: error \u0001");
v = <com.novell.ldapchai.exception.ChaiError: com.novell.ldapchai.exception.ChaiError NO_SUCH_ATTRIBUTE>;
specialinvoke v.<com.novell.ldapchai.exception.ChaiOperationException: void <init>(java.lang.String,com.novell.ldapchai.exception.ChaiError)>(v, v);
throw v;
label:
v = <com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl$lambda_readPassword_3__80: java.util.function.Supplier bootstrap$(int)>(v);
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void debug(java.util.function.Supplier)>(v);
v = new com.novell.ldapchai.exception.ChaiOperationException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("error reading nmas password: error \u0001");
v = <com.novell.ldapchai.exception.ChaiError: com.novell.ldapchai.exception.ChaiError UNKNOWN>;
specialinvoke v.<com.novell.ldapchai.exception.ChaiOperationException: void <init>(java.lang.String,com.novell.ldapchai.exception.ChaiError)>(v, v);
throw v;
label:
v = <com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl$lambda_readPassword_4__78: java.util.function.Supplier bootstrap$()>();
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void debug(java.util.function.Supplier)>(v);
v = new com.novell.ldapchai.exception.ChaiOperationException;
v = <com.novell.ldapchai.exception.ChaiError: com.novell.ldapchai.exception.ChaiError UNKNOWN>;
specialinvoke v.<com.novell.ldapchai.exception.ChaiOperationException: void <init>(java.lang.String,com.novell.ldapchai.exception.ChaiError)>("unknown error retrieving password (null response)", v);
throw v;
}
public void setPassword(java.lang.String, boolean) throws com.novell.ldapchai.exception.ChaiUnavailableException, com.novell.ldapchai.exception.ChaiOperationException, com.novell.ldapchai.exception.ChaiPasswordPolicyException
{
com.novell.ldapchai.exception.ChaiPasswordPolicyException v, v, v;
java.util.function.Supplier v;
javax.naming.ldap.ExtendedResponse v;
com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl v;
com.novell.ldapchai.impl.edir.entry.ext.SetPwdRequest v;
int v, v;
java.lang.String v, v, v, v, v, v, v;
com.novell.ldapchai.exception.ChaiOperationException v, v, v;
boolean v, v;
com.novell.ldapchai.provider.ChaiConfiguration v;
com.novell.ldapchai.provider.ChaiSetting v;
com.novell.ldapchai.exception.ChaiError v, v, v, v;
com.novell.ldapchai.provider.ChaiProvider v, v;
com.novell.ldapchai.util.internal.ChaiLogger v;
v := @this: com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v = virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: com.novell.ldapchai.provider.ChaiProvider getChaiProvider()>();
v = interfaceinvoke v.<com.novell.ldapchai.provider.ChaiProvider: com.novell.ldapchai.provider.ChaiConfiguration getChaiConfiguration()>();
v = <com.novell.ldapchai.provider.ChaiSetting: com.novell.ldapchai.provider.ChaiSetting EDIRECTORY_ENABLE_NMAS>;
v = virtualinvoke v.<com.novell.ldapchai.provider.ChaiConfiguration: boolean getBooleanSetting(com.novell.ldapchai.provider.ChaiSetting)>(v);
if v != 0 goto label;
label:
virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: void writeStringAttribute(java.lang.String,java.lang.String)>("userPassword", v);
label:
goto label;
label:
v := @caughtexception;
v = new com.novell.ldapchai.exception.ChaiPasswordPolicyException;
v = virtualinvoke v.<com.novell.ldapchai.exception.ChaiOperationException: java.lang.String getMessage()>();
v = virtualinvoke v.<com.novell.ldapchai.exception.ChaiOperationException: java.lang.String getMessage()>();
v = staticinvoke <com.novell.ldapchai.exception.ChaiErrors: com.novell.ldapchai.exception.ChaiError getErrorForMessage(java.lang.String)>(v);
specialinvoke v.<com.novell.ldapchai.exception.ChaiPasswordPolicyException: void <init>(java.lang.String,com.novell.ldapchai.exception.ChaiError)>(v, v);
throw v;
label:
v = new com.novell.ldapchai.impl.edir.entry.ext.SetPwdRequest;
specialinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.SetPwdRequest: void <init>()>();
virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.SetPwdRequest: void setData(java.lang.String)>(v);
v = virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: java.lang.String getEntryDN()>();
virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.SetPwdRequest: void setObjectDN(java.lang.String)>(v);
label:
v = virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: com.novell.ldapchai.provider.ChaiProvider getChaiProvider()>();
v = interfaceinvoke v.<com.novell.ldapchai.provider.ChaiProvider: javax.naming.ldap.ExtendedResponse extendedOperation(javax.naming.ldap.ExtendedRequest)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new com.novell.ldapchai.exception.ChaiPasswordPolicyException;
v = virtualinvoke v.<com.novell.ldapchai.exception.ChaiOperationException: java.lang.String getMessage()>();
v = virtualinvoke v.<com.novell.ldapchai.exception.ChaiOperationException: java.lang.String getMessage()>();
v = staticinvoke <com.novell.ldapchai.exception.ChaiErrors: com.novell.ldapchai.exception.ChaiError getErrorForMessage(java.lang.String)>(v);
specialinvoke v.<com.novell.ldapchai.exception.ChaiPasswordPolicyException: void <init>(java.lang.String,com.novell.ldapchai.exception.ChaiError)>(v, v);
throw v;
label:
if v == null goto label;
v = virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.SetPwdResponse: int getNmasRetCode()>();
if v == 0 goto label;
v = <com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl$lambda_setPassword_5__81: java.util.function.Supplier bootstrap$(int)>(v);
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void debug(java.util.function.Supplier)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("nmas error \u0001");
v = (int) -222;
if v != v goto label;
v = new com.novell.ldapchai.exception.ChaiOperationException;
v = staticinvoke <com.novell.ldapchai.exception.ChaiErrors: com.novell.ldapchai.exception.ChaiError getErrorForMessage(java.lang.String)>(v);
specialinvoke v.<com.novell.ldapchai.exception.ChaiOperationException: void <init>(java.lang.String,com.novell.ldapchai.exception.ChaiError)>(v, v);
throw v;
label:
v = new com.novell.ldapchai.exception.ChaiPasswordPolicyException;
v = staticinvoke <com.novell.ldapchai.exception.ChaiErrors: com.novell.ldapchai.exception.ChaiError getErrorForMessage(java.lang.String)>(v);
specialinvoke v.<com.novell.ldapchai.exception.ChaiPasswordPolicyException: void <init>(java.lang.String,com.novell.ldapchai.exception.ChaiError)>(v, v);
throw v;
label:
return;
catch com.novell.ldapchai.exception.ChaiOperationException from label to label with label;
catch com.novell.ldapchai.exception.ChaiOperationException from label to label with label;
}
public boolean isPasswordExpired() throws com.novell.ldapchai.exception.ChaiUnavailableException, com.novell.ldapchai.exception.ChaiOperationException
{
java.lang.String[] v;
java.util.function.Supplier v, v;
com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl v;
java.util.HashSet v;
java.time.Duration v;
java.util.Map v;
int v, v;
boolean v, v;
java.time.Instant v, v;
java.util.List v;
java.lang.Object v, v, v;
com.novell.ldapchai.util.internal.ChaiLogger v, v;
v := @this: com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl;
v = newarray (java.lang.String)[3];
v[0] = "loginGraceLimit";
v[1] = "loginGraceRemaining";
v[2] = "passwordExpirationTime";
v = new java.util.HashSet;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
specialinvoke v.<java.util.HashSet: void <init>(java.util.Collection)>(v);
v = virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: java.util.Map readStringAttributes(java.util.Set)>(v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("loginGraceLimit");
v = staticinvoke <com.novell.ldapchai.util.internal.StringHelper: int convertStrToInt(java.lang.String,int)>(v, 0);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("loginGraceRemaining");
v = staticinvoke <com.novell.ldapchai.util.internal.StringHelper: int convertStrToInt(java.lang.String,int)>(v, 0);
if v == v goto label;
v = <com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl$lambda_isPasswordExpired_6__83: java.util.function.Supplier bootstrap$(com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl,int)>(v, v);
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void debug(java.util.function.Supplier)>(v);
return 1;
label:
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("passwordExpirationTime");
v = staticinvoke <com.novell.ldapchai.util.internal.StringHelper: boolean isEmpty(java.lang.CharSequence)>(v);
if v != 0 goto label;
v = staticinvoke <com.novell.ldapchai.impl.edir.entry.EdirEntries: java.time.Instant convertZuluToInstant(java.lang.String)>(v);
v = staticinvoke <java.time.Instant: java.time.Instant now()>();
v = staticinvoke <java.time.Duration: java.time.Duration between(java.time.temporal.Temporal,java.time.temporal.Temporal)>(v, v);
v = virtualinvoke v.<java.time.Duration: boolean isNegative()>();
if v == 0 goto label;
v = <com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl$lambda_isPasswordExpired_7__82: java.util.function.Supplier bootstrap$(com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl,java.time.Duration,java.time.Instant)>(v, v, v);
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void debug(java.util.function.Supplier)>(v);
return 1;
label:
return 0;
}
public final java.time.Instant readLastLoginTime() throws com.novell.ldapchai.exception.ChaiOperationException, com.novell.ldapchai.exception.ChaiUnavailableException
{
com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl v;
java.time.Instant v;
v := @this: com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl;
v = virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: java.time.Instant readDateAttribute(java.lang.String)>("loginTime");
return v;
}
public final void changePassword(java.lang.String, java.lang.String) throws com.novell.ldapchai.exception.ChaiUnavailableException, com.novell.ldapchai.exception.ChaiPasswordPolicyException
{
com.novell.ldapchai.exception.ChaiPasswordPolicyException v, v, v;
java.util.function.Supplier v;
javax.naming.ldap.ExtendedResponse v;
com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl v;
int v;
java.lang.String v, v, v, v, v, v, v, v;
com.novell.ldapchai.exception.ChaiOperationException v, v;
boolean v;
com.novell.ldapchai.provider.ChaiConfiguration v;
com.novell.ldapchai.provider.ChaiSetting v;
com.novell.ldapchai.exception.ChaiError v, v, v;
com.novell.ldapchai.impl.edir.entry.ext.ChangePwdRequest v;
com.novell.ldapchai.provider.ChaiProvider v, v;
com.novell.ldapchai.util.internal.ChaiLogger v;
v := @this: com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: com.novell.ldapchai.provider.ChaiProvider getChaiProvider()>();
v = interfaceinvoke v.<com.novell.ldapchai.provider.ChaiProvider: com.novell.ldapchai.provider.ChaiConfiguration getChaiConfiguration()>();
v = <com.novell.ldapchai.provider.ChaiSetting: com.novell.ldapchai.provider.ChaiSetting EDIRECTORY_ENABLE_NMAS>;
v = virtualinvoke v.<com.novell.ldapchai.provider.ChaiConfiguration: boolean getBooleanSetting(com.novell.ldapchai.provider.ChaiSetting)>(v);
if v != 0 goto label;
label:
virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: void replaceAttribute(java.lang.String,java.lang.String,java.lang.String)>("userPassword", v, v);
label:
goto label;
label:
v := @caughtexception;
v = new com.novell.ldapchai.exception.ChaiPasswordPolicyException;
v = virtualinvoke v.<com.novell.ldapchai.exception.ChaiOperationException: java.lang.String getMessage()>();
v = virtualinvoke v.<com.novell.ldapchai.exception.ChaiOperationException: java.lang.String getMessage()>();
v = staticinvoke <com.novell.ldapchai.exception.ChaiErrors: com.novell.ldapchai.exception.ChaiError getErrorForMessage(java.lang.String)>(v);
specialinvoke v.<com.novell.ldapchai.exception.ChaiPasswordPolicyException: void <init>(java.lang.String,com.novell.ldapchai.exception.ChaiError)>(v, v);
throw v;
label:
v = new com.novell.ldapchai.impl.edir.entry.ext.ChangePwdRequest;
specialinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.ChangePwdRequest: void <init>()>();
virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.ChangePwdRequest: void setNewPwd(java.lang.String)>(v);
v = virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: java.lang.String getEntryDN()>();
virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.ChangePwdRequest: void setObjectDN(java.lang.String)>(v);
virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.ChangePwdRequest: void setOldPwd(java.lang.String)>(v);
label:
v = virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: com.novell.ldapchai.provider.ChaiProvider getChaiProvider()>();
v = interfaceinvoke v.<com.novell.ldapchai.provider.ChaiProvider: javax.naming.ldap.ExtendedResponse extendedOperation(javax.naming.ldap.ExtendedRequest)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new com.novell.ldapchai.exception.ChaiPasswordPolicyException;
v = virtualinvoke v.<com.novell.ldapchai.exception.ChaiOperationException: java.lang.String getMessage()>();
v = virtualinvoke v.<com.novell.ldapchai.exception.ChaiOperationException: java.lang.String getMessage()>();
v = staticinvoke <com.novell.ldapchai.exception.ChaiErrors: com.novell.ldapchai.exception.ChaiError getErrorForMessage(java.lang.String)>(v);
specialinvoke v.<com.novell.ldapchai.exception.ChaiPasswordPolicyException: void <init>(java.lang.String,com.novell.ldapchai.exception.ChaiError)>(v, v);
throw v;
label:
if v == null goto label;
v = virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.ext.ChangePwdResponse: int getNmasRetCode()>();
if v == 0 goto label;
v = <com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl$lambda_changePassword_8__84: java.util.function.Supplier bootstrap$(int)>(v);
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void debug(java.util.function.Supplier)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("nmas error \u0001");
v = new com.novell.ldapchai.exception.ChaiPasswordPolicyException;
v = staticinvoke <com.novell.ldapchai.exception.ChaiErrors: com.novell.ldapchai.exception.ChaiError getErrorForMessage(java.lang.String)>(v);
specialinvoke v.<com.novell.ldapchai.exception.ChaiPasswordPolicyException: void <init>(java.lang.String,com.novell.ldapchai.exception.ChaiError)>(v, v);
throw v;
label:
return;
catch com.novell.ldapchai.exception.ChaiOperationException from label to label with label;
catch com.novell.ldapchai.exception.ChaiOperationException from label to label with label;
}
public void expirePassword() throws com.novell.ldapchai.exception.ChaiOperationException, com.novell.ldapchai.exception.ChaiUnavailableException
{
com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl v;
v := @this: com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl;
virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: void writeStringAttribute(java.lang.String,java.lang.String)>("passwordExpirationTime", "19800101010101Z");
return;
}
public boolean isPasswordLocked() throws com.novell.ldapchai.exception.ChaiOperationException, com.novell.ldapchai.exception.ChaiUnavailableException
{
com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl v;
boolean v;
v := @this: com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl;
v = virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: boolean readBooleanAttribute(java.lang.String)>("lockedByIntruder");
return v;
}
public java.time.Instant readPasswordExpirationDate() throws com.novell.ldapchai.exception.ChaiUnavailableException, com.novell.ldapchai.exception.ChaiOperationException
{
com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl v;
java.time.Instant v;
boolean v;
v := @this: com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl;
v = virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: java.time.Instant readDateAttribute(java.lang.String)>("passwordExpirationTime");
if v != null goto label;
v = virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: boolean isPasswordExpired()>();
if v == 0 goto label;
v = staticinvoke <java.time.Instant: java.time.Instant now()>();
label:
return v;
}
public java.lang.String readGUID() throws com.novell.ldapchai.exception.ChaiOperationException, com.novell.ldapchai.exception.ChaiUnavailableException
{
com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl v;
java.lang.String v;
v := @this: com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl;
v = staticinvoke <com.novell.ldapchai.impl.edir.entry.EdirEntries: java.lang.String readGuid(com.novell.ldapchai.ChaiEntry)>(v);
return v;
}
public boolean isAccountEnabled() throws com.novell.ldapchai.exception.ChaiOperationException, com.novell.ldapchai.exception.ChaiUnavailableException
{
com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl v;
boolean v, v;
v := @this: com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl;
v = virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: boolean readBooleanAttribute(java.lang.String)>("loginDisabled");
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public java.time.Instant readPasswordModificationDate() throws com.novell.ldapchai.exception.ChaiOperationException, com.novell.ldapchai.exception.ChaiUnavailableException
{
com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl v;
java.time.Instant v;
v := @this: com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl;
v = virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: java.time.Instant readDateAttribute(java.lang.String)>("pwdChangedTime");
return v;
}
public java.time.Instant readAccountExpirationDate() throws com.novell.ldapchai.exception.ChaiUnavailableException, com.novell.ldapchai.exception.ChaiOperationException
{
com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl v;
java.time.Instant v;
v := @this: com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl;
v = virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: java.time.Instant readDateAttribute(java.lang.String)>("loginExpirationTime");
return v;
}
public boolean hasChildren() throws com.novell.ldapchai.exception.ChaiOperationException, com.novell.ldapchai.exception.ChaiUnavailableException
{
com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl v;
int v;
boolean v;
v := @this: com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl;
v = virtualinvoke v.<com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: int readIntAttribute(java.lang.String)>("subordinateCount");
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return 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/entry/InetOrgPersonImpl;");
<com.novell.ldapchai.impl.edir.entry.InetOrgPersonImpl: com.novell.ldapchai.util.internal.ChaiLogger LOGGER> = v;
return;
}
}