Files
2026-04-08 23:40:05 +02:00

1875 lines
75 KiB
C#

using System;
using System.Collections;
using System.IO;
using System.Runtime.InteropServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Collections;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Pkix
{
// Token: 0x020013A4 RID: 5028
[Token(Token = "0x20013A4")]
[StructLayout(3)]
public class PkixNameConstraintValidator
{
// Token: 0x06007F7C RID: 32636 RVA: 0x001AC16C File Offset: 0x001AA36C
[Token(Token = "0x6007F7C")]
[Address(RVA = "0xCE9250", Offset = "0xCE7C50", VA = "0x180CE9250")]
public PkixNameConstraintValidator()
{
HashSet hashSet = new HashSet();
this.excludedSubtreesDN = hashSet;
HashSet hashSet2 = new HashSet();
this.excludedSubtreesDNS = hashSet2;
HashSet hashSet3 = new HashSet();
this.excludedSubtreesEmail = hashSet3;
HashSet hashSet4 = new HashSet();
this.excludedSubtreesURI = hashSet4;
HashSet hashSet5 = new HashSet();
this.excludedSubtreesIP = hashSet5;
base..ctor();
}
// Token: 0x06007F7D RID: 32637 RVA: 0x001AC1C4 File Offset: 0x001AA3C4
[Token(Token = "0x6007F7D")]
[Address(RVA = "0xCE8EE0", Offset = "0xCE78E0", VA = "0x180CE8EE0")]
private static bool WithinDNSubtree(Asn1Sequence dns, Asn1Sequence subtree)
{
Asn1SequenceParser parser = subtree.Parser;
if (dns.Parser != 0)
{
}
throw new NullReferenceException();
}
// Token: 0x06007F7E RID: 32638 RVA: 0x001AC1E8 File Offset: 0x001AA3E8
[Token(Token = "0x6007F7E")]
[Address(RVA = "0xCE5070", Offset = "0xCE3A70", VA = "0x180CE5070")]
public void CheckPermittedDN(Asn1Sequence dns)
{
Asn1Encodable asn1Encodable;
if (this.permittedSubtreesDN != 0 && asn1Encodable != 0)
{
bool flag;
while (!flag)
{
}
}
}
// Token: 0x06007F7F RID: 32639 RVA: 0x001AC218 File Offset: 0x001AA418
[Token(Token = "0x6007F7F")]
[Address(RVA = "0xCE49E0", Offset = "0xCE33E0", VA = "0x180CE49E0")]
public void CheckExcludedDN(Asn1Sequence dns)
{
/*
An exception occurred when decompiling this method (06007F7F)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Pkix.PkixNameConstraintValidator::CheckExcludedDN(BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Asn1Sequence)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_12:
stloc:PkixNameConstraintValidatorException(var_3_1C, newobj:PkixNameConstraintValidatorException(PkixNameConstraintValidatorException::.ctor, ldstr:string("Subject distinguished name is from an excluded subtree")))
}
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: 0x06007F80 RID: 32640 RVA: 0x001AC244 File Offset: 0x001AA444
[Token(Token = "0x6007F80")]
[Address(RVA = "0xCE4F50", Offset = "0xCE3950", VA = "0x180CE4F50")]
private void CheckPermittedDN(ISet permitted, Asn1Sequence dns)
{
Asn1Encodable asn1Encodable;
if (permitted != 0 && asn1Encodable != 0)
{
bool flag;
while (!flag)
{
}
}
}
// Token: 0x06007F81 RID: 32641 RVA: 0x001AC270 File Offset: 0x001AA470
[Token(Token = "0x6007F81")]
[Address(RVA = "0xCE4B30", Offset = "0xCE3530", VA = "0x180CE4B30")]
private void CheckExcludedDN(ISet excluded, Asn1Sequence dns)
{
/*
An exception occurred when decompiling this method (06007F81)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Pkix.PkixNameConstraintValidator::CheckExcludedDN(BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Collections.ISet,BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Asn1Sequence)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_0B:
stloc:PkixNameConstraintValidatorException(var_2_15, newobj:PkixNameConstraintValidatorException(PkixNameConstraintValidatorException::.ctor, ldstr:string("Subject distinguished name is from an excluded subtree")))
}
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: 0x06007F82 RID: 32642 RVA: 0x001AC294 File Offset: 0x001AA494
[Token(Token = "0x6007F82")]
[Address(RVA = "0xCE6150", Offset = "0xCE4B50", VA = "0x180CE6150")]
private ISet IntersectDN(ISet permitted, ISet dns)
{
Asn1Sequence asn1Sequence;
for (;;)
{
HashSet hashSet = new HashSet();
if (hashSet == 0)
{
goto IL_43;
}
if (hashSet != 0 && hashSet != 0)
{
IDictionary impl = hashSet.impl;
if (permitted == 0)
{
break;
}
while (asn1Sequence == 0)
{
}
if (PkixNameConstraintValidator.WithinDNSubtree(asn1Sequence, asn1Sequence) || PkixNameConstraintValidator.WithinDNSubtree(asn1Sequence, asn1Sequence))
{
break;
}
}
}
while (asn1Sequence == 0)
{
}
IL_43:
throw new NullReferenceException();
}
// Token: 0x06007F83 RID: 32643 RVA: 0x001AC2EC File Offset: 0x001AA4EC
[Token(Token = "0x6007F83")]
[Address(RVA = "0xCE8660", Offset = "0xCE7060", VA = "0x180CE8660")]
private ISet UnionDN(ISet excluded, Asn1Sequence dn)
{
int num;
do
{
HashSet hashSet = new HashSet();
num = 0;
if (num < excluded)
{
num += num;
num++;
}
int num2 = 0;
if (hashSet == 0)
{
goto IL_52;
}
if (num < num2)
{
num += num;
num++;
}
if (num == 0)
{
num += 19;
num++;
num += 19;
}
}
while (num == 0);
if (PkixNameConstraintValidator.WithinDNSubtree(dn, num) || !PkixNameConstraintValidator.WithinDNSubtree(num, dn))
{
}
IL_52:
if (dn != 0)
{
}
throw new NullReferenceException();
}
// Token: 0x06007F84 RID: 32644 RVA: 0x001AC354 File Offset: 0x001AA554
[Token(Token = "0x6007F84")]
[Address(RVA = "0xCE63C0", Offset = "0xCE4DC0", VA = "0x180CE63C0")]
private ISet IntersectEmail(ISet permitted, ISet emails)
{
HashSet hashSet;
string @string;
for (;;)
{
hashSet = new HashSet();
if (hashSet == 0)
{
goto IL_4C;
}
if (hashSet != 0 && hashSet != 0)
{
IDictionary impl = hashSet.impl;
DerIA5String derIA5String;
@string = derIA5String.GetString();
if (permitted == 0)
{
break;
}
while (@string == 0)
{
}
if (@string == 0 || @string != 0)
{
goto IL_3C;
}
}
}
IL_47:
while (@string == 0)
{
}
goto IL_4C;
IL_3C:
this.intersectEmail(@string, @string, hashSet);
goto IL_47;
IL_4C:
throw new NullReferenceException();
}
// Token: 0x06007F85 RID: 32645 RVA: 0x001AC3B4 File Offset: 0x001AA5B4
[Token(Token = "0x6007F85")]
[Address(RVA = "0xCE88E0", Offset = "0xCE72E0", VA = "0x180CE88E0")]
private ISet UnionEmail(ISet excluded, string email)
{
HashSet hashSet;
int num;
do
{
hashSet = new HashSet();
num = 0;
if (num < excluded)
{
num += num;
num++;
}
int num2 = 0;
if (hashSet == 0)
{
goto IL_4D;
}
if (num < num2)
{
num += num;
num++;
}
}
while (num != 0 && num == 0);
this.unionEmail(num, email, hashSet);
num += num;
num += 19;
num += num;
num++;
num += 19;
IL_4D:
if (email != 0)
{
}
throw new NullReferenceException();
}
// Token: 0x06007F86 RID: 32646 RVA: 0x001AC418 File Offset: 0x001AA618
[Token(Token = "0x6007F86")]
[Address(RVA = "0xCE6B10", Offset = "0xCE5510", VA = "0x180CE6B10")]
private ISet IntersectIP(ISet permitted, ISet ips)
{
HashSet hashSet;
do
{
hashSet = new HashSet();
if (hashSet == 0)
{
goto IL_34;
}
}
while (hashSet == 0 || hashSet == 0);
IDictionary impl = hashSet.impl;
Asn1OctetString asn1OctetString;
Stream octetStream = asn1OctetString.GetOctetStream();
if (permitted != 0)
{
while (octetStream == 0)
{
}
}
while (octetStream == 0)
{
}
IL_34:
throw new NullReferenceException();
}
// Token: 0x06007F87 RID: 32647 RVA: 0x001AC460 File Offset: 0x001AA660
[Token(Token = "0x6007F87")]
[Address(RVA = "0xCE8BB0", Offset = "0xCE75B0", VA = "0x180CE8BB0")]
private ISet UnionIP(ISet excluded, byte[] ip)
{
int num;
do
{
HashSet hashSet = new HashSet();
num = 0;
if (num < excluded)
{
num += num;
num++;
}
int num2 = 0;
if (hashSet == 0)
{
goto IL_57;
}
if (num < num2)
{
num += num;
num++;
}
if (num == 0)
{
num += 19;
num++;
num += 19;
}
}
while (num == 0);
HashSet hashSet2 = new HashSet();
bool flag;
if (!flag)
{
}
if (num < hashSet2)
{
num += num;
num++;
}
hashSet2 += hashSet2;
IL_57:
if (ip != 0)
{
}
throw new NullReferenceException();
}
// Token: 0x06007F88 RID: 32648 RVA: 0x001AC4D0 File Offset: 0x001AA6D0
[Token(Token = "0x6007F88")]
[Address(RVA = "0xCE8AF0", Offset = "0xCE74F0", VA = "0x180CE8AF0")]
private ISet UnionIPRange(byte[] ipWithSubmask1, byte[] ipWithSubmask2)
{
HashSet hashSet = new HashSet();
if (!Arrays.AreEqual(ipWithSubmask1, ipWithSubmask2))
{
}
throw new NullReferenceException();
}
// Token: 0x06007F89 RID: 32649 RVA: 0x001AC4F4 File Offset: 0x001AA6F4
[Token(Token = "0x6007F89")]
[Address(RVA = "0xCE6740", Offset = "0xCE5140", VA = "0x180CE6740")]
private ISet IntersectIPRange(byte[] ipWithSubmask1, byte[] ipWithSubmask2)
{
int length = ipWithSubmask2.Length;
if (ipWithSubmask1.Length == length)
{
byte[][] array = this.ExtractIPsAndSubnetMasks(ipWithSubmask1, ipWithSubmask2);
int length2 = array.Length;
byte[] array2 = array[1];
byte[] array3 = array[3];
byte[] array4 = array[2];
byte[] array5 = array[0];
byte[][] array6 = this.MinMaxIPs(array5, array2, array4, array3);
int length3 = array6.Length;
byte[] array7 = array6[1];
byte[] array8 = array6[3];
int num = 0;
int num2 = 0;
int length4 = array7.Length;
if (num2 < length4)
{
num++;
}
byte[] array9 = array6[2];
byte[] array10 = PkixNameConstraintValidator.Max(array6[0], array9);
if (Arrays.AreEqual(array10, array8) || !Arrays.AreEqual(PkixNameConstraintValidator.Max(array10, array8), array10))
{
int length5 = array6.Length;
byte[] array11 = array6[2];
byte[] array12 = PkixNameConstraintValidator.Or(array6[0], array11);
byte[] array13 = PkixNameConstraintValidator.Or(array2, array3);
HashSet hashSet = new HashSet();
int num3 = 0;
int length6 = array12.Length;
byte[] array14 = new byte[num3];
int num4 = 0;
int num5 = 0;
Array.Copy(array12, num5, array14, num4, length6);
int num6 = 0;
Array.Copy(array13, num6, array14, length6, length6);
}
}
HashSet hashSet2 = new HashSet();
throw new NullReferenceException();
}
// Token: 0x06007F8A RID: 32650 RVA: 0x001AC64C File Offset: 0x001AA84C
[Token(Token = "0x6007F8A")]
[Address(RVA = "0xCE7360", Offset = "0xCE5D60", VA = "0x180CE7360")]
private byte[] IpWithSubnetMask(byte[] ip, byte[] subnetMask)
{
int length = ip.Length;
byte[] array = new byte[ip];
int num = 0;
int num2 = 0;
Array.Copy(ip, num2, array, num, length);
int num3 = 0;
Array.Copy(subnetMask, num3, array, length, length);
return array;
}
// Token: 0x06007F8B RID: 32651 RVA: 0x001AC68C File Offset: 0x001AA88C
[Token(Token = "0x6007F8B")]
[Address(RVA = "0xCE5C50", Offset = "0xCE4650", VA = "0x180CE5C50")]
private byte[][] ExtractIPsAndSubnetMasks(byte[] ipWithSubmask1, byte[] ipWithSubmask2)
{
int num = ipWithSubmask1.Length;
num -= ipWithSubmask1;
byte[] array = new byte[num];
byte[] array2 = new byte[num];
int num2 = 0;
int num3 = 0;
Array.Copy(ipWithSubmask1, num3, array, num2, num);
int num4 = 0;
Array.Copy(ipWithSubmask1, num, array2, num4, num);
byte[] array3 = new byte[num];
byte[] array4 = new byte[num];
int num5 = 0;
int num6 = 0;
Array.Copy(ipWithSubmask2, num6, array3, num5, num);
int num7 = 0;
Array.Copy(ipWithSubmask2, num, array4, num7, num);
byte[][] array5 = new byte[0][];
if (array != 0)
{
}
array5[0] = array;
if (array2 != 0)
{
}
array5[1] = array2;
if (array3 != 0)
{
}
array5[2] = array3;
if (array4 != 0)
{
}
array5[3] = array4;
return array5;
}
// Token: 0x06007F8C RID: 32652 RVA: 0x001AC750 File Offset: 0x001AA950
[Token(Token = "0x6007F8C")]
[Address(RVA = "0xCE7760", Offset = "0xCE6160", VA = "0x180CE7760")]
private byte[][] MinMaxIPs(byte[] ip1, byte[] subnetmask1, byte[] ip2, byte[] subnetmask2)
{
int length = ip1.Length;
byte[] array = new byte[length];
byte[] array2 = new byte[length];
byte[] array3 = new byte[length];
byte[] array4 = new byte[length];
int num = 0;
if (length > 0)
{
num++;
}
byte[][] array5 = new byte[4][];
if (array != 0)
{
}
array5[0] = array;
if (array2 != 0)
{
}
array5[1] = array2;
if (array3 != 0)
{
}
array5[2] = array3;
if (array4 != 0)
{
}
array5[3] = array4;
return array5;
}
// Token: 0x06007F8D RID: 32653 RVA: 0x001AC7D4 File Offset: 0x001AA9D4
[Token(Token = "0x6007F8D")]
[Address(RVA = "0xCE5190", Offset = "0xCE3B90", VA = "0x180CE5190")]
private void CheckPermittedEmail(ISet permitted, string email)
{
/*
An exception occurred when decompiling this method (06007F8D)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Pkix.PkixNameConstraintValidator::CheckPermittedEmail(BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Collections.ISet,System.String)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_25:
stloc:PkixNameConstraintValidatorException(var_1_2F, newobj:PkixNameConstraintValidatorException(PkixNameConstraintValidatorException::.ctor, ldstr:string("Subject email address is not from a permitted subtree.")))
}
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: 0x06007F8E RID: 32654 RVA: 0x001AC810 File Offset: 0x001AAA10
[Token(Token = "0x6007F8E")]
[Address(RVA = "0xCE4C80", Offset = "0xCE3680", VA = "0x180CE4C80")]
private void CheckExcludedEmail(ISet excluded, string email)
{
/*
An exception occurred when decompiling this method (06007F8E)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Pkix.PkixNameConstraintValidator::CheckExcludedEmail(BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Collections.ISet,System.String)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_12:
stloc:PkixNameConstraintValidatorException(var_1_1C, newobj:PkixNameConstraintValidatorException(PkixNameConstraintValidatorException::.ctor, ldstr:string("Email address is from an excluded subtree.")))
}
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: 0x06007F8F RID: 32655 RVA: 0x001AC83C File Offset: 0x001AAA3C
[Token(Token = "0x6007F8F")]
[Address(RVA = "0xCE52C0", Offset = "0xCE3CC0", VA = "0x180CE52C0")]
private void CheckPermittedIP(ISet permitted, byte[] ip)
{
if (permitted != 0)
{
bool flag;
while (!flag)
{
}
}
}
// Token: 0x06007F90 RID: 32656 RVA: 0x001AC86C File Offset: 0x001AAA6C
[Token(Token = "0x6007F90")]
[Address(RVA = "0xCE9480", Offset = "0xCE7E80", VA = "0x180CE9480")]
private void checkExcludedIP(ISet excluded, byte[] ip)
{
/*
An exception occurred when decompiling this method (06007F90)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Pkix.PkixNameConstraintValidator::checkExcludedIP(BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Collections.ISet,System.Byte[])
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_05:
stloc:PkixNameConstraintValidatorException(var_1_0F, newobj:PkixNameConstraintValidatorException(PkixNameConstraintValidatorException::.ctor, ldstr:string("IP is from an excluded subtree.")))
}
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: 0x06007F91 RID: 32657 RVA: 0x001AC888 File Offset: 0x001AAA88
[Token(Token = "0x6007F91")]
[Address(RVA = "0xCE7410", Offset = "0xCE5E10", VA = "0x180CE7410")]
private bool IsIPConstrained(byte[] ip, byte[] constraint)
{
int num = constraint.Length;
int length = ip.Length;
num -= ip;
if (length == num)
{
byte[] array = new byte[length];
int num2 = 0;
int num3 = 0;
Array.Copy(constraint, length, array, num3, length);
byte[] array2 = new byte[length];
byte[] array3 = new byte[length];
if (length > 0)
{
num2++;
}
return Arrays.AreEqual(array2, array3);
}
throw new NullReferenceException();
}
// Token: 0x06007F92 RID: 32658 RVA: 0x001AC8EC File Offset: 0x001AAAEC
[Token(Token = "0x6007F92")]
[Address(RVA = "0xCE5770", Offset = "0xCE4170", VA = "0x180CE5770")]
private bool EmailIsConstrained(string email, string constraint)
{
string text;
for (;;)
{
int num2;
int num = num2 + 1;
text = email.Substring(num);
int num3;
if (num3 == -1)
{
break;
}
string text3;
string text2 = Platform.ToUpperInvariant(text3);
string text4 = Platform.ToUpperInvariant(constraint);
if (!text2.Equals(text4))
{
goto IL_65;
}
}
int num4 = 0;
char c = constraint[num4];
if (this.WithinDomain(text, constraint))
{
return true;
}
IL_65:
throw new NullReferenceException();
}
// Token: 0x06007F93 RID: 32659 RVA: 0x001AC964 File Offset: 0x001AAB64
[Token(Token = "0x6007F93")]
[Address(RVA = "0xCE9000", Offset = "0xCE7A00", VA = "0x180CE9000")]
private bool WithinDomain(string testDomain, string domain)
{
uint num3;
for (;;)
{
if (Platform.StartsWith(domain, "."))
{
string text = domain.Substring(1);
}
uint num;
char[] array = new char[] { (char)num };
string[] array2 = domain.Split(array);
char[] array3 = new char[array];
array3[0] = (char)num;
string[] array4 = testDomain.Split(array3);
int num2 = array4.Length;
int length = array2.Length;
string text2;
if (num2 > length)
{
num2 -= length;
int length2 = array2.Length;
if (num3 >= (uint)length2)
{
goto IL_CE;
}
int length3 = array4.Length;
if (num3 != (uint)(-1))
{
text2 = array4[(int)num3];
string text3 = array2[(int)num3];
if (Platform.EqualsIgnoreCase(text2, text3))
{
break;
}
}
}
IL_AB:
int num4 = num2 - 1;
if (!text2.Equals(""))
{
break;
}
continue;
goto IL_AB;
}
num3 += (uint)1;
IL_CE:
throw new NullReferenceException();
}
// Token: 0x06007F94 RID: 32660 RVA: 0x001ACA44 File Offset: 0x001AAC44
[Token(Token = "0x6007F94")]
[Address(RVA = "0xCE4DB0", Offset = "0xCE37B0", VA = "0x180CE4DB0")]
private void CheckPermittedDNS(ISet permitted, string dns)
{
/*
An exception occurred when decompiling this method (06007F94)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Pkix.PkixNameConstraintValidator::CheckPermittedDNS(BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Collections.ISet,System.String)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_3D:
stloc:PkixNameConstraintValidatorException(var_3_47, newobj:PkixNameConstraintValidatorException(PkixNameConstraintValidatorException::.ctor, ldstr:string("DNS is not from a permitted subtree.")))
}
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: 0x06007F95 RID: 32661 RVA: 0x001ACA98 File Offset: 0x001AAC98
[Token(Token = "0x6007F95")]
[Address(RVA = "0xCE9320", Offset = "0xCE7D20", VA = "0x180CE9320")]
private void checkExcludedDNS(ISet excluded, string dns)
{
/*
An exception occurred when decompiling this method (06007F95)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Pkix.PkixNameConstraintValidator::checkExcludedDNS(BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Collections.ISet,System.String)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_1C:
stloc:PkixNameConstraintValidatorException(var_1_26, newobj:PkixNameConstraintValidatorException(PkixNameConstraintValidatorException::.ctor, ldstr:string("DNS is from an excluded subtree.")))
}
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: 0x06007F96 RID: 32662 RVA: 0x001ACACC File Offset: 0x001AACCC
[Token(Token = "0x6007F96")]
[Address(RVA = "0xCEB0A0", Offset = "0xCE9AA0", VA = "0x180CEB0A0")]
private void unionEmail(string email1, string email2, ISet union)
{
int num;
if (num == -1)
{
if (!Platform.StartsWith(email1, "."))
{
int num2;
if (num2 != -1 || (!Platform.StartsWith(email2, ".") && Platform.EqualsIgnoreCase(email1, email2)) || !this.WithinDomain(email1, email2))
{
}
int num4;
int num3 = num4 + 1;
string text = email2.Substring(num3);
}
int num5;
if (num5 == -1)
{
if (!Platform.StartsWith(email2, "."))
{
bool flag = this.WithinDomain(email2, email1);
}
if (!this.WithinDomain(email1, email2) && !Platform.EqualsIgnoreCase(email1, email2))
{
bool flag2 = this.WithinDomain(email2, email1);
}
}
int num7;
int num6 = num7 + 1;
string text2 = email2.Substring(num6);
bool flag3 = this.WithinDomain(text2, email1);
}
int num9;
int num8 = num9 + 1;
string text3 = email1.Substring(num8);
int num10;
while (num10 != -1)
{
}
if (!Platform.StartsWith(email2, "."))
{
bool flag4 = Platform.EqualsIgnoreCase(text3, email2);
}
throw new NullReferenceException();
}
// Token: 0x06007F97 RID: 32663 RVA: 0x001ACBAC File Offset: 0x001AADAC
[Token(Token = "0x6007F97")]
[Address(RVA = "0xCEB640", Offset = "0xCEA040", VA = "0x180CEB640")]
private void unionURI(string email1, string email2, ISet union)
{
int num;
if (num == -1)
{
if (!Platform.StartsWith(email1, "."))
{
int num2;
if (num2 != -1 || (!Platform.StartsWith(email2, ".") && Platform.EqualsIgnoreCase(email1, email2)) || !this.WithinDomain(email1, email2))
{
}
int num4;
int num3 = num4 + 1;
string text = email2.Substring(num3);
}
int num5;
if (num5 == -1)
{
if (!Platform.StartsWith(email2, "."))
{
bool flag = this.WithinDomain(email2, email1);
}
if (!this.WithinDomain(email1, email2) && !Platform.EqualsIgnoreCase(email1, email2))
{
bool flag2 = this.WithinDomain(email2, email1);
}
}
int num7;
int num6 = num7 + 1;
string text2 = email2.Substring(num6);
bool flag3 = this.WithinDomain(text2, email1);
}
int num9;
int num8 = num9 + 1;
string text3 = email1.Substring(num8);
int num10;
while (num10 != -1)
{
}
if (!Platform.StartsWith(email2, "."))
{
bool flag4 = Platform.EqualsIgnoreCase(text3, email2);
}
throw new NullReferenceException();
}
// Token: 0x06007F98 RID: 32664 RVA: 0x001ACC8C File Offset: 0x001AAE8C
[Token(Token = "0x6007F98")]
[Address(RVA = "0xCEA280", Offset = "0xCE8C80", VA = "0x180CEA280")]
private ISet intersectDNS(ISet permitted, ISet dnss)
{
string @string;
for (;;)
{
HashSet hashSet = new HashSet();
if (hashSet == 0)
{
goto IL_58;
}
if (hashSet != 0 && hashSet != 0)
{
IDictionary impl = hashSet.impl;
DerIA5String derIA5String;
@string = derIA5String.GetString();
if (permitted == 0)
{
break;
}
while (@string == 0)
{
}
if ((@string == 0 || @string != 0) && (this.WithinDomain(@string, @string) || this.WithinDomain(@string, @string)))
{
break;
}
}
}
while (@string == 0)
{
}
IL_58:
throw new NullReferenceException();
}
// Token: 0x06007F99 RID: 32665 RVA: 0x001ACCF8 File Offset: 0x001AAEF8
[Token(Token = "0x6007F99")]
[Address(RVA = "0xCEAE30", Offset = "0xCE9830", VA = "0x180CEAE30")]
protected ISet unionDNS(ISet excluded, string dns)
{
int num;
do
{
HashSet hashSet = new HashSet();
num = 0;
if (num < excluded)
{
num += num;
num++;
}
int num2 = 0;
if (hashSet == 0)
{
goto IL_44;
}
if (num < num2)
{
num += num;
num++;
}
}
while (num != 0 && num == 0);
if (this.WithinDomain(num, dns) || !this.WithinDomain(dns, num))
{
}
IL_44:
if (dns != 0)
{
}
throw new NullReferenceException();
}
// Token: 0x06007F9A RID: 32666 RVA: 0x001ACD54 File Offset: 0x001AAF54
[Token(Token = "0x6007F9A")]
[Address(RVA = "0xCEA510", Offset = "0xCE8F10", VA = "0x180CEA510")]
private void intersectEmail(string email1, string email2, ISet intersect)
{
int num;
while (num == -1)
{
if (!Platform.StartsWith(email1, "."))
{
int num2;
if (num2 == -1)
{
if (!Platform.StartsWith(email2, "."))
{
if (Platform.EqualsIgnoreCase(email1, email2))
{
}
return;
}
bool flag = this.WithinDomain(email1, email2);
}
int num4;
int num3 = num4 + 1;
bool flag2 = Platform.EqualsIgnoreCase(email2.Substring(num3), email1);
}
int num5;
if (num5 == -1)
{
if (!Platform.StartsWith(email2, "."))
{
}
if (this.WithinDomain(email1, email2) || Platform.EqualsIgnoreCase(email1, email2))
{
continue;
}
}
int num7;
int num6 = num7 + 1;
string text = email2.Substring(num6);
if (this.WithinDomain(text, email1))
{
break;
}
}
int num9;
int num8 = num9 + 1;
string text2 = email1.Substring(num8);
int num10;
while (num10 != -1)
{
}
if (!Platform.StartsWith(email2, "."))
{
}
bool flag3 = this.WithinDomain(text2, email2);
throw new NullReferenceException();
}
// Token: 0x06007F9B RID: 32667 RVA: 0x001ACE2C File Offset: 0x001AB02C
[Token(Token = "0x6007F9B")]
[Address(RVA = "0xCE95C0", Offset = "0xCE7FC0", VA = "0x180CE95C0")]
private void checkExcludedURI(ISet excluded, string uri)
{
/*
An exception occurred when decompiling this method (06007F9B)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Pkix.PkixNameConstraintValidator::checkExcludedURI(BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Collections.ISet,System.String)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_12:
stloc:PkixNameConstraintValidatorException(var_1_1C, newobj:PkixNameConstraintValidatorException(PkixNameConstraintValidatorException::.ctor, ldstr:string("URI is from an excluded subtree.")))
}
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: 0x06007F9C RID: 32668 RVA: 0x001ACE58 File Offset: 0x001AB058
[Token(Token = "0x6007F9C")]
[Address(RVA = "0xCEA870", Offset = "0xCE9270", VA = "0x180CEA870")]
private ISet intersectURI(ISet permitted, ISet uris)
{
HashSet hashSet;
string @string;
for (;;)
{
hashSet = new HashSet();
if (hashSet == 0)
{
goto IL_4C;
}
if (hashSet != 0 && hashSet != 0)
{
IDictionary impl = hashSet.impl;
DerIA5String derIA5String;
@string = derIA5String.GetString();
if (permitted == 0)
{
break;
}
while (@string == 0)
{
}
if (@string == 0 || @string != 0)
{
goto IL_3C;
}
}
}
IL_47:
while (@string == 0)
{
}
goto IL_4C;
IL_3C:
this.intersectURI(@string, @string, hashSet);
goto IL_47;
IL_4C:
throw new NullReferenceException();
}
// Token: 0x06007F9D RID: 32669 RVA: 0x001ACEB8 File Offset: 0x001AB0B8
[Token(Token = "0x6007F9D")]
[Address(RVA = "0xCEB430", Offset = "0xCE9E30", VA = "0x180CEB430")]
private ISet unionURI(ISet excluded, string uri)
{
HashSet hashSet;
int num;
do
{
hashSet = new HashSet();
num = 0;
if (num < excluded)
{
num += num;
num++;
}
int num2 = 0;
if (hashSet == 0)
{
goto IL_4D;
}
if (num < num2)
{
num += num;
num++;
}
}
while (num != 0 && num == 0);
this.unionURI(num, uri, hashSet);
num += num;
num += 19;
num += num;
num++;
num += 19;
IL_4D:
if (uri != 0)
{
}
throw new NullReferenceException();
}
// Token: 0x06007F9E RID: 32670 RVA: 0x001ACF1C File Offset: 0x001AB11C
[Token(Token = "0x6007F9E")]
[Address(RVA = "0xCEAAD0", Offset = "0xCE94D0", VA = "0x180CEAAD0")]
private void intersectURI(string email1, string email2, ISet intersect)
{
int num;
while (num == -1)
{
if (!Platform.StartsWith(email1, "."))
{
int num2;
if (num2 == -1)
{
if (!Platform.StartsWith(email2, "."))
{
if (Platform.EqualsIgnoreCase(email1, email2))
{
}
return;
}
bool flag = this.WithinDomain(email1, email2);
}
int num4;
int num3 = num4 + 1;
bool flag2 = Platform.EqualsIgnoreCase(email2.Substring(num3), email1);
}
int num5;
if (num5 == -1)
{
if (!Platform.StartsWith(email2, "."))
{
}
if (this.WithinDomain(email1, email2) || Platform.EqualsIgnoreCase(email1, email2))
{
continue;
}
}
int num7;
int num6 = num7 + 1;
string text = email2.Substring(num6);
if (this.WithinDomain(text, email1))
{
break;
}
}
int num9;
int num8 = num9 + 1;
string text2 = email1.Substring(num8);
int num10;
while (num10 != -1)
{
}
if (!Platform.StartsWith(email2, "."))
{
}
bool flag3 = this.WithinDomain(text2, email2);
throw new NullReferenceException();
}
// Token: 0x06007F9F RID: 32671 RVA: 0x001ACFF4 File Offset: 0x001AB1F4
[Token(Token = "0x6007F9F")]
[Address(RVA = "0xCE5410", Offset = "0xCE3E10", VA = "0x180CE5410")]
private void CheckPermittedURI(ISet permitted, string uri)
{
/*
An exception occurred when decompiling this method (06007F9F)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Pkix.PkixNameConstraintValidator::CheckPermittedURI(BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Collections.ISet,System.String)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_25:
stloc:PkixNameConstraintValidatorException(var_1_2F, newobj:PkixNameConstraintValidatorException(PkixNameConstraintValidatorException::.ctor, ldstr:string("URI is not from a permitted subtree.")))
}
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: 0x06007FA0 RID: 32672 RVA: 0x001AD030 File Offset: 0x001AB230
[Token(Token = "0x6007FA0")]
[Address(RVA = "0xCE7600", Offset = "0xCE6000", VA = "0x180CE7600")]
private bool IsUriConstrained(string uri, string constraint)
{
string text;
for (;;)
{
text = PkixNameConstraintValidator.ExtractHostFromURL(uri);
if (Platform.StartsWith(constraint, "."))
{
break;
}
if (!Platform.EqualsIgnoreCase(text, constraint))
{
return;
}
}
if (this.WithinDomain(text, constraint))
{
return true;
}
}
// Token: 0x06007FA1 RID: 32673 RVA: 0x001AD06C File Offset: 0x001AB26C
[Token(Token = "0x6007FA1")]
[Address(RVA = "0xCE5AD0", Offset = "0xCE44D0", VA = "0x180CE5AD0")]
private static string ExtractHostFromURL(string url)
{
string text4;
int num10;
do
{
int num2;
int num = num2 + 1;
string text = url.Substring(num);
if (Platform.IndexOf(text, "//") != -1)
{
}
int num3;
string text2;
if (num3 != -1)
{
int num4 = 0;
int num5;
text2 = text.Substring(num4, num5);
}
int num7;
int num6 = num7 + 1;
string text3 = text2.Substring(num6);
int num9;
int num8 = num9 + 1;
text4 = text3.Substring(num8);
}
while (num10 == -1);
int num11 = 0;
int num12;
return text4.Substring(num11, num12);
}
// Token: 0x06007FA2 RID: 32674 RVA: 0x001AD0E4 File Offset: 0x001AB2E4
[Token(Token = "0x6007FA2")]
[Address(RVA = "0xCE9C80", Offset = "0xCE8680", VA = "0x180CE9C80")]
public void checkPermitted(GeneralName name)
{
/*
An exception occurred when decompiling this method (06007FA2)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Pkix.PkixNameConstraintValidator::checkPermitted(BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509.GeneralName)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_199:
stloc:PkixNameConstraintValidatorException(var_27_1A3, newobj:PkixNameConstraintValidatorException(PkixNameConstraintValidatorException::.ctor, ldstr:string("IP is not from a permitted subtree.")))
}
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: 0x06007FA3 RID: 32675 RVA: 0x001AD298 File Offset: 0x001AB498
[Token(Token = "0x6007FA3")]
[Address(RVA = "0xCE96F0", Offset = "0xCE80F0", VA = "0x180CE96F0")]
public void checkExcluded(GeneralName name)
{
while (name.tag <= 6)
{
ISet set = this.excludedSubtreesEmail;
string text = this.ExtractNameAsString(name);
if (text != 0 || text == 0)
{
break;
}
int num = 0;
if ((text == 0 || text != 0) && !this.EmailIsConstrained(text, num))
{
ISet set2 = this.excludedSubtreesDNS;
string @string = DerIA5String.GetInstance(this).GetString();
if (@string != 0 || @string == 0)
{
break;
}
int num2 = 0;
if ((@string == 0 || @string != 0) && !this.WithinDomain(@string, num2) && !Platform.EqualsIgnoreCase(@string, num2))
{
int num3;
Asn1Sequence instance = Asn1Sequence.GetInstance(num3);
this.CheckExcludedDN(instance);
break;
}
}
}
}
// Token: 0x06007FA4 RID: 32676 RVA: 0x001AD3A0 File Offset: 0x001AB5A0
[Token(Token = "0x6007FA4")]
[Address(RVA = "0xCE6D60", Offset = "0xCE5760", VA = "0x180CE6D60")]
public void IntersectPermittedSubtree(Asn1Sequence permitted)
{
IDictionary dictionary = Platform.CreateHashtable();
int num = 0;
num += num;
num++;
int num2 = 0;
if (dictionary != 0)
{
if (num < num2)
{
num += num;
num++;
}
int tag = GeneralSubtree.GetInstance(num).baseName.tag;
uint num3;
if (num < (int)num3)
{
num += num;
num++;
}
if (num == 0)
{
HashSet hashSet = new HashSet();
}
}
if (num < dictionary)
{
num += num;
num++;
}
int num4 = 0;
if (num != 0)
{
if (num < num4)
{
num += num;
num++;
}
int i = num;
while (i > 6)
{
}
i += 19;
i++;
i += 19;
ISet set;
this.permittedSubtreesEmail = set;
ISet set2 = this.permittedSubtreesDNS;
ISet set3 = this.intersectDNS(set2, set);
this.permittedSubtreesDNS = set3;
ISet set4 = this.permittedSubtreesDN;
ISet set5 = this.IntersectDN(set4, set3);
this.permittedSubtreesDN = set5;
ISet set6 = this.permittedSubtreesURI;
ISet set7 = this.intersectURI(set6, set5);
this.permittedSubtreesURI = set7;
ISet set8 = this.permittedSubtreesIP;
ISet set9 = this.IntersectIP(set8, set7);
this.permittedSubtreesIP = set9;
}
}
// Token: 0x06007FA5 RID: 32677 RVA: 0x001AD4BC File Offset: 0x001AB6BC
[Token(Token = "0x6007FA5")]
[Address(RVA = "0xCE5ED0", Offset = "0xCE48D0", VA = "0x180CE5ED0")]
private string ExtractNameAsString(GeneralName name)
{
Asn1Object asn1Object = DerIA5String.GetInstance(name.obj).ToAsn1Object();
throw new NullReferenceException();
}
// Token: 0x06007FA6 RID: 32678 RVA: 0x001AD4E0 File Offset: 0x001AB6E0
[Token(Token = "0x6007FA6")]
[Address(RVA = "0xCE6610", Offset = "0xCE5010", VA = "0x180CE6610")]
public void IntersectEmptyPermittedSubtree(int nameType)
{
if (nameType - 1 <= 6)
{
HashSet hashSet = new HashSet();
this.permittedSubtreesEmail = hashSet;
return;
}
}
// Token: 0x06007FA7 RID: 32679 RVA: 0x001AD53C File Offset: 0x001AB73C
[Token(Token = "0x6007FA7")]
[Address(RVA = "0xCE4820", Offset = "0xCE3220", VA = "0x180CE4820")]
public void AddExcludedSubtree(GeneralSubtree subtree)
{
GeneralName baseName = subtree.baseName;
if (baseName.tag <= 6)
{
ISet set = this.excludedSubtreesEmail;
string text = this.ExtractNameAsString(baseName);
ISet set2 = this.UnionEmail(set, text);
this.excludedSubtreesEmail = set2;
}
}
// Token: 0x06007FA8 RID: 32680 RVA: 0x001AD5F4 File Offset: 0x001AB7F4
[Token(Token = "0x6007FA8")]
[Address(RVA = "0xCE76E0", Offset = "0xCE60E0", VA = "0x180CE76E0")]
private static byte[] Max(byte[] ip1, byte[] ip2)
{
int num = 0;
int length = ip1.Length;
if (num < length)
{
num++;
return ip1;
}
return ip2;
}
// Token: 0x06007FA9 RID: 32681 RVA: 0x001AD61C File Offset: 0x001AB81C
[Token(Token = "0x6007FA9")]
[Address(RVA = "0xCE7B60", Offset = "0xCE6560", VA = "0x180CE7B60")]
private static byte[] Min(byte[] ip1, byte[] ip2)
{
int num = 0;
int length = ip1.Length;
if (num < length)
{
num++;
return ip1;
}
return ip2;
}
// Token: 0x06007FAA RID: 32682 RVA: 0x001AD644 File Offset: 0x001AB844
[Token(Token = "0x6007FAA")]
[Address(RVA = "0xCE56A0", Offset = "0xCE40A0", VA = "0x180CE56A0")]
private static int CompareTo(byte[] ip1, byte[] ip2)
{
if (!Arrays.AreEqual(ip1, ip2))
{
bool flag = Arrays.AreEqual(PkixNameConstraintValidator.Max(ip1, ip2), ip1);
return -1;
}
return 0;
}
// Token: 0x06007FAB RID: 32683 RVA: 0x001AD66C File Offset: 0x001AB86C
[Token(Token = "0x6007FAB")]
[Address(RVA = "0xCE7BE0", Offset = "0xCE65E0", VA = "0x180CE7BE0")]
private static byte[] Or(byte[] ip1, byte[] ip2)
{
byte[] array = new byte[ip1.Length];
int num = 0;
int length = ip1.Length;
if (num < length)
{
num++;
}
return array;
}
// Token: 0x06007FAC RID: 32684 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6007FAC")]
[Address(RVA = "0xCE6010", Offset = "0xCE4A10", VA = "0x180CE6010")]
[Obsolete]
public int HashCode()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06007FAD RID: 32685 RVA: 0x001AD6A0 File Offset: 0x001AB8A0
[Token(Token = "0x6007FAD")]
[Address(RVA = "0xCE5F10", Offset = "0xCE4910", VA = "0x180CE5F10", Slot = "2")]
public override int GetHashCode()
{
ISet set = this.excludedSubtreesDN;
int num = this.HashCollection(set);
ISet set2 = this.excludedSubtreesDNS;
int num2 = this.HashCollection(set2);
ISet set3 = this.excludedSubtreesEmail;
int num3 = this.HashCollection(set3);
ISet set4 = this.excludedSubtreesIP;
int num4 = this.HashCollection(set4);
ISet set5 = this.excludedSubtreesURI;
int num5 = this.HashCollection(set5);
ISet set6 = this.permittedSubtreesDN;
int num6 = this.HashCollection(set6);
ISet set7 = this.permittedSubtreesDNS;
int num7 = this.HashCollection(set7);
ISet set8 = this.permittedSubtreesEmail;
int num8 = this.HashCollection(set8);
ISet set9 = this.permittedSubtreesIP;
int num9 = this.HashCollection(set9);
ISet set10 = this.permittedSubtreesURI;
int num10 = this.HashCollection(set10);
num10 += num9;
num10 += num8;
num10 += num7;
num10 += num6;
num10 += num5;
num10 += num4;
return num10 + num3;
}
// Token: 0x06007FAE RID: 32686 RVA: 0x001AD790 File Offset: 0x001AB990
[Token(Token = "0x6007FAE")]
[Address(RVA = "0xCE6030", Offset = "0xCE4A30", VA = "0x180CE6030")]
private int HashCollection(ICollection coll)
{
if (coll != 0)
{
int num = 0;
int num2;
return num + num2;
}
return 0;
}
// Token: 0x06007FAF RID: 32687 RVA: 0x001AD7B0 File Offset: 0x001AB9B0
[Token(Token = "0x6007FAF")]
[Address(RVA = "0xCE5900", Offset = "0xCE4300", VA = "0x180CE5900", Slot = "0")]
public override bool Equals(object o)
{
while (o != 0 && o != 0)
{
if (o != 0)
{
bool flag;
bool flag2;
bool flag3;
bool flag4;
bool flag5;
bool flag6;
bool flag7;
bool flag8;
bool flag9;
if (flag && flag2 && flag3 && flag4 && flag5 && flag6 && flag7 && flag8 && flag9)
{
bool flag10;
return flag10;
}
return;
}
}
}
// Token: 0x06007FB0 RID: 32688 RVA: 0x001AD800 File Offset: 0x001ABA00
[Token(Token = "0x6007FB0")]
[Address(RVA = "0xCE5540", Offset = "0xCE3F40", VA = "0x180CE5540")]
private bool CollectionsAreEqual(ICollection coll1, ICollection coll2)
{
if (coll1 != coll2 && coll1 != 0 && coll2 != 0)
{
bool flag;
while (!flag)
{
}
}
return true;
}
// Token: 0x06007FB1 RID: 32689 RVA: 0x001AD824 File Offset: 0x001ABA24
[Token(Token = "0x6007FB1")]
[Address(RVA = "0xCE7CB0", Offset = "0xCE66B0", VA = "0x180CE7CB0")]
private bool SpecialEquals(object o1, object o2)
{
if (o1 != o2)
{
if (o1 != 0 && o2 != 0)
{
bool flag;
return flag;
}
}
return true;
}
// Token: 0x06007FB2 RID: 32690 RVA: 0x001AD844 File Offset: 0x001ABA44
[Token(Token = "0x6007FB2")]
[Address(RVA = "0xCE8100", Offset = "0xCE6B00", VA = "0x180CE8100")]
private string StringifyIP(byte[] ip)
{
int num = 0;
int num2 = ip.Length;
num2 -= ip;
if (num < num2)
{
string text = "" + num + ".";
num++;
}
string text3;
string text2 = text3 + "/";
int num3 = ip.Length;
num3 -= "/";
string text4;
if (num3 < ip.Length)
{
text4 = text2 + num3 + ".";
num3++;
}
int stringLength = text4.m_stringLength;
int num4 = 0;
return text4.Substring(num4, stringLength);
}
// Token: 0x06007FB3 RID: 32691 RVA: 0x001AD8D8 File Offset: 0x001ABAD8
[Token(Token = "0x6007FB3")]
[Address(RVA = "0xCE7DB0", Offset = "0xCE67B0", VA = "0x180CE7DB0")]
private string StringifyIPCollection(ISet ips)
{
string text6;
int stringLength3;
do
{
string text = "" + "[";
int num = 0;
if (num < ips)
{
num += num;
num++;
}
int num2 = 0;
if (text != 0)
{
if (num < num2)
{
num += num;
num++;
}
if (num == 0)
{
num += 19;
num++;
num += 19;
}
if (num == 0)
{
continue;
}
uint num3;
num3 -= typeof(byte[]).TypeHandle;
string text2;
if (num < (int)num3)
{
text2 = "" + num + ".";
num++;
}
int stringLength = text2.m_stringLength;
int num4 = 0;
string text3 = text2.Substring(num4, stringLength) + "/";
text3 -= "/";
string text4 = text3 + text3 + ".";
int stringLength2 = text4.m_stringLength;
int num5 = 0;
string text5 = text4.Substring(num5, stringLength2);
text6 = text + text5 + ",";
}
stringLength3 = text6.m_stringLength;
}
while (stringLength3 <= 1);
int num6 = 0;
return text6.Substring(num6, stringLength3) + "]";
}
// Token: 0x06007FB4 RID: 32692 RVA: 0x001AD9E4 File Offset: 0x001ABBE4
[Token(Token = "0x6007FB4")]
[Address(RVA = "0xCE8260", Offset = "0xCE6C60", VA = "0x180CE8260", Slot = "3")]
public override string ToString()
{
string text20;
for (;;)
{
string text = "" + "permitted:\n";
if (this.permittedSubtreesDN != (ulong)0L)
{
string text2 = text + "DN:\n";
ISet set = this.permittedSubtreesDN;
string text3 = text2 + text2 + "\n";
}
string text5;
if (this.permittedSubtreesDNS != (ulong)0L)
{
string text4 = text + "DNS:\n";
ISet set2 = this.permittedSubtreesDNS;
text5 = text4 + text4 + "\n";
}
string text7;
if (this.permittedSubtreesEmail != (ulong)0L)
{
string text6 = text5 + "Email:\n";
ISet set3 = this.permittedSubtreesEmail;
text7 = text6 + text6 + "\n";
}
string text9;
if (this.permittedSubtreesURI != (ulong)0L)
{
string text8 = text7 + "URI:\n";
ISet set4 = this.permittedSubtreesURI;
text9 = text8 + text8 + "\n";
}
if (this.permittedSubtreesIP != (ulong)0L)
{
string text10 = text9 + "IP:\n";
ISet set5 = this.permittedSubtreesIP;
string text11 = this.StringifyIPCollection(set5);
string text12 = text10 + text11 + "\n" + "excluded:\n";
ISet set6 = this.excludedSubtreesDN;
string text14;
if (text12 == 0)
{
string text13 = text12 + "DN:\n";
ISet set7 = this.excludedSubtreesDN;
text14 = text13 + text13 + "\n";
}
ISet set8 = this.excludedSubtreesDNS;
string text16;
if (text14 == 0)
{
string text15 = text14 + "DNS:\n";
ISet set9 = this.excludedSubtreesDNS;
text16 = text15 + text15 + "\n";
}
ISet set10 = this.excludedSubtreesEmail;
string text18;
if (text16 == 0)
{
string text17 = text16 + "Email:\n";
ISet set11 = this.excludedSubtreesEmail;
text18 = text17 + text17 + "\n";
}
ISet set12 = this.excludedSubtreesURI;
if (text18 == 0)
{
string text19 = text18 + "URI:\n";
ISet set13 = this.excludedSubtreesURI;
text20 = text19 + text19 + "\n";
}
ISet set14 = this.excludedSubtreesIP;
if (text20 == 0)
{
break;
}
}
}
string text21 = text20 + "IP:\n";
ISet set15 = this.excludedSubtreesIP;
string text22 = this.StringifyIPCollection(set15);
return text21 + text22 + "\n";
}
// Token: 0x04005AA7 RID: 23207
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x4005AA7")]
private ISet excludedSubtreesDN;
// Token: 0x04005AA8 RID: 23208
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x4005AA8")]
private ISet excludedSubtreesDNS;
// Token: 0x04005AA9 RID: 23209
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x4005AA9")]
private ISet excludedSubtreesEmail;
// Token: 0x04005AAA RID: 23210
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x4005AAA")]
private ISet excludedSubtreesURI;
// Token: 0x04005AAB RID: 23211
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x4005AAB")]
private ISet excludedSubtreesIP;
// Token: 0x04005AAC RID: 23212
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x4005AAC")]
private ISet permittedSubtreesDN;
// Token: 0x04005AAD RID: 23213
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
[Token(Token = "0x4005AAD")]
private ISet permittedSubtreesDNS;
// Token: 0x04005AAE RID: 23214
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
[Token(Token = "0x4005AAE")]
private ISet permittedSubtreesEmail;
// Token: 0x04005AAF RID: 23215
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
[Token(Token = "0x4005AAF")]
private ISet permittedSubtreesURI;
// Token: 0x04005AB0 RID: 23216
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
[Token(Token = "0x4005AB0")]
private ISet permittedSubtreesIP;
}
}