1877 lines
79 KiB
C#
1877 lines
79 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.IO;
|
|
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: 0x02001A61 RID: 6753
|
|
[Token(Token = "0x2001A61")]
|
|
public class PkixNameConstraintValidator
|
|
{
|
|
// Token: 0x06009F24 RID: 40740 RVA: 0x0020C834 File Offset: 0x0020AA34
|
|
[Token(Token = "0x6009F24")]
|
|
[Address(RVA = "0x65A570", Offset = "0x659570", VA = "0x18065A570")]
|
|
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: 0x06009F25 RID: 40741 RVA: 0x0020C88C File Offset: 0x0020AA8C
|
|
[Token(Token = "0x6009F25")]
|
|
[Address(RVA = "0x65A200", Offset = "0x659200", VA = "0x18065A200")]
|
|
private static bool WithinDNSubtree(Asn1Sequence dns, Asn1Sequence subtree)
|
|
{
|
|
Asn1SequenceParser parser = subtree.Parser;
|
|
if (dns.Parser != 0)
|
|
{
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009F26 RID: 40742 RVA: 0x0020C8B0 File Offset: 0x0020AAB0
|
|
[Token(Token = "0x6009F26")]
|
|
[Address(RVA = "0x656390", Offset = "0x655390", VA = "0x180656390")]
|
|
public void CheckPermittedDN(Asn1Sequence dns)
|
|
{
|
|
Asn1Encodable asn1Encodable;
|
|
if (this.permittedSubtreesDN != 0 && asn1Encodable != 0)
|
|
{
|
|
bool flag;
|
|
while (!flag)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06009F27 RID: 40743 RVA: 0x0020C8E0 File Offset: 0x0020AAE0
|
|
[Token(Token = "0x6009F27")]
|
|
[Address(RVA = "0x655D00", Offset = "0x654D00", VA = "0x180655D00")]
|
|
public void CheckExcludedDN(Asn1Sequence dns)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009F27)
|
|
|
|
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: 0x06009F28 RID: 40744 RVA: 0x0020C90C File Offset: 0x0020AB0C
|
|
[Token(Token = "0x6009F28")]
|
|
[Address(RVA = "0x656270", Offset = "0x655270", VA = "0x180656270")]
|
|
private void CheckPermittedDN(ISet permitted, Asn1Sequence dns)
|
|
{
|
|
Asn1Encodable asn1Encodable;
|
|
if (permitted != 0 && asn1Encodable != 0)
|
|
{
|
|
bool flag;
|
|
while (!flag)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06009F29 RID: 40745 RVA: 0x0020C938 File Offset: 0x0020AB38
|
|
[Token(Token = "0x6009F29")]
|
|
[Address(RVA = "0x655E50", Offset = "0x654E50", VA = "0x180655E50")]
|
|
private void CheckExcludedDN(ISet excluded, Asn1Sequence dns)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009F29)
|
|
|
|
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: 0x06009F2A RID: 40746 RVA: 0x0020C95C File Offset: 0x0020AB5C
|
|
[Token(Token = "0x6009F2A")]
|
|
[Address(RVA = "0x657470", Offset = "0x656470", VA = "0x180657470")]
|
|
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: 0x06009F2B RID: 40747 RVA: 0x0020C9B4 File Offset: 0x0020ABB4
|
|
[Token(Token = "0x6009F2B")]
|
|
[Address(RVA = "0x659980", Offset = "0x658980", VA = "0x180659980")]
|
|
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: 0x06009F2C RID: 40748 RVA: 0x0020CA1C File Offset: 0x0020AC1C
|
|
[Token(Token = "0x6009F2C")]
|
|
[Address(RVA = "0x6576E0", Offset = "0x6566E0", VA = "0x1806576E0")]
|
|
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: 0x06009F2D RID: 40749 RVA: 0x0020CA7C File Offset: 0x0020AC7C
|
|
[Token(Token = "0x6009F2D")]
|
|
[Address(RVA = "0x659C00", Offset = "0x658C00", VA = "0x180659C00")]
|
|
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: 0x06009F2E RID: 40750 RVA: 0x0020CAE0 File Offset: 0x0020ACE0
|
|
[Token(Token = "0x6009F2E")]
|
|
[Address(RVA = "0x657E30", Offset = "0x656E30", VA = "0x180657E30")]
|
|
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: 0x06009F2F RID: 40751 RVA: 0x0020CB28 File Offset: 0x0020AD28
|
|
[Token(Token = "0x6009F2F")]
|
|
[Address(RVA = "0x659ED0", Offset = "0x658ED0", VA = "0x180659ED0")]
|
|
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: 0x06009F30 RID: 40752 RVA: 0x0020CB98 File Offset: 0x0020AD98
|
|
[Token(Token = "0x6009F30")]
|
|
[Address(RVA = "0x659E10", Offset = "0x658E10", VA = "0x180659E10")]
|
|
private ISet UnionIPRange(byte[] ipWithSubmask1, byte[] ipWithSubmask2)
|
|
{
|
|
HashSet hashSet = new HashSet();
|
|
if (!Arrays.AreEqual(ipWithSubmask1, ipWithSubmask2))
|
|
{
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009F31 RID: 40753 RVA: 0x0020CBBC File Offset: 0x0020ADBC
|
|
[Token(Token = "0x6009F31")]
|
|
[Address(RVA = "0x657A60", Offset = "0x656A60", VA = "0x180657A60")]
|
|
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: 0x06009F32 RID: 40754 RVA: 0x0020CD14 File Offset: 0x0020AF14
|
|
[Token(Token = "0x6009F32")]
|
|
[Address(RVA = "0x658680", Offset = "0x657680", VA = "0x180658680")]
|
|
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: 0x06009F33 RID: 40755 RVA: 0x0020CD54 File Offset: 0x0020AF54
|
|
[Token(Token = "0x6009F33")]
|
|
[Address(RVA = "0x656F70", Offset = "0x655F70", VA = "0x180656F70")]
|
|
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: 0x06009F34 RID: 40756 RVA: 0x0020CE18 File Offset: 0x0020B018
|
|
[Token(Token = "0x6009F34")]
|
|
[Address(RVA = "0x658A80", Offset = "0x657A80", VA = "0x180658A80")]
|
|
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: 0x06009F35 RID: 40757 RVA: 0x0020CE9C File Offset: 0x0020B09C
|
|
[Token(Token = "0x6009F35")]
|
|
[Address(RVA = "0x6564B0", Offset = "0x6554B0", VA = "0x1806564B0")]
|
|
private void CheckPermittedEmail(ISet permitted, string email)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009F35)
|
|
|
|
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: 0x06009F36 RID: 40758 RVA: 0x0020CED8 File Offset: 0x0020B0D8
|
|
[Token(Token = "0x6009F36")]
|
|
[Address(RVA = "0x655FA0", Offset = "0x654FA0", VA = "0x180655FA0")]
|
|
private void CheckExcludedEmail(ISet excluded, string email)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009F36)
|
|
|
|
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: 0x06009F37 RID: 40759 RVA: 0x0020CF04 File Offset: 0x0020B104
|
|
[Token(Token = "0x6009F37")]
|
|
[Address(RVA = "0x6565E0", Offset = "0x6555E0", VA = "0x1806565E0")]
|
|
private void CheckPermittedIP(ISet permitted, byte[] ip)
|
|
{
|
|
if (permitted != 0)
|
|
{
|
|
bool flag;
|
|
while (!flag)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06009F38 RID: 40760 RVA: 0x0020CF34 File Offset: 0x0020B134
|
|
[Token(Token = "0x6009F38")]
|
|
[Address(RVA = "0x65A7A0", Offset = "0x6597A0", VA = "0x18065A7A0")]
|
|
private void checkExcludedIP(ISet excluded, byte[] ip)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009F38)
|
|
|
|
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: 0x06009F39 RID: 40761 RVA: 0x0020CF50 File Offset: 0x0020B150
|
|
[Token(Token = "0x6009F39")]
|
|
[Address(RVA = "0x658730", Offset = "0x657730", VA = "0x180658730")]
|
|
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: 0x06009F3A RID: 40762 RVA: 0x0020CFB4 File Offset: 0x0020B1B4
|
|
[Token(Token = "0x6009F3A")]
|
|
[Address(RVA = "0x656A90", Offset = "0x655A90", VA = "0x180656A90")]
|
|
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: 0x06009F3B RID: 40763 RVA: 0x0020D02C File Offset: 0x0020B22C
|
|
[Token(Token = "0x6009F3B")]
|
|
[Address(RVA = "0x65A320", Offset = "0x659320", VA = "0x18065A320")]
|
|
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: 0x06009F3C RID: 40764 RVA: 0x0020D10C File Offset: 0x0020B30C
|
|
[Token(Token = "0x6009F3C")]
|
|
[Address(RVA = "0x6560D0", Offset = "0x6550D0", VA = "0x1806560D0")]
|
|
private void CheckPermittedDNS(ISet permitted, string dns)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009F3C)
|
|
|
|
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: 0x06009F3D RID: 40765 RVA: 0x0020D160 File Offset: 0x0020B360
|
|
[Token(Token = "0x6009F3D")]
|
|
[Address(RVA = "0x65A640", Offset = "0x659640", VA = "0x18065A640")]
|
|
private void checkExcludedDNS(ISet excluded, string dns)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009F3D)
|
|
|
|
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: 0x06009F3E RID: 40766 RVA: 0x0020D194 File Offset: 0x0020B394
|
|
[Token(Token = "0x6009F3E")]
|
|
[Address(RVA = "0x65C5E0", Offset = "0x65B5E0", VA = "0x18065C5E0")]
|
|
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: 0x06009F3F RID: 40767 RVA: 0x0020D274 File Offset: 0x0020B474
|
|
[Token(Token = "0x6009F3F")]
|
|
[Address(RVA = "0x65CB80", Offset = "0x65BB80", VA = "0x18065CB80")]
|
|
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: 0x06009F40 RID: 40768 RVA: 0x0020D354 File Offset: 0x0020B554
|
|
[Token(Token = "0x6009F40")]
|
|
[Address(RVA = "0x65B7C0", Offset = "0x65A7C0", VA = "0x18065B7C0")]
|
|
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: 0x06009F41 RID: 40769 RVA: 0x0020D3C0 File Offset: 0x0020B5C0
|
|
[Token(Token = "0x6009F41")]
|
|
[Address(RVA = "0x65C370", Offset = "0x65B370", VA = "0x18065C370")]
|
|
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: 0x06009F42 RID: 40770 RVA: 0x0020D41C File Offset: 0x0020B61C
|
|
[Token(Token = "0x6009F42")]
|
|
[Address(RVA = "0x65BA50", Offset = "0x65AA50", VA = "0x18065BA50")]
|
|
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: 0x06009F43 RID: 40771 RVA: 0x0020D4F4 File Offset: 0x0020B6F4
|
|
[Token(Token = "0x6009F43")]
|
|
[Address(RVA = "0x65A8E0", Offset = "0x6598E0", VA = "0x18065A8E0")]
|
|
private void checkExcludedURI(ISet excluded, string uri)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009F43)
|
|
|
|
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: 0x06009F44 RID: 40772 RVA: 0x0020D520 File Offset: 0x0020B720
|
|
[Token(Token = "0x6009F44")]
|
|
[Address(RVA = "0x65BDB0", Offset = "0x65ADB0", VA = "0x18065BDB0")]
|
|
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: 0x06009F45 RID: 40773 RVA: 0x0020D580 File Offset: 0x0020B780
|
|
[Token(Token = "0x6009F45")]
|
|
[Address(RVA = "0x65C970", Offset = "0x65B970", VA = "0x18065C970")]
|
|
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: 0x06009F46 RID: 40774 RVA: 0x0020D5E4 File Offset: 0x0020B7E4
|
|
[Token(Token = "0x6009F46")]
|
|
[Address(RVA = "0x65C010", Offset = "0x65B010", VA = "0x18065C010")]
|
|
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: 0x06009F47 RID: 40775 RVA: 0x0020D6BC File Offset: 0x0020B8BC
|
|
[Token(Token = "0x6009F47")]
|
|
[Address(RVA = "0x656730", Offset = "0x655730", VA = "0x180656730")]
|
|
private void CheckPermittedURI(ISet permitted, string uri)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009F47)
|
|
|
|
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: 0x06009F48 RID: 40776 RVA: 0x0020D6F8 File Offset: 0x0020B8F8
|
|
[Token(Token = "0x6009F48")]
|
|
[Address(RVA = "0x658920", Offset = "0x657920", VA = "0x180658920")]
|
|
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: 0x06009F49 RID: 40777 RVA: 0x0020D734 File Offset: 0x0020B934
|
|
[Token(Token = "0x6009F49")]
|
|
[Address(RVA = "0x656DF0", Offset = "0x655DF0", VA = "0x180656DF0")]
|
|
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: 0x06009F4A RID: 40778 RVA: 0x0020D7AC File Offset: 0x0020B9AC
|
|
[Token(Token = "0x6009F4A")]
|
|
[Address(RVA = "0x65B0D0", Offset = "0x65A0D0", VA = "0x18065B0D0")]
|
|
public void checkPermitted(GeneralName name)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009F4A)
|
|
|
|
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_182:
|
|
stloc:PkixNameConstraintValidatorException(var_29_18C, 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: 0x06009F4B RID: 40779 RVA: 0x0020D948 File Offset: 0x0020BB48
|
|
[Token(Token = "0x6009F4B")]
|
|
[Address(RVA = "0x65AA10", Offset = "0x659A10", VA = "0x18065AA10")]
|
|
public void checkExcluded(GeneralName name)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009F4B)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Pkix.PkixNameConstraintValidator::checkExcluded(BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509.GeneralName)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
IL_14C:
|
|
stloc:PkixNameConstraintValidatorException(var_19_156, 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.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.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: 0x06009F4C RID: 40780 RVA: 0x0020DAAC File Offset: 0x0020BCAC
|
|
[Token(Token = "0x6009F4C")]
|
|
[Address(RVA = "0x658080", Offset = "0x657080", VA = "0x180658080")]
|
|
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: 0x06009F4D RID: 40781 RVA: 0x0020DBC8 File Offset: 0x0020BDC8
|
|
[Token(Token = "0x6009F4D")]
|
|
[Address(RVA = "0x6571F0", Offset = "0x6561F0", VA = "0x1806571F0")]
|
|
private string ExtractNameAsString(GeneralName name)
|
|
{
|
|
Asn1Object asn1Object = DerIA5String.GetInstance(name.obj).ToAsn1Object();
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009F4E RID: 40782 RVA: 0x0020DBEC File Offset: 0x0020BDEC
|
|
[Token(Token = "0x6009F4E")]
|
|
[Address(RVA = "0x657930", Offset = "0x656930", VA = "0x180657930")]
|
|
public void IntersectEmptyPermittedSubtree(int nameType)
|
|
{
|
|
if (nameType - 1 <= 6)
|
|
{
|
|
HashSet hashSet = new HashSet();
|
|
this.permittedSubtreesEmail = hashSet;
|
|
return;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06009F4F RID: 40783 RVA: 0x0020DC48 File Offset: 0x0020BE48
|
|
[Token(Token = "0x6009F4F")]
|
|
[Address(RVA = "0x655B40", Offset = "0x654B40", VA = "0x180655B40")]
|
|
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: 0x06009F50 RID: 40784 RVA: 0x0020DD00 File Offset: 0x0020BF00
|
|
[Token(Token = "0x6009F50")]
|
|
[Address(RVA = "0x658A00", Offset = "0x657A00", VA = "0x180658A00")]
|
|
private static byte[] Max(byte[] ip1, byte[] ip2)
|
|
{
|
|
int num = 0;
|
|
int length = ip1.Length;
|
|
if (num < length)
|
|
{
|
|
num++;
|
|
return ip1;
|
|
}
|
|
return ip2;
|
|
}
|
|
|
|
// Token: 0x06009F51 RID: 40785 RVA: 0x0020DD28 File Offset: 0x0020BF28
|
|
[Token(Token = "0x6009F51")]
|
|
[Address(RVA = "0x658E80", Offset = "0x657E80", VA = "0x180658E80")]
|
|
private static byte[] Min(byte[] ip1, byte[] ip2)
|
|
{
|
|
int num = 0;
|
|
int length = ip1.Length;
|
|
if (num < length)
|
|
{
|
|
num++;
|
|
return ip1;
|
|
}
|
|
return ip2;
|
|
}
|
|
|
|
// Token: 0x06009F52 RID: 40786 RVA: 0x0020DD50 File Offset: 0x0020BF50
|
|
[Token(Token = "0x6009F52")]
|
|
[Address(RVA = "0x6569C0", Offset = "0x6559C0", VA = "0x1806569C0")]
|
|
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: 0x06009F53 RID: 40787 RVA: 0x0020DD78 File Offset: 0x0020BF78
|
|
[Token(Token = "0x6009F53")]
|
|
[Address(RVA = "0x658F00", Offset = "0x657F00", VA = "0x180658F00")]
|
|
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: 0x06009F54 RID: 40788 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x6009F54")]
|
|
[Address(RVA = "0x657330", Offset = "0x656330", VA = "0x180657330")]
|
|
[Obsolete]
|
|
public int HashCode()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06009F55 RID: 40789 RVA: 0x0020DDAC File Offset: 0x0020BFAC
|
|
[Token(Token = "0x6009F55")]
|
|
[Address(RVA = "0x657230", Offset = "0x656230", VA = "0x180657230", 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: 0x06009F56 RID: 40790 RVA: 0x0020DE9C File Offset: 0x0020C09C
|
|
[Token(Token = "0x6009F56")]
|
|
[Address(RVA = "0x657350", Offset = "0x656350", VA = "0x180657350")]
|
|
private int HashCollection(ICollection coll)
|
|
{
|
|
if (coll != 0)
|
|
{
|
|
int num = 0;
|
|
int num2;
|
|
return num + num2;
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
// Token: 0x06009F57 RID: 40791 RVA: 0x0020DEBC File Offset: 0x0020C0BC
|
|
[Token(Token = "0x6009F57")]
|
|
[Address(RVA = "0x656C20", Offset = "0x655C20", VA = "0x180656C20", 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: 0x06009F58 RID: 40792 RVA: 0x0020DF0C File Offset: 0x0020C10C
|
|
[Token(Token = "0x6009F58")]
|
|
[Address(RVA = "0x656860", Offset = "0x655860", VA = "0x180656860")]
|
|
private bool CollectionsAreEqual(ICollection coll1, ICollection coll2)
|
|
{
|
|
if (coll1 != coll2 && coll1 != 0 && coll2 != 0)
|
|
{
|
|
bool flag;
|
|
while (!flag)
|
|
{
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x06009F59 RID: 40793 RVA: 0x0020DF30 File Offset: 0x0020C130
|
|
[Token(Token = "0x6009F59")]
|
|
[Address(RVA = "0x658FD0", Offset = "0x657FD0", VA = "0x180658FD0")]
|
|
private bool SpecialEquals(object o1, object o2)
|
|
{
|
|
if (o1 != o2)
|
|
{
|
|
if (o1 != 0 && o2 != 0)
|
|
{
|
|
bool flag;
|
|
return flag;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x06009F5A RID: 40794 RVA: 0x0020DF50 File Offset: 0x0020C150
|
|
[Token(Token = "0x6009F5A")]
|
|
[Address(RVA = "0x659420", Offset = "0x658420", VA = "0x180659420")]
|
|
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: 0x06009F5B RID: 40795 RVA: 0x0020DFE4 File Offset: 0x0020C1E4
|
|
[Token(Token = "0x6009F5B")]
|
|
[Address(RVA = "0x6590D0", Offset = "0x6580D0", VA = "0x1806590D0")]
|
|
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: 0x06009F5C RID: 40796 RVA: 0x0020E0F0 File Offset: 0x0020C2F0
|
|
[Token(Token = "0x6009F5C")]
|
|
[Address(RVA = "0x659580", Offset = "0x658580", VA = "0x180659580", 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: 0x04006AA3 RID: 27299
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4006AA3")]
|
|
private ISet excludedSubtreesDN;
|
|
|
|
// Token: 0x04006AA4 RID: 27300
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4006AA4")]
|
|
private ISet excludedSubtreesDNS;
|
|
|
|
// Token: 0x04006AA5 RID: 27301
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x4006AA5")]
|
|
private ISet excludedSubtreesEmail;
|
|
|
|
// Token: 0x04006AA6 RID: 27302
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x4006AA6")]
|
|
private ISet excludedSubtreesURI;
|
|
|
|
// Token: 0x04006AA7 RID: 27303
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x4006AA7")]
|
|
private ISet excludedSubtreesIP;
|
|
|
|
// Token: 0x04006AA8 RID: 27304
|
|
[FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x4006AA8")]
|
|
private ISet permittedSubtreesDN;
|
|
|
|
// Token: 0x04006AA9 RID: 27305
|
|
[FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x4006AA9")]
|
|
private ISet permittedSubtreesDNS;
|
|
|
|
// Token: 0x04006AAA RID: 27306
|
|
[FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x4006AAA")]
|
|
private ISet permittedSubtreesEmail;
|
|
|
|
// Token: 0x04006AAB RID: 27307
|
|
[FieldOffset(Offset = "0x50")]
|
|
[Token(Token = "0x4006AAB")]
|
|
private ISet permittedSubtreesURI;
|
|
|
|
// Token: 0x04006AAC RID: 27308
|
|
[FieldOffset(Offset = "0x58")]
|
|
[Token(Token = "0x4006AAC")]
|
|
private ISet permittedSubtreesIP;
|
|
}
|
|
}
|