You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While client_random already is set to all-zero (though it creates different problems: #139 ) and RSA premaster_secret is handled the same, stuff like client (EC)DH share is not.
Runner should be extended to pick a seed value that is then used for specific test runs, so that a combination of static seed and a particular name of conversation will generate the same conversation (provided the server is doing the same).
Then update the premaster_secret generation and client_random selection to use that seed for their generation.
The text was updated successfully, but these errors were encountered:
What is the issue you trying to address with this change? Going to a fully deterministic mode for all tests will most likely cause other problems as it will limit the code paths exercised by the IUT.
@nmav By that I mean "fully deterministic for a given seed", if you don't specify the seed the test case will be just as random (and I want to make them more random) as they are now.
The aim is so that in case of failure, you want to be able to take the log of the run and reproduce it exactly on your development machine - now when the actual fuzzing is non-existant to minimal it's not much of a problem, but it will get only worse as time progresses.
There are actually two RNGs we need to worry about, one is the PYTHONHASHSEED that influences in older pythons the order in which the objects are returned from a dictionary (important for testing
extensions)
then we have the situation when we are running tests one by one and want to reproduce a single test, at such point the RNG may have advanced arbitrary amount of steps, so when actually running the test, we should capture the state of the RNG before executing the test and then print it on failure (+some mechanism to set it when just single test is executed)
While
client_random
already is set to all-zero (though it creates different problems: #139 ) and RSApremaster_secret
is handled the same, stuff like client (EC)DH share is not.Runner should be extended to pick a seed value that is then used for specific test runs, so that a combination of static seed and a particular name of conversation will generate the same conversation (provided the server is doing the same).
Then update the
premaster_secret
generation andclient_random
selection to use that seed for their generation.The text was updated successfully, but these errors were encountered: