summaryrefslogtreecommitdiff
path: root/apt-pkg
diff options
context:
space:
mode:
authorArch Librarian <arch@canonical.com>2004-09-20 16:57:09 +0000
committerArch Librarian <arch@canonical.com>2004-09-20 16:57:09 +0000
commit63b1700fd93787682eedc95546a0364f449f036d (patch)
tree169f8b47dc4c88d3fbcaf8ae996e6ca08350dc2d /apt-pkg
parent784202a271ae7e303aacbe226bb87fed50a16f81 (diff)
downloadapt-63b1700fd93787682eedc95546a0364f449f036d.tar.gz
More SHA-1 prep
Author: jgg Date: 2001-03-06 07:15:29 GMT More SHA-1 prep
Diffstat (limited to 'apt-pkg')
-rw-r--r--apt-pkg/contrib/hashes.cc43
-rw-r--r--apt-pkg/contrib/hashes.h41
-rw-r--r--apt-pkg/init.h6
-rw-r--r--apt-pkg/makefile9
4 files changed, 92 insertions, 7 deletions
diff --git a/apt-pkg/contrib/hashes.cc b/apt-pkg/contrib/hashes.cc
new file mode 100644
index 000000000..af741b672
--- /dev/null
+++ b/apt-pkg/contrib/hashes.cc
@@ -0,0 +1,43 @@
+// -*- mode: cpp; mode: fold -*-
+// Description /*{{{*/
+// $Id: hashes.cc,v 1.1 2001/03/06 07:15:29 jgg Exp $
+/* ######################################################################
+
+ Hashes - Simple wrapper around the hash functions
+
+ This is just used to make building the methods simpler, this is the
+ only interface required..
+
+ ##################################################################### */
+ /*}}}*/
+// Include Files /*{{{*/
+#ifdef __GNUG__
+#pragma implementation "apt-pkg/hashes.h"
+#endif
+
+#include <apt-pkg/hashes.h>
+
+#include <unistd.h>
+#include <system.h>
+ /*}}}*/
+
+// Hashes::AddFD - Add the contents of the FD /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+bool Hashes::AddFD(int Fd,unsigned long Size)
+{
+ unsigned char Buf[64*64];
+ int Res = 0;
+ while (Size != 0)
+ {
+ Res = read(Fd,Buf,MIN(Size,sizeof(Buf)));
+ if (Res < 0 || (unsigned)Res != MIN(Size,sizeof(Buf)))
+ return false;
+ Size -= Res;
+ MD5.Add(Buf,Res);
+ SHA1.Add(Buf,Res);
+ }
+ return true;
+}
+ /*}}}*/
+
diff --git a/apt-pkg/contrib/hashes.h b/apt-pkg/contrib/hashes.h
new file mode 100644
index 000000000..e00eaeb2d
--- /dev/null
+++ b/apt-pkg/contrib/hashes.h
@@ -0,0 +1,41 @@
+// -*- mode: cpp; mode: fold -*-
+// Description /*{{{*/
+// $Id: hashes.h,v 1.1 2001/03/06 07:15:29 jgg Exp $
+/* ######################################################################
+
+ Hashes - Simple wrapper around the hash functions
+
+ This is just used to make building the methods simpler, this is the
+ only interface required..
+
+ ##################################################################### */
+ /*}}}*/
+#ifndef APTPKG_HASHES_H
+#define APTPKG_HASHES_H
+
+#ifdef __GNUG__
+#pragma interface "apt-pkg/hashesh.h"
+#endif
+
+#include <apt-pkg/md5.h>
+#include <apt-pkg/sha1.h>
+
+class Hashes
+{
+ public:
+
+ MD5Summation MD5;
+ SHA1Summation SHA1;
+
+ inline bool Add(const unsigned char *Data,unsigned long Size)
+ {
+ MD5.Add(Data,Size);
+ SHA1.Add(Data,Size);
+ };
+ inline bool Add(const char *Data) {return Add((unsigned char *)Data,strlen(Data));};
+ bool AddFD(int Fd,unsigned long Size);
+ inline bool Add(const unsigned char *Beg,const unsigned char *End)
+ {return Add(Beg,End-Beg);};
+};
+
+#endif
diff --git a/apt-pkg/init.h b/apt-pkg/init.h
index d6beb0532..998c073ea 100644
--- a/apt-pkg/init.h
+++ b/apt-pkg/init.h
@@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: init.h,v 1.6 2001/03/03 23:02:39 tausq Exp $
+// $Id: init.h,v 1.7 2001/03/06 07:15:29 jgg Exp $
/* ######################################################################
Init - Initialize the package library
@@ -19,8 +19,8 @@
// See the makefile
#define APT_PKG_MAJOR 3
#define APT_PKG_MINOR 1
-#define APT_PKG_RELEASE 2
-
+#define APT_PKG_RELEASE 3
+
extern const char *pkgVersion;
extern const char *pkgLibVersion;
extern const char *pkgOS;
diff --git a/apt-pkg/makefile b/apt-pkg/makefile
index 4bc818155..9099cc12c 100644
--- a/apt-pkg/makefile
+++ b/apt-pkg/makefile
@@ -13,16 +13,17 @@ include ../buildlib/defaults.mak
LIBRARY=apt-pkg
LIBEXT=$(GLIBC_VER)$(LIBSTDCPP_VER)
MAJOR=3.1
-MINOR=2
+MINOR=3
SLIBS=$(PTHREADLIB)
# Source code for the contributed non-core things
SOURCE = contrib/mmap.cc contrib/error.cc contrib/strutl.cc \
contrib/configuration.cc contrib/progress.cc contrib/cmndline.cc \
- contrib/md5.cc contrib/cdromutl.cc contrib/crc-16.cc \
- contrib/fileutl.cc contrib/sha1.cc
+ contrib/md5.cc contrib/sha1.cc contrib/hashes.cc \
+ contrib/cdromutl.cc contrib/crc-16.cc \
+ contrib/fileutl.cc
HEADERS = mmap.h error.h configuration.h fileutl.h cmndline.h \
- md5.h crc-16.h cdromutl.h strutl.h sptr.h sha1.h
+ md5.h crc-16.h cdromutl.h strutl.h sptr.h sha1.h hashes.h
# Source code for the core main library
SOURCE+= pkgcache.cc version.cc depcache.cc \