Tue Oct 22 16:37:05 2019 UTC ()
Update pev to version 0.80

The new patches fix compatibility with OpenSSL 1.1.0, and attempt to fix
the build on FreeBSD, NetBSD, and OpenBSD. It does not link on NetBSD
(like the previous version, 0.70) but it does on macOS.

There was no changelog upstream.


(khorben)
diff -r1.4 -r1.5 pkgsrc/security/pev/Makefile
diff -r1.2 -r1.3 pkgsrc/security/pev/PLIST
diff -r1.5 -r1.6 pkgsrc/security/pev/distinfo
diff -r1.1 -r0 pkgsrc/security/pev/patches/patch-Makefile
diff -r1.2 -r0 pkgsrc/security/pev/patches/patch-lib_libpe_Makefile
diff -r1.2 -r0 pkgsrc/security/pev/patches/patch-src_pepack.c
diff -r1.3 -r1.4 pkgsrc/security/pev/patches/patch-src_Makefile
diff -r0 -r1.1 pkgsrc/security/pev/patches/patch-src_pehash.c
diff -r0 -r1.1 pkgsrc/security/pev/patches/patch-src_pesec.c
diff -r0 -r1.1 pkgsrc/security/pev/patches/patch-src_plugins.c

cvs diff -r1.4 -r1.5 pkgsrc/security/pev/Makefile (expand / switch to unified diff)

--- pkgsrc/security/pev/Makefile 2016/03/05 11:29:24 1.4
+++ pkgsrc/security/pev/Makefile 2019/10/22 16:37:05 1.5
@@ -1,18 +1,17 @@ @@ -1,18 +1,17 @@
1# $NetBSD: Makefile,v 1.4 2016/03/05 11:29:24 jperkin Exp $ 1# $NetBSD: Makefile,v 1.5 2019/10/22 16:37:05 khorben Exp $
2# 2#
3 3
4DISTNAME= pev-0.70 4DISTNAME= pev-0.80
5PKGREVISION= 1 
6CATEGORIES= security 5CATEGORIES= security
7MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=pev/} 6MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=pev/}
8 7
9WRKSRC= ${WRKDIR}/pev 8WRKSRC= ${WRKDIR}/pev
10 9
11MAINTAINER= khorben@defora.org 10MAINTAINER= khorben@defora.org
12HOMEPAGE= http://pev.sourceforge.net/ 11HOMEPAGE= http://pev.sourceforge.net/
13COMMENT= The PE analysis toolkit 12COMMENT= The PE analysis toolkit
14 13
15LICENSE= gnu-gpl-v3 14LICENSE= gnu-gpl-v3
16 15
17USE_TOOLS+= gmake 16USE_TOOLS+= gmake
18 17

cvs diff -r1.2 -r1.3 pkgsrc/security/pev/PLIST (expand / switch to unified diff)

--- pkgsrc/security/pev/PLIST 2014/12/09 14:37:06 1.2
+++ pkgsrc/security/pev/PLIST 2019/10/22 16:37:05 1.3
@@ -1,25 +1,30 @@ @@ -1,25 +1,30 @@
1@comment $NetBSD: PLIST,v 1.2 2014/12/09 14:37:06 khorben Exp $ 1@comment $NetBSD: PLIST,v 1.3 2019/10/22 16:37:05 khorben Exp $
2bin/ofs2rva 2bin/ofs2rva
3bin/pedis 3bin/pedis
4bin/pehash 4bin/pehash
5bin/pepack 5bin/pepack
6bin/peres 6bin/peres
7bin/pescan 7bin/pescan
8bin/pesec 8bin/pesec
9bin/pestr 9bin/pestr
10bin/readpe 10bin/readpe
11bin/rva2ofs 11bin/rva2ofs
12lib/libpe.so 12lib/libpe.so
13lib/libpe.so.1 13lib/libpe.so.1
14lib/libpe.so.1.0 14lib/libpe.so.1.0
15man/man1/ofs2rva.1.gz 15lib/pev/plugins/csv_plugin.so
16man/man1/pedis.1.gz 16lib/pev/plugins/html_plugin.so
17man/man1/pehash.1.gz 17lib/pev/plugins/json_plugin.so
18man/man1/pepack.1.gz 18lib/pev/plugins/text_plugin.so
19man/man1/peres.1.gz 19lib/pev/plugins/xml_plugin.so
20man/man1/pescan.1.gz 20man/man1/ofs2rva.1
21man/man1/pesec.1.gz 21man/man1/pedis.1
22man/man1/pestr.1.gz 22man/man1/pehash.1
23man/man1/readpe.1.gz 23man/man1/pepack.1
24man/man1/rva2ofs.1.gz 24man/man1/peres.1
 25man/man1/pescan.1
 26man/man1/pesec.1
 27man/man1/pestr.1
 28man/man1/readpe.1
 29man/man1/rva2ofs.1
