141 lines
3.7 KiB
C#
141 lines
3.7 KiB
C#
using System;
|
|
using System.IO;
|
|
using System.Runtime.InteropServices;
|
|
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO;
|
|
using Cpp2IlInjected;
|
|
|
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1
|
|
{
|
|
// Token: 0x020017C3 RID: 6083
|
|
[Token(Token = "0x20017C3")]
|
|
[StructLayout(3)]
|
|
internal class DefiniteLengthInputStream : LimitedInputStream
|
|
{
|
|
// Token: 0x0600A400 RID: 41984 RVA: 0x00262754 File Offset: 0x00260954
|
|
[Token(Token = "0x600A400")]
|
|
[Address(RVA = "0x1ECE200", Offset = "0x1ECCC00", VA = "0x181ECE200")]
|
|
internal DefiniteLengthInputStream(Stream inStream, int length)
|
|
: base(inStream, length)
|
|
{
|
|
this._originalLength = length;
|
|
this._remaining = length;
|
|
if (length == 0)
|
|
{
|
|
int remaining = this.GetRemaining();
|
|
}
|
|
}
|
|
|
|
// Token: 0x170019A9 RID: 6569
|
|
// (get) Token: 0x0600A401 RID: 41985 RVA: 0x00262794 File Offset: 0x00260994
|
|
[Token(Token = "0x170019A9")]
|
|
internal int Remaining
|
|
{
|
|
[Token(Token = "0x600A401")]
|
|
[Address(RVA = "0x446CC0", Offset = "0x4456C0", VA = "0x180446CC0")]
|
|
get
|
|
{
|
|
return this._remaining;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600A402 RID: 41986 RVA: 0x002627A8 File Offset: 0x002609A8
|
|
[Token(Token = "0x600A402")]
|
|
[Address(RVA = "0x1ECDC00", Offset = "0x1ECC600", VA = "0x181ECDC00", Slot = "28")]
|
|
public override int ReadByte()
|
|
{
|
|
if (this._remaining != 0)
|
|
{
|
|
Stream @in = this._in;
|
|
int num;
|
|
if (num == 0)
|
|
{
|
|
int remaining = this.GetRemaining();
|
|
}
|
|
return num;
|
|
}
|
|
object[] array = new object[4];
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600A403 RID: 41987 RVA: 0x00262838 File Offset: 0x00260A38
|
|
[Token(Token = "0x600A403")]
|
|
[Address(RVA = "0x1ECDDC0", Offset = "0x1ECC7C0", VA = "0x181ECDDC0", Slot = "27")]
|
|
public override int Read(byte[] buf, int off, int len)
|
|
{
|
|
int remaining = this._remaining;
|
|
if (remaining != 0)
|
|
{
|
|
int num = Math.Min(len, remaining);
|
|
Stream @in = this._in;
|
|
if (num == 1)
|
|
{
|
|
int remaining2 = this.GetRemaining();
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
// Token: 0x0600A404 RID: 41988 RVA: 0x002628D0 File Offset: 0x00260AD0
|
|
[Token(Token = "0x600A404")]
|
|
[Address(RVA = "0x1ECDA20", Offset = "0x1ECC420", VA = "0x181ECDA20")]
|
|
internal void ReadAllIntoByteArray(byte[] buf)
|
|
{
|
|
int num;
|
|
do
|
|
{
|
|
num = this._remaining;
|
|
}
|
|
while (num != buf.Length);
|
|
int num2 = Streams.ReadFully(this._in, buf);
|
|
num -= num2;
|
|
this._remaining = num;
|
|
if (num == buf.Length)
|
|
{
|
|
((IDisposable)this).Dispose();
|
|
return;
|
|
}
|
|
object[] array = new object[4];
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0600A405 RID: 41989 RVA: 0x00262978 File Offset: 0x00260B78
|
|
[Token(Token = "0x600A405")]
|
|
[Address(RVA = "0x1ECDFC0", Offset = "0x1ECC9C0", VA = "0x181ECDFC0")]
|
|
internal byte[] ToArray()
|
|
{
|
|
int remaining = this._remaining;
|
|
if (remaining == 0)
|
|
{
|
|
return DefiniteLengthInputStream.EmptyBytes;
|
|
}
|
|
byte[] array = new byte[remaining];
|
|
Stream @in = this._in;
|
|
int num = this._remaining;
|
|
int num2 = Streams.ReadFully(@in, array);
|
|
num -= num2;
|
|
this._remaining = num;
|
|
if (remaining == 0)
|
|
{
|
|
int remaining2 = this.GetRemaining();
|
|
return array;
|
|
}
|
|
object[] array2 = new object[4];
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x04006B66 RID: 27494
|
|
[Token(Token = "0x4006B66")]
|
|
private static readonly byte[] EmptyBytes = new byte[0];
|
|
|
|
// Token: 0x04006B67 RID: 27495
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x4006B67")]
|
|
private readonly int _originalLength;
|
|
|
|
// Token: 0x04006B68 RID: 27496
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x44")]
|
|
[Token(Token = "0x4006B68")]
|
|
private int _remaining;
|
|
}
|
|
}
|