590 lines
17 KiB
C#
590 lines
17 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.IO;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
|
|
using Cpp2IlInjected;
|
|
using Hjg.Pngcs;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls
|
|
{
|
|
// Token: 0x02001B29 RID: 6953
|
|
[Token(Token = "0x2001B29")]
|
|
internal class DtlsReliableHandshake
|
|
{
|
|
// Token: 0x0600AD01 RID: 44289 RVA: 0x0025A6F4 File Offset: 0x002588F4
|
|
[Token(Token = "0x600AD01")]
|
|
[Address(RVA = "0x18B80A0", Offset = "0x18B6EA0", VA = "0x1818B80A0")]
|
|
internal DtlsReliableHandshake(TlsContext context, DtlsRecordLayer transport)
|
|
{
|
|
IDictionary dictionary = Platform.CreateHashtable();
|
|
this.mCurrentInboundFlight = dictionary;
|
|
IList list = Platform.CreateArrayList();
|
|
this.mOutboundFlight = list;
|
|
this.mSending = true;
|
|
base..ctor();
|
|
this.mRecordLayer = transport;
|
|
DeferredHash deferredHash = new DeferredHash();
|
|
this.mHandshakeHash = deferredHash;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600AD02 RID: 44290 RVA: 0x0025A748 File Offset: 0x00258948
|
|
[Token(Token = "0x600AD02")]
|
|
[Address(RVA = "0x18B6D20", Offset = "0x18B5B20", VA = "0x1818B6D20")]
|
|
internal void NotifyHelloComplete()
|
|
{
|
|
TlsHandshakeHash tlsHandshakeHash = this.mHandshakeHash;
|
|
}
|
|
|
|
// Token: 0x17001B69 RID: 7017
|
|
// (get) Token: 0x0600AD03 RID: 44291 RVA: 0x0025A764 File Offset: 0x00258964
|
|
[Token(Token = "0x17001B69")]
|
|
internal TlsHandshakeHash HandshakeHash
|
|
{
|
|
[Token(Token = "0x600AD03")]
|
|
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40")]
|
|
get
|
|
{
|
|
return this.mHandshakeHash;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600AD04 RID: 44292 RVA: 0x0025A778 File Offset: 0x00258978
|
|
[Token(Token = "0x600AD04")]
|
|
[Address(RVA = "0x18B6DB0", Offset = "0x18B5BB0", VA = "0x1818B6DB0")]
|
|
internal TlsHandshakeHash PrepareToFinish()
|
|
{
|
|
return this.mHandshakeHash;
|
|
}
|
|
|
|
// Token: 0x0600AD05 RID: 44293 RVA: 0x0025A794 File Offset: 0x00258994
|
|
[Token(Token = "0x600AD05")]
|
|
[Address(RVA = "0x18B7B10", Offset = "0x18B6910", VA = "0x1818B7B10")]
|
|
internal void SendMessage(byte msg_type, byte[] body)
|
|
{
|
|
TlsUtilities.CheckUint24(body.Length);
|
|
if (!this.mSending)
|
|
{
|
|
this.CheckInboundFlight();
|
|
IList list = this.mOutboundFlight;
|
|
this.mSending = true;
|
|
}
|
|
int num = this.mMessageSeq;
|
|
int num2 = num + 1;
|
|
this.mMessageSeq = num2;
|
|
DtlsReliableHandshake.Message message;
|
|
message.mMessageSeq = num;
|
|
message.mMsgType = msg_type;
|
|
message.mBody = body;
|
|
IList list2 = this.mOutboundFlight;
|
|
this.WriteMessage(message);
|
|
DtlsReliableHandshake.Message message2 = this.UpdateHandshakeMessagesDigest(message);
|
|
}
|
|
|
|
// Token: 0x0600AD06 RID: 44294 RVA: 0x0025A810 File Offset: 0x00258A10
|
|
[Token(Token = "0x600AD06")]
|
|
[Address(RVA = "0x18B71C0", Offset = "0x18B5FC0", VA = "0x1818B71C0")]
|
|
internal byte[] ReceiveMessageBody(byte msg_type)
|
|
{
|
|
DtlsReliableHandshake.Message message;
|
|
do
|
|
{
|
|
message = this.ReceiveMessage();
|
|
}
|
|
while (message.mMsgType != msg_type);
|
|
return message.mBody;
|
|
}
|
|
|
|
// Token: 0x0600AD07 RID: 44295 RVA: 0x0025A83C File Offset: 0x00258A3C
|
|
[Token(Token = "0x600AD07")]
|
|
[Address(RVA = "0x18B7240", Offset = "0x18B6040", VA = "0x1818B7240")]
|
|
internal DtlsReliableHandshake.Message ReceiveMessage()
|
|
{
|
|
if (this.mSending)
|
|
{
|
|
this.mSending = false;
|
|
IDictionary dictionary = Platform.CreateHashtable();
|
|
DtlsReliableHandshake.ResetAll(this.mCurrentInboundFlight);
|
|
IDictionary dictionary2 = this.mCurrentInboundFlight;
|
|
this.mPreviousInboundFlight = dictionary2;
|
|
this.mCurrentInboundFlight = dictionary;
|
|
}
|
|
int num = 0;
|
|
IDictionary dictionary3 = this.mCurrentInboundFlight;
|
|
int num2 = this.mNextReceiveSeq;
|
|
if (num2 != 0)
|
|
{
|
|
int num3 = 0;
|
|
if (num2 == 0)
|
|
{
|
|
throw new NullReferenceException();
|
|
}
|
|
if (num3 == 0)
|
|
{
|
|
this.mPreviousInboundFlight = num;
|
|
int num4 = this.mNextReceiveSeq;
|
|
int num5 = num4 + 1;
|
|
this.mNextReceiveSeq = num5;
|
|
DtlsReliableHandshake.Message message;
|
|
message.mMessageSeq = num4;
|
|
DtlsReliableHandshake.Message message2 = this.UpdateHandshakeMessagesDigest(message);
|
|
if (message2 != 0)
|
|
{
|
|
return message2;
|
|
}
|
|
}
|
|
}
|
|
this.mRecordLayer.ResetWriteEpoch();
|
|
if (num != 0)
|
|
{
|
|
}
|
|
byte[] array = new byte[0];
|
|
int sendLimit = this.mRecordLayer.GetSendLimit();
|
|
DtlsRecordLayer dtlsRecordLayer = this.mRecordLayer;
|
|
bool flag;
|
|
while (!flag)
|
|
{
|
|
}
|
|
this.ResendOutboundFlight();
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600AD08 RID: 44296 RVA: 0x0025A93C File Offset: 0x00258B3C
|
|
[Token(Token = "0x600AD08")]
|
|
[Address(RVA = "0x18B6B00", Offset = "0x18B5900", VA = "0x1818B6B00")]
|
|
internal void Finish()
|
|
{
|
|
int num = 0;
|
|
if ((this.mSending ? 1 : 0) != num)
|
|
{
|
|
DtlsReliableHandshake.ResetAll(this.mCurrentInboundFlight);
|
|
IDictionary dictionary = this.mCurrentInboundFlight;
|
|
this.mPreviousInboundFlight = dictionary;
|
|
this.mCurrentInboundFlight = num;
|
|
if (dictionary == 0)
|
|
{
|
|
goto IL_3C;
|
|
}
|
|
DtlsReliableHandshake.Retransmit retransmit;
|
|
retransmit.mOuter = this;
|
|
}
|
|
this.CheckInboundFlight();
|
|
IL_3C:
|
|
int receiveLimit = ((DatagramTransport)this.mRecordLayer).GetReceiveLimit();
|
|
}
|
|
|
|
// Token: 0x0600AD09 RID: 44297 RVA: 0x0025A998 File Offset: 0x00258B98
|
|
[Token(Token = "0x600AD09")]
|
|
[Address(RVA = "0x18B7AC0", Offset = "0x18B68C0", VA = "0x1818B7AC0")]
|
|
internal void ResetHandshakeMessagesDigest()
|
|
{
|
|
TlsHandshakeHash tlsHandshakeHash = this.mHandshakeHash;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600AD0A RID: 44298 RVA: 0x0025A9B4 File Offset: 0x00258BB4
|
|
[Token(Token = "0x600AD0A")]
|
|
[Address(RVA = "0x18B66B0", Offset = "0x18B54B0", VA = "0x1818B66B0")]
|
|
private int BackOff(int timeoutMillis)
|
|
{
|
|
int num;
|
|
return num;
|
|
}
|
|
|
|
// Token: 0x0600AD0B RID: 44299 RVA: 0x0025A9C4 File Offset: 0x00258BC4
|
|
[Token(Token = "0x600AD0B")]
|
|
[Address(RVA = "0x18B6980", Offset = "0x18B5780", VA = "0x1818B6980")]
|
|
private void CheckInboundFlight()
|
|
{
|
|
int num;
|
|
do
|
|
{
|
|
num = 0;
|
|
IDictionary dictionary = this.mCurrentInboundFlight;
|
|
num += num;
|
|
num++;
|
|
num++;
|
|
num += 19;
|
|
if (num != 0)
|
|
{
|
|
}
|
|
}
|
|
while (num != 0);
|
|
}
|
|
|
|
// Token: 0x0600AD0C RID: 44300 RVA: 0x0025A9FC File Offset: 0x00258BFC
|
|
[Token(Token = "0x600AD0C")]
|
|
[Address(RVA = "0x18B6BA0", Offset = "0x18B59A0", VA = "0x1818B6BA0")]
|
|
private DtlsReliableHandshake.Message GetPendingMessage()
|
|
{
|
|
int num;
|
|
do
|
|
{
|
|
num = this.mNextReceiveSeq;
|
|
IDictionary dictionary = this.mCurrentInboundFlight;
|
|
if (num == 0)
|
|
{
|
|
goto IL_49;
|
|
}
|
|
}
|
|
while (num == 0);
|
|
if (num == 0)
|
|
{
|
|
int num2 = this.mNextReceiveSeq;
|
|
int num3 = num2 + 1;
|
|
this.mNextReceiveSeq = num3;
|
|
DtlsReliableHandshake.Message message;
|
|
message.mMessageSeq = num2;
|
|
message.mMsgType = (byte)num;
|
|
return this.UpdateHandshakeMessagesDigest(message);
|
|
}
|
|
IL_49:
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600AD0D RID: 44301 RVA: 0x0025AA5C File Offset: 0x00258C5C
|
|
[Token(Token = "0x600AD0D")]
|
|
[Address(RVA = "0x18B6D70", Offset = "0x18B5B70", VA = "0x1818B6D70")]
|
|
private void PrepareInboundFlight(IDictionary nextFlight)
|
|
{
|
|
DtlsReliableHandshake.ResetAll(this.mCurrentInboundFlight);
|
|
IDictionary dictionary = this.mCurrentInboundFlight;
|
|
this.mPreviousInboundFlight = dictionary;
|
|
this.mCurrentInboundFlight = nextFlight;
|
|
}
|
|
|
|
// Token: 0x0600AD0E RID: 44302 RVA: 0x0025AA8C File Offset: 0x00258C8C
|
|
[Token(Token = "0x600AD0E")]
|
|
[Address(RVA = "0x18B6E10", Offset = "0x18B5C10", VA = "0x1818B6E10")]
|
|
private bool ProcessRecord(int windowSize, int epoch, byte[] buf, int off, int len)
|
|
{
|
|
int num = TlsUtilities.ReadUint24(buf, windowSize);
|
|
int num2 = TlsUtilities.ReadUint24(buf, windowSize);
|
|
int num3 = TlsUtilities.ReadUint24(buf, windowSize);
|
|
int num4 = this.mNextReceiveSeq;
|
|
byte b;
|
|
if ((int)b >= num4 || (this.mPreviousInboundFlight != 0 && num4 != 0))
|
|
{
|
|
IDictionary dictionary = this.mCurrentInboundFlight;
|
|
if (num4 == 0)
|
|
{
|
|
DtlsReassembler dtlsReassembler = new DtlsReassembler(b, num2);
|
|
}
|
|
}
|
|
if (DtlsReliableHandshake.CheckAll(this.mPreviousInboundFlight))
|
|
{
|
|
this.ResendOutboundFlight();
|
|
DtlsReliableHandshake.ResetAll(this.mPreviousInboundFlight);
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600AD0F RID: 44303 RVA: 0x0025AB10 File Offset: 0x00258D10
|
|
[Token(Token = "0x600AD0F")]
|
|
[Address(RVA = "0x18B75F0", Offset = "0x18B63F0", VA = "0x1818B75F0")]
|
|
private void ResendOutboundFlight()
|
|
{
|
|
int num;
|
|
do
|
|
{
|
|
DtlsRecordLayer dtlsRecordLayer = this.mRecordLayer;
|
|
IList list = this.mOutboundFlight;
|
|
num = 0;
|
|
num += num;
|
|
num++;
|
|
IList list2 = this.mOutboundFlight;
|
|
uint num2;
|
|
if (num < (int)num2)
|
|
{
|
|
num += num;
|
|
num++;
|
|
}
|
|
if (num == 0)
|
|
{
|
|
num += num;
|
|
num++;
|
|
num += 19;
|
|
num += num;
|
|
num += 19;
|
|
}
|
|
}
|
|
while (num == 0);
|
|
this.WriteMessage(num);
|
|
IList list3 = this.mOutboundFlight;
|
|
num++;
|
|
}
|
|
|
|
// Token: 0x0600AD10 RID: 44304 RVA: 0x0025AB84 File Offset: 0x00258D84
|
|
[Token(Token = "0x600AD10")]
|
|
[Address(RVA = "0x18B7C40", Offset = "0x18B6A40", VA = "0x1818B7C40")]
|
|
private DtlsReliableHandshake.Message UpdateHandshakeMessagesDigest(DtlsReliableHandshake.Message message)
|
|
{
|
|
byte[] mBody = message.mBody;
|
|
byte[] array = new byte[12];
|
|
byte mMsgType = message.mMsgType;
|
|
int num = 0;
|
|
TlsUtilities.WriteUint8(mMsgType, array, num);
|
|
TlsUtilities.WriteUint24(mBody.Length, array, 1);
|
|
PngHelperInternal.WriteInt2tobytes(message.mMessageSeq, array, 4);
|
|
TlsUtilities.WriteUint24(0, array, 6);
|
|
TlsUtilities.WriteUint24(mBody.Length, array, 9);
|
|
TlsHandshakeHash tlsHandshakeHash = this.mHandshakeHash;
|
|
int length = array.Length;
|
|
TlsHandshakeHash tlsHandshakeHash2 = this.mHandshakeHash;
|
|
int length2 = mBody.Length;
|
|
return message;
|
|
}
|
|
|
|
// Token: 0x0600AD11 RID: 44305 RVA: 0x0025AC0C File Offset: 0x00258E0C
|
|
[Token(Token = "0x600AD11")]
|
|
[Address(RVA = "0x18B7F70", Offset = "0x18B6D70", VA = "0x1818B7F70")]
|
|
private void WriteMessage(DtlsReliableHandshake.Message message)
|
|
{
|
|
int receiveLimit = this.mRecordLayer.GetReceiveLimit();
|
|
byte[] mBody = message.mBody;
|
|
int num = 0;
|
|
int num2 = mBody.Length;
|
|
num2 -= num;
|
|
int num3;
|
|
this.WriteHandshakeFragment(message, num, num3);
|
|
num += num3;
|
|
}
|
|
|
|
// Token: 0x0600AD12 RID: 44306 RVA: 0x0025AC50 File Offset: 0x00258E50
|
|
[Token(Token = "0x600AD12")]
|
|
[Address(RVA = "0x18B7DB0", Offset = "0x18B6BB0", VA = "0x1818B7DB0")]
|
|
private void WriteHandshakeFragment(DtlsReliableHandshake.Message message, int fragment_offset, int fragment_length)
|
|
{
|
|
DtlsReliableHandshake.RecordLayerBuffer recordLayerBuffer;
|
|
TlsUtilities.WriteUint8(message.mMsgType, recordLayerBuffer);
|
|
TlsUtilities.WriteUint24(message.mBody.Length, recordLayerBuffer);
|
|
int num = message.mMessageSeq;
|
|
TlsUtilities.WriteUint16(num, recordLayerBuffer);
|
|
TlsUtilities.WriteUint24(fragment_offset, recordLayerBuffer);
|
|
TlsUtilities.WriteUint24(fragment_length, recordLayerBuffer);
|
|
int num2 = recordLayerBuffer.ReadByte();
|
|
DtlsRecordLayer dtlsRecordLayer = this.mRecordLayer;
|
|
bool canWrite = recordLayerBuffer.CanWrite;
|
|
}
|
|
|
|
// Token: 0x0600AD13 RID: 44307 RVA: 0x0025ACB8 File Offset: 0x00258EB8
|
|
[Token(Token = "0x600AD13")]
|
|
[Address(RVA = "0x18B6710", Offset = "0x18B5510", VA = "0x1818B6710")]
|
|
private static bool CheckAll(IDictionary inboundFlight)
|
|
{
|
|
int num;
|
|
do
|
|
{
|
|
num = 0;
|
|
int num2 = 0;
|
|
if (num2 == 0)
|
|
{
|
|
}
|
|
if (num2 != 0)
|
|
{
|
|
}
|
|
}
|
|
while (num != 0);
|
|
if (num != -1)
|
|
{
|
|
}
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x0600AD14 RID: 44308 RVA: 0x0025ACF8 File Offset: 0x00258EF8
|
|
[Token(Token = "0x600AD14")]
|
|
[Address(RVA = "0x18B77F0", Offset = "0x18B65F0", VA = "0x1818B77F0")]
|
|
private static void ResetAll(IDictionary inboundFlight)
|
|
{
|
|
int num;
|
|
do
|
|
{
|
|
num = 0;
|
|
num += num;
|
|
num++;
|
|
num++;
|
|
num += 19;
|
|
ulong num2;
|
|
num = (int)((ulong)num + num2);
|
|
if (num == 0 || num == 0)
|
|
{
|
|
goto IL_47;
|
|
}
|
|
DtlsReassembler.Range range;
|
|
range.mStart = num;
|
|
if (range != 0)
|
|
{
|
|
}
|
|
}
|
|
while (num != 0);
|
|
return;
|
|
IL_47:
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x04006E94 RID: 28308
|
|
[Token(Token = "0x4006E94")]
|
|
private const int MaxReceiveAhead = 16;
|
|
|
|
// Token: 0x04006E95 RID: 28309
|
|
[Token(Token = "0x4006E95")]
|
|
private const int MessageHeaderLength = 12;
|
|
|
|
// Token: 0x04006E96 RID: 28310
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4006E96")]
|
|
private readonly DtlsRecordLayer mRecordLayer;
|
|
|
|
// Token: 0x04006E97 RID: 28311
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4006E97")]
|
|
private TlsHandshakeHash mHandshakeHash;
|
|
|
|
// Token: 0x04006E98 RID: 28312
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x4006E98")]
|
|
private IDictionary mCurrentInboundFlight;
|
|
|
|
// Token: 0x04006E99 RID: 28313
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x4006E99")]
|
|
private IDictionary mPreviousInboundFlight;
|
|
|
|
// Token: 0x04006E9A RID: 28314
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x4006E9A")]
|
|
private IList mOutboundFlight;
|
|
|
|
// Token: 0x04006E9B RID: 28315
|
|
[FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x4006E9B")]
|
|
private bool mSending;
|
|
|
|
// Token: 0x04006E9C RID: 28316
|
|
[FieldOffset(Offset = "0x3C")]
|
|
[Token(Token = "0x4006E9C")]
|
|
private int mMessageSeq;
|
|
|
|
// Token: 0x04006E9D RID: 28317
|
|
[FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x4006E9D")]
|
|
private int mNextReceiveSeq;
|
|
|
|
// Token: 0x02001B2A RID: 6954
|
|
[Token(Token = "0x2001B2A")]
|
|
internal class Message
|
|
{
|
|
// Token: 0x0600AD15 RID: 44309 RVA: 0x0025AD58 File Offset: 0x00258F58
|
|
[Token(Token = "0x600AD15")]
|
|
[Address(RVA = "0x18BB860", Offset = "0x18BA660", VA = "0x1818BB860")]
|
|
internal Message(int message_seq, byte msg_type, byte[] body)
|
|
{
|
|
this.mMessageSeq = message_seq;
|
|
this.mMsgType = msg_type;
|
|
this.mBody = body;
|
|
}
|
|
|
|
// Token: 0x17001B6A RID: 7018
|
|
// (get) Token: 0x0600AD16 RID: 44310 RVA: 0x0025AD80 File Offset: 0x00258F80
|
|
[Token(Token = "0x17001B6A")]
|
|
public int Seq
|
|
{
|
|
[Token(Token = "0x600AD16")]
|
|
[Address(RVA = "0x3FA560", Offset = "0x3F9360", VA = "0x1803FA560")]
|
|
get
|
|
{
|
|
return this.mMessageSeq;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17001B6B RID: 7019
|
|
// (get) Token: 0x0600AD17 RID: 44311 RVA: 0x0025AD94 File Offset: 0x00258F94
|
|
[Token(Token = "0x17001B6B")]
|
|
public byte Type
|
|
{
|
|
[Token(Token = "0x600AD17")]
|
|
[Address(RVA = "0x40B710", Offset = "0x40A510", VA = "0x18040B710")]
|
|
get
|
|
{
|
|
return this.mMsgType;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17001B6C RID: 7020
|
|
// (get) Token: 0x0600AD18 RID: 44312 RVA: 0x0025ADA8 File Offset: 0x00258FA8
|
|
[Token(Token = "0x17001B6C")]
|
|
public byte[] Body
|
|
{
|
|
[Token(Token = "0x600AD18")]
|
|
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40")]
|
|
get
|
|
{
|
|
return this.mBody;
|
|
}
|
|
}
|
|
|
|
// Token: 0x04006E9E RID: 28318
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4006E9E")]
|
|
private readonly int mMessageSeq;
|
|
|
|
// Token: 0x04006E9F RID: 28319
|
|
[FieldOffset(Offset = "0x14")]
|
|
[Token(Token = "0x4006E9F")]
|
|
private readonly byte mMsgType;
|
|
|
|
// Token: 0x04006EA0 RID: 28320
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4006EA0")]
|
|
private readonly byte[] mBody;
|
|
}
|
|
|
|
// Token: 0x02001B2B RID: 6955
|
|
[Token(Token = "0x2001B2B")]
|
|
internal class RecordLayerBuffer : MemoryStream
|
|
{
|
|
// Token: 0x0600AD19 RID: 44313 RVA: 0x0025ADBC File Offset: 0x00258FBC
|
|
[Token(Token = "0x600AD19")]
|
|
[Address(RVA = "0x18BD170", Offset = "0x18BBF70", VA = "0x1818BD170")]
|
|
internal RecordLayerBuffer(int size)
|
|
: base(size)
|
|
{
|
|
}
|
|
|
|
// Token: 0x0600AD1A RID: 44314 RVA: 0x0025ADD0 File Offset: 0x00258FD0
|
|
[Token(Token = "0x600AD1A")]
|
|
[Address(RVA = "0x18BD0B0", Offset = "0x18BBEB0", VA = "0x1818BD0B0")]
|
|
internal void SendToRecordLayer(DtlsRecordLayer recordLayer)
|
|
{
|
|
bool canWrite = this.CanWrite;
|
|
}
|
|
}
|
|
|
|
// Token: 0x02001B2C RID: 6956
|
|
[Token(Token = "0x2001B2C")]
|
|
internal class Retransmit : DtlsHandshakeRetransmit
|
|
{
|
|
// Token: 0x0600AD1B RID: 44315 RVA: 0x0025ADEC File Offset: 0x00258FEC
|
|
[Token(Token = "0x600AD1B")]
|
|
[Address(RVA = "0x3FFB80", Offset = "0x3FE980", VA = "0x1803FFB80")]
|
|
internal Retransmit(DtlsReliableHandshake outer)
|
|
{
|
|
this.mOuter = outer;
|
|
}
|
|
|
|
// Token: 0x0600AD1C RID: 44316 RVA: 0x0025AE08 File Offset: 0x00259008
|
|
[Token(Token = "0x600AD1C")]
|
|
[Address(RVA = "0x18BE330", Offset = "0x18BD130", VA = "0x1818BE330", Slot = "4")]
|
|
public void ReceivedHandshakeRecord(int epoch, byte[] buf, int off, int len)
|
|
{
|
|
DtlsReliableHandshake dtlsReliableHandshake = this.mOuter;
|
|
}
|
|
|
|
// Token: 0x04006EA1 RID: 28321
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4006EA1")]
|
|
private readonly DtlsReliableHandshake mOuter;
|
|
}
|
|
}
|
|
}
|