2 # Copyright 2016-2016 The OpenSSL Project Authors. All Rights Reserved.
4 # Licensed under the OpenSSL license (the "License"). You may not use
5 # this file except in compliance with the License. You can obtain a copy
6 # in the file LICENSE in the source distribution or at
7 # https://www.openssl.org/source/license.html
10 ## Test version negotiation
19 # Default fragment size is 512.
21 name => "one-fragment-minus-app-data",
25 ApplicationData => 511,
29 name => "one-fragment-app-data",
33 ApplicationData => 512,
37 name => "one-fragment-plus-app-data",
41 ApplicationData => 513,
45 name => "small-app-data",
49 ApplicationData => 4 * 1024 + 1,
53 name => "small-app-data-large-fragment-size",
57 ApplicationData => 4 * 1024 + 1,
58 MaxFragmentSize => 16384,
62 name => "medium-app-data",
66 ApplicationData => 32 * 1024 + 7,
69 # Exceeds the 64kB write buffer size.
71 name => "medium-plus-app-data",
75 ApplicationData => 128 * 1024 - 3,
79 name => "large-app-data",
83 ApplicationData => 1024 * 1024,
87 name => "large-app-data-large-fragment-size",
91 ApplicationData => 1024 * 1024,
92 MaxFragmentSize => 16384,
96 name => "large-app-data-odd-fragment-size",
100 ApplicationData => 1024 * 1024,
101 MaxFragmentSize => 5 * 1024 - 5,
104 # When the buffer / fragment size ratio is sufficiently large,
105 # multi-buffer code kicks in on some platforms for AES-SHA. The
106 # exact minimum ratio depends on the platform, and is usually
107 # around 4. Since the the test buffer is 64kB, a 4kB fragment is
110 # (We run this test on all platforms though it's only true multibuffer
113 name => "large-app-data-aes-sha1-multibuffer",
116 CipherString => "AES128-SHA",
119 ApplicationData => 1024 * 1024,
120 MaxFragmentSize => 4 * 1024,
124 name => "large-app-data-aes-sha2-multibuffer",
127 CipherString => "AES128-SHA256",
130 ApplicationData => 1024 * 1024,
131 MaxFragmentSize => 4 * 1024,
135 name => "large-app-data-aes-sha1-multibuffer-odd-fragment",
138 CipherString => "AES128-SHA",
141 ApplicationData => 1024 * 1024 + 3,
142 MaxFragmentSize => 5 * 1024 - 5,
146 name => "large-app-data-aes-sha2-multibuffer-odd-fragment",
149 CipherString => "AES128-SHA256",
152 ApplicationData => 1024 * 1024 - 3,
153 MaxFragmentSize => 5 * 1024 + 5,
156 # Test that multibuffer-capable code also handles small data correctly.
157 # Here fragment size == app data size < buffer size,
158 # so no multibuffering should happen.
160 name => "small-app-data-aes-sha1-multibuffer",
163 CipherString => "AES128-SHA",
166 ApplicationData => 4 * 1024,
167 MaxFragmentSize => 4 * 1024,
171 name => "small-app-data-aes-sha2-multibuffer",
174 CipherString => "AES128-SHA256",
177 ApplicationData => 4 * 1024,
178 MaxFragmentSize => 4 * 1024,