1878 lines
80 KiB
C#
1878 lines
80 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: 0x02001981 RID: 6529
|
|
[Token(Token = "0x2001981")]
|
|
public class PkixNameConstraintValidator
|
|
{
|
|
// Token: 0x06009B56 RID: 39766 RVA: 0x0020379C File Offset: 0x0020199C
|
|
[Token(Token = "0x6009B56")]
|
|
[Address(RVA = "0x1CD8040", Offset = "0x1CD6E40", VA = "0x181CD8040")]
|
|
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: 0x06009B57 RID: 39767 RVA: 0x002037F4 File Offset: 0x002019F4
|
|
[Token(Token = "0x6009B57")]
|
|
[Address(RVA = "0x1CD7CD0", Offset = "0x1CD6AD0", VA = "0x181CD7CD0")]
|
|
private static bool WithinDNSubtree(Asn1Sequence dns, Asn1Sequence subtree)
|
|
{
|
|
Asn1SequenceParser parser = subtree.Parser;
|
|
if (dns.Parser != 0)
|
|
{
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009B58 RID: 39768 RVA: 0x00203818 File Offset: 0x00201A18
|
|
[Token(Token = "0x6009B58")]
|
|
[Address(RVA = "0x1CD3E60", Offset = "0x1CD2C60", VA = "0x181CD3E60")]
|
|
public void CheckPermittedDN(Asn1Sequence dns)
|
|
{
|
|
Asn1Encodable asn1Encodable;
|
|
if (this.permittedSubtreesDN != 0 && asn1Encodable != 0)
|
|
{
|
|
bool flag;
|
|
while (!flag)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06009B59 RID: 39769 RVA: 0x00203848 File Offset: 0x00201A48
|
|
[Token(Token = "0x6009B59")]
|
|
[Address(RVA = "0x1CD37D0", Offset = "0x1CD25D0", VA = "0x181CD37D0")]
|
|
public void CheckExcludedDN(Asn1Sequence dns)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009B59)
|
|
|
|
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: 0x06009B5A RID: 39770 RVA: 0x00203874 File Offset: 0x00201A74
|
|
[Token(Token = "0x6009B5A")]
|
|
[Address(RVA = "0x1CD3D40", Offset = "0x1CD2B40", VA = "0x181CD3D40")]
|
|
private void CheckPermittedDN(ISet permitted, Asn1Sequence dns)
|
|
{
|
|
Asn1Encodable asn1Encodable;
|
|
if (permitted != 0 && asn1Encodable != 0)
|
|
{
|
|
bool flag;
|
|
while (!flag)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06009B5B RID: 39771 RVA: 0x002038A0 File Offset: 0x00201AA0
|
|
[Token(Token = "0x6009B5B")]
|
|
[Address(RVA = "0x1CD3920", Offset = "0x1CD2720", VA = "0x181CD3920")]
|
|
private void CheckExcludedDN(ISet excluded, Asn1Sequence dns)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009B5B)
|
|
|
|
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: 0x06009B5C RID: 39772 RVA: 0x002038C4 File Offset: 0x00201AC4
|
|
[Token(Token = "0x6009B5C")]
|
|
[Address(RVA = "0x1CD4F40", Offset = "0x1CD3D40", VA = "0x181CD4F40")]
|
|
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: 0x06009B5D RID: 39773 RVA: 0x0020391C File Offset: 0x00201B1C
|
|
[Token(Token = "0x6009B5D")]
|
|
[Address(RVA = "0x1CD7450", Offset = "0x1CD6250", VA = "0x181CD7450")]
|
|
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: 0x06009B5E RID: 39774 RVA: 0x00203984 File Offset: 0x00201B84
|
|
[Token(Token = "0x6009B5E")]
|
|
[Address(RVA = "0x1CD51B0", Offset = "0x1CD3FB0", VA = "0x181CD51B0")]
|
|
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: 0x06009B5F RID: 39775 RVA: 0x002039E4 File Offset: 0x00201BE4
|
|
[Token(Token = "0x6009B5F")]
|
|
[Address(RVA = "0x1CD76D0", Offset = "0x1CD64D0", VA = "0x181CD76D0")]
|
|
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: 0x06009B60 RID: 39776 RVA: 0x00203A48 File Offset: 0x00201C48
|
|
[Token(Token = "0x6009B60")]
|
|
[Address(RVA = "0x1CD5900", Offset = "0x1CD4700", VA = "0x181CD5900")]
|
|
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: 0x06009B61 RID: 39777 RVA: 0x00203A90 File Offset: 0x00201C90
|
|
[Token(Token = "0x6009B61")]
|
|
[Address(RVA = "0x1CD79A0", Offset = "0x1CD67A0", VA = "0x181CD79A0")]
|
|
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: 0x06009B62 RID: 39778 RVA: 0x00203B00 File Offset: 0x00201D00
|
|
[Token(Token = "0x6009B62")]
|
|
[Address(RVA = "0x1CD78E0", Offset = "0x1CD66E0", VA = "0x181CD78E0")]
|
|
private ISet UnionIPRange(byte[] ipWithSubmask1, byte[] ipWithSubmask2)
|
|
{
|
|
HashSet hashSet = new HashSet();
|
|
if (!Arrays.AreEqual(ipWithSubmask1, ipWithSubmask2))
|
|
{
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009B63 RID: 39779 RVA: 0x00203B24 File Offset: 0x00201D24
|
|
[Token(Token = "0x6009B63")]
|
|
[Address(RVA = "0x1CD5530", Offset = "0x1CD4330", VA = "0x181CD5530")]
|
|
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: 0x06009B64 RID: 39780 RVA: 0x00203C7C File Offset: 0x00201E7C
|
|
[Token(Token = "0x6009B64")]
|
|
[Address(RVA = "0x1CD6150", Offset = "0x1CD4F50", VA = "0x181CD6150")]
|
|
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: 0x06009B65 RID: 39781 RVA: 0x00203CBC File Offset: 0x00201EBC
|
|
[Token(Token = "0x6009B65")]
|
|
[Address(RVA = "0x1CD4A40", Offset = "0x1CD3840", VA = "0x181CD4A40")]
|
|
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: 0x06009B66 RID: 39782 RVA: 0x00203D80 File Offset: 0x00201F80
|
|
[Token(Token = "0x6009B66")]
|
|
[Address(RVA = "0x1CD6550", Offset = "0x1CD5350", VA = "0x181CD6550")]
|
|
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: 0x06009B67 RID: 39783 RVA: 0x00203E04 File Offset: 0x00202004
|
|
[Token(Token = "0x6009B67")]
|
|
[Address(RVA = "0x1CD3F80", Offset = "0x1CD2D80", VA = "0x181CD3F80")]
|
|
private void CheckPermittedEmail(ISet permitted, string email)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009B67)
|
|
|
|
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: 0x06009B68 RID: 39784 RVA: 0x00203E40 File Offset: 0x00202040
|
|
[Token(Token = "0x6009B68")]
|
|
[Address(RVA = "0x1CD3A70", Offset = "0x1CD2870", VA = "0x181CD3A70")]
|
|
private void CheckExcludedEmail(ISet excluded, string email)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009B68)
|
|
|
|
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: 0x06009B69 RID: 39785 RVA: 0x00203E6C File Offset: 0x0020206C
|
|
[Token(Token = "0x6009B69")]
|
|
[Address(RVA = "0x1CD40B0", Offset = "0x1CD2EB0", VA = "0x181CD40B0")]
|
|
private void CheckPermittedIP(ISet permitted, byte[] ip)
|
|
{
|
|
if (permitted != 0)
|
|
{
|
|
bool flag;
|
|
while (!flag)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06009B6A RID: 39786 RVA: 0x00203E9C File Offset: 0x0020209C
|
|
[Token(Token = "0x6009B6A")]
|
|
[Address(RVA = "0x1CD8270", Offset = "0x1CD7070", VA = "0x181CD8270")]
|
|
private void checkExcludedIP(ISet excluded, byte[] ip)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009B6A)
|
|
|
|
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: 0x06009B6B RID: 39787 RVA: 0x00203EB8 File Offset: 0x002020B8
|
|
[Token(Token = "0x6009B6B")]
|
|
[Address(RVA = "0x1CD6200", Offset = "0x1CD5000", VA = "0x181CD6200")]
|
|
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: 0x06009B6C RID: 39788 RVA: 0x00203F1C File Offset: 0x0020211C
|
|
[Token(Token = "0x6009B6C")]
|
|
[Address(RVA = "0x1CD4560", Offset = "0x1CD3360", VA = "0x181CD4560")]
|
|
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: 0x06009B6D RID: 39789 RVA: 0x00203F94 File Offset: 0x00202194
|
|
[Token(Token = "0x6009B6D")]
|
|
[Address(RVA = "0x1CD7DF0", Offset = "0x1CD6BF0", VA = "0x181CD7DF0")]
|
|
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: 0x06009B6E RID: 39790 RVA: 0x00204074 File Offset: 0x00202274
|
|
[Token(Token = "0x6009B6E")]
|
|
[Address(RVA = "0x1CD3BA0", Offset = "0x1CD29A0", VA = "0x181CD3BA0")]
|
|
private void CheckPermittedDNS(ISet permitted, string dns)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009B6E)
|
|
|
|
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: 0x06009B6F RID: 39791 RVA: 0x002040C8 File Offset: 0x002022C8
|
|
[Token(Token = "0x6009B6F")]
|
|
[Address(RVA = "0x1CD8110", Offset = "0x1CD6F10", VA = "0x181CD8110")]
|
|
private void checkExcludedDNS(ISet excluded, string dns)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009B6F)
|
|
|
|
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: 0x06009B70 RID: 39792 RVA: 0x002040FC File Offset: 0x002022FC
|
|
[Token(Token = "0x6009B70")]
|
|
[Address(RVA = "0x1CDA0B0", Offset = "0x1CD8EB0", VA = "0x181CDA0B0")]
|
|
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: 0x06009B71 RID: 39793 RVA: 0x002041DC File Offset: 0x002023DC
|
|
[Token(Token = "0x6009B71")]
|
|
[Address(RVA = "0x1CDA650", Offset = "0x1CD9450", VA = "0x181CDA650")]
|
|
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: 0x06009B72 RID: 39794 RVA: 0x002042BC File Offset: 0x002024BC
|
|
[Token(Token = "0x6009B72")]
|
|
[Address(RVA = "0x1CD9290", Offset = "0x1CD8090", VA = "0x181CD9290")]
|
|
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: 0x06009B73 RID: 39795 RVA: 0x00204328 File Offset: 0x00202528
|
|
[Token(Token = "0x6009B73")]
|
|
[Address(RVA = "0x1CD9E40", Offset = "0x1CD8C40", VA = "0x181CD9E40")]
|
|
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: 0x06009B74 RID: 39796 RVA: 0x00204384 File Offset: 0x00202584
|
|
[Token(Token = "0x6009B74")]
|
|
[Address(RVA = "0x1CD9520", Offset = "0x1CD8320", VA = "0x181CD9520")]
|
|
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: 0x06009B75 RID: 39797 RVA: 0x0020445C File Offset: 0x0020265C
|
|
[Token(Token = "0x6009B75")]
|
|
[Address(RVA = "0x1CD83B0", Offset = "0x1CD71B0", VA = "0x181CD83B0")]
|
|
private void checkExcludedURI(ISet excluded, string uri)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009B75)
|
|
|
|
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: 0x06009B76 RID: 39798 RVA: 0x00204488 File Offset: 0x00202688
|
|
[Token(Token = "0x6009B76")]
|
|
[Address(RVA = "0x1CD9880", Offset = "0x1CD8680", VA = "0x181CD9880")]
|
|
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: 0x06009B77 RID: 39799 RVA: 0x002044E8 File Offset: 0x002026E8
|
|
[Token(Token = "0x6009B77")]
|
|
[Address(RVA = "0x1CDA440", Offset = "0x1CD9240", VA = "0x181CDA440")]
|
|
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: 0x06009B78 RID: 39800 RVA: 0x0020454C File Offset: 0x0020274C
|
|
[Token(Token = "0x6009B78")]
|
|
[Address(RVA = "0x1CD9AE0", Offset = "0x1CD88E0", VA = "0x181CD9AE0")]
|
|
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: 0x06009B79 RID: 39801 RVA: 0x00204624 File Offset: 0x00202824
|
|
[Token(Token = "0x6009B79")]
|
|
[Address(RVA = "0x1CD4200", Offset = "0x1CD3000", VA = "0x181CD4200")]
|
|
private void CheckPermittedURI(ISet permitted, string uri)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009B79)
|
|
|
|
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: 0x06009B7A RID: 39802 RVA: 0x00204660 File Offset: 0x00202860
|
|
[Token(Token = "0x6009B7A")]
|
|
[Address(RVA = "0x1CD63F0", Offset = "0x1CD51F0", VA = "0x181CD63F0")]
|
|
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: 0x06009B7B RID: 39803 RVA: 0x0020469C File Offset: 0x0020289C
|
|
[Token(Token = "0x6009B7B")]
|
|
[Address(RVA = "0x1CD48C0", Offset = "0x1CD36C0", VA = "0x181CD48C0")]
|
|
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: 0x06009B7C RID: 39804 RVA: 0x00204714 File Offset: 0x00202914
|
|
[Token(Token = "0x6009B7C")]
|
|
[Address(RVA = "0x1CD8BA0", Offset = "0x1CD79A0", VA = "0x181CD8BA0")]
|
|
public void checkPermitted(GeneralName name)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009B7C)
|
|
|
|
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: 0x06009B7D RID: 39805 RVA: 0x002048B0 File Offset: 0x00202AB0
|
|
[Token(Token = "0x6009B7D")]
|
|
[Address(RVA = "0x1CD84E0", Offset = "0x1CD72E0", VA = "0x181CD84E0")]
|
|
public void checkExcluded(GeneralName name)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06009B7D)
|
|
|
|
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: 0x06009B7E RID: 39806 RVA: 0x00204A14 File Offset: 0x00202C14
|
|
[Token(Token = "0x6009B7E")]
|
|
[Address(RVA = "0x1CD5B50", Offset = "0x1CD4950", VA = "0x181CD5B50")]
|
|
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: 0x06009B7F RID: 39807 RVA: 0x00204B30 File Offset: 0x00202D30
|
|
[Token(Token = "0x6009B7F")]
|
|
[Address(RVA = "0x1CD4CC0", Offset = "0x1CD3AC0", VA = "0x181CD4CC0")]
|
|
private string ExtractNameAsString(GeneralName name)
|
|
{
|
|
Asn1Object asn1Object = DerIA5String.GetInstance(name.obj).ToAsn1Object();
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06009B80 RID: 39808 RVA: 0x00204B54 File Offset: 0x00202D54
|
|
[Token(Token = "0x6009B80")]
|
|
[Address(RVA = "0x1CD5400", Offset = "0x1CD4200", VA = "0x181CD5400")]
|
|
public void IntersectEmptyPermittedSubtree(int nameType)
|
|
{
|
|
int num = nameType - 1;
|
|
if (num <= 6)
|
|
{
|
|
HashSet hashSet = new HashSet();
|
|
this.permittedSubtreesEmail = hashSet;
|
|
return;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06009B81 RID: 39809 RVA: 0x00204BB8 File Offset: 0x00202DB8
|
|
[Token(Token = "0x6009B81")]
|
|
[Address(RVA = "0x1CD3610", Offset = "0x1CD2410", VA = "0x181CD3610")]
|
|
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: 0x06009B82 RID: 39810 RVA: 0x00204C70 File Offset: 0x00202E70
|
|
[Token(Token = "0x6009B82")]
|
|
[Address(RVA = "0x1CD64D0", Offset = "0x1CD52D0", VA = "0x181CD64D0")]
|
|
private static byte[] Max(byte[] ip1, byte[] ip2)
|
|
{
|
|
int num = 0;
|
|
int length = ip1.Length;
|
|
if (num < length)
|
|
{
|
|
num++;
|
|
return ip1;
|
|
}
|
|
return ip2;
|
|
}
|
|
|
|
// Token: 0x06009B83 RID: 39811 RVA: 0x00204C98 File Offset: 0x00202E98
|
|
[Token(Token = "0x6009B83")]
|
|
[Address(RVA = "0x1CD6950", Offset = "0x1CD5750", VA = "0x181CD6950")]
|
|
private static byte[] Min(byte[] ip1, byte[] ip2)
|
|
{
|
|
int num = 0;
|
|
int length = ip1.Length;
|
|
if (num < length)
|
|
{
|
|
num++;
|
|
return ip1;
|
|
}
|
|
return ip2;
|
|
}
|
|
|
|
// Token: 0x06009B84 RID: 39812 RVA: 0x00204CC0 File Offset: 0x00202EC0
|
|
[Token(Token = "0x6009B84")]
|
|
[Address(RVA = "0x1CD4490", Offset = "0x1CD3290", VA = "0x181CD4490")]
|
|
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: 0x06009B85 RID: 39813 RVA: 0x00204CE8 File Offset: 0x00202EE8
|
|
[Token(Token = "0x6009B85")]
|
|
[Address(RVA = "0x1CD69D0", Offset = "0x1CD57D0", VA = "0x181CD69D0")]
|
|
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: 0x06009B86 RID: 39814 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x6009B86")]
|
|
[Address(RVA = "0x1CD4E00", Offset = "0x1CD3C00", VA = "0x181CD4E00")]
|
|
[Obsolete]
|
|
public int HashCode()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06009B87 RID: 39815 RVA: 0x00204D1C File Offset: 0x00202F1C
|
|
[Token(Token = "0x6009B87")]
|
|
[Address(RVA = "0x1CD4D00", Offset = "0x1CD3B00", VA = "0x181CD4D00", 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: 0x06009B88 RID: 39816 RVA: 0x00204E0C File Offset: 0x0020300C
|
|
[Token(Token = "0x6009B88")]
|
|
[Address(RVA = "0x1CD4E20", Offset = "0x1CD3C20", VA = "0x181CD4E20")]
|
|
private int HashCollection(ICollection coll)
|
|
{
|
|
if (coll != 0)
|
|
{
|
|
int num = 0;
|
|
int num2;
|
|
return num + num2;
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
// Token: 0x06009B89 RID: 39817 RVA: 0x00204E2C File Offset: 0x0020302C
|
|
[Token(Token = "0x6009B89")]
|
|
[Address(RVA = "0x1CD46F0", Offset = "0x1CD34F0", VA = "0x181CD46F0", 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: 0x06009B8A RID: 39818 RVA: 0x00204E7C File Offset: 0x0020307C
|
|
[Token(Token = "0x6009B8A")]
|
|
[Address(RVA = "0x1CD4330", Offset = "0x1CD3130", VA = "0x181CD4330")]
|
|
private bool CollectionsAreEqual(ICollection coll1, ICollection coll2)
|
|
{
|
|
if (coll1 != coll2 && coll1 != 0 && coll2 != 0)
|
|
{
|
|
bool flag;
|
|
while (!flag)
|
|
{
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x06009B8B RID: 39819 RVA: 0x00204EA0 File Offset: 0x002030A0
|
|
[Token(Token = "0x6009B8B")]
|
|
[Address(RVA = "0x1CD6AA0", Offset = "0x1CD58A0", VA = "0x181CD6AA0")]
|
|
private bool SpecialEquals(object o1, object o2)
|
|
{
|
|
if (o1 != o2)
|
|
{
|
|
if (o1 != 0 && o2 != 0)
|
|
{
|
|
bool flag;
|
|
return flag;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x06009B8C RID: 39820 RVA: 0x00204EC0 File Offset: 0x002030C0
|
|
[Token(Token = "0x6009B8C")]
|
|
[Address(RVA = "0x1CD6EF0", Offset = "0x1CD5CF0", VA = "0x181CD6EF0")]
|
|
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: 0x06009B8D RID: 39821 RVA: 0x00204F54 File Offset: 0x00203154
|
|
[Token(Token = "0x6009B8D")]
|
|
[Address(RVA = "0x1CD6BA0", Offset = "0x1CD59A0", VA = "0x181CD6BA0")]
|
|
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: 0x06009B8E RID: 39822 RVA: 0x00205060 File Offset: 0x00203260
|
|
[Token(Token = "0x6009B8E")]
|
|
[Address(RVA = "0x1CD7050", Offset = "0x1CD5E50", VA = "0x181CD7050", 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: 0x040068EA RID: 26858
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x40068EA")]
|
|
private ISet excludedSubtreesDN;
|
|
|
|
// Token: 0x040068EB RID: 26859
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x40068EB")]
|
|
private ISet excludedSubtreesDNS;
|
|
|
|
// Token: 0x040068EC RID: 26860
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x40068EC")]
|
|
private ISet excludedSubtreesEmail;
|
|
|
|
// Token: 0x040068ED RID: 26861
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x40068ED")]
|
|
private ISet excludedSubtreesURI;
|
|
|
|
// Token: 0x040068EE RID: 26862
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x40068EE")]
|
|
private ISet excludedSubtreesIP;
|
|
|
|
// Token: 0x040068EF RID: 26863
|
|
[FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x40068EF")]
|
|
private ISet permittedSubtreesDN;
|
|
|
|
// Token: 0x040068F0 RID: 26864
|
|
[FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x40068F0")]
|
|
private ISet permittedSubtreesDNS;
|
|
|
|
// Token: 0x040068F1 RID: 26865
|
|
[FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x40068F1")]
|
|
private ISet permittedSubtreesEmail;
|
|
|
|
// Token: 0x040068F2 RID: 26866
|
|
[FieldOffset(Offset = "0x50")]
|
|
[Token(Token = "0x40068F2")]
|
|
private ISet permittedSubtreesURI;
|
|
|
|
// Token: 0x040068F3 RID: 26867
|
|
[FieldOffset(Offset = "0x58")]
|
|
[Token(Token = "0x40068F3")]
|
|
private ISet permittedSubtreesIP;
|
|
}
|
|
}
|