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.diff -r1.4 -r1.5 pkgsrc/security/pev/Makefile
(khorben)
@@ -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 | |||
4 | DISTNAME= pev-0.70 | 4 | DISTNAME= pev-0.80 | |
5 | PKGREVISION= 1 | |||
6 | CATEGORIES= security | 5 | CATEGORIES= security | |
7 | MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=pev/} | 6 | MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=pev/} | |
8 | 7 | |||
9 | WRKSRC= ${WRKDIR}/pev | 8 | WRKSRC= ${WRKDIR}/pev | |
10 | 9 | |||
11 | MAINTAINER= khorben@defora.org | 10 | MAINTAINER= khorben@defora.org | |
12 | HOMEPAGE= http://pev.sourceforge.net/ | 11 | HOMEPAGE= http://pev.sourceforge.net/ | |
13 | COMMENT= The PE analysis toolkit | 12 | COMMENT= The PE analysis toolkit | |
14 | 13 | |||
15 | LICENSE= gnu-gpl-v3 | 14 | LICENSE= gnu-gpl-v3 | |
16 | 15 | |||
17 | USE_TOOLS+= gmake | 16 | USE_TOOLS+= gmake | |
18 | 17 |
@@ -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 $ | |
2 | bin/ofs2rva | 2 | bin/ofs2rva | |
3 | bin/pedis | 3 | bin/pedis | |
4 | bin/pehash | 4 | bin/pehash | |
5 | bin/pepack | 5 | bin/pepack | |
6 | bin/peres | 6 | bin/peres | |
7 | bin/pescan | 7 | bin/pescan | |
8 | bin/pesec | 8 | bin/pesec | |
9 | bin/pestr | 9 | bin/pestr | |
10 | bin/readpe | 10 | bin/readpe | |
11 | bin/rva2ofs | 11 | bin/rva2ofs | |
12 | lib/libpe.so | 12 | lib/libpe.so | |
13 | lib/libpe.so.1 | 13 | lib/libpe.so.1 | |
14 | lib/libpe.so.1.0 | 14 | lib/libpe.so.1.0 | |
15 | man/man1/ofs2rva.1.gz | 15 | lib/pev/plugins/csv_plugin.so | |
16 | man/man1/pedis.1.gz | 16 | lib/pev/plugins/html_plugin.so | |
17 | man/man1/pehash.1.gz | 17 | lib/pev/plugins/json_plugin.so | |
18 | man/man1/pepack.1.gz | 18 | lib/pev/plugins/text_plugin.so | |
19 | man/man1/peres.1.gz | 19 | lib/pev/plugins/xml_plugin.so | |
20 | man/man1/pescan.1.gz | 20 | man/man1/ofs2rva.1 | |
21 | man/man1/pesec.1.gz | 21 | man/man1/pedis.1 | |
22 | man/man1/pestr.1.gz | 22 | man/man1/pehash.1 | |
23 | man/man1/readpe.1.gz | 23 | man/man1/pepack.1 | |
24 | man/man1/rva2ofs.1.gz | 24 | man/man1/peres.1 | |
25 | man/man1/pescan.1 | |||
26 | man/man1/pesec.1 | |||
27 | man/man1/pestr.1 | |||
28 | man/man1/readpe.1 | |||
29 | man/man1/rva2ofs.1 | |||
25 | share/pev/userdb.txt | 30 | share/pev/userdb.txt |
@@ -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 | |||
3 | SHA1 (pev-0.70.tar.gz) = b2d1191c3b57049c78ef77b8f54f7f78838af129 | 3 | SHA1 (pev-0.80.tar.gz) = 18dcb65269344b5047504cca8598477b33532bab | |
4 | RMD160 (pev-0.70.tar.gz) = 9ffe6dccecdfbeba09e34f9a212c2abcf3861ef0 | 4 | RMD160 (pev-0.80.tar.gz) = 01ed4fa37c5349397dbd8aa3b592b9657e63acf8 | |
5 | SHA512 (pev-0.70.tar.gz) = c98ea778b05b514ef26d87627484b5942247fb4190ad6a166ee2a01fc185dd4663848ca9b5ba3a26be5c8a40eaf42f476bec58ddea0565ac4c6fe0710c9575aa | 5 | SHA512 (pev-0.80.tar.gz) = d0c8ff8fcd60470899d5dbccfd7a7e4d960da007f42be9c7eab6b22a3d7cf4dde3c3d5cd9c7d70e369164503fb124640cf508ceda3d4792244cf33d11ab83321 | |
6 | Size (pev-0.70.tar.gz) = 254821 bytes | 6 | Size (pev-0.80.tar.gz) = 921102 bytes | |
7 | SHA1 (patch-Makefile) = 39b31541b2f51e82e9807aed36723105959aa26c | 7 | SHA1 (patch-src_Makefile) = f51a9d6afa64de8ba761a9b889911403b0107aad | |
8 | SHA1 (patch-lib_libpe_Makefile) = 11d1beba07b313a4baf2e95b5b56dfd7da4787f9 | 8 | SHA1 (patch-src_pehash.c) = c31083fca0d98dc607eb4f8b338bd93dd714f594 | |
9 | SHA1 (patch-src_Makefile) = 2f04a23d40c1859ba1094a00822c0a0294fe3e5b | 9 | SHA1 (patch-src_pesec.c) = fa302aa9bf2f07558f6cef0c41b0cd9063df7706 | |
10 | SHA1 (patch-src_pepack.c) = acb6dc0d1d9b20c13a61275b4f08f5903fec14f9 | 10 | SHA1 (patch-src_plugins.c) = c85c5c3b918850c7383f30d2efdae38985cdd143 |
@@ -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 | |||
3 | Fixed DESTDIR support | 3 | Only 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: |
$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]);
$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();
$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;