a
This commit is contained in:
@@ -0,0 +1,238 @@
|
||||
using System;
|
||||
using Cpp2IlInjected;
|
||||
|
||||
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Net
|
||||
{
|
||||
// Token: 0x02001938 RID: 6456
|
||||
[Token(Token = "0x2001938")]
|
||||
public class IPAddress
|
||||
{
|
||||
// Token: 0x06009933 RID: 39219 RVA: 0x001FCBD0 File Offset: 0x001FADD0
|
||||
[Token(Token = "0x6009933")]
|
||||
[Address(RVA = "0x18DF7D0", Offset = "0x18DE5D0", VA = "0x1818DF7D0")]
|
||||
public static bool IsValid(string address)
|
||||
{
|
||||
return IPAddress.IsValidIPv4(address) || IPAddress.IsValidIPv6(address);
|
||||
}
|
||||
|
||||
// Token: 0x06009934 RID: 39220 RVA: 0x001FCBF0 File Offset: 0x001FADF0
|
||||
[Token(Token = "0x6009934")]
|
||||
[Address(RVA = "0x18DF6B0", Offset = "0x18DE4B0", VA = "0x1818DF6B0")]
|
||||
public static bool IsValidWithNetMask(string address)
|
||||
{
|
||||
int num2;
|
||||
int num = num2 + 1;
|
||||
string text = address.Substring(num);
|
||||
if (num2 > 0)
|
||||
{
|
||||
int num3 = 0;
|
||||
if (IPAddress.IsValidIPv4(address.Substring(num3, num2)) && (IPAddress.IsValidIPv4(text) || IPAddress.IsMaskValue(text, 32)))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
int num4;
|
||||
num2 = num4;
|
||||
int num5 = num4 + 1;
|
||||
string text2 = address.Substring(num5);
|
||||
if (num2 > 0)
|
||||
{
|
||||
int num6 = 0;
|
||||
if (!IPAddress.IsValidIPv6(address.Substring(num6, num2)))
|
||||
{
|
||||
}
|
||||
}
|
||||
IL_66:
|
||||
bool flag;
|
||||
while (flag)
|
||||
{
|
||||
}
|
||||
bool flag2;
|
||||
return flag2;
|
||||
goto IL_66;
|
||||
}
|
||||
|
||||
// Token: 0x06009935 RID: 39221 RVA: 0x001FCC70 File Offset: 0x001FAE70
|
||||
[Token(Token = "0x6009935")]
|
||||
[Address(RVA = "0x18DF470", Offset = "0x18DE270", VA = "0x1818DF470")]
|
||||
public static bool IsValidIPv4(string address)
|
||||
{
|
||||
if (address.m_stringLength != 0)
|
||||
{
|
||||
int num = 0;
|
||||
string text = address + ".";
|
||||
if (num < text.m_stringLength)
|
||||
{
|
||||
uint num3;
|
||||
int num2 = text.IndexOf((char)num3, num);
|
||||
if (num2 > num && num != 4)
|
||||
{
|
||||
num2 -= num;
|
||||
if (int.Parse(text.Substring(num, num2)) <= 255)
|
||||
{
|
||||
num++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009936 RID: 39222 RVA: 0x001FCCD8 File Offset: 0x001FAED8
|
||||
[Token(Token = "0x6009936")]
|
||||
[Address(RVA = "0x18DF800", Offset = "0x18DE600", VA = "0x1818DF800")]
|
||||
private static bool unsafeIsValidIPv4(string address)
|
||||
{
|
||||
if (address.m_stringLength != 0)
|
||||
{
|
||||
int num = 0;
|
||||
string text = address + ".";
|
||||
if (num < text.m_stringLength)
|
||||
{
|
||||
uint num3;
|
||||
int num2 = text.IndexOf((char)num3, num);
|
||||
if (num2 > num)
|
||||
{
|
||||
if (num == 4)
|
||||
{
|
||||
goto IL_52;
|
||||
}
|
||||
num2 -= num;
|
||||
if (int.Parse(text.Substring(num, num2)) > 255)
|
||||
{
|
||||
goto IL_52;
|
||||
}
|
||||
num++;
|
||||
}
|
||||
}
|
||||
return num == 4;
|
||||
}
|
||||
IL_52:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009937 RID: 39223 RVA: 0x001FCD3C File Offset: 0x001FAF3C
|
||||
[Token(Token = "0x6009937")]
|
||||
[Address(RVA = "0x18DF3B0", Offset = "0x18DE1B0", VA = "0x1818DF3B0")]
|
||||
public static bool IsValidIPv4WithNetmask(string address)
|
||||
{
|
||||
int num2;
|
||||
int num = num2 + 1;
|
||||
string text = address.Substring(num);
|
||||
if (num2 > 0)
|
||||
{
|
||||
int num3 = 0;
|
||||
if (IPAddress.IsValidIPv4(address.Substring(num3, num2)))
|
||||
{
|
||||
return IPAddress.IsValidIPv4(text) || IPAddress.IsMaskValue(text, 32);
|
||||
}
|
||||
}
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x06009938 RID: 39224 RVA: 0x001FCD88 File Offset: 0x001FAF88
|
||||
[Token(Token = "0x6009938")]
|
||||
[Address(RVA = "0x18DF590", Offset = "0x18DE390", VA = "0x1818DF590")]
|
||||
public static bool IsValidIPv6WithNetmask(string address)
|
||||
{
|
||||
int num2;
|
||||
int num = num2 + 1;
|
||||
string text = address.Substring(num);
|
||||
if (num2 > 0)
|
||||
{
|
||||
int num3 = 0;
|
||||
if (!IPAddress.IsValidIPv6(address.Substring(num3, num2)))
|
||||
{
|
||||
}
|
||||
}
|
||||
bool flag;
|
||||
bool flag2;
|
||||
return flag || flag2;
|
||||
}
|
||||
|
||||
// Token: 0x06009939 RID: 39225 RVA: 0x001FCDCC File Offset: 0x001FAFCC
|
||||
[Token(Token = "0x6009939")]
|
||||
[Address(RVA = "0x18DF330", Offset = "0x18DE130", VA = "0x1818DF330")]
|
||||
private static bool IsMaskValue(string component, int size)
|
||||
{
|
||||
return int.Parse(component) <= size;
|
||||
}
|
||||
|
||||
// Token: 0x0600993A RID: 39226 RVA: 0x001FCDE8 File Offset: 0x001FAFE8
|
||||
[Token(Token = "0x600993A")]
|
||||
[Address(RVA = "0x18DF650", Offset = "0x18DE450", VA = "0x1818DF650")]
|
||||
public static bool IsValidIPv6(string address)
|
||||
{
|
||||
return IPAddress.unsafeIsValidIPv6(address);
|
||||
}
|
||||
|
||||
// Token: 0x0600993B RID: 39227 RVA: 0x001FCE00 File Offset: 0x001FB000
|
||||
[Token(Token = "0x600993B")]
|
||||
[Address(RVA = "0x18DF8E0", Offset = "0x18DE6E0", VA = "0x1818DF8E0")]
|
||||
private static bool unsafeIsValidIPv6(string address)
|
||||
{
|
||||
if (address.m_stringLength != 0)
|
||||
{
|
||||
int num = 0;
|
||||
string text = address + ":";
|
||||
int num2 = 0;
|
||||
if (num < text.m_stringLength)
|
||||
{
|
||||
uint num4;
|
||||
int num3 = text.IndexOf((char)num4, num);
|
||||
if (num == 8)
|
||||
{
|
||||
goto IL_C2;
|
||||
}
|
||||
int num5;
|
||||
if (num == num3)
|
||||
{
|
||||
if (num3 != 1)
|
||||
{
|
||||
int stringLength = text.m_stringLength;
|
||||
}
|
||||
if (num != num2)
|
||||
{
|
||||
goto IL_C2;
|
||||
}
|
||||
num5 = num3 + 1;
|
||||
num = num5;
|
||||
num++;
|
||||
}
|
||||
num3 -= num5;
|
||||
string text2 = text.Substring(num5, num3);
|
||||
int stringLength2 = text.m_stringLength;
|
||||
uint num6;
|
||||
int num7;
|
||||
if (num3 == stringLength2 && text2.IndexOf((char)num6) > 0)
|
||||
{
|
||||
if (!IPAddress.IsValidIPv4(text2))
|
||||
{
|
||||
goto IL_C2;
|
||||
}
|
||||
num++;
|
||||
num7 = num3 + 1;
|
||||
num++;
|
||||
}
|
||||
string text3 = text.Substring(num7, num3);
|
||||
int num8;
|
||||
if (num8 > 65535)
|
||||
{
|
||||
goto IL_C2;
|
||||
}
|
||||
num++;
|
||||
}
|
||||
return num != 8;
|
||||
}
|
||||
IL_C2:
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
|
||||
// Token: 0x0600993C RID: 39228 RVA: 0x001FCED4 File Offset: 0x001FB0D4
|
||||
[Token(Token = "0x600993C")]
|
||||
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
||||
public IPAddress()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user