using System; using System.Collections; using System.IO; using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Ocsp; using BestHTTP.SecureProtocol.Org.BouncyCastle.Security; using Cpp2IlInjected; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls { // Token: 0x02001B2E RID: 6958 [Token(Token = "0x2001B2E")] public class DtlsServerProtocol : DtlsProtocol { // Token: 0x0600AD21 RID: 44321 RVA: 0x0025AEE0 File Offset: 0x002590E0 [Token(Token = "0x600AD21")] [Address(RVA = "0x18BA830", Offset = "0x18B9630", VA = "0x1818BA830")] public DtlsServerProtocol(SecureRandom secureRandom) : base(secureRandom) { } // Token: 0x17001B6D RID: 7021 // (get) Token: 0x0600AD22 RID: 44322 RVA: 0x0025AEFC File Offset: 0x002590FC // (set) Token: 0x0600AD23 RID: 44323 RVA: 0x0025AF10 File Offset: 0x00259110 [Token(Token = "0x17001B6D")] public virtual bool VerifyRequests { [Token(Token = "0x600AD22")] [Address(RVA = "0x42C2C0", Offset = "0x42B0C0", VA = "0x18042C2C0", Slot = "5")] get { return this.mVerifyRequests; } [Token(Token = "0x600AD23")] [Address(RVA = "0x43DE90", Offset = "0x43CC90", VA = "0x18043DE90", Slot = "6")] set { this.mVerifyRequests = value; } } // Token: 0x0600AD24 RID: 44324 RVA: 0x0025AF24 File Offset: 0x00259124 [Token(Token = "0x600AD24")] [Address(RVA = "0x18B8320", Offset = "0x18B7120", VA = "0x1818B8320", Slot = "7")] public virtual DtlsTransport Accept(TlsServer server, DatagramTransport transport) { /* An exception occurred when decompiling this method (0600AD24) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsTransport BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol::Accept(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsServer,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DatagramTransport) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_71: stloc:ArgumentNullException(var_16_7B, newobj:ArgumentNullException(ArgumentNullException::.ctor, ldstr:string("transport"))) } 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 1660 */; } // Token: 0x0600AD25 RID: 44325 RVA: 0x0025AFB0 File Offset: 0x002591B0 [Token(Token = "0x600AD25")] [Address(RVA = "0x18B82C0", Offset = "0x18B70C0", VA = "0x1818B82C0", Slot = "8")] internal virtual void AbortServerHandshake(DtlsServerProtocol.ServerHandshakeState state, DtlsRecordLayer recordLayer, byte alertDescription) { recordLayer.Failed(); } // Token: 0x0600AD26 RID: 44326 RVA: 0x0025AFCC File Offset: 0x002591CC [Token(Token = "0x600AD26")] [Address(RVA = "0x18B9D90", Offset = "0x18B8B90", VA = "0x1818B9D90", Slot = "9")] internal virtual DtlsTransport ServerHandshake(DtlsServerProtocol.ServerHandshakeState state, DtlsRecordLayer recordLayer) { /* An exception occurred when decompiling this method (0600AD26) ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsTransport BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol::ServerHandshake(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol/ServerHandshakeState,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsRecordLayer) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_30F: stloc:TlsFatalAlert(var_66_316, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_67))) stloc:TlsFatalAlert(var_68_31F, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_69))) } 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 1660 */; } // Token: 0x0600AD27 RID: 44327 RVA: 0x0025B2FC File Offset: 0x002594FC [Token(Token = "0x600AD27")] [Address(RVA = "0x18B8F60", Offset = "0x18B7D60", VA = "0x1818B8F60", Slot = "10")] protected virtual void InvalidateSession(DtlsServerProtocol.ServerHandshakeState state) { SessionParameters sessionParameters = state.sessionParameters; if (sessionParameters != 0) { sessionParameters.Clear(); state.sessionParameters = (ulong)0L; } if (state.tlsSession != 0) { state.tlsSession = (ulong)0L; } } // Token: 0x0600AD28 RID: 44328 RVA: 0x0025B33C File Offset: 0x0025953C [Token(Token = "0x600AD28")] [Address(RVA = "0x18B86E0", Offset = "0x18B74E0", VA = "0x1818B86E0", Slot = "11")] protected virtual byte[] GenerateCertificateRequest(DtlsServerProtocol.ServerHandshakeState state, CertificateRequest certificateRequest) { MemoryStream memoryStream = new MemoryStream(); IList certificateAuthorities = certificateRequest.CertificateAuthorities; ((IDisposable)memoryStream).Dispose(); throw new NullReferenceException(); } // Token: 0x0600AD29 RID: 44329 RVA: 0x0025B364 File Offset: 0x00259564 [Token(Token = "0x600AD29")] [Address(RVA = "0x18B8770", Offset = "0x18B7570", VA = "0x1818B8770", Slot = "12")] protected virtual byte[] GenerateCertificateStatus(DtlsServerProtocol.ServerHandshakeState state, CertificateStatus certificateStatus) { MemoryStream memoryStream = new MemoryStream(); OcspResponse ocspResponse = certificateStatus.GetOcspResponse(); ((IDisposable)memoryStream).Dispose(); throw new NullReferenceException(); } // Token: 0x0600AD2A RID: 44330 RVA: 0x0025B38C File Offset: 0x0025958C [Token(Token = "0x600AD2A")] [Address(RVA = "0x18B8800", Offset = "0x18B7600", VA = "0x1818B8800", Slot = "13")] protected virtual byte[] GenerateNewSessionTicket(DtlsServerProtocol.ServerHandshakeState state, NewSessionTicket newSessionTicket) { MemoryStream memoryStream = new MemoryStream(); byte[] ticket = newSessionTicket.Ticket; ((IDisposable)memoryStream).Dispose(); throw new NullReferenceException(); } // Token: 0x0600AD2B RID: 44331 RVA: 0x0025B3B4 File Offset: 0x002595B4 [Token(Token = "0x600AD2B")] [Address(RVA = "0x18B8890", Offset = "0x18B7690", VA = "0x1818B8890", Slot = "14")] protected virtual byte[] GenerateServerHello(DtlsServerProtocol.ServerHandshakeState state) { /* An exception occurred when decompiling this method (0600AD2B) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Byte[] BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol::GenerateServerHello(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol/ServerHandshakeState) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_220: stloc:TlsFatalAlert(var_38_227, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_39))) } 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 1660 */; } // Token: 0x0600AD2C RID: 44332 RVA: 0x0025B5EC File Offset: 0x002597EC [Token(Token = "0x600AD2C")] [Address(RVA = "0x18B8FD0", Offset = "0x18B7DD0", VA = "0x1818B8FD0", Slot = "15")] protected virtual void NotifyClientCertificate(DtlsServerProtocol.ServerHandshakeState state, Certificate clientCertificate) { /* An exception occurred when decompiling this method (0600AD2C) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol::NotifyClientCertificate(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol/ServerHandshakeState,BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.Certificate) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_50: stloc:InvalidOperationException(var_5_55, newobj:InvalidOperationException(InvalidOperationException::.ctor)) } 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 1660 */; } // Token: 0x0600AD2D RID: 44333 RVA: 0x0025B650 File Offset: 0x00259850 [Token(Token = "0x600AD2D")] [Address(RVA = "0x18B95C0", Offset = "0x18B83C0", VA = "0x1818B95C0", Slot = "16")] protected virtual void ProcessClientCertificate(DtlsServerProtocol.ServerHandshakeState state, byte[] body) { int num; MemoryStream memoryStream = new MemoryStream(body, num != 0); num = 0; Certificate certificate = Certificate.Parse(memoryStream); TlsProtocol.AssertEmpty(memoryStream); } // Token: 0x0600AD2E RID: 44334 RVA: 0x0025B674 File Offset: 0x00259874 [Token(Token = "0x600AD2E")] [Address(RVA = "0x18B9160", Offset = "0x18B7F60", VA = "0x1818B9160", Slot = "17")] protected virtual void ProcessCertificateVerify(DtlsServerProtocol.ServerHandshakeState state, byte[] body, TlsHandshakeHash prepareFinishHash) { /* An exception occurred when decompiling this method (0600AD2E) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol::ProcessCertificateVerify(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol/ServerHandshakeState,System.Byte[],BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.TlsHandshakeHash) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_106: stloc:InvalidOperationException(var_17_10B, newobj:InvalidOperationException(InvalidOperationException::.ctor)) } 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 1660 */; } // Token: 0x0600AD2F RID: 44335 RVA: 0x0025B790 File Offset: 0x00259990 [Token(Token = "0x600AD2F")] [Address(RVA = "0x18B9680", Offset = "0x18B8480", VA = "0x1818B9680", Slot = "18")] protected virtual void ProcessClientHello(DtlsServerProtocol.ServerHandshakeState state, byte[] body) { /* An exception occurred when decompiling this method (0600AD2F) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol::ProcessClientHello(BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Tls.DtlsServerProtocol/ServerHandshakeState,System.Byte[]) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_18F: stloc:TlsFatalAlert(var_35_196, newobj:TlsFatalAlert(TlsFatalAlert::.ctor, ldloc:uint64[exp:uint8](var_36))) } 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 1660 */; } // Token: 0x0600AD30 RID: 44336 RVA: 0x0025B934 File Offset: 0x00259B34 [Token(Token = "0x600AD30")] [Address(RVA = "0x18B9C50", Offset = "0x18B8A50", VA = "0x1818B9C50", Slot = "19")] protected virtual void ProcessClientKeyExchange(DtlsServerProtocol.ServerHandshakeState state, byte[] body) { int num; MemoryStream memoryStream = new MemoryStream(body, num != 0); num = 0; TlsKeyExchange keyExchange = state.keyExchange; TlsProtocol.AssertEmpty(memoryStream); } // Token: 0x0600AD31 RID: 44337 RVA: 0x0025B960 File Offset: 0x00259B60 [Token(Token = "0x600AD31")] [Address(RVA = "0x18B9CF0", Offset = "0x18B8AF0", VA = "0x1818B9CF0", Slot = "20")] protected virtual void ProcessClientSupplementalData(DtlsServerProtocol.ServerHandshakeState state, byte[] body) { int num; MemoryStream memoryStream = new MemoryStream(body, num != 0); num = 0; IList list = TlsProtocol.ReadSupplementalDataMessage(memoryStream); TlsServer server = state.server; throw new NullReferenceException(); } // Token: 0x0600AD32 RID: 44338 RVA: 0x0025B98C File Offset: 0x00259B8C [Token(Token = "0x600AD32")] [Address(RVA = "0x18B8670", Offset = "0x18B7470", VA = "0x1818B8670", Slot = "21")] protected virtual bool ExpectCertificateVerifyMessage(DtlsServerProtocol.ServerHandshakeState state) { short clientCertificateType = state.clientCertificateType; return TlsUtilities.HasSigningCapability((byte)clientCertificateType); } // Token: 0x04006EA6 RID: 28326 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4006EA6")] protected bool mVerifyRequests = true; // Token: 0x02001B2F RID: 6959 [Token(Token = "0x2001B2F")] protected internal class ServerHandshakeState { // Token: 0x0600AD33 RID: 44339 RVA: 0x0025B9B0 File Offset: 0x00259BB0 [Token(Token = "0x600AD33")] [Address(RVA = "0x18BE370", Offset = "0x18BD170", VA = "0x1818BE370")] public ServerHandshakeState() { } // Token: 0x04006EA7 RID: 28327 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4006EA7")] internal TlsServer server; // Token: 0x04006EA8 RID: 28328 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4006EA8")] internal TlsServerContextImpl serverContext; // Token: 0x04006EA9 RID: 28329 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4006EA9")] internal TlsSession tlsSession; // Token: 0x04006EAA RID: 28330 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4006EAA")] internal SessionParameters sessionParameters; // Token: 0x04006EAB RID: 28331 [FieldOffset(Offset = "0x30")] [Token(Token = "0x4006EAB")] internal SessionParameters.Builder sessionParametersBuilder; // Token: 0x04006EAC RID: 28332 [FieldOffset(Offset = "0x38")] [Token(Token = "0x4006EAC")] internal int[] offeredCipherSuites; // Token: 0x04006EAD RID: 28333 [FieldOffset(Offset = "0x40")] [Token(Token = "0x4006EAD")] internal byte[] offeredCompressionMethods; // Token: 0x04006EAE RID: 28334 [FieldOffset(Offset = "0x48")] [Token(Token = "0x4006EAE")] internal IDictionary clientExtensions; // Token: 0x04006EAF RID: 28335 [FieldOffset(Offset = "0x50")] [Token(Token = "0x4006EAF")] internal IDictionary serverExtensions; // Token: 0x04006EB0 RID: 28336 [FieldOffset(Offset = "0x58")] [Token(Token = "0x4006EB0")] internal bool resumedSession; // Token: 0x04006EB1 RID: 28337 [FieldOffset(Offset = "0x59")] [Token(Token = "0x4006EB1")] internal bool secure_renegotiation; // Token: 0x04006EB2 RID: 28338 [FieldOffset(Offset = "0x5A")] [Token(Token = "0x4006EB2")] internal bool allowCertificateStatus; // Token: 0x04006EB3 RID: 28339 [FieldOffset(Offset = "0x5B")] [Token(Token = "0x4006EB3")] internal bool expectSessionTicket; // Token: 0x04006EB4 RID: 28340 [FieldOffset(Offset = "0x60")] [Token(Token = "0x4006EB4")] internal TlsKeyExchange keyExchange; // Token: 0x04006EB5 RID: 28341 [FieldOffset(Offset = "0x68")] [Token(Token = "0x4006EB5")] internal TlsCredentials serverCredentials; // Token: 0x04006EB6 RID: 28342 [FieldOffset(Offset = "0x70")] [Token(Token = "0x4006EB6")] internal CertificateRequest certificateRequest; // Token: 0x04006EB7 RID: 28343 [FieldOffset(Offset = "0x78")] [Token(Token = "0x4006EB7")] internal short clientCertificateType = (short)((uint)(-1)); // Token: 0x04006EB8 RID: 28344 [FieldOffset(Offset = "0x80")] [Token(Token = "0x4006EB8")] internal Certificate clientCertificate; } } }