25share/pev/userdb.txt 30share/pev/userdb.txt

cvs diff -r1.5 -r1.6 pkgsrc/security/pev/distinfo (expand / switch to unified diff)

--- pkgsrc/security/pev/distinfo 2015/11/04 01:18:00 1.5
+++ pkgsrc/security/pev/distinfo 2019/10/22 16:37:05 1.6
@@ -1,10 +1,10 @@ @@ -1,10 +1,10 @@
1$NetBSD: distinfo,v 1.5 2015/11/04 01:18:00 agc Exp $ 1$NetBSD: distinfo,v 1.6 2019/10/22 16:37:05 khorben Exp $
2 2
3SHA1 (pev-0.70.tar.gz) = b2d1191c3b57049c78ef77b8f54f7f78838af129 3SHA1 (pev-0.80.tar.gz) = 18dcb65269344b5047504cca8598477b33532bab
4RMD160 (pev-0.70.tar.gz) = 9ffe6dccecdfbeba09e34f9a212c2abcf3861ef0 4RMD160 (pev-0.80.tar.gz) = 01ed4fa37c5349397dbd8aa3b592b9657e63acf8
5SHA512 (pev-0.70.tar.gz) = c98ea778b05b514ef26d87627484b5942247fb4190ad6a166ee2a01fc185dd4663848ca9b5ba3a26be5c8a40eaf42f476bec58ddea0565ac4c6fe0710c9575aa 5SHA512 (pev-0.80.tar.gz) = d0c8ff8fcd60470899d5dbccfd7a7e4d960da007f42be9c7eab6b22a3d7cf4dde3c3d5cd9c7d70e369164503fb124640cf508ceda3d4792244cf33d11ab83321
6Size (pev-0.70.tar.gz) = 254821 bytes 6Size (pev-0.80.tar.gz) = 921102 bytes
7SHA1 (patch-Makefile) = 39b31541b2f51e82e9807aed36723105959aa26c 7SHA1 (patch-src_Makefile) = f51a9d6afa64de8ba761a9b889911403b0107aad
8SHA1 (patch-lib_libpe_Makefile) = 11d1beba07b313a4baf2e95b5b56dfd7da4787f9 8SHA1 (patch-src_pehash.c) = c31083fca0d98dc607eb4f8b338bd93dd714f594
9SHA1 (patch-src_Makefile) = 2f04a23d40c1859ba1094a00822c0a0294fe3e5b 9SHA1 (patch-src_pesec.c) = fa302aa9bf2f07558f6cef0c41b0cd9063df7706
10SHA1 (patch-src_pepack.c) = acb6dc0d1d9b20c13a61275b4f08f5903fec14f9 10SHA1 (patch-src_plugins.c) = c85c5c3b918850c7383f30d2efdae38985cdd143

File Deleted: pkgsrc/security/pev/patches/patch-Makefile

File Deleted: pkgsrc/security/pev/patches/Attic/patch-lib_libpe_Makefile

File Deleted: pkgsrc/security/pev/patches/Attic/patch-src_pepack.c

