yara: fix compilation without deprecated OpenSSL APIs
authorRosen Penev <redacted>
Sun, 2 Aug 2020 21:38:31 +0000 (14:38 -0700)
committerRosen Penev <redacted>
Wed, 5 Aug 2020 02:09:14 +0000 (19:09 -0700)
Signed-off-by: Rosen Penev <redacted>
utils/yara/Makefile
utils/yara/patches/010-openssl.patch [new file with mode: 0644]

index 5294374037d88ae0bdbb3dd509d47876a4ad584a..272ae50e9ec3467a9e03d651e0e0bfe525575b76 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=yara
 PKG_VERSION:=4.0.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/VirusTotal/yara/tar.gz/v$(PKG_VERSION)?
diff --git a/utils/yara/patches/010-openssl.patch b/utils/yara/patches/010-openssl.patch
new file mode 100644 (file)
index 0000000..bbd22fd
--- /dev/null
@@ -0,0 +1,50 @@
+--- a/libyara/include/yara/pe_utils.h
++++ b/libyara/include/yara/pe_utils.h
+@@ -102,7 +102,7 @@ char *ord_lookup(
+ #if HAVE_LIBCRYPTO
+ #include <openssl/asn1.h>
+-time_t ASN1_get_time_t(ASN1_TIME* time);
++time_t ASN1_get_time_t(const ASN1_TIME* time);
+ #endif
+ #endif
+diff --git a/libyara/modules/pe/pe.c b/libyara/modules/pe/pe.c
+index 8eace26..ed43abe 100644
+--- a/libyara/modules/pe/pe.c
++++ b/libyara/modules/pe/pe.c
+@@ -44,8 +44,8 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ #endif
+ #if OPENSSL_VERSION_NUMBER < 0x10100000L
+-#define X509_getm_notBefore X509_get_notBefore
+-#define X509_getm_notAfter X509_get_notAfter
++#define X509_get0_notBefore X509_get_notBefore
++#define X509_get0_notAfter X509_get_notAfter
+ #endif
+ #endif
+@@ -1433,10 +1433,10 @@ void _parse_pkcs7(
+       }
+     }
+-    date_time = ASN1_get_time_t(X509_get_notBefore(cert));
++    date_time = ASN1_get_time_t(X509_get0_notBefore(cert));
+     set_integer(date_time, pe->object, "signatures[%i].not_before", *counter);
+-    date_time = ASN1_get_time_t(X509_get_notAfter(cert));
++    date_time = ASN1_get_time_t(X509_get0_notAfter(cert));
+     set_integer(date_time, pe->object, "signatures[%i].not_after", *counter);
+     (*counter)++;
+--- a/libyara/modules/pe/pe_utils.c
++++ b/libyara/modules/pe/pe_utils.c
+@@ -307,7 +307,7 @@ time_t timegm(
+ // and cleaned up. Also uses timegm(3) instead of mktime(3).
+ time_t ASN1_get_time_t(
+-      ASN1_TIME* time)
++      const ASN1_TIME* time)
+ {
+   struct tm t;
+   const char* str = (const char*) time->data;
git clone https://git.99rst.org/PROJECT