summaryrefslogtreecommitdiff
path: root/src/buildtool/crypto
AgeCommit message (Collapse)Author
2025-02-21HashFunction: Use IncrementalReaderMaksim Denisov
2024-11-14crypto: Implement IWYU suggestionsPaul Cristian Sarbu
2024-10-25StorageUtils: Add generation-aware rehashing ID file mapPaul Cristian Sarbu
Such a file could be used to store mappings of digests from CAS or Git cache to digests of different hash type that represent same content.
2024-10-07Enable readability-* checks.Maksim Denisov
2024-10-07Enable readability-redundant-member-init check.Maksim Denisov
2024-09-23Reorder dependencies and remove duplicates in OSSMaksim Denisov
2024-09-13Add to ProtocolTraits static functions that provide protocol-specific behaviourMaksim Denisov
2024-09-09Implement HashInfo classMaksim Denisov
...that validates hashes and stores some additional information about them.
2024-08-27Reformat code to comply with clang-format 18Klaus Aehlig
... while keeping our .clang-format file.
2024-07-22Use compile-time polymorphism in HasherMaksim Denisov
...since runtime polymorphism was there just to avoid including openssl as a public dependency. A combination of forward declarations, std::variant and std::unique_ptr is used instead.
2024-07-22Rename HashFunction methods and enumsMaksim Denisov
2024-07-22Create Hasher using a static functionMaksim Denisov
2024-07-22Unify tagging logic in HashFunctionMaksim Denisov
2024-07-22Convert HashFunction to a regular classMaksim Denisov
2024-07-22Use HashFunction functionality via Instance()Maksim Denisov
...to track changes during refactoring easier.
2024-07-22Remove unused code from HasherMaksim Denisov
2024-04-22Compactification: Obtain hash string length from hasher.Maksim Denisov
2024-03-26Add missing system includesPaul Cristian Sarbu
Main culprits: - std::size_t, std::nullptr_t, and NULL require <cstddef> - std::move and std::forward require <utility> - unordered maps and sets require respective includes - std::for_each and std::all_of require <algorithm>
2024-03-15Clean up more includes and targetsPaul Cristian Sarbu
Some of the more specific issues addressed: - missing log_level target/include - header-only libs wrongly marking deps as private - missing/misplaced gsl includes
2023-11-30Resolve inconsistencies in third-party headers include formatPaul Cristian Sarbu
2023-11-30hash_function: support hashing of filesKlaus Aehlig
Extend our internal hash-function abstraction to support hashing of files. In this way, we can provide a way to compute the hash of a potentially large file without having to fully read it to memory first, while still keeping the details of the used hash function abstracted away.
2023-04-26imports: Switch to Microsoft GSL implementationOliver Reiche
... with two minor code base changes compared to previous use of gsl-lite: - dag.hpp: ActionNode::Ptr and ArtifactNode::Ptr are not wrapped in gsl::not_null<> anymore, due to lack of support for wrapping std::unique_ptr<>. More specifically, the move constructor is missing, rendering it impossible to use std::vector<>::emplace_back(). - utils/cpp/gsl.hpp: New header file added to implement the macros ExpectsAudit() and EnsureAudit(), asserts running only in debug builds, which were available in gsl-lite but are missing in MS GSL.
2022-12-21Crypto: Add SHA512 hasherPaul Cristian Sarbu
Needed by the content-in-CAS git map to check fetched archives' checksums. SHA1 and SHA256 hashers are already implemented.
2022-11-21Use the newly-added concept of private-depsKlaus Aehlig
While there, also add all direct dependencies explicitly; using directly dependencies that are pulled in only indireclty causes problems from a maintainability point of view.
2022-11-07Silence GCC warnings on missing return statementsOliver Reiche
2022-10-12Add copyright and license notice to all source and header filesKlaus Aehlig
Signed-off-by: Goetz Brasche <goetz.brasche@huawei.com>
2022-09-13Fix build with gcc/g++Oliver Reiche
2022-06-20Crypto: Refactor hash computationOliver Reiche
... by renaming HashGenerator to (incremental) Hasher and dropping support for Git/MD5 hashes. The Hasher does not expose the actual hash implementation.
2022-06-20Crypto: Add and use set of globally used hash functionsOliver Reiche
2022-06-13HashGenerator: Add global function for obtaining digestOliver Reiche
2022-04-21add compatibility with original remote build protocolAlberto Sartori
2022-03-23Apply changes suggested by clang-format 11Oliver Reiche
2022-03-16Format: Apply compact JSON formattingOliver Reiche
2022-02-22Initial self-hosting commitKlaus Aehlig
This is the initial version of our tool that is able to build itself. In can be bootstrapped by ./bin/bootstrap.py Co-authored-by: Oliver Reiche <oliver.reiche@huawei.com> Co-authored-by: Victor Moreno <victor.moreno1@huawei.com>