cvs diff -r1.3 -r1.4 pkgsrc/security/pev/patches/patch-src_Makefile (expand / switch to unified diff)

--- pkgsrc/security/pev/patches/patch-src_Makefile 2014/12/09 14:37:06 1.3
+++ pkgsrc/security/pev/patches/patch-src_Makefile 2019/10/22 16:37:05 1.4
@@ -1,58 +1,18 @@ @@ -1,58 +1,18 @@
1$NetBSD: patch-src_Makefile,v 1.3 2014/12/09 14:37:06 khorben Exp $ 1$NetBSD: patch-src_Makefile,v 1.4 2019/10/22 16:37:05 khorben Exp $
2 2
3Fixed DESTDIR support 3Only link with libdl on Linux
4 4
5--- src/Makefile.orig 2013-12-27 10:39:49.000000000 +0000 5--- src/Makefile.orig 2017-01-07 22:34:07.000000000 +0000
6+++ src/Makefile 6+++ src/Makefile
7@@ -56,7 +56,8 @@ ifeq ($(PLATFORM_OS), Darwin) 7@@ -52,7 +52,10 @@ endif
8 endif 
9  8
10 PROGS = readpe rva2ofs ofs2rva pehash pesec pescan pepack pestr pedis peres 9 ####### Compiler options
11-SHAREDIR = $(datadir)/pev 
12+MAN1DIR = $(DESTDIR)$(man1dir) 
13+SHAREDIR = $(DESTDIR)$(datadir)/pev 
14 LIBPE = $(srcdir)/../lib/libpe 
15 LIBUDIS86 = $(srcdir)/../lib/libudis86 
16 LIBFUZZY = $(srcdir)/../lib/libfuzzy 
17@@ -68,6 +69,8 @@ MANDIR = $(srcdir)/../doc/manpages 
18  10
19 all: $(PROGS) 11-override LDFLAGS += -L$(LIBPE) -lpe -ldl
 12+override LDFLAGS += -L$(LIBPE) -lpe
 13+ifeq ($(PLATFORM_OS), Linux)
 14+override LDFLAGS += -ldl
 15+endif
 16 override CFLAGS += -I$(LIBPE) -I"../include" -W -Wall -Wextra -std=c99 -pedantic
 17 override CPPFLAGS += -D_GNU_SOURCE -DSHAREDIR="\"$(SHAREDIR)"\"
20  18
21+pepack: CPPFLAGS += -DPREFIX=\"$(prefix)\" 
22+ 
23 pesec: LDFLAGS += -lcrypto 
24 pesec: compat/strlcat.c 
25  
26@@ -85,13 +88,13 @@ pescan: LDFLAGS += -lm 
27 # Generic rule matching binary names and sources 
28  
29 %: %.c 
30- $(CC) $(CFLAGS) $(DFLAGS) output.c malloc_s.c $^ -o $@ $(LDFLAGS) 
31+ $(CC) $(CPPFLAGS) $(CFLAGS) $(DFLAGS) output.c malloc_s.c $^ -o $@ $(LDFLAGS) 
32  
33 install: installdirs 
34 for prog in $(PROGS); do \ 
35- $(INSTALL_PROGRAM) -m 755 $$prog $(DEST); \ 
36+ $(INSTALL_PROGRAM) -m 755 $$prog $(DEST)/$$prog; \ 
37 $(CHK_FILE_EXISTS) $(MANDIR)/$$prog$(man1ext) && \ 
38- gzip -c -9 $(MANDIR)/$$prog$(man1ext) > $(man1dir)/$$prog$(man1ext).gz || \ 
39+ gzip -c -9 $(MANDIR)/$$prog$(man1ext) > $(MAN1DIR)/$$prog$(man1ext).gz || \ 
40 echo -n; \ 
41 done 
42 # TODO: Should we copy it anyway if it already exists? 
43@@ -99,13 +102,13 @@ install: installdirs 
44  
45 installdirs: 
46 @$(CHK_DIR_EXISTS) $(DEST) || $(MKDIR) $(DEST) 
47- @$(CHK_DIR_EXISTS) $(man1dir) || $(MKDIR) $(man1dir) 
48+ @$(CHK_DIR_EXISTS) $(MAN1DIR) || $(MKDIR) $(MAN1DIR) 
49 @$(CHK_DIR_EXISTS) $(SHAREDIR) || $(MKDIR) $(SHAREDIR) 
50  
51 uninstall: 
52 for prog in $(PROGS); do \ 
53 $(RM) $(DEST)/$$prog; \ 
54- $(RM) $(man1dir)/$$prog$(man1ext).gz; \ 
55+ $(RM) $(MAN1DIR)/$$prog$(man1ext).gz; \ 
56 done 
57  
58 clean: 

