Lines Matching full:will
5 processes them accordingly. It will need to behave appropriately in the event of
14 Typically an individual test will inject one particular misbehaviour (i.e. a
16 will have to be capable of creating fully normal QUIC protocol elements, but
22 The QUIC Fault Injector will be external to libssl (it will be in the test
23 framework) but it will reuse the standards compliant QUIC implementation in
24 libssl and will make use of 3 integration points to inject faults. 2 of these
25 integration points will use new callbacks added to libssl. The final integration
47 To support this integration point two new callbacks will be introduced to libssl
49 hashed. These callbacks will be internal only (i.e. not part of the public API)
52 The new libssl callbacks will be as follows:
70 `ossl_statem_set_mutator`. The mutator callback `mutate_handshake_cb` will be
72 before it has been passed through the handshake hashing code. It will be passed
74 associated length in `inlen`. The mutator will construct a replacement handshake
76 in a newly allocated buffer. A pointer to the new buffer will be passed back
77 in `*msgout` and its length will be stored in `*outlen`. Optionally the mutator
82 Once libssl has finished using the mutated buffer it will call the
98 The above functionality will be supported by the following two new callbacks
99 which will provide the ability to mutate packets before they are encrypted and
100 sent. As for the TLS callbacks these will be internal only and not part of the
117 A single new function call will set both callbacks. The `mutatecb` callback will
119 been applied to it. The header for the packet will be pointed to by `hdrin` and
120 the payload will be in an iovec array pointed to by `iovecin` and containing
142 In order to provide this functionality the QUIC Fault Injector will insert
144 will be used with one of the pair being used on the client end and the other
146 will be created with one used on the server and other used with the Fault
149 With this setup the Fault Injector will act as a proxy and simply pass
151 requires a modification to be made, that will occur prior to the datagram being
154 This will all be implemented using public BIO APIs without requiring any
160 The Fault Injector will utilise the callbacks described above in order to supply
163 This API will primarily take the form of a set of event listener callbacks. A
164 test will be able to "listen" for a specific event occurring and be informed about
171 Each listener will be provided with additional data about the specific event.
172 For example a listener that is listening for an EncryptedExtensions message will
174 structure. Additional helper functions will be provided to make changes to the
177 Initially listeners will only be able to listen for events on the server side.
178 This is because, in MVP, it will be the client side that is under test - so the
180 MVP this will be extended in order to be able to test the server. It may be that
183 client is behaving as we expect). This will be added if required as we develop
186 It is expected that the Fault Injector API will expand over time as new
188 initial API will provide a basic set of listeners and helper functions in order
191 The following outlines an illustrative set of functions that will initially be
202 * injector will reconstruct the message to be sent on
232 * Same as qtest_create_quic_connection but will stop (successfully) if the
268 * This will fail if a large resize is attempted that exceeds the over
299 * This will fail if a large resize is attempted that exceeds the over
306 * we might expect to see an "ACK" frame listener which will be passed
332 * address of the buffer. This will fail if a large resize is attempted that
384 * address of the buffer. This will fail if a large resize is attempted that