summaryrefslogtreecommitdiffstats
path: root/apt-pkg/contrib/sha1.h
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-05 18:07:13 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-05 18:07:13 +0000
commit636c7dc17286d93d788c741d15fd756aeda066d5 (patch)
treee7ae158cc54f591041a061b9865bcae51854f15c /apt-pkg/contrib/sha1.h
parentInitial commit. (diff)
downloadapt-upstream/1.8.2.3.tar.xz
apt-upstream/1.8.2.3.zip
Adding upstream version 1.8.2.3.upstream/1.8.2.3upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--apt-pkg/contrib/sha1.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/apt-pkg/contrib/sha1.h b/apt-pkg/contrib/sha1.h
new file mode 100644
index 0000000..dffb950
--- /dev/null
+++ b/apt-pkg/contrib/sha1.h
@@ -0,0 +1,47 @@
+// -*- mode: cpp; mode: fold -*-
+// Description /*{{{*/
+/* ######################################################################
+
+ SHA1SumValue - Storage for a SHA-1 hash.
+ SHA1Summation - SHA-1 Secure Hash Algorithm.
+
+ This is a C++ interface to a set of SHA1Sum functions, that mirrors
+ the equivalent MD5 classes.
+
+ ##################################################################### */
+ /*}}}*/
+#ifndef APTPKG_SHA1_H
+#define APTPKG_SHA1_H
+
+#include "hashsum_template.h"
+
+#ifndef APT_10_CLEANER_HEADERS
+#include <algorithm>
+#include <cstring>
+#include <string>
+#endif
+#ifndef APT_8_CLEANER_HEADERS
+using std::string;
+using std::min;
+#endif
+
+typedef HashSumValue<160> SHA1SumValue;
+
+class SHA1Summation : public SummationImplementation
+{
+ /* assumes 64-bit alignment just in case */
+ unsigned char Buffer[64] __attribute__((aligned(8)));
+ unsigned char State[5*4] __attribute__((aligned(8)));
+ unsigned char Count[2*4] __attribute__((aligned(8)));
+ bool Done;
+
+ public:
+ bool Add(const unsigned char *inbuf, unsigned long long inlen) APT_OVERRIDE APT_NONNULL(2);
+ using SummationImplementation::Add;
+
+ SHA1SumValue Result();
+
+ SHA1Summation();
+};
+
+#endif