File Added: pkgsrc/security/pev/patches/Attic/patch-src_pehash.c
$NetBSD: patch-src_pehash.c,v 1.1 2019/10/22 16:37:05 khorben Exp $

Compatibility fix for OpenSSL 1.1.0

--- src/pehash.c.orig	2017-01-06 22:49:50.000000000 +0000
+++ src/pehash.c
@@ -215,13 +215,22 @@ static void calc_hash(const char *alg_na
 	unsigned char md_value[EVP_MAX_MD_SIZE];
 	unsigned int md_len;
 
-	EVP_MD_CTX md_ctx;
 	// FIXME: Handle errors - Check return values.
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+	EVP_MD_CTX * md_ctx;
+	md_ctx = EVP_MD_CTX_new();
+	EVP_DigestInit_ex(md_ctx, md, NULL);
+	EVP_DigestUpdate(md_ctx, data, size);
+	EVP_DigestFinal_ex(md_ctx, md_value, &md_len);
+	EVP_MD_CTX_free(md_ctx);
+#else
+	EVP_MD_CTX md_ctx;
 	EVP_MD_CTX_init(&md_ctx);
 	EVP_DigestInit_ex(&md_ctx, md, NULL);
 	EVP_DigestUpdate(&md_ctx, data, size);
 	EVP_DigestFinal_ex(&md_ctx, md_value, &md_len);
 	EVP_MD_CTX_cleanup(&md_ctx);
+#endif
 
 	for (unsigned int i=0; i < md_len; i++)
 		sprintf(&output[i * 2], "%02x", md_value[i]);

File Added: pkgsrc/security/pev/patches/Attic/patch-src_pesec.c
$NetBSD: patch-src_pesec.c,v 1.1 2019/10/22 16:37:05 khorben Exp $

Fix build with OpenSSL >= 1.1.0

--- src/pesec.c.orig	2017-01-06 22:27:18.000000000 +0000
+++ src/pesec.c
@@ -225,7 +225,9 @@ static int parse_pkcs7_data(const option
 	PKCS7 *p7 = NULL;
 	BIO *in = NULL;
 
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
 	CRYPTO_malloc_init();
+#endif
 	ERR_load_crypto_strings();
 	OpenSSL_add_all_algorithms();
 

File Added: pkgsrc/security/pev/patches/Attic/patch-src_plugins.c
$NetBSD: patch-src_plugins.c,v 1.1 2019/10/22 16:37:05 khorben Exp $

Build fix for FreeBSD, NetBSD, and OpenBSD.

--- src/plugins.c.orig	2017-01-06 22:27:18.000000000 +0000
+++ src/plugins.c
@@ -167,7 +167,7 @@ int plugins_load_all_from_directory(cons
 				const char *filename = dir_entry->d_name;
 
 				// TODO(jweyrich): Use macro conditions for each system: .so, .dylib, .dll
-#if defined(__linux__)
+#if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
 				const bool possible_plugin = utils_str_ends_with(filename, ".so") != 0;
 #elif defined(__APPLE__)
 				const bool possible_plugin = utils_str_ends_with(filename, ".dylib") != 0;