public class org.apache.http.impl.auth.NTLMScheme extends org.apache.http.impl.auth.AuthSchemeBase
{
private final org.apache.http.impl.auth.NTLMEngine engine;
private org.apache.http.impl.auth.NTLMScheme$State state;
private java.lang.String challenge;
public void <init>(org.apache.http.impl.auth.NTLMEngine)
{
org.apache.http.impl.auth.NTLMEngine v;
org.apache.http.impl.auth.NTLMScheme$State v;
org.apache.http.impl.auth.NTLMScheme v;
v := @this: org.apache.http.impl.auth.NTLMScheme;
v := @parameter: org.apache.http.impl.auth.NTLMEngine;
specialinvoke v.<org.apache.http.impl.auth.AuthSchemeBase: void <init>()>();
staticinvoke <org.apache.http.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "NTLM engine");
v.<org.apache.http.impl.auth.NTLMScheme: org.apache.http.impl.auth.NTLMEngine engine> = v;
v = <org.apache.http.impl.auth.NTLMScheme$State: org.apache.http.impl.auth.NTLMScheme$State UNINITIATED>;
v.<org.apache.http.impl.auth.NTLMScheme: org.apache.http.impl.auth.NTLMScheme$State state> = v;
v.<org.apache.http.impl.auth.NTLMScheme: java.lang.String challenge> = null;
return;
}
public void <init>()
{
org.apache.http.impl.auth.NTLMEngineImpl v;
org.apache.http.impl.auth.NTLMScheme v;
v := @this: org.apache.http.impl.auth.NTLMScheme;
v = new org.apache.http.impl.auth.NTLMEngineImpl;
specialinvoke v.<org.apache.http.impl.auth.NTLMEngineImpl: void <init>()>();
specialinvoke v.<org.apache.http.impl.auth.NTLMScheme: void <init>(org.apache.http.impl.auth.NTLMEngine)>(v);
return;
}
public java.lang.String getSchemeName()
{
org.apache.http.impl.auth.NTLMScheme v;
v := @this: org.apache.http.impl.auth.NTLMScheme;
return "ntlm";
}
public java.lang.String getParameter(java.lang.String)
{
java.lang.String v;
org.apache.http.impl.auth.NTLMScheme v;
v := @this: org.apache.http.impl.auth.NTLMScheme;
v := @parameter: java.lang.String;
return null;
}
public java.lang.String getRealm()
{
org.apache.http.impl.auth.NTLMScheme v;
v := @this: org.apache.http.impl.auth.NTLMScheme;
return null;
}
public boolean isConnectionBased()
{
org.apache.http.impl.auth.NTLMScheme v;
v := @this: org.apache.http.impl.auth.NTLMScheme;
return 1;
}
protected void parseChallenge(org.apache.http.util.CharArrayBuffer, int, int) throws org.apache.http.auth.MalformedChallengeException
{
org.apache.http.impl.auth.NTLMScheme$State v, v, v, v, v, v, v, v, v, v;
int v, v, v;
java.lang.String v, v;
org.apache.http.auth.MalformedChallengeException v;
boolean v;
org.apache.http.util.CharArrayBuffer v;
org.apache.http.impl.auth.NTLMScheme v;
v := @this: org.apache.http.impl.auth.NTLMScheme;
v := @parameter: org.apache.http.util.CharArrayBuffer;
v := @parameter: int;
v := @parameter: int;
v = virtualinvoke v.<org.apache.http.util.CharArrayBuffer: java.lang.String substringTrimmed(int,int)>(v, v);
v.<org.apache.http.impl.auth.NTLMScheme: java.lang.String challenge> = v;
v = v.<org.apache.http.impl.auth.NTLMScheme: java.lang.String challenge>;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v == 0 goto label;
v = v.<org.apache.http.impl.auth.NTLMScheme: org.apache.http.impl.auth.NTLMScheme$State state>;
v = <org.apache.http.impl.auth.NTLMScheme$State: org.apache.http.impl.auth.NTLMScheme$State UNINITIATED>;
if v != v goto label;
v = <org.apache.http.impl.auth.NTLMScheme$State: org.apache.http.impl.auth.NTLMScheme$State CHALLENGE_RECEIVED>;
v.<org.apache.http.impl.auth.NTLMScheme: org.apache.http.impl.auth.NTLMScheme$State state> = v;
goto label;
label:
v = <org.apache.http.impl.auth.NTLMScheme$State: org.apache.http.impl.auth.NTLMScheme$State FAILED>;
v.<org.apache.http.impl.auth.NTLMScheme: org.apache.http.impl.auth.NTLMScheme$State state> = v;
goto label;
label:
v = v.<org.apache.http.impl.auth.NTLMScheme: org.apache.http.impl.auth.NTLMScheme$State state>;
v = <org.apache.http.impl.auth.NTLMScheme$State: org.apache.http.impl.auth.NTLMScheme$State MSG_TYPE1_GENERATED>;
v = virtualinvoke v.<org.apache.http.impl.auth.NTLMScheme$State: int compareTo(java.lang.Enum)>(v);
if v >= 0 goto label;
v = <org.apache.http.impl.auth.NTLMScheme$State: org.apache.http.impl.auth.NTLMScheme$State FAILED>;
v.<org.apache.http.impl.auth.NTLMScheme: org.apache.http.impl.auth.NTLMScheme$State state> = v;
v = new org.apache.http.auth.MalformedChallengeException;
specialinvoke v.<org.apache.http.auth.MalformedChallengeException: void <init>(java.lang.String)>("Out of sequence NTLM response message");
throw v;
label:
v = v.<org.apache.http.impl.auth.NTLMScheme: org.apache.http.impl.auth.NTLMScheme$State state>;
v = <org.apache.http.impl.auth.NTLMScheme$State: org.apache.http.impl.auth.NTLMScheme$State MSG_TYPE1_GENERATED>;
if v != v goto label;
v = <org.apache.http.impl.auth.NTLMScheme$State: org.apache.http.impl.auth.NTLMScheme$State MSG_TYPE2_RECEVIED>;
v.<org.apache.http.impl.auth.NTLMScheme: org.apache.http.impl.auth.NTLMScheme$State state> = v;
label:
return;
}
public org.apache.http.Header authenticate(org.apache.http.auth.Credentials, org.apache.http.HttpRequest) throws org.apache.http.auth.AuthenticationException
{
org.apache.http.impl.auth.NTLMScheme$State v, v, v, v, v, v, v, v, v;
org.apache.http.auth.Credentials v;
java.lang.String v, v, v, v, v, v, v, v, v;
boolean v;
org.apache.http.impl.auth.NTLMEngine v, v;
org.apache.http.message.BufferedHeader v;
org.apache.http.HttpRequest v;
org.apache.http.util.CharArrayBuffer v;
org.apache.http.impl.auth.NTLMScheme v;
org.apache.http.auth.AuthenticationException v, v;
v := @this: org.apache.http.impl.auth.NTLMScheme;
v := @parameter: org.apache.http.auth.Credentials;
v := @parameter: org.apache.http.HttpRequest;
v = v.<org.apache.http.impl.auth.NTLMScheme: org.apache.http.impl.auth.NTLMScheme$State state>;
v = <org.apache.http.impl.auth.NTLMScheme$State: org.apache.http.impl.auth.NTLMScheme$State FAILED>;
if v != v goto label;
v = new org.apache.http.auth.AuthenticationException;
specialinvoke v.<org.apache.http.auth.AuthenticationException: void <init>(java.lang.String)>("NTLM authentication failed");
throw v;
label:
v = v.<org.apache.http.impl.auth.NTLMScheme: org.apache.http.impl.auth.NTLMScheme$State state>;
v = <org.apache.http.impl.auth.NTLMScheme$State: org.apache.http.impl.auth.NTLMScheme$State CHALLENGE_RECEIVED>;
if v != v goto label;
v = v.<org.apache.http.impl.auth.NTLMScheme: org.apache.http.impl.auth.NTLMEngine engine>;
v = virtualinvoke v.<org.apache.http.auth.NTCredentials: java.lang.String getDomain()>();
v = virtualinvoke v.<org.apache.http.auth.NTCredentials: java.lang.String getWorkstation()>();
v = interfaceinvoke v.<org.apache.http.impl.auth.NTLMEngine: java.lang.String generateType1Msg(java.lang.String,java.lang.String)>(v, v);
v = <org.apache.http.impl.auth.NTLMScheme$State: org.apache.http.impl.auth.NTLMScheme$State MSG_TYPE1_GENERATED>;
v.<org.apache.http.impl.auth.NTLMScheme: org.apache.http.impl.auth.NTLMScheme$State state> = v;
goto label;
label:
v = v.<org.apache.http.impl.auth.NTLMScheme: org.apache.http.impl.auth.NTLMScheme$State state>;
v = <org.apache.http.impl.auth.NTLMScheme$State: org.apache.http.impl.auth.NTLMScheme$State MSG_TYPE2_RECEVIED>;
if v != v goto label;
v = v.<org.apache.http.impl.auth.NTLMScheme: org.apache.http.impl.auth.NTLMEngine engine>;
v = virtualinvoke v.<org.apache.http.auth.NTCredentials: java.lang.String getUserName()>();
v = virtualinvoke v.<org.apache.http.auth.NTCredentials: java.lang.String getPassword()>();
v = virtualinvoke v.<org.apache.http.auth.NTCredentials: java.lang.String getDomain()>();
v = virtualinvoke v.<org.apache.http.auth.NTCredentials: java.lang.String getWorkstation()>();
v = v.<org.apache.http.impl.auth.NTLMScheme: java.lang.String challenge>;
v = interfaceinvoke v.<org.apache.http.impl.auth.NTLMEngine: java.lang.String generateType3Msg(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)>(v, v, v, v, v);
v = <org.apache.http.impl.auth.NTLMScheme$State: org.apache.http.impl.auth.NTLMScheme$State MSG_TYPE3_GENERATED>;
v.<org.apache.http.impl.auth.NTLMScheme: org.apache.http.impl.auth.NTLMScheme$State state> = v;
goto label;
label:
v = new org.apache.http.auth.AuthenticationException;
v = v.<org.apache.http.impl.auth.NTLMScheme: org.apache.http.impl.auth.NTLMScheme$State state>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.http.impl.auth.NTLMScheme$State)>(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 state: \u0001");
specialinvoke v.<org.apache.http.auth.AuthenticationException: void <init>(java.lang.String)>(v);
throw v;
label:
v = new org.apache.http.util.CharArrayBuffer;
specialinvoke v.<org.apache.http.util.CharArrayBuffer: void <init>(int)>(32);
v = virtualinvoke v.<org.apache.http.impl.auth.NTLMScheme: boolean isProxy()>();
if v == 0 goto label;
virtualinvoke v.<org.apache.http.util.CharArrayBuffer: void append(java.lang.String)>("Proxy-Authorization");
goto label;
label:
virtualinvoke v.<org.apache.http.util.CharArrayBuffer: void append(java.lang.String)>("Authorization");
label:
virtualinvoke v.<org.apache.http.util.CharArrayBuffer: void append(java.lang.String)>(": NTLM ");
virtualinvoke v.<org.apache.http.util.CharArrayBuffer: void append(java.lang.String)>(v);
v = new org.apache.http.message.BufferedHeader;
specialinvoke v.<org.apache.http.message.BufferedHeader: void <init>(org.apache.http.util.CharArrayBuffer)>(v);
return v;
}
public boolean isComplete()
{
org.apache.http.impl.auth.NTLMScheme$State v, v, v, v;
org.apache.http.impl.auth.NTLMScheme v;
boolean v;
v := @this: org.apache.http.impl.auth.NTLMScheme;
v = v.<org.apache.http.impl.auth.NTLMScheme: org.apache.http.impl.auth.NTLMScheme$State state>;
v = <org.apache.http.impl.auth.NTLMScheme$State: org.apache.http.impl.auth.NTLMScheme$State MSG_TYPE3_GENERATED>;
if v == v goto label;
v = v.<org.apache.http.impl.auth.NTLMScheme: org.apache.http.impl.auth.NTLMScheme$State state>;
v = <org.apache.http.impl.auth.NTLMScheme$State: org.apache.http.impl.auth.NTLMScheme$State FAILED>;
if v != v goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
}