summaryrefslogtreecommitdiffstats
path: root/fuzz
AgeCommit message (Collapse)Author
2018-01-24SHA512/224 and SHA512/256Pauli
Support added for these two digests, available only via the EVP interface. Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/5093)
2017-11-06SM3: restructure to EVP internal and update doc to right locationRonald Tse
Reviewed-by: Paul Dale <paul.dale@oracle.com> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/4616)
2017-11-03Conditionalize fuzz tests on feature macrosBenjamin Kaduk
Do not try to fuzz-test structures/routines that are compiled out of the library due to library configuration. Reviewed-by: Kurt Roeckx <kurt@roeckx.be> (Merged from https://github.com/openssl/openssl/pull/4664)
2017-11-03Update asn1 and x509 corporaKurt Roeckx
Reviewed-by: Richard Levitte <levitte@openssl.org> GH: #4653
2017-11-03ASN1 fuzzer: Use d2i_TYPE / i2d_TYPE functionsKurt Roeckx
Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> GH: #4648
2017-11-03Don't turn b2 negativeKurt Roeckx
b2 being negative is ignored Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> GH: #4648
2017-11-03Update location of the libfuzzer repositoryKurt Roeckx
Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> GH: #4648
2017-10-31make updateRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Kurt Roeckx <kurt@roeckx.be> (Merged from https://github.com/openssl/openssl/pull/4637)
2017-10-31Generate a dictionary of OIDs for fuzzersRichard Levitte
It turns out that (some?) fuzzers can read a dictionary of OIDs, so we generate one as part of the usual 'make update'. Fixes #4615 Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Kurt Roeckx <kurt@roeckx.be> (Merged from https://github.com/openssl/openssl/pull/4637)
2017-10-16Remove unused variable.Ben Laurie
Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/4367)
2017-09-18Stack sorting safetyPauli
Use the defined typechecking stack method to sort the compression methods stack rather than using the generic function and apply type casts. Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/4382)
2017-08-16bndiv fuzzer: limit the size of the input to avoid timeoutgbrl
CLA: trivial Reviewed-by: Emilia Käsper <emilia@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/4119)
2017-08-11Move FuzzerSetRand to separate file.Rich Salz
Use an inline rand.inc; this fixes Google's OSS-Fuzz builds. Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/4141)
2017-07-26Install custom RAND_METHOD for fuzzingRich Salz
Instead of setting a "magic" global variable to force RAND to keep consistent state and always generate the same bytestream, have the fuzzing code install its own RAND_METHOD that does this. For BN_RAND_DEBUG, we just don't do it; that debugging was about mucking with BN's internal representation, not requiring predictable rand bytes. Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/4025)
2017-07-02Update fuzz corporaKurt Roeckx
Reviewed-by: Rich Salz <rsalz@openssl.org> GH: #3829
2017-04-27fuzz/{client,server}.c: omit _time64 "overload method".Andy Polyakov
Approach was opportunistic in Windows context from its inception and on top of that it was proven to be error-prone at link stage. Correct answer is to introduce library-specific time function that we can control in platform-neutral manner. Meanwhile we just let be attempts to override time on Windows. Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/3320)
2017-04-19Change 64-bit time type for windowsJon Spillett
Reviewed-by: Andy Polyakov <appro@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/3248)
2017-04-16Optionally check for early dataKurt Roeckx
This adds a way to use the last byte of the buffer to change the behavior of the server. The last byte is used so that the existing corpus can be reused either without changing it, or just adding a single byte, and that it can still be used by other projects. Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Andy Polyakov <appro@openssl.org> GH: #2683
2017-04-16Use a fixed time when fuzzing.Kurt Roeckx
Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Andy Polyakov <appro@openssl.org> GH: #2683
2017-04-16Document how to update the corpus.Kurt Roeckx
Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Andy Polyakov <appro@openssl.org> GH: #2683
2017-04-16Make x509 and asn1 fuzzer reproducibleKurt Roeckx
Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Andy Polyakov <appro@openssl.org> GH: #2683
2017-04-16Switch libfuzzer to use trace-pc-guardKurt Roeckx
Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Andy Polyakov <appro@openssl.org> GH: #2683
2017-04-10Act on deprecation of LONG and ZLONG, step 1Richard Levitte
Don't compile code that still uses LONG when it's deprecated Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/3126)
2017-04-10Publish our INT32, UINT32, INT64, UINT64 ASN.1 types and Z variantsRichard Levitte
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/3126)
2017-04-07Make default_method mostly compile-timeRich Salz
Document thread-safety issues Have RSA_null return NULL (always fails) Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2244)
2017-03-12Fix out-of-memory condition in confMatt Caswell
conf has the ability to expand variables in config files. Repeatedly doing this can lead to an exponential increase in the amount of memory required. This places a limit on the length of a value that can result from an expansion. Credit to OSS-Fuzz for finding this problem. Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2894)
2017-02-21Update client, server and x509 fuzz corpusKurt Roeckx
Reviewed-by: Andy Polyakov <appro@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> GH: #2682
2017-01-29Update client and server corpusKurt Roeckx
Reviewed-by: Rich Salz <rsalz@openssl.org> GH: #2318
2017-01-09Fix build issues with no-dh, no-dsa and no-ecRichard Levitte
Reviewed-by: Kurt Roeckx <kurt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2192)
2017-01-06Update fuzz corporaKurt Roeckx
Reviewed-by: Rich Salz <rsalz@openssl.org> GH: #2182
2017-01-06Make client and server fuzzer reproducibleKurt Roeckx
Reviewed-by: Rich Salz <rsalz@openssl.org> GH: #2182
2017-01-06Make the bignum fuzzer reproducibleKurt Roeckx
Reviewed-by: Rich Salz <rsalz@openssl.org> GH: #2182
2017-01-06Update fuzz documentationKurt Roeckx
Reviewed-by: Rich Salz <rsalz@openssl.org> GH: #2182
2017-01-06server fuzzer: add support for DSA and ECDSAKurt Roeckx
Reviewed-by: Rich Salz <rsalz@openssl.org> GH: #2182
2016-12-19Update fuzz corporaKurt Roeckx
Reviewed-by: Richard Levitte <levitte@openssl.org> GH: #2090
2016-12-16Make client and server fuzzer support all ciphersKurt Roeckx
Also send a SNI extension in the client so the fuzzer can react to it. Reviewed-by: Rich Salz <rsalz@openssl.org> GH: #2088
2016-12-16Document the recommended parameters for fuzzingKurt Roeckx
We use those parameters for calculating the coverage. Reviewed-by: Rich Salz <rsalz@openssl.org> GH: #2088
2016-12-09Update client fuzz corpusKurt Roeckx
Reviewed-by: Rich Salz <rsalz@openssl.org> GH: #2060
2016-12-09Update client fuzzer corpusKurt Roeckx
Reviewed-by: Rich Salz <rsalz@openssl.org> GH: #2053
2016-12-08Fuzz corpora updateKurt Roeckx
Reviewed-by: Rich Salz <rsalz@openssl.org> GH: #2041
2016-12-08And client fuzzerKurt Roeckx
Reviewed-by: Rich Salz <rsalz@openssl.org> GH: #2041
2016-12-08Make asn1 fuzzer more reproducibleKurt Roeckx
Reviewed-by: Rich Salz <rsalz@openssl.org> GH: #2041
2016-12-03Make the fuzzers more reproducibleKurt Roeckx
We want to be in the same global state each time we come in FuzzerTestOneInput(). There are various reasons why we might not be that include: - Initialization that happens on first use. This is mostly the RUN_ONCE() things, or loading of error strings. - Results that get cached. For instance a stack that is sorted, RSA blinding that has been set up, ... So I try to trigger as much as possible in FuzzerInitialize(), and for things I didn't find out how to trigger this it needs to happen in FuzzerTestOneInput(). Reviewed-by: Rich Salz <rsalz@openssl.org> GH: #2023
2016-12-03Move libfuzzer sanitizer options to READMEKurt Roeckx
This is something you might want to change depending on the version to use, there is no point in us fixing this to something. Reviewed-by: Rich Salz <rsalz@openssl.org> GH: #2023
2016-12-03CMS fuzzer: also use id2Kurt Roeckx
Reviewed-by: Rich Salz <rsalz@openssl.org> GH: #2023
2016-12-03Make the random number generator predictable when fuzzing.Kurt Roeckx
Reviewed-by: Rich Salz <rsalz@openssl.org> GH: #2023
2016-12-03bndiv fuzzer: move new and free calls to the init and cleanup function.Kurt Roeckx
Reviewed-by: Rich Salz <rsalz@openssl.org> GH: #2023
2016-12-03bignum fuzzer: move new and free calls to the init and cleanup function.Kurt Roeckx
Reviewed-by: Rich Salz <rsalz@openssl.org> GH: #2023
2016-12-03asn1parse: create the out bio during init, free it during cleanupKurt Roeckx
Reviewed-by: Rich Salz <rsalz@openssl.org> GH: #2023
2016-12-03Add a FuzzerClean() functionKurt Roeckx
This allows to free everything we allocated, so we can detect memory leaks. Reviewed-by: Rich Salz <rsalz@openssl.org> GH: #2023