Merge pull request #7705 from neheb/patch-10
authorMichael Heimpold <mhei@heimpold.de>
Fri, 28 Dec 2018 14:40:35 +0000 (15:40 +0100)
committerGitHub <noreply@github.com>
Fri, 28 Dec 2018 14:40:35 +0000 (15:40 +0100)
libiio: Update to 0.16

126 files changed:
.circleci/Dockerfile
.circleci/config.yml
lang/golang/golang-version.mk
lang/golang/golang/Makefile
lang/lualanes/Makefile
lang/lualanes/patches/100-musl-compat.patch
lang/lualanes/patches/200-fix-redef-error.patch [new file with mode: 0644]
lang/node-mozilla-iot-gateway/Makefile
lang/node/Makefile
lang/node/patches/004-openssl-deprecated.patch [new file with mode: 0644]
lang/python/django/Makefile
lang/python/pyjwt/Makefile
lang/python/python-dpkt/Makefile
lang/python/python-mysql/Makefile
lang/python/python-requests/Makefile
lang/python/python-service-identity/Makefile
lang/python/python-six/Makefile
lang/tcl/Makefile
libs/alsa-lib/Makefile
libs/boost/Makefile
libs/fcgi/Makefile
libs/fcgi/patches/100-fcgio-int-type-fix.patch
libs/fcgi/patches/110-no_examples.patch
libs/fcgi/patches/120-stdio.patch
libs/fcgi/patches/200-Convert-AM_INIT_AUTOMAKE-AC_INIT-and-trigger-non-GNU.patch [new file with mode: 0644]
libs/glib2/Makefile
libs/ibrcommon/Makefile
libs/jansson/Makefile
libs/libaudiofile/Makefile
libs/libdouble-conversion/Makefile
libs/libedit/Makefile
libs/libgpg-error/Makefile
libs/libgpg-error/patches/001-cross-compile-fix.patch
libs/libndpi/Makefile
libs/libndpi/patches/0001-Move-the-configure-include-file-inclusion-and-code-d.patch [deleted file]
libs/libndpi/patches/0002-Fixes-600.patch [deleted file]
libs/libndpi/patches/0003-Fixed-duplicate-protocol-name.-607.patch [deleted file]
libs/libndpi/patches/0004-Added-missing-ndpi_protocol2id-prototype.patch [deleted file]
libs/libndpi/patches/0005-Do-not-use-the-available-clang-as-the-default-compil.patch [deleted file]
libs/libndpi/patches/0006-Backported-ndpi_protocol2id.patch [deleted file]
libs/libndpi/patches/0007-Symlink-the-shared-library-to-pwd.patch [deleted file]
libs/libndpi/patches/0008-Use-a-more-standard-path-for-pkg-config-files.patch [deleted file]
libs/libndpi/patches/0009-Correct-the-include-file-path-in-I-CFLAGS-argument.patch [deleted file]
libs/libpfring/Makefile
libs/libpfring/patches/0001-fix-cross-compiling.patch
libs/libpfring/patches/0002-fix-march-native.patch
libs/libpfring/patches/0003-fix-strncpy.patch [deleted file]
libs/libpfring/patches/010-fix-buildbots.patch [deleted file]
libs/libsndfile/Makefile
libs/liburcu/Makefile
libs/openldap/Makefile
libs/openldap/patches/001-automake-compat.patch
libs/openldap/patches/110-reproducible-builds.patch
libs/openldap/patches/800-openssl-deprecated.patch [deleted file]
libs/openldap/patches/901-reduce-slapd-default-mem-usage.patch [new file with mode: 0644]
libs/pcre/Makefile
libs/psqlodbc/Makefile
libs/sqlite3/Makefile
mail/msmtp/Makefile
mail/msmtp/patches/010-openssl-deprecated.patch [deleted file]
mail/opendkim/Makefile
mail/opendkim/patches/010-openssl_1.1.0_compat.patch [deleted file]
mail/opendkim/patches/010-openssl_1.1_compat.patch [new file with mode: 0644]
mail/postfix/Makefile
mail/sendmail/Makefile
mail/sendmail/files/OpenWrt
mail/sendmail/files/sharedlibrary.m4
mail/sendmail/patches/200-openssl-1.1.1.patch [new file with mode: 0644]
mail/sendmail/patches/201-openssl-1.1.1-ecdhe.patch [new file with mode: 0644]
mail/sendmail/patches/202-openssl-deprecated.patch [new file with mode: 0644]
multimedia/crtmpserver/Makefile
multimedia/crtmpserver/patches/060-add-missing-includes.patch
multimedia/crtmpserver/patches/090-openssl-1.1-compat.diff [deleted file]
multimedia/crtmpserver/patches/090-openssl-1.1-compat.patch [new file with mode: 0644]
multimedia/crtmpserver/patches/100-openssl-deprecated.patch [new file with mode: 0644]
multimedia/youtube-dl/Makefile
multimedia/youtube-dl/patches/dont-use-pandoc.patch [new file with mode: 0644]
net/adblock/Makefile
net/adblock/files/README.md
net/adblock/files/adblock.conf
net/adblock/files/adblock.init
net/adblock/files/adblock.sh
net/aria2/patches/010-Platform-Fix-compilation-without-deprecated-OpenSSL-.patch [new file with mode: 0644]
net/banip/Makefile
net/banip/files/banip.sh
net/chaosvpn/Makefile
net/chaosvpn/patches/010-openssl-deprecated.patch [new file with mode: 0644]
net/clamav/Makefile
net/geth/Makefile
net/git/Makefile
net/gitolite/Makefile
net/haproxy/Makefile
net/haproxy/get-latest-patches.sh
net/keepalived/Makefile
net/mdnsresponder/Makefile
net/mdnsresponder/patches/100-linux_fixes.patch
net/mdnsresponder/patches/120-reproducible-builds.patch
net/mosquitto/Makefile
net/mwan3/Makefile
net/mwan3/files/usr/sbin/mwan3
net/mwan3/files/usr/sbin/mwan3track
net/nut/Makefile
net/nut/files/nut-server.init
net/nut/files/nut_server
net/samba4/Makefile
net/shorewall-core/Makefile
net/shorewall-lite/Makefile
net/shorewall/Makefile
net/shorewall6-lite/Makefile
net/shorewall6/Makefile
net/softethervpn/Makefile
net/subversion/Makefile
net/tinc/Makefile
net/tinc/patches/010-Fix-compilation-when-OpenSSL-has-no-ENGINE-support.patch [new file with mode: 0644]
net/tinc/patches/020-Fix-compilation-without-deprecated-OpenSSL-APIs.patch [new file with mode: 0644]
net/unbound/Makefile
net/unbound/patches/101-dns64-crash.patch [new file with mode: 0644]
sound/shairport-sync/Makefile
utils/acpica-unix/Makefile
utils/dbus/Makefile
utils/fish/Makefile
utils/logrotate/Makefile
utils/prometheus/Makefile
utils/pv/Makefile
utils/rtty/Makefile
utils/tio/Makefile

index b619ffd74c5a4bfa8c95e01077672cd5186f2b72..b3575b2066f2bed74272f55f56c293562ef555a5 100644 (file)
@@ -1,5 +1,11 @@
 FROM debian:9
 
+
+# Configuration version history
+# v1.0   - Initial version by Etienne Champetier
+# v1.0.1 - Run as non-root, add unzip, xz-utils
+# v1.0.2 - Add bzr
+
 RUN apt update && apt install -y \
 build-essential \
 curl \
@@ -11,6 +17,7 @@ libncurses5-dev \
 libssl-dev \
 python \
 subversion \
+bzr \
 time \
 wget \
 zlib1g-dev \
index 87a8cf8ef3731e4f1a887c470e29509b1311a5f6..8fc53ba68262a6a4f6233f059322315ce0971708 100644 (file)
@@ -2,7 +2,7 @@ version: 2.0
 jobs:
   build:
     docker:
-      - image: docker.io/openwrtorg/packages-cci:v1.0.1
+      - image: docker.io/openwrtorg/packages-cci:v1.0.2
     environment:
       - SDK_HOST: "downloads.openwrt.org"
       - SDK_PATH: "snapshots/targets/ar71xx/generic"
index 9e69d3bc8f5e62f70a410359df599f23c119b500..0e0c75778d9502e7323eb809df761eaa89202a22 100644 (file)
@@ -11,4 +11,4 @@ endif
 
 
 GO_VERSION_MAJOR_MINOR:=1.11
-GO_VERSION_PATCH:=2
+GO_VERSION_PATCH:=4
index 7b72a7a885e82b6663116b3d07f3397cd6b6921a..ff4bcb053ddb3129c2437306ddfd5f610efe535c 100644 (file)
@@ -18,7 +18,7 @@ GO_SOURCE_URLS:=https://dl.google.com/go/ \
 
 PKG_SOURCE:=go$(PKG_VERSION).src.tar.gz
 PKG_SOURCE_URL:=$(GO_SOURCE_URLS)
-PKG_HASH:=042fba357210816160341f1002440550e952eb12678f7c9e7e9d389437942550
+PKG_HASH:=4cfd42720a6b1e79a8024895fa6607b69972e8e32446df76d6ce79801bbadb15
 
 PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE_FILES:=LICENSE
index ca4573b4b54e5edfe072c0ba7a369fd95c1af60c..79bbc14f5c401cd1cd241b410c23382abdc1afe2 100644 (file)
@@ -8,16 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=lualanes
-PKG_REV:=aa9bfcf2dd49f55f11b27e7c21d5b75d81ccfc7e
-PKG_VERSION:=3.9.4
-PKG_RELEASE=1
+PKG_VERSION:=3.13.0
+PKG_RELEASE:=1
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_REV).tar.gz
-PKG_MIRROR_HASH:=e9b053e627edaf7ef229af176177bf2bd0edd31b69690ba7c1e6be41041ffd07
-PKG_SOURCE_URL:=https://github.com/LuaLanes/lanes.git
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_VERSION:=$(PKG_REV)
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/LuaLanes/lanes/tar.gz/v$(PKG_VERSION)?
+PKG_HASH:=53a17d7ee11f17ca0543ae5aa640208dcb62d37862a0d0ea450455fae12c8ff1
+PKG_BUILD_DIR:=$(BUILD_DIR)/lanes-$(PKG_VERSION)
 
 PKG_INSTALL:=1
 PKG_BUILD_PARALLEL:=1
@@ -45,7 +42,7 @@ define Build/Compile
         CC="$(TARGET_CC)" \
         LUA="$(STAGING_DIR_HOSTPKG)/bin/lua" \
         LUAC="$(STAGING_DIR_HOSTPKG)/bin/luac" \
-        OPT_FLAGS="$(TARGET_CFLAGS) --std=c99 -Dpthread_yield=sched_yield"
+        OPT_FLAGS="$(TARGET_CFLAGS) -Dpthread_yield=sched_yield"
 endef
 
 define Package/lualanes/install
index ba3f49f9fe6fe6bc6cc6080cb591f843c16bcd41..2f3276b1f06fcd0cf4aa7855ed77a1e9c9486447 100644 (file)
@@ -1,8 +1,6 @@
-diff --git a/src/threading.h b/src/threading.h
-index bfa9ab8..7b3d6a1 100644
 --- a/src/threading.h
 +++ b/src/threading.h
-@@ -128,7 +128,7 @@ enum e_status { PENDING, RUNNING, WAITING, DONE, ERROR_ST, CANCELLED };
+@@ -110,7 +110,7 @@ enum e_status { PENDING, RUNNING, WAITING, DONE, ERROR_ST, CANCELLED };
    #endif // PLATFORM_WIN32
    #include <pthread.h>
  
diff --git a/lang/lualanes/patches/200-fix-redef-error.patch b/lang/lualanes/patches/200-fix-redef-error.patch
new file mode 100644 (file)
index 0000000..662e08f
--- /dev/null
@@ -0,0 +1,12 @@
+--- a/src/threading.c
++++ b/src/threading.c
+@@ -35,7 +35,9 @@ THE SOFTWARE.
+ ===============================================================================
+ */
+ #if defined(__linux__)
++#ifndef _GNU_SOURCE
+ # define _GNU_SOURCE /* must be defined before any include */
++#endif
+ # ifdef __ANDROID__
+ #  include <android/log.h>
+ #  define LOG_TAG "LuaLanes"
index d2252259a1938b8ca863f5627c92eeafaadaa7ed..c555edbd54c2fc9547252fce463f980901518568 100644 (file)
@@ -9,16 +9,16 @@ include $(TOPDIR)/rules.mk
 
 PKG_NPM_NAME:=mozilla-iot-gateway
 PKG_NAME:=node-$(PKG_NPM_NAME)
-PKG_VERSION:=0.6.0
-PKG_RELEASE:=2
-PKG_REV:=df2d06def2051238bde7b8e5ee306262235d4c9f
+PKG_VERSION:=0.6.1
+PKG_RELEASE:=1
+PKG_REV:=2bcdf4866872b1e8992ee70ff6fc65566d6288d8
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/mozilla-iot/gateway.git
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
 PKG_SOURCE_VERSION:=$(PKG_REV)
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_MIRROR_HASH:=d686df778a7de693db11273eb87c16ec4d9e3ff9bbb550ed3ef94e29e96750e2
+PKG_MIRROR_HASH:=c424b6f5f011c0cceb455458c855854395d47e902fd4ec2d63564c5e736d4fcd
 
 PKG_BUILD_DEPENDS:=node/host openzwave
 
@@ -74,9 +74,9 @@ define Package/node-mozilla-iot-gateway/install
        $(RM) -r $(1)/opt/mozilla-iot/gateway/node_modules/ursa-optional/build/Release/ursaNative.node
        $(RM) -r $(1)/opt/mozilla-iot/gateway/node_modules/ursa-optional/build/Release/obj.target/ursaNative.node
 
-       $(INSTALL_DIR) $(1)/opt/mozilla-iot/gateway/node_modules/sqlite3/lib/binding/node-v57-linux-arm/
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/things-gateway/node_modules/sqlite3/lib/binding/node-v57-linux-arm/node_sqlite3.node \
-               $(1)/opt/mozilla-iot/gateway/node_modules/sqlite3/lib/binding/node-v57-linux-arm/
+       $(INSTALL_DIR) $(1)/opt/mozilla-iot/gateway/node_modules/sqlite3/lib/binding/node-v57-linux-$(CPU)/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/things-gateway/node_modules/sqlite3/lib/binding/node-v57-linux-$(CPU)/node_sqlite3.node \
+               $(1)/opt/mozilla-iot/gateway/node_modules/sqlite3/lib/binding/node-v57-linux-$(CPU)/
 
        $(INSTALL_DIR) $(1)/etc/init.d
        $(INSTALL_BIN) ./files/mozilla-iot-gateway.init $(1)/etc/init.d/mozilla-iot-gateway
index bf0f51f4e4b78eab61e132ad34e9299e27422cce..cd3e149ec04b1f4b34eca653c80ddfed1322b6a8 100644 (file)
@@ -8,11 +8,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=node
-PKG_VERSION:=v8.12.0
+PKG_VERSION:=v8.14.1
 PKG_RELEASE:=1
 PKG_SOURCE:=node-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://nodejs.org/dist/${PKG_VERSION}
-PKG_HASH:=5a9dff58016c18fb4bf902d963b124ff058a550ebcd9840c677757387bce419a
+PKG_HASH:=b1df87803ddffb76fc6739f025f69f6b8288514fcd2f278f0d675ac3d52a6b9b
 
 HOST_BUILD_DEPENDS:=python/host
 PKG_BUILD_DEPENDS:=python/host
@@ -37,7 +37,7 @@ define Package/node
   SUBMENU:=Node.js
   TITLE:=Node.js is a platform built on Chrome's JavaScript runtime
   URL:=https://nodejs.org/
-  DEPENDS:=@(HAS_FPU||KERNEL_MIPS_FPU_EMULATOR) +libstdcpp +libopenssl +zlib +USE_UCLIBC:libpthread +USE_UCLIBC:librt +NODEJS_ICU:icu
+  DEPENDS:=@(HAS_FPU||KERNEL_MIPS_FPU_EMULATOR) +libstdcpp +libopenssl +zlib +libnghttp2 +libuv +libhttp-parser +USE_UCLIBC:libpthread +USE_UCLIBC:librt +NODEJS_ICU:icu
 endef
 
 define Package/node/description
@@ -86,6 +86,9 @@ CONFIGURE_ARGS:= \
        --without-snapshot \
        --shared-zlib \
        --shared-openssl \
+       --shared-nghttp2 \
+       --shared-libuv \
+       --shared-http-parser \
        --with-intl=$(if $(CONFIG_NODEJS_ICU),system-icu,none) \
        $(if $(findstring mips,$(NODEJS_CPU)), \
                $(if $(CONFIG_SOFT_FLOAT),--with-mips-float-abi=soft)) \
