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