sngrep: bump to 1.4.5
authorAdam Duskett <aduskett@gmail.com>
Tue, 6 Feb 2018 18:03:46 +0000 (13:03 -0500)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Thu, 8 Feb 2018 21:33:47 +0000 (22:33 +0100)
Also add 0001-Fix-building-against-LibreSSL.patch to fix compiling against
LibreSSL.

This patch has been submitted and accepted upstream.
https://github.com/irontec/sngrep/commit/0ee014d497986c40de264f6392b01fdf4e337fd5

Signed-off-by: Adam Duskett <aduskett@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
package/sngrep/0001-Fix-building-against-LibreSSL.patch [new file with mode: 0644]
package/sngrep/sngrep.hash
package/sngrep/sngrep.mk

diff --git a/package/sngrep/0001-Fix-building-against-LibreSSL.patch b/package/sngrep/0001-Fix-building-against-LibreSSL.patch
new file mode 100644 (file)
index 0000000..311f0b3
--- /dev/null
@@ -0,0 +1,78 @@
+From 05d110ef57e9647b84c9656e746f72a76ea8c758 Mon Sep 17 00:00:00 2001
+From: Adam Duskett <aduskett@gmail.com>
+Date: Tue, 6 Feb 2018 12:47:43 -0500
+Subject: [PATCH] Fix building against LibreSSL
+
+LibreSSL declares OPENSSL_VERSION_NUMBER == 2.0 but does not include most
+changes from OpenSSL >= 1.1.
+
+To work around this:
+
+- Check to see if LIBRESSL_VERSION_NUMBER is defined.
+- If so, define MODSSL_USE_OPENSSL_PRE_1_1_API.
+- Change all checks for OPENSSL_VERSION_NUMBER < 0x10100000L to
+  '#if MODSSL_USE_OPENSSL_PRE_1_1_API'
+
+Upstream-Status: Committed
+https://github.com/irontec/sngrep/commit/0ee014d497986c40de264f6392b01fdf4e337fd5
+
+Signed-off-by: Adam Duskett <aduskett@gmail.com>
+---
+ src/capture_openssl.c | 6 +++---
+ src/capture_openssl.h | 9 +++++++++
+ 2 files changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/src/capture_openssl.c b/src/capture_openssl.c
+index 0a052c3..a4e1de0 100644
+--- a/src/capture_openssl.c
++++ b/src/capture_openssl.c
+@@ -94,7 +94,7 @@ P_hash(const char *digest, unsigned char *dest, int dlen, unsigned char *secret,
+     // Calculate enough data to fill destination
+     while (pending > 0) {
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if MODSSL_USE_OPENSSL_PRE_1_1_API
+         HMAC_CTX hm;
+         HMAC_Init(&hm, secret, sslen, md);
+         HMAC_Update(&hm, tmpseed, tmpslen);
+@@ -495,7 +495,7 @@ tls_process_record(struct SSLConnection *conn, const uint8_t *payload,
+                 break;
+             case change_cipher_spec:
+                 // From now on, this connection will be encrypted using MasterSecret
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if MODSSL_USE_OPENSSL_PRE_1_1_API
+                 if (conn->client_cipher_ctx->cipher && conn->server_cipher_ctx->cipher)
+                     conn->encrypted = 1;
+ #else
+@@ -588,7 +588,7 @@ tls_process_record_handshake(struct SSLConnection *conn, const opaque *fragment,
+                 // Decrypt PreMasterKey
+                 clientkeyex = (struct ClientKeyExchange *) body;
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if MODSSL_USE_OPENSSL_PRE_1_1_API
+                 RSA_private_decrypt(UINT16_INT(clientkeyex->length),
+                                     (const unsigned char *) &clientkeyex->exchange_keys,
+                                     (unsigned char *) &conn->pre_master_secret,
+diff --git a/src/capture_openssl.h b/src/capture_openssl.h
+index 31f48ce..b3e88fe 100644
+--- a/src/capture_openssl.h
++++ b/src/capture_openssl.h
+@@ -65,6 +65,15 @@
+ #define OLD_OPENSSL_VERSION 1
+ #endif
++/* LibreSSL declares OPENSSL_VERSION_NUMBER == 2.0 but does not include most
++ * changes from OpenSSL >= 1.1 (new functions, macros, deprecations, ...)
++ */
++#if defined(LIBRESSL_VERSION_NUMBER)
++#define MODSSL_USE_OPENSSL_PRE_1_1_API (1)
++#else
++#define MODSSL_USE_OPENSSL_PRE_1_1_API (OPENSSL_VERSION_NUMBER < 0x10100000L)
++#endif
++
+ //! Three bytes unsigned integer
+ typedef struct uint16 {
+     unsigned char x[2];
+-- 
+2.14.3
+
index cd2dff553621cad3e90e270a597ba204603d04e7..16552cf5cdb099771d870d72482ca013a27a5b16 100644 (file)
@@ -1,6 +1,6 @@
-# From https://github.com/irontec/sngrep/releases/download/v1.4.4/sngrep-1.4.4.tar.gz.md5sum
-md5 8e2286c2e23f4b29667025e5809dc303  sngrep-1.4.4.tar.gz
+# From https://github.com/irontec/sngrep/releases/download/v1.4.5/sngrep-1.4.5.tar.gz.md5sum
+md5 11f1cdb8e8f3a3c9ef02ecd12268322e  sngrep-1.4.5.tar.gz
 
 # Locally computed
-sha256 2379b8b3e9498d426a0bc03b90d74170a80f98f167f89c126d53dcc66bc5f60b sngrep-v1.4.4.tar.gz
+sha256 16f1566f4507ba560c7461cc7ff1c1653beb14b8baf7846269bbb4880564e57f sngrep-v1.4.5.tar.gz
 sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE
index 7442cef529eaa3fcae2e0bffe9c93c7719f8417c..4c9958d4976471e4212f7b4c516e6a633e9985a2 100644 (file)
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-SNGREP_VERSION = v1.4.4
+SNGREP_VERSION = v1.4.5
 SNGREP_SITE = $(call github,irontec,sngrep,$(SNGREP_VERSION))
 SNGREP_LICENSE = GPL-3.0+
 SNGREP_LICENSE_FILES = LICENSE