/** * Parse a {@link ServerNameList} from a {@link Stream}. * * @param input * the {@link Stream} to parse from. * @return a {@link ServerNameList} object. * @throws IOException */ public static ServerNameList Parse(Stream input) { int length = TlsUtilities.ReadUint16(input); if (length < 1) { throw new TlsFatalAlert(AlertDescription.decode_error); } byte[] data = TlsUtilities.ReadFully(length, input); MemoryStream buf = new MemoryStream(data, false); byte[] nameTypesSeen = TlsUtilities.EmptyBytes; IList server_name_list = Org.BouncyCastle.Utilities.Platform.CreateArrayList(); while (buf.Position < buf.Length) { ServerName entry = ServerName.Parse(buf); nameTypesSeen = CheckNameType(nameTypesSeen, entry.NameType); if (nameTypesSeen == null) { throw new TlsFatalAlert(AlertDescription.illegal_parameter); } server_name_list.Add(entry); } return(new ServerNameList(server_name_list)); }
public static ServerNameList Parse(Stream input) { int length = TlsUtilities.ReadUint16(input); if (length < 1) { throw new TlsFatalAlert(50); } MemoryStream stream = new MemoryStream(TlsUtilities.ReadFully(length, input), false); byte[] emptyBytes = TlsUtilities.EmptyBytes; IList serverNameList = Platform.CreateArrayList(); while (stream.Position < stream.Length) { ServerName name = ServerName.Parse(stream); emptyBytes = CheckNameType(emptyBytes, name.NameType); if (emptyBytes == null) { throw new TlsFatalAlert(0x2f); } serverNameList.Add(name); } return(new ServerNameList(serverNameList)); }
public static ServerNameList Parse(Stream input) { int num = TlsUtilities.ReadUint16(input); if (num < 1) { throw new TlsFatalAlert(50); } byte[] buffer = TlsUtilities.ReadFully(num, input); MemoryStream memoryStream = new MemoryStream(buffer, writable: false); IList list = Platform.CreateArrayList(); while (memoryStream.Position < memoryStream.Length) { ServerName value = ServerName.Parse(memoryStream); list.Add(value); } return(new ServerNameList(list)); }
public static ServerNameList Parse(Stream input) { //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Expected O, but got Unknown int num = TlsUtilities.ReadUint16(input); if (num < 1) { throw new TlsFatalAlert(50); } byte[] array = TlsUtilities.ReadFully(num, input); MemoryStream val = new MemoryStream(array, false); global::System.Collections.IList list = Platform.CreateArrayList(); while (((Stream)val).get_Position() < ((Stream)val).get_Length()) { ServerName serverName = ServerName.Parse((Stream)(object)val); list.Add((object)serverName); } return(new ServerNameList(list)); }
/** * Parse a {@link ServerNameList} from a {@link Stream}. * * @param input * the {@link Stream} to parse from. * @return a {@link ServerNameList} object. * @throws IOException */ public static ServerNameList Parse(Stream input) { int length = TlsUtilities.ReadUint16(input); if (length < 1) { throw new TlsFatalAlert(AlertDescription.decode_error); } byte[] data = TlsUtilities.ReadFully(length, input); MemoryStream buf = new MemoryStream(data, false); IList server_name_list = Platform.CreateArrayList(); while (buf.Position < buf.Length) { ServerName entry = ServerName.Parse(buf); server_name_list.Add(entry); } return(new ServerNameList(server_name_list)); }