1470 lines
76 KiB
C#
1470 lines
76 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.IO;
|
|
using System.Runtime.Remoting;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Prng;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Security;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
|
{
|
|
// Token: 0x02001C64 RID: 7268
|
|
[Token(Token = "0x2001C64")]
|
|
public abstract class TlsProtocol
|
|
{
|
|
// Token: 0x0600B314 RID: 45844 RVA: 0x0026A9DC File Offset: 0x00268BDC
|
|
[Token(Token = "0x600B314")]
|
|
[Address(RVA = "0x49F860", Offset = "0x49E860", VA = "0x18049F860")]
|
|
public TlsProtocol(Stream stream, SecureRandom secureRandom)
|
|
{
|
|
}
|
|
|
|
// Token: 0x0600B315 RID: 45845 RVA: 0x0026A9EC File Offset: 0x00268BEC
|
|
[Token(Token = "0x600B315")]
|
|
[Address(RVA = "0x4AE640", Offset = "0x4AD640", VA = "0x1804AE640")]
|
|
public TlsProtocol(Stream input, Stream output, SecureRandom secureRandom)
|
|
{
|
|
int num;
|
|
ByteQueue byteQueue = new ByteQueue(num);
|
|
num = 0;
|
|
this.mApplicationDataQueue = byteQueue;
|
|
ByteQueue byteQueue2 = new ByteQueue(2);
|
|
this.mAlertQueue = byteQueue2;
|
|
int num2;
|
|
ByteQueue byteQueue3 = new ByteQueue(num2);
|
|
num2 = 0;
|
|
this.mHandshakeQueue = byteQueue3;
|
|
this.mAppDataSplitEnabled = true;
|
|
this.mBlocking = true;
|
|
this.HandleChangeCipherSpecMessage();
|
|
RecordStream recordStream = new RecordStream(this, input, output);
|
|
this.mRecordStream = recordStream;
|
|
this.mSecureRandom = secureRandom;
|
|
}
|
|
|
|
// Token: 0x0600B316 RID: 45846 RVA: 0x0026AA58 File Offset: 0x00268C58
|
|
[Token(Token = "0x600B316")]
|
|
[Address(RVA = "0x49F6F0", Offset = "0x49E6F0", VA = "0x18049F6F0")]
|
|
public TlsProtocol(SecureRandom secureRandom)
|
|
{
|
|
int num;
|
|
ByteQueue byteQueue = new ByteQueue(num);
|
|
num = 0;
|
|
this.mApplicationDataQueue = byteQueue;
|
|
ByteQueue byteQueue2 = new ByteQueue(2);
|
|
this.mAlertQueue = byteQueue2;
|
|
int num2;
|
|
ByteQueue byteQueue3 = new ByteQueue(num2);
|
|
num2 = 0;
|
|
this.mHandshakeQueue = byteQueue3;
|
|
this.HandleChangeCipherSpecMessage();
|
|
ByteQueueStream byteQueueStream = new ByteQueueStream();
|
|
this.mInputBuffers = byteQueueStream;
|
|
ByteQueueStream byteQueueStream2 = new ByteQueueStream();
|
|
ByteQueueStream byteQueueStream3 = this.mInputBuffers;
|
|
this.mOutputBuffer = byteQueueStream2;
|
|
RecordStream recordStream = new RecordStream(this, byteQueueStream3, byteQueueStream2);
|
|
this.mRecordStream = recordStream;
|
|
this.mSecureRandom = secureRandom;
|
|
}
|
|
|
|
// Token: 0x17001C56 RID: 7254
|
|
// (get) Token: 0x0600B317 RID: 45847
|
|
[Token(Token = "0x17001C56")]
|
|
protected abstract TlsContext Context
|
|
{
|
|
[Token(Token = "0x600B317")]
|
|
[Address(Slot = "4")]
|
|
get;
|
|
}
|
|
|
|
// Token: 0x17001C57 RID: 7255
|
|
// (get) Token: 0x0600B318 RID: 45848
|
|
[Token(Token = "0x17001C57")]
|
|
internal abstract AbstractTlsContext ContextAdmin
|
|
{
|
|
[Token(Token = "0x600B318")]
|
|
[Address(Slot = "5")]
|
|
get;
|
|
}
|
|
|
|
// Token: 0x17001C58 RID: 7256
|
|
// (get) Token: 0x0600B319 RID: 45849
|
|
[Token(Token = "0x17001C58")]
|
|
protected abstract TlsPeer Peer
|
|
{
|
|
[Token(Token = "0x600B319")]
|
|
[Address(Slot = "6")]
|
|
get;
|
|
}
|
|
|
|
// Token: 0x0600B31A RID: 45850 RVA: 0x0026AADC File Offset: 0x00268CDC
|
|
[Token(Token = "0x600B31A")]
|
|
[Address(RVA = "0x4AB800", Offset = "0x4AA800", VA = "0x1804AB800", Slot = "7")]
|
|
protected virtual void HandleAlertMessage(byte alertLevel, byte alertDescription)
|
|
{
|
|
AbstractTlsContext contextAdmin = this.ContextAdmin;
|
|
int num = 0;
|
|
if (num < (int)alertDescription)
|
|
{
|
|
num += num;
|
|
num++;
|
|
}
|
|
TlsContext context = this.Context;
|
|
}
|
|
|
|
// Token: 0x0600B31B RID: 45851 RVA: 0x0026AB0C File Offset: 0x00268D0C
|
|
[Token(Token = "0x600B31B")]
|
|
[Address(RVA = "0x4AB950", Offset = "0x4AA950", VA = "0x1804AB950", Slot = "8")]
|
|
protected virtual void HandleAlertWarningMessage(byte alertDescription)
|
|
{
|
|
while (!this.mAppDataReady)
|
|
{
|
|
}
|
|
this.HandleChangeCipherSpecMessage();
|
|
}
|
|
|
|
// Token: 0x0600B31C RID: 45852 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x600B31C")]
|
|
[Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0", Slot = "9")]
|
|
protected virtual void HandleChangeCipherSpecMessage()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x0600B31D RID: 45853 RVA: 0x0026AB28 File Offset: 0x00268D28
|
|
[Token(Token = "0x600B31D")]
|
|
[Address(RVA = "0x4AB9E0", Offset = "0x4AA9E0", VA = "0x1804AB9E0", Slot = "10")]
|
|
protected virtual void HandleClose(bool user_canceled)
|
|
{
|
|
if (!this.mClosed)
|
|
{
|
|
this.mClosed = true;
|
|
if (!user_canceled || !this.mAppDataReady)
|
|
{
|
|
}
|
|
this.mRecordStream.SafeClose();
|
|
if (!this.mAppDataReady)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600B31E RID: 45854 RVA: 0x0026AB6C File Offset: 0x00268D6C
|
|
[Token(Token = "0x600B31E")]
|
|
[Address(RVA = "0x4ABAC0", Offset = "0x4AAAC0", VA = "0x1804ABAC0", Slot = "11")]
|
|
protected virtual void HandleException(byte alertDescription, string message, Exception cause)
|
|
{
|
|
if (!this.mClosed)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600B31F RID: 45855 RVA: 0x0026AB84 File Offset: 0x00268D84
|
|
[Token(Token = "0x600B31F")]
|
|
[Address(RVA = "0x4ABB50", Offset = "0x4AAB50", VA = "0x1804ABB50", Slot = "12")]
|
|
protected virtual void HandleFailure()
|
|
{
|
|
this.mClosed = true;
|
|
this.mFailedWithError = true;
|
|
this.mRecordStream.SafeClose();
|
|
if (!this.mAppDataReady)
|
|
{
|
|
TlsContext context = this.Context;
|
|
return;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600B320 RID: 45856
|
|
[Token(Token = "0x600B320")]
|
|
[Address(Slot = "13")]
|
|
protected abstract void HandleHandshakeMessage(byte type, MemoryStream buf);
|
|
|
|
// Token: 0x0600B321 RID: 45857 RVA: 0x0026ABC4 File Offset: 0x00268DC4
|
|
[Token(Token = "0x600B321")]
|
|
[Address(RVA = "0x4AA5F0", Offset = "0x4A95F0", VA = "0x1804AA5F0", Slot = "14")]
|
|
protected virtual void ApplyMaxFragmentLengthExtension()
|
|
{
|
|
short num = this.mSecurityParameters.maxFragmentLength - 1;
|
|
RecordStream recordStream = this.mRecordStream;
|
|
uint num2;
|
|
recordStream.mPlaintextLimit = (int)num2;
|
|
recordStream.mCompressedLimit = (int)num;
|
|
recordStream.mCiphertextLimit = (int)num;
|
|
}
|
|
|
|
// Token: 0x0600B322 RID: 45858 RVA: 0x0026AC0C File Offset: 0x00268E0C
|
|
[Token(Token = "0x600B322")]
|
|
[Address(RVA = "0x4AA7F0", Offset = "0x4A97F0", VA = "0x1804AA7F0", Slot = "15")]
|
|
protected virtual void CheckReceivedChangeCipherSpec(bool expected)
|
|
{
|
|
while (expected != this.mReceivedChangeCipherSpec)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600B323 RID: 45859 RVA: 0x0026AC24 File Offset: 0x00268E24
|
|
[Token(Token = "0x600B323")]
|
|
[Address(RVA = "0x4AA860", Offset = "0x4A9860", VA = "0x1804AA860", Slot = "16")]
|
|
protected virtual void CleanupHandshake()
|
|
{
|
|
byte[] array = this.mExpectedVerifyData;
|
|
int num = 0;
|
|
if (array != 0)
|
|
{
|
|
int num2 = 0;
|
|
Arrays.Fill(array, (byte)num2);
|
|
this.mExpectedVerifyData = num;
|
|
}
|
|
string text = this.mSecurityParameters.ToString();
|
|
this.mPeerCertificate = num;
|
|
this.mOfferedCipherSuites = num;
|
|
this.mOfferedCompressionMethods = num;
|
|
this.mClientExtensions = num;
|
|
this.mServerExtensions = num;
|
|
this.mResumedSession = num != 0;
|
|
this.mExpectSessionTicket = num != 0;
|
|
}
|
|
|
|
// Token: 0x0600B324 RID: 45860 RVA: 0x0026AC94 File Offset: 0x00268E94
|
|
[Token(Token = "0x600B324")]
|
|
[Address(RVA = "0x4AA740", Offset = "0x4A9740", VA = "0x1804AA740", Slot = "17")]
|
|
protected virtual void BlockForHandshake()
|
|
{
|
|
while (this.mBlocking && this.mClosed)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600B325 RID: 45861 RVA: 0x0026ACB4 File Offset: 0x00268EB4
|
|
[Token(Token = "0x600B325")]
|
|
[Address(RVA = "0x4AAA80", Offset = "0x4A9A80", VA = "0x1804AAA80", Slot = "18")]
|
|
protected virtual void CompleteHandshake()
|
|
{
|
|
int num;
|
|
do
|
|
{
|
|
num = 0;
|
|
this.mConnectionState = (short)((uint)16);
|
|
this.mAlertQueue.Shrink();
|
|
this.mHandshakeQueue.Shrink();
|
|
RecordStream recordStream = this.mRecordStream;
|
|
TlsCompression mPendingCompression = recordStream.mPendingCompression;
|
|
if (recordStream.mReadCompression != mPendingCompression || recordStream.mWriteCompression != mPendingCompression)
|
|
{
|
|
goto IL_255;
|
|
}
|
|
TlsCipher mPendingCipher = recordStream.mPendingCipher;
|
|
if (recordStream.mReadCipher != mPendingCipher || recordStream.mWriteCipher != mPendingCipher)
|
|
{
|
|
goto IL_255;
|
|
}
|
|
recordStream.mPendingCompression = num;
|
|
recordStream.mPendingCipher = num;
|
|
string text = this.ToString();
|
|
bool flag2;
|
|
bool flag = !flag2;
|
|
this.mAppDataSplitEnabled = flag;
|
|
bool flag3 = this.mAppDataReady;
|
|
if (!flag3)
|
|
{
|
|
this.mAppDataReady = true;
|
|
if (this.mBlocking != flag3)
|
|
{
|
|
TlsStream tlsStream = new TlsStream(this);
|
|
this.mTlsStream = tlsStream;
|
|
}
|
|
}
|
|
if (this.mTlsSession != (ulong)0L)
|
|
{
|
|
if (this.mSessionParameters == (ulong)0L)
|
|
{
|
|
SessionParameters.Builder builder = new SessionParameters.Builder();
|
|
builder.mCipherSuite = (int)((uint)(-1));
|
|
builder.mCompressionAlgorithm = (short)((uint)(-1));
|
|
int entity = this.mSecurityParameters.Entity;
|
|
builder.mCipherSuite = entity;
|
|
int cipherSuite = this.mSecurityParameters.CipherSuite;
|
|
builder.mCompressionAlgorithm = (short)cipherSuite;
|
|
byte[] srpIdentity = this.mSecurityParameters.SrpIdentity;
|
|
builder.mExtendedMasterSecret = srpIdentity != null;
|
|
int verifyDataLength = this.mSecurityParameters.VerifyDataLength;
|
|
builder.mMasterSecret = verifyDataLength;
|
|
Certificate certificate = this.mPeerCertificate;
|
|
builder.mPeerCertificate = certificate;
|
|
byte[] sessionHash = this.mSecurityParameters.SessionHash;
|
|
builder.mPskIdentity = sessionHash;
|
|
byte[] pskIdentity = this.mSecurityParameters.PskIdentity;
|
|
builder.mSrpIdentity = pskIdentity;
|
|
IDictionary dictionary = this.mServerExtensions;
|
|
if (dictionary != 0)
|
|
{
|
|
TlsProtocol.WriteExtensions(new MemoryStream(), dictionary);
|
|
}
|
|
builder.mEncodedServerExtensions = num;
|
|
int mCipherSuite = builder.mCipherSuite;
|
|
builder.Validate(mCipherSuite != 0, "cipherSuite");
|
|
short mCompressionAlgorithm = builder.mCompressionAlgorithm;
|
|
builder.Validate(mCompressionAlgorithm != 0, "compressionAlgorithm");
|
|
builder.Validate(mCompressionAlgorithm != 0, "masterSecret");
|
|
Certificate certificate2 = builder.mPeerCertificate;
|
|
SessionParameters sessionParameters;
|
|
this.mSessionParameters = sessionParameters;
|
|
TlsSession tlsSession = this.mTlsSession;
|
|
TlsSessionImpl tlsSessionImpl;
|
|
this.mTlsSession = tlsSessionImpl;
|
|
}
|
|
TlsContext context = this.Context;
|
|
}
|
|
AbstractTlsContext contextAdmin = this.ContextAdmin;
|
|
}
|
|
while (num != 0);
|
|
return;
|
|
IL_255:
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600B326 RID: 45862 RVA: 0x0026AF28 File Offset: 0x00269128
|
|
[Token(Token = "0x600B326")]
|
|
[Address(RVA = "0x4AC5C0", Offset = "0x4AB5C0", VA = "0x1804AC5C0")]
|
|
protected internal void ProcessRecord(byte protocol, byte[] buf, int off, int len)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600B326)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsProtocol::ProcessRecord(System.Byte,System.Byte[],System.Int32,System.Int32)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_C8:
|
|
stloc:TlsFatalAlert(var_23_CF, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_24)))
|
|
stloc:TlsFatalAlert(var_25_D8, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_26)))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x0600B327 RID: 45863 RVA: 0x0026B010 File Offset: 0x00269210
|
|
[Token(Token = "0x600B327")]
|
|
[Address(RVA = "0x4AC2E0", Offset = "0x4AB2E0", VA = "0x1804AC2E0")]
|
|
private void ProcessHandshakeQueue(ByteQueue queue)
|
|
{
|
|
int num = 0;
|
|
byte[] array = new byte[4];
|
|
int num2 = 0;
|
|
queue.Read(array, num2, 4, num);
|
|
int num3 = 0;
|
|
byte b = TlsUtilities.ReadUint8(array, num3);
|
|
int num4 = TlsUtilities.ReadUint24(array, 1);
|
|
this.ApplyMaxFragmentLengthExtension();
|
|
this.ApplyMaxFragmentLengthExtension();
|
|
string text = this.ToString();
|
|
if (this.mExpectedVerifyData == num)
|
|
{
|
|
sbyte b2;
|
|
this.mExpectedVerifyData = b2;
|
|
}
|
|
RecordStream recordStream = this.mRecordStream;
|
|
queue.RemoveData(4);
|
|
MemoryStream memoryStream = queue.ReadFrom(num4);
|
|
this.HandleFailure();
|
|
}
|
|
|
|
// Token: 0x0600B328 RID: 45864 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x600B328")]
|
|
[Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0")]
|
|
private void ProcessApplicationDataQueue()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x0600B329 RID: 45865 RVA: 0x0026B090 File Offset: 0x00269290
|
|
[Token(Token = "0x600B329")]
|
|
[Address(RVA = "0x4ABFB0", Offset = "0x4AAFB0", VA = "0x1804ABFB0")]
|
|
private void ProcessAlertQueue()
|
|
{
|
|
ByteQueue byteQueue = this.mAlertQueue;
|
|
int num = 0;
|
|
int length = byteQueue.RemoveData(2, num).Length;
|
|
TlsPeer peer = this.Peer;
|
|
ByteQueue byteQueue2 = this.mAlertQueue;
|
|
}
|
|
|
|
// Token: 0x0600B32A RID: 45866 RVA: 0x0026B0CC File Offset: 0x002692CC
|
|
[Token(Token = "0x600B32A")]
|
|
[Address(RVA = "0x4AC050", Offset = "0x4AB050", VA = "0x1804AC050")]
|
|
private void ProcessChangeCipherSpec(byte[] buf, int off, int len)
|
|
{
|
|
int num;
|
|
do
|
|
{
|
|
num = 0;
|
|
if (len <= 0)
|
|
{
|
|
return;
|
|
}
|
|
byte b = TlsUtilities.ReadUint8(buf, 0);
|
|
}
|
|
while (this.mReceivedChangeCipherSpec);
|
|
ByteQueue byteQueue = this.mAlertQueue;
|
|
ByteQueue byteQueue2 = this.mHandshakeQueue;
|
|
this.mRecordStream.ReceivedReadCipherSpec();
|
|
this.mReceivedChangeCipherSpec = true;
|
|
num++;
|
|
}
|
|
|
|
// Token: 0x0600B32B RID: 45867 RVA: 0x0026B114 File Offset: 0x00269314
|
|
[Token(Token = "0x600B32B")]
|
|
[Address(RVA = "0x4AA5D0", Offset = "0x4A95D0", VA = "0x1804AA5D0", Slot = "19")]
|
|
protected internal virtual int ApplicationDataAvailable()
|
|
{
|
|
return this.mApplicationDataQueue.available;
|
|
}
|
|
|
|
// Token: 0x0600B32C RID: 45868 RVA: 0x0026B134 File Offset: 0x00269334
|
|
[Token(Token = "0x600B32C")]
|
|
[Address(RVA = "0x4ACBC0", Offset = "0x4ABBC0", VA = "0x1804ACBC0", Slot = "20")]
|
|
protected internal virtual int ReadApplicationData(byte[] buf, int offset, int len)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600B32C)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsProtocol::ReadApplicationData(System.Byte[],System.Int32,System.Int32)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_3A:
|
|
stloc:IOException(var_3_44, newobj:IOException(IOException::.ctor, ldstr:string("Cannot read application data on failed TLS connection")))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x0600B32D RID: 45869 RVA: 0x0026B188 File Offset: 0x00269388
|
|
[Token(Token = "0x600B32D")]
|
|
[Address(RVA = "0x4AD3B0", Offset = "0x4AC3B0", VA = "0x1804AD3B0", Slot = "21")]
|
|
protected virtual void SafeCheckRecordHeader(byte[] recordHeader)
|
|
{
|
|
this.mRecordStream.CheckRecordHeader(recordHeader);
|
|
}
|
|
|
|
// Token: 0x0600B32E RID: 45870 RVA: 0x0026B1B0 File Offset: 0x002693B0
|
|
[Token(Token = "0x600B32E")]
|
|
[Address(RVA = "0x4AD4F0", Offset = "0x4AC4F0", VA = "0x1804AD4F0", Slot = "22")]
|
|
protected virtual void SafeReadRecord()
|
|
{
|
|
if (this.mRecordStream.ReadRecord() || this.mAppDataReady)
|
|
{
|
|
return;
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600B32F RID: 45871 RVA: 0x0026B1E0 File Offset: 0x002693E0
|
|
[Token(Token = "0x600B32F")]
|
|
[Address(RVA = "0x4AD6B0", Offset = "0x4AC6B0", VA = "0x1804AD6B0", Slot = "23")]
|
|
protected virtual void SafeWriteRecord(byte type, byte[] buf, int offset, int len)
|
|
{
|
|
RecordStream recordStream = this.mRecordStream;
|
|
}
|
|
|
|
// Token: 0x0600B330 RID: 45872 RVA: 0x0026B200 File Offset: 0x00269400
|
|
[Token(Token = "0x600B330")]
|
|
[Address(RVA = "0x4ADD20", Offset = "0x4ACD20", VA = "0x1804ADD20", Slot = "24")]
|
|
protected internal virtual void WriteData(byte[] buf, int offset, int len)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600B330)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsProtocol::WriteData(System.Byte[],System.Int32,System.Int32)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_57:
|
|
stloc:IOException(var_4_61, newobj:IOException(IOException::.ctor, ldstr:string("Cannot write application data on closed/failed TLS connection")))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x0600B331 RID: 45873 RVA: 0x0026B270 File Offset: 0x00269470
|
|
[Token(Token = "0x600B331")]
|
|
[Address(RVA = "0x4ADC80", Offset = "0x4ACC80", VA = "0x1804ADC80", Slot = "25")]
|
|
protected virtual void SetAppDataSplitMode(int appDataSplitMode)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600B331)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsProtocol::SetAppDataSplitMode(System.Int32)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_0C:
|
|
stloc:ArgumentException(var_0_21, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string[exp:object]("Illegal appDataSplitMode mode: "), ldloc:int32[exp:object](appDataSplitMode)), ldstr:string("appDataSplitMode")))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x0600B332 RID: 45874 RVA: 0x0026B2A0 File Offset: 0x002694A0
|
|
[Token(Token = "0x600B332")]
|
|
[Address(RVA = "0x4ADFC0", Offset = "0x4ACFC0", VA = "0x1804ADFC0", Slot = "26")]
|
|
protected virtual void WriteHandshakeMessage(byte[] buf, int off, int len)
|
|
{
|
|
byte b = TlsUtilities.ReadUint8(buf, off);
|
|
int num = this.mRecordStream.mHandshakeHashUpdater.ReadByte();
|
|
int num2 = 0;
|
|
int num3 = this.mRecordStream.mPlaintextLimit;
|
|
num3 = Math.Min(len, off);
|
|
this.SafeReadRecord();
|
|
num2 += num3;
|
|
}
|
|
|
|
// Token: 0x17001C59 RID: 7257
|
|
// (get) Token: 0x0600B333 RID: 45875 RVA: 0x0026B2F0 File Offset: 0x002694F0
|
|
[Token(Token = "0x17001C59")]
|
|
public virtual Stream Stream
|
|
{
|
|
[Token(Token = "0x600B333")]
|
|
[Address(RVA = "0x4AE770", Offset = "0x4AD770", VA = "0x1804AE770", Slot = "27")]
|
|
get
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600B333)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.IO.Stream BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsProtocol::get_Stream()
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_10:
|
|
stloc:InvalidOperationException(var_1_1A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Cannot use Stream in non-blocking mode! Use OfferInput()/OfferOutput() instead.")))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600B334 RID: 45876 RVA: 0x0026B318 File Offset: 0x00269518
|
|
[Token(Token = "0x600B334")]
|
|
[Address(RVA = "0x4AA920", Offset = "0x4A9920", VA = "0x1804AA920", Slot = "28")]
|
|
public virtual void CloseInput()
|
|
{
|
|
for (;;)
|
|
{
|
|
if (!this.mBlocking)
|
|
{
|
|
if (this.mClosed)
|
|
{
|
|
break;
|
|
}
|
|
ByteQueueStream byteQueueStream = this.mInputBuffers;
|
|
if (this.mAppDataReady)
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600B335 RID: 45877 RVA: 0x0026B350 File Offset: 0x00269550
|
|
[Token(Token = "0x600B335")]
|
|
[Address(RVA = "0x4ABC90", Offset = "0x4AAC90", VA = "0x1804ABC90", Slot = "29")]
|
|
public virtual void OfferInput(byte[] input)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600B335)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsProtocol::OfferInput(System.Byte[])
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_46:
|
|
stloc:InvalidOperationException(var_7_50, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Cannot use OfferInput() in blocking mode! Use Stream instead.")))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x0600B336 RID: 45878 RVA: 0x0026B3B0 File Offset: 0x002695B0
|
|
[Token(Token = "0x600B336")]
|
|
[Address(RVA = "0x4AB390", Offset = "0x4AA390", VA = "0x1804AB390", Slot = "30")]
|
|
public virtual int GetAvailableInputBytes()
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600B336)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsProtocol::GetAvailableInputBytes()
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_10:
|
|
stloc:InvalidOperationException(var_1_1A, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Cannot use GetAvailableInputBytes() in blocking mode! Use ApplicationDataAvailable() instead.")))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x0600B337 RID: 45879 RVA: 0x0026B3D8 File Offset: 0x002695D8
|
|
[Token(Token = "0x600B337")]
|
|
[Address(RVA = "0x4ACFA0", Offset = "0x4ABFA0", VA = "0x1804ACFA0", Slot = "31")]
|
|
public virtual int ReadInput(byte[] buffer, int offset, int length)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600B337)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsProtocol::ReadInput(System.Byte[],System.Int32,System.Int32)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_16:
|
|
stloc:InvalidOperationException(var_2_20, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Cannot use ReadInput() in blocking mode! Use Stream instead.")))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x0600B338 RID: 45880 RVA: 0x0026B408 File Offset: 0x00269608
|
|
[Token(Token = "0x600B338")]
|
|
[Address(RVA = "0x4ABEB0", Offset = "0x4AAEB0", VA = "0x1804ABEB0", Slot = "32")]
|
|
public virtual void OfferOutput(byte[] buffer, int offset, int length)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600B338)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsProtocol::OfferOutput(System.Byte[],System.Int32,System.Int32)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_25:
|
|
stloc:IOException(var_2_2F, newobj:IOException(IOException::.ctor, ldstr:string("Application data cannot be sent until the handshake is complete!")))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x0600B339 RID: 45881 RVA: 0x0026B444 File Offset: 0x00269644
|
|
[Token(Token = "0x600B339")]
|
|
[Address(RVA = "0x4AB410", Offset = "0x4AA410", VA = "0x1804AB410", Slot = "33")]
|
|
public virtual int GetAvailableOutputBytes()
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600B339)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsProtocol::GetAvailableOutputBytes()
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_14:
|
|
stloc:InvalidOperationException(var_0_1E, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Cannot use GetAvailableOutputBytes() in blocking mode! Use Stream instead.")))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x0600B33A RID: 45882 RVA: 0x0026B470 File Offset: 0x00269670
|
|
[Token(Token = "0x600B33A")]
|
|
[Address(RVA = "0x4AD0A0", Offset = "0x4AC0A0", VA = "0x1804AD0A0", Slot = "34")]
|
|
public virtual int ReadOutput(byte[] buffer, int offset, int length)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600B33A)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsProtocol::ReadOutput(System.Byte[],System.Int32,System.Int32)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_18:
|
|
stloc:InvalidOperationException(var_0_22, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Cannot use ReadOutput() in blocking mode! Use Stream instead.")))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x0600B33B RID: 45883 RVA: 0x0026B4A0 File Offset: 0x002696A0
|
|
[Token(Token = "0x600B33B")]
|
|
[Address(RVA = "0x4ABBD0", Offset = "0x4AABD0", VA = "0x1804ABBD0", Slot = "35")]
|
|
protected virtual void InvalidateSession()
|
|
{
|
|
SessionParameters sessionParameters = this.mSessionParameters;
|
|
if (sessionParameters != 0)
|
|
{
|
|
byte[] mMasterSecret = sessionParameters.mMasterSecret;
|
|
if (mMasterSecret != 0)
|
|
{
|
|
int num = 0;
|
|
Arrays.Fill(mMasterSecret, (byte)num);
|
|
}
|
|
this.mSessionParameters = (ulong)0L;
|
|
}
|
|
if (this.mTlsSession != 0)
|
|
{
|
|
this.mTlsSession = (ulong)0L;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600B33C RID: 45884 RVA: 0x0026B4E8 File Offset: 0x002696E8
|
|
[Token(Token = "0x600B33C")]
|
|
[Address(RVA = "0x4AC1C0", Offset = "0x4AB1C0", VA = "0x1804AC1C0", Slot = "36")]
|
|
protected virtual void ProcessFinishedMessage(MemoryStream buf)
|
|
{
|
|
for (;;)
|
|
{
|
|
byte[] array = this.mExpectedVerifyData;
|
|
if (array != 0)
|
|
{
|
|
byte[] array2 = TlsUtilities.ReadFully(array.Length, buf);
|
|
TlsProtocol.AssertEmpty(buf);
|
|
if (Arrays.ConstantTimeAreEqual(this.mExpectedVerifyData, array2))
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600B33D RID: 45885 RVA: 0x0026B524 File Offset: 0x00269724
|
|
[Token(Token = "0x600B33D")]
|
|
[Address(RVA = "0x4AC970", Offset = "0x4AB970", VA = "0x1804AC970", Slot = "37")]
|
|
protected virtual void RaiseAlertFatal(byte alertDescription, string message, Exception cause)
|
|
{
|
|
AbstractTlsContext contextAdmin = this.ContextAdmin;
|
|
byte[] array = new byte[2];
|
|
array[0] = (byte)((ulong)2L);
|
|
array[0] = alertDescription;
|
|
RecordStream recordStream = this.mRecordStream;
|
|
}
|
|
|
|
// Token: 0x0600B33E RID: 45886 RVA: 0x0026B564 File Offset: 0x00269764
|
|
[Token(Token = "0x600B33E")]
|
|
[Address(RVA = "0x4ACAB0", Offset = "0x4ABAB0", VA = "0x1804ACAB0", Slot = "38")]
|
|
protected virtual void RaiseAlertWarning(byte alertDescription, string message)
|
|
{
|
|
AbstractTlsContext contextAdmin = this.ContextAdmin;
|
|
byte[] array = new byte[2];
|
|
array[0] = (byte)((ulong)1L);
|
|
array[0] = alertDescription;
|
|
this.SafeReadRecord();
|
|
}
|
|
|
|
// Token: 0x0600B33F RID: 45887 RVA: 0x0026B5A0 File Offset: 0x002697A0
|
|
[Token(Token = "0x600B33F")]
|
|
[Address(RVA = "0x4AD810", Offset = "0x4AC810", VA = "0x1804AD810", Slot = "39")]
|
|
protected virtual void SendCertificateMessage(Certificate certificate)
|
|
{
|
|
if (certificate == 0)
|
|
{
|
|
Certificate emptyChain = Certificate.EmptyChain;
|
|
}
|
|
if (certificate.Length != 0 && this.ToString() == 0)
|
|
{
|
|
string text = this.ToString();
|
|
bool flag;
|
|
if (flag)
|
|
{
|
|
int hashCode = text.GetHashCode();
|
|
TlsContext context = this.Context;
|
|
return;
|
|
}
|
|
}
|
|
TlsProtocol.HandshakeMessage handshakeMessage;
|
|
handshakeMessage.WriteToRecordStream(this);
|
|
}
|
|
|
|
// Token: 0x0600B340 RID: 45888 RVA: 0x0026B5F4 File Offset: 0x002697F4
|
|
[Token(Token = "0x600B340")]
|
|
[Address(RVA = "0x4AD9D0", Offset = "0x4AC9D0", VA = "0x1804AD9D0", Slot = "40")]
|
|
protected virtual void SendChangeCipherSpecMessage()
|
|
{
|
|
RecordStream recordStream;
|
|
TlsCompression mPendingCompression;
|
|
TlsCipher mPendingCipher;
|
|
for (;;)
|
|
{
|
|
int length = new byte[] { (byte)((ulong)1L) }.Length;
|
|
this.SafeReadRecord();
|
|
recordStream = this.mRecordStream;
|
|
mPendingCompression = recordStream.mPendingCompression;
|
|
if (mPendingCompression != 0)
|
|
{
|
|
mPendingCipher = recordStream.mPendingCipher;
|
|
if (mPendingCipher != 0)
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
recordStream.mWriteCompression = mPendingCompression;
|
|
recordStream.mWriteCipher = mPendingCipher;
|
|
RecordStream.SequenceNumber sequenceNumber = new RecordStream.SequenceNumber();
|
|
recordStream.mWriteSeqNo = sequenceNumber;
|
|
}
|
|
|
|
// Token: 0x0600B341 RID: 45889 RVA: 0x0026B664 File Offset: 0x00269864
|
|
[Token(Token = "0x600B341")]
|
|
[Address(RVA = "0x4ADB00", Offset = "0x4ACB00", VA = "0x1804ADB00", Slot = "41")]
|
|
protected virtual void SendFinishedMessage()
|
|
{
|
|
string text = this.ToString();
|
|
TlsProtocol.HandshakeMessage handshakeMessage;
|
|
int num = handshakeMessage.ReadByte();
|
|
handshakeMessage.WriteToRecordStream(this);
|
|
}
|
|
|
|
// Token: 0x0600B342 RID: 45890 RVA: 0x0026B68C File Offset: 0x0026988C
|
|
[Token(Token = "0x600B342")]
|
|
[Address(RVA = "0x4ADBF0", Offset = "0x4ACBF0", VA = "0x1804ADBF0", Slot = "42")]
|
|
protected virtual void SendSupplementalDataMessage(IList supplementalData)
|
|
{
|
|
TlsProtocol.HandshakeMessage handshakeMessage;
|
|
TlsProtocol.WriteSupplementalData(handshakeMessage, supplementalData);
|
|
handshakeMessage.WriteToRecordStream(this);
|
|
}
|
|
|
|
// Token: 0x0600B343 RID: 45891 RVA: 0x0026B6B0 File Offset: 0x002698B0
|
|
[Token(Token = "0x600B343")]
|
|
[Address(RVA = "0x4AB0F0", Offset = "0x4AA0F0", VA = "0x1804AB0F0", Slot = "43")]
|
|
protected virtual byte[] CreateVerifyData(bool isServer)
|
|
{
|
|
string text = this.ToString();
|
|
if (isServer)
|
|
{
|
|
}
|
|
RecordStream recordStream = this.mRecordStream;
|
|
byte[] array;
|
|
return array;
|
|
}
|
|
|
|
// Token: 0x0600B344 RID: 45892 RVA: 0x0026B6D8 File Offset: 0x002698D8
|
|
[Token(Token = "0x600B344")]
|
|
[Address(RVA = "0x4AAA60", Offset = "0x4A9A60", VA = "0x1804AAA60", Slot = "44")]
|
|
public virtual void Close()
|
|
{
|
|
TlsContext context = this.Context;
|
|
}
|
|
|
|
// Token: 0x0600B345 RID: 45893 RVA: 0x0026B6EC File Offset: 0x002698EC
|
|
[Token(Token = "0x600B345")]
|
|
[Address(RVA = "0x4AB350", Offset = "0x4AA350", VA = "0x1804AB350", Slot = "45")]
|
|
protected internal virtual void Flush()
|
|
{
|
|
bool canRead = this.mRecordStream.mOutput.CanRead;
|
|
}
|
|
|
|
// Token: 0x17001C5A RID: 7258
|
|
// (get) Token: 0x0600B346 RID: 45894 RVA: 0x0026B710 File Offset: 0x00269910
|
|
[Token(Token = "0x17001C5A")]
|
|
public virtual bool IsClosed
|
|
{
|
|
[Token(Token = "0x600B346")]
|
|
[Address(RVA = "0x4AE750", Offset = "0x4AD750", VA = "0x1804AE750", Slot = "46")]
|
|
get
|
|
{
|
|
return this.mClosed;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600B347 RID: 45895 RVA: 0x0026B724 File Offset: 0x00269924
|
|
[Token(Token = "0x600B347")]
|
|
[Address(RVA = "0x4AC500", Offset = "0x4AB500", VA = "0x1804AC500", Slot = "47")]
|
|
protected virtual short ProcessMaxFragmentLengthExtension(IDictionary clientExtensions, IDictionary serverExtensions, byte alertDescription)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600B347)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int16 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsProtocol::ProcessMaxFragmentLengthExtension(System.Collections.IDictionary,System.Collections.IDictionary,System.Byte)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_21:
|
|
stloc:TlsFatalAlert(var_3_27, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint8(alertDescription)))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x0600B348 RID: 45896 RVA: 0x0026B758 File Offset: 0x00269958
|
|
[Token(Token = "0x600B348")]
|
|
[Address(RVA = "0x4AD2F0", Offset = "0x4AC2F0", VA = "0x1804AD2F0", Slot = "48")]
|
|
protected virtual void RefuseRenegotiation()
|
|
{
|
|
bool flag;
|
|
do
|
|
{
|
|
string text = this.ToString();
|
|
}
|
|
while (flag);
|
|
TlsContext context = this.Context;
|
|
}
|
|
|
|
// Token: 0x0600B349 RID: 45897 RVA: 0x0026B778 File Offset: 0x00269978
|
|
[Token(Token = "0x600B349")]
|
|
[Address(RVA = "0x4AA6A0", Offset = "0x4A96A0", VA = "0x1804AA6A0")]
|
|
protected internal static void AssertEmpty(MemoryStream buf)
|
|
{
|
|
long length = buf.Length;
|
|
bool canWrite = buf.CanWrite;
|
|
}
|
|
|
|
// Token: 0x0600B34A RID: 45898 RVA: 0x0026B794 File Offset: 0x00269994
|
|
[Token(Token = "0x600B34A")]
|
|
[Address(RVA = "0x4AAFE0", Offset = "0x4A9FE0", VA = "0x1804AAFE0")]
|
|
protected internal static byte[] CreateRandomBlock(bool useGmtUnixTime, IRandomGenerator randomGenerator)
|
|
{
|
|
byte[] array = new byte[32];
|
|
if (useGmtUnixTime)
|
|
{
|
|
int num = 0;
|
|
TlsUtilities.WriteGmtUnixTime(array, num);
|
|
}
|
|
return array;
|
|
}
|
|
|
|
// Token: 0x0600B34B RID: 45899 RVA: 0x0026B7C0 File Offset: 0x002699C0
|
|
[Token(Token = "0x600B34B")]
|
|
[Address(RVA = "0x4AB090", Offset = "0x4AA090", VA = "0x1804AB090")]
|
|
protected internal static byte[] CreateRenegotiationInfo(byte[] renegotiated_connection)
|
|
{
|
|
return TlsUtilities.EncodeOpaque8(renegotiated_connection);
|
|
}
|
|
|
|
// Token: 0x0600B34C RID: 45900 RVA: 0x0026B7D4 File Offset: 0x002699D4
|
|
[Token(Token = "0x600B34C")]
|
|
[Address(RVA = "0x4AB210", Offset = "0x4AA210", VA = "0x1804AB210")]
|
|
protected internal static void EstablishMasterSecret(TlsContext context, TlsKeyExchange keyExchange)
|
|
{
|
|
while (0 != 0)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600B34D RID: 45901 RVA: 0x0026B7F4 File Offset: 0x002699F4
|
|
[Token(Token = "0x600B34D")]
|
|
[Address(RVA = "0x4AB4A0", Offset = "0x4AA4A0", VA = "0x1804AB4A0")]
|
|
protected internal static byte[] GetCurrentPrfHash(TlsContext context, TlsHandshakeHash handshakeHash, byte[] sslSender)
|
|
{
|
|
if (sslSender != 0 && TlsUtilities.IsSsl(context))
|
|
{
|
|
int length = sslSender.Length;
|
|
}
|
|
return DigestUtilities.DoFinal(handshakeHash);
|
|
}
|
|
|
|
// Token: 0x0600B34E RID: 45902 RVA: 0x0026B824 File Offset: 0x00269A24
|
|
[Token(Token = "0x600B34E")]
|
|
[Address(RVA = "0x4ACD60", Offset = "0x4ABD60", VA = "0x1804ACD60")]
|
|
protected internal static IDictionary ReadExtensions(MemoryStream input)
|
|
{
|
|
MemoryStream memoryStream;
|
|
IDictionary dictionary;
|
|
do
|
|
{
|
|
long length = input.Length;
|
|
bool canWrite = input.CanWrite;
|
|
if (length >= (canWrite ? 1L : 0L))
|
|
{
|
|
goto IL_5F;
|
|
}
|
|
byte[] array = TlsUtilities.ReadOpaque16(input);
|
|
TlsProtocol.AssertEmpty(input);
|
|
int num;
|
|
memoryStream = new MemoryStream(array, num != 0);
|
|
num = 0;
|
|
dictionary = Platform.CreateHashtable();
|
|
long length2 = memoryStream.Length;
|
|
bool canWrite2 = memoryStream.CanWrite;
|
|
if (length2 >= (canWrite2 ? 1L : 0L))
|
|
{
|
|
break;
|
|
}
|
|
int num2 = TlsUtilities.ReadUint16(memoryStream);
|
|
}
|
|
while (TlsUtilities.ReadOpaque16(memoryStream) != 0);
|
|
return dictionary;
|
|
IL_5F:
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600B34F RID: 45903 RVA: 0x0026B898 File Offset: 0x00269A98
|
|
[Token(Token = "0x600B34F")]
|
|
[Address(RVA = "0x4AD160", Offset = "0x4AC160", VA = "0x1804AD160")]
|
|
protected internal static IList ReadSupplementalDataMessage(MemoryStream input)
|
|
{
|
|
byte[] array = TlsUtilities.ReadOpaque24(input);
|
|
TlsProtocol.AssertEmpty(input);
|
|
int num;
|
|
MemoryStream memoryStream = new MemoryStream(array, num != 0);
|
|
num = 0;
|
|
IList list = Platform.CreateArrayList();
|
|
long length = memoryStream.Length;
|
|
bool canWrite = memoryStream.CanWrite;
|
|
if (length < (canWrite ? 1L : 0L))
|
|
{
|
|
int num2 = TlsUtilities.ReadUint16(memoryStream);
|
|
byte[] array2 = TlsUtilities.ReadOpaque16(memoryStream);
|
|
SupplementalDataEntry supplementalDataEntry;
|
|
supplementalDataEntry.mDataType = num2;
|
|
supplementalDataEntry.mData = array2;
|
|
}
|
|
return list;
|
|
}
|
|
|
|
// Token: 0x0600B350 RID: 45904 RVA: 0x0026B908 File Offset: 0x00269B08
|
|
[Token(Token = "0x600B350")]
|
|
[Address(RVA = "0x4ADEF0", Offset = "0x4ACEF0", VA = "0x1804ADEF0")]
|
|
protected internal static void WriteExtensions(Stream output, IDictionary extensions)
|
|
{
|
|
MemoryStream memoryStream = new MemoryStream();
|
|
TlsProtocol.WriteSelectedExtensions(memoryStream, extensions, true);
|
|
int num = 0;
|
|
TlsProtocol.WriteSelectedExtensions(memoryStream, extensions, num != 0);
|
|
}
|
|
|
|
// Token: 0x0600B351 RID: 45905 RVA: 0x0026B934 File Offset: 0x00269B34
|
|
[Token(Token = "0x600B351")]
|
|
[Address(RVA = "0x4AE130", Offset = "0x4AD130", VA = "0x1804AE130")]
|
|
protected internal static void WriteSelectedExtensions(Stream output, IDictionary extensions, bool selectEmpty)
|
|
{
|
|
int num;
|
|
do
|
|
{
|
|
num = 0;
|
|
if (num < typeof(int).TypeHandle)
|
|
{
|
|
num += num;
|
|
num++;
|
|
}
|
|
bool flag = "{il2cpp field on {'constant5' (constant value of type Cpp2IL.Core.Analysis.ResultModels.StackPointer)}, offset 0x18}" == num;
|
|
}
|
|
while (num != 0);
|
|
}
|
|
|
|
// Token: 0x0600B352 RID: 45906 RVA: 0x0026B974 File Offset: 0x00269B74
|
|
[Token(Token = "0x600B352")]
|
|
[Address(RVA = "0x4AE3E0", Offset = "0x4AD3E0", VA = "0x1804AE3E0")]
|
|
protected internal static void WriteSupplementalData(Stream output, IList supplementalData)
|
|
{
|
|
int num;
|
|
do
|
|
{
|
|
num = 0;
|
|
MemoryStream memoryStream = new MemoryStream();
|
|
if (memoryStream != 0)
|
|
{
|
|
if (memoryStream == 0)
|
|
{
|
|
goto IL_29;
|
|
}
|
|
string text = memoryStream.ToString();
|
|
}
|
|
ObjRef objRef;
|
|
if (objRef != 0)
|
|
{
|
|
}
|
|
}
|
|
while (num != 0);
|
|
return;
|
|
IL_29:
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600B353 RID: 45907 RVA: 0x0026B9B8 File Offset: 0x00269BB8
|
|
[Token(Token = "0x600B353")]
|
|
[Address(RVA = "0x4AB590", Offset = "0x4AA590", VA = "0x1804AB590")]
|
|
protected internal static int GetPrfAlgorithm(TlsContext context, int ciphersuite)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600B353)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsProtocol::GetPrfAlgorithm(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsContext,System.Int32)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_52:
|
|
stloc:TlsFatalAlert(var_5_59, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_6)))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x040071DF RID: 29151
|
|
[Token(Token = "0x40071DF")]
|
|
protected const short CS_START = 0;
|
|
|
|
// Token: 0x040071E0 RID: 29152
|
|
[Token(Token = "0x40071E0")]
|
|
protected const short CS_CLIENT_HELLO = 1;
|
|
|
|
// Token: 0x040071E1 RID: 29153
|
|
[Token(Token = "0x40071E1")]
|
|
protected const short CS_SERVER_HELLO = 2;
|
|
|
|
// Token: 0x040071E2 RID: 29154
|
|
[Token(Token = "0x40071E2")]
|
|
protected const short CS_SERVER_SUPPLEMENTAL_DATA = 3;
|
|
|
|
// Token: 0x040071E3 RID: 29155
|
|
[Token(Token = "0x40071E3")]
|
|
protected const short CS_SERVER_CERTIFICATE = 4;
|
|
|
|
// Token: 0x040071E4 RID: 29156
|
|
[Token(Token = "0x40071E4")]
|
|
protected const short CS_CERTIFICATE_STATUS = 5;
|
|
|
|
// Token: 0x040071E5 RID: 29157
|
|
[Token(Token = "0x40071E5")]
|
|
protected const short CS_SERVER_KEY_EXCHANGE = 6;
|
|
|
|
// Token: 0x040071E6 RID: 29158
|
|
[Token(Token = "0x40071E6")]
|
|
protected const short CS_CERTIFICATE_REQUEST = 7;
|
|
|
|
// Token: 0x040071E7 RID: 29159
|
|
[Token(Token = "0x40071E7")]
|
|
protected const short CS_SERVER_HELLO_DONE = 8;
|
|
|
|
// Token: 0x040071E8 RID: 29160
|
|
[Token(Token = "0x40071E8")]
|
|
protected const short CS_CLIENT_SUPPLEMENTAL_DATA = 9;
|
|
|
|
// Token: 0x040071E9 RID: 29161
|
|
[Token(Token = "0x40071E9")]
|
|
protected const short CS_CLIENT_CERTIFICATE = 10;
|
|
|
|
// Token: 0x040071EA RID: 29162
|
|
[Token(Token = "0x40071EA")]
|
|
protected const short CS_CLIENT_KEY_EXCHANGE = 11;
|
|
|
|
// Token: 0x040071EB RID: 29163
|
|
[Token(Token = "0x40071EB")]
|
|
protected const short CS_CERTIFICATE_VERIFY = 12;
|
|
|
|
// Token: 0x040071EC RID: 29164
|
|
[Token(Token = "0x40071EC")]
|
|
protected const short CS_CLIENT_FINISHED = 13;
|
|
|
|
// Token: 0x040071ED RID: 29165
|
|
[Token(Token = "0x40071ED")]
|
|
protected const short CS_SERVER_SESSION_TICKET = 14;
|
|
|
|
// Token: 0x040071EE RID: 29166
|
|
[Token(Token = "0x40071EE")]
|
|
protected const short CS_SERVER_FINISHED = 15;
|
|
|
|
// Token: 0x040071EF RID: 29167
|
|
[Token(Token = "0x40071EF")]
|
|
protected const short CS_END = 16;
|
|
|
|
// Token: 0x040071F0 RID: 29168
|
|
[Token(Token = "0x40071F0")]
|
|
protected const short ADS_MODE_1_Nsub1 = 0;
|
|
|
|
// Token: 0x040071F1 RID: 29169
|
|
[Token(Token = "0x40071F1")]
|
|
protected const short ADS_MODE_0_N = 1;
|
|
|
|
// Token: 0x040071F2 RID: 29170
|
|
[Token(Token = "0x40071F2")]
|
|
protected const short ADS_MODE_0_N_FIRSTONLY = 2;
|
|
|
|
// Token: 0x040071F3 RID: 29171
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x40071F3")]
|
|
private ByteQueue mApplicationDataQueue;
|
|
|
|
// Token: 0x040071F4 RID: 29172
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x40071F4")]
|
|
private ByteQueue mAlertQueue;
|
|
|
|
// Token: 0x040071F5 RID: 29173
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x40071F5")]
|
|
private ByteQueue mHandshakeQueue;
|
|
|
|
// Token: 0x040071F6 RID: 29174
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x40071F6")]
|
|
internal RecordStream mRecordStream;
|
|
|
|
// Token: 0x040071F7 RID: 29175
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x40071F7")]
|
|
protected SecureRandom mSecureRandom;
|
|
|
|
// Token: 0x040071F8 RID: 29176
|
|
[FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x40071F8")]
|
|
private TlsStream mTlsStream;
|
|
|
|
// Token: 0x040071F9 RID: 29177
|
|
[FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x40071F9")]
|
|
private bool mClosed;
|
|
|
|
// Token: 0x040071FA RID: 29178
|
|
[FieldOffset(Offset = "0x41")]
|
|
[Token(Token = "0x40071FA")]
|
|
private bool mFailedWithError;
|
|
|
|
// Token: 0x040071FB RID: 29179
|
|
[FieldOffset(Offset = "0x42")]
|
|
[Token(Token = "0x40071FB")]
|
|
private bool mAppDataReady;
|
|
|
|
// Token: 0x040071FC RID: 29180
|
|
[FieldOffset(Offset = "0x43")]
|
|
[Token(Token = "0x40071FC")]
|
|
private bool mAppDataSplitEnabled;
|
|
|
|
// Token: 0x040071FD RID: 29181
|
|
[FieldOffset(Offset = "0x44")]
|
|
[Token(Token = "0x40071FD")]
|
|
private int mAppDataSplitMode;
|
|
|
|
// Token: 0x040071FE RID: 29182
|
|
[FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x40071FE")]
|
|
private byte[] mExpectedVerifyData;
|
|
|
|
// Token: 0x040071FF RID: 29183
|
|
[FieldOffset(Offset = "0x50")]
|
|
[Token(Token = "0x40071FF")]
|
|
protected TlsSession mTlsSession;
|
|
|
|
// Token: 0x04007200 RID: 29184
|
|
[FieldOffset(Offset = "0x58")]
|
|
[Token(Token = "0x4007200")]
|
|
protected SessionParameters mSessionParameters;
|
|
|
|
// Token: 0x04007201 RID: 29185
|
|
[FieldOffset(Offset = "0x60")]
|
|
[Token(Token = "0x4007201")]
|
|
protected SecurityParameters mSecurityParameters;
|
|
|
|
// Token: 0x04007202 RID: 29186
|
|
[FieldOffset(Offset = "0x68")]
|
|
[Token(Token = "0x4007202")]
|
|
protected Certificate mPeerCertificate;
|
|
|
|
// Token: 0x04007203 RID: 29187
|
|
[FieldOffset(Offset = "0x70")]
|
|
[Token(Token = "0x4007203")]
|
|
protected int[] mOfferedCipherSuites;
|
|
|
|
// Token: 0x04007204 RID: 29188
|
|
[FieldOffset(Offset = "0x78")]
|
|
[Token(Token = "0x4007204")]
|
|
protected byte[] mOfferedCompressionMethods;
|
|
|
|
// Token: 0x04007205 RID: 29189
|
|
[FieldOffset(Offset = "0x80")]
|
|
[Token(Token = "0x4007205")]
|
|
protected IDictionary mClientExtensions;
|
|
|
|
// Token: 0x04007206 RID: 29190
|
|
[FieldOffset(Offset = "0x88")]
|
|
[Token(Token = "0x4007206")]
|
|
protected IDictionary mServerExtensions;
|
|
|
|
// Token: 0x04007207 RID: 29191
|
|
[FieldOffset(Offset = "0x90")]
|
|
[Token(Token = "0x4007207")]
|
|
protected short mConnectionState;
|
|
|
|
// Token: 0x04007208 RID: 29192
|
|
[FieldOffset(Offset = "0x92")]
|
|
[Token(Token = "0x4007208")]
|
|
protected bool mResumedSession;
|
|
|
|
// Token: 0x04007209 RID: 29193
|
|
[FieldOffset(Offset = "0x93")]
|
|
[Token(Token = "0x4007209")]
|
|
protected bool mReceivedChangeCipherSpec;
|
|
|
|
// Token: 0x0400720A RID: 29194
|
|
[FieldOffset(Offset = "0x94")]
|
|
[Token(Token = "0x400720A")]
|
|
protected bool mSecureRenegotiation;
|
|
|
|
// Token: 0x0400720B RID: 29195
|
|
[FieldOffset(Offset = "0x95")]
|
|
[Token(Token = "0x400720B")]
|
|
protected bool mAllowCertificateStatus;
|
|
|
|
// Token: 0x0400720C RID: 29196
|
|
[FieldOffset(Offset = "0x96")]
|
|
[Token(Token = "0x400720C")]
|
|
protected bool mExpectSessionTicket;
|
|
|
|
// Token: 0x0400720D RID: 29197
|
|
[FieldOffset(Offset = "0x97")]
|
|
[Token(Token = "0x400720D")]
|
|
protected bool mBlocking;
|
|
|
|
// Token: 0x0400720E RID: 29198
|
|
[FieldOffset(Offset = "0x98")]
|
|
[Token(Token = "0x400720E")]
|
|
protected ByteQueueStream mInputBuffers;
|
|
|
|
// Token: 0x0400720F RID: 29199
|
|
[FieldOffset(Offset = "0xA0")]
|
|
[Token(Token = "0x400720F")]
|
|
protected ByteQueueStream mOutputBuffer;
|
|
|
|
// Token: 0x02001C65 RID: 7269
|
|
[Token(Token = "0x2001C65")]
|
|
internal class HandshakeMessage : MemoryStream
|
|
{
|
|
// Token: 0x0600B354 RID: 45908 RVA: 0x0026BA20 File Offset: 0x00269C20
|
|
[Token(Token = "0x600B354")]
|
|
[Address(RVA = "0x45CDC0", Offset = "0x45BDC0", VA = "0x18045CDC0")]
|
|
internal HandshakeMessage(byte handshakeType)
|
|
{
|
|
}
|
|
|
|
// Token: 0x0600B355 RID: 45909 RVA: 0x0026BA30 File Offset: 0x00269C30
|
|
[Token(Token = "0x600B355")]
|
|
[Address(RVA = "0x45CDD0", Offset = "0x45BDD0", VA = "0x18045CDD0")]
|
|
internal HandshakeMessage(byte handshakeType, int length)
|
|
: base((int)handshakeType)
|
|
{
|
|
((IDisposable)this).Dispose();
|
|
}
|
|
|
|
// Token: 0x0600B356 RID: 45910 RVA: 0x0026BA50 File Offset: 0x00269C50
|
|
[Token(Token = "0x600B356")]
|
|
[Address(RVA = "0x45CD80", Offset = "0x45BD80", VA = "0x18045CD80")]
|
|
internal void Write(byte[] data)
|
|
{
|
|
int num = this.ReadByte();
|
|
}
|
|
|
|
// Token: 0x0600B357 RID: 45911 RVA: 0x0026BA6C File Offset: 0x00269C6C
|
|
[Token(Token = "0x600B357")]
|
|
[Address(RVA = "0x45CBA0", Offset = "0x45BBA0", VA = "0x18045CBA0")]
|
|
internal void WriteToRecordStream(TlsProtocol protocol)
|
|
{
|
|
bool canWrite = this.CanWrite;
|
|
long position = this.Position;
|
|
bool canWrite2 = this.CanWrite;
|
|
}
|
|
}
|
|
}
|
|
}
|