aboutsummaryrefslogtreecommitdiff
path: root/src/test/fuzz/util.h
AgeCommit message (Collapse)Author
2020-08-24net: change CNetAddr::ip to have flexible sizeVasil Dimov
Before this change `CNetAddr::ip` was a fixed-size array of 16 bytes, not being able to store larger addresses (e.g. TORv3) and encoded smaller ones as 16-byte IPv6 addresses. Change its type to `prevector`, so that it can hold larger addresses and do not disguise non-IPv6 addresses as IPv6. So the IPv4 address `1.2.3.4` is now encoded as `01020304` instead of `00000000000000000000FFFF01020304`. Rename `CNetAddr::ip` to `CNetAddr::m_addr` because it is not an "IP" or "IP address" (TOR addresses are not IP addresses). In order to preserve backward compatibility with serialization (where e.g. `1.2.3.4` is serialized as `00000000000000000000FFFF01020304`) introduce `CNetAddr` dedicated legacy serialize/unserialize methods. Adjust `CSubNet` accordingly. Still use `CSubNet::netmask[]` of fixed 16 bytes, but use the first 4 for IPv4 (not the last 4). Only allow subnetting for IPv4 and IPv6. Co-authored-by: Carl Dong <contact@carldong.me>
2020-07-21test: Fix fuzzer compilation on macOSfreenancial
fixes #19557
2020-07-15tests: Add serialization/deserialization fuzzing helpers ↵practicalswift
WriteToStream(…)/ReadFromStream(…)
2020-07-15tests: Add FuzzedAutoFileProvider which provides a CAutoFile interface to ↵practicalswift
FuzzedDataProvider
2020-07-15tests: Add FuzzedFileProvider which provides a FILE* interface to ↵practicalswift
FuzzedDataProvider using fopencookie
2020-07-08tests: Add fuzzing harness for BanManpracticalswift
2020-07-08tests: Add ConsumeSubNet(...). Move and increase coverage in ↵practicalswift
ConsumeNetAddr(...).
2020-06-11tests: Add std::vector<uint8_t> ↵practicalswift
ConsumeFixedLengthByteVector(FuzzedDataProvider& fuzzed_data_provider, const size_t length)
2020-05-29tests: Add fuzzing helper functions ConsumeDataStream, ConsumeTxDestination ↵practicalswift
and ConsumeUInt160
2020-05-25tests: Add fuzzing harness for CCoinsViewCachepracticalswift
2020-05-14Switch from Optional<T> to std::optional<T> (C++17). Run clang-format.practicalswift
2020-04-30tests: Clarify how we avoid hitting the signed integer overflow in ↵practicalswift
CFeeRate::GetFeePerK() when fuzzing
2020-04-30tests: Add fuzzing harness for CBlockPolicyEstimatorpracticalswift
2020-04-16scripted-diff: Bump copyright headersMarcoFalke
-BEGIN VERIFY SCRIPT- ./contrib/devtools/copyright_header.py update ./ -END VERIFY SCRIPT-
2020-04-08tests: Add fuzzing harness for AdditionOverflow(...)practicalswift
2020-04-05Merge #18407: tests: Add proof-of-work fuzzing harnessMarcoFalke
acf269e1463c84d51f2eef695089cbf9d03b547f tests: Add proof-of-work fuzzing harness (practicalswift) Pull request description: Add proof-of-work fuzzing harness. Top commit has no ACKs. Tree-SHA512: dcdfa211cf1ec3018b61f378bb0f95793bbbe5d00e2f4d17f9db2c7263fe8ce919760c56cae7122c62c82e05c90e7056eb1778871674bdb3c42869e5fe4c2b60
2020-04-04tests: Add proof-of-work fuzzing harnesspracticalswift
2020-03-29tests: Add fuzzing harness for functions/classes in random.hpracticalswift
2020-03-24tests: Add fuzzing harness for classes/functions in blockfilter.hpracticalswift
2020-03-15tests: Add fuzzing harness for various functions taking std::string as inputpracticalswift
2020-03-15tests: Add fuzzing harness for CFeeRatepracticalswift
2020-03-09Make lifetime correctness easier to see (avoid reference lifetime extension)practicalswift
2020-03-09tests: Add common Consume* fuzzing functionspracticalswift
2020-02-25tests: Add fuzzing harness for bloom filter class CBloomFilterpracticalswift