MFH: r482745
- Fix build with OpenSSL 1.1.1. [*] - Add dependencies to pass 'make stage-qa'. PR: 232164 [*] Submitted by: antoine [*]
This commit is contained in:
parent
795e644f5e
commit
2511604796
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/branches/2018Q4/; revision=483691
@ -3,7 +3,7 @@
|
||||
|
||||
PORTNAME= bulk_extractor
|
||||
PORTVERSION= 1.5.5
|
||||
PORTREVISION= 2
|
||||
PORTREVISION= 3
|
||||
CATEGORIES= sysutils
|
||||
MASTER_SITES= http://digitalcorpora.org/downloads/bulk_extractor/
|
||||
|
||||
@ -13,8 +13,10 @@ COMMENT= Program that scans a disk image and extracts useful information
|
||||
LICENSE= GPLv3
|
||||
LICENSE_FILE= ${WRKSRC}/COPYING
|
||||
|
||||
USES= sqlite ssl
|
||||
USES= autoreconf iconv:wchar_t sqlite ssl
|
||||
USE_GNOME= libxml2
|
||||
LIB_DEPENDS= libafflib.so:sysutils/afflib \
|
||||
libboost_system.so:devel/boost-libs \
|
||||
libewf.so:devel/libewf \
|
||||
libexiv2.so:graphics/exiv2 \
|
||||
libexpat.so:textproc/expat2
|
||||
|
@ -0,0 +1,8 @@
|
||||
--- plugins/dfxml/src/dfxml_configure.m4.orig 2014-09-16 18:34:02 UTC
|
||||
+++ plugins/dfxml/src/dfxml_configure.m4
|
||||
@@ -59,4 +59,5 @@ AC_CHECK_LIB([crypto],[EVP_get_digestbyn
|
||||
AC_CHECK_LIB([ssl],[SSL_library_init])
|
||||
AC_CHECK_FUNCS([EVP_get_digestbyname],,
|
||||
AC_MSG_ERROR([SSL/OpenSSL support required]))
|
||||
+AC_CHECK_FUNCS([EVP_MD_CTX_new EVP_MD_CTX_free])
|
||||
|
@ -0,0 +1,78 @@
|
||||
--- plugins/dfxml/src/hash_t.h.orig 2014-09-16 18:34:02 UTC
|
||||
+++ plugins/dfxml/src/hash_t.h
|
||||
@@ -189,7 +189,8 @@ inline std::string digest_name<sha512_t>
|
||||
|
||||
template<const EVP_MD *md(),size_t SIZE>
|
||||
class hash_generator__ { /* generates the hash */
|
||||
- EVP_MD_CTX mdctx; /* the context for computing the value */
|
||||
+ private:
|
||||
+ EVP_MD_CTX* mdctx; /* the context for computing the value */
|
||||
bool initialized; /* has the context been initialized? */
|
||||
bool finalized;
|
||||
/* Static function to determine if something is zero */
|
||||
@@ -199,24 +200,36 @@ class hash_generator__ { /* generates
|
||||
}
|
||||
return true;
|
||||
}
|
||||
+ /* Not allowed to copy; these are prototyped but not defined, so any attempt to use them will fail, but we won't get the -Weffc++ warnings */
|
||||
+ hash_generator__ & operator=(const hash_generator__ &);
|
||||
+ hash_generator__(const hash_generator__ &);
|
||||
public:
|
||||
int64_t hashed_bytes;
|
||||
/* This function takes advantage of the fact that different hash functions produce residues with different sizes */
|
||||
- hash_generator__():mdctx(),initialized(false),finalized(false),hashed_bytes(0){ }
|
||||
+ hash_generator__():mdctx(NULL),initialized(false),finalized(false),hashed_bytes(0){ }
|
||||
~hash_generator__(){
|
||||
release();
|
||||
}
|
||||
void release(){ /* free allocated memory */
|
||||
if(initialized){
|
||||
- EVP_MD_CTX_cleanup(&mdctx);
|
||||
+#ifdef HAVE_EVP_MD_CTX_FREE
|
||||
+ EVP_MD_CTX_free(mdctx);
|
||||
+#else
|
||||
+ EVP_MD_CTX_destroy(mdctx);
|
||||
+#endif
|
||||
initialized = false;
|
||||
hashed_bytes = 0;
|
||||
}
|
||||
}
|
||||
void init(){
|
||||
if(initialized==false){
|
||||
- EVP_MD_CTX_init(&mdctx);
|
||||
- EVP_DigestInit_ex(&mdctx, md(), NULL);
|
||||
+#ifdef HAVE_EVP_MD_CTX_NEW
|
||||
+ mdctx = EVP_MD_CTX_new();
|
||||
+#else
|
||||
+ mdctx = EVP_MD_CTX_create();
|
||||
+#endif
|
||||
+ if (!mdctx) throw std::bad_alloc();
|
||||
+ EVP_DigestInit_ex(mdctx, md(), NULL);
|
||||
initialized = true;
|
||||
finalized = false;
|
||||
hashed_bytes = 0;
|
||||
@@ -228,21 +241,21 @@ public:
|
||||
std::cerr << "hashgen_t::update called after finalized\n";
|
||||
exit(1);
|
||||
}
|
||||
- EVP_DigestUpdate(&mdctx,buf,bufsize);
|
||||
+ EVP_DigestUpdate(mdctx,buf,bufsize);
|
||||
hashed_bytes += bufsize;
|
||||
}
|
||||
hash__<md,SIZE> final() {
|
||||
if(finalized){
|
||||
std::cerr << "currently friendly_geneator does not cache the final value\n";
|
||||
assert(0);
|
||||
- /* code below will never be executed after assert(0) */
|
||||
+ exit(1); // in case compiled with assertions disabled
|
||||
}
|
||||
if(!initialized){
|
||||
init(); /* do it now! */
|
||||
}
|
||||
hash__<md,SIZE> val;
|
||||
unsigned int len = sizeof(val.digest);
|
||||
- EVP_DigestFinal(&mdctx,val.digest,&len);
|
||||
+ EVP_DigestFinal(mdctx,val.digest,&len);
|
||||
finalized = true;
|
||||
return val;
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
--- src/dfxml/src/dfxml_configure.m4.orig 2018-10-10 21:44:10 UTC
|
||||
+++ src/dfxml/src/dfxml_configure.m4
|
||||
@@ -59,4 +59,5 @@ AC_CHECK_LIB([crypto],[EVP_get_digestbyn
|
||||
AC_CHECK_LIB([ssl],[SSL_library_init])
|
||||
AC_CHECK_FUNCS([EVP_get_digestbyname],,
|
||||
AC_MSG_ERROR([SSL/OpenSSL support required]))
|
||||
+AC_CHECK_FUNCS([EVP_MD_CTX_new EVP_MD_CTX_free])
|
||||
|
78
sysutils/bulk_extractor/files/patch-src_dfxml_src_hash__t.h
Normal file
78
sysutils/bulk_extractor/files/patch-src_dfxml_src_hash__t.h
Normal file
@ -0,0 +1,78 @@
|
||||
--- src/dfxml/src/hash_t.h.orig 2014-09-16 18:34:02 UTC
|
||||
+++ src/dfxml/src/hash_t.h
|
||||
@@ -189,7 +189,8 @@ inline std::string digest_name<sha512_t>
|
||||
|
||||
template<const EVP_MD *md(),size_t SIZE>
|
||||
class hash_generator__ { /* generates the hash */
|
||||
- EVP_MD_CTX mdctx; /* the context for computing the value */
|
||||
+ private:
|
||||
+ EVP_MD_CTX* mdctx; /* the context for computing the value */
|
||||
bool initialized; /* has the context been initialized? */
|
||||
bool finalized;
|
||||
/* Static function to determine if something is zero */
|
||||
@@ -199,24 +200,36 @@ class hash_generator__ { /* generates
|
||||
}
|
||||
return true;
|
||||
}
|
||||
+ /* Not allowed to copy; these are prototyped but not defined, so any attempt to use them will fail, but we won't get the -Weffc++ warnings */
|
||||
+ hash_generator__ & operator=(const hash_generator__ &);
|
||||
+ hash_generator__(const hash_generator__ &);
|
||||
public:
|
||||
int64_t hashed_bytes;
|
||||
/* This function takes advantage of the fact that different hash functions produce residues with different sizes */
|
||||
- hash_generator__():mdctx(),initialized(false),finalized(false),hashed_bytes(0){ }
|
||||
+ hash_generator__():mdctx(NULL),initialized(false),finalized(false),hashed_bytes(0){ }
|
||||
~hash_generator__(){
|
||||
release();
|
||||
}
|
||||
void release(){ /* free allocated memory */
|
||||
if(initialized){
|
||||
- EVP_MD_CTX_cleanup(&mdctx);
|
||||
+#ifdef HAVE_EVP_MD_CTX_FREE
|
||||
+ EVP_MD_CTX_free(mdctx);
|
||||
+#else
|
||||
+ EVP_MD_CTX_destroy(mdctx);
|
||||
+#endif
|
||||
initialized = false;
|
||||
hashed_bytes = 0;
|
||||
}
|
||||
}
|
||||
void init(){
|
||||
if(initialized==false){
|
||||
- EVP_MD_CTX_init(&mdctx);
|
||||
- EVP_DigestInit_ex(&mdctx, md(), NULL);
|
||||
+#ifdef HAVE_EVP_MD_CTX_NEW
|
||||
+ mdctx = EVP_MD_CTX_new();
|
||||
+#else
|
||||
+ mdctx = EVP_MD_CTX_create();
|
||||
+#endif
|
||||
+ if (!mdctx) throw std::bad_alloc();
|
||||
+ EVP_DigestInit_ex(mdctx, md(), NULL);
|
||||
initialized = true;
|
||||
finalized = false;
|
||||
hashed_bytes = 0;
|
||||
@@ -228,21 +241,21 @@ public:
|
||||
std::cerr << "hashgen_t::update called after finalized\n";
|
||||
exit(1);
|
||||
}
|
||||
- EVP_DigestUpdate(&mdctx,buf,bufsize);
|
||||
+ EVP_DigestUpdate(mdctx,buf,bufsize);
|
||||
hashed_bytes += bufsize;
|
||||
}
|
||||
hash__<md,SIZE> final() {
|
||||
if(finalized){
|
||||
std::cerr << "currently friendly_geneator does not cache the final value\n";
|
||||
assert(0);
|
||||
- /* code below will never be executed after assert(0) */
|
||||
+ exit(1); // in case compiled with assertions disabled
|
||||
}
|
||||
if(!initialized){
|
||||
init(); /* do it now! */
|
||||
}
|
||||
hash__<md,SIZE> val;
|
||||
unsigned int len = sizeof(val.digest);
|
||||
- EVP_DigestFinal(&mdctx,val.digest,&len);
|
||||
+ EVP_DigestFinal(mdctx,val.digest,&len);
|
||||
finalized = true;
|
||||
return val;
|
||||
}
|
Loading…
Reference in New Issue
Block a user