Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Oct 2018 13:48:07 +0000 (UTC)
From:      MANTANI Nobutaka <nobutaka@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r482745 - in head/sysutils/bulk_extractor: . files
Message-ID:  <201810221348.w9MDm7XG087460@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: nobutaka
Date: Mon Oct 22 13:48:07 2018
New Revision: 482745
URL: https://svnweb.freebsd.org/changeset/ports/482745

Log:
  - Fix build with OpenSSL 1.1.1. [*]
  - Add dependencies to pass 'make stage-qa'.
  
  PR:		232164 [*]
  Submitted by:	antoine [*]

Added:
  head/sysutils/bulk_extractor/files/patch-plugins_dfxml_src_dfxml__configure.m4   (contents, props changed)
  head/sysutils/bulk_extractor/files/patch-plugins_dfxml_src_hash__t.h   (contents, props changed)
  head/sysutils/bulk_extractor/files/patch-src_dfxml_src_dfxml__configure.m4   (contents, props changed)
  head/sysutils/bulk_extractor/files/patch-src_dfxml_src_hash__t.h   (contents, props changed)
Modified:
  head/sysutils/bulk_extractor/Makefile

Modified: head/sysutils/bulk_extractor/Makefile
==============================================================================
--- head/sysutils/bulk_extractor/Makefile	Mon Oct 22 12:46:25 2018	(r482744)
+++ head/sysutils/bulk_extractor/Makefile	Mon Oct 22 13:48:07 2018	(r482745)
@@ -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 
 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

Added: head/sysutils/bulk_extractor/files/patch-plugins_dfxml_src_dfxml__configure.m4
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/bulk_extractor/files/patch-plugins_dfxml_src_dfxml__configure.m4	Mon Oct 22 13:48:07 2018	(r482745)
@@ -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])
+ 

Added: head/sysutils/bulk_extractor/files/patch-plugins_dfxml_src_hash__t.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/bulk_extractor/files/patch-plugins_dfxml_src_hash__t.h	Mon Oct 22 13:48:07 2018	(r482745)
@@ -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;
+     }

Added: head/sysutils/bulk_extractor/files/patch-src_dfxml_src_dfxml__configure.m4
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/bulk_extractor/files/patch-src_dfxml_src_dfxml__configure.m4	Mon Oct 22 13:48:07 2018	(r482745)
@@ -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])
+ 

Added: head/sysutils/bulk_extractor/files/patch-src_dfxml_src_hash__t.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/bulk_extractor/files/patch-src_dfxml_src_hash__t.h	Mon Oct 22 13:48:07 2018	(r482745)
@@ -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;
+     }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201810221348.w9MDm7XG087460>