@@ -145,7 +145,7 @@ private async Task RunTlsClientHelloCallbackTest(
145145 public static IEnumerable < object [ ] > ValidClientHelloData ( )
146146 {
147147 int id = 0 ;
148- foreach ( var clientHello in new List < byte [ ] > ( ) { valid_clientHelloHeader , valid_ClientHelloStandard , valid_Tls12ClientHello , valid_Tls13ClientHello , valid_TlsClientHelloNoExtensions } )
148+ foreach ( var clientHello in valid_collection )
149149 {
150150 yield return new object [ ] { id ++ , clientHello , true /* invokes next middleware */ } ;
151151 }
@@ -154,7 +154,7 @@ public static IEnumerable<object[]> ValidClientHelloData()
154154 public static IEnumerable < object [ ] > InvalidClientHelloData ( )
155155 {
156156 int id = 0 ;
157- foreach ( byte [ ] clientHello in new List < byte [ ] > ( ) { invalid_TlsClientHelloHeader , invalid_3BytesMessage , invalid_UnknownProtocolVersion1 , invalid_UnknownProtocolVersion2 , invalid_IncorrectHandshakeMessageType } )
157+ foreach ( byte [ ] clientHello in invalid_collection )
158158 {
159159 yield return new object [ ] { id ++ , clientHello , true /* invokes next middleware */ } ;
160160 }
@@ -163,7 +163,7 @@ public static IEnumerable<object[]> InvalidClientHelloData()
163163 public static IEnumerable < object [ ] > ValidClientHelloData_Segmented ( )
164164 {
165165 int id = 0 ;
166- foreach ( var clientHello in new List < byte [ ] > ( ) { valid_clientHelloHeader , valid_ClientHelloStandard , valid_Tls12ClientHello , valid_Tls13ClientHello , valid_TlsClientHelloNoExtensions } )
166+ foreach ( var clientHello in valid_collection )
167167 {
168168 var clientHelloSegments = new List < byte [ ] >
169169 {
@@ -181,8 +181,30 @@ public static IEnumerable<object[]> ValidClientHelloData_Segmented()
181181 public static IEnumerable < object [ ] > InvalidClientHelloData_Segmented ( )
182182 {
183183 int id = 0 ;
184- foreach ( List < byte [ ] > clientHelloSegments in new List < List < byte [ ] > > ( ) { invalidSegmented_TlsClientHelloHeader } )
184+ foreach ( var clientHello in invalid_collection )
185185 {
186+ var clientHelloSegments = new List < byte [ ] > ( ) ;
187+ if ( clientHello . Length >= 1 )
188+ {
189+ clientHelloSegments . Add ( clientHello . Take ( 1 ) . ToArray ( ) ) ;
190+ }
191+ if ( clientHello . Length >= 3 )
192+ {
193+ clientHelloSegments . Add ( clientHello . Skip ( 1 ) . Take ( 2 ) . ToArray ( ) ) ;
194+ }
195+ if ( clientHello . Length >= 5 )
196+ {
197+ clientHelloSegments . Add ( clientHello . Skip ( 3 ) . Take ( 2 ) . ToArray ( ) ) ;
198+ }
199+ if ( clientHello . Length >= 6 )
200+ {
201+ clientHelloSegments . Add ( clientHello . Skip ( 5 ) . Take ( 1 ) . ToArray ( ) ) ;
202+ }
203+ if ( clientHello . Length >= 7 )
204+ {
205+ clientHelloSegments . Add ( clientHello . Skip ( 6 ) . Take ( clientHello . Length - 6 ) . ToArray ( ) ) ;
206+ }
207+
186208 yield return new object [ ] { id ++ , clientHelloSegments , true /* invokes next middleware */ } ;
187209 }
188210 }
@@ -500,11 +522,13 @@ public static IEnumerable<object[]> InvalidClientHelloData_Segmented()
500522 0x00 , 0x00 , 0xC7 ,
501523 } ;
502524
503- private static List < byte [ ] > invalidSegmented_TlsClientHelloHeader = new ( )
525+ private static List < byte [ ] > valid_collection = new List < byte [ ] > ( )
526+ {
527+ valid_clientHelloHeader , valid_ClientHelloStandard , valid_Tls12ClientHello , valid_Tls13ClientHello , valid_TlsClientHelloNoExtensions
528+ } ;
529+
530+ private static List < byte [ ] > invalid_collection = new List < byte [ ] > ( )
504531 {
505- new byte [ ] { 0x01 , 0x03 , 0x04 } ,
506- new byte [ ] { 0x00 , 0xCB } ,
507- new byte [ ] { 0x01 } ,
508- new byte [ ] { 0x00 , 0x00 , 0xC7 } ,
532+ invalid_TlsClientHelloHeader , invalid_3BytesMessage , invalid_UnknownProtocolVersion1 , invalid_UnknownProtocolVersion2 , invalid_IncorrectHandshakeMessageType
509533 } ;
510534}
0 commit comments