LibCrypto: Remove leftover checksum helpers

This commit is contained in:
devgianlu 2025-03-01 17:56:54 +01:00 committed by Jelle Raaijmakers
commit 2b3934e34e
Notes: github-actions[bot] 2025-03-19 12:48:10 +00:00
2 changed files with 0 additions and 106 deletions

View file

@ -1,25 +0,0 @@
/*
* Copyright (c) 2020, the SerenityOS developers.
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AK/Span.h>
namespace Crypto::Checksum {
template<typename ChecksumT>
class ChecksumFunction {
public:
using ChecksumType = ChecksumT;
virtual void update(ReadonlyBytes data) = 0;
virtual ChecksumType digest() = 0;
protected:
virtual ~ChecksumFunction() = default;
};
}

View file

@ -1,81 +0,0 @@
/*
* Copyright (c) 2023, kleines Filmröllchen <filmroellchen@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AK/ByteBuffer.h>
#include <AK/Concepts.h>
#include <AK/MaybeOwned.h>
#include <AK/Stream.h>
#include <LibCrypto/Checksum/ChecksumFunction.h>
namespace Crypto::Checksum {
// A stream wrapper type which passes all read and written data through a checksum function.
template<typename ChecksumFunctionType, typename ChecksumType = typename ChecksumFunctionType::ChecksumType>
requires(
IsBaseOf<ChecksumFunction<ChecksumType>, ChecksumFunctionType>,
// Require checksum function to be constructible without arguments, since we have no initial data.
requires() {
ChecksumFunctionType {};
})
class ChecksummingStream : public Stream {
public:
virtual ~ChecksummingStream() = default;
ChecksummingStream(MaybeOwned<Stream> stream)
: m_stream(move(stream))
{
}
virtual ErrorOr<Bytes> read_some(Bytes bytes) override
{
auto const written_bytes = TRY(m_stream->read_some(bytes));
update(written_bytes);
return written_bytes;
}
virtual ErrorOr<void> read_until_filled(Bytes bytes) override
{
TRY(m_stream->read_until_filled(bytes));
update(bytes);
return {};
}
virtual ErrorOr<size_t> write_some(ReadonlyBytes bytes) override
{
auto bytes_written = TRY(m_stream->write_some(bytes));
// Only update with the bytes that were actually written
update(bytes.trim(bytes_written));
return bytes_written;
}
virtual ErrorOr<void> write_until_depleted(ReadonlyBytes bytes) override
{
update(bytes);
return m_stream->write_until_depleted(bytes);
}
virtual bool is_eof() const override { return m_stream->is_eof(); }
virtual bool is_open() const override { return m_stream->is_open(); }
virtual void close() override { m_stream->close(); }
ChecksumType digest()
{
return m_checksum.digest();
}
private:
ALWAYS_INLINE void update(ReadonlyBytes bytes)
{
m_checksum.update(bytes);
}
MaybeOwned<Stream> m_stream;
ChecksumFunctionType m_checksum {};
};
}