init commit

This commit is contained in:
2025-10-09 09:57:24 +09:00
commit 4d551bd74f
6636 changed files with 1218703 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
using System.IO;
using Org.BouncyCastle.Bcpg.Attr;
using Org.BouncyCastle.Utilities.IO;
namespace Org.BouncyCastle.Bcpg;
public class UserAttributeSubpacketsParser
{
private readonly Stream input;
public UserAttributeSubpacketsParser(Stream input)
{
this.input = input;
}
public virtual UserAttributeSubpacket ReadPacket()
{
int num = input.ReadByte();
if (num < 0)
{
return null;
}
int num2 = 0;
bool forceLongLength = false;
if (num < 192)
{
num2 = num;
}
else if (num <= 223)
{
num2 = (num - 192 << 8) + input.ReadByte() + 192;
}
else
{
if (num != 255)
{
throw new IOException("unrecognised length reading user attribute sub packet");
}
num2 = (input.ReadByte() << 24) | (input.ReadByte() << 16) | (input.ReadByte() << 8) | input.ReadByte();
forceLongLength = true;
}
int num3 = input.ReadByte();
if (num3 < 0)
{
throw new EndOfStreamException("unexpected EOF reading user attribute sub packet");
}
byte[] array = new byte[num2 - 1];
if (Streams.ReadFully(input, array) < array.Length)
{
throw new EndOfStreamException();
}
UserAttributeSubpacketTag userAttributeSubpacketTag = (UserAttributeSubpacketTag)num3;
UserAttributeSubpacketTag userAttributeSubpacketTag2 = userAttributeSubpacketTag;
if (userAttributeSubpacketTag2 == UserAttributeSubpacketTag.ImageAttribute)
{
return new ImageAttrib(forceLongLength, array);
}
return new UserAttributeSubpacket(userAttributeSubpacketTag, forceLongLength, array);
}
}