public class org.apache.http.impl.auth.NegotiateScheme extends org.apache.http.impl.auth.GGSSchemeBase
{
private final org.apache.commons.logging.Log log;
private static final java.lang.String SPNEGO_OID;
private static final java.lang.String KERBEROS_OID;
private final org.apache.http.impl.auth.SpnegoTokenGenerator spengoGenerator;
public void <init>(org.apache.http.impl.auth.SpnegoTokenGenerator, boolean)
{
java.lang.Class v;
org.apache.commons.logging.Log v;
org.apache.http.impl.auth.SpnegoTokenGenerator v;
org.apache.http.impl.auth.NegotiateScheme v;
boolean v;
v := @this: org.apache.http.impl.auth.NegotiateScheme;
v := @parameter: org.apache.http.impl.auth.SpnegoTokenGenerator;
v := @parameter: boolean;
specialinvoke v.<org.apache.http.impl.auth.GGSSchemeBase: void <init>(boolean)>(v);
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.apache.commons.logging.LogFactory: org.apache.commons.logging.Log getLog(java.lang.Class)>(v);
v.<org.apache.http.impl.auth.NegotiateScheme: org.apache.commons.logging.Log log> = v;
v.<org.apache.http.impl.auth.NegotiateScheme: org.apache.http.impl.auth.SpnegoTokenGenerator spengoGenerator> = v;
return;
}
public void <init>(org.apache.http.impl.auth.SpnegoTokenGenerator)
{
org.apache.http.impl.auth.SpnegoTokenGenerator v;
org.apache.http.impl.auth.NegotiateScheme v;
v := @this: org.apache.http.impl.auth.NegotiateScheme;
v := @parameter: org.apache.http.impl.auth.SpnegoTokenGenerator;
specialinvoke v.<org.apache.http.impl.auth.NegotiateScheme: void <init>(org.apache.http.impl.auth.SpnegoTokenGenerator,boolean)>(v, 0);
return;
}
public void <init>()
{
org.apache.http.impl.auth.NegotiateScheme v;
v := @this: org.apache.http.impl.auth.NegotiateScheme;
specialinvoke v.<org.apache.http.impl.auth.NegotiateScheme: void <init>(org.apache.http.impl.auth.SpnegoTokenGenerator,boolean)>(null, 0);
return;
}
public java.lang.String getSchemeName()
{
org.apache.http.impl.auth.NegotiateScheme v;
v := @this: org.apache.http.impl.auth.NegotiateScheme;
return "Negotiate";
}
public org.apache.http.Header authenticate(org.apache.http.auth.Credentials, org.apache.http.HttpRequest) throws org.apache.http.auth.AuthenticationException
{
org.apache.http.auth.Credentials v;
org.apache.http.Header v;
org.apache.http.HttpRequest v;
org.apache.http.impl.auth.NegotiateScheme v;
v := @this: org.apache.http.impl.auth.NegotiateScheme;
v := @parameter: org.apache.http.auth.Credentials;
v := @parameter: org.apache.http.HttpRequest;
v = virtualinvoke v.<org.apache.http.impl.auth.NegotiateScheme: org.apache.http.Header authenticate(org.apache.http.auth.Credentials,org.apache.http.HttpRequest,org.apache.http.protocol.HttpContext)>(v, v, null);
return v;
}
public org.apache.http.Header authenticate(org.apache.http.auth.Credentials, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.auth.AuthenticationException
{
org.apache.http.auth.Credentials v;
org.apache.http.protocol.HttpContext v;
org.apache.http.Header v;
org.apache.http.HttpRequest v;
org.apache.http.impl.auth.NegotiateScheme v;
v := @this: org.apache.http.impl.auth.NegotiateScheme;
v := @parameter: org.apache.http.auth.Credentials;
v := @parameter: org.apache.http.HttpRequest;
v := @parameter: org.apache.http.protocol.HttpContext;
v = specialinvoke v.<org.apache.http.impl.auth.GGSSchemeBase: org.apache.http.Header authenticate(org.apache.http.auth.Credentials,org.apache.http.HttpRequest,org.apache.http.protocol.HttpContext)>(v, v, v);
return v;
}
protected byte[] generateToken(byte[], java.lang.String) throws org.ietf.jgss.GSSException
{
byte[] v, v;
java.lang.String v;
org.apache.http.impl.auth.NegotiateScheme v;
v := @this: org.apache.http.impl.auth.NegotiateScheme;
v := @parameter: byte[];
v := @parameter: java.lang.String;
v = specialinvoke v.<org.apache.http.impl.auth.GGSSchemeBase: byte[] generateToken(byte[],java.lang.String)>(v, v);
return v;
}
protected byte[] generateToken(byte[], java.lang.String, org.apache.http.auth.Credentials) throws org.ietf.jgss.GSSException
{
byte[] v, v;
org.apache.http.auth.Credentials v;
int v;
org.apache.http.impl.auth.SpnegoTokenGenerator v, v;
java.lang.String v, v;
org.apache.http.impl.auth.NegotiateScheme v;
boolean v;
org.ietf.jgss.Oid v, v;
java.io.IOException v;
org.ietf.jgss.GSSException v;
org.apache.commons.logging.Log v, v, v;
v := @this: org.apache.http.impl.auth.NegotiateScheme;
v := @parameter: byte[];
v := @parameter: java.lang.String;
v := @parameter: org.apache.http.auth.Credentials;
v = new org.ietf.jgss.Oid;
specialinvoke v.<org.ietf.jgss.Oid: void <init>(java.lang.String)>("1.3.6.1.5.5.2");
v = v;
v = 0;
label:
v = virtualinvoke v.<org.apache.http.impl.auth.NegotiateScheme: byte[] generateGSSToken(byte[],org.ietf.jgss.Oid,java.lang.String,org.apache.http.auth.Credentials)>(v, v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.ietf.jgss.GSSException: int getMajor()>();
if v != 2 goto label;
v = v.<org.apache.http.impl.auth.NegotiateScheme: org.apache.commons.logging.Log log>;
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>("GSSException BAD_MECH, retry with Kerberos MECH");
v = 1;
goto label;
label:
throw v;
label:
if v == 0 goto label;
v = v.<org.apache.http.impl.auth.NegotiateScheme: org.apache.commons.logging.Log log>;
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>("Using Kerberos MECH 1.2.840.113554.1.2.2");
v = new org.ietf.jgss.Oid;
specialinvoke v.<org.ietf.jgss.Oid: void <init>(java.lang.String)>("1.2.840.113554.1.2.2");
v = virtualinvoke v.<org.apache.http.impl.auth.NegotiateScheme: byte[] generateGSSToken(byte[],org.ietf.jgss.Oid,java.lang.String,org.apache.http.auth.Credentials)>(v, v, v, v);
if v == null goto label;
v = v.<org.apache.http.impl.auth.NegotiateScheme: org.apache.http.impl.auth.SpnegoTokenGenerator spengoGenerator>;
if v == null goto label;
label:
v = v.<org.apache.http.impl.auth.NegotiateScheme: org.apache.http.impl.auth.SpnegoTokenGenerator spengoGenerator>;
v = interfaceinvoke v.<org.apache.http.impl.auth.SpnegoTokenGenerator: byte[] generateSpnegoDERObject(byte[])>(v);
label:
goto label;
label:
v := @caughtexception;
v = v.<org.apache.http.impl.auth.NegotiateScheme: org.apache.commons.logging.Log log>;
v = virtualinvoke v.<java.io.IOException: java.lang.String getMessage()>();
interfaceinvoke v.<org.apache.commons.logging.Log: void error(java.lang.Object,java.lang.Throwable)>(v, v);
label:
return v;
catch org.ietf.jgss.GSSException from label to label with label;
catch java.io.IOException from label to label with label;
}
public java.lang.String getParameter(java.lang.String)
{
java.lang.String v;
org.apache.http.impl.auth.NegotiateScheme v;
v := @this: org.apache.http.impl.auth.NegotiateScheme;
v := @parameter: java.lang.String;
staticinvoke <org.apache.http.util.Args: java.lang.Object notNull(java.lang.Object,java.lang.String)>(v, "Parameter name");
return null;
}
public java.lang.String getRealm()
{
org.apache.http.impl.auth.NegotiateScheme v;
v := @this: org.apache.http.impl.auth.NegotiateScheme;
return null;
}
public boolean isConnectionBased()
{
org.apache.http.impl.auth.NegotiateScheme v;
v := @this: org.apache.http.impl.auth.NegotiateScheme;
return 1;
}
}