From 63b1700fd93787682eedc95546a0364f449f036d Mon Sep 17 00:00:00 2001 From: Arch Librarian Date: Mon, 20 Sep 2004 16:57:09 +0000 Subject: More SHA-1 prep Author: jgg Date: 2001-03-06 07:15:29 GMT More SHA-1 prep --- apt-pkg/contrib/hashes.cc | 43 +++++++++++++++++++++++++++++++++++++++++++ apt-pkg/contrib/hashes.h | 41 +++++++++++++++++++++++++++++++++++++++++ apt-pkg/init.h | 6 +++--- apt-pkg/makefile | 9 +++++---- 4 files changed, 92 insertions(+), 7 deletions(-) create mode 100644 apt-pkg/contrib/hashes.cc create mode 100644 apt-pkg/contrib/hashes.h (limited to 'apt-pkg') 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 + +#include +#include + /*}}}*/ + +// 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 +#include + +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 \ -- cgit v1.2.3