diff --git a/lang/node/patches/004-openssl-deprecated.patch b/lang/node/patches/004-openssl-deprecated.patch
new file mode 100644 (file)
index 0000000..8b27ab5
--- /dev/null
@@ -0,0 +1,96 @@
+diff --git a/src/node_crypto.cc b/src/node_crypto.cc
+index c3779c0..611fb43 100644
+--- a/src/node_crypto.cc
++++ b/src/node_crypto.cc
+@@ -43,6 +43,11 @@
+ #include <string.h>
+ #include <vector>
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#define X509_get0_notBefore X509_get_notBefore
++#define X509_get0_notAfter X509_get_notAfter
++#endif
++
+ #define THROW_AND_RETURN_IF_NOT_STRING_OR_BUFFER(val, prefix)                  \
+   do {                                                                         \
+     if (!Buffer::HasInstance(val) && !val->IsString()) {                       \
+@@ -536,6 +541,7 @@ void SecureContext::Init(const FunctionCallbackInfo<Value>& args) {
+       method = SSLv23_server_method();
+     } else if (strcmp(*sslmethod, "SSLv23_client_method") == 0) {
+       method = SSLv23_client_method();
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+     } else if (strcmp(*sslmethod, "TLSv1_method") == 0) {
+       method = TLSv1_method();
+     } else if (strcmp(*sslmethod, "TLSv1_server_method") == 0) {
+@@ -554,6 +560,14 @@ void SecureContext::Init(const FunctionCallbackInfo<Value>& args) {
+       method = TLSv1_2_server_method();
+     } else if (strcmp(*sslmethod, "TLSv1_2_client_method") == 0) {
+       method = TLSv1_2_client_method();
++#else
++    } else if (strcmp(*sslmethod, "TLS_method") == 0) {
++      method = TLS_method();
++    } else if (strcmp(*sslmethod, "TLS_server_method") == 0) {
++      method = TLS_server_method();
++    } else if (strcmp(*sslmethod, "TLS_client_method") == 0) {
++      method = TLS_client_method();
++#endif
+     } else {
+       return env->ThrowError("Unknown method");
+     }
+@@ -1799,7 +1813,7 @@ static Local<Object> X509ToObject(Environment* env, X509* cert) {
+     rsa = nullptr;
+   }
+-  ASN1_TIME_print(bio, X509_get_notBefore(cert));
++  ASN1_TIME_print(bio, X509_get0_notBefore(cert));
+   BIO_get_mem_ptr(bio, &mem);
+   info->Set(context, env->valid_from_string(),
+             String::NewFromUtf8(env->isolate(), mem->data,
+@@ -1807,7 +1821,7 @@ static Local<Object> X509ToObject(Environment* env, X509* cert) {
+                                 mem->length)).FromJust();
+   (void) BIO_reset(bio);
+-  ASN1_TIME_print(bio, X509_get_notAfter(cert));
++  ASN1_TIME_print(bio, X509_get0_notAfter(cert));
+   BIO_get_mem_ptr(bio, &mem);
+   info->Set(context, env->valid_to_string(),
+             String::NewFromUtf8(env->isolate(), mem->data,
+@@ -6194,8 +6208,12 @@ void TimingSafeEqual(const FunctionCallbackInfo<Value>& args) {
+ }
+ void InitCryptoOnce() {
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+   SSL_load_error_strings();
+   OPENSSL_no_config();
++#else
++  OPENSSL_init_crypto(OPENSSL_INIT_NO_LOAD_CONFIG, NULL);
++#endif
+   // --openssl-config=...
+   if (!openssl_config.empty()) {
+@@ -6217,10 +6235,10 @@ void InitCryptoOnce() {
+     }
+   }
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+   SSL_library_init();
+   OpenSSL_add_all_algorithms();
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+   crypto_lock_init();
+   CRYPTO_set_locking_callback(crypto_lock_cb);
+   CRYPTO_THREADID_set_callback(crypto_threadid_cb);
+diff --git a/src/node_crypto.h b/src/node_crypto.h
+index 58f5b72..875a787 100644
+--- a/src/node_crypto.h
++++ b/src/node_crypto.h
+@@ -37,6 +37,9 @@
+ #include "v8.h"
+ #include <openssl/ssl.h>
++#include <openssl/bn.h>
++#include <openssl/rsa.h>
++#include <openssl/dh.h>
+ #include <openssl/ec.h>
+ #include <openssl/ecdh.h>
+ #ifndef OPENSSL_NO_ENGINE
index 4cb91fca3cebd92f813564fcc98eeb4effddc963..180d5e1373a2f19adf38064841f385a9c115d2f4 100644 (file)
@@ -8,15 +8,19 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=django
-PKG_VERSION:=1.11.16
+PKG_VERSION:=1.11.17
 PKG_RELEASE=1
-PKG_LICENSE:=BSD-3-Clause
 
 PKG_SOURCE:=Django-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/D/Django
-PKG_HASH:=29268cc47816a44f27308e60f71da635f549c47d8a1d003b28de55141df75791
+PKG_HASH:=a787ee66f4b4cf8ed753661cabcec603989677fa3a107fcb7f15511a44bdb483
 PKG_BUILD_DIR=$(BUILD_DIR)/Django-$(PKG_VERSION)
 
+PKG_MAINTAINER:=Gergely Kiss <mail.gery@gmail.com>
+PKG_LICENSE:=BSD-3-Clause
+PKG_LICENSE_FILES:=LICENSE LICENSE.python
+PKG_CPE_ID:=cpe:/a:djangoproject:django
+
 include $(INCLUDE_DIR)/package.mk
 include ../python-package.mk
 
@@ -25,7 +29,6 @@ define Package/django
     SECTION:=lang
     CATEGORY:=Languages
     TITLE:=The web framework for perfectionists with deadlines.
-    MAINTAINER:=Gergely Kiss <mail.gery@gmail.com>
     URL:=https://www.djangoproject.com/
     DEPENDS:=+python
 endef
index e265979e02b3ccdcb85cb833e898010f724b2839..a4153dcc6ffda2b16c04cd4e974ceb75f8c61b2d 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=pyjwt
-PKG_VERSION:=1.7.0
+PKG_VERSION:=1.7.1
 PKG_RELEASE:=1
 PKG_LICENSE:=MIT
 
 PKG_SOURCE:=PyJWT-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/P/PyJWT
-PKG_HASH:=ddec8409c57e9d371c6006e388f91daf3b0b43bdf9fcbf99451fb7cf5ce0a86d
+PKG_HASH:=8d59a976fb773f3e6a39c85636357c4f0e242707394cadadd9814f5cbaa20e96
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-PyJWT-$(PKG_VERSION)
 PKG_UNPACK=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
 
index e6b0417987fa89b5dde4f979d6f1d06e36f9f97e..f9f2018474df922bab55fd808ed6a285039edf62 100644 (file)
@@ -8,17 +8,17 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-dpkt
-PKG_VERSION:=1.91
+PKG_VERSION:=1.9.2
 PKG_RELEASE:=1
+
+PKG_SOURCE:=dpkt-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/d/dpkt
+PKG_HASH:=52a92ecd5ca04d5bd852bb11cb2eac4bbe38b42a7c472e0d950eeb9f82a81e54
+PKG_BUILD_DIR:=$(BUILD_DIR)/dpkt-$(PKG_VERSION)
+
 PKG_MAINTAINER:=Andrew McConachie <andrew@depht.com>
 PKG_LICENSE:=BSD-3-Clause
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=https://github.com/kbandla/dpkt.git
-PKG_SOURCE_VERSION:=6cd0909d613a66033ecdefaca6cc07cfa7d46d6b
-PKG_MIRROR_HASH:=fe8657552b1dbaf8b9eba50168730e200567dc88a06932aa1cf60dc93211d16b
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
+PKG_LICENSE_FILES:=LICENSE
 
 include $(INCLUDE_DIR)/package.mk
 include ../python-package.mk
index 01a06a5b4d8e54c0671cf7ee071b00576bf74e8f..a56bfc3086e5f60d65e49c714e4bc99840476251 100644 (file)
@@ -8,14 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-mysql
-PKG_VERSION:=1.3.13
+PKG_VERSION:=1.3.14
 PKG_RELEASE:=1
 PKG_LICENSE:=GPL-2.0
 
 PKG_SOURCE:=mysqlclient-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/m/mysqlclient
-PKG_HASH:=ff8ee1be84215e6c30a746b728c41eb0701a46ca76e343af445b35ce6250644f
-
+PKG_HASH:=3981ae9ce545901a36a8b7aed76ed02960a429f75dc53b7ad77fb2f9ab7cd56b
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-mysql-$(PKG_VERSION)
 
 include $(INCLUDE_DIR)/package.mk
index 9723f60f01c74727062f5b83ccd9c957e023b047..cc2648761e8181b83fc551934f15c13c2693d075 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-requests
-PKG_VERSION:=2.20.1
+PKG_VERSION:=2.21.0
 PKG_RELEASE:=1
 PKG_LICENSE:=Apache-2.0
 
 PKG_SOURCE:=requests-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/r/requests
-PKG_HASH:=ea881206e59f41dbd0bd445437d792e43906703fff75ca8ff43ccdb11f33f263
+PKG_HASH:=502a824f31acdacb3a35b6690b5fbf0bc41d63a24a45c4004352b0242707598e
 PKG_BUILD_DIR:=$(BUILD_DIR)/requests-$(PKG_VERSION)
 
 PKG_CPE_ID:=cpe:/a:python-requests:requests
index 552ba3d310a042feca8acf2383010f78c5efab2d..f81ff1ab6c10a06778245997c853a171d552ca23 100644 (file)
@@ -8,13 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-service-identity
-PKG_VERSION:=17.0.0
-PKG_RELEASE:=2
+PKG_VERSION:=18.1.0
+PKG_RELEASE:=1
 
 PKG_SOURCE:=service_identity-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://pypi.python.org/packages/de/2a/cab6e30be82c8fcd2339ef618036720eda954cf05daef514e386661c9221
-PKG_HASH:=4001fbb3da19e0df22c47a06d29681a398473af4aa9d745eca525b3b2c2302ab
-
+PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/s/service_identity
+PKG_HASH:=0858a54aabc5b459d1aafa8a518ed2081a285087f349fe3e55197989232e2e2d
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-service-identity-$(PKG_VERSION)
 
 PKG_LICENSE:=MIT
@@ -40,9 +39,10 @@ $(call Package/python-service-identity/Default)
   DEPENDS:= \
       +PACKAGE_python-service-identity:python-light \
       +PACKAGE_python-service-identity:python-attrs \
+      +PACKAGE_python-service-identity:python-cryptography \
+      +PACKAGE_python-service-identity:python-ipaddress \
       +PACKAGE_python-service-identity:python-pyasn1 \
-      +PACKAGE_python-service-identity:python-pyasn1-modules \
-      +PACKAGE_python-service-identity:python-pyopenssl
+      +PACKAGE_python-service-identity:python-pyasn1-modules
   VARIANT:=python
 endef
 
@@ -52,9 +52,9 @@ $(call Package/python-service-identity/Default)
   DEPENDS:= \
       +PACKAGE_python3-service-identity:python3-light \
       +PACKAGE_python3-service-identity:python3-attrs \
+      +PACKAGE_python3-service-identity:python3-cryptography \
       +PACKAGE_python3-service-identity:python3-pyasn1 \
-      +PACKAGE_python3-service-identity:python3-pyasn1-modules \
-      +PACKAGE_python3-service-identity:python3-pyopenssl
+      +PACKAGE_python3-service-identity:python3-pyasn1-modules
   VARIANT:=python3
 endef
 
index 2e7e4fa5b57fe94e005f1222d51fb538ded42cfa..033329137fe9bb6b4dc530725bea937710f5138d 100644 (file)
@@ -8,20 +8,19 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-six
-PKG_VERSION:=1.11.0
-PKG_RELEASE:=2
+PKG_VERSION:=1.12.0
+PKG_RELEASE:=1
 
 PKG_SOURCE:=six-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://pypi.python.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe
-PKG_HASH:=70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9
-
-HOST_BUILD_DEPENDS:=python/host
-
+PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/s/six
+PKG_HASH:=d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-six-$(PKG_VERSION)
 
+PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>, Alexandru Ardelean <ardeleanalex@gmail.com>
 PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=LICENSE
-PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>, Alexandru Ardelean <ardeleanalex@gmail.com>
+
+HOST_BUILD_DEPENDS:=python/host
 
 include $(INCLUDE_DIR)/host-build.mk
 include $(INCLUDE_DIR)/package.mk
@@ -35,7 +34,7 @@ define Package/python-six/Default
   SECTION:=lang
   CATEGORY:=Languages
   SUBMENU:=Python
-  URL:=https://pypi.python.org/pypi/six
+  URL:=https://github.com/benjaminp/six
 endef
 
 define Package/python-six
index ecb34f7d9428b31b5fd0fefafaac0f056df4572e..2f75f493dea9bc538c374aace5bf6be1b6785398 100644 (file)
@@ -9,12 +9,12 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=tcl
 TCL_MAJOR_VERSION:=8.6
-PKG_VERSION:=${TCL_MAJOR_VERSION}.8
+PKG_VERSION:=${TCL_MAJOR_VERSION}.9
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)$(PKG_VERSION)-src.tar.gz
 PKG_SOURCE_URL:=@SF/$(PKG_NAME)
-PKG_HASH:=c43cb0c1518ce42b00e7c8f6eaddd5195c53a98f94adc717234a65cbcfd3f96a
+PKG_HASH:=ad0cd2de2c87b9ba8086b43957a0de3eb2eb565c7159d5f53ccbba3feb915f4e
 PKG_LICENSE:=TCL
 PKG_LICENSE_FILES:=license.terms
 PKG_MAINTAINER:=Joe Mistachkin <joe@mistachkin.com>
@@ -34,7 +34,7 @@ define Package/tcl
   CATEGORY:=Languages
   DEPENDS:=+libpthread +zlib
   TITLE:=The Tcl language
-  URL:=http://www.tcl.tk/
+  URL:=https://www.tcl.tk/
 endef
 
 define Package/tcl/description
index 40d50a543b272d1ee0de3ce0a7003a48f603e8f5..749a0a73e4184c75610b4115b663dae6959d6b92 100644 (file)
@@ -42,6 +42,10 @@ define Package/alsa-lib/description
  You must have enabled the ALSA support in the kernel.
 endef
 
+define Package/alsa-lib/conffiles
+/etc/asound.conf
+endef
+
 TARGET_CFLAGS += $(FPIC)
 
 CONFIGURE_ARGS+= \
index 7434579b86c9956b007b08af0507463ab2ba708d..35599b90b1dfca1a245a1933e621081a346b7afe 100644 (file)
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=boost
-PKG_VERSION:=1.68.0
-PKG_SOURCE_VERSION:=1_68_0
-PKG_RELEASE:=4
+PKG_VERSION:=1.69.0
+PKG_SOURCE_VERSION:=1_69_0
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)_$(PKG_SOURCE_VERSION).tar.bz2
 PKG_SOURCE_URL:=@SF/$(PKG_NAME)/$(PKG_NAME)/$(PKG_VERSION) https://dl.bintray.com/boostorg/release/$(PKG_VERSION)/source/
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)_$(PKG_SOURCE_VERSION)
 HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)_$(PKG_SOURCE_VERSION)
-PKG_HASH:=7f6130bc3cf65f56a618888ce9d5ea704fa10b462be126ad053e80e553d6d8b7
+PKG_HASH:=8f32d4617390d1c2d16f26a27ab60d97807b35440d45891fa340fc2648b04406
 PKG_LICENSE:=Boost Software License <http://www.boost.org/users/license.html>
 PKG_MAINTAINER:=Carlos M. Ferreira <carlosmf.pt@gmail.com>
 
@@ -38,7 +38,7 @@ define Package/boost/Default
 endef
 
 define Package/boost/description
-This package provides the Boost v1.68.0 libraries.
+This package provides the Boost v1.69.0 libraries.
 Boost is a set of free, peer-reviewed, portable C++ source libraries.
 
 -----------------------------------------------------------------------------
@@ -76,7 +76,6 @@ This package provides the following run-time libraries:
  - random
  - regex
  - serialization and wserialization
- - signals
  - stackstrace
  - system
  - thread
@@ -85,7 +84,7 @@ This package provides the following run-time libraries:
  - wave
 
 There are many more header-only libraries supported by Boost.
-See more at http://www.boost.org/doc/libs/1_67_0/
+See more at http://www.boost.org/doc/libs/1_69_0/
 endef
 
 PKG_BUILD_DEPENDS:=boost/host PACKAGE_python:python PACKAGE_python3:python3
@@ -129,6 +128,35 @@ define Package/boost/config
                depends on PACKAGE_boost
                comment "Boost compilation options."
 
+               choice
+                       prompt "Compile Visibility."
+                               default boost-compile-visibility-hidden
+                               help
+                                       Choose Boost symbols compilation visibility.
+                                       -> Global:
+                                               - a.k.a. "default" in gcc documentation. Global symbols are considered public,
+                                                they are exported from shared libraries and can be redefined by another
+                                                shared library or executable.
+                                       -> Protected:
+                                               - a.k.a. "symbolic". Protected symbols are exported from shared libraries but
+                                                cannot be redefined by another shared library or executable. This mode is
+                                                not supported on some platforms, for example OS X.
+                                       -> Hidden:
+                                               - Hidden symbols are not exported from shared libraries and cannot be 
+                                                redefined by a different shared library or executable loaded in a process.
+                                                In this mode, public symbols have to be explicitly marked in the source code
+                                                to be exported from shared libraries. This is the recommended mode.
+
+                       config boost-compile-visibility-global
+                               bool "Global"
+                       
+                       config boost-compile-visibility-protected
+                               bool "Protected"
+                       
+                       config boost-compile-visibility-hidden
+                               bool "Hidden"
+               endchoice
+
                choice
                        prompt "Compile Boost libraries."
                                default boost-static-and-shared-libs
@@ -326,7 +354,6 @@ $(eval $(call DefineBoostLibrary,random,system,))
 $(eval $(call DefineBoostLibrary,regex,,))
 $(eval $(call DefineBoostLibrary,serialization,,))
 $(eval $(call DefineBoostLibrary,wserialization,serialization,))
-$(eval $(call DefineBoostLibrary,signals,,))
 $(eval $(call DefineBoostLibrary,stacktrace,,))
 $(eval $(call DefineBoostLibrary,system,,))
 $(eval $(call DefineBoostLibrary,thread,system chrono atomic,))
@@ -374,6 +401,9 @@ define Build/Compile
                        --ignore-site-config \
                        --toolset=gcc-$(ARCH) abi=$(BOOST_ABI) \
                        --disable-long-double \
+                       $(if $(CONFIG_boost-compile-visibility-global), visibility=global,) \
+                       $(if $(CONFIG_boost-compile-visibility-protected), visibility=protected,) \
+                       $(if $(CONFIG_boost-compile-visibility-hidden), visibility=hidden,) \
                        $(if $(CONFIG_boost-variant-release), variant=release,) \
                        $(if $(CONFIG_boost-variant-debug), variant=debug,) \
                        $(if $(CONFIG_boost-variant-profile), variant=profile,) \
index afa66dfc01c4dc2945ebc2bdae3b23ee3f1da311..293ffebe6c1eb7457cd5c28581b4d06278e7e517 100644 (file)
@@ -1,6 +1,4 @@
 #
-# Copyright (C) 2007-2011 OpenWrt.org
-#
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
 #
@@ -8,17 +6,20 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=fcgi
-PKG_VERSION:=2.4.0
+PKG_VERSION:=2.4.1
 PKG_RELEASE:=1
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://www.fastcgi.com/dist/
-PKG_HASH:=66fc45c6b36a21bf2fbbb68e90f780cc21a9da1fffbae75e76d2b4402d3f05b9
-
-PKG_FIXUP:=libtool-ucxx
+PKG_SOURCE:=$(PKG_NAME)2-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/FastCGI-Archives/fcgi2/tar.gz/$(PKG_VERSION)?
+PKG_HASH:=53cc36624bb92a88e3d5a3d696282e1af24b280c3f275604123d9c6d407173e2
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)2-$(PKG_VERSION)
 
 PKG_MAINTAINER:=Jacob Siverskog <jacob@teenageengineering.com>
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE.TERMS
 
+PKG_FIXUP:=autoreconf
+PKG_BUILD_PARALLEL:=1
 PKG_INSTALL:=1
 
 include $(INCLUDE_DIR)/uclibc++.mk
@@ -27,13 +28,13 @@ include $(INCLUDE_DIR)/package.mk
 define Package/fcgi/Default
   SECTION:=libs
   CATEGORY:=Libraries
-  URL:=http://www.fastcgi.com/
+  URL:=https://fastcgi-archives.github.io/
 endef
 
 define Package/fcgi
   $(call Package/fcgi/Default)
   MENU:=1
-  DEPENDS:= +libpthread
+  DEPENDS:=+libpthread
   TITLE:=Shared library of FastCGI
 endef
 
@@ -49,15 +50,6 @@ define Package/fcgi/description
  server specific APIs.
 endef
 
-TARGET_CFLAGS += $(FPIC)
-
-CONFIGURE_ARGS += \
-       --enable-shared \
-       --enable-static \
-
-CONFIGURE_VARS += \
-       LIBS="-lm" \
-
 define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/include
        $(CP) $(PKG_INSTALL_DIR)/usr/include/fastcgi.h $(1)/usr/include/
index 0fbfbfd227a1ae43e27c0c8c842aa2520ce7ca91..c517551d93646261d1dab3b8198eb3f992702cd6 100644 (file)
@@ -1,8 +1,8 @@
-Index: fcgi-2.4.0/include/fcgio.h
-===================================================================
---- fcgi-2.4.0.orig/include/fcgio.h    2007-07-17 13:30:28.000000000 +0200
-+++ fcgi-2.4.0/include/fcgio.h 2007-07-17 13:30:28.000000000 +0200
-@@ -77,10 +77,10 @@
+diff --git a/include/fcgio.h b/include/fcgio.h
+index 20d222a..92eda3c 100644
+--- a/include/fcgio.h
++++ b/include/fcgio.h
+@@ -77,10 +77,10 @@ protected:
      virtual int sync();
  
      // Remove and return the current character.
@@ -15,22 +15,23 @@ Index: fcgi-2.4.0/include/fcgio.h
  
      // Use a buffer.  The only reasons that a buffer would be useful is
      // to support the use of the unget()/putback() or seek() methods.  Using
-diff -urN fcgi-2.4.0/libfcgi/fcgio.cpp fcgi-2.4.0.new/libfcgi/fcgio.cpp
---- fcgi-2.4.0/libfcgi/fcgio.cpp       2002-02-24 21:12:22.000000000 +0100
-+++ fcgi-2.4.0.new/libfcgi/fcgio.cpp   2007-08-28 11:22:22.000000000 +0200
-@@ -89,7 +89,7 @@
+diff --git a/libfcgi/fcgio.cpp b/libfcgi/fcgio.cpp
+index 5a54c11..e57b622 100644
+--- a/libfcgi/fcgio.cpp
++++ b/libfcgi/fcgio.cpp
+@@ -89,7 +89,7 @@ int fcgi_streambuf::sync()
  }
  
  // uflow() removes the char, underflow() doesn't
 -int fcgi_streambuf::uflow() 
 +std::basic_streambuf<char>::int_type fcgi_streambuf::uflow()
  {
-     int rv = underflow();
-     if (this->bufsize) gbump(1);
-@@ -97,7 +97,7 @@
+     if (this->bufsize)
+     {
+@@ -103,7 +103,7 @@ int fcgi_streambuf::uflow()
+     }
  }
                                
- // Note that the expected behaviour when there is no buffer varies
 -int fcgi_streambuf::underflow()
 +std::basic_streambuf<char>::int_type fcgi_streambuf::underflow()
  {
index 8c14e8ad354ceb330c9a583773632a190e91d74c..dc015b61c10544c026ac5a0062aac4e695cd7982 100644 (file)
@@ -1,8 +1,9 @@
-diff -urN fcgi-2.4.0/Makefile.am fcgi-2.4.0.new/Makefile.am
---- fcgi-2.4.0/Makefile.am     2001-12-22 14:05:39.000000000 +0100
-+++ fcgi-2.4.0.new/Makefile.am 2007-08-28 11:05:10.000000000 +0200
+diff --git a/Makefile.am b/Makefile.am
+index b35f7f3..c34a274 100755
+--- a/Makefile.am
++++ b/Makefile.am
 @@ -4,7 +4,7 @@
- #  $Id: Makefile.am,v 1.7 2001/12/22 13:05:39 robs Exp $
+ #  $Id: Makefile.am,v 1.8 2003/11/02 21:42:47 robs Exp $
  #
  
 -SUBDIRS = libfcgi cgi-fcgi examples include
@@ -10,15 +11,3 @@ diff -urN fcgi-2.4.0/Makefile.am fcgi-2.4.0.new/Makefile.am
  
  include_HEADERS = fcgi_config.h
  
-diff -urN fcgi-2.4.0/Makefile.in fcgi-2.4.0.new/Makefile.in
---- fcgi-2.4.0/Makefile.in     2003-01-19 18:21:15.000000000 +0100
-+++ fcgi-2.4.0.new/Makefile.in 2007-08-28 11:04:55.000000000 +0200
-@@ -93,7 +93,7 @@
- am__quote = @am__quote@
- install_sh = @install_sh@
--SUBDIRS = libfcgi cgi-fcgi examples include
-+SUBDIRS = libfcgi cgi-fcgi include
- include_HEADERS = fcgi_config.h
index 94c789434bd9b0cfb8bc4bc63c12ae7c8ec040e1..404d1d43dd03f010eac85f33b0114ebb0b27885e 100644 (file)
@@ -1,7 +1,7 @@
-Index: fcgi-2.4.0/libfcgi/fcgio.cpp
-===================================================================
---- fcgi-2.4.0.orig/libfcgi/fcgio.cpp  2014-05-15 10:43:15.153971782 +0200
-+++ fcgi-2.4.0/libfcgi/fcgio.cpp       2014-05-15 10:44:44.037974020 +0200
+diff --git a/libfcgi/fcgio.cpp b/libfcgi/fcgio.cpp
+index 5a54c11..9ecca45 100644
+--- a/libfcgi/fcgio.cpp
++++ b/libfcgi/fcgio.cpp
 @@ -23,6 +23,7 @@
  #endif
  
diff --git a/libs/fcgi/patches/200-Convert-AM_INIT_AUTOMAKE-AC_INIT-and-trigger-non-GNU.patch b/libs/fcgi/patches/200-Convert-AM_INIT_AUTOMAKE-AC_INIT-and-trigger-non-GNU.patch
new file mode 100644 (file)
index 0000000..7481f21
--- /dev/null
@@ -0,0 +1,33 @@
+From 78fac26891fe7494355021dbac109b807b8c6d53 Mon Sep 17 00:00:00 2001
+From: Joachim Nilsson <troglobit@gmail.com>
+Date: Mon, 14 May 2018 15:40:43 +0200
+Subject: [PATCH] Convert AM_INIT_AUTOMAKE() --> AC_INIT() and trigger non-GNU
+ project
+
+Converts from old-style configure syntax with AM_INIT_AUTOMAKE to
+AC_INIT and enable "foreign" mode, i.e. non-GNU conformant tree
+to avoid copying in COPYING and other files when autogen.sh runs.
+
+Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
+---
+ configure.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index 2f72645..c5fbc4b 100755
+--- a/configure.in
++++ b/configure.in
+@@ -4,8 +4,8 @@ dnl     This file is an input file used by the GNU "autoconf" program to
+ dnl     generate the file "configure", which is run during the build
+ dnl     to configure the system for the local environment.
+-AC_INIT
+-AM_INIT_AUTOMAKE(fcgi, 2.4.1-SNAP-0910052249)
++AC_INIT(fcgi, 2.4.1-SNAP-0910052249)
++AM_INIT_AUTOMAKE([1.11 foreign])
+ AM_CONFIG_HEADER(fcgi_config.h)
+-- 
+2.20.0
+
index e69cc782c9566f9f10d767b0dacaaeaebe2bb542..426aa1e3ad23120025cd30f3398aefd18b676bf3 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=glib2
-PKG_VERSION:=2.58.1
-PKG_RELEASE:=2
+PKG_VERSION:=2.58.2
+PKG_RELEASE:=1
 
 PKG_SOURCE:=glib-$(PKG_VERSION).tar.xz
 PKG_BUILD_DIR:=$(BUILD_DIR)/glib-$(PKG_VERSION)
 PKG_SOURCE_URL:=@GNOME/glib/2.58
-PKG_HASH:=97d6a9d926b6aa3dfaadad3077cfb43eec74432ab455dff14250c769d526d7d6
+PKG_HASH:=c7b24ed6536f1a10fc9bce7994e55c427b727602e78342821f1f07fb48753d4b
 
 PKG_BUILD_PARALLEL:=1
 HOST_BUILD_PARALLEL:=1
index 4d677dc74bd9b8c305fafa53faee10307a967d87..e4806441ff1a2e4dcd0e00c760ea8db24eb57ce9 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ibrcommon
 PKG_VERSION:=1.0.1
-PKG_RELEASE:=4
+PKG_RELEASE:=5
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.ibr.cs.tu-bs.de/projects/ibr-dtn/releases
@@ -20,12 +20,13 @@ PKG_LICENSE:=Apache-2.0
 PKG_INSTALL:=1
 PKG_FIXUP:=libtool
 
+include $(INCLUDE_DIR)/uclibc++.mk
 include $(INCLUDE_DIR)/package.mk
 
 define Package/ibrcommon
   SECTION:=libs
   CATEGORY:=Libraries
-  DEPENDS:=+libstdcpp +libpthread +librt +libnl +libopenssl
+  DEPENDS:=$(CXX_DEPENDS) +libpthread +librt +libnl +libopenssl
   TITLE:=IBR Common C++ Library
 endef
 
index 99ab4789c7f407b59f5d48ffc813553d98cb9ff6..cea5132980bc4df7619e34c5139d636cea449365 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=jansson
-PKG_VERSION:=2.11
+PKG_VERSION:=2.12
 PKG_RELEASE:=1
 PKG_LICENSE:=MIT
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=http://www.digip.org/jansson/releases/
-PKG_HASH:=783132e2fc970feefc2fa54199ef65ee020bd8e0e991a78ea44b8586353a0947
+PKG_HASH:=645d72cc5dbebd4df608d33988e55aa42a7661039e19a379fcbe5c79d1aee1d2
 
 PKG_INSTALL:=1
 PKG_BUILD_PARALLEL:=1
index 41754463484a5337d2d71e28be00b4e24c19b5a3..6dd0af355f0fdd75bdd464a5cf6907983c69e284 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=audiofile
 PKG_VERSION:=0.3.6
-PKG_RELEASE:=4
+PKG_RELEASE:=5
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@GNOME/$(PKG_NAME)/0.3
@@ -18,6 +18,7 @@ PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
 PKG_FIXUP:=autoreconf
 PKG_INSTALL=1
 
+include $(INCLUDE_DIR)/uclibc++.mk
 include $(INCLUDE_DIR)/package.mk
 
 define Package/libaudiofile
@@ -25,7 +26,7 @@ define Package/libaudiofile
   CATEGORY:=Libraries
   TITLE:=Audio File library
   URL:=http://audiofile.68k.org/
-  DEPENDS:=+libflac +libstdcpp
+  DEPENDS:=$(CXX_DEPENDS) +libflac
 endef
 
 define Package/libaudiofile/description
index 5a061f91f33bdec6df4de58520bb37cd513eaecf..2f345ffcffebae1dcca87393f2bfc688a8764d87 100644 (file)
@@ -8,15 +8,16 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libdouble-conversion
-PKG_VERSION:=2.0
+PKG_VERSION:=3.1.1
 PKG_RELEASE:=1
 
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_VERSION:=0d25506a2e7fb52928963313343e0237e890059e
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_MIRROR_HASH:=7466f634421f3136174cbc2b00635788509a3312894de28367f31d891fd401ad
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_URL:=https://github.com/google/double-conversion.git
+PKG_SOURCE:=double-conversion-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/google/double-conversion/tar.gz/v$(PKG_VERSION)?
+PKG_HASH:=c49a6b3fa9c917f827b156c8e0799ece88ae50440487a99fc2f284cfd357a5b9
+PKG_BUILD_DIR:=$(BUILD_DIR)/double-conversion-$(PKG_VERSION)
+
+PKG_MAINTAINER:=
+PKG_LICENSE:=BSD-3c
 PKG_LICENSE_FILES:=COPYING LICENSE
 
 include $(INCLUDE_DIR)/package.mk
@@ -32,7 +33,7 @@ endef
 
 define Package/libdouble-conversion/description
   double-conversion provides binary-decimal and decimal-binary routines for IEEE doubles.
-  
+
   The library consists of efficient conversion routines that have been extracted
   from the V8 JavaScript engine. The code has been refactored and improved so that
   it can be used more easily in other projects.
index b27435a253f5d51c7ae04bfc7c7f1cbdfd609c24..93b31a54dace66bf27564bdf87f4f085a370ecaa 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libedit
-PKG_VERSION:=20170329-3.1
+PKG_VERSION:=20181209-3.1
 PKG_RELEASE:=1
 
 PKG_MAINTAINER:=Daniel Salzman <daniel.salzman@nic.cz>
@@ -16,7 +16,7 @@ PKG_LICENSE:=BSD-3-Clause
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://thrysoee.dk/editline/
-PKG_HASH:=91f2d90fbd2a048ff6dad7131d9a39e690fd8a8fd982a353f1333dd4017dd4be
+PKG_HASH:=2811d70c0b000f2ca91b7cb1a37203134441743c4fcc9c37b0b687f328611064
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
 PKG_INSTALL:=1
index cb580f159ec779c42d2b08cb41fdeb2758958b8a..3180f3bc8ff50ae62e150f191856bb11e47d9892 100644 (file)
@@ -8,12 +8,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libgpg-error
-PKG_VERSION:=1.32
+PKG_VERSION:=1.33
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://www.gnupg.org/ftp/gcrypt/libgpg-error/
-PKG_HASH:=c345c5e73cc2332f8d50db84a2280abfb1d8f6d4f1858b9daa30404db44540ca
+PKG_HASH:=5d38826656e746c936e7742d9cde072b50baa3c4c49daa168a56813612bf03ff
+
+PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
 PKG_LICENSE:=LGPL-2.1+
 PKG_LICENSE_FILES:=COPYING
 
@@ -29,7 +31,6 @@ define Package/libgpg-error
   CATEGORY:=Libraries
   TITLE:=GnuPG error handling helper library
   URL:=http://www.gnupg.org/related_software/libgpg-error/
-  MAINTAINER:=W. Michael Petullo <mike@flyn.org>
 endef
 
 define Package/libgpg-error/description
index 076ab3998a087bb2bb4f4229cd64021e39839622..d19c7f936d9a7d3e4021e2afcdd515aec32f7569 100644 (file)
@@ -1,7 +1,6 @@
-diff -u --recursive libgpg-error-1.32-vanilla/configure.ac libgpg-error-1.32/configure.ac
---- libgpg-error-1.32-vanilla/configure.ac     2018-07-15 01:23:30.028462129 -0400
-+++ libgpg-error-1.32/configure.ac     2018-07-15 01:25:32.214267179 -0400
-@@ -74,6 +74,18 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -74,6 +74,18 @@ AM_SILENT_RULES
  AC_CANONICAL_HOST
  AB_INIT
  
index 85a626ead74f255aa058afb86d14895ca06d4c8d..6d260aa753df0c43176ef286ac3a6deb8574fadc 100644 (file)
@@ -8,22 +8,24 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libndpi
-PKG_VERSION:=2.4
-PKG_RELEASE:=4
+PKG_VERSION:=2.6
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/ntop/nDPI/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=5243e16b1c4a2728e9487466b2b496d8ffef18a44ff7ee6dfdc21e72008c6d29
+PKG_HASH:=efdfb68940385b18079920330528978765dc2a90c8163d10f63301bddadbf91e
 PKG_BUILD_DIR:=$(BUILD_DIR)/nDPI-$(PKG_VERSION)
 
 PKG_MAINTAINER:=Banglang Huang <banglang.huang@foxmail.com>
 PKG_LICENSE:=LGPLv3
+PKG_LICENSE_FILES:=COPYING
 
 PKG_FIXUP:=autoreconf
 PKG_BUILD_DEPENDS:=libpcap
 PKG_BUILD_PARALLEL:=1
 PKG_INSTALL:=1
 
+include $(INCLUDE_DIR)/uclibc++.mk
 include $(INCLUDE_DIR)/package.mk
 
 define Package/libndpi
@@ -31,7 +33,7 @@ define Package/libndpi
   CATEGORY:=Libraries
   TITLE:=Library for deep-packet inspection
   URL:=https://github.com/ntop/nDPI
-  DEPENDS:=+libpcap +libjson-c
+  DEPENDS:=$(CXX_DEPENDS) +libpcap +libjson-c
 endef
 
 define Package/libndpi/description
@@ -57,7 +59,7 @@ define Build/InstallDev
 
        $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
        $(CP) \
-               $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libndpi.pc \
+               $(PKG_INSTALL_DIR)/usr/libdata/pkgconfig/libndpi.pc \
                $(1)/usr/lib/pkgconfig/
 endef
 
@@ -68,7 +70,7 @@ define Package/libndpi/install
                $(1)/usr/lib/
        $(INSTALL_DIR) $(1)/usr/bin/
        $(CP) \
-               $(PKG_INSTALL_DIR)/usr/bin/ndpiReader \
+               $(PKG_INSTALL_DIR)/usr/local/bin/ndpiReader \
                $(1)/usr/bin/
 endef
 
diff --git a/libs/libndpi/patches/0001-Move-the-configure-include-file-inclusion-and-code-d.patch b/libs/libndpi/patches/0001-Move-the-configure-include-file-inclusion-and-code-d.patch
deleted file mode 100644 (file)
index 0bb84fd..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-From 91ac4e4beed953fc9d2185ca2e6813dde47e8d5a Mon Sep 17 00:00:00 2001
-From: Guido Falsi <mad@madpilot.net>
-Date: Mon, 27 Aug 2018 17:52:56 +0200
-Subject: [PATCH 1/9] Move the configure include file inclusion and code
- depending on it in code protected by the NDPI_LIB_COMPILATION define, this
- should avoid it polluting the environment when including this file from
- ntopng, version against stable branch.
-
----
- src/include/ndpi_typedefs.h | 15 ++++++++++-----
- src/lib/ndpi_main.c         |  7 -------
- 2 files changed, 10 insertions(+), 12 deletions(-)
-
-diff --git a/src/include/ndpi_typedefs.h b/src/include/ndpi_typedefs.h
-index 6a61b44..386b217 100644
---- a/src/include/ndpi_typedefs.h
-+++ b/src/include/ndpi_typedefs.h
-@@ -26,9 +26,6 @@
- #include "ndpi_define.h"
--/* Needed to have access to HAVE_* defines */
--#include "ndpi_config.h"
--
- /* NDPI_LOG_LEVEL */
- typedef enum {
-   NDPI_LOG_ERROR,
-@@ -854,7 +851,17 @@ typedef struct ndpi_proto {
- #define NUM_CUSTOM_CATEGORIES      5
- #define CUSTOM_CATEGORY_LABEL_LEN 32
-+#ifdef NDPI_LIB_COMPILATION
-+
-+/* Needed to have access to HAVE_* defines */
-+#include "ndpi_define.h"
-+
- #ifdef HAVE_HYPERSCAN
-+struct hs {
-+  hs_database_t *database;
-+  hs_scratch_t  *scratch;
-+};
-+
- struct hs_list {
-   char *expression;
-   unsigned int id;
-@@ -862,8 +869,6 @@ struct hs_list {
- };
- #endif
--#ifdef NDPI_LIB_COMPILATION
--
- struct ndpi_detection_module_struct {
-   NDPI_PROTOCOL_BITMASK detection_bitmask;
-   NDPI_PROTOCOL_BITMASK generic_http_packet_bitmask;
-diff --git a/src/lib/ndpi_main.c b/src/lib/ndpi_main.c
-index b002126..8061aa1 100644
---- a/src/lib/ndpi_main.c
-+++ b/src/lib/ndpi_main.c
-@@ -51,13 +51,6 @@
- #include <hs/hs.h>
- #endif
--#ifdef HAVE_HYPERSCAN
--struct hs {
--  hs_database_t *database;
--  hs_scratch_t  *scratch;
--};
--#endif
--
- #define NDPI_CONST_GENERIC_PROTOCOL_NAME  "GenericProtocol"
- static int _ndpi_debug_callbacks = 0;
--- 
-2.19.1
-
diff --git a/libs/libndpi/patches/0002-Fixes-600.patch b/libs/libndpi/patches/0002-Fixes-600.patch
deleted file mode 100644 (file)
index 84bd7dc..0000000
+++ /dev/null
@@ -1,286 +0,0 @@
-From 6be5188ff93780a7f2acd48f41c4ac1846597091 Mon Sep 17 00:00:00 2001
-From: Luca <deri@ntop.org>
-Date: Tue, 11 Sep 2018 10:02:34 +0300
-Subject: [PATCH 2/9] Fixes #600 Backport of recent fixes (e.g. #601)
-
----
- Makefile.am                        |  5 ++-
- autogen.sh                         |  2 +-
- configure.seed                     | 13 +++++--
- src/lib/Makefile                   | 26 --------------
- src/lib/Makefile.in                | 54 ++++++++++++++++++++++++++++++
- src/lib/ndpi_main.c                |  2 --
- src/lib/protocols/ssl.c            | 36 ++++++++++++++------
- src/lib/third_party/include/hash.h |  1 +
- 8 files changed, 94 insertions(+), 45 deletions(-)
- delete mode 100644 src/lib/Makefile
- create mode 100644 src/lib/Makefile.in
-
-diff --git a/Makefile.am b/Makefile.am
-index 17c6748..37f0849 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -1,8 +1,7 @@
- ACLOCAL_AMFLAGS = -I m4
--
- SUBDIRS = src/lib example tests
--pkgconfigdir = $(libdir)/pkgconfig
-+pkgconfigdir = $(prefix)/libdata/pkgconfig
- pkgconfig_DATA = libndpi.pc
--EXTRA_DIST = libndpi.sym autogen.sh
-+EXTRA_DIST = autogen.sh
-diff --git a/autogen.sh b/autogen.sh
-index 6596b2f..efeffc4 100755
---- a/autogen.sh
-+++ b/autogen.sh
-@@ -5,7 +5,7 @@ NDPI_MINOR="4"
- NDPI_PATCH="0"
- NDPI_VERSION_SHORT="$NDPI_MAJOR.$NDPI_MINOR.$NDPI_PATCH"
--rm -f configure config.h config.h.in src/lib/Makefile.in
-+rm -f configure config.h config.h.in
- AUTOCONF=$(command -v autoconf)
- AUTOMAKE=$(command -v automake)
-diff --git a/configure.seed b/configure.seed
-index 6b85c66..8f8817f 100644
---- a/configure.seed
-+++ b/configure.seed
-@@ -10,6 +10,7 @@ AC_PROG_CC
- AM_PROG_CC_C_O
- AX_PTHREAD
-+NDPI_VERSION_SHORT="@NDPI_VERSION_SHORT@"
- NDPI_MAJOR="@NDPI_MAJOR@"
- NDPI_MINOR="@NDPI_MINOR@"
- NDPI_PATCH="@NDPI_PATCH@"
-@@ -51,11 +52,16 @@ else
-      AC_CHECK_LIB([numa], [numa_available], [LIBNUMA="-lnuma"])
- fi
--
-+if test -z `which clang`; then
-+CC=gcc
-+else
-+CC=clang
-+fi
-+ 
- HS_LIB=
- HS_INC=
--AC_ARG_WITH(hyperscan,          [  --with-hyperscan          Enable nDPI build with Intel Hyperscan])
-+AC_ARG_WITH(hyperscan,          [  --with-hyperscan        Enable nDPI build with Intel Hyperscan])
- if test "${with_hyperscan+set}" = set; then
-      BKP=$LIBS
-@@ -127,12 +133,13 @@ AC_ARG_ENABLE([debug-messages],
- AC_CHECK_LIB(pthread, pthread_setaffinity_np, AC_DEFINE_UNQUOTED(HAVE_PTHREAD_SETAFFINITY_NP, 1, [libc has pthread_setaffinity_np]))
--AC_CONFIG_FILES([Makefile example/Makefile tests/Makefile libndpi.pc src/include/ndpi_define.h])
-+AC_CONFIG_FILES([Makefile example/Makefile tests/Makefile libndpi.pc src/include/ndpi_define.h src/lib/Makefile])
- AC_CONFIG_HEADERS(src/include/ndpi_config.h)
- AC_SUBST(GIT_RELEASE)
- AC_SUBST(NDPI_MAJOR)
- AC_SUBST(NDPI_MINOR)
- AC_SUBST(NDPI_PATCH)
-+AC_SUBST(NDPI_VERSION_SHORT)
- AC_SUBST(SVN_DATE)
- AC_SUBST(JSON_C_LIB)
- AC_SUBST(PCAP_INC)
-diff --git a/src/lib/Makefile b/src/lib/Makefile
-deleted file mode 100644
-index 19c6f1c..0000000
---- a/src/lib/Makefile
-+++ /dev/null
-@@ -1,26 +0,0 @@
--#
--# Simple non-autotools dependent makefile
--#
--# ./autogen.sh
--# cd src/lib
--# make -f Makefile.simple
--#
--CFLAGS += -fPIC -DPIC -I../include -Ithird_party/include -DNDPI_LIB_COMPILATION -g
--RANLIB  = ranlib
--
--OBJECTS = $(patsubst protocols/%.c, protocols/%.o, $(wildcard protocols/*.c)) $(patsubst third_party/src/%.c, third_party/src/%.o, $(wildcard third_party/src/*.c)) ndpi_main.o
--HEADERS = $(wildcard ../include/*.h)
--
--all: libndpi.a
--
--ndpi_main.c: ndpi_content_match.c.inc
--
--libndpi.a: $(OBJECTS)
--         ar rc $@ $(OBJECTS)
--         $(RANLIB) $@        
--
--%.o: %.c $(HEADERS) Makefile
--      $(CC) $(CFLAGS) -c $< -o $@
--
--clean:
--      /bin/rm -f libndpi.a $(OBJECTS)
-diff --git a/src/lib/Makefile.in b/src/lib/Makefile.in
-new file mode 100644
-index 0000000..ca29001
---- /dev/null
-+++ b/src/lib/Makefile.in
-@@ -0,0 +1,54 @@
-+#
-+# Simple non-autotools dependent makefile
-+#
-+# ./autogen.sh
-+# cd src/lib
-+# make Makefile
-+#
-+
-+
-+#
-+# Installation directories
-+#
-+prefix     = /usr/local
-+libdir     = ${prefix}/lib
-+includedir = ${prefix}/include/ndpi
-+CC         = @CC@
-+CFLAGS     += -fPIC -DPIC -I../include -Ithird_party/include -DNDPI_LIB_COMPILATION -O2 # -g
-+RANLIB     = ranlib
-+
-+OBJECTS   = $(patsubst protocols/%.c, protocols/%.o, $(wildcard protocols/*.c)) $(patsubst third_party/src/%.c, third_party/src/%.o, $(wildcard third_party/src/*.c)) ndpi_main.o
-+HEADERS   = $(wildcard ../include/*.h)
-+NDPI_LIB_STATIC      = libndpi.a
-+NDPI_LIB_SHARED_BASE = libndpi.so
-+NDPI_LIB_SHARED      = $(NDPI_LIB_SHARED_BASE).@NDPI_VERSION_SHORT@
-+NDPI_LIBS            = $(NDPI_LIB_STATIC) $(NDPI_LIB_SHARED)
-+
-+ifeq ($(OS),Darwin)
-+CC=clang
-+endif
-+
-+all: $(NDPI_LIBS)
-+
-+ndpi_main.c: ndpi_content_match.c.inc
-+
-+$(NDPI_LIB_STATIC): $(OBJECTS)
-+         ar rc $@ $(OBJECTS)
-+         $(RANLIB) $@        
-+
-+$(NDPI_LIB_SHARED): $(OBJECTS)
-+      $(CC) -shared -fPIC -o $@ $(OBJECTS)
-+      ln -Fs $(NDPI_LIB_SHARED) $(NDPI_LIB_SHARED_BASE)
-+
-+%.o: %.c $(HEADERS) Makefile
-+      $(CC) $(CFLAGS) -c $< -o $@
-+
-+clean:
-+      /bin/rm -f $(NDPI_LIB_STATIC) $(OBJECTS) *.o *.so *.lo
-+
-+install: $(NDPI_LIBS)
-+      mkdir -p $(DESTDIR)$(libdir)
-+      cp $(NDPI_LIBS) $(DESTDIR)$(libdir)/
-+      ln -Fs $(DESTDIR)$(libdir)/$(NDPI_LIB_SHARED) $(DESTDIR)$(libdir)/$(NDPI_LIB_SHARED_BASE)
-+      mkdir -p $(DESTDIR)$(includedir)
-+      cp ../include/*.h $(DESTDIR)$(includedir)
-diff --git a/src/lib/ndpi_main.c b/src/lib/ndpi_main.c
-index 8061aa1..540e158 100644
---- a/src/lib/ndpi_main.c
-+++ b/src/lib/ndpi_main.c
-@@ -43,9 +43,7 @@
- #include "ndpi_content_match.c.inc"
- #include "third_party/include/ndpi_patricia.h"
--#include "third_party/src/ndpi_patricia.c"
- #include "third_party/include/hash.h"
--#include "third_party/src/hash.c"
- #ifdef HAVE_HYPERSCAN
- #include <hs/hs.h>
-diff --git a/src/lib/protocols/ssl.c b/src/lib/protocols/ssl.c
-index b8c3697..59aedcb 100644
---- a/src/lib/protocols/ssl.c
-+++ b/src/lib/protocols/ssl.c
-@@ -27,7 +27,7 @@
- #include "ndpi_api.h"
--/* #define CERTIFICATE_DEBUG 1 */
-+// #define CERTIFICATE_DEBUG 1
- #define NDPI_MAX_SSL_REQUEST_SIZE 10000
- /* Skype.c */
-@@ -246,28 +246,43 @@ int getSSLcertificate(struct ndpi_detection_module_struct *ndpi_struct,
-               u_int16_t compression_len;
-               u_int16_t extensions_len;
--              compression_len = packet->payload[offset+1];
--              offset += compression_len + 3;
-+              offset++;
-+              compression_len = packet->payload[offset];
-+              offset++;
-+              
-+#ifdef CERTIFICATE_DEBUG
-+              printf("SSL [compression_len: %u]\n", compression_len);
-+#endif
-+
-+              // offset += compression_len + 3;
-+              offset += compression_len;
-               if(offset < total_len) {
--                extensions_len = packet->payload[offset];
-+                extensions_len = ntohs(*((u_int16_t*)&packet->payload[offset]));
-+                offset += 2;
-+                
-+#ifdef CERTIFICATE_DEBUG
-+                printf("SSL [extensions_len: %u]\n", extensions_len);
-+#endif
--                if((extensions_len+offset) < total_len) {
-+                if((extensions_len+offset) <= total_len) {
-                   /* Move to the first extension
-                      Type is u_int to avoid possible overflow on extension_len addition */
--                  u_int extension_offset = 1;
-+                  u_int extension_offset = 0;
-                   while(extension_offset < extensions_len) {
-                     u_int16_t extension_id, extension_len;
--                    memcpy(&extension_id, &packet->payload[offset+extension_offset], 2);
-+                    extension_id = ntohs(*((u_int16_t*)&packet->payload[offset+extension_offset]));
-                     extension_offset += 2;
--                    memcpy(&extension_len, &packet->payload[offset+extension_offset], 2);
-+                    extension_len = ntohs(*((u_int16_t*)&packet->payload[offset+extension_offset]));
-                     extension_offset += 2;
--                    extension_id = ntohs(extension_id), extension_len = ntohs(extension_len);
--
-+#ifdef CERTIFICATE_DEBUG
-+                    printf("SSL [extension_id: %u][extension_len: %u]\n", extension_id, extension_len);
-+#endif
-+                    
-                     if(extension_id == 0) {
-                       u_int begin = 0,len;
-                       char *server_name = (char*)&packet->payload[offset+extension_offset];
-@@ -316,6 +331,7 @@ int sslTryAndRetrieveServerCertificate(struct ndpi_detection_module_struct *ndpi
-   if((packet->payload_packet_len > 9) && (packet->payload[0] == 0x16)) {
-     char certificate[64];
-     int rc;
-+    
-     certificate[0] = '\0';
-     rc = getSSLcertificate(ndpi_struct, flow, certificate, sizeof(certificate));
-     packet->ssl_certificate_num_checks++;
-diff --git a/src/lib/third_party/include/hash.h b/src/lib/third_party/include/hash.h
-index 4f53e5a..2251706 100644
---- a/src/lib/third_party/include/hash.h
-+++ b/src/lib/third_party/include/hash.h
-@@ -25,5 +25,6 @@ extern int ht_hash( hashtable_t *hashtable, char *key );
- extern entry_t *ht_newpair( char *key, u_int16_t value );
- extern void ht_set( hashtable_t *hashtable, char *key, u_int16_t value );
- extern u_int16_t ht_get( hashtable_t *hashtable, char *key );
-+extern void ht_free( hashtable_t *hashtable );
- #endif /* _HASH_H_ */
--- 
-2.19.1
-
diff --git a/libs/libndpi/patches/0003-Fixed-duplicate-protocol-name.-607.patch b/libs/libndpi/patches/0003-Fixed-duplicate-protocol-name.-607.patch
deleted file mode 100644 (file)
index 72777b0..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-From efd8348c3a5ace204410608f1805c9d5899096ab Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?=D0=98=D0=B2=D0=B0=D0=BD=20=D0=A1=D0=BF=D0=B8=D0=BD=D0=B5?=
- =?UTF-8?q?=D0=BD=D0=BA=D0=BE?= <ispinenko@ideco.ru>
-Date: Thu, 13 Sep 2018 18:23:47 +0500
-Subject: [PATCH 3/9] Fixed duplicate protocol name. #607
-
----
- src/lib/ndpi_main.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/lib/ndpi_main.c b/src/lib/ndpi_main.c
-index 540e158..33ccbb1 100644
---- a/src/lib/ndpi_main.c
-+++ b/src/lib/ndpi_main.c
-@@ -1225,7 +1225,7 @@ static void ndpi_init_protocol_defaults(struct ndpi_detection_module_struct *ndp
-                           ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
-     ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_VIDTO,
-                           no_master,
--                          no_master, "PPStream", NDPI_PROTOCOL_CATEGORY_MEDIA,
-+                          no_master, "Vidto", NDPI_PROTOCOL_CATEGORY_MEDIA,
-                           ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
-                           ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
--- 
-2.19.1
-
diff --git a/libs/libndpi/patches/0004-Added-missing-ndpi_protocol2id-prototype.patch b/libs/libndpi/patches/0004-Added-missing-ndpi_protocol2id-prototype.patch
deleted file mode 100644 (file)
index 2dc6297..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-From ba72865f23cd0d52f373573308e0e05c5bd37ba8 Mon Sep 17 00:00:00 2001
-From: Luca Deri <deri@ntop.org>
-Date: Wed, 19 Sep 2018 11:11:15 +0200
-Subject: [PATCH 4/9] Added missing ndpi_protocol2id() prototype Fixed error
- when crearing symlink in Makefile
-
----
- src/include/ndpi_api.h | 15 ++++++++++++++-
- src/lib/Makefile.in    |  2 +-
- 2 files changed, 15 insertions(+), 2 deletions(-)
-
-diff --git a/src/include/ndpi_api.h b/src/include/ndpi_api.h
-index 3fefc8e..56c5436 100644
---- a/src/include/ndpi_api.h
-+++ b/src/include/ndpi_api.h
-@@ -420,7 +420,7 @@ extern "C" {
-                       char *bigram_to_match);
-   /**
--   * Write the protocol name in the buffer -buf- as master_protocol.protocol
-+   * Write the protocol name in the buffer -buf- as master_protocol.protocol (string)
-    *
-    * @par     ndpi_mod      = the detection module
-    * @par     proto         = the struct ndpi_protocol contain the protocols name
-@@ -432,6 +432,19 @@ extern "C" {
-   char* ndpi_protocol2name(struct ndpi_detection_module_struct *ndpi_mod,
-                          ndpi_protocol proto, char *buf, u_int buf_len);
-+  /**
-+   * Write the protocol name in the buffer -buf- as master_protocol.protocol (number)
-+   *
-+   * @par     ndpi_mod      = the detection module
-+   * @par     proto         = the struct ndpi_protocol contain the protocols name
-+   * @par     buf           = the buffer to write the name of the protocols
-+   * @par     buf_len       = the length of the buffer
-+   * @return  the buffer contains the master_protocol and protocol name
-+   *
-+   */
-+  char* ndpi_protocol2id(struct ndpi_detection_module_struct *ndpi_mod,
-+                       ndpi_protocol proto, char *buf, u_int buf_len);
-+
-   /**
-    * Find out if a given category is custom/user-defined
-    *
-diff --git a/src/lib/Makefile.in b/src/lib/Makefile.in
-index ca29001..cbbc54b 100644
---- a/src/lib/Makefile.in
-+++ b/src/lib/Makefile.in
-@@ -38,7 +38,7 @@ $(NDPI_LIB_STATIC): $(OBJECTS)
- $(NDPI_LIB_SHARED): $(OBJECTS)
-       $(CC) -shared -fPIC -o $@ $(OBJECTS)
--      ln -Fs $(NDPI_LIB_SHARED) $(NDPI_LIB_SHARED_BASE)
-+      ln -fs $(NDPI_LIB_SHARED) $(NDPI_LIB_SHARED_BASE)
- %.o: %.c $(HEADERS) Makefile
-       $(CC) $(CFLAGS) -c $< -o $@
--- 
-2.19.1
-
diff --git a/libs/libndpi/patches/0005-Do-not-use-the-available-clang-as-the-default-compil.patch b/libs/libndpi/patches/0005-Do-not-use-the-available-clang-as-the-default-compil.patch
deleted file mode 100644 (file)
index 68edcf4..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-From 54fd7face86f3d5287bc8d0f2633bd13c66498cf Mon Sep 17 00:00:00 2001
-From: Vitaly Lavrov <vel21ripn@gmail.com>
-Date: Sun, 30 Sep 2018 22:49:18 +0300
-Subject: [PATCH 5/9] Do not use the available clang as the default compiler.
- Use the CC environment variable when running autogen.sh and configure.
-
----
- configure.seed | 6 ------
- 1 file changed, 6 deletions(-)
-
-diff --git a/configure.seed b/configure.seed
-index 8f8817f..b150fdb 100644
---- a/configure.seed
-+++ b/configure.seed
-@@ -51,12 +51,6 @@ if test $SHORT_MACHINE = "arm"; then
- else
-      AC_CHECK_LIB([numa], [numa_available], [LIBNUMA="-lnuma"])
- fi
--
--if test -z `which clang`; then
--CC=gcc
--else
--CC=clang
--fi
-  
- HS_LIB=
- HS_INC=
--- 
-2.19.1
-
diff --git a/libs/libndpi/patches/0006-Backported-ndpi_protocol2id.patch b/libs/libndpi/patches/0006-Backported-ndpi_protocol2id.patch
deleted file mode 100644 (file)
index 73b2fe1..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-From 6dcf1f3fbab782804339db5a3fe8cd0c88c07795 Mon Sep 17 00:00:00 2001
-From: lucaderi <deri@ntop.org>
-Date: Thu, 4 Oct 2018 21:36:46 +0200
-Subject: [PATCH 6/9] Backported ndpi_protocol2id
-
----
- src/include/ndpi_api.h | 17 +++++++++++++++--
- src/lib/ndpi_main.c    | 17 +++++++++++++++++
- 2 files changed, 32 insertions(+), 2 deletions(-)
-
-diff --git a/src/include/ndpi_api.h b/src/include/ndpi_api.h
-index 56c5436..ccbad73 100644
---- a/src/include/ndpi_api.h
-+++ b/src/include/ndpi_api.h
-@@ -274,7 +274,7 @@ extern "C" {
-    */
-   u_int16_t ndpi_get_flow_masterprotocol(struct ndpi_detection_module_struct *ndpi_struct,
-                                        struct ndpi_flow_struct *flow);
--  
-+
-   /**
-    * API call that is called internally by ndpi_detection_process_packet or by apps
-    * that want to avoid calling ndpi_detection_process_packet as they have already
-@@ -432,6 +432,19 @@ extern "C" {
-   char* ndpi_protocol2name(struct ndpi_detection_module_struct *ndpi_mod,
-                          ndpi_protocol proto, char *buf, u_int buf_len);
-+  /**
-+   * Same as ndpi_protocol2name() with the difference that the numeric protocol
-+   * name is returned
-+   *
-+   * @par     ndpi_mod      = the detection module
-+   * @par     proto         = the struct ndpi_protocol contain the protocols name
-+   * @par     buf           = the buffer to write the name of the protocols
-+   * @par     buf_len       = the length of the buffer
-+   * @return  the buffer contains the master_protocol and protocol name
-+   *
-+   */
-+  char* ndpi_protocol2id(struct ndpi_detection_module_struct *ndpi_mod,
-+                         ndpi_protocol proto, char *buf, u_int buf_len);
-   /**
-    * Write the protocol name in the buffer -buf- as master_protocol.protocol (number)
-    *
-@@ -746,7 +759,7 @@ extern "C" {
-   u_int ndpi_get_ndpi_num_custom_protocols(struct ndpi_detection_module_struct *ndpi_mod);
-   u_int ndpi_get_ndpi_detection_module_size();
-   void ndpi_set_log_level(struct ndpi_detection_module_struct *ndpi_mod, u_int l);
--  
-+
-   /**
-    * Add a string to match to an automata
-    *
-diff --git a/src/lib/ndpi_main.c b/src/lib/ndpi_main.c
-index 33ccbb1..e1cf577 100644
---- a/src/lib/ndpi_main.c
-+++ b/src/lib/ndpi_main.c
-@@ -5319,6 +5319,23 @@ ndpi_protocol ndpi_guess_undetected_protocol(struct ndpi_detection_module_struct
- /* ****************************************************** */
-+char* ndpi_protocol2id(struct ndpi_detection_module_struct *ndpi_mod,
-+                     ndpi_protocol proto, char *buf, u_int buf_len) {
-+  if((proto.master_protocol != NDPI_PROTOCOL_UNKNOWN)
-+     && (proto.master_protocol != proto.app_protocol)) {
-+    if(proto.app_protocol != NDPI_PROTOCOL_UNKNOWN)
-+      snprintf(buf, buf_len, "%u.%u",
-+               proto.master_protocol, proto.app_protocol);
-+    else
-+      snprintf(buf, buf_len, "%u", proto.master_protocol);
-+  } else
-+    snprintf(buf, buf_len, "%u", proto.app_protocol);
-+
-+  return(buf);
-+}
-+
-+/* ****************************************************** */
-+
- char* ndpi_protocol2name(struct ndpi_detection_module_struct *ndpi_mod,
-                        ndpi_protocol proto, char *buf, u_int buf_len) {
-   if((proto.master_protocol != NDPI_PROTOCOL_UNKNOWN)
--- 
-2.19.1
-
diff --git a/libs/libndpi/patches/0007-Symlink-the-shared-library-to-pwd.patch b/libs/libndpi/patches/0007-Symlink-the-shared-library-to-pwd.patch
deleted file mode 100644 (file)
index 6cde303..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-From a1f6cbb6c9a212b5b3b6605254ae35bead5c43df Mon Sep 17 00:00:00 2001
-From: Hank Leininger <hlein@korelogic.com>
-Date: Mon, 8 Oct 2018 18:17:30 -0600
-Subject: [PATCH 7/9] Symlink the shared library to pwd.
-
-DESTDIR is used, for instance, by distros to facilitate installing
-to a temp path for testing / package-building.
-
-In general nDPI supports DESTDIR (yay!), but using an absolute path
-for the target of the library link has two problems:
-
-1) If DESTDIR is set to /some/tmp/path, we end up with a link that
-points to /some/tmp/path/usr/lib/libndpi-x.y.z, which is definitely
-not what is intended - once the package is installed, the link is
-broken.
-
-2) Absolute links are problematic for distributions; pointing to
-/usr/lib/libndpi-x.y.z during package build-and-test would point to
-either a nonexistent file, or an old and possibly wrong one.
-
-Both of these are avoided if we just link to the target with no path
-at all.
----
- src/lib/Makefile.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/lib/Makefile.in b/src/lib/Makefile.in
-index cbbc54b..dc1e34b 100644
---- a/src/lib/Makefile.in
-+++ b/src/lib/Makefile.in
-@@ -49,6 +49,6 @@ clean:
- install: $(NDPI_LIBS)
-       mkdir -p $(DESTDIR)$(libdir)
-       cp $(NDPI_LIBS) $(DESTDIR)$(libdir)/
--      ln -Fs $(DESTDIR)$(libdir)/$(NDPI_LIB_SHARED) $(DESTDIR)$(libdir)/$(NDPI_LIB_SHARED_BASE)
-+      ln -Fs $(NDPI_LIB_SHARED) $(DESTDIR)$(libdir)/$(NDPI_LIB_SHARED_BASE)
-       mkdir -p $(DESTDIR)$(includedir)
-       cp ../include/*.h $(DESTDIR)$(includedir)
--- 
-2.19.1
-
diff --git a/libs/libndpi/patches/0008-Use-a-more-standard-path-for-pkg-config-files.patch b/libs/libndpi/patches/0008-Use-a-more-standard-path-for-pkg-config-files.patch
deleted file mode 100644 (file)
index e566637..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-From cfd97bbbca6afddb1bcedb407cb21127d7cb5d53 Mon Sep 17 00:00:00 2001
-From: Hank Leininger <hlein@korelogic.com>
-Date: Mon, 8 Oct 2018 19:08:51 -0600
-Subject: [PATCH 8/9] Use a more standard path for pkg-config files.
-
-The Linuxes I've checked all seem to use /usr/{,local/}lib*/pkgconfig,
-not /usr/libdata/.  I think FreeBSD does use /usr/libdata/ but also
-supports /usr/lib*/pkgconfig, although I have not tested this change
-on a FreeBSD system.
----
- Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 37f0849..4090817 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -1,7 +1,7 @@
- ACLOCAL_AMFLAGS = -I m4
- SUBDIRS = src/lib example tests
--pkgconfigdir = $(prefix)/libdata/pkgconfig
-+pkgconfigdir = $(libdir)/pkgconfig
- pkgconfig_DATA = libndpi.pc
- EXTRA_DIST = autogen.sh
--- 
-2.19.1
-
diff --git a/libs/libndpi/patches/0009-Correct-the-include-file-path-in-I-CFLAGS-argument.patch b/libs/libndpi/patches/0009-Correct-the-include-file-path-in-I-CFLAGS-argument.patch
deleted file mode 100644 (file)
index b21027c..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-From b4b7a810697145b718a9a3b6d8a39e700613a640 Mon Sep 17 00:00:00 2001
-From: Hank Leininger <hlein@korelogic.com>
-Date: Mon, 8 Oct 2018 21:22:41 -0600
-Subject: [PATCH 9/9] Correct the include file path in -I CFLAGS argument.
-
-src/lib/Makefile.in install headers into ${prefix}/include/ndpi,
-but the shipped libndpi.pc.in specifies a different path.  Therefore
-anything trying to build using $(pkg-config --cflags libndpi) will
-fail to find the nDPI headers.
-
-This patch simply makes libndpi.pc.in agree with src/lib/Makefile.in.
----
- libndpi.pc.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libndpi.pc.in b/libndpi.pc.in
-index 291429c..5e1cde7 100644
---- a/libndpi.pc.in
-+++ b/libndpi.pc.in
-@@ -7,4 +7,4 @@ Name: libndpi
- Description: deep packet inspection library
- Version: @VERSION@
- Libs: -L${libdir} -lndpi
--Cflags: -I${includedir}/libndpi-@VERSION@
-+Cflags: -I${includedir}/ndpi
--- 
-2.19.1
-
index 1da4e4e708d5eee2692ec94c349d4f0c7e12ed7f..2a0a94c6c72f60f240aa12ac0b597c6bf29e27b8 100644 (file)
@@ -8,16 +8,15 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libpfring
-PKG_VERSION:=7.2.0
-PKG_RELEASE:=2
+PKG_VERSION:=7.4.0
+PKG_RELEASE:=1
 PKG_MAINTAINER:=Banglang Huang <banglang.huang@foxmail.com>
 
 PKG_LICENSE:=LGPL-2.1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/ntop/PF_RING/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=5d349ac37a6ece5966bf606a6f131d628b98d88654c2f502d3c4b8bbf6ef9796
-
+PKG_HASH:=e1c9cb44d8072854220f493c56fa5cba99a6b8336883939dc18b3e30c2954b68
 PKG_BUILD_DIR:=$(BUILD_DIR)/PF_RING-$(PKG_VERSION)
 
 PKG_INSTALL:=1
index 5af3fb9d5cfb1c56f7c611b48aa0bdd21d434775..6cfc6af3b47a8f32a026c73700428027e0c6222b 100644 (file)
@@ -1,7 +1,7 @@
 --- a/userland/configure
 +++ b/userland/configure
-@@ -3745,12 +3745,6 @@ fi
- if test "$IS_FREEBSD" != "1"; then
+@@ -3718,12 +3718,6 @@ fi
+ if test "$IS_FREEBSD" != "1" && test "$cross_compiling" != "yes" ; then
    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if r/w locks are supported" >&5
  $as_echo_n "checking if r/w locks are supported... " >&6; }
 -  if test "$cross_compiling" = yes; then :
@@ -13,7 +13,7 @@
    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  /* end confdefs.h.  */
  
-@@ -3763,7 +3757,7 @@ else
+@@ -3736,7 +3730,7 @@ else
  
  
  _ACEOF
@@ -22,7 +22,7 @@
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  $as_echo "yes" >&6; }
  cat >>confdefs.h <<_ACEOF
-@@ -3777,7 +3771,6 @@ $as_echo "no" >&6; }
+@@ -3750,7 +3744,6 @@ $as_echo "no" >&6; }
  fi
  rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
    conftest.$ac_objext conftest.beam conftest.$ac_ext
index 69bfde71339a32d13b8d291adf32fb4944f5f2fb..b8d6595d86c2cb646adec87b0b8bd200f73eb65e 100644 (file)
@@ -1,16 +1,6 @@
 --- a/userland/configure
 +++ b/userland/configure
-@@ -3296,14 +3296,16 @@ fi
- done
--MACHINE=`uname -m`
-+if test -z "$MACHINE"; then
-+  MACHINE=`uname -m`
-+fi
- CFLAGS=""
- SYS_LIBS=""
+@@ -3291,7 +3291,7 @@ SYS_LIBS=""
  VER=`cat ../kernel/linux/pf_ring.h | grep RING_VERSION | head -1 | cut -d '"' -f 2`
  MAJOR_VER=`cat ../kernel/linux/pf_ring.h | grep RING_VERSION | head -1 | cut -d '"' -f 2 | cut -d '.' -f 1`
  
diff --git a/libs/libpfring/patches/0003-fix-strncpy.patch b/libs/libpfring/patches/0003-fix-strncpy.patch
deleted file mode 100644 (file)
index f42c4e5..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/userland/lib/pfring_mod.c
-+++ b/userland/lib/pfring_mod.c
-@@ -24,6 +24,7 @@
- #include <ifaddrs.h>
- #ifdef ENABLE_BPF
-+#include <string.h>
- #include <pcap/pcap.h>
- #include <pcap/bpf.h>
- #include <pcap-int.h>
diff --git a/libs/libpfring/patches/010-fix-buildbots.patch b/libs/libpfring/patches/010-fix-buildbots.patch
deleted file mode 100644 (file)
index f5f153e..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-diff --git a/userland/nbpf/Makefile.in b/userland/nbpf/Makefile.in
-index b0d8181..8221e41 100644
---- a/userland/nbpf/Makefile.in
-+++ b/userland/nbpf/Makefile.in
-@@ -1,4 +1,4 @@
--LEX = lex
-+LEX = flex
- YACC = bison
- INCLUDE = -I../lib -I../../kernel
- LIBS=`../lib/pfring_config --libs` -lpthread #@NDPI_LIB@
index da46abfe8cf7ef6ceaa7b8b02cdd9e1aa53d7fd5..c136402aa0b3fdebe3906e61615b227845b757ae 100644 (file)
@@ -12,9 +12,9 @@ PKG_RELEASE:=1
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/erikd/libsndfile.git
-PKG_SOURCE_DATE:=2018-11-27
-PKG_SOURCE_VERSION:=b4bd397ca74f4c72b9cabaae66fef0c3d5a8c527
-PKG_MIRROR_HASH:=bbef527d5cdc97ad14ca5337b692b7adf8f725e813ca48b445111669f79f5c5e
+PKG_SOURCE_DATE:=2018-12-24
+PKG_SOURCE_VERSION:=8ddc442d539ca775d80cdbc7af17a718634a743f
+PKG_MIRROR_HASH:=d7be85919067f51c83b74b67ea9e7043710fe009d704aa414ef57c6f48974ae1
 
 PKG_LICENSE:=LGPLv2.1
 PKG_LICENSE_FILES:=COPYING
index 65282ff9f190002222e4a90b26e2528a0d6a2e1c..9a2f51ec7507d5692a68e24e891247d89271c2b9 100644 (file)
@@ -9,7 +9,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=liburcu
-PKG_VERSION:=0.9.4
+PKG_VERSION:=0.9.5
 PKG_RELEASE:=1
 
 PKG_MAINTAINER:=Daniel Salzman <daniel.salzman@nic.cz>
@@ -17,7 +17,7 @@ PKG_LICENSE:=LGPL-2.1 GPL-2.0 GPL-3.0 MIT
 
 PKG_SOURCE:=userspace-rcu-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://lttng.org/files/urcu/
-PKG_HASH:=ec6c909249040dfa59bb34686482b62072ce5477f5e2e2153dac47de50b36b68
+PKG_HASH:=d948250f1b365f052b29a4c017b7d67066c905f6ab529892cc6bc35c503a38a6
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/userspace-rcu-$(PKG_VERSION)
 PKG_BUILD_PARALLEL:=1
index f167e56a1ebbd0258d9fb44f74bed64ea9a5f5f8..8b459642901ee6be8f9557c3219775d4759950a3 100644 (file)
@@ -8,44 +8,72 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=openldap
-PKG_VERSION:=2.4.46
-PKG_RELEASE:=2
+PKG_VERSION:=2.4.47
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tgz
 PKG_SOURCE_URL:=https://gpl.savoirfairelinux.net/pub/mirrors/openldap/openldap-release/ \
        http://mirror.eu.oneandone.net/software/openldap/openldap-release/ \
        http://mirror.switch.ch/ftp/software/mirror/OpenLDAP/openldap-release/ \
        https://www.openldap.org/software/download/OpenLDAP/openldap-release/
-PKG_HASH:=9a90dcb86b99ae790ccab93b7585a31fbcbeec8c94bf0f7ab0ca0a87ea0c4b2d
+PKG_HASH:=f54c5877865233d9ada77c60c0f69b3e0bfd8b1b55889504c650047cc305520b
 PKG_LICENSE:=OLDAP-2.8
 PKG_LICENSE_FILES:=LICENSE
 
 PKG_FIXUP:=autoreconf
 
+PKG_CONFIG_DEPENDS := \
+        CONFIG_OPENLDAP_DEBUG \
+        CONFIG_OPENLDAP_MONITOR \
+        CONFIG_OPENLDAP_DB47 \
+        CONFIG_OPENLDAP_ICU
+
 include $(INCLUDE_DIR)/package.mk
 
-define Package/openldap/Default
-  TITLE:=LDAP implementation
+define Package/libopenldap/Default
+  SECTION:=net
+  CATEGORY:=Network
+  SUBMENU:=OpenLDAP
+  TITLE:=LDAP directory suite
   URL:=http://www.openldap.org/
   MAINTAINER:=W. Michael Petullo <mike@flyn.org>
 endef
 
-define Package/openldap/Default/description
-       OpenLDAP Software is an open source implementation of the
-       Lightweight Directory Access Protocol (LDAP).
-endef
-
 define Package/libopenldap
-  $(call Package/openldap/Default)
-  SECTION:=libs
-  CATEGORY:=Libraries
-  DEPENDS:=+libopenssl +libsasl2 +libpthread
+  $(call Package/libopenldap/Default)
+  MENU:=1
+  DEPENDS:=+libopenssl +libsasl2 +libpthread +OPENLDAP_DB47:libdb47 +OPENLDAP_ICU:icu
   TITLE+= (libraries)
 endef
 
+define Package/libopenldap/config
+  config OPENLDAP_DEBUG
+       bool "Enable debugging information"
+       default y
+       help
+               Enable debugging information. This option must be enabled
+               for the loglevel directive to work.
+  config OPENLDAP_MONITOR
+       bool "Enable monitor backend"
+       default n
+       help
+               Enable monitor backend to obtain information about the running
+               status of the daemon. See OpenLDAP documentation for more
+               information.
+  config OPENLDAP_DB47
+       bool "Berkeley DB support"
+       default n
+       help
+               Enable Berkeley DB support (BDB).
+  config OPENLDAP_ICU
+       bool "ICU support"
+       default n
+       help
+               Enable ICU (International Components for Unicode) support.
+endef
+
 define Package/libopenldap/description
-       $(call Package/openldap/Default/description)
-       This package contains the shared LDAP client libraries, needed by other programs.
+OpenLDAP Software is an open source implementation of the Lightweight Directory Access Protocol (LDAP). This package contains the shared LDAP client libraries, needed by other programs.
 endef
 
 define Package/libopenldap/conffiles
@@ -53,33 +81,28 @@ define Package/libopenldap/conffiles
 endef
 
 define Package/openldap-utils
-  $(call Package/openldap/Default)
-  SECTION:=utils
-  CATEGORY:=Utilities
+  $(call Package/libopenldap/Default)
   DEPENDS:=+libopenldap
   TITLE+= (utilities)
 endef
 
 define Package/openldap-utils/description
-       $(call Package/openldap/Default/description)
-       This package contains client programs required to access LDAP servers.
+This package contains client programs required to access LDAP servers.
 endef
 
 define Package/openldap-server
-  $(call Package/openldap/Default)
-  SECTION:=net
-  CATEGORY:=Network
+  $(call Package/libopenldap/Default)
   DEPENDS:=+libopenldap +libuuid
   TITLE+= (server)
 endef
 
 define Package/openldap-server/description
-       $(call Package/openldap/Default/description)
-       This package contains server programs required to provide LDAP services.
+This package contains server programs required to provide LDAP services.
 endef
 
 define Package/openldap-server/conffiles
 /etc/openldap/slapd.conf
+/etc/init.d/ldap
 endef
 
 TARGET_CFLAGS += $(FPIC) -lpthread \
@@ -88,44 +111,60 @@ TARGET_CFLAGS += $(FPIC) -lpthread \
 CONFIGURE_ARGS += \
        --enable-shared \
        --enable-static \
-       --disable-debug \
        --enable-dynamic \
        --enable-syslog \
-       --disable-local \
-       --disable-slurpd \
        --with-cyrus-sasl \
-       --without-fetch \
        --with-threads \
        --with-tls \
        --with-yielding_select="yes" \
-       --without-threads \
        --enable-null \
-       --disable-bdb \
-       --disable-hdb \
-       --disable-monitor \
        --disable-relay
 
-CONFIGURE_VARS += \
-       ol_cv_lib_icu="no"
+
+ifdef CONFIG_OPENLDAP_MONITOR
+       CONFIGURE_ARGS+= --enable-monitor
+else
+       CONFIGURE_ARGS+= --disable-monitor
+endif
+
+ifdef CONFIG_OPENLDAP_DEBUG
+       CONFIGURE_ARGS+= --enable-debug
+else
+       CONFIGURE_ARGS+= --disable-debug
+endif
+
+ifdef CONFIG_OPENLDAP_DB47
+       CONFIGURE_ARGS+= \
+               --enable-bdb \
+               --enable-hdb
+else
+       CONFIGURE_ARGS+= \
+               --disable-bdb \
+               --disable-hdb
+endif
+
+ifndef CONFIG_OPENLDAP_ICU
+       CONFIGURE_VARS += \
+               ol_cv_lib_icu="no"
+endif
 
 define Build/Compile
        $(MAKE) -C $(PKG_BUILD_DIR) \
                DESTDIR="$(PKG_INSTALL_DIR)" \
                HOSTCC="$(HOSTCC)" \
                depend all install
+       cd $(PKG_BUILD_DIR)/libraries/liblmdb && $(MAKE) $(CONFIGURE_VARS)
 endef
 
 define Build/InstallDev
-       $(INSTALL_DIR) $(1)/usr/include
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/{lber,ldap}*.h $(1)/usr/include/
-       $(INSTALL_DIR) $(1)/usr/lib/
+       $(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/{lber,ldap}*.h $(1)/usr/include/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{lber,ldap}*.{a,so*} $(1)/usr/lib/
 endef
 
 define Package/libopenldap/install
-       $(INSTALL_DIR) $(1)/etc/openldap
-       $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/openldap/ldap.conf $(1)/etc/openldap/
-       $(INSTALL_DIR) $(1)/usr/lib
+       $(INSTALL_DIR) $(1)/etc/openldap $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/etc/openldap/ldap.conf $(1)/etc/openldap/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{lber,ldap}*.so.* $(1)/usr/lib/
 endef
 
@@ -138,15 +177,15 @@ define Package/openldap-server/install
        $(INSTALL_DIR) $(1)/etc/init.d
        $(INSTALL_BIN) ./files/ldap.init $(1)/etc/init.d/ldap
        $(INSTALL_DIR) $(1)/etc/openldap/schema
-       $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/openldap/schema/* $(1)/etc/openldap/schema/
+       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/openldap/schema/* $(1)/etc/openldap/schema/
        $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/openldap/slapd.conf $(1)/etc/openldap/
        $(INSTALL_DIR) $(1)/usr/sbin
-       # XXX: OpenLDAP installs slapd into libexecdir, not sbindir:
+       # NB: OpenLDAP installs slapd into libexecdir, not sbindir
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/slapd $(1)/usr/sbin/
-       # XXX: switch default backend to ldif, since bdb is disabled
-       $(SED) 's|^\(database\)\([ \t]\+\)bdb|\1\2ldif|g' \
-           -e 's|^\(index\)|#\1|g' \
-           $(1)/etc/openldap/slapd.conf
+       $(eval SLAPTOOLS := slapadd slapcat slapdn slapindex slappasswd slaptest slapauth slapacl slapschema)
+       for i in $(SLAPTOOLS); do \
+               $(LN) ./slapd $(1)/usr/sbin/$$$$i; \
+       done
 endef
 
 $(eval $(call BuildPackage,libopenldap))
index 71cdebee70a44dc749d00571867e06cc87ab44da..c6a9ed89eebae88ce87ed0e31e1497e92f51f0f2 100644 (file)
 +SHELL = @SHELL@
 +
  SRCS  = init.c config.c opensock.c search.c bind.c unbind.c add.c \
-               delete.c modify.c modrdn.c compare.c result.c
+               delete.c modify.c modrdn.c compare.c result.c extended.c
  OBJS  = init.lo config.lo opensock.lo search.lo bind.lo unbind.lo add.lo \
 --- a/servers/slapd/back-sql/Makefile.in
 +++ b/servers/slapd/back-sql/Makefile.in
index 2cdce8e5cc3e3fcdfdd047dafdda8f548fbb2724..b3f724f7cc3c5c9b7dfbbee4c73fea75a9cbe698 100644 (file)
@@ -1,16 +1,19 @@
-Index: openldap-2.4.45/build/mkversion
-===================================================================
---- openldap-2.4.45.orig/build/mkversion
-+++ openldap-2.4.45/build/mkversion
-@@ -50,7 +50,6 @@ if test $# != 1 ; then
+--- a/build/mkversion
++++ b/build/mkversion
+@@ -50,12 +50,6 @@ if test $# != 1 ; then
  fi
  
  APPLICATION=$1
--WHOWHERE="$USER@`uname -n`:`pwd`"
+-# Reproducible builds set SOURCE_DATE_EPOCH, want constant strings
+-if [ -n "${SOURCE_DATE_EPOCH}" ]; then
+-   WHOWHERE="openldap"
+-else
+-   WHOWHERE="$USER@$(uname -n):$(pwd)"
+-fi
  
  cat << __EOF__
  /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
-@@ -72,7 +71,6 @@ static const char copyright[] =
+@@ -77,7 +71,6 @@ static const char copyright[] =
  "COPYING RESTRICTIONS APPLY\n";
  
  $static $const char $SYMBOL[] =
diff --git a/libs/openldap/patches/800-openssl-deprecated.patch b/libs/openldap/patches/800-openssl-deprecated.patch
deleted file mode 100644 (file)
index e6b2d86..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-From d7a778004b0e0c7453075f1c7d429537162df436 Mon Sep 17 00:00:00 2001
-From: Howard Chu <hyc@openldap.org>
-Date: Fri, 21 Sep 2018 18:41:20 +0100
-Subject: [PATCH] ITS#8809 add missing includes
-
----
- libraries/libldap/tls_o.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/libraries/libldap/tls_o.c b/libraries/libldap/tls_o.c
-index 010f311d7..99626ec15 100644
---- a/libraries/libldap/tls_o.c
-+++ b/libraries/libldap/tls_o.c
-@@ -43,6 +43,9 @@
- #include <openssl/err.h>
- #include <openssl/rand.h>
- #include <openssl/safestack.h>
-+#include <openssl/bn.h>
-+#include <openssl/rsa.h>
-+#include <openssl/dh.h>
- #elif defined( HAVE_SSL_H )
- #include <ssl.h>
- #endif
--- 
-2.19.1
-
diff --git a/libs/openldap/patches/901-reduce-slapd-default-mem-usage.patch b/libs/openldap/patches/901-reduce-slapd-default-mem-usage.patch
new file mode 100644 (file)
index 0000000..0c4dd34
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/servers/slapd/slapd.conf
++++ b/servers/slapd/slapd.conf
+@@ -50,7 +50,7 @@ argsfile     %LOCALSTATEDIR%/run/slapd.args
+ #######################################################################
+ database      mdb
+-maxsize               1073741824
++maxsize               8388608
+ suffix                "dc=my-domain,dc=com"
+ rootdn                "cn=Manager,dc=my-domain,dc=com"
+ # Cleartext passwords, especially for the rootdn, should
index caa669d509f526af3674bc59cd4862d301a99b92..3208aa7aca58598e63ae258d80018193f4fc2b43 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=pcre
 PKG_VERSION:=8.42
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=@SF/$(PKG_NAME)
@@ -23,12 +23,13 @@ PKG_FIXUP:=autoreconf
 
 PKG_INSTALL:=1
 
+include $(INCLUDE_DIR)/uclibc++.mk
 include $(INCLUDE_DIR)/package.mk
 
 define Package/libpcre/default
   SECTION:=libs
   CATEGORY:=Libraries
-  URL:=http://www.pcre.org/
+  URL:=https://www.pcre.org/
 endef
 
 define Package/libpcre
@@ -44,7 +45,7 @@ endef
 define Package/libpcrecpp
   $(call Package/libpcre/default)
   TITLE:=C++ wrapper for Perl Compatible Regular Expression library
-  DEPENDS:=+libpcre +libstdcpp
+  DEPENDS:=+libpcre $(CXX_DEPENDS)
 endef
 
 TARGET_CFLAGS += $(FPIC)
index 229de3bb9379b9a74003423ff418af5dd65a0c62..2dd743b5b1dd4ea10562662006321246a63f7547 100644 (file)
@@ -5,18 +5,20 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=psqlodbc
+PKG_VERSION:=11.00.0000
 PKG_RELEASE:=1
-PKG_VERSION:=10.03.0000
-PKG_HASH:=0d2ff2d10d9347ef6ce83c7ca24f4cb20b4044eeef9638c8ae3bc8107e9e92f8
 
-PKG_SOURCE_URL:=https://ftp.postgresql.org/pub/odbc/versions/src/
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://ftp.postgresql.org/pub/odbc/versions/src
+PKG_HASH:=703e6b87022f95ffa00d9f86c8f0a877f8a55b9b3be0942081f382e794112a86
 
+PKG_MAINTAINER:=
 PKG_LICENSE:=LGPL-2.0+
 PKG_LICENSE_FILES:=license.txt
 
-PKG_INSTALL:=1
 PKG_BUILD_DEPENDS:=unixodbc/host
+PKG_BUILD_PARALLEL:=1
+PKG_INSTALL:=1
 
 include $(INCLUDE_DIR)/package.mk
 
index be065491af0576af7894f0b15529840274d546fb..b56af536023b1bf38ed34b57f2fd3012cb41ee53 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=sqlite
-PKG_VERSION:=3250300
-PKG_RELEASE:=1
+PKG_VERSION:=3260000
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-autoconf-$(PKG_VERSION).tar.gz
-PKG_HASH:=00ebf97be13928941940cc71de3d67e9f852698233cd98ce2d178fd08092f3dd
-PKG_SOURCE_URL:=http://www.sqlite.org/2018/
+PKG_HASH:=5daa6a3fb7d1e8c767cd59c4ded8da6e4b00c61d3b466d0685e35c4dd6d7bf5d
+PKG_SOURCE_URL:=https://www.sqlite.org/2018/
 
 PKG_LICENSE:=PUBLICDOMAIN
 PKG_LICENSE_FILES:=
@@ -34,7 +34,7 @@ define Package/sqlite3/Default
   SUBMENU:=database
   TITLE:=SQLite (v3.x) database engine
   URL:=http://www.sqlite.org/
-  MAINTAINER:=Etienne CHAMPETIER <champetier.etienne@gmail.com>
+  MAINTAINER:=Sebastian Kemper <sebastian_ml@gmx.net>
 endef
 
 define Package/sqlite3/Default/description
@@ -75,10 +75,10 @@ $(call Package/sqlite3/Default/description)
  formats.
 endef
 
-TARGET_CFLAGS += $(FPIC) \
-       -DSQLITE_ENABLE_UNLOCK_NOTIFY=1 \
+TARGET_CFLAGS += \
        -DHAVE_ISNAN=1 \
-       -DHAVE_MALLOC_USABLE_SIZE=1
+       -DHAVE_MALLOC_USABLE_SIZE=1 \
+       -DSQLITE_ENABLE_UNLOCK_NOTIFY=1
 
 ifneq ($(CONFIG_SQLITE_FTS3),y)
 TARGET_CFLAGS += -USQLITE_ENABLE_FTS3
@@ -94,14 +94,6 @@ CONFIGURE_ARGS += \
        --disable-editline \
        --disable-static-shell
 
-CONFIGURE_VARS += \
-       config_BUILD_CC="$(HOSTCC)" \
-       config_BUILD_CFLAGS="-O2" \
-       config_TARGET_CC="$(TARGET_CC)" \
-       config_TARGET_CFLAGS="$(TARGET_CFLAGS)" \
-       config_TARGET_READLINE_INC="$(TARGET_CPPFLAGS)" \
-       config_TARGET_READLINE_LIBS="$(TARGET_LDFLAGS) -lreadline -lncurses" \
-
 define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/include
        $(CP) $(PKG_INSTALL_DIR)/usr/include/sqlite3{,ext}.h $(1)/usr/include/
index 2c9ec32490150a4534496579d9ee67e25f0220bd..12a36dbdaf7144cda1ba858a6903aa489ac1a332 100644 (file)
@@ -9,22 +9,21 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=msmtp
-PKG_VERSION:=1.6.8
-PKG_RELEASE:=2
+PKG_VERSION:=1.8.1
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://marlam.de/msmtp/releases
-PKG_HASH:=55ff95a304d888b56d07d9c62327ab9bfe26532c9c2a2ed6aefc43bea1b659fb
+PKG_HASH:=f0a2a7ed23a3ba5ca88640a9bc433507a79fdfc916b14a989d36679b7fdca4da
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
 
+PKG_MAINTAINER:=Rosen Penev <rosenp@gmail.com>
 PKG_LICENSE:=GPL-3.0+
 PKG_LICENSE_FILES:=COPYING
-PKG_MAINTAINER:=
 
 PKG_BUILD_PARALLEL:=1
 PKG_INSTALL:=1
 
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
-
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/nls.mk
 
@@ -46,7 +45,7 @@ endef
 
 define Package/msmtp
 $(call Package/msmtp/Default)
-  DEPENDS+= +libopenssl +ca-bundle
+  DEPENDS+= +libgnutls +ca-bundle
   TITLE+= (with SSL support)
   VARIANT:=ssl
 endef
@@ -101,6 +100,7 @@ CONFIGURE_ARGS += \
        --without-libidn \
        --without-libsecret \
        --without-macosx-keyring \
+       --without-msmtpd
 
 ifneq ($(CONFIG_USE_UCLIBC),)
   CONFIGURE_ARGS += --disable-gai-idn
@@ -110,7 +110,7 @@ MAKE_FLAGS :=
 
 ifeq ($(BUILD_VARIANT),ssl)
        CONFIGURE_ARGS += \
-               --with-tls=openssl
+               --with-tls=gnutls
 endif
 
 ifeq ($(BUILD_VARIANT),nossl)
diff --git a/mail/msmtp/patches/010-openssl-deprecated.patch b/mail/msmtp/patches/010-openssl-deprecated.patch
deleted file mode 100644 (file)
index 2a229aa..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
---- a/src/tls.c
-+++ b/src/tls.c
-@@ -45,6 +45,10 @@
- # include <openssl/err.h>
- # include <openssl/rand.h>
- # include <openssl/evp.h>
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#define X509_getm_notBefore X509_get_notBefore
-+#define X509_getm_notAfter X509_get_notAfter
-+#endif
- #endif /* HAVE_LIBSSL */
- #ifdef HAVE_LIBIDN
-@@ -167,8 +171,10 @@ int tls_lib_init(char **errstr)
- #ifdef HAVE_LIBSSL
-     int e;
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-     SSL_load_error_strings();
-     SSL_library_init();
-+#endif
-     if ((e = seed_prng(errstr)) != TLS_EOK)
-     {
-         return e;
-@@ -518,7 +524,7 @@ int tls_cert_info_get(tls_t *tls, tls_cert_info_t *tci, char **errstr)
-         *errstr = xasprintf(_("%s: error getting SHA1 fingerprint"), errmsg);
-         return TLS_ECERT;
-     }
--    asn1time = X509_get_notBefore(x509cert);
-+    asn1time = X509_getm_notBefore(x509cert);
-     if (asn1time_to_time_t((char *)asn1time->data,
-                 (asn1time->type != V_ASN1_GENERALIZEDTIME),
-                 &(tci->activation_time)) != 0)
-@@ -528,7 +534,7 @@ int tls_cert_info_get(tls_t *tls, tls_cert_info_t *tci, char **errstr)
-         tls_cert_info_free(tci);
-         return TLS_ECERT;
-     }
--    asn1time = X509_get_notAfter(x509cert);
-+    asn1time = X509_getm_notAfter(x509cert);
-     if (asn1time_to_time_t((char *)asn1time->data,
-                 (asn1time->type != V_ASN1_GENERALIZEDTIME),
-                 &(tci->expiration_time)) != 0)
index 6a64e2c634e1137fcea5608f5772abe66965dbce..eaf0f81e6e4c97c52f5239b888494438a467b6db 100644 (file)
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=opendkim
 PKG_VERSION:=2.10.3
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@SF/$(PKG_NAME)
diff --git a/mail/opendkim/patches/010-openssl_1.1.0_compat.patch b/mail/opendkim/patches/010-openssl_1.1.0_compat.patch
deleted file mode 100644 (file)
index 3839908..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-Description: Build and work with either openssl 1.0.2 or 1.1.0
-   * Add patch to build with either openssl 1.0.2 or 1.1.0 (Closes: #828466)
-     - Thanks to Sebastian Andrzej Siewior for the patch
-Author: Sebastian Andrzej Siewior
-Bug-Debian: http://bugs.debian.org/828466
-Origin: vendor
-Forwarded: no
-Reviewed-By: Scott Kitterman <scott@kitterman.com>
-Last-Update: <YYYY-MM-DD>
-
---- opendkim-2.11.0~alpha.orig/configure.ac
-+++ opendkim-2.11.0~alpha/configure.ac
-@@ -864,26 +864,28 @@ then
-       AC_SEARCH_LIBS([ERR_peek_error], [crypto], ,
-                      AC_MSG_ERROR([libcrypto not found]))
--      AC_SEARCH_LIBS([SSL_library_init], [ssl], ,
--              [
--                      if test x"$enable_shared" = x"yes"
--                      then
--                              AC_MSG_ERROR([Cannot build shared opendkim
--                                            against static openssl libraries.
--                                            Configure with --disable-shared
--                                            to get this working or obtain a
--                                            shared libssl library for
--                                            opendkim to use.])
--                      fi
--                      # avoid caching issue - last result of SSL_library_init
--                      # shouldn't be cached for this next check
--                      unset ac_cv_search_SSL_library_init
--                      LIBCRYPTO_LIBS="$LIBCRYPTO_LIBS -ldl"
--                      AC_SEARCH_LIBS([SSL_library_init], [ssl], ,
--                                     AC_MSG_ERROR([libssl not found]), [-ldl])
--              ]
--      )
-+      AC_LINK_IFELSE(
-+                     [AC_LANG_PROGRAM([[#include <openssl/ssl.h>]],
-+                                      [[SSL_library_init();]])],
-+                                      [od_have_ossl="yes";],
-+                                      [od_have_ossl="no";])
-+      if test x"$od_have_ossl" = x"no"
-+      then
-+              if test x"$enable_shared" = x"yes"
-+              then
-+                      AC_MSG_ERROR([Cannot build shared opendkim
-+                                    against static openssl libraries.
-+                                    Configure with --disable-shared
-+                                    to get this working or obtain a
-+                                    shared libssl library for
-+                                    opendkim to use.])
-+              fi
-+
-+              LIBCRYPTO_LIBS="$LIBCRYPTO_LIBS -ldl"
-+              AC_SEARCH_LIBS([SSL_library_init], [ssl], ,
-+                             AC_MSG_ERROR([libssl not found]), [-ldl])
-+      fi
-       AC_CHECK_DECL([SHA256_DIGEST_LENGTH],
-                       AC_DEFINE([HAVE_SHA256], 1,
---- opendkim-2.11.0~alpha.orig/opendkim/opendkim-crypto.c
-+++ opendkim-2.11.0~alpha/opendkim/opendkim-crypto.c
-@@ -222,7 +222,11 @@ dkimf_crypto_free_id(void *ptr)
-       {
-               assert(pthread_setspecific(id_key, ptr) == 0);
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000
-+              OPENSSL_thread_stop();
-+#else
-               ERR_remove_state(0);
-+#endif
-               free(ptr);
-@@ -392,11 +396,15 @@ dkimf_crypto_free(void)
- {
-       if (crypto_init_done)
-       {
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000
-+              OPENSSL_thread_stop();
-+#else
-               CRYPTO_cleanup_all_ex_data();
-               CONF_modules_free();
-               EVP_cleanup();
-               ERR_free_strings();
-               ERR_remove_state(0);
-+#endif
-               if (nmutexes > 0)
-               {
diff --git a/mail/opendkim/patches/010-openssl_1.1_compat.patch b/mail/opendkim/patches/010-openssl_1.1_compat.patch
new file mode 100644 (file)
index 0000000..ed92fff
--- /dev/null
@@ -0,0 +1,202 @@
+This patch has been tested with OpenSSL 1.0.2q, 1.1.0j and 1.1.1a
+with and without support for deprecated OpenSSL APIs.
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -860,26 +860,10 @@ then
+       AC_SEARCH_LIBS([ERR_peek_error], [crypto], ,
+                      AC_MSG_ERROR([libcrypto not found]))
+-      AC_SEARCH_LIBS([SSL_library_init], [ssl], ,
+-              [
+-                      if test x"$enable_shared" = x"yes"
+-                      then
+-                              AC_MSG_ERROR([Cannot build shared opendkim
+-                                            against static openssl libraries.
+-                                            Configure with --disable-shared
+-                                            to get this working or obtain a
+-                                            shared libssl library for
+-                                            opendkim to use.])
+-                      fi
+-
+-                      # avoid caching issue - last result of SSL_library_init
+-                      # shouldn't be cached for this next check
+-                      unset ac_cv_search_SSL_library_init
+-                      LIBCRYPTO_LIBS="$LIBCRYPTO_LIBS -ldl"
+-                      AC_SEARCH_LIBS([SSL_library_init], [ssl], ,
+-                                     AC_MSG_ERROR([libssl not found]), [-ldl])
+-              ]
+-      )
++      od_have_ossl="no"
++      AC_CHECK_LIB(ssl, OPENSSL_init_ssl, [od_have_ossl="yes"])
++      AC_CHECK_LIB(ssl, SSL_library_init, [od_have_ossl="yes"])
++      AS_IF([test "x$od_have_ossl" = xno], [AC_MSG_ERROR([libssl not found])])
+       AC_CHECK_DECL([SHA256_DIGEST_LENGTH],
+                       AC_DEFINE([HAVE_SHA256], 1,
+--- a/opendkim/opendkim-crypto.c
++++ b/opendkim/opendkim-crypto.c
+@@ -139,6 +139,7 @@ static unsigned int nmutexes = 0;
+ static unsigned long threadid = 0L;
+ static pthread_mutex_t *mutexes = NULL;
++#if OPENSSL_VERSION_NUMBER < 0x10100000
+ /*
+ **  DKIMF_CRYPTO_LOCK_CALLBACK -- locking callback for libcrypto
+ **
+@@ -166,6 +167,7 @@ dkimf_crypto_lock_callback(int mode, int
+       assert(status == 0);
+ }
++#endif
+ /*
+ **  DKIMF_CRYPTO_GET_ID -- generate/retrieve thread ID
+@@ -208,21 +210,15 @@ dkimf_crypto_get_id(void)
+ static void
+ dkimf_crypto_free_id(void *ptr)
+ {
+-      /*
+-      **  Trick dkimf_crypto_get_id(); the thread-specific pointer has
+-      **  already been cleared at this point, but dkimf_crypto_get_id()
+-      **  may be called by ERR_remove_state() which will then allocate a
+-      **  new thread pointer if the thread-specific pointer is NULL.  This
+-      **  means a memory leak of thread IDs and, on Solaris, an infinite loop
+-      **  because the destructor (indirectly) re-sets the thread-specific
+-      **  pointer to something not NULL.  See pthread_key_create(3).
+-      */
+-
+       if (ptr != NULL)
+       {
+               assert(pthread_setspecific(id_key, ptr) == 0);
+-              ERR_remove_state(0);
++#if OPENSSL_VERSION_NUMBER >= 0x10100000
++              OPENSSL_thread_stop();
++#else
++              ERR_remove_thread_state(NULL);
++#endif
+               free(ptr);
+@@ -300,6 +296,7 @@ dkimf_crypto_dyn_destroy(struct CRYPTO_d
+ **    None.
+ */
++#if OPENSSL_VERSION_NUMBER < 0x10100000
+ static void
+ dkimf_crypto_dyn_lock(int mode, struct CRYPTO_dynlock_value *lock,
+                       /* UNUSED */ const char *file,
+@@ -316,6 +313,7 @@ dkimf_crypto_dyn_lock(int mode, struct C
+       assert(status == 0);
+ }
++#endif
+ /*
+ **  DKIMF_CRYPTO_INIT -- set up openssl dependencies
+@@ -335,7 +333,12 @@ dkimf_crypto_init(void)
+       int n;
+       int status;
++#if OPENSSL_VERSION_NUMBER < 0x10100000
+       n = CRYPTO_num_locks();
++#else
++      // see openssl/crypto.h for more details
++      n = 1;
++#endif
+       mutexes = (pthread_mutex_t *) malloc(n * sizeof(pthread_mutex_t));
+       if (mutexes == NULL)
+               return errno;
+@@ -357,15 +360,22 @@ dkimf_crypto_init(void)
+       if (status != 0)
+               return status;
++#if OPENSSL_VERSION_NUMBER < 0x10100000
+       SSL_load_error_strings();
+       SSL_library_init();
+       ERR_load_crypto_strings();
++#else
++      OPENSSL_init_ssl(OPENSSL_INIT_LOAD_SSL_STRINGS | OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL);
++      OPENSSL_init_crypto(OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL);
++#endif
++#if OPENSSL_VERSION_NUMBER < 0x10000000
+       CRYPTO_set_id_callback(&dkimf_crypto_get_id);
+       CRYPTO_set_locking_callback(&dkimf_crypto_lock_callback);
+       CRYPTO_set_dynlock_create_callback(&dkimf_crypto_dyn_create);
+       CRYPTO_set_dynlock_lock_callback(&dkimf_crypto_dyn_lock);
+       CRYPTO_set_dynlock_destroy_callback(&dkimf_crypto_dyn_destroy);
++#endif
+ #ifdef USE_OPENSSL_ENGINE
+       if (!SSL_set_engine(NULL))
+@@ -392,11 +402,15 @@ dkimf_crypto_free(void)
+ {
+       if (crypto_init_done)
+       {
++#if OPENSSL_VERSION_NUMBER >= 0x10100000
++              OPENSSL_thread_stop();
++#else
+               CRYPTO_cleanup_all_ex_data();
+               CONF_modules_free();
+               EVP_cleanup();
+               ERR_free_strings();
+-              ERR_remove_state(0);
++              ERR_remove_thread_state(NULL);
++#endif
+               if (nmutexes > 0)
+               {
+--- a/libopendkim/dkim.c
++++ b/libopendkim/dkim.c
+@@ -4195,8 +4195,10 @@ dkim_init_openssl(void)
+ {
+       pthread_mutex_lock(&openssl_lock);
++#if OPENSSL_VERSION_NUMBER < 0x10100000
+       if (openssl_refcount == 0)
+               OpenSSL_add_all_algorithms();
++#endif
+       openssl_refcount++;
+       pthread_mutex_unlock(&openssl_lock);
+@@ -4220,8 +4222,10 @@ dkim_close_openssl(void)
+       pthread_mutex_lock(&openssl_lock);
+       openssl_refcount--;
++#if OPENSSL_VERSION_NUMBER < 0x10100000
+       if (openssl_refcount == 0)
+               EVP_cleanup();
++#endif
+       pthread_mutex_unlock(&openssl_lock);
+ }
+--- a/opendkim/opendkim-testkey.c
++++ b/opendkim/opendkim-testkey.c
+@@ -452,7 +452,11 @@ main(int argc, char **argv)
+       memset(err, '\0', sizeof err);
+ #ifndef USE_GNUTLS
++#if OPENSSL_VERSION_NUMBER < 0x10100000
+       ERR_load_crypto_strings();
++#else
++      OPENSSL_init_crypto(OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL);
++#endif
+ #endif /* ! USE_GNUTLS */
+       /* process a KeyTable if specified and not overridden */
+--- a/opendkim/opendkim.c
++++ b/opendkim/opendkim.c
+@@ -15540,7 +15540,11 @@ main(int argc, char **argv)
+                       printf("\tCompiled with GnuTLS %s\n", GNUTLS_VERSION);
+ #else /* USE_GNUTLS */
+                       printf("\tCompiled with %s\n",
++#if OPENSSL_VERSION_NUMBER < 0x10100000
+                              SSLeay_version(SSLEAY_VERSION));
++#else
++                             OpenSSL_version(OPENSSL_VERSION));
++#endif
+ #endif /* USE_GNUTLS */
+                       printf("\tSMFI_VERSION 0x%x\n", SMFI_VERSION);
+ #ifdef HAVE_SMFI_VERSION
index e8a7c2620cd5f9a44a24cc4dad0325879c311fcd..ec3b32865e24ce29f0d8b812ead8abf5511b25e0 100644 (file)
@@ -9,12 +9,12 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=postfix
 PKG_RELEASE:=2
-PKG_VERSION:=3.3.1
+PKG_VERSION:=3.3.2
 PKG_SOURCE_URL:= \
        https://cdn.postfix.johnriley.me/mirrors/postfix-release/official/ \
        ftp://ftp.porcupine.org/mirrors/postfix-release/official/
 
-PKG_HASH:=54f514dae42b5275cb4bc9c69283f16c06200b71813d0bb696568c4ba7ae7e3b
+PKG_HASH:=3c93f31eee49a58e592c31e62a058701cadde11e8e066ea441da19fddad7b35b
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_MAINTAINER:=Denis Shulyaka <Shulyaka@gmail.com>
 PKG_LICENSE:=IPL-1.0
index 824ea976026e37a535f2f9cfa81e878393fa41ca..c93b728b59eeef726b3a2164d9e205fa48719be2 100644 (file)
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=sendmail
 PKG_VERSION:=8.15.2
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME).$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://artfiles.org/sendmail.org/pub/sendmail/ \
index 00865f01881b44eef36b9e2a68bd44127cd4ec40..c0a01a95bc4c2c4c2b28e0ad97045239d6e755e8 100644 (file)
@@ -13,7 +13,7 @@ APPENDDEF(`confLIBSEARCH', `crypt')
 define(`confMTCCOPTS', `-D_REENTRANT')
 define(`confMTLDOPTS', `-lpthread')
 define(`confLDOPTS_SO', `-shared')
-define(`confSONAME',`-soname')
+define(`confSONAME',`-Wl,-soname')
 
 define(`currentuser', esyscmd(`id -nu'))
 define(`currentgroup', esyscmd(`id -ng'))
index 2c131be8085560af58a081b3ac35f9336c621c71..6096f9016bf0a71f03b9966c9f88428fb0156e38 100644 (file)
@@ -9,7 +9,7 @@ include(confBUILDTOOLSDIR`/M4/'bldM4_TYPE_DIR`/defines.m4')
 divert(bldTARGETS_SECTION)
 
 bldCURRENT_PRODUCT.so.confSOVER: ${BEFORE} ${bldCURRENT_PRODUCT`OBJS'}
-       ${LD} ${LDOPTS_SO} -o bldCURRENT_PRODUCT.so.confSOVER confSONAME bldCURRENT_PRODUCT.so.confSOVER ${bldCURRENT_PRODUCT`OBJS'}
+       ${CC} ${LDOPTS_SO} -o bldCURRENT_PRODUCT.so.confSOVER confSONAME,bldCURRENT_PRODUCT.so.confSOVER ${bldCURRENT_PRODUCT`OBJS'}
 ifdef(`bldLINK_SOURCES', `bldMAKE_SOURCE_LINKS(bldLINK_SOURCES)')
 
 install-`'bldCURRENT_PRODUCT: bldCURRENT_PRODUCT.so.confSOVER
diff --git a/mail/sendmail/patches/200-openssl-1.1.1.patch b/mail/sendmail/patches/200-openssl-1.1.1.patch
new file mode 100644 (file)
index 0000000..7eea24a
--- /dev/null
@@ -0,0 +1,255 @@
+Not needed for 8.16
+
+From: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
+Date: Sat, 10 Sep 2016 19:27:17 +0000
+Subject: [PATCH] sendmail: compile against openssl 1.1.0
+
+Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
+---
+
+--- a/sendmail/tls.c
++++ b/sendmail/tls.c
+@@ -60,18 +60,58 @@ static unsigned char dh512_g[] =
+       0x02
+ };
++#if OPENSSL_VERSION_NUMBER < 0x10100000
++
++static inline int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g)
++{
++      /* If the fields p and g in d are NULL, the corresponding input
++       * parameters MUST be non-NULL.  q may remain NULL.
++       */
++      if ((dh->p == NULL && p == NULL)
++          || (dh->g == NULL && g == NULL))
++              return 0;
++
++      if (p != NULL) {
++              BN_free(dh->p);
++              dh->p = p;
++      }
++      if (q != NULL) {
++              BN_free(dh->q);
++              dh->q = q;
++      }
++      if (g != NULL) {
++              BN_free(dh->g);
++              dh->g = g;
++      }
++
++      if (q != NULL) {
++              dh->length = BN_num_bits(q);
++      }
++
++      return 1;
++}
++#endif
++
+ static DH *
+ get_dh512()
+ {
+       DH *dh = NULL;
++      BIGNUM *p;
++      BIGNUM *g;
+-      if ((dh = DH_new()) == NULL)
+-              return NULL;
+-      dh->p = BN_bin2bn(dh512_p, sizeof(dh512_p), NULL);
+-      dh->g = BN_bin2bn(dh512_g, sizeof(dh512_g), NULL);
+-      if ((dh->p == NULL) || (dh->g == NULL))
+-              return NULL;
++      dh = DH_new();
++      p = BN_bin2bn(dh512_p, sizeof(dh512_p), NULL);
++      g = BN_bin2bn(dh512_g, sizeof(dh512_g), NULL);
++      if (!dh || !p || !g)
++              goto err;
++      if (!DH_set0_pqg(dh, p, NULL, g))
++              goto err;
+       return dh;
++err:
++      DH_free(dh);
++      BN_free(p);
++      BN_free(g);
++      return NULL;
+ }
+ #  if 0
+@@ -117,17 +157,22 @@ get_dh2048()
+               };
+       static unsigned char dh2048_g[]={ 0x02, };
+       DH *dh;
++      BIGNUM *p;
++      BIGNUM *g;
+-      if ((dh=DH_new()) == NULL)
+-              return(NULL);
+-      dh->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL);
+-      dh->g=BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL);
+-      if ((dh->p == NULL) || (dh->g == NULL))
+-      {
+-              DH_free(dh);
+-              return(NULL);
+-      }
++      dh = DH_new();
++      p = BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL);
++      g = BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL);
++      if (!dh || !p || !g)
++              goto err;
++      if (!DH_set0_pqg(dh, p, NULL, g))
++              goto err;
+       return(dh);
++err:
++      DH_free(dh);
++      BN_free(p);
++      BN_free(g);
++      return NULL;
+ }
+ # endif /* !NO_DH */
+@@ -926,7 +971,7 @@ inittls(ctx, req, options, srv, certfile
+       {
+               /* get a pointer to the current certificate validation store */
+               store = SSL_CTX_get_cert_store(*ctx);   /* does not fail */
+-              crl_file = BIO_new(BIO_s_file_internal());
++              crl_file = BIO_new(BIO_s_file());
+               if (crl_file != NULL)
+               {
+                       if (BIO_read_filename(crl_file, CRLFile) >= 0)
+@@ -1000,26 +1045,43 @@ inittls(ctx, req, options, srv, certfile
+       **  maybe we should do it only on demand...
+       */
+-      if (bitset(TLS_I_RSA_TMP, req)
+ #  if SM_CONF_SHM
+-          && ShmId != SM_SHM_NO_ID &&
+-          (rsa_tmp = RSA_generate_key(RSA_KEYLENGTH, RSA_F4, NULL,
+-                                      NULL)) == NULL
+-#  else /* SM_CONF_SHM */
+-          && 0        /* no shared memory: no need to generate key now */
+-#  endif /* SM_CONF_SHM */
+-         )
++      if (bitset(TLS_I_RSA_TMP, req)
++          && ShmId != SM_SHM_NO_ID)
+       {
+-              if (LogLevel > 7)
++              BIGNUM *bn;
++
++              bn = BN_new();
++              rsa_tmp = RSA_new();
++              if (!bn || !rsa_tmp || !BN_set_word(bn, RSA_F4)) {
++                      RSA_free(rsa_tmp);
++                      rsa_tmp = NULL;
++              }
++              if (rsa_tmp)
+               {
+-                      sm_syslog(LOG_WARNING, NOQID,
+-                                "STARTTLS=%s, error: RSA_generate_key failed",
+-                                who);
+-                      if (LogLevel > 9)
+-                              tlslogerr(LOG_WARNING, who);
++                      if (!RSA_generate_key_ex(rsa_tmp, RSA_KEYLENGTH, bn, NULL))
++                      {
++                              RSA_free(rsa_tmp);
++                              rsa_tmp = NULL;
++                      }
++              }
++              BN_free(bn);
++              if (!rsa_tmp)
++              {
++                      if (LogLevel > 7)
++                      {
++                              sm_syslog(LOG_WARNING, NOQID,
++                                        "STARTTLS=%s, error: RSA_generate_key failed",
++                                        who);
++                              if (LogLevel > 9)
++                                      tlslogerr(LOG_WARNING, who);
++                      }
++                      return false;
+               }
+-              return false;
+       }
++#  else /* SM_CONF_SHM */
++      /* no shared memory: no need to generate key now */
++#  endif /* SM_CONF_SHM */
+ # endif /* !TLS_NO_RSA */
+       /*
+@@ -1210,9 +1272,15 @@ inittls(ctx, req, options, srv, certfile
+                               sm_dprintf("inittls: Generating %d bit DH parameters\n", bits);
+                       /* this takes a while! */
+-                      dsa = DSA_generate_parameters(bits, NULL, 0, NULL,
+-                                                    NULL, 0, NULL);
+-                      dh = DSA_dup_DH(dsa);
++                      dsa = DSA_new();
++                      if (dsa) {
++                              int r;
++
++                              r = DSA_generate_parameters_ex(dsa, bits, NULL, 0,
++                                                          NULL, NULL, NULL);
++                              if (r != 0)
++                                      dh = DSA_dup_DH(dsa);
++                      }
+                       DSA_free(dsa);
+               }
+               else if (dh == NULL && bitset(TLS_I_DHFIXED, req))
+@@ -1733,6 +1801,9 @@ tmp_rsa_key(s, export, keylength)
+       int export;
+       int keylength;
+ {
++      BIGNUM *bn;
++      int ret;
++
+ #   if SM_CONF_SHM
+       extern int ShmId;
+       extern int *PRSATmpCnt;
+@@ -1742,10 +1813,22 @@ tmp_rsa_key(s, export, keylength)
+               return rsa_tmp;
+ #   endif /* SM_CONF_SHM */
+-      if (rsa_tmp != NULL)
+-              RSA_free(rsa_tmp);
+-      rsa_tmp = RSA_generate_key(RSA_KEYLENGTH, RSA_F4, NULL, NULL);
+-      if (rsa_tmp == NULL)
++      if (rsa_tmp == NULL) {
++              rsa_tmp = RSA_new();
++              if (!rsa_tmp)
++                      return NULL;
++      }
++
++      bn = BN_new();
++      if (!bn)
++              return NULL;
++      if (!BN_set_word(bn, RSA_F4)) {
++              BN_free(bn);
++              return NULL;
++      }
++      ret = RSA_generate_key_ex(rsa_tmp, RSA_KEYLENGTH, bn, NULL);
++      BN_free(bn);
++      if (!ret)
+       {
+               if (LogLevel > 0)
+                       sm_syslog(LOG_ERR, NOQID,
+@@ -1971,9 +2054,9 @@ x509_verify_cb(ok, ctx)
+       {
+               if (LogLevel > 13)
+                       tls_verify_log(ok, ctx, "x509");
+-              if (ctx->error == X509_V_ERR_UNABLE_TO_GET_CRL)
++              if (X509_STORE_CTX_get_error(ctx) == X509_V_ERR_UNABLE_TO_GET_CRL)
+               {
+-                      ctx->error = 0;
++                      X509_STORE_CTX_set_error(ctx, 0);
+                       return 1;       /* override it */
+               }
+       }
+--- a/doc/op/op.me
++++ b/doc/op/op.me
+@@ -10898,7 +10898,7 @@ C=FileName_of_CA_Certificate
+ ln -s $C `openssl x509 -noout -hash < $C`.0
+ .)b
+ A better way to do this is to use the
+-.b c_rehash
++.b "openssl rehash"
+ command that is part of the OpenSSL distribution
+ because it handles subject hash collisions
+ by incrementing the number in the suffix of the filename of the symbolic link,
diff --git a/mail/sendmail/patches/201-openssl-1.1.1-ecdhe.patch b/mail/sendmail/patches/201-openssl-1.1.1-ecdhe.patch
new file mode 100644 (file)
index 0000000..b2e2e29
--- /dev/null
@@ -0,0 +1,20 @@
+Not needed for 8.16
+
+--- a/sendmail/tls.c
++++ b/sendmail/tls.c
+@@ -1325,13 +1325,8 @@ inittls(ctx, req, options, srv, certfile, keyfile, cacertpath, cacertfile, dhpar
+               }
+ #if _FFR_TLS_EC
+-              ecdh = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
+-              if (ecdh != NULL)
+-              {
+-                      SSL_CTX_set_options(*ctx, SSL_OP_SINGLE_ECDH_USE);
+-                      SSL_CTX_set_tmp_ecdh(*ctx, ecdh);
+-                      EC_KEY_free(ecdh);
+-              }
++              SSL_CTX_set_options(*ctx, SSL_OP_SINGLE_ECDH_USE);
++              SSL_CTX_set_ecdh_auto(*ctx, 1);
+ #endif /* _FFR_TLS_EC */
+       }
diff --git a/mail/sendmail/patches/202-openssl-deprecated.patch b/mail/sendmail/patches/202-openssl-deprecated.patch
new file mode 100644 (file)
index 0000000..31245bd
--- /dev/null
@@ -0,0 +1,76 @@
+Must be rebased for 8.16
+
+--- a/sendmail/main.c
++++ b/sendmail/main.c
+@@ -17,6 +17,9 @@
+ #include <sm/xtrap.h>
+ #include <sm/signal.h>
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#define OpenSSL_version_num SSLeay
++#endif
+ #ifndef lint
+ SM_UNUSED(static char copyright[]) =
+ "@(#) Copyright (c) 1998-2013 Proofpoint, Inc. and its suppliers.\n\
+@@ -650,7 +653,7 @@ main(argc, argv, envp)
+               sm_dprintf("       OpenSSL: compiled 0x%08x\n",
+                          (uint) OPENSSL_VERSION_NUMBER);
+               sm_dprintf("       OpenSSL: linked   0x%08x\n",
+-                         (uint) SSLeay());
++                         (uint) OpenSSL_version_num());
+       }
+ #endif /* STARTTLS */
+--- a/sendmail/tls.c
++++ b/sendmail/tls.c
+@@ -16,9 +16,25 @@ SM_RCSID("@(#)$Id: tls.c,v 8.127 2013-11-27 02:51:11 gshapiro Exp $")
+ # include <openssl/err.h>
+ # include <openssl/bio.h>
+ # include <openssl/pem.h>
++# include <openssl/bn.h>
++# include <openssl/dh.h>
++# include <openssl/dsa.h>
++# include <openssl/rsa.h>
+ # ifndef HASURANDOMDEV
+ #  include <openssl/rand.h>
+ # endif /* ! HASURANDOMDEV */
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#define OpenSSL_version_num SSLeay
++#endif
++
++#ifndef CRYPTO_thread_id
++#define CRYPTO_thread_id() (0UL)
++#endif
++
++#ifndef SSL_CTX_set_tmp_rsa_callback
++#define SSL_CTX_set_tmp_rsa_callback(ctx, cb) while(0) (cb)(NULL, 0, 0)
++#endif
++
+ # if !TLS_NO_RSA
+ static RSA *rsa_tmp = NULL;   /* temporary RSA key */
+ static RSA *tmp_rsa_key __P((SSL *, int, int));
+@@ -380,6 +396,7 @@ init_tls_library(fipsmode)
+ {
+       bool bv;
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+       /* basic TLS initialization, ignore result for now */
+       SSL_library_init();
+       SSL_load_error_strings();
+@@ -388,6 +405,7 @@ init_tls_library(fipsmode)
+       /* this is currently a macro for SSL_library_init */
+       SSLeay_add_ssl_algorithms();
+ # endif /* 0 */
++#endif /* OPENSSL_VERSION_NUMBER */
+       bv = tls_rand_init(RandFile, 7);
+ # if _FFR_FIPSMODE
+@@ -1207,7 +1225,7 @@ inittls(ctx, req, options, srv, certfile, keyfile, cacertpath, cacertfile, dhpar
+       **  just the compile time version.
+       */
+-      rt_version = SSLeay();
++      rt_version = OpenSSL_version_num();
+       if (rt_version >= 0x00908000L && rt_version <= 0x0090802fL)
+       {
+               comp_methods = SSL_COMP_get_compression_methods();
index 571555d61f52e547dd21ed2dcf5659c2a017b2ee..25a22410f555a35232057ecc47bb9e7300a3e3d0 100644 (file)
@@ -10,27 +10,26 @@ include $(TOPDIR)/rules.mk
 PKG_NAME:=crtmpserver
 PKG_REV:=b6fdcdb953d1e99c48a0c37a8c80f2cad2db443b
 PKG_VERSION:=2012-07-18+git-$(PKG_REV)
-PKG_RELEASE:=3
-PKG_BUILD_PARALLEL:=2
+PKG_RELEASE:=4
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/j0sh/crtmpserver/tar.gz/$(PKG_REV)?
+PKG_HASH:=e210eeb99d39334e7beb0a1be27dcf23d1f851383f87cf63d7fb98209ef96cee
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_REV)
+
 PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>
 PKG_LICENSE:=GPL-3.0
 
+PKG_BUILD_PARALLEL:=1
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_MIRROR_HASH:=8d887996b6b8cb465ec59f3f713fca46161cbb804cacd2b5405f836083fb58ba
-PKG_SOURCE_URL:=https://github.com/j0sh/crtmpserver.git
-PKG_SOURCE_SUBDIR:=crtmpserver-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=$(PKG_REV)
-PKG_SOURCE_PROTO:=git
-
+include $(INCLUDE_DIR)/uclibc++.mk
 include $(INCLUDE_DIR)/package.mk
 
 define Package/crtmpserver
   SECTION:=multimedia
   CATEGORY:=Multimedia
-  DEPENDS:=+libopenssl +libstdcpp +liblua
+  DEPENDS:=$(CXX_DEPENDS) +libopenssl +liblua
   TITLE:=C++ RTMP Server
-  URL:=http://www.rtmpd.com/
 endef
 
 define Package/crtmpserver/description
index 7b9da39a2b36a3a99e2745e224b38e70d2f14a9f..c5241c27cf06b57d5cd37785dfaa1650ea5e75b6 100644 (file)
@@ -1,26 +1,10 @@
---- a/sources/common/include/common.h
-+++ b/sources/common/include/common.h
-@@ -20,6 +20,10 @@
- #ifndef _COMMON_H
- #define _COMMON_H
-+#include <stdio.h>
-+#include <unistd.h>
-+#include <sys/types.h>
-+
- #include "defines.h"
- #include "platform/platform.h"
- #include "utils/utils.h"
 --- a/sources/common/src/utils/logging/fileloglocation.cpp
 +++ b/sources/common/src/utils/logging/fileloglocation.cpp
-@@ -18,6 +18,10 @@
+@@ -17,6 +17,7 @@
+  *  along with crtmpserver.  If not, see <http://www.gnu.org/licenses/>.
   */
  
++#include <ctime>
  
-+#include <stdio.h>
-+#include <unistd.h>
-+#include <sys/types.h>
-+
  #include "utils/logging/fileloglocation.h"
  #include "utils/lua/luautils.h"
- #include "utils/misc/file.h"
diff --git a/multimedia/crtmpserver/patches/090-openssl-1.1-compat.diff b/multimedia/crtmpserver/patches/090-openssl-1.1-compat.diff
deleted file mode 100644 (file)
index dfc9246..0000000
+++ /dev/null
@@ -1,455 +0,0 @@
---- a/sources/applications/applestreamingclient/include/protocols/aes/inboundaesprotocol.h
-+++ b/sources/applications/applestreamingclient/include/protocols/aes/inboundaesprotocol.h
-@@ -30,7 +30,7 @@ namespace app_applestreamingclient {
-       private:
-               IOBuffer _tempBuffer;
-               IOBuffer _inputBuffer;
--              EVP_CIPHER_CTX _decContex;
-+              EVP_CIPHER_CTX *_decContex;
-               bool _lastChunk;
-               uint8_t *_pIV;
-               uint8_t *_pKey;
---- a/sources/applications/applestreamingclient/src/protocols/aes/inboundaesprotocol.cpp
-+++ b/sources/applications/applestreamingclient/src/protocols/aes/inboundaesprotocol.cpp
-@@ -31,13 +31,12 @@ InboundAESProtocol::InboundAESProtocol()
-       memset(_pIV, 0, 16);
-       _pKey = new uint8_t[16];
-       memset(_pKey, 0, 16);
--      memset(&_decContex, 0, sizeof (EVP_CIPHER_CTX));
-+      _decContex = EVP_CIPHER_CTX_new();
-       _totalDecrypted = 0;
- }
- InboundAESProtocol::~InboundAESProtocol() {
--      EVP_CIPHER_CTX_cleanup(&_decContex);
--      memset(&_decContex, 0, sizeof (EVP_CIPHER_CTX));
-+      EVP_CIPHER_CTX_free(_decContex);
-       delete[] _pIV;
-       delete[] _pKey;
- }
-@@ -60,11 +59,9 @@ bool InboundAESProtocol::Initialize(Vari
-       _inputBuffer.IgnoreAll();
-       _tempBuffer.IgnoreAll();
--      EVP_CIPHER_CTX_cleanup(&_decContex);
--      memset(&_decContex, 0, sizeof (EVP_CIPHER_CTX));
--      EVP_CIPHER_CTX_init(&_decContex);
--      EVP_DecryptInit_ex(&_decContex, EVP_aes_128_cbc(), NULL, _pKey, _pIV);
--      EVP_CIPHER_CTX_set_padding(&_decContex, 0);
-+      EVP_CIPHER_CTX_reset(_decContex);
-+      EVP_DecryptInit_ex(_decContex, EVP_aes_128_cbc(), NULL, _pKey, _pIV);
-+      EVP_CIPHER_CTX_set_padding(_decContex, 0);
-       return true;
- }
-@@ -105,14 +102,14 @@ bool InboundAESProtocol::SignalInputData
-       int decryptedFinalSize = 0;
-       uint32_t padding = 0;
--      EVP_DecryptUpdate(&_decContex, pTempData, &decryptedSize, GETIBPOINTER(buffer), safeSize);
-+      EVP_DecryptUpdate(_decContex, pTempData, &decryptedSize, GETIBPOINTER(buffer), safeSize);
-       _totalDecrypted += decryptedSize;
-       //6. Decrypt leftovers
-       bool transferCompleted = false;
-       if (((HTTPBufferProtocol *) GetFarProtocol())->TransferCompleted()) {
-               transferCompleted = true;
--              EVP_DecryptFinal_ex(&_decContex,
-+              EVP_DecryptFinal_ex(_decContex,
-                               pTempData + decryptedSize,
-                               &decryptedFinalSize);
-               _totalDecrypted += decryptedFinalSize;
---- a/sources/common/include/utils/misc/crypto.h
-+++ b/sources/common/include/utils/misc/crypto.h
-@@ -33,6 +33,7 @@
- #include <openssl/aes.h>
- #include <openssl/engine.h>
- #include <openssl/conf.h>
-+#include "utils/misc/libcrypto-compat.h"
- /*!
-       @class DHWrapper
-@@ -83,7 +84,7 @@ public:
-       bool CopySharedKey(uint8_t *pDst, int32_t dstLength);
- private:
-       void Cleanup();
--      bool CopyKey(BIGNUM *pNum, uint8_t *pDst, int32_t dstLength);
-+      bool CopyKey(const BIGNUM *pNum, uint8_t *pDst, int32_t dstLength);
- };
- DLLEXP void InitRC4Encryption(uint8_t *secretKey, uint8_t *pubKeyIn, uint8_t *pubKeyOut,
---- a/sources/common/src/utils/misc/crypto.cpp
-+++ b/sources/common/src/utils/misc/crypto.cpp
-@@ -35,6 +35,7 @@ DHWrapper::~DHWrapper() {
- }
- bool DHWrapper::Initialize() {
-+      BIGNUM *p = NULL, *g = NULL;
-       Cleanup();
-       //1. Create the DH
-@@ -46,42 +47,53 @@ bool DHWrapper::Initialize() {
-       }
-       //2. Create his internal p and g
--      _pDH->p = BN_new();
--      if (_pDH->p == NULL) {
-+      p = BN_new();
-+      if (p == NULL) {
-               FATAL("Unable to create p");
--              Cleanup();
--              return false;
-+              goto return_error;
-       }
--      _pDH->g = BN_new();
--      if (_pDH->g == NULL) {
-+      g = BN_new();
-+      if (g == NULL) {
-               FATAL("Unable to create g");
--              Cleanup();
--              return false;
-+              goto return_error;
-       }
-       //3. initialize p, g and key length
--      if (BN_hex2bn(&_pDH->p, P1024) == 0) {
-+      if (BN_hex2bn(&p, P1024) == 0) {
-               FATAL("Unable to parse P1024");
--              Cleanup();
--              return false;
-+              goto return_error;
-       }
--      if (BN_set_word(_pDH->g, 2) != 1) {
-+      if (BN_set_word(g, 2) != 1) {
-               FATAL("Unable to set g");
--              Cleanup();
--              return false;
-+              goto return_error;
-       }
--      //4. Set the key length
--      _pDH->length = _bitsCount;
-+      //4. Set internal p and g
-+      if (DH_set0_pqg(_pDH, p, NULL, g) != 1) {
-+              FATAL("Unable to set internal p and g");
-+              goto return_error;
-+      }
-+      p = g = NULL;
--      //5. Generate private and public key
-+      //5. Set the key length
-+      if (DH_set_length(_pDH, _bitsCount) != 1) {
-+              FATAL("Unable to set length");
-+              goto return_error;
-+      }
-+
-+      //6. Generate private and public key
-       if (DH_generate_key(_pDH) != 1) {
-               FATAL("Unable to generate DH public/private keys");
--              Cleanup();
--              return false;
-+              goto return_error;
-       }
-       return true;
-+
-+return_error:
-+      if (p != NULL) BN_free(p);
-+      if (g != NULL) BN_free(g);
-+      Cleanup();
-+      return false;
- }
- bool DHWrapper::CopyPublicKey(uint8_t *pDst, int32_t dstLength) {
-@@ -90,7 +102,9 @@ bool DHWrapper::CopyPublicKey(uint8_t *p
-               return false;
-       }
--      return CopyKey(_pDH->pub_key, pDst, dstLength);
-+      const BIGNUM *pub_key;
-+      DH_get0_key(_pDH, &pub_key, NULL);
-+      return CopyKey(pub_key, pDst, dstLength);
- }
- bool DHWrapper::CopyPrivateKey(uint8_t *pDst, int32_t dstLength) {
-@@ -99,7 +113,9 @@ bool DHWrapper::CopyPrivateKey(uint8_t *
-               return false;
-       }
--      return CopyKey(_pDH->priv_key, pDst, dstLength);
-+      const BIGNUM *priv_key;
-+      DH_get0_key(_pDH, NULL, &priv_key);
-+      return CopyKey(priv_key, pDst, dstLength);
- }
- bool DHWrapper::CreateSharedKey(uint8_t *pPeerPublicKey, int32_t length) {
-@@ -153,14 +169,6 @@ bool DHWrapper::CopySharedKey(uint8_t *p
- void DHWrapper::Cleanup() {
-       if (_pDH != NULL) {
--              if (_pDH->p != NULL) {
--                      BN_free(_pDH->p);
--                      _pDH->p = NULL;
--              }
--              if (_pDH->g != NULL) {
--                      BN_free(_pDH->g);
--                      _pDH->g = NULL;
--              }
-               DH_free(_pDH);
-               _pDH = NULL;
-       }
-@@ -177,7 +185,7 @@ void DHWrapper::Cleanup() {
-       }
- }
--bool DHWrapper::CopyKey(BIGNUM *pNum, uint8_t *pDst, int32_t dstLength) {
-+bool DHWrapper::CopyKey(const BIGNUM *pNum, uint8_t *pDst, int32_t dstLength) {
-       int32_t keySize = BN_num_bytes(pNum);
-       if ((keySize <= 0) || (dstLength <= 0) || (keySize > dstLength)) {
-               FATAL("CopyPublicKey failed due to either invalid DH state or invalid call");
-@@ -197,20 +205,21 @@ void InitRC4Encryption(uint8_t *secretKe
-       uint8_t digest[SHA256_DIGEST_LENGTH];
-       unsigned int digestLen = 0;
--      HMAC_CTX ctx;
--      HMAC_CTX_init(&ctx);
--      HMAC_Init_ex(&ctx, secretKey, 128, EVP_sha256(), 0);
--      HMAC_Update(&ctx, pubKeyIn, 128);
--      HMAC_Final(&ctx, digest, &digestLen);
--      HMAC_CTX_cleanup(&ctx);
-+      HMAC_CTX *ctx;
-+      ctx = HMAC_CTX_new();
-+      if (ctx == NULL)
-+              return;
-+      HMAC_Init_ex(ctx, secretKey, 128, EVP_sha256(), 0);
-+      HMAC_Update(ctx, pubKeyIn, 128);
-+      HMAC_Final(ctx, digest, &digestLen);
-+      HMAC_CTX_reset(ctx);
-       RC4_set_key(rc4keyOut, 16, digest);
--      HMAC_CTX_init(&ctx);
--      HMAC_Init_ex(&ctx, secretKey, 128, EVP_sha256(), 0);
--      HMAC_Update(&ctx, pubKeyOut, 128);
--      HMAC_Final(&ctx, digest, &digestLen);
--      HMAC_CTX_cleanup(&ctx);
-+      HMAC_Init_ex(ctx, secretKey, 128, EVP_sha256(), 0);
-+      HMAC_Update(ctx, pubKeyOut, 128);
-+      HMAC_Final(ctx, digest, &digestLen);
-+      HMAC_CTX_free(ctx);
-       RC4_set_key(rc4keyIn, 16, digest);
- }
-@@ -220,14 +229,17 @@ string md5(string source, bool textResul
- }
- string md5(uint8_t *pBuffer, uint32_t length, bool textResult) {
--      EVP_MD_CTX mdctx;
-+      EVP_MD_CTX *mdctx;
-       unsigned char md_value[EVP_MAX_MD_SIZE];
-       unsigned int md_len;
--      EVP_DigestInit(&mdctx, EVP_md5());
--      EVP_DigestUpdate(&mdctx, pBuffer, length);
--      EVP_DigestFinal_ex(&mdctx, md_value, &md_len);
--      EVP_MD_CTX_cleanup(&mdctx);
-+      mdctx = EVP_MD_CTX_new();
-+      if (mdctx == NULL)
-+              return "";
-+      EVP_DigestInit(mdctx, EVP_md5());
-+      EVP_DigestUpdate(mdctx, pBuffer, length);
-+      EVP_DigestFinal_ex(mdctx, md_value, &md_len);
-+      EVP_MD_CTX_free(mdctx);
-       if (textResult) {
-               string result = "";
-@@ -244,12 +256,12 @@ void HMACsha256(const void *pData, uint3
-               const void *pKey, uint32_t keyLength, void *pResult) {
-       unsigned int digestLen;
--      HMAC_CTX ctx;
--      HMAC_CTX_init(&ctx);
--      HMAC_Init_ex(&ctx, (unsigned char*) pKey, keyLength, EVP_sha256(), NULL);
--      HMAC_Update(&ctx, (unsigned char *) pData, dataLength);
--      HMAC_Final(&ctx, (unsigned char *) pResult, &digestLen);
--      HMAC_CTX_cleanup(&ctx);
-+      HMAC_CTX *ctx;
-+      ctx = HMAC_CTX_new();
-+      HMAC_Init_ex(ctx, (unsigned char*) pKey, keyLength, EVP_sha256(), NULL);
-+      HMAC_Update(ctx, (unsigned char *) pData, dataLength);
-+      HMAC_Final(ctx, (unsigned char *) pResult, &digestLen);
-+      HMAC_CTX_free(ctx);
-       o_assert(digestLen == 32);
- }
---- a/sources/thelib/src/protocols/ssl/basesslprotocol.cpp
-+++ b/sources/thelib/src/protocols/ssl/basesslprotocol.cpp
-@@ -211,6 +211,7 @@ string BaseSSLProtocol::GetSSLErrors() {
- string BaseSSLProtocol::DumpBIO(BIO *pBIO) {
-       string formatString;
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-       formatString = "method: %p\n";
-       formatString += "callback: %p\n";
-       formatString += "cb_arg: %p\n";
-@@ -240,6 +241,39 @@ string BaseSSLProtocol::DumpBIO(BIO *pBI
-                       pBIO->references,
-                       (int64_t) pBIO->num_read,
-                       (int64_t) pBIO->num_write);
-+#else
-+// Some of these are problematic in openssl >= 1.1, since
-+// the BIO struct is opaque.
-+      formatString = "method: %s\n";
-+      formatString += "callback: %p\n";
-+      formatString += "cb_arg: %p\n";
-+      formatString += "init: %d\n";
-+      formatString += "shutdown: %d\n";
-+      formatString += "flags: %d\n";
-+      formatString += "retry_reason: %d\n";
-+      formatString += "num: %d\n";
-+      formatString += "ptr: %p\n";
-+      formatString += "next_bio: %p\n";
-+      formatString += "prev_bio: %s\n";
-+      formatString += "references: %s\n";
-+      formatString += "num_read: %"PRId64"\n";
-+      formatString += "num_write: %"PRId64;
-+      return format(formatString,
-+                      BIO_method_name(pBIO),
-+                      BIO_get_callback(pBIO),
-+                      BIO_get_callback_arg(pBIO),
-+                      BIO_get_init(pBIO),
-+                      BIO_get_shutdown(pBIO),
-+                      BIO_get_flags(pBIO),
-+                      BIO_get_retry_reason(pBIO),
-+                      BIO_get_fd(pBIO, NULL),
-+                      BIO_get_data(pBIO),
-+                      BIO_next(pBIO),
-+                      "unknown", //prev_bio
-+                      "unknown", //references
-+                      BIO_number_read(pBIO),
-+                      BIO_number_written(pBIO));
-+#endif
- }
- void BaseSSLProtocol::InitRandGenerator() {
---- /dev/null
-+++ b/sources/common/include/utils/misc/libcrypto-compat.h
-@@ -0,0 +1,25 @@
-+#ifndef LIBCRYPTO_COMPAT_H
-+#define LIBCRYPTO_COMPAT_H
-+
-+#include <openssl/opensslv.h>
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+
-+#include <openssl/dh.h>
-+#include <openssl/evp.h>
-+#include <openssl/hmac.h>
-+
-+int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g);
-+void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key);
-+int DH_set_length(DH *dh, long length);
-+
-+EVP_MD_CTX *EVP_MD_CTX_new(void);
-+void EVP_MD_CTX_free(EVP_MD_CTX *ctx);
-+#define EVP_MD_CTX_reset EVP_MD_CTX_cleanup
-+
-+HMAC_CTX *HMAC_CTX_new(void);
-+void HMAC_CTX_free(HMAC_CTX *ctx);
-+#define HMAC_CTX_reset HMAC_CTX_cleanup
-+
-+#endif /* OPENSSL_VERSION_NUMBER */
-+
-+#endif /* LIBCRYPTO_COMPAT_H */
---- /dev/null
-+++ b/sources/common/src/utils/misc/libcrypto-compat.cpp
-@@ -0,0 +1,90 @@
-+/*
-+ * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
-+ *
-+ * Licensed under the OpenSSL license (the "License").  You may not use
-+ * this file except in compliance with the License.  You can obtain a copy
-+ * in the file LICENSE in the source distribution or at
-+ * https://www.openssl.org/source/license.html
-+ */
-+
-+#include "utils/misc/libcrypto-compat.h"
-+
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+
-+#include <string.h>
-+
-+static void *OPENSSL_zalloc(size_t num)
-+{
-+    void *ret = OPENSSL_malloc(num);
-+
-+    if (ret != NULL)
-+        memset(ret, 0, num);
-+    return ret;
-+}
-+
-+int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g)
-+{
-+    /* If the fields p and g in d are NULL, the corresponding input
-+     * parameters MUST be non-NULL.  q may remain NULL.
-+     */
-+    if ((dh->p == NULL && p == NULL)
-+        || (dh->g == NULL && g == NULL))
-+        return 0;
-+
-+    if (p != NULL) {
-+        BN_free(dh->p);
-+        dh->p = p;
-+    }
-+    if (q != NULL) {
-+        BN_free(dh->q);
-+        dh->q = q;
-+    }
-+    if (g != NULL) {
-+        BN_free(dh->g);
-+        dh->g = g;
-+    }
-+
-+    if (q != NULL) {
-+        dh->length = BN_num_bits(q);
-+    }
-+
-+    return 1;
-+}
-+
-+void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key)
-+{
-+    if (pub_key != NULL)
-+        *pub_key = dh->pub_key;
-+    if (priv_key != NULL)
-+        *priv_key = dh->priv_key;
-+}
-+
-+int DH_set_length(DH *dh, long length)
-+{
-+    dh->length = length;
-+    return 1;
-+}
-+
-+EVP_MD_CTX *EVP_MD_CTX_new(void)
-+{
-+    return (EVP_MD_CTX *)OPENSSL_zalloc(sizeof(EVP_MD_CTX));
-+}
-+
-+void EVP_MD_CTX_free(EVP_MD_CTX *ctx)
-+{
-+    EVP_MD_CTX_cleanup(ctx);
-+    OPENSSL_free(ctx);
-+}
-+
-+HMAC_CTX *HMAC_CTX_new(void)
-+{
-+    return (HMAC_CTX *)OPENSSL_zalloc(sizeof(HMAC_CTX));
-+}
-+
-+void HMAC_CTX_free(HMAC_CTX *ctx)
-+{
-+    HMAC_CTX_cleanup(ctx);
-+    OPENSSL_free(ctx);
-+}
-+
-+#endif /* OPENSSL_VERSION_NUMBER */
diff --git a/multimedia/crtmpserver/patches/090-openssl-1.1-compat.patch b/multimedia/crtmpserver/patches/090-openssl-1.1-compat.patch
new file mode 100644 (file)
index 0000000..dfc9246
--- /dev/null
@@ -0,0 +1,455 @@
+--- a/sources/applications/applestreamingclient/include/protocols/aes/inboundaesprotocol.h
++++ b/sources/applications/applestreamingclient/include/protocols/aes/inboundaesprotocol.h
+@@ -30,7 +30,7 @@ namespace app_applestreamingclient {
+       private:
+               IOBuffer _tempBuffer;
+               IOBuffer _inputBuffer;
+-              EVP_CIPHER_CTX _decContex;
++              EVP_CIPHER_CTX *_decContex;
+               bool _lastChunk;
+               uint8_t *_pIV;
+               uint8_t *_pKey;
+--- a/sources/applications/applestreamingclient/src/protocols/aes/inboundaesprotocol.cpp
++++ b/sources/applications/applestreamingclient/src/protocols/aes/inboundaesprotocol.cpp
+@@ -31,13 +31,12 @@ InboundAESProtocol::InboundAESProtocol()
+       memset(_pIV, 0, 16);
+       _pKey = new uint8_t[16];
+       memset(_pKey, 0, 16);
+-      memset(&_decContex, 0, sizeof (EVP_CIPHER_CTX));
++      _decContex = EVP_CIPHER_CTX_new();
+       _totalDecrypted = 0;
+ }
+ InboundAESProtocol::~InboundAESProtocol() {
+-      EVP_CIPHER_CTX_cleanup(&_decContex);
+-      memset(&_decContex, 0, sizeof (EVP_CIPHER_CTX));
++      EVP_CIPHER_CTX_free(_decContex);
+       delete[] _pIV;
+       delete[] _pKey;
+ }
+@@ -60,11 +59,9 @@ bool InboundAESProtocol::Initialize(Vari
+       _inputBuffer.IgnoreAll();
+       _tempBuffer.IgnoreAll();
+-      EVP_CIPHER_CTX_cleanup(&_decContex);
+-      memset(&_decContex, 0, sizeof (EVP_CIPHER_CTX));
+-      EVP_CIPHER_CTX_init(&_decContex);
+-      EVP_DecryptInit_ex(&_decContex, EVP_aes_128_cbc(), NULL, _pKey, _pIV);
+-      EVP_CIPHER_CTX_set_padding(&_decContex, 0);
++      EVP_CIPHER_CTX_reset(_decContex);
++      EVP_DecryptInit_ex(_decContex, EVP_aes_128_cbc(), NULL, _pKey, _pIV);
++      EVP_CIPHER_CTX_set_padding(_decContex, 0);
+       return true;
+ }
+@@ -105,14 +102,14 @@ bool InboundAESProtocol::SignalInputData
+       int decryptedFinalSize = 0;
+       uint32_t padding = 0;
+-      EVP_DecryptUpdate(&_decContex, pTempData, &decryptedSize, GETIBPOINTER(buffer), safeSize);
++      EVP_DecryptUpdate(_decContex, pTempData, &decryptedSize, GETIBPOINTER(buffer), safeSize);
+       _totalDecrypted += decryptedSize;
+       //6. Decrypt leftovers
+       bool transferCompleted = false;
+       if (((HTTPBufferProtocol *) GetFarProtocol())->TransferCompleted()) {
+               transferCompleted = true;
+-              EVP_DecryptFinal_ex(&_decContex,
++              EVP_DecryptFinal_ex(_decContex,
+                               pTempData + decryptedSize,
+                               &decryptedFinalSize);
+               _totalDecrypted += decryptedFinalSize;
+--- a/sources/common/include/utils/misc/crypto.h
++++ b/sources/common/include/utils/misc/crypto.h
+@@ -33,6 +33,7 @@
+ #include <openssl/aes.h>
+ #include <openssl/engine.h>
+ #include <openssl/conf.h>
++#include "utils/misc/libcrypto-compat.h"
+ /*!
+       @class DHWrapper
+@@ -83,7 +84,7 @@ public:
+       bool CopySharedKey(uint8_t *pDst, int32_t dstLength);
+ private:
+       void Cleanup();
+-      bool CopyKey(BIGNUM *pNum, uint8_t *pDst, int32_t dstLength);
++      bool CopyKey(const BIGNUM *pNum, uint8_t *pDst, int32_t dstLength);
+ };
+ DLLEXP void InitRC4Encryption(uint8_t *secretKey, uint8_t *pubKeyIn, uint8_t *pubKeyOut,
+--- a/sources/common/src/utils/misc/crypto.cpp
++++ b/sources/common/src/utils/misc/crypto.cpp
+@@ -35,6 +35,7 @@ DHWrapper::~DHWrapper() {
+ }
+ bool DHWrapper::Initialize() {
++      BIGNUM *p = NULL, *g = NULL;
+       Cleanup();
+       //1. Create the DH
+@@ -46,42 +47,53 @@ bool DHWrapper::Initialize() {
+       }
+       //2. Create his internal p and g
+-      _pDH->p = BN_new();
+-      if (_pDH->p == NULL) {
++      p = BN_new();
++      if (p == NULL) {
+               FATAL("Unable to create p");
+-              Cleanup();
+-              return false;
++              goto return_error;
+       }
+-      _pDH->g = BN_new();
+-      if (_pDH->g == NULL) {
++      g = BN_new();
++      if (g == NULL) {
+               FATAL("Unable to create g");
+-              Cleanup();
+-              return false;
++              goto return_error;
+       }
+       //3. initialize p, g and key length
+-      if (BN_hex2bn(&_pDH->p, P1024) == 0) {
++      if (BN_hex2bn(&p, P1024) == 0) {
+               FATAL("Unable to parse P1024");
+-              Cleanup();
+-              return false;
++              goto return_error;
+       }
+-      if (BN_set_word(_pDH->g, 2) != 1) {
++      if (BN_set_word(g, 2) != 1) {
+               FATAL("Unable to set g");
+-              Cleanup();
+-              return false;
++              goto return_error;
+       }
+-      //4. Set the key length
+-      _pDH->length = _bitsCount;
++      //4. Set internal p and g
++      if (DH_set0_pqg(_pDH, p, NULL, g) != 1) {
++              FATAL("Unable to set internal p and g");
++              goto return_error;
++      }
++      p = g = NULL;
+-      //5. Generate private and public key
++      //5. Set the key length
++      if (DH_set_length(_pDH, _bitsCount) != 1) {
++              FATAL("Unable to set length");
++              goto return_error;
++      }
++
++      //6. Generate private and public key
+       if (DH_generate_key(_pDH) != 1) {
+               FATAL("Unable to generate DH public/private keys");
+-              Cleanup();
+-              return false;
++              goto return_error;
+       }
+       return true;
++
++return_error:
++      if (p != NULL) BN_free(p);
++      if (g != NULL) BN_free(g);
++      Cleanup();
++      return false;
+ }
+ bool DHWrapper::CopyPublicKey(uint8_t *pDst, int32_t dstLength) {
+@@ -90,7 +102,9 @@ bool DHWrapper::CopyPublicKey(uint8_t *p
+               return false;
+       }
+-      return CopyKey(_pDH->pub_key, pDst, dstLength);
++      const BIGNUM *pub_key;
++      DH_get0_key(_pDH, &pub_key, NULL);
++      return CopyKey(pub_key, pDst, dstLength);
+ }
+ bool DHWrapper::CopyPrivateKey(uint8_t *pDst, int32_t dstLength) {
+@@ -99,7 +113,9 @@ bool DHWrapper::CopyPrivateKey(uint8_t *
+               return false;
+       }
+-      return CopyKey(_pDH->priv_key, pDst, dstLength);
++      const BIGNUM *priv_key;
++      DH_get0_key(_pDH, NULL, &priv_key);
++      return CopyKey(priv_key, pDst, dstLength);
+ }
+ bool DHWrapper::CreateSharedKey(uint8_t *pPeerPublicKey, int32_t length) {
+@@ -153,14 +169,6 @@ bool DHWrapper::CopySharedKey(uint8_t *p
+ void DHWrapper::Cleanup() {
+       if (_pDH != NULL) {
+-              if (_pDH->p != NULL) {
+-                      BN_free(_pDH->p);
+-                      _pDH->p = NULL;
+-              }
+-              if (_pDH->g != NULL) {
+-                      BN_free(_pDH->g);
+-                      _pDH->g = NULL;
+-              }
+               DH_free(_pDH);
+               _pDH = NULL;
+       }
+@@ -177,7 +185,7 @@ void DHWrapper::Cleanup() {
+       }
+ }
+-bool DHWrapper::CopyKey(BIGNUM *pNum, uint8_t *pDst, int32_t dstLength) {
++bool DHWrapper::CopyKey(const BIGNUM *pNum, uint8_t *pDst, int32_t dstLength) {
+       int32_t keySize = BN_num_bytes(pNum);
+       if ((keySize <= 0) || (dstLength <= 0) || (keySize > dstLength)) {
+               FATAL("CopyPublicKey failed due to either invalid DH state or invalid call");
+@@ -197,20 +205,21 @@ void InitRC4Encryption(uint8_t *secretKe
+       uint8_t digest[SHA256_DIGEST_LENGTH];
+       unsigned int digestLen = 0;
+-      HMAC_CTX ctx;
+-      HMAC_CTX_init(&ctx);
+-      HMAC_Init_ex(&ctx, secretKey, 128, EVP_sha256(), 0);
+-      HMAC_Update(&ctx, pubKeyIn, 128);
+-      HMAC_Final(&ctx, digest, &digestLen);
+-      HMAC_CTX_cleanup(&ctx);
++      HMAC_CTX *ctx;
++      ctx = HMAC_CTX_new();
++      if (ctx == NULL)
++              return;
++      HMAC_Init_ex(ctx, secretKey, 128, EVP_sha256(), 0);
++      HMAC_Update(ctx, pubKeyIn, 128);
++      HMAC_Final(ctx, digest, &digestLen);
++      HMAC_CTX_reset(ctx);
+       RC4_set_key(rc4keyOut, 16, digest);
+-      HMAC_CTX_init(&ctx);
+-      HMAC_Init_ex(&ctx, secretKey, 128, EVP_sha256(), 0);
+-      HMAC_Update(&ctx, pubKeyOut, 128);
+-      HMAC_Final(&ctx, digest, &digestLen);
+-      HMAC_CTX_cleanup(&ctx);
++      HMAC_Init_ex(ctx, secretKey, 128, EVP_sha256(), 0);
++      HMAC_Update(ctx, pubKeyOut, 128);
++      HMAC_Final(ctx, digest, &digestLen);
++      HMAC_CTX_free(ctx);
+       RC4_set_key(rc4keyIn, 16, digest);
+ }
+@@ -220,14 +229,17 @@ string md5(string source, bool textResul
+ }
+ string md5(uint8_t *pBuffer, uint32_t length, bool textResult) {
+-      EVP_MD_CTX mdctx;
++      EVP_MD_CTX *mdctx;
+       unsigned char md_value[EVP_MAX_MD_SIZE];
+       unsigned int md_len;
+-      EVP_DigestInit(&mdctx, EVP_md5());
+-      EVP_DigestUpdate(&mdctx, pBuffer, length);
+-      EVP_DigestFinal_ex(&mdctx, md_value, &md_len);
+-      EVP_MD_CTX_cleanup(&mdctx);
++      mdctx = EVP_MD_CTX_new();
++      if (mdctx == NULL)
++              return "";
++      EVP_DigestInit(mdctx, EVP_md5());
++      EVP_DigestUpdate(mdctx, pBuffer, length);
++      EVP_DigestFinal_ex(mdctx, md_value, &md_len);
++      EVP_MD_CTX_free(mdctx);
+       if (textResult) {
+               string result = "";
+@@ -244,12 +256,12 @@ void HMACsha256(const void *pData, uint3
+               const void *pKey, uint32_t keyLength, void *pResult) {
+       unsigned int digestLen;
+-      HMAC_CTX ctx;
+-      HMAC_CTX_init(&ctx);
+-      HMAC_Init_ex(&ctx, (unsigned char*) pKey, keyLength, EVP_sha256(), NULL);
+-      HMAC_Update(&ctx, (unsigned char *) pData, dataLength);
+-      HMAC_Final(&ctx, (unsigned char *) pResult, &digestLen);
+-      HMAC_CTX_cleanup(&ctx);
++      HMAC_CTX *ctx;
++      ctx = HMAC_CTX_new();
++      HMAC_Init_ex(ctx, (unsigned char*) pKey, keyLength, EVP_sha256(), NULL);
++      HMAC_Update(ctx, (unsigned char *) pData, dataLength);
++      HMAC_Final(ctx, (unsigned char *) pResult, &digestLen);
++      HMAC_CTX_free(ctx);
+       o_assert(digestLen == 32);
+ }
+--- a/sources/thelib/src/protocols/ssl/basesslprotocol.cpp
++++ b/sources/thelib/src/protocols/ssl/basesslprotocol.cpp
+@@ -211,6 +211,7 @@ string BaseSSLProtocol::GetSSLErrors() {
+ string BaseSSLProtocol::DumpBIO(BIO *pBIO) {
+       string formatString;
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+       formatString = "method: %p\n";
+       formatString += "callback: %p\n";
+       formatString += "cb_arg: %p\n";
+@@ -240,6 +241,39 @@ string BaseSSLProtocol::DumpBIO(BIO *pBI
+                       pBIO->references,
+                       (int64_t) pBIO->num_read,
+                       (int64_t) pBIO->num_write);
++#else
++// Some of these are problematic in openssl >= 1.1, since
++// the BIO struct is opaque.
++      formatString = "method: %s\n";
++      formatString += "callback: %p\n";
++      formatString += "cb_arg: %p\n";
++      formatString += "init: %d\n";
++      formatString += "shutdown: %d\n";
++      formatString += "flags: %d\n";
++      formatString += "retry_reason: %d\n";
++      formatString += "num: %d\n";
++      formatString += "ptr: %p\n";
++      formatString += "next_bio: %p\n";
++      formatString += "prev_bio: %s\n";
++      formatString += "references: %s\n";
++      formatString += "num_read: %"PRId64"\n";
++      formatString += "num_write: %"PRId64;
++      return format(formatString,
++                      BIO_method_name(pBIO),
++                      BIO_get_callback(pBIO),
++                      BIO_get_callback_arg(pBIO),
++                      BIO_get_init(pBIO),
++                      BIO_get_shutdown(pBIO),
++                      BIO_get_flags(pBIO),
++                      BIO_get_retry_reason(pBIO),
++                      BIO_get_fd(pBIO, NULL),
++                      BIO_get_data(pBIO),
++                      BIO_next(pBIO),
++                      "unknown", //prev_bio
++                      "unknown", //references
++                      BIO_number_read(pBIO),
++                      BIO_number_written(pBIO));
++#endif
+ }
+ void BaseSSLProtocol::InitRandGenerator() {
+--- /dev/null
++++ b/sources/common/include/utils/misc/libcrypto-compat.h
+@@ -0,0 +1,25 @@
++#ifndef LIBCRYPTO_COMPAT_H
++#define LIBCRYPTO_COMPAT_H
++
++#include <openssl/opensslv.h>
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++
++#include <openssl/dh.h>
++#include <openssl/evp.h>
++#include <openssl/hmac.h>
++
++int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g);
++void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key);
++int DH_set_length(DH *dh, long length);
++
++EVP_MD_CTX *EVP_MD_CTX_new(void);
++void EVP_MD_CTX_free(EVP_MD_CTX *ctx);
++#define EVP_MD_CTX_reset EVP_MD_CTX_cleanup
++
++HMAC_CTX *HMAC_CTX_new(void);
++void HMAC_CTX_free(HMAC_CTX *ctx);
++#define HMAC_CTX_reset HMAC_CTX_cleanup
++
++#endif /* OPENSSL_VERSION_NUMBER */
++
++#endif /* LIBCRYPTO_COMPAT_H */
+--- /dev/null
++++ b/sources/common/src/utils/misc/libcrypto-compat.cpp
+@@ -0,0 +1,90 @@
++/*
++ * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
++ *
++ * Licensed under the OpenSSL license (the "License").  You may not use
++ * this file except in compliance with the License.  You can obtain a copy
++ * in the file LICENSE in the source distribution or at
++ * https://www.openssl.org/source/license.html
++ */
++
++#include "utils/misc/libcrypto-compat.h"
++
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++
++#include <string.h>
++
++static void *OPENSSL_zalloc(size_t num)
++{
++    void *ret = OPENSSL_malloc(num);
++
++    if (ret != NULL)
++        memset(ret, 0, num);
++    return ret;
++}
++
++int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g)
++{
++    /* If the fields p and g in d are NULL, the corresponding input
++     * parameters MUST be non-NULL.  q may remain NULL.
++     */
++    if ((dh->p == NULL && p == NULL)
++        || (dh->g == NULL && g == NULL))
++        return 0;
++
++    if (p != NULL) {
++        BN_free(dh->p);
++        dh->p = p;
++    }
++    if (q != NULL) {
++        BN_free(dh->q);
++        dh->q = q;
++    }
++    if (g != NULL) {
++        BN_free(dh->g);
++        dh->g = g;
++    }
++
++    if (q != NULL) {
++        dh->length = BN_num_bits(q);
++    }
++
++    return 1;
++}
++
++void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key)
++{
++    if (pub_key != NULL)
++        *pub_key = dh->pub_key;
++    if (priv_key != NULL)
++        *priv_key = dh->priv_key;
++}
++
++int DH_set_length(DH *dh, long length)
++{
++    dh->length = length;
++    return 1;
++}
++
++EVP_MD_CTX *EVP_MD_CTX_new(void)
++{
++    return (EVP_MD_CTX *)OPENSSL_zalloc(sizeof(EVP_MD_CTX));
++}
++
++void EVP_MD_CTX_free(EVP_MD_CTX *ctx)
++{
++    EVP_MD_CTX_cleanup(ctx);
++    OPENSSL_free(ctx);
++}
++
++HMAC_CTX *HMAC_CTX_new(void)
++{
++    return (HMAC_CTX *)OPENSSL_zalloc(sizeof(HMAC_CTX));
++}
++
++void HMAC_CTX_free(HMAC_CTX *ctx)
++{
++    HMAC_CTX_cleanup(ctx);
++    OPENSSL_free(ctx);
++}
++
++#endif /* OPENSSL_VERSION_NUMBER */
diff --git a/multimedia/crtmpserver/patches/100-openssl-deprecated.patch b/multimedia/crtmpserver/patches/100-openssl-deprecated.patch
new file mode 100644 (file)
index 0000000..60b362b
--- /dev/null
@@ -0,0 +1,46 @@
+--- a/sources/common/src/utils/misc/crypto.cpp
++++ b/sources/common/src/utils/misc/crypto.cpp
+@@ -350,6 +350,7 @@ string unhex(string source) {
+       return result;
+ }
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ void CleanupSSL() {
+       ERR_remove_state(0);
+       ENGINE_cleanup();
+@@ -358,3 +359,4 @@ void CleanupSSL() {
+       EVP_cleanup();
+       CRYPTO_cleanup_all_ex_data();
+ }
++#endif
+--- a/sources/crtmpserver/src/crtmpserver.cpp
++++ b/sources/crtmpserver/src/crtmpserver.cpp
+@@ -298,8 +298,10 @@ void Cleanup() {
+       delete gRs.pConfigFile;
+       gRs.pConfigFile = NULL;
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+       WARN("Doing final OpenSSL cleanup");
+       CleanupSSL();
++#endif
+       WARN("Shutting down the logger leaving you in the dark. Bye bye... :(");
+       Logger::Free(true);
+--- a/sources/thelib/src/protocols/ssl/basesslprotocol.cpp
++++ b/sources/thelib/src/protocols/ssl/basesslprotocol.cpp
+@@ -43,6 +43,7 @@ BaseSSLProtocol::~BaseSSLProtocol() {
+ bool BaseSSLProtocol::Initialize(Variant &parameters) {
+       //1. Initialize the SSL library
+       if (!_libraryInitialized) {
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+               //3. This is the first time we use the library. So we have to
+               //initialize it first
+               SSL_library_init();
+@@ -55,6 +56,7 @@ bool BaseSSLProtocol::Initialize(Variant &parameters) {
+               OpenSSL_add_all_algorithms();
+               OpenSSL_add_all_ciphers();
+               OpenSSL_add_all_digests();
++#endif
+               //initialize the random numbers generator
+               InitRandGenerator();
index 8aa1160fcad26e99860df44632ff37bf9766e495..30a9a3aaa716fa49e72f7dc0f2792695505c74ce 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=youtube-dl
-PKG_VERSION:=2018.06.04
+PKG_VERSION:=2018.12.09
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://yt-dl.org/downloads/$(PKG_VERSION)/
-PKG_HASH:=436ef69e59a1acf8091f5c294a563d6859ce6ec42543ea3abb501e2c09131301
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
+PKG_SOURCE_URL:=https://codeload.github.com/rg3/youtube-dl/tar.gz/$(PKG_VERSION)?
+PKG_HASH:=f277dee39adcf1fa19a14846eebc1e2c3749dd245e11d51783fa5ea366f34bff
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
 
 PKG_LICENSE:=Unlicense
 PKG_LICENSE_FILES:=LICENSE
@@ -33,20 +33,20 @@ define Package/youtube-dl
 endef
 
 define Package/youtube-dl/description
-  youtube-dl is a small command-line program to download videos 
-  from YouTube.com and a few more sites. 
+  youtube-dl is a small command-line program to download videos
+  from YouTube.com and a few more sites.
   It requires the Python interpreter.
 endef
 
 define Package/youtube-dl/install
        $(INSTALL_DIR) $(1)/usr/bin
-       
+
        python -m compileall $(PKG_BUILD_DIR)/youtube_dl/
        cd $(PKG_BUILD_DIR) && zip --quiet youtube-dl-c.zip youtube_dl/*.pyc youtube_dl/*/*.pyc
        cd $(PKG_BUILD_DIR) && zip --quiet --junk-paths youtube-dl-c.zip youtube_dl/__main__.pyc
        echo '#!/usr/bin/env python' > $(PKG_BUILD_DIR)/youtube-dl-c
        cat $(PKG_BUILD_DIR)/youtube-dl-c.zip >> $(PKG_BUILD_DIR)/youtube-dl-c
-       
+
        $(INSTALL_BIN) -T $(PKG_BUILD_DIR)/youtube-dl-c $(1)/usr/bin/youtube-dl
 endef
 
diff --git a/multimedia/youtube-dl/patches/dont-use-pandoc.patch b/multimedia/youtube-dl/patches/dont-use-pandoc.patch
new file mode 100644 (file)
index 0000000..51b3dd5
--- /dev/null
@@ -0,0 +1,21 @@
+diff --git a/Makefile b/Makefile
+index 4a62f44..fee93e8 100644
+--- a/Makefile
++++ b/Makefile
+@@ -85,12 +85,12 @@ supportedsites:
+       $(PYTHON) devscripts/make_supportedsites.py docs/supportedsites.md
+ README.txt: README.md
+-      pandoc -f $(MARKDOWN) -t plain README.md -o README.txt
++#     pandoc -f $(MARKDOWN) -t plain README.md -o README.txt
+ youtube-dl.1: README.md
+-      $(PYTHON) devscripts/prepare_manpage.py youtube-dl.1.temp.md
+-      pandoc -s -f $(MARKDOWN) -t man youtube-dl.1.temp.md -o youtube-dl.1
+-      rm -f youtube-dl.1.temp.md
++#     $(PYTHON) devscripts/prepare_manpage.py youtube-dl.1.temp.md
++#     pandoc -s -f $(MARKDOWN) -t man youtube-dl.1.temp.md -o youtube-dl.1
++#     rm -f youtube-dl.1.temp.md
+ youtube-dl.bash-completion: youtube_dl/*.py youtube_dl/*/*.py devscripts/bash-completion.in
+       $(PYTHON) devscripts/bash-completion.py
index f4f18c4b315af682d0ce3ebbe5a93e76e5e50aa3..07a2bd88468c6bfe85ec2e4f26283ba28e504e2c 100644 (file)
@@ -6,8 +6,8 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=adblock
-PKG_VERSION:=3.5.5
-PKG_RELEASE:=4
+PKG_VERSION:=3.6.1
+PKG_RELEASE:=1
 PKG_LICENSE:=GPL-3.0+
 PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
 
index fb7856624d78f13f31db272fb6af892ed18b5184..b1f00dfa7da81075c35f2a060bf29fafcabfe20d 100644 (file)
@@ -1,7 +1,7 @@
 # dns based ad/abuse domain blocking
 
 ## Description
-A lot of people already use adblocker plugins within their desktop browsers, but what if you are using your (smart) phone, tablet, watch or any other wlan gadget...getting rid of annoying ads, trackers and other abuse sites (like facebook ;-) is simple: block them with your router. When the dns server on your router receives dns requests, you will sort out queries that ask for the resource records of ad servers and return a simple 'NXDOMAIN'. This is nothing but **N**on-e**X**istent Internet or Intranet domain name, if domain name is unable to resolved using the dns server, a condition called the 'NXDOMAIN' occurred.  
+A lot of people already use adblocker plugins within their desktop browsers, but what if you are using your (smart) phone, tablet, watch or any other (wlan) gadget!? Getting rid of annoying ads, trackers and other abuse sites (like facebook) is simple: block them with your router. When the dns server on your router receives dns requests, you will sort out queries that ask for the resource records of ad servers and return a simple 'NXDOMAIN'. This is nothing but **N**on-e**X**istent Internet or Intranet domain name, if domain name is unable to resolved using the dns server, a condition called the 'NXDOMAIN' occurred.  
 
 ## Main Features
 * support of the following domain blocklist sources (free for private usage, for commercial use please check their individual licenses):
@@ -86,16 +86,17 @@ A lot of people already use adblocker plugins within their desktop browsers, but
 * keep the dns cache intact after adblock processing (currently supported by unbound, named and kresd)
 * conditional dns backend restarts by old/new blocklist comparison with sha256sum (default) or md5sum
 * suspend & resume adblock actions temporarily without blocklist reloading
-* output comprehensive runtime information via LuCI or via 'status' init command
+* provide comprehensive runtime information via LuCI or via 'status' init command
+* provide a detailed DNS Query Report with dns related information about client requests, top (blocked) domains and more
 * query function to quickly identify blocked (sub-)domains, e.g. for whitelisting
+* force dns requests to local resolver
+* force overall sort / duplicate removal for low memory devices (handle with care!)
+* automatic blocklist backup & restore, they will be used in case of download errors or during startup in backup mode
+* 'backup mode' to re-use blocklist backups during startup, get fresh lists only via reload or restart action
+* 'Jail' blocklist generation which builds an additional list (/tmp/adb_list.jail) to block access to all domains except those listed in the whitelist file. You can use this restrictive blocklist manually e.g. for guest wifi or kidsafe configurations
+* send notification emails in case of a processing error or if the overall domain count is &le; 0
+* add new adblock sources on your own, see example below
 * strong LuCI support
-* optional: force dns requests to local resolver
-* optional: force overall sort / duplicate removal for low memory devices (handle with care!)
-* optional: automatic blocklist backup & restore, they will be used in case of download errors or during startup in backup mode
-* optional: 'backup mode' to re-use blocklist backups during startup, get fresh lists only via reload or restart action
-* optional: 'Jail' blocklist generation which builds an additional list (/tmp/adb_list.jail) to block access to all domains except those listed in the whitelist file. You can use this restrictive blocklist manually e.g. for guest wifi or kidsafe configurations
-* optional: send notification emails in case of a processing error or if the overall domain count is &le; 0
-* optional: add new adblock sources on your own, see example below
 
 ## Prerequisites
 * [OpenWrt](https://openwrt.org), tested with the stable release series (18.06) and with the latest snapshot
@@ -104,6 +105,8 @@ A lot of people already use adblocker plugins within their desktop browsers, but
     * to support all blocklist sources a full version (with ssl support) of 'wget', 'uclient-fetch' with one of the 'libustream-*' ssl libraries, 'aria2c' or 'curl' is required
     * for limited devices with real memory constraints, adblock provides also a 'http only' option and supports wget-nossl and uclient-fetch (without libustream-ssl) as well
     * for more configuration options see examples below
+* email notification (optional): for email notification support you need to install and configure the additional 'msmtp' package
+* DNS Query Report (optional): for this detailed report you need to install the additional package 'tcpdump-mini'
 
 ## Installation & Usage
 * install 'adblock' (_opkg install adblock_)
@@ -111,7 +114,7 @@ A lot of people already use adblocker plugins within their desktop browsers, but
 * control the adblock service manually with _/etc/init.d/adblock_ start/stop/restart/reload/suspend/resume/status or use the LuCI frontend
 
 ## LuCI adblock companion package
-* for easy management of the various blocklist sources and adblock runtime options you should use the provided LuCI frontend
+* it's strongly recommended to use the LuCI frontend to easily configure all powerful aspects of adblock
 * install 'luci-app-adblock' (_opkg install luci-app-adblock_)
 * the application is located in LuCI under 'Services' menu
 
@@ -141,11 +144,20 @@ A lot of people already use adblocker plugins within their desktop browsers, but
     * adb\_trigger => set the startup trigger to a certain interface, to 'timed' or to 'none' (default: 'wan')
 
 * the following options apply to the 'extra' config section:
+    * adb\_nice => set the nice level of the adblock process and all sub-processes (int/default: '0', standard priority)
     * adb\_triggerdelay => additional trigger delay in seconds before adblock processing begins (int/default: '2')
     * adb\_forcedns => force dns requests to local resolver (bool/default: '0', disabled)
     * adb\_forcesrt => force overall sort on low memory devices with less than 64 MB RAM (bool/default: '0', disabled)
+    * adb\_backup => create compressed blocklist backups, they will be used in case of download errors or during startup in backup mode (bool/default: '0', disabled)
+    * adb\_backupdir => target directory for adblock backups (default: not set)
     * adb\_backup_mode => do not automatically update blocklists during startup, use backups instead (bool/default: '0', disabled)
-    * adb\_maxqueue => size of the download queue to handle downloads & list processing in parallel (int/default: '4')
+    * adb\_report => enable the background tcpdump gathering process to provide a detailed DNS Query Report (bool/default: '0', disabled)
+    * adb\_repdir => target directory for dns related report files generated by tcpdump (default: '/tmp')
+    * adb\_repiface => reporting interface used by tcpdump, set to 'any' for multiple interfaces (default: 'br-lan')
+    * adb\_replisten => space separated list of reporting port(s) used by tcpdump (default: '53')
+    * adb\_repchunksize => report chunk size used by tcpdump in MB (int/default: '1')
+    * adb\_repchunkcnt => report chunk count used by tcpdump (default: '5')
+    * adb\_maxqueue => size of the download queue to handle downloads & list processing in parallel (int/default: '8')
     * adb\_jail => builds an additional 'Jail' list (/tmp/adb_list.jail) to block access to all domains except those listed in the whitelist file (bool/default: '0', disabled)
     * adb\_dnsflush => flush DNS cache after adblock processing, i.e. enable the old restart behavior (bool/default: '0', disabled)
     * adb\_notify => send notification emails in case of a processing error or if the overall domain count is &le; 0 (bool/default: '0', disabled)
@@ -218,12 +230,48 @@ Finally make this file executable via 'chmod' and test it directly. If no more e
 /etc/init.d/adblock status
 ::: adblock runtime information
   + adblock_status  : enabled
-  + adblock_version : 3.5.5
-  + overall_domains : 97199 (backup mode)
+  + adblock_version : 3.6.0
+  + overall_domains : 30267 (backup mode)
   + fetch_utility   : /bin/uclient-fetch (libustream-ssl)
-  + dns_backend     : unbound (/var/lib/unbound)
-  + last_rundate    : 01.09.2018 07:09:16
-  + system_release  : PC Engines APU, OpenWrt SNAPSHOT r7986-dc9388ac55
+  + dns_backend     : dnsmasq (/tmp)
+  + last_rundate    : 19.12.2018 16:29:25
+  + system_release  : GL-AR750S, OpenWrt SNAPSHOT r8814-6835c13e5a
+</code></pre>
+  
+**receive adblock DNS Query Report information:**
+<pre><code>
+/etc/init.d/adblock report
+:::
+::: Adblock DNS-Query Report
+:::
+  + Start   ::: 2018-12-19, 16:29:40
+  + End     ::: 2018-12-19, 16:45:08
+  + Total   ::: 42
+  + Blocked ::: 17 (40.48 %)
+:::
+::: Top 10 Clients
+  + 32       ::: 101.167.1.103
+  + 10       ::: abc1:abc1:abc0:0:abc1:abcb:abc5:abc3
+:::
+::: Top 10 Domains
+  + 7        ::: dns.msftncsi.com
+  + 4        ::: forum.openwrt.org
+  + 2        ::: outlook.office365.com
+  + 1        ::: www.google.com
+  + 1        ::: www.deepl.com
+  + 1        ::: safebrowsing.googleapis.com
+  + 1        ::: play.googleapis.com
+  + 1        ::: odc.officeapps.live.com
+  + 1        ::: login.microsoftonline.com
+  + 1        ::: test-my.sharepoint.com
+:::
+::: Top 10 Blocked Domains
+  + 4        ::: nexus.officeapps.live.com
+  + 4        ::: mobile.pipe.aria.microsoft.com
+  + 3        ::: watson.telemetry.microsoft.com
+  + 2        ::: v10.events.data.microsoft.com
+  + 2        ::: settings-win.data.microsoft.com
+  + 2        ::: nexusrules.officeapps.live.com
 </code></pre>
   
 **cronjob for a regular block list update (/etc/crontabs/root):**
@@ -302,7 +350,7 @@ config source 'reg_ro'
 To add a really new source with different domain/host format you have to write a suitable awk one-liner on your own, so basic awk skills are needed. As a starting point check the already existing awk rulesets 'adb_src_rset' in the config file, probably you need only small changes for your individual list. Download the desired list and test your new awk string locally. The output result should be a sequential list with one domain/host per line - nothing more. If your awk one-liner works quite well, add a new source section to the adblock config file and test the new source.  
 
 ## Support
-Please join the adblock discussion in this [forum thread](https://forum.lede-project.org/t/adblock-2-x-support-thread/507) or contact me by mail <dev@brenken.org>  
+Please join the adblock discussion in this [forum thread](https://forum.openwrt.org/t/adblock-support-thread/507) or contact me by mail <dev@brenken.org>  
 
 ## Removal
 * stop all adblock related services with _/etc/init.d/adblock stop_
index 49ca1bce754f627b7442421062d5d915a6e32100..1c1a19d97189e113dc70e4fbad94f7360a38b1f4 100644 (file)
@@ -9,10 +9,10 @@ config adblock 'global'
 
 config adblock 'extra'
        option adb_debug '0'
-       option adb_forcesrt '0'
        option adb_forcedns '0'
        option adb_backup '0'
-       option adb_maxqueue '4'
+       option adb_report '0'
+       option adb_maxqueue '8'
 
 config source 'adaway'
        option adb_src 'https://adaway.org/hosts.txt'
index 2ae2b086bb0af8b2f726882f78be0936534a4582..2378a55b33110cc5077429802d5c0f9465623e51 100755 (executable)
@@ -4,10 +4,11 @@
 START=30
 USE_PROCD=1
 
-EXTRA_COMMANDS="suspend resume query status"
+EXTRA_COMMANDS="suspend resume query report status"
 EXTRA_HELP="   suspend Suspend adblock processing
        resume  Resume adblock processing
        query   <DOMAIN> Query active blocklists for specific domains
+       report  Print dns query statistics
        status  Print runtime information"
 
 adb_init="/etc/init.d/adblock"
@@ -77,6 +78,12 @@ query()
        rc_procd "${adb_script}" query "${1}"
 }
 
+report()
+{
+       [ -s "${adb_pidfile}" ] && return 1
+       rc_procd "${adb_script}" report "${1}"
+}
+
 status()
 {
        local key keylist value rtfile="$(uci_get adblock extra adb_rtfile)"
index e0c9b89e37e3e3b8339fe2b30da296bf2eae4bff..ffc520b6f3f8cab788fdfca226b34938ee00d179 100755 (executable)
@@ -10,7 +10,7 @@
 #
 LC_ALL=C
 PATH="/usr/sbin:/usr/bin:/sbin:/bin"
-adb_ver="3.5.5-4"
+adb_ver="3.6.1"
 adb_sysver="unknown"
 adb_enabled=0
 adb_debug=0
@@ -18,7 +18,7 @@ adb_backup_mode=0
 adb_forcesrt=0
 adb_forcedns=0
 adb_jail=0
-adb_maxqueue=4
+adb_maxqueue=8
 adb_notify=0
 adb_notifycnt=0
 adb_triggerdelay=0
@@ -35,6 +35,13 @@ adb_rtfile="/tmp/adb_runtime.json"
 adb_hashutil="$(command -v sha256sum)"
 adb_hashold=""
 adb_hashnew=""
+adb_report=0
+adb_repiface="br-lan"
+adb_replisten="53"
+adb_repdir="/tmp"
+adb_reputil="$(command -v tcpdump)"
+adb_repchunkcnt="5"
+adb_repchunksize="1"
 adb_cnt=""
 adb_rc=0
 adb_action="${1:-"start"}"
@@ -300,7 +307,7 @@ f_rmdns()
                fi
                f_rmtemp
        fi
-       f_log "debug" "f_rmdns::: dns: ${adb_dns}, dns_dir: ${adb_dnsdir}, dns_prefix: ${adb_dnsprefix}, dns_file: ${adb_dnsfile}, rt_file: ${adb_rtfile}, backup_dir: ${adb_backupdir}"
+       f_log "debug" "f_rmdns  ::: dns: ${adb_dns}, dns_dir: ${adb_dnsdir}, dns_prefix: ${adb_dnsprefix}, dns_file: ${adb_dnsfile}, rt_file: ${adb_rtfile}, backup_dir: ${adb_backupdir}"
 }
 
 # commit uci changes
@@ -325,7 +332,7 @@ f_uci()
                        esac
                fi
        fi
-       f_log "debug" "f_uci  ::: config: ${config}, change: ${change}"
+       f_log "debug" "f_uci    ::: config: ${config}, change: ${change}"
 }
 
 # list/overall count
@@ -337,7 +344,7 @@ f_count()
        adb_cnt=0
        if [ -s "${adb_dnsdir}/${adb_dnsfile}" ] && ([ -z "${mode}" ] || [ "${mode}" = "final" ])
        then
-               adb_cnt="$(( $(wc -l 2>/dev/null < "${adb_dnsdir}/${adb_dnsfile}") ))"
+               adb_cnt="$(wc -l 2>/dev/null < "${adb_dnsdir}/${adb_dnsfile}")"
                if [ -s "${adb_tmpdir}/tmp.add_whitelist" ]
                then
                        adb_cnt="$(( ${adb_cnt} - $(wc -l 2>/dev/null < "${adb_tmpdir}/tmp.add_whitelist") ))"
@@ -488,7 +495,7 @@ f_dnsup()
                cnt=$((cnt+1))
                sleep 1
        done
-       f_log "debug" "f_dnsup::: cache_util: ${cache_util:-"-"}, cache_rc: ${cache_rc:-"-"}, cache_flush: ${adb_dnsflush}, cache_cnt: ${cnt}, rc: ${adb_rc}"
+       f_log "debug" "f_dnsup  ::: cache_util: ${cache_util:-"-"}, cache_rc: ${cache_rc:-"-"}, cache_flush: ${adb_dnsflush}, cache_cnt: ${cnt}, rc: ${adb_rc}"
        return ${adb_rc}
 }
 
@@ -557,7 +564,7 @@ f_list()
                ;;
        esac
        f_count "${mode}"
-       f_log "debug" "f_list ::: name: ${src_name:-"-"}, mode: ${mode}, cnt: ${adb_cnt}, in_rc: ${in_rc}, out_rc: ${adb_rc}"
+       f_log "debug" "f_list   ::: name: ${src_name:-"-"}, mode: ${mode}, cnt: ${adb_cnt}, in_rc: ${in_rc}, out_rc: ${adb_rc}"
 }
 
 # top level domain compression
@@ -581,6 +588,7 @@ f_tld()
                                if [ ${?} -eq 0 ]
                                then
                                        cnt_tld="$(wc -l 2>/dev/null < "${source}")"
+                                       rm -f "${temp}"
                                else
                                        mv -f "${temp}" > "${source}"
                                fi
@@ -589,7 +597,7 @@ f_tld()
                        mv -f "${temp}" "${source}"
                fi
        fi
-       f_log "debug" "f_tld  ::: source: ${source}, cnt: ${cnt:-"-"}, cnt_srt: ${cnt_srt:-"-"}, cnt_tld: ${cnt_tld:-"-"}"
+       f_log "debug" "f_tld    ::: source: ${source}, cnt: ${cnt:-"-"}, cnt_srt: ${cnt_srt:-"-"}, cnt_tld: ${cnt_tld:-"-"}"
 }
 
 # blocklist hash compare
@@ -618,7 +626,7 @@ f_hash()
                        adb_hashnew=""
                fi
        fi
-       f_log "debug" "f_hash ::: hash_util: ${adb_hashutil}, hash: ${hash}, out_rc: ${hash_rc}"
+       f_log "debug" "f_hash   ::: hash_util: ${adb_hashutil}, hash: ${hash}, out_rc: ${hash_rc}"
        return ${hash_rc}
 }
 
@@ -628,6 +636,8 @@ f_switch()
 {
        local status cnt mode="${1}"
 
+       json_load_file "${adb_rtfile}" >/dev/null 2>&1
+       json_select "data"
        json_get_var status "adblock_status"
        json_get_var cnt "overall_domains"
 
@@ -739,19 +749,29 @@ f_jsnup()
                mode="backup mode"
        fi
 
-       if [ -z "${adb_fetchinfo}" ]
-       then
-               json_get_var adb_fetchinfo "fetch_utility"
-       fi
-       if [ -z "${adb_cnt}" ]
-       then
-               json_get_var adb_cnt "overall_domains"
-               adb_cnt="${adb_cnt%% *}"
-       fi
-       if [ -z "${run_time}" ]
+       json_load_file "${adb_rtfile}" >/dev/null 2>&1
+       json_select "data" >/dev/null 2>&1
+       if [ ${?} -eq 0 ]
        then
-               json_get_var run_time "last_rundate"
+               if [ -z "${adb_fetchinfo}" ]
+               then
+                       json_get_var adb_fetchinfo "fetch_utility"
+               fi
+               if [ -z "${adb_cnt}" ]
+               then
+                       json_get_var adb_cnt "overall_domains"
+                       adb_cnt="${adb_cnt%% *}"
+               fi
+               if [ -z "${run_time}" ]
+               then
+                       json_get_var run_time "last_rundate"
+               fi
        fi
+
+       > "${adb_rtfile}"
+       json_load_file "${adb_rtfile}" >/dev/null 2>&1
+       json_init
+       json_add_object "data"
        json_add_string "adblock_status" "${status}"
        json_add_string "adblock_version" "${adb_ver}"
        json_add_string "overall_domains" "${adb_cnt:-0} (${mode})"
@@ -759,15 +779,16 @@ f_jsnup()
        json_add_string "dns_backend" "${adb_dns} (${adb_dnsdir})"
        json_add_string "last_rundate" "${run_time:-"-"}"
        json_add_string "system_release" "${adb_sysver}"
+       json_close_object
        json_dump > "${adb_rtfile}"
 
        if [ ${adb_notify} -eq 1 ] && [ ${no_mail} -eq 0 ] && [ -x /etc/adblock/adblock.notify ] && \
                ([ "${status}" = "error" ] || ([ "${status}" = "enabled" ] && [ ${adb_cnt} -le ${adb_notifycnt} ]))
        then
-               (/etc/adblock/adblock.notify >/dev/null 2>&1) &
+               (/etc/adblock/adblock.notify >/dev/null 2>&1)&
                bg_pid=${!}
        fi
-       f_log "debug" "f_jsnup::: status: ${status}, mode: ${mode}, cnt: ${adb_cnt}, notify: ${adb_notify}, notify_cnt: ${adb_notifycnt}, notify_pid: ${bg_pid:-"-"}"
+       f_log "debug" "f_jsnup  ::: status: ${status}, mode: ${mode}, cnt: ${adb_cnt}, notify: ${adb_notify}, notify_cnt: ${adb_notifycnt}, notify_pid: ${bg_pid:-"-"}"
 }
 
 # write to syslog
@@ -803,7 +824,7 @@ f_main()
        > "${adb_tmpdir}/tmp.raw_whitelist"
        > "${adb_tmpdir}/tmp.add_whitelist"
        > "${adb_tmpdir}/tmp.rem_whitelist"
-       f_log "debug" "f_main ::: dns: ${adb_dns}, fetch_util: ${adb_fetchinfo}, backup: ${adb_backup}, backup_mode: ${adb_backup_mode}, dns_jail: ${adb_jail}, force_srt: ${adb_forcesrt}, force_dns: ${adb_forcedns}, mem_total: ${mem_total:-0}, mem_free: ${mem_free:-0}, max_queue: ${adb_maxqueue}"
+       f_log "debug" "f_main   ::: dns: ${adb_dns}, fetch_util: ${adb_fetchinfo}, backup: ${adb_backup}, backup_mode: ${adb_backup_mode}, dns_jail: ${adb_jail}, force_srt: ${adb_forcesrt}, force_dns: ${adb_forcedns}, mem_total: ${mem_total:-0}, mem_free: ${mem_free:-0}, max_queue: ${adb_maxqueue}"
 
        # prepare whitelist entries
        #
@@ -848,7 +869,7 @@ f_main()
 
                # basic pre-checks
                #
-               f_log "debug" "f_main ::: name: ${src_name}, enabled: ${enabled}"
+               f_log "debug" "f_main   ::: name: ${src_name}, enabled: ${enabled}"
                if [ "${enabled}" != "1" ] || [ -z "${src_url}" ] || [ -z "${src_rset}" ]
                then
                        f_list remove
@@ -894,7 +915,7 @@ f_main()
                                                fi
                                        else
                                                src_log="$(printf '%s' "${src_log}" | awk '{ORS=" ";print $0}')"
-                                               f_log "debug" "f_main ::: name: ${src_name}, url: ${src_url}, rc: ${adb_rc}, log: ${src_log:-"-"}"
+                                               f_log "debug" "f_main   ::: name: ${src_name}, url: ${src_url}, rc: ${adb_rc}, log: ${src_log:-"-"}"
                                        fi
                                ) &
                        else
@@ -925,7 +946,7 @@ f_main()
                                        done
                                else
                                        src_log="$(printf '%s' "${src_log}" | awk '{ORS=" ";print $0}')"
-                                       f_log "debug" "f_main ::: name: ${src_name}, url: ${src_url}, rc: ${adb_rc}, log: ${src_log:-"-"}"
+                                       f_log "debug" "f_main   ::: name: ${src_name}, url: ${src_url}, rc: ${adb_rc}, log: ${src_log:-"-"}"
                                fi
                                if [ ${adb_rc} -eq 0 ] && [ -s "${adb_tmpload}" ]
                                then
@@ -979,7 +1000,7 @@ f_main()
                                        fi
                                else
                                        src_log="$(printf '%s' "${src_log}" | awk '{ORS=" ";print $0}')"
-                                       f_log "debug" "f_main ::: name: ${src_name}, url: ${src_url}, rc: ${adb_rc}, log: ${src_log:-"-"}"
+                                       f_log "debug" "f_main   ::: name: ${src_name}, url: ${src_url}, rc: ${adb_rc}, log: ${src_log:-"-"}"
                                        if [ ${adb_backup} -eq 1 ]
                                        then
                                                f_list restore
@@ -1032,6 +1053,184 @@ f_main()
        exit ${adb_rc}
 }
 
+# trace dns queries via tcpdump and prepare a report
+#
+f_report()
+{
+       local bg_pid total blocked percent rep_clients rep_domains rep_blocked index hold ports cnt=0 print="${1:-"true"}"
+
+       if [ ! -x "${adb_reputil}" ]
+       then
+               f_log "info" "Please install the package 'tcpdump-mini' manually to use the adblock reporting feature!"
+               return 0
+       fi
+
+       bg_pid="$(pgrep -f "^${adb_reputil}.*adb_report\.pcap$" | awk '{ORS=" "; print $1}')"
+       if [ ${adb_report} -eq 0 ] || ([ -n "${bg_pid}" ] && ([ "${adb_action}" = "stop" ] || [ "${adb_action}" = "restart" ]))
+       then
+               if [ -n "${bg_pid}" ]
+               then
+                       kill -HUP ${bg_pid}
+                       while $(kill -0 ${bg_pid} 2>/dev/null)
+                       do
+                               sleep 1
+                       done
+                       unset bg_pid
+               fi
+       fi
+       if [ -z "${bg_pid}" ] && [ "${adb_action}" != "report" ] && [ "${adb_action}" != "stop" ]
+       then
+               for port in ${adb_replisten}
+               do
+                       if [ -z "${ports}" ]
+                       then
+                               ports="port ${port}"
+                       else
+                               ports="${ports} or port ${port}"
+                       fi
+               done
+               ("${adb_reputil}" -nn -s0 -l -i ${adb_repiface} ${ports} -C${adb_repchunksize} -W${adb_repchunkcnt} -w "${adb_repdir}/adb_report.pcap" >/dev/null 2>&1 &)
+       fi
+       if [ "${adb_action}" = "report" ]
+       then
+               > "${adb_repdir}/adb_report.raw"
+               for file in "${adb_repdir}"/adb_report.pcap*
+               do
+                       (
+                               "${adb_reputil}" -nn -tttt -r $file 2>/dev/null | \
+                                       awk -v cnt=${cnt} '!/\.lan\. /&&/ A[\? ]+|NXDomain/{a=$1;b=substr($2,0,8);c=$4;sub(/\.[0-9]+$/,"",c); \
+                                       d=cnt $7;e=$(NF-1);sub(/[0-9]\/[0-9]\/[0-9]/,"NX",e);sub(/\.$/,"",e);sub(/([0-9]{1,3}\.){3}[0-9]{1,3}/,"OK",e);printf("%s\t%s\t%s\t%s\t%s\n", a,b,c,d,e)}' >> "${adb_repdir}/adb_report.raw"
+                       )&
+                       hold=$(( cnt % adb_maxqueue ))
+                       if [ ${hold} -eq 0 ]
+                       then
+                               wait
+                       fi
+                       cnt=$(( cnt + 1 ))
+               done
+               wait
+
+               if [ -s "${adb_repdir}/adb_report.raw" ]
+               then
+                       awk '{printf("%s\t%s\t%s\t%s\t%s\t%s\n", $4,$5,$1,$2,$3,$4)}' "${adb_repdir}/adb_report.raw" | \
+                               sort -ur | uniq -uf2 | awk '{currA=($6+0);currB=$6;currC=substr($6,length($6),1); \
+                               if(reqA==currB){reqA=0;printf("%s\t%s\n",d,$2)}else if(currC=="+"){reqA=currA;d=$3"\t"$4"\t"$5"\t"$2}}' | sort -ur > "${adb_repdir}/adb_report"
+               fi
+
+               if [ -s "${adb_repdir}/adb_report" ]
+               then
+                       total="$(wc -l < ${adb_repdir}/adb_report)"
+                       blocked="$(awk '{if($5=="NX")print $4}' ${adb_repdir}/adb_report | wc -l)"
+                       percent="$(awk -v t=${total} -v b=${blocked} 'BEGIN{printf("%.2f %s\n",b/t*100, "%")}')"
+                       rep_clients="$(awk '{print $3}' ${adb_repdir}/adb_report | sort | uniq -c | sort -r | awk '{ORS=" ";if(NR<=10) printf("%s_%s ",$1,$2)}')"
+                       rep_domains="$(awk '{if($5!="NX")print $4}' ${adb_repdir}/adb_report | sort | uniq -c | sort -r | awk '{ORS=" ";if(NR<=10)printf("%s_%s ",$1,$2)}')"
+                       rep_blocked="$(awk '{if($5=="NX")print $4}' ${adb_repdir}/adb_report | sort | uniq -c | sort -r | awk '{ORS=" ";if(NR<=10)printf("%s_%s ",$1,$2)}')"
+
+                       > "${adb_repdir}/adb_report.json"
+                       json_load_file "${adb_repdir}/adb_report.json" >/dev/null 2>&1
+                       json_init
+                       json_add_object "data"
+                       json_add_string "start_date" "$(awk 'END{printf("%s",$1)}' ${adb_repdir}/adb_report)"
+                       json_add_string "start_time" "$(awk 'END{printf("%s",$2)}' ${adb_repdir}/adb_report)"
+                       json_add_string "end_date" "$(awk 'NR==1{printf("%s",$1)}' ${adb_repdir}/adb_report)"
+                       json_add_string "end_time" "$(awk 'NR==1{printf("%s",$2)}' ${adb_repdir}/adb_report)"
+                       json_add_string "total" "${total}"
+                       json_add_string "blocked" "${blocked}"
+                       json_add_string "percent" "${percent}"
+                       json_close_array
+                       json_add_array "top_clients"
+                       for client in ${rep_clients}
+                       do
+                               json_add_object
+                               json_add_string "count" "${client%_*}"
+                               json_add_string "address" "${client#*_}"
+                               json_close_object
+                       done
+                       json_close_array
+                       json_add_array "top_domains"
+                       for domain in ${rep_domains}
+                       do
+                               json_add_object
+                               json_add_string "count" "${domain%_*}"
+                               json_add_string "address" "${domain#*_}"
+                               json_close_object
+                       done
+                       json_close_array
+                       json_add_array "top_blocked"
+                       for block in ${rep_blocked}
+                       do
+                               json_add_object
+                               json_add_string "count" "${block%_*}"
+                               json_add_string "address" "${block#*_}"
+                               json_close_object
+                       done
+                       json_close_object
+                       json_dump > "${adb_repdir}/adb_report.json"
+               fi
+               rm -f "${adb_repdir}/adb_report.raw"
+
+               if [ "${print}" = "true" ]
+               then
+                       if [ -s "${adb_repdir}/adb_report.json" ]
+                       then
+                               printf "%s\n%s\n%s\n" ":::" "::: Adblock DNS-Query Report" ":::"
+                               json_load_file "${adb_repdir}/adb_report.json"
+                               json_select "data"
+                               json_get_keys keylist
+                               for key in ${keylist}
+                               do
+                                       json_get_var value "${key}"
+                                       eval "${key}=\"${value}\""
+                               done
+                               printf "  + %s\n  + %s\n" "Start   ::: ${start_date}, ${start_time}" "End     ::: ${end_date}, ${end_time}"
+                               printf "  + %s\n  + %s %s\n" "Total   ::: ${total}" "Blocked ::: ${blocked}" "(${percent})"
+                               json_select ".."
+                               if json_get_type Status "top_clients" && [ "${Status}" = "array" ]
+                               then
+                                       printf "%s\n%s\n" ":::" "::: Top 10 Clients"
+                                       json_select "top_clients"
+                                       index=1
+                                       while json_get_type Status ${index} && [ "${Status}" = "object" ]
+                                       do
+                                               json_get_values client ${index}
+                                               printf "  + %-9s::: %s\n" ${client}
+                                               index=$((index + 1))
+                                       done
+                               fi
+                               json_select ".."
+                               if json_get_type Status "top_domains" && [ "${Status}" = "array" ]
+                               then
+                                       printf "%s\n%s\n" ":::" "::: Top 10 Domains"
+                                       json_select "top_domains"
+                                       index=1
+                                       while json_get_type Status ${index} && [ "${Status}" = "object" ]
+                                       do
+                                               json_get_values domain ${index}
+                                               printf "  + %-9s::: %s\n" ${domain}
+                                               index=$((index + 1))
+                                       done
+                               fi
+                               json_select ".."
+                               if json_get_type Status "top_blocked" && [ "${Status}" = "array" ]
+                               then
+                                       printf "%s\n%s\n" ":::" "::: Top 10 Blocked Domains"
+                                       json_select "top_blocked"
+                                       index=1
+                                       while json_get_type Status ${index} && [ "${Status}" = "object" ]
+                                       do
+                                               json_get_values blocked ${index}
+                                               printf "  + %-9s::: %s\n" ${blocked}
+                                               index=$((index + 1))
+                                       done
+                               fi
+                       else
+                               printf "%s\n" "::: no reporting data available yet"
+                       fi
+               fi
+       fi
+       f_log "debug" "f_report ::: action: ${adb_action}, report: ${adb_report}, print: ${print}, reputil: ${adb_reputil}, repdir: ${adb_repdir}, repiface: ${adb_repiface}, replisten: ${adb_replisten}, repchunksize: ${adb_repchunksize}, repchunkcnt: ${adb_repchunkcnt}, bg_pid: ${bg_pid}"
+}
+
 # source required system libraries
 #
 if [ -r "/lib/functions.sh" ] && [ -r "/usr/share/libubox/jshn.sh" ]
@@ -1042,25 +1241,16 @@ else
        f_log "err" "system libraries not found"
 fi
 
-# initialize json runtime file
-#
-json_load_file "${adb_rtfile}" >/dev/null 2>&1
-json_select data >/dev/null 2>&1
-if [ ${?} -ne 0 ]
-then
-       > "${adb_rtfile}"
-       json_init
-       json_add_object "data"
-fi
-
 # handle different adblock actions
 #
 f_envload
 case "${adb_action}" in
        stop)
+               f_report false
                f_rmdns
        ;;
        restart)
+               f_report false
                f_rmdns
                f_envcheck
                f_main
@@ -1071,10 +1261,14 @@ case "${adb_action}" in
        resume)
                f_switch resume
        ;;
+       report)
+               f_report "${2}"
+       ;;
        query)
                f_query "${2}"
        ;;
        start|reload)
+               f_report false
                f_envcheck
                f_main
        ;;
diff --git a/net/aria2/patches/010-Platform-Fix-compilation-without-deprecated-OpenSSL-.patch b/net/aria2/patches/010-Platform-Fix-compilation-without-deprecated-OpenSSL-.patch
new file mode 100644 (file)
index 0000000..fc31b7d
--- /dev/null
@@ -0,0 +1,30 @@
+From 0cfd523a6d0ea16d8b7c94160216838d53c30da6 Mon Sep 17 00:00:00 2001
+From: Rosen Penev <rosenp@gmail.com>
+Date: Sat, 8 Dec 2018 18:39:50 -0800
+Subject: [PATCH] Platform: Fix compilation without deprecated OpenSSL APIs
+
+---
+ src/Platform.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/Platform.cc b/src/Platform.cc
+index ea73b6c6..0af62d18 100644
+--- a/src/Platform.cc
++++ b/src/Platform.cc
+@@ -111,11 +111,13 @@ bool Platform::setUp()
+ #endif // ENABLE_NLS
+ #ifdef HAVE_OPENSSL
++#if !OPENSSL_101_API
+   // for SSL initialization
+   SSL_load_error_strings();
+   SSL_library_init();
+   // Need this to "decrypt" p12 files.
+   OpenSSL_add_all_algorithms();
++#endif // !OPENSSL_101_API
+ #endif // HAVE_OPENSSL
+ #ifdef HAVE_LIBGCRYPT
+   if (!gcry_check_version("1.2.4")) {
+-- 
+2.20.0
+
index 2e50b0244d7341ce84cf176be974c0efb0a61e64..519f91091f7ba6ed43a296c5147f79f6d80567b3 100644 (file)
@@ -6,7 +6,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=banip
-PKG_VERSION:=0.0.6
+PKG_VERSION:=0.0.7
 PKG_RELEASE:=1
 PKG_LICENSE:=GPL-3.0+
 PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
index 20e15c938a1850239d61388a198d661e732d5268..963439441e093dcf49b555332fc9235bcde7967e 100755 (executable)
@@ -10,7 +10,7 @@
 #
 LC_ALL=C
 PATH="/usr/sbin:/usr/bin:/sbin:/bin"
-ban_ver="0.0.6"
+ban_ver="0.0.7"
 ban_sysver="unknown"
 ban_enabled=0
 ban_automatic="1"
@@ -169,10 +169,16 @@ f_envcheck()
 
        for iface in ${ban_iface}
        do
-               network_get_physdev tmp "${iface}"
+               network_get_device tmp "${iface}"
                if [ -n "${tmp}" ]
                then
                        ban_dev="${ban_dev} ${tmp}"
+               else
+                       network_get_physdev tmp "${iface}"
+                       if [ -n "${tmp}" ]
+                       then
+                               ban_dev="${ban_dev} ${tmp}"
+                       fi
                fi
                network_get_subnets tmp "${iface}"
                if [ -n "${tmp}" ]
index 9b5467def4f5451511e3310be462f4eaeaea0ba6..04b87672a70294b2177c53151ae6e5ba6582b007 100644 (file)
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
 PKG_NAME:=chaosvpn
 
 PKG_VERSION:=2.19
-PKG_RELEASE=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/ryd/chaosvpn/tar.gz/v$(PKG_VERSION)?
diff --git a/net/chaosvpn/patches/010-openssl-deprecated.patch b/net/chaosvpn/patches/010-openssl-deprecated.patch
new file mode 100644 (file)
index 0000000..4690f92
--- /dev/null
@@ -0,0 +1,47 @@
+--- a/crypto.c
++++ b/crypto.c
+@@ -14,6 +14,12 @@
+ #include <openssl/pem.h>
+ #include <openssl/ssl.h>
++#ifndef OPENSSL_VERSION
++#define OPENSSL_VERSION               SSLEAY_VERSION
++#define OpenSSL_version(x)    SSLeay_version(x)
++#define OpenSSL_version_num   SSLeay
++#endif
++
+ /*
+ This checks data in a struct string against a signature in a second
+@@ -250,14 +256,18 @@ bail_out:
+ void
+ crypto_init(void)
+ {
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+     /* Just load the crypto library error strings, not SSL */
+     ERR_load_crypto_strings();
++#endif
+ }
+ void
+ crypto_finish(void)
+ {
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+     ERR_free_strings();
++#endif
+ }
+ void
+@@ -268,10 +278,10 @@ crypto_warn_openssl_version_changed(void)
+      * OpenSSL library used.
+      * Output a warning if not.
+      */
+-    if (SSLeay() != OPENSSL_VERSION_NUMBER) {
++    if (OpenSSL_version_num() != OPENSSL_VERSION_NUMBER) {
+         log_info("Note: compiled using OpenSSL version '%s' headers, but linked to "
+           "OpenSSL version '%s' library",
+           OPENSSL_VERSION_TEXT,
+-          SSLeay_version(SSLEAY_VERSION));
++          OpenSSL_version(OPENSSL_VERSION));
+     }
+ }
index d68d3b0bc6c1b1342e93294c32b6944f94f0b4c0..595aa00e374803c2be4959e49f3befa0fa2553f5 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=clamav
 PKG_VERSION:=0.101.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_LICENSE:=GPL-2.0
 PKG_MAINTAINER:=Marko Ratkaj <marko.ratkaj@sartura.hr> \
@@ -28,7 +28,7 @@ include $(INCLUDE_DIR)/package.mk
 
 define Package/clamav/Default
   SECTION:=net
-  DEPENDS:=+libpthread +uclibcxx +zlib +libcurl +libjson-c +libmilter-sendmail +libopenssl +libltdl +libpcre2 +USE_MUSL:musl-fts
+  DEPENDS:=$(CXX_DEPENDS) +libpthread +zlib +libcurl +libjson-c +libmilter-sendmail +libopenssl +libltdl +libpcre2 +USE_MUSL:musl-fts
   CATEGORY:=Network
   SUBMENU:=Web Servers/Proxies
   TITLE:=ClamAV
index 27317f2f99e4c0266e4d398f2f62d1e1e391955b..9f7104779103402931ed160116d0c96327e8b262 100644 (file)
@@ -11,12 +11,12 @@ PKG_LICENSE:=ASL-2.0
 PKG_MAINTAINER:=Mislav Novakovic <mislav.novakovic@sartura.hr>
 
 PKG_NAME:=go-ethereum
-PKG_VERSION:=1.8.18
+PKG_VERSION:=1.8.20
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/ethereum/go-ethereum/tar.gz/v${PKG_VERSION}?
-PKG_HASH:=cbab18a733298830c9ed1e19c1ece37edf417fd55ec8f198803048ecc3ffa0b9
+PKG_HASH:=7299f72a1d35a2653075a2070babf78f98f6eb3f41da43293304737ac0156658
 
 PKG_BUILD_DEPENDS:=golang/host
 PKG_BUILD_PARALLEL:=1
index ccdd3d71c0780d9095ef18b7d8ad659d718c700e..fbcd6eec8ba63b7f56786cbecac857baea9e456a 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=git
-PKG_VERSION:=2.20.0
+PKG_VERSION:=2.20.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@KERNEL/software/scm/git/
-PKG_HASH:=bc94735073e14b138a1290cc99af3c379d544f514c43f8ebde988fc50d0ad81f
+PKG_HASH:=9d2e91e2faa2ea61ba0a70201d023b36f54d846314591a002c610ea2ab81c3e9
 
 PKG_INSTALL:=1
 PKG_FIXUP:=autoreconf
index 42ada2e6c4dcf9936a42a1636ad6ce6ebb80ca20..2ae62524b1aff7c58f08f9ded76e76c05b29a7c6 100644 (file)
@@ -8,15 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gitolite
-PKG_VERSION:=3.6.8
+PKG_VERSION:=3.6.10
 PKG_RELEASE:=1
 
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.xz
-PKG_MIRROR_HASH:=652d3b3f8ed93b8ef56153337465cc7260974e5cd2653e949da1bb97a8421ea0
-
-PKG_SOURCE_URL:=https://github.com/sitaramc/gitolite.git
-PKG_SOURCE_VERSION:=e126e97a4d5575821f89ae80dac402b017db94aa
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_HASH:=0ae3bea637b25cff13826e5ecd181c7b74a6eff377cf4c2243d85c2b0a290d3f
+PKG_SOURCE_URL:=https://codeload.github.com/sitaramc/gitolite/tar.gz/v$(PKG_VERSION)?
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_SUBDIR)
 
@@ -28,7 +25,7 @@ define Package/gitolite
   SUBMENU:=Version Control Systems
   DEPENDS:=+perlbase-essential +perlbase-sys +perlbase-data +perlbase-digest +perlbase-env +perlbase-time +git +perlbase-findbin +perlbase-storable +perlbase-text +perlbase-getopt +perlbase-utf8 +openssh-keygen +openssh-server +openssh-moduli perl
   TITLE:=Easy administration of git repositories
-  URL:=http://gitolite.com/gitlolite
+  URL:=http://gitolite.com/gitolite
   MAINTAINER:=Daniel Dickinson <cshored@thecshore.com>
   USERID:=git=382:git=382
 endef
index 622667988ab8d759cb6d4f949f74fcdb5a8bfffe..8a03244c43321a9291916dd90b25a106b38cc166 100644 (file)
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=haproxy
-PKG_VERSION:=1.8.15
-PKG_RELEASE:=2
+PKG_VERSION:=1.8.16
+PKG_RELEASE:=1
 
 PKG_SOURCE:=haproxy-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://www.haproxy.org/download/1.8/src/
-PKG_HASH:=7113862f1146d7de8b8e64f45826ab3533c7f7f7b7767e24c08f7c762202a032
+PKG_HASH:=5401e4ad243d9e403621e389ec3605d8d43241affe0b72f0b15c0db8a7a3653f
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
 PKG_LICENSE:=GPL-2.0
index 39e46a4f3f27df42d51a3c84332ab22262987843..b55bf64f813da6028bf1d2c5da8c4f831181146f 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/bash
 
 CLONEURL=http://git.haproxy.org/git/haproxy-1.8.git
-BASE_TAG=v1.8.15
+BASE_TAG=v1.8.16
 TMP_REPODIR=tmprepo
 PATCHESDIR=patches
 
index 4f5e25119916954051b306995ca470f3adbed8e4..38663bcc33eee90eb57b9191753244b37fb63448 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=keepalived
 PKG_VERSION:=2.0.7
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.keepalived.org/software
@@ -53,6 +53,7 @@ define Package/keepalived/conffiles
 endef
 
 CONFIGURE_ARGS+= \
+       --disable-libipset \
        --disable-libnl \
        --enable-sha1 \
        --disable-snmp \
index 37845146ce692d4c45252e5c1188ff3221f3f018..5072a45b6e370ffe41faa7ed4ff2953d120b8924 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=mDNSResponder
-PKG_VERSION:=878.70.2
+PKG_VERSION:=878.200.35
 PKG_RELEASE:=1
 
 PKG_SOURCE:=mDNSResponder-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://opensource.apple.com/tarballs/mDNSResponder/
-PKG_HASH:=cdd03171ca05f16ea987bba1f8b0c4847d3035283ea0f5fa0ade75f64ec83ed5
+PKG_SOURCE_URL:=https://opensource.apple.com/tarballs/mDNSResponder/
+PKG_HASH:=e777b4d7dbf5eb1552cb80090ad1ede319067ab6e45e3990d68aabf6e8b3f5a0
 PKG_MAINTAINER:=
 PKG_LICENSE:=Apache-2.0
 
index 998c241c56c2d8f3e197a28907fcf8defcdab65e..cb623824b2c457d0ce01a618927f2502ba4a2490 100644 (file)
@@ -220,39 +220,15 @@ index b392fc7..f551ad5 100755
  
  /* Converts a prefix length to IPv6 network mask */
  void plen_to_mask(int plen, char *addr) {
-@@ -86,7 +87,7 @@ struct ifi_info *get_ifi_info_linuxv6(int family, int doaliases)
-     FILE *fp = NULL;
-     char addr[8][5];
-     int flags, myflags, index, plen, scope;
--    char ifname[9], lastname[IFNAMSIZ];
-+    char ifname[IFNAMSIZ], lastname[IFNAMSIZ];
-     char addr6[32+7+1]; /* don't forget the seven ':' */
-     struct addrinfo hints, *res0;
-     int err;
-@@ -92,7 +93,8 @@ struct ifi_info *get_ifi_info_linuxv6(int family, int doaliases)
-     int err;
-     int sockfd = -1;
-     struct ifreq ifr;
--
-+    char mask[64] = "%4s%4s%4s%4s%4s%4s%4s%4s %02x %02x %02x %02x %";
-+    sprintf(mask+strlen(mask), "%ds\n", IFNAMSIZ);
-     res0=NULL;
-     ifihead = NULL;
-     ifipnext = &ifihead;
-@@ -104,11 +106,12 @@ struct ifi_info *get_ifi_info_linuxv6(int family, int doaliases)
-             goto gotError;
-         }
-         while (fscanf(fp,
--                      "%4s%4s%4s%4s%4s%4s%4s%4s %02x %02x %02x %02x %8s\n",
-+                      mask,
-                       addr[0],addr[1],addr[2],addr[3],
-                       addr[4],addr[5],addr[6],addr[7],
-                       &index, &plen, &scope, &flags, ifname) != EOF) {
+@@ -127,6 +128,8 @@
+             nitems = fscanf(fp, ifnameFmt, ifname);
+             if (nitems != 1) break;
  
 +            if (flags & IFA_F_DEPRECATED) continue;
-             myflags = 0;
-             if (strncmp(lastname, ifname, IFNAMSIZ) == 0) {
++
+             if (strcmp(lastname, ifname) == 0) {
                  if (doaliases == 0)
+                     continue;   /* already processed this interface */
 diff --git a/mDNSShared/dnsextd_parser.y b/mDNSShared/dnsextd_parser.y
 index 18c5990..d4b63ce 100644
 --- a/mDNSShared/dnsextd_parser.y
index 611187676989ab74d85e41286d6fb48e095ba6ad..16b2cc99adfc7bf5255398ba422d1f43dec9ec40 100644 (file)
@@ -1,6 +1,6 @@
 --- a/Clients/dns-sd.c
 +++ b/Clients/dns-sd.c
-@@ -2288,7 +2288,7 @@ Fail:
+@@ -2281,7 +2281,7 @@ Fail:
  
  // NOT static -- otherwise the compiler may optimize it out
  // The "@(#) " pattern is a special prefix the "what" command looks for
@@ -48,5 +48,5 @@
  
  // NOT static -- otherwise the compiler may optimize it out
  // The "@(#) " pattern is a special prefix the "what" command looks for
--const char VersionString_SCCS_libdnssd[] = "@(#) libdns_sd " STRINGIFY(mDNSResponderVersion) " (" __DATE__ " " __TIME__ ")";
-+const char VersionString_SCCS_libdnssd[] = "@(#) libdns_sd " STRINGIFY(mDNSResponderVersion);
+-const char VersionString_SCCS_libdnssd[] DNSSD_USED = "@(#) libdns_sd " STRINGIFY(mDNSResponderVersion) " (" __DATE__ " " __TIME__ ")";
++const char VersionString_SCCS_libdnssd[] DNSSD_USED = "@(#) libdns_sd " STRINGIFY(mDNSResponderVersion);
index 515be4737e2827456f73651c8eec2af4b29c83a6..f4ac111f79a56830236943350ad643ccdba4569c 100644 (file)
@@ -9,15 +9,15 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=mosquitto
-PKG_VERSION:=1.5.4
-PKG_RELEASE:=3
+PKG_VERSION:=1.5.5
+PKG_RELEASE:=1
 PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE_FILES:=LICENSE.txt
 PKG_CPE_ID:=cpe:/a:eclipse:mosquitto
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://mosquitto.org/files/source/
-PKG_HASH:=5fd7f3454fd6d286645d032bc07f44a1c8583cec02ef2422c9eb32e0a89a9b2f
+PKG_HASH:=fcdb47e340864c545146681af7253399cc292e41775afd76400fda5b0d23d668
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
 
 include $(INCLUDE_DIR)/package.mk
index b3ea84d905eedee116fdc58bdc30954d7e3241ed..410089032186cae500004c9905950dc6936e7598 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=mwan3
-PKG_VERSION:=2.7.6
+PKG_VERSION:=2.7.8
 PKG_RELEASE:=1
 PKG_MAINTAINER:=Florian Eckert <fe@dev.tdt.de>
 PKG_LICENSE:=GPLv2
index 4ad3bc3910655e423ab706e11f59befc6d160776..6aee3db0c0bc68cbb037b829332641dfb3f65621 100755 (executable)
@@ -61,12 +61,6 @@ ifup()
                echo "Too many arguments. Usage: mwan3 ifup <interface>" && exit 0
        fi
 
-       config_get_bool enabled globals 'enabled' 0
-       [ ${enabled} -gt 0 ] || {
-               echo "Warning: mwan3 is global disabled. Usage: /etc/init.d/mwan3 start"
-               exit 0
-       }
-
        status=$(ubus -S call network.interface.$1 status)
        [ -n "$status" ] && {
                json_load $status
@@ -75,7 +69,6 @@ ifup()
 
        config_get enabled "$1" enabled 0
 
-
        if [ "$up" = "1" ] \
                && [ -n "$l3_device" ] \
                && [ "$enabled" = "1" ]; then
@@ -132,34 +125,16 @@ status()
 
 start()
 {
-       local enabled src_ip local_source
+       local enabled
 
        uci_toggle_state mwan3 globals enabled "1"
 
-       config_get local_source globals local_source 'none'
-       [ "${local_source}" = "none" ] || {
-               src_ip=$(uci_get_state mwan3 globals src_ip)
-               [ "${src_ip}" != "" ] && {
-                       ip route del default via "${src_ip}" dev lo 1>/dev/null 2>&1
-                       ip addr del "${src_ip}/32" dev lo 1>/dev/null 2>&1
-               }
-
-               network_get_ipaddr src_ip "${local_source}"
-               if [ "${src_ip}" = "" ]; then
-                       $LOG warn "Unable to set source ip for own initiated traffic (${local_source})"
-               else
-                       ip addr add "${src_ip}/32" dev lo
-                       ip route add default via "${src_ip}" dev lo
-                       uci_toggle_state mwan3 globals src_ip "${src_ip}"
-               fi
-       }
-
        config_foreach ifup interface
 }
 
 stop()
 {
-       local ipset route rule table IP IPT pid src_ip
+       local ipset route rule table IP IPT pid
 
        for pid in $(pgrep -f "mwan3rtmon"); do
                kill -TERM "$pid" > /dev/null 2>&1
@@ -212,12 +187,6 @@ stop()
        mwan3_lock_clean
        rm -rf $MWAN3_STATUS_DIR $MWAN3TRACK_STATUS_DIR
 
-       src_ip=$(uci_get_state mwan3 globals src_ip)
-       [ "${src_ip}" = "" ] || {
-               ip route del default via "${src_ip}" dev lo 1>/dev/null 2>&1
-               ip addr del "${src_ip}/32" dev lo 1>/dev/null 2>&1
-       }
-
        uci_toggle_state mwan3 globals enabled "0"
 }
 
index 4208784725fac630f00fc9ac36af1fd7781d1484..f268f90b25bdc07bbeaf7c1147b3ff2d9de56bc5 100755 (executable)
@@ -43,6 +43,12 @@ validate_track_method() {
                                return 1
                        }
                        ;;
+               nping-*)
+                       which nping 1>/dev/null 2>&1 || {
+                               $LOG warn "Missing nping. Please install nping package."
+                               return 1
+                       }
+                       ;;
                *)
                        $LOG warn "Unsupported tracking method: $track_method"
                        return 2
@@ -146,6 +152,18 @@ main() {
                                                httping -y $SRC_IP -c $count -t $timeout -q $track_ip &> /dev/null
                                                result=$?
                                        ;;
+                                       nping-tcp)
+                                               result=$(nping -e $DEVICE -c $count $track_ip --tcp | grep Lost | awk '{print $12}')
+                                       ;;
+                                       nping-udp)
+                                               result=$(nping -e $DEVICE -c $count $track_ip --udp | grep Lost | awk '{print $12}')
+                                       ;;
+                                       nping-icmp)
+                                               result=$(nping -e $DEVICE -c $count $track_ip --icmp | grep Lost | awk '{print $12}')
+                                       ;;
+                                       nping-arp)
+                                               result=$(nping -e $DEVICE -c $count $track_ip --arp | grep Lost | awk '{print $12}')
+                                       ;;
                                esac
                                if [ $check_quality -eq 0 ]; then
                                        if [ $result -eq 0 ]; then
index 7405ad20be2dfb1982b2f0b06ac42fd923076412..985feae5da512458a1c6faa53e4973f9d5a357c6 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=nut
 PKG_VERSION:=2.7.4
-PKG_RELEASE:=12
+PKG_RELEASE:=13
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.networkupstools.org/source/2.7/
index 045b29d48d06e1428b7b120c0ac94be68955f979..a1df01645428b0c67ee99b5cefbf8d5f52edfc29 100755 (executable)
@@ -145,37 +145,35 @@ build_driver_config() {
 
        echo "[$cfg]" >>"$UPS_C"
 
-       get_write_driver_config "$cfg" driver "usbhid-ups"
-       get_write_driver_config "$cfg" port "auto"
-       get_write_driver_config "$cfg" sdorder
+       get_write_driver_config "$cfg" bus
+       get_write_driver_config "$cfg" community
        get_write_driver_config "$cfg" desc
-       get_write_driver_config "$cfg" nolock 0 1
+       get_write_driver_config "$cfg" driver "usbhid-ups"
        get_write_driver_config "$cfg" ignorelb 0 1
+       get_write_driver_config "$cfg" interruptonly 0 1
+       get_write_driver_config "$cfg" interruptsize
+       get_write_driver_config "$cfg" maxreport
+       get_write_driver_config "$cfg" maxstartdelay
        get_write_driver_config "$cfg" mfr
        get_write_driver_config "$cfg" model
-       get_write_driver_config "$cfg" serial
-       get_write_driver_config "$cfg" sdtime
+       get_write_driver_config "$cfg" nolock 0 1
+       get_write_driver_config "$cfg" notransferoids 0 1
        get_write_driver_config "$cfg" offdelay
        get_write_driver_config "$cfg" ondelay
        get_write_driver_config "$cfg" pollfreq
-       get_write_driver_config "$cfg" vendor
+       get_write_driver_config "$cfg" port "auto"
        get_write_driver_config "$cfg" product
-       get_write_driver_config "$cfg" bus
-       get_write_driver_config "$cfg" interruptonly 0 1
-       get_write_driver_config "$cfg" interruptsize
-       get_write_driver_config "$cfg" maxreport
-       get_write_driver_config "$cfg" vendorid
        get_write_driver_config "$cfg" productid
-       get_write_driver_config "$cfg" community
+       get_write_driver_config "$cfg" retrydelay
+       get_write_driver_config "$cfg" sdorder
+       get_write_driver_config "$cfg" sdtime
+       get_write_driver_config "$cfg" serial
        get_write_driver_config "$cfg" snmp_version
        get_write_driver_config "$cfg" snmp_retries
        get_write_driver_config "$cfg" snmp_timeout
-       get_write_driver_config "$cfg" notransferoids 0 1
-       get_write_driver_config "$cfg" maxstartdelay
-       get_write_driver_config "$cfg" retrydelay
        get_write_driver_config "$cfg" synchronous
-       get_write_driver_config "$cfg" other
-       get_write_driver_config "$cfg" otherflag
+       get_write_driver_config "$cfg" vendor
+       get_write_driver_config "$cfg" vendorid
 
        defoverride() {
                local overvar="$1"
@@ -194,18 +192,16 @@ build_driver_config() {
                local othervarflag="$2"
 
                if [ "$othervarflag" = "otherflag" ]; then
-                       config_get_bool otherval "${othervarflag}_${overtype}" value
-                       [ "$otherval" = "1" ] && echo "${othervarflag}_${othervar}" >>"$UPS_C"
+                       config_get_bool otherval "${othervarflag}_${othervar}" value
+                       [ "$otherval" = "1" ] && echo "${othervar}" >>"$UPS_C"
                else
-                       config_get otherval "${othervarflag}_${overtype}" value
-                       [ -n "$otherval" ] && echo "${othervarflag}_${othervar} = $otherval" >>"$UPS_C"
+                       config_get otherval "${othervarflag}_${othervar}" value
+                       [ -n "$otherval" ] && echo "${othervar} = $otherval" >>"$UPS_C"
                fi
        }
 
-       config_list_foreach "$cfg" override defoverride override
-       config_list_foreach "$cfg" default defoverride default
-       config_list_foreach "$cfg" default other other
-       config_list_foreach "$cfg" default other otherflag
+       config_list_foreach "$cfg" other other
+       config_list_foreach "$cfg" other otherflag
        echo "" >>$UPS_C
        havedriver=1
 }
@@ -229,7 +225,6 @@ build_global_driver_config() {
 }
 
 build_config() {
-       local RUNAS=nut
        local STATEPATH=/var/run/nut
 
         mkdir -m 0755 -p "$(dirname "$UPS_C")"
@@ -285,7 +280,7 @@ start_driver_instance() {
 }
 
 start_server_instance() {
-       local RUNAS
+       local RUNAS=nut
        build_config
 
        [ "$haveserver" != 1 ] && return
index 464d56303be09e87fd9484b79c7012a203f684db..6449203a479ae6a57659be7bae13db169a037a59 100644 (file)
@@ -1,8 +1,9 @@
+#config driver_global 'driver_global'
+#      option user nut
+
 #config driver 'upsname'
 #      option driver usbhid-ups
 #      option port auto
-#      option other other-value
-#      option runas root
 
 #config user
 #      option username upsuser
index fb1eeb234d383222236267d17416afefa3acd783..8e57624b02fdeb7cb0b30954665ec88b8a17c637 100644 (file)
@@ -2,7 +2,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=samba
-PKG_VERSION:=4.9.2
+PKG_VERSION:=4.9.4
 PKG_RELEASE:=1
 
 PKG_MAINTAINER:=Andy Walsh <andy.walsh44+github@gmail.com>
@@ -11,7 +11,7 @@ PKG_LICENSE_FILES:=COPYING
 
 PKG_SOURCE_URL:=https://download.samba.org/pub/samba/stable/
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_HASH:=349c17b7bf1bf667167843470533da89ff1b2ca4a768b529aaacf5197af1efa2
+PKG_HASH:=6d98a8d8bcccbe788e4bbb406362e6676311aca711a3f3cc9b3a404bb9ff0b4f
 
 # Buildroot bug? Can't add target deps via '+SAMBA4_SERVER_AD_DC:python-crypto' (as work-around we select via config.in)
 PKG_BUILD_DEPENDS:=SAMBA4_SERVER_AD_DC:python-crypto nfs-kernel-server/host
index 77f2079fa4aa73b3058be2575b3b1c01dd950d39..50cb2eb49fa869b870ca74429921fea8f5dd998e 100644 (file)
@@ -11,7 +11,7 @@ include $(TOPDIR)/rules.mk
 PKG_NAME:=shorewall-core
 PKG_MAJOR_MINOR_VERSION:=5.2
 PKG_BUGFIX_MAJOR_VERSION:=1
-PKG_BUGFIX_MINOR_VERSION:=.2
+PKG_BUGFIX_MINOR_VERSION:=.4
 PKG_VERSION:=$(PKG_MAJOR_MINOR_VERSION).$(PKG_BUGFIX_MAJOR_VERSION)$(PKG_BUGFIX_MINOR_VERSION)
 PKG_DIRECTORY:=$(PKG_MAJOR_MINOR_VERSION).$(PKG_BUGFIX_MAJOR_VERSION)
 PKG_RELEASE:=1
@@ -22,7 +22,7 @@ PKG_SOURCE_URL:=http://www.shorewall.net/pub/shorewall/$(PKG_MAJOR_MINOR_VERSION
        http://shorewall.de/pub/shorewall/$(PKG_MAJOR_MINOR_VERSION)/shorewall-$(PKG_DIRECTORY)/ \
        http://www.shorewall.com.au/$(PKG_MAJOR_MINOR_VERSION)/shorewall-$(PKG_DIRECTORY)/
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_HASH:=f84852b86c82487f270172f2d00d13b83255dc05eee9be1e8b76fe7b600021b5
+PKG_HASH:=48195c9e4f9ecd75014a36219e4c7b8c15bff36d149284bc6ac29696b475971d
 
 PKG_MAINTAINER:=Willem van den Akker <wvdakker@wilsoft.nl>
 PKG_LICENSE:=GPL-2.0+
index 384f885a3cd9f038054df2d8fcc0348677f31b64..f87df0adbd3a11b2b07428719db84f9a818ed846 100644 (file)
@@ -11,7 +11,7 @@ include $(TOPDIR)/rules.mk
 PKG_NAME:=shorewall-lite
 PKG_MAJOR_MINOR_VERSION:=5.2
 PKG_BUGFIX_MAJOR_VERSION:=1
-PKG_BUGFIX_MINOR_VERSION:=.2
+PKG_BUGFIX_MINOR_VERSION:=.4
 PKG_VERSION:=$(PKG_MAJOR_MINOR_VERSION).$(PKG_BUGFIX_MAJOR_VERSION)$(PKG_BUGFIX_MINOR_VERSION)
 PKG_DIRECTORY:=$(PKG_MAJOR_MINOR_VERSION).$(PKG_BUGFIX_MAJOR_VERSION)
 PKG_RELEASE:=1
@@ -22,7 +22,7 @@ PKG_SOURCE_URL:=http://www.shorewall.net/pub/shorewall/$(PKG_MAJOR_MINOR_VERSION
        http://shorewall.de/pub/shorewall/$(PKG_MAJOR_MINOR_VERSION)/shorewall-$(PKG_DIRECTORY)/ \
        http://www.shorewall.com.au/$(PKG_MAJOR_MINOR_VERSION)/shorewall-$(PKG_DIRECTORY)/
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_HASH:=8c3ac19563847b30a064fc64f0fd8e64f61db03dc6b9ff28609876dce13af806
+PKG_HASH:=d322121f03a2d6c0845f46a3f1a7d98f9fb0660e6d65b30622154799682ec55f
 
 PKG_MAINTAINER:=Willem van den Akker <wvdakker@wilsoft.nl>
 PKG_LICENSE:=GPL-2.0+
index c0fa621b0a5eca4be1a54ab5d9bbec81463bb5f7..0ab410b1afaea0ac82bd3fa53a761c54fe4a281a 100644 (file)
@@ -11,7 +11,7 @@ include $(TOPDIR)/rules.mk
 PKG_NAME:=shorewall
 PKG_MAJOR_MINOR_VERSION:=5.2
 PKG_BUGFIX_MAJOR_VERSION:=1
-PKG_BUGFIX_MINOR_VERSION:=.2
+PKG_BUGFIX_MINOR_VERSION:=.4
 PKG_VERSION:=$(PKG_MAJOR_MINOR_VERSION).$(PKG_BUGFIX_MAJOR_VERSION)$(PKG_BUGFIX_MINOR_VERSION)
 PKG_DIRECTORY:=$(PKG_MAJOR_MINOR_VERSION).$(PKG_BUGFIX_MAJOR_VERSION)
 PKG_RELEASE:=1
@@ -22,7 +22,7 @@ PKG_SOURCE_URL:=http://www.shorewall.net/pub/shorewall/$(PKG_MAJOR_MINOR_VERSION
        http://shorewall.de/pub/shorewall/$(PKG_MAJOR_MINOR_VERSION)/shorewall-$(PKG_DIRECTORY)/ \
        http://www.shorewall.com.au/$(PKG_MAJOR_MINOR_VERSION)/shorewall-$(PKG_DIRECTORY)/
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_HASH:=07a914270d169261deff6cc835a031ec187de2575c5476e3bd55224a4855fc64
+PKG_HASH:=420ba5a66b348990388131cdc3821f79d87f00fd1266c904a701b8a5823756e0
 
 PKG_MAINTAINER:=Willem van den Akker <wvdakker@wilsoft.nl>
 PKG_LICENSE:=GPL-2.0+
index b415ae86e91040ec17c7c646e08312d28f5bd81f..24ca7371bd6472c02e370f2c135f3481a75a53eb 100644 (file)
@@ -11,7 +11,7 @@ include $(TOPDIR)/rules.mk
 PKG_NAME:=shorewall6-lite
 PKG_MAJOR_MINOR_VERSION:=5.2
 PKG_BUGFIX_MAJOR_VERSION:=1
-PKG_BUGFIX_MINOR_VERSION:=.2
+PKG_BUGFIX_MINOR_VERSION:=.4
 PKG_VERSION:=$(PKG_MAJOR_MINOR_VERSION).$(PKG_BUGFIX_MAJOR_VERSION)$(PKG_BUGFIX_MINOR_VERSION)
 PKG_DIRECTORY:=$(PKG_MAJOR_MINOR_VERSION).$(PKG_BUGFIX_MAJOR_VERSION)
 PKG_RELEASE:=1
@@ -22,7 +22,7 @@ PKG_SOURCE_URL:=http://www.shorewall.net/pub/shorewall/$(PKG_MAJOR_MINOR_VERSION
        http://shorewall.de/pub/shorewall/$(PKG_MAJOR_MINOR_VERSION)/shorewall-$(PKG_DIRECTORY)/ \
        http://www.shorewall.com.au/$(PKG_MAJOR_MINOR_VERSION)/shorewall-$(PKG_DIRECTORY)/
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_HASH:=859995c6cf86d5f865b842b130ce7bd0c3acfa9efdeedc8484287cab5c94cb03
+PKG_HASH:=6dad347b2202334b9da44b316a25273cdb28401623a6fd0c6bba9c7731e0a280
 
 PKG_MAINTAINER:=Willem van den Akker <wvdakker@wilsoft.nl>
 PKG_LICENSE:=GPL-2.0+
index ee1cdb356a69ad65ebd95a8a5be4ee38e01c43cf..3def88c2da55d4760a3e0ab1c07edbf7eb83d717 100644 (file)
@@ -11,7 +11,7 @@ include $(TOPDIR)/rules.mk
 PKG_NAME:=shorewall6
 PKG_MAJOR_MINOR_VERSION:=5.2
 PKG_BUGFIX_MAJOR_VERSION:=1
-PKG_BUGFIX_MINOR_VERSION:=.2
+PKG_BUGFIX_MINOR_VERSION:=.4
 PKG_VERSION:=$(PKG_MAJOR_MINOR_VERSION).$(PKG_BUGFIX_MAJOR_VERSION)$(PKG_BUGFIX_MINOR_VERSION)
 PKG_DIRECTORY:=$(PKG_MAJOR_MINOR_VERSION).$(PKG_BUGFIX_MAJOR_VERSION)
 PKG_RELEASE:=1
@@ -22,7 +22,7 @@ PKG_SOURCE_URL:=http://www.shorewall.net/pub/shorewall/$(PKG_MAJOR_MINOR_VERSION
        http://shorewall.de/pub/shorewall/$(PKG_MAJOR_MINOR_VERSION)/shorewall-$(PKG_DIRECTORY)/ \
        http://www.shorewall.com.au/$(PKG_MAJOR_MINOR_VERSION)/shorewall-$(PKG_DIRECTORY)/
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_HASH:=4f6fc8e9a3494ee6b67ee47e327fccfb8e56b392ea9f7f65344d1b8adaa38018
+PKG_HASH:=eaf6b55c8e9801c89114371dbda37f635ad95cba35519b94b7536c1c7ecb53fa
 
 PKG_MAINTAINER:=Willem van den Akker <wvdakker@wilsoft.nl>
 PKG_LICENSE:=GPL-2.0+
index c896e09293bd29e6339523e2bb7734d9bd701866..1d7bcd4e7a6b2e8b9a0139495734c5acd91a43a1 100644 (file)
@@ -25,6 +25,7 @@ PKG_LICENSE:=GPL-2.0
 PKG_LICENSE_FILES:=COPYING
 
 PKG_BUILD_DEPENDS:=softethervpn/host
+HOST_BUILD_DEPENDS:=readline/host
 
 HAMCORE_SE2:=$(STAGING_DIR_HOST)/share/softethervpn/hamcore.se2
 
@@ -32,13 +33,6 @@ include $(INCLUDE_DIR)/nls.mk
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/host-build.mk
 
-
-# Override CC to add fake libreadline to linker search path
-HOSTCC += -L./src/readline
-
-# Add defines to turn add_history() and readline() calls into no-ops
-HOSTCC += -D'add_history(x)' -D'readline(x)=\"\"'
-
 # Execute in host build directory
 HOST_MAKE_FLAGS += -C $(HOST_BUILD_DIR)
 
@@ -50,15 +44,10 @@ define Host/Configure
 endef
 
 define Host/Compile
-       # Prepare fake readline headers and library
-       mkdir -p $(HOST_BUILD_DIR)/src/readline
-       touch $(HOST_BUILD_DIR)/src/readline/readline.h
-       touch $(HOST_BUILD_DIR)/src/readline/history.h
-       ar rcs $(HOST_BUILD_DIR)/src/readline/libreadline.a
-
        # Build hamcorebuilder using host compiler and let it generate
        # the hamcore.se2 archive file
-       CC="$(HOSTCC)" $(MAKE) $(HOST_MAKE_FLAGS) \
+       # CFLAGS, CPPFLAGS & LDFLAGS need to be passed with CC because they are being ingored
+       CC="$(HOSTCC) $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(HOST_LDFLAGS)" $(MAKE) $(HOST_MAKE_FLAGS) \
                src/bin/BuiltHamcoreFiles/unix/hamcore.se2
 endef
 
index 6cbf19bf3967ee5d7ce1ac8ec11ad8ae4996ecad..6e7ab46fdd5fed3930ce8f76b820203680929ca5 100644 (file)
@@ -9,10 +9,10 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=subversion
 PKG_RELEASE:=1
-PKG_VERSION:=1.10.2
+PKG_VERSION:=1.11.0
 PKG_SOURCE_URL:=@APACHE/subversion
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_HASH:=5b35e3a858d948de9e8892bf494893c9f7886782f6abbe166c0487c19cf6ed88
+PKG_HASH:=87c44344b074ac2e9ed7ca9675fb1e5b197051c3deecfe5934e5f6aefbf83e56
 PKG_LICENSE:=Apache-2.0
 PKG_LICENSE_FILES:=LICENSE
 PKG_MAINTAINER:=Val Kulkov <val.kulkov@gmail.com>
index 156ff95547fde2e8c02d0d51ec82a22bd695fedd..f1cffbffe207c69d9cc2d2f3922637e13197a53c 100644 (file)
@@ -9,12 +9,13 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=tinc
 PKG_VERSION:=1.0.35
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://www.tinc-vpn.org/packages
+PKG_SOURCE_URL:=https://www.tinc-vpn.org/packages
 PKG_HASH:=18c83b147cc3e2133a7ac2543eeb014d52070de01c7474287d3ccecc9b16895e
 
+PKG_BUILD_PARALLEL:=1
 PKG_INSTALL:=1
 
 include $(INCLUDE_DIR)/package.mk
diff --git a/net/tinc/patches/010-Fix-compilation-when-OpenSSL-has-no-ENGINE-support.patch b/net/tinc/patches/010-Fix-compilation-when-OpenSSL-has-no-ENGINE-support.patch
new file mode 100644 (file)
index 0000000..5b03fc3
--- /dev/null
@@ -0,0 +1,48 @@
+From 43e323f5fd61ddf2c2adc2a5c12455b6578c059a Mon Sep 17 00:00:00 2001
+From: Rosen Penev <rosenp@gmail.com>
+Date: Wed, 12 Dec 2018 13:40:37 -0800
+Subject: [PATCH 1/2] Fix compilation when OpenSSL has no ENGINE support
+
+This will be the case in OpenWrt soon.
+---
+ src/tincd.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/tincd.c b/src/tincd.c
+index 7b882c7a..bdac0c9d 100644
+--- a/src/tincd.c
++++ b/src/tincd.c
+@@ -37,7 +37,9 @@
+ #include <openssl/rsa.h>
+ #include <openssl/pem.h>
+ #include <openssl/evp.h>
++#ifndef OPENSSL_NO_ENGINE
+ #include <openssl/engine.h>
++#endif
+ #ifdef HAVE_LZO
+ #include LZO1X_H
+@@ -685,8 +687,10 @@ int main(int argc, char **argv) {
+       init_configuration(&config_tree);
++#ifndef OPENSSL_NO_ENGINE
+       ENGINE_load_builtin_engines();
+       ENGINE_register_all_complete();
++#endif
+       OpenSSL_add_all_algorithms();
+@@ -809,7 +813,9 @@ end:
+       EVP_cleanup();
+       ERR_free_strings();
++#ifndef OPENSSL_NO_ENGINE
+       ENGINE_cleanup();
++#endif
+       exit_configuration(&config_tree);
+       list_delete_list(cmdline_conf);
+-- 
+2.20.0
+
diff --git a/net/tinc/patches/020-Fix-compilation-without-deprecated-OpenSSL-APIs.patch b/net/tinc/patches/020-Fix-compilation-without-deprecated-OpenSSL-APIs.patch
new file mode 100644 (file)
index 0000000..52fecc9
--- /dev/null
@@ -0,0 +1,98 @@
+From 5e0e401dc69b9c25e5f85de7484a70ea97862e16 Mon Sep 17 00:00:00 2001
+From: Rosen Penev <rosenp@gmail.com>
+Date: Wed, 12 Dec 2018 13:45:59 -0800
+Subject: [PATCH 2/2] Fix compilation without deprecated OpenSSL APIs
+
+This is an optional part of OpenWrt designed to save space.
+---
+ src/connection.c | 4 ++--
+ src/connection.h | 4 ++++
+ src/net_setup.c  | 1 +
+ src/tincd.c      | 5 +++++
+ 4 files changed, 12 insertions(+), 2 deletions(-)
+
+diff --git a/src/connection.c b/src/connection.c
+index 38b3ccfe..d137af12 100644
+--- a/src/connection.c
++++ b/src/connection.c
+@@ -96,13 +96,13 @@ void free_connection_partially(connection_t *c) {
+       c->outbudget = 0;
+       if(c->inctx) {
+-              EVP_CIPHER_CTX_cleanup(c->inctx);
++              EVP_CIPHER_CTX_reset(c->inctx);
+               free(c->inctx);
+               c->inctx = NULL;
+       }
+       if(c->outctx) {
+-              EVP_CIPHER_CTX_cleanup(c->outctx);
++              EVP_CIPHER_CTX_reset(c->outctx);
+               free(c->outctx);
+               c->outctx = NULL;
+       }
+diff --git a/src/connection.h b/src/connection.h
+index 629e16b9..4f554672 100644
+--- a/src/connection.h
++++ b/src/connection.h
+@@ -24,6 +24,10 @@
+ #include <openssl/rsa.h>
+ #include <openssl/evp.h>
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#define EVP_CIPHER_CTX_reset(c)       EVP_CIPHER_CTX_cleanup(c)
++#endif
++
+ #include "avl_tree.h"
+ #define OPTION_INDIRECT         0x0001
+diff --git a/src/net_setup.c b/src/net_setup.c
+index cac7455d..f26007bd 100644
+--- a/src/net_setup.c
++++ b/src/net_setup.c
+@@ -27,6 +27,7 @@
+ #include <openssl/rand.h>
+ #include <openssl/err.h>
+ #include <openssl/evp.h>
++#include <openssl/bn.h>
+ #include "avl_tree.h"
+ #include "conf.h"
+diff --git a/src/tincd.c b/src/tincd.c
+index bdac0c9d..e8a60449 100644
+--- a/src/tincd.c
++++ b/src/tincd.c
+@@ -40,6 +40,7 @@
+ #ifndef OPENSSL_NO_ENGINE
+ #include <openssl/engine.h>
+ #endif
++#include <openssl/bn.h>
+ #ifdef HAVE_LZO
+ #include LZO1X_H
+@@ -692,7 +693,9 @@ int main(int argc, char **argv) {
+       ENGINE_register_all_complete();
+ #endif
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+       OpenSSL_add_all_algorithms();
++#endif
+       if(generate_keys) {
+               read_server_config();
+@@ -811,10 +814,12 @@ end:
+       free(priority);
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+       EVP_cleanup();
+       ERR_free_strings();
+ #ifndef OPENSSL_NO_ENGINE
+       ENGINE_cleanup();
++#endif
+ #endif
+       exit_configuration(&config_tree);
+-- 
+2.20.0
+
index 3de8a8eecdb17ed554ffd3215e4315fe0e1452b3..ad629cf1a8235ba9a2f05ea6f55463f588dd81a6 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=unbound
 PKG_VERSION:=1.8.3
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE_FILES:=LICENSE
diff --git a/net/unbound/patches/101-dns64-crash.patch b/net/unbound/patches/101-dns64-crash.patch
new file mode 100644 (file)
index 0000000..e27f072
--- /dev/null
@@ -0,0 +1,23 @@
+From 023411f97505c8c7e375112ad853b6a40ef848a6 Mon Sep 17 00:00:00 2001
+From: Wouter Wijngaards <wouter@nlnetlabs.nl>
+Date: Wed, 12 Dec 2018 16:03:05 +0000
+Subject: [PATCH] - Fix for crash in dns64 module if response is null.
+
+git-svn-id: file:///svn/unbound/trunk@5025 be551aaa-1e26-0410-a405-d3ace91eadb9
+---
+ dns64/dns64.c | 1 +
+ doc/Changelog | 3 +++
+ 2 files changed, 4 insertions(+)
+
+diff --git a/dns64/dns64.c b/dns64/dns64.c
+index 77e68900..f2834da2 100644
+--- a/dns64/dns64.c
++++ b/dns64/dns64.c
+@@ -628,6 +628,7 @@ handle_event_moddone(struct module_qstate* qstate, int id)
+       /* Store the response in cache. */
+       if ( (!iq || !iq->started_no_cache_store) &&
++              qstate->return_msg && qstate->return_msg->rep &&
+               !dns_cache_store(qstate->env, &qstate->qinfo, qstate->return_msg->rep,
+               0, 0, 0, NULL, qstate->query_flags))
+               log_err("out of memory");
index b686659f9b56d613e6685904cd6880ba18f74228..f0759645df951f339863899ba7e2aa2c256ed7d3 100644 (file)
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=shairport-sync
 PKG_VERSION:=3.2.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/mikebrady/shairport-sync/tar.gz/$(PKG_VERSION)?
@@ -23,13 +23,14 @@ PKG_LICENSE_FILES:=COPYING LICENSES shairport.c
 PKG_BUILD_PARALLEL:=1
 PKG_FIXUP:=autoreconf
 
+include $(INCLUDE_DIR)/uclibc++.mk
 include $(INCLUDE_DIR)/package.mk
 
 define Package/shairport-sync/default
   SECTION:=sound
   CATEGORY:=Sound
   TITLE:=AirPlay compatible audio player
-  DEPENDS:=@AUDIO_SUPPORT +libpthread +libstdcpp +alsa-lib +libconfig +libdaemon +libpopt
+  DEPENDS:=@AUDIO_SUPPORT $(CXX_DEPENDS) +libpthread +alsa-lib +libconfig +libdaemon +libpopt
   PROVIDES:=shairport-sync
   URL:=https://github.com/mikebrady/shairport-sync
 endef
index 5b6e956ad9086e83d41e02941b37c36946b4e7af..9e748c8ac48a8072de6ddf56f215460a69deb43b 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=acpica-unix
-PKG_VERSION:=20180927
+PKG_VERSION:=20181213
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://acpica.org/sites/$(patsubst %-unix,%,$(PKG_NAME))/files/$(PKG_SOURCE_URL)
-PKG_HASH:=dc408d11889bcbedcfe9cc5b7ed23f65e857ca8fd5125f8c7a9e075e0b282db1
+PKG_HASH:=fc90006775c635ba86c5bbf08590ac98ab10e1f9eff6d8951385f57dd3a6f8ed
 PKG_MAINTAINER:=Philip Prindeville <philipp@redfish-solutions.com>
 
 PKG_LICENSE:=GPL-2.0
index 196d1aa8ab66ccb849553c83b9b8ed2528c4792c..107dda6c0a7017a4a9ff9844b5b4a1368f100806 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=dbus
-PKG_VERSION:=1.12.10
+PKG_VERSION:=1.12.12
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://dbus.freedesktop.org/releases/dbus/
-PKG_HASH:=4b693d24976258c3f2fa9cc33ad9288c5fbfa7a16481dbd9a8a429f7aa8cdcf7
+PKG_HASH:=9546f226011a1e5d9d77245fe5549ef25af4694053189d624d0d6ac127ecf5f8
 PKG_MAINTAINER:=
 PKG_LICENSE:=AFL-2.1
 
index 672d71231ba5c744f53e3059ce3667bb69a4ef63..ec20094f72d42c2fd117a768841164c6cc98ddc9 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=fish
 PKG_VERSION:=2.7.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/fish-shell/fish-shell/tar.gz/$(PKG_VERSION)?
@@ -58,10 +58,13 @@ grep fish $${IPKG_INSTROOT}/etc/shells || \
     if [[ -e /bin/fish ]] && ([[ ! -L /bin/fish ]] || [[ "$(readlink -fn $${IPKG_INSTROOT}/bin/fish)" != "../$(CONFIGURE_PREFIX)/bin/fish" ]]); then
         ln -fs "../$(CONFIGURE_PREFIX)/bin/fish" "$${IPKG_INSTROOT}/bin/fish"
     fi
+       echo '#!/bin/sh' > /usr/bin/apropos
+       chmod +x /usr/bin/apropos
 endef
 
 define Package/fish/postrm
        rm -rf "$${IPKG_INSTROOT}/$(CONFIGURE_PREFIX)/share/fish/$(PKG_VERSION)"
+       rm -f /usr/bin/apropos
 endef
 
 $(eval $(call BuildPackage,fish))
index 7b2f6c0879691af59fefdf9cbf7f966870575397..24774258b91c37c3a3fe76199649ba690794d7ad 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=logrotate
-PKG_VERSION:=3.14.0
+PKG_VERSION:=3.15.0
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:= https://github.com/logrotate/logrotate/releases/download/$(PKG_VERSION)
-PKG_HASH:=4703bdc0e2df3b322f9dff0aafc99aa9172c9e4acae28b7c924cc7d4e5b29d55
+PKG_HASH:=313612c4776a305393454c874ef590d8acf84c9ffa648717731dfe902284ff8f
 PKG_LICENSE:=GPL-2.0
 
 include $(INCLUDE_DIR)/package.mk
index 8437b2042a4c6bf520679ea1d1fd2a413d02a697..842cb4b5f52a083507bc330ca8adb35037d90368 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=prometheus
-PKG_VERSION:=2.3.2
+PKG_VERSION:=2.6.0
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/prometheus/prometheus/tar.gz/v${PKG_VERSION}?
-PKG_HASH:=008282497e2e85de6fb17a698dfdae4a942026f623d8a9d45b911a765442cb58
+PKG_HASH:=e0d3e77e45466fd055726268354a02834968a3275791be6cbd17513ec7860c1d
 
 PKG_LICENSE:=Apache-2.0
 PKG_LICENSE_FILES:=LICENSE
index 7c7378c2d3dd28a23711adfcaec43d49c07f9551..7348812fe82eda51d320bc6bda42d9698d9f4015 100644 (file)
@@ -9,12 +9,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=pv
-PKG_VERSION:=1.5.3
+PKG_VERSION:=1.6.6
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=http://www.ivarch.com/programs/sources/
-PKG_HASH:=76f3999b1c3b3027163dce6ef667cdf8dafb75218ee25e54a03bfe590478f90e
+PKG_SOURCE_URL:=https://www.ivarch.com/programs/sources
+PKG_HASH:=608ef935f7a377e1439c181c4fc188d247da10d51a19ef79bcdee5043b0973f1
 PKG_LICENSE:=Artistic-2.0
 PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
 
@@ -26,7 +26,7 @@ define Package/pv
   SECTION:=utils
   CATEGORY:=Utilities
   TITLE:=Shell pipeline element to meter data passing through
-  URL:=http://www.ivarch.com/programs/pv.shtml
+  URL:=https://www.ivarch.com/programs/pv.shtml
 endef
 
 define Package/pv/description
index bdf2cd180b290489a807f50ed94744bad2673c04..291839b115e3f387d05444f7673470d9c7efd62c 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=rtty
-PKG_VERSION:=6.4.0
+PKG_VERSION:=6.4.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_VERSION:=v$(PKG_VERSION)
 PKG_SOURCE_URL=https://codeload.github.com/zhaojh329/rtty/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=b5f9fc015313170d625f47ae78ff69674a38de70f4c03b021c6a6134e755795f
+PKG_HASH:=9f3d792115f268f659c8d3e009591c5e92e2527427623db961f714c59fabe5fb
 CMAKE_INSTALL:=1
 
 PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_SOURCE_SUBDIR)
index 3f159b328f66843429a64ebc3d924fc387cdce81..a92083454603f6c81b3cf9199ab85f9152c2d749 100644 (file)
@@ -8,16 +8,17 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=tio
-PKG_VERSION:=1.31
+PKG_VERSION:=1.32
 PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
+PKG_SOURCE_URL:=https://github.com/tio/tio/releases/download/v$(PKG_VERSION)
+PKG_HASH:=a8f5ed6994cacb96780baa416b19e5a6d7d67e8c162a8ea4fd9eccd64984ae44
+
 PKG_MAINTAINER:=
 PKG_LICENSE:=GPL-2.0+
 PKG_LICENSE_FILES:=COPYING
 
-PKG_SOURCE_URL:=https://github.com/$(PKG_NAME)/$(PKG_NAME)/releases/download/v$(PKG_VERSION)/
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_HASH:=4e72825914dac77c4587c0772accbd7a1292d5c5895bd49ad1477707b3203e42
-
 PKG_FIXUP:=autoreconf
 
 include $(INCLUDE_DIR)/package.mk