Merge pull request #12601 from neheb/pam2
authorNikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
Mon, 29 Jun 2020 06:01:22 +0000 (08:01 +0200)
committerGitHub <noreply@github.com>
Mon, 29 Jun 2020 06:01:22 +0000 (08:01 +0200)
libpam: update to 1.4.0

38 files changed:
lang/golang/golang-package.mk
libs/file/Makefile
libs/libplist/Makefile
libs/libupnpp/Makefile
libs/yaml/Makefile
multimedia/ffmpeg/Makefile
multimedia/ffmpeg/patches/020-drawtext.patch [deleted file]
multimedia/ffmpeg/patches/030-h264-mips.patch
multimedia/ffmpeg/patches/040-aac-mips.patch [deleted file]
net/ddns-scripts/Makefile
net/ddns-scripts/files/update_cloudflare_com_v4_token.sh [new file with mode: 0644]
net/https-dns-proxy/Makefile
net/jool/Makefile
net/kcptun/Makefile
net/libreswan/Makefile
net/miniupnpd/Makefile
net/modemmanager/README.md
net/modemmanager/files/modemmanager.proto
net/rsync/Makefile
net/rsync/patches/000-fix-ipv6-detection.patch [new file with mode: 0644]
net/samba4/Makefile
net/samba4/files/samba.config
net/samba4/files/samba.init
net/samba4/files/smb.conf.template
net/stubby/Makefile
net/stubby/files/stubby.init
net/unbound/Makefile
net/unbound/files/README.md
net/unbound/files/defaults.sh
net/unbound/files/unbound.sh
sound/portaudio/Makefile
sound/upmpdcli/Makefile
utils/cgroupfs-mount/Makefile
utils/prometheus-node-exporter-lua/Makefile
utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/dawn.lua [new file with mode: 0644]
utils/syncthing/Makefile
utils/xfsprogs/Makefile
utils/xfsprogs/patches/140-mman.patch

index dc603862157c8b43b503ee3f7d6902e564f60a35..ebc9986385578f73a943517d2c7ed85d6713961f 100644 (file)
@@ -115,14 +115,14 @@ GO_PKG_PATH:=/usr/share/gocode
 GO_PKG_BUILD_PKG?=$(strip $(GO_PKG))/...
 
 GO_PKG_WORK_DIR_NAME:=.go_work
-GO_PKG_WORK_DIR:=$(PKG_BUILD_DIR)/$(GO_PKG_WORK_DIR_NAME)
+GO_PKG_WORK_DIR=$(PKG_BUILD_DIR)/$(GO_PKG_WORK_DIR_NAME)
 
-GO_PKG_BUILD_DIR:=$(GO_PKG_WORK_DIR)/build
-GO_PKG_CACHE_DIR:=$(GO_PKG_WORK_DIR)/cache
+GO_PKG_BUILD_DIR=$(GO_PKG_WORK_DIR)/build
+GO_PKG_CACHE_DIR=$(GO_PKG_WORK_DIR)/cache
 
-GO_PKG_BUILD_BIN_DIR:=$(GO_PKG_BUILD_DIR)/bin$(if $(GO_HOST_TARGET_DIFFERENT),/$(GO_OS_ARCH))
+GO_PKG_BUILD_BIN_DIR=$(GO_PKG_BUILD_DIR)/bin$(if $(GO_HOST_TARGET_DIFFERENT),/$(GO_OS_ARCH))
 
-GO_PKG_BUILD_DEPENDS_SRC:=$(STAGING_DIR)$(GO_PKG_PATH)/src
+GO_PKG_BUILD_DEPENDS_SRC=$(STAGING_DIR)$(GO_PKG_PATH)/src
 
 ifdef CONFIG_PKG_ASLR_PIE_ALL
   ifeq ($(strip $(PKG_ASLR_PIE)),1)
@@ -194,37 +194,20 @@ GO_PKG_DEFAULT_LDFLAGS= \
        -linkmode external \
        -extldflags '$(patsubst -z%,-Wl$(comma)-z$(comma)%,$(TARGET_LDFLAGS))'
 
-GO_PKG_INSTALL_ARGS= \
-       -v \
-       -trimpath \
-       -ldflags "all=$(GO_PKG_DEFAULT_LDFLAGS)"
-
-ifeq ($(GO_PKG_ENABLE_PIE),1)
-  GO_PKG_INSTALL_ARGS+= -buildmode pie
-endif
-
-ifeq ($(GO_ARCH),arm)
-  GO_PKG_INSTALL_ARGS+= -installsuffix "v$(GO_ARM)"
-
-else ifneq ($(filter $(GO_ARCH),mips mipsle),)
-  GO_PKG_INSTALL_ARGS+= -installsuffix "$(GO_MIPS)"
-
-else ifneq ($(filter $(GO_ARCH),mips64 mips64le),)
-  GO_PKG_INSTALL_ARGS+= -installsuffix "$(GO_MIPS64)"
-
-endif
-
-ifneq ($(strip $(GO_PKG_GCFLAGS)),)
-  GO_PKG_INSTALL_ARGS+= -gcflags "$(GO_PKG_GCFLAGS)"
-endif
-
 GO_PKG_CUSTOM_LDFLAGS= \
        $(GO_PKG_LDFLAGS) \
        $(patsubst %,-X %,$(GO_PKG_LDFLAGS_X))
 
-ifneq ($(strip $(GO_PKG_CUSTOM_LDFLAGS)),)
-  GO_PKG_INSTALL_ARGS+= -ldflags "$(GO_PKG_CUSTOM_LDFLAGS) $(GO_PKG_DEFAULT_LDFLAGS)"
-endif
+GO_PKG_INSTALL_ARGS= \
+       -v \
+       -trimpath \
+       -ldflags "all=$(GO_PKG_DEFAULT_LDFLAGS)" \
+       $(if $(filter $(GO_PKG_ENABLE_PIE),1),-buildmode pie) \
+       $(if $(filter $(GO_ARCH),arm),-installsuffix "v$(GO_ARM)") \
+       $(if $(filter $(GO_ARCH),mips mipsle),-installsuffix "$(GO_MIPS)") \
+       $(if $(filter $(GO_ARCH),mips64 mips64le),-installsuffix "$(GO_MIPS64)") \
+       $(if $(GO_PKG_GCFLAGS),-gcflags "$(GO_PKG_GCFLAGS)") \
+       $(if $(GO_PKG_CUSTOM_LDFLAGS),-ldflags "$(GO_PKG_CUSTOM_LDFLAGS) $(GO_PKG_DEFAULT_LDFLAGS)")
 
 # false if directory does not exist
 GoPackage/is_dir_not_empty=$$$$($(FIND) $(1) -maxdepth 0 -type d \! -empty 2>/dev/null)
index 1b37784f9c230b9500f818eb81d858256fa93cc6..34d02743f02f372c9916a28a76b174e3b442db2d 100644 (file)
@@ -8,14 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=file
-PKG_VERSION:=5.38
-PKG_RELEASE:=2
+PKG_VERSION:=5.39
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://src.fedoraproject.org/lookaside/pkgs/file/ \
-       http://download.openpkg.org/components/cache/file/ \
+PKG_SOURCE_URL:=http://download.openpkg.org/components/cache/file/ \
        ftp://ftp.astron.com/pub/file/
-PKG_HASH:=593c2ffc2ab349c5aea0f55fedfe4d681737b6b62376a9b3ad1e77b2cc19fa34
+PKG_HASH:=f05d286a76d9556243d0cb05814929c2ecf3a5ba07963f8f70bfaaa70517fad1
 
 PKG_MAINTAINER:=Marko Ratkaj <marko.ratkaj@sartura.hr>
 PKG_LICENSE:=BSD-2-Clause
index 5707fdb7190c42213b2bd86034bee1722489a6a7..73595a77e881cb09f7cc2ad2196ee2e218dc6ebb 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libplist
 PKG_VERSION:=2.2.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://www.libimobiledevice.org/downloads
@@ -92,7 +92,10 @@ define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/lib
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libplist-2.0*.so* $(1)/usr/lib/
        $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libplist*.pc $(1)/usr/lib/pkgconfig/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libplist++-2.0.pc $(1)/usr/lib/pkgconfig/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libplist-2.0.pc $(1)/usr/lib/pkgconfig/
+       $(LN) libplist++-2.0.pc $(1)/usr/lib/pkgconfig/libplist++.pc
+       $(LN) libplist-2.0.pc $(1)/usr/lib/pkgconfig/libplist.pc
 endef
 
 define Package/libplist/install
index 244143e99baba12f9d26e7d44fa533a165018685..1afbe694edd3bab20d5f0128007a7078d7293d8a 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libupnpp
-PKG_VERSION:=0.19.1
+PKG_VERSION:=0.19.2
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://www.lesbonscomptes.com/upmpdcli/downloads
-PKG_HASH:=412b38bdd07441588c11bb1d64af7d112f439a46512d53c907f9b54a6666ff58
+PKG_HASH:=c9623533271605c92dfa603f5fe0ab6d3d5b4384a0c9173800784f4aa643a190
 
 PKG_MAINTAINER:=Petko Bordjukov <bordjukov@gmail.com>
 PKG_LICENSE:=LGPL-2.1-or-later
index 83e25a50f1280f2db85d4080b4fa8256e91928d0..fcf06a501c32528a58dbba41c2340da274d1154d 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=yaml
-PKG_VERSION:=0.2.4
+PKG_VERSION:=0.2.5
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://pyyaml.org/download/libyaml/
-PKG_HASH:=d80aeda8747b7c26fbbfd87ab687786e58394a8435ae3970e79cb97882e30557
+PKG_HASH:=c642ae9b75fee120b2d96c712538bd2cf283228d2337df2cf2988e3c02678ef4
 
 PKG_MAINTAINER:=
 PKG_LICENSE:=MIT
index 7a90409220a923c167de9901003efca517a9a0df..d0259516433ba67d3a840510a41350a4f62a969e 100644 (file)
@@ -9,12 +9,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ffmpeg
-PKG_VERSION:=4.2.3
+PKG_VERSION:=4.3
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://ffmpeg.org/releases/
-PKG_HASH:=9df6c90aed1337634c1fb026fb01c154c29c82a64ea71291ff2da9aacb9aad31
+PKG_HASH:=1d0ad06484f44bcb97eba5e93c40bcb893890f9f64aeb43e46cd9bb4cbd6795d
 PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>, \
                Ian Leonard <antonlacon@gmail.com>
 
diff --git a/multimedia/ffmpeg/patches/020-drawtext.patch b/multimedia/ffmpeg/patches/020-drawtext.patch
deleted file mode 100644 (file)
index 1b18870..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-From 8beb9e571ca6fb38d5f784bedd581398fb3da06f Mon Sep 17 00:00:00 2001
-From: Rosen Penev <rosenp@gmail.com>
-Date: Mon, 6 Apr 2020 17:38:59 -0700
-Subject: [PATCH] avfilter/vf_drawtext: only test available exceptions
-
-soft float systems do not define these macros under musl.
-
-Fixes: Ticket7102
-
-Signed-off-by: Rosen Penev <rosenp@gmail.com>
----
- libavfilter/vf_drawtext.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/libavfilter/vf_drawtext.c b/libavfilter/vf_drawtext.c
-index 887a686d16d..abe1ca6c35c 100644
---- a/libavfilter/vf_drawtext.c
-+++ b/libavfilter/vf_drawtext.c
-@@ -1083,10 +1083,12 @@ static int func_eval_expr_int_format(AVFilterContext *ctx, AVBPrint *bp,
-     feclearexcept(FE_ALL_EXCEPT);
-     intval = res;
-+#if defined(FE_INVALID) && defined(FE_OVERFLOW) && defined(FE_UNDERFLOW)
-     if ((ret = fetestexcept(FE_INVALID|FE_OVERFLOW|FE_UNDERFLOW))) {
-         av_log(ctx, AV_LOG_ERROR, "Conversion of floating-point result to int failed. Control register: 0x%08x. Conversion result: %d\n", ret, intval);
-         return AVERROR(EINVAL);
-     }
-+#endif
-     if (argc == 3)
-         av_strlcatf(fmt_str, sizeof(fmt_str), "0%u", positions);
index 1626aa52dc613362dae3064562745e8ac6e89232..53ec3369d8ce256c414d511699a0482203c90111 100644 (file)
@@ -6,9 +6,9 @@
  
 +#ifndef __mips16
  #define get_cabac_inline get_cabac_inline_mips
- static av_always_inline int get_cabac_inline(CABACContext *c,
+ static av_always_inline int get_cabac_inline_mips(CABACContext *c,
                                               uint8_t * const state){
-@@ -116,4 +117,5 @@ static av_always_inline int get_cabac_inline(CABACContext *c,
+@@ -116,4 +117,5 @@ static av_always_inline int get_cabac_inline_mips(CABACContext *c,
      return bit;
  }
  
diff --git a/multimedia/ffmpeg/patches/040-aac-mips.patch b/multimedia/ffmpeg/patches/040-aac-mips.patch
deleted file mode 100644 (file)
index 4605ca7..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-From 875ba2333340c2e13af370832e49c9371ffb0f91 Mon Sep 17 00:00:00 2001
-From: Rosen Penev <rosenp@gmail.com>
-Date: Sun, 5 Apr 2020 20:37:10 -0700
-Subject: [PATCH] avcodec/aacdec: fix compilation under soft float MIPS
-
-Place HAVE_MIPSFPU further up so that functions that use floating point
-ASM are defined away. Otherwise compilation failures result when soft
-float in enabled on the toolchain.
-
-Signed-off-by: Rosen Penev <rosenp@gmail.com>
----
- libavcodec/mips/aacdec_mips.c   | 4 ++--
- libavcodec/mips/aacpsdsp_mips.c | 4 ++--
- libavcodec/mips/aacsbr_mips.c   | 4 ++--
- libavcodec/mips/sbrdsp_mips.c   | 4 ++--
- 4 files changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/libavcodec/mips/aacdec_mips.c b/libavcodec/mips/aacdec_mips.c
-index 01a2b3087ba..8e306529351 100644
---- a/libavcodec/mips/aacdec_mips.c
-+++ b/libavcodec/mips/aacdec_mips.c
-@@ -59,6 +59,7 @@
- #include "libavutil/mips/asmdefs.h"
- #if HAVE_INLINE_ASM
-+#if HAVE_MIPSFPU
- static av_always_inline void float_copy(float *dst, const float *src, int count)
- {
-     // Copy 'count' floats from src to dst
-@@ -282,7 +283,6 @@ static void apply_ltp_mips(AACContext *ac, SingleChannelElement *sce)
-     }
- }
--#if HAVE_MIPSFPU
- static av_always_inline void fmul_and_reverse(float *dst, const float *src0, const float *src1, int count)
- {
-     /* Multiply 'count' floats in src0 by src1 and store the results in dst in reverse */
-@@ -433,9 +433,9 @@ static void update_ltp_mips(AACContext *ac, SingleChannelElement *sce)
- void ff_aacdec_init_mips(AACContext *c)
- {
- #if HAVE_INLINE_ASM
-+#if HAVE_MIPSFPU
-     c->imdct_and_windowing         = imdct_and_windowing_mips;
-     c->apply_ltp                   = apply_ltp_mips;
--#if HAVE_MIPSFPU
-     c->update_ltp                  = update_ltp_mips;
- #endif /* HAVE_MIPSFPU */
- #endif /* HAVE_INLINE_ASM */
-diff --git a/libavcodec/mips/aacpsdsp_mips.c b/libavcodec/mips/aacpsdsp_mips.c
-index 83fdc2f9dbd..ef47e31a9ea 100644
---- a/libavcodec/mips/aacpsdsp_mips.c
-+++ b/libavcodec/mips/aacpsdsp_mips.c
-@@ -57,6 +57,7 @@
- #include "libavutil/mips/asmdefs.h"
- #if HAVE_INLINE_ASM
-+#if HAVE_MIPSFPU
- static void ps_hybrid_analysis_ileave_mips(float (*out)[32][2], float L[2][38][64],
-                                         int i, int len)
- {
-@@ -187,7 +188,6 @@ static void ps_hybrid_synthesis_deint_mips(float out[2][38][64],
-     }
- }
--#if HAVE_MIPSFPU
- #if !HAVE_MIPS32R6 && !HAVE_MIPS64R6
- static void ps_add_squares_mips(float *dst, const float (*src)[2], int n)
- {
-@@ -450,9 +450,9 @@ static void ps_stereo_interpolate_mips(float (*l)[2], float (*r)[2],
- void ff_psdsp_init_mips(PSDSPContext *s)
- {
- #if HAVE_INLINE_ASM
-+#if HAVE_MIPSFPU
-     s->hybrid_analysis_ileave = ps_hybrid_analysis_ileave_mips;
-     s->hybrid_synthesis_deint = ps_hybrid_synthesis_deint_mips;
--#if HAVE_MIPSFPU
- #if !HAVE_MIPS32R6 && !HAVE_MIPS64R6
-     s->add_squares            = ps_add_squares_mips;
-     s->mul_pair_single        = ps_mul_pair_single_mips;
-diff --git a/libavcodec/mips/aacsbr_mips.c b/libavcodec/mips/aacsbr_mips.c
-index 56aa4e86822..2e0cd723d7e 100644
---- a/libavcodec/mips/aacsbr_mips.c
-+++ b/libavcodec/mips/aacsbr_mips.c
-@@ -58,6 +58,7 @@
- #define ENVELOPE_ADJUSTMENT_OFFSET 2
- #if HAVE_INLINE_ASM
-+#if HAVE_MIPSFPU
- static int sbr_lf_gen_mips(AACContext *ac, SpectralBandReplication *sbr,
-                       float X_low[32][40][2], const float W[2][32][32][2],
-                       int buf_idx)
-@@ -310,7 +311,6 @@ static int sbr_x_gen_mips(SpectralBandReplication *sbr, float X[2][38][64],
-       return 0;
- }
--#if HAVE_MIPSFPU
- #if !HAVE_MIPS32R6 && !HAVE_MIPS64R6
- static void sbr_hf_assemble_mips(float Y1[38][64][2],
-                             const float X_high[64][40][2],
-@@ -611,9 +611,9 @@ static void sbr_hf_inverse_filter_mips(SBRDSPContext *dsp,
- void ff_aacsbr_func_ptr_init_mips(AACSBRContext *c)
- {
- #if HAVE_INLINE_ASM
-+#if HAVE_MIPSFPU
-     c->sbr_lf_gen            = sbr_lf_gen_mips;
-     c->sbr_x_gen             = sbr_x_gen_mips;
--#if HAVE_MIPSFPU
- #if !HAVE_MIPS32R6 && !HAVE_MIPS64R6
-     c->sbr_hf_inverse_filter = sbr_hf_inverse_filter_mips;
-     c->sbr_hf_assemble       = sbr_hf_assemble_mips;
-diff --git a/libavcodec/mips/sbrdsp_mips.c b/libavcodec/mips/sbrdsp_mips.c
-index 1b0a10608de..83039fd802a 100644
---- a/libavcodec/mips/sbrdsp_mips.c
-+++ b/libavcodec/mips/sbrdsp_mips.c
-@@ -59,6 +59,7 @@
- #include "libavutil/mips/asmdefs.h"
- #if HAVE_INLINE_ASM
-+#if HAVE_MIPSFPU
- static void sbr_qmf_pre_shuffle_mips(float *z)
- {
-     int Temp1, Temp2, Temp3, Temp4, Temp5, Temp6;
-@@ -165,7 +166,6 @@ static void sbr_qmf_post_shuffle_mips(float W[32][2], const float *z)
-     );
- }
--#if HAVE_MIPSFPU
- #if !HAVE_MIPS32R6 && !HAVE_MIPS64R6
- static void sbr_sum64x5_mips(float *z)
- {
-@@ -890,9 +890,9 @@ static void sbr_hf_apply_noise_3_mips(float (*Y)[2], const float *s_m,
- void ff_sbrdsp_init_mips(SBRDSPContext *s)
- {
- #if HAVE_INLINE_ASM
-+#if HAVE_MIPSFPU
-     s->qmf_pre_shuffle = sbr_qmf_pre_shuffle_mips;
-     s->qmf_post_shuffle = sbr_qmf_post_shuffle_mips;
--#if HAVE_MIPSFPU
- #if !HAVE_MIPS32R6 && !HAVE_MIPS64R6
-     s->sum64x5 = sbr_sum64x5_mips;
-     s->sum_square = sbr_sum_square_mips;
index 1c59b2bc3f24627eaec3e55febb26346d12d2442..5e288b47017a39e709070e545a8ee7fb5cff5bcd 100755 (executable)
@@ -12,7 +12,7 @@ PKG_NAME:=ddns-scripts
 PKG_VERSION:=2.7.8
 # Release == build
 # increase on changes of services files or tld_names.dat
-PKG_RELEASE:=20
+PKG_RELEASE:=21
 
 PKG_LICENSE:=GPL-2.0
 PKG_MAINTAINER:=
@@ -243,6 +243,7 @@ define Package/ddns-scripts_cloudflare.com-v4/install
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/files/ddns.defaults $(1)/etc/uci-defaults/ddns_cloudflare.com-v4
        $(INSTALL_DIR) $(1)/usr/lib/ddns
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/files/update_cloudflare_com_v4.sh $(1)/usr/lib/ddns
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/files/update_cloudflare_com_v4_token.sh $(1)/usr/lib/ddns
 endef
 define Package/ddns-scripts_cloudflare.com-v4/postinst
        #!/bin/sh
@@ -252,6 +253,8 @@ define Package/ddns-scripts_cloudflare.com-v4/postinst
        # and create new
        printf "%s\\t%s\\n" '"cloudflare.com-v4"' '"update_cloudflare_com_v4.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services
        printf "%s\\t%s\\n" '"cloudflare.com-v4"' '"update_cloudflare_com_v4.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services_ipv6
+       printf "%s\\t%s\\n" '"cloudflare.com-v4-token"' '"update_cloudflare_com_v4_token.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services
+       printf "%s\\t%s\\n" '"cloudflare.com-v4-token"' '"update_cloudflare_com_v4_token.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services_ipv6
        # on real system restart service if enabled
        [ -z "$${IPKG_INSTROOT}" ] && {
                [ -x /etc/uci-defaults/ddns_cloudflare.com-v4 ] && \
diff --git a/net/ddns-scripts/files/update_cloudflare_com_v4_token.sh b/net/ddns-scripts/files/update_cloudflare_com_v4_token.sh
new file mode 100644 (file)
index 0000000..f907400
--- /dev/null
@@ -0,0 +1,194 @@
+#!/bin/sh
+#
+#.Distributed under the terms of the GNU General Public License (GPL) version 2.0
+#
+# script for sending updates to cloudflare.com
+#.based on Ben Kulbertis cloudflare-update-record.sh found at http://gist.github.com/benkulbertis
+#.and on George Johnson's cf-ddns.sh found at https://github.com/gstuartj/cf-ddns.sh
+#.2016-2018 Christian Schoenebeck <christian dot schoenebeck at gmail dot com>
+
+# CloudFlare API documentation at https://api.cloudflare.com/
+#
+# This script is parsed by dynamic_dns_functions.sh inside send_update() function
+#
+# using following options from /etc/config/ddns
+# option username  - your cloudflare e-mail
+# option password  - cloudflare api token, you can get it from cloudflare.com/my-account/
+# option domain    - "hostname@yourdomain.TLD" # syntax changed to remove split_FQDN() function and tld_names.dat.gz
+#
+# The proxy status would not be changed by this script. Please change it in Cloudflare dashboard manually. 
+#
+# variable __IP already defined with the ip-address to use for update
+#
+
+# check parameters
+[ -z "$CURL" ] && [ -z "$CURL_SSL" ] && write_log 14 "Cloudflare communication require cURL with SSL support. Please install"
+#[ -z "$username" ] && write_log 14 "Service section not configured correctly! Missing key as 'username'"
+[ -z "$password" ] && write_log 14 "Service section not configured correctly! Missing secret as 'password'"
+[ $use_https -eq 0 ] && use_https=1    # force HTTPS
+
+# used variables
+local __HOST __DOMAIN __TYPE __URLBASE __PRGBASE __RUNPROG __DATA __IPV6 __ZONEID __RECID __PROXIED
+local __URLBASE="https://api.cloudflare.com/client/v4"
+local __TTL=120
+
+# split __HOST __DOMAIN from $domain
+# given data:
+# @example.com for "domain record"
+# host.sub@example.com for a "host record"
+__HOST=$(printf %s "$domain" | cut -d@ -f1)
+__DOMAIN=$(printf %s "$domain" | cut -d@ -f2)
+
+# Cloudflare v4 needs:
+# __DOMAIN = the base domain i.e. example.com
+# __HOST   = the FQDN of record to modify
+# i.e. example.com for the "domain record" or host.sub.example.com for "host record"
+
+# handling domain record then set __HOST = __DOMAIN
+[ -z "$__HOST" ] && __HOST=$__DOMAIN
+# handling host record then rebuild fqdn host@domain.tld => host.domain.tld
+[ "$__HOST" != "$__DOMAIN" ] && __HOST="${__HOST}.${__DOMAIN}"
+
+# set record type
+[ $use_ipv6 -eq 0 ] && __TYPE="A" || __TYPE="AAAA"
+
+# transfer function to use for godaddy
+# all needed variables are set global here
+# so we can use them directly
+cloudflare_transfer() {
+       local __CNT=0
+       local __ERR
+       while : ; do
+               write_log 7 "#> $__RUNPROG"
+               eval "$__RUNPROG"
+               __ERR=$?                        # save communication error
+               [ $__ERR -eq 0 ] && break       # no error break while
+
+               write_log 3 "cURL Error: '$__ERR'"
+               write_log 7 "$(cat $ERRFILE)"           # report error
+
+               [ $VERBOSE_MODE -gt 1 ] && {
+                       # VERBOSE_MODE > 1 then NO retry
+                       write_log 4 "Transfer failed - Verbose Mode: $VERBOSE_MODE - NO retry on error"
+                       break
+               }
+
+               __CNT=$(( $__CNT + 1 )) # increment error counter
+               # if error count > retry_count leave here
+               [ $retry_count -gt 0 -a $__CNT -gt $retry_count ] && \
+                       write_log 14 "Transfer failed after $retry_count retries"
+
+               write_log 4 "Transfer failed - retry $__CNT/$retry_count in $RETRY_SECONDS seconds"
+               sleep $RETRY_SECONDS &
+               PID_SLEEP=$!
+               wait $PID_SLEEP # enable trap-handler
+               PID_SLEEP=0
+       done
+
+       # check for error
+       grep -q '"success":\s*true' $DATFILE || {
+               write_log 4 "CloudFlare reported an error:"
+               write_log 7 "$(cat $DATFILE)"           # report error
+               return 1        # HTTP-Fehler
+       }
+}
+
+# Build base command to use
+__PRGBASE="$CURL -RsS -o $DATFILE --stderr $ERRFILE"
+# force network/interface-device to use for communication
+if [ -n "$bind_network" ]; then
+       local __DEVICE
+       network_get_physdev __DEVICE $bind_network || \
+               write_log 13 "Can not detect local device using 'network_get_physdev $bind_network' - Error: '$?'"
+       write_log 7 "Force communication via device '$__DEVICE'"
+       __PRGBASE="$__PRGBASE --interface $__DEVICE"
+fi
+# force ip version to use
+if [ $force_ipversion -eq 1 ]; then
+       [ $use_ipv6 -eq 0 ] && __PRGBASE="$__PRGBASE -4" || __PRGBASE="$__PRGBASE -6"   # force IPv4/IPv6
+fi
+# set certificate parameters
+if [ "$cacert" = "IGNORE" ]; then      # idea from Ticket #15327 to ignore server cert
+       __PRGBASE="$__PRGBASE --insecure"       # but not empty better to use "IGNORE"
+elif [ -f "$cacert" ]; then
+       __PRGBASE="$__PRGBASE --cacert $cacert"
+elif [ -d "$cacert" ]; then
+       __PRGBASE="$__PRGBASE --capath $cacert"
+elif [ -n "$cacert" ]; then            # it's not a file and not a directory but given
+       write_log 14 "No valid certificate(s) found at '$cacert' for HTTPS communication"
+fi
+# disable proxy if not set (there might be .wgetrc or .curlrc or wrong environment set)
+# or check if libcurl compiled with proxy support
+if [ -z "$proxy" ]; then
+       __PRGBASE="$__PRGBASE --noproxy '*'"
+elif [ -z "$CURL_PROXY" ]; then
+       # if libcurl has no proxy support and proxy should be used then force ERROR
+       write_log 13 "cURL: libcurl compiled without Proxy support"
+fi
+# set headers
+#__PRGBASE="$__PRGBASE --header 'X-Auth-Email: $username' "
+__PRGBASE="$__PRGBASE --header 'Authorization: Bearer $password' "
+__PRGBASE="$__PRGBASE --header 'Content-Type: application/json' "
+
+# read zone id for registered domain.TLD
+__RUNPROG="$__PRGBASE --request GET '$__URLBASE/zones?name=$__DOMAIN'"
+cloudflare_transfer || return 1
+# extract zone id
+__ZONEID=$(grep -o '"id":\s*"[^"]*' $DATFILE | grep -o '[^"]*$' | head -1)
+[ -z "$__ZONEID" ] && {
+       write_log 4 "Could not detect 'zone id' for domain.tld: '$__DOMAIN'"
+       return 127
+}
+
+# read record id for A or AAAA record of host.domain.TLD
+__RUNPROG="$__PRGBASE --request GET '$__URLBASE/zones/$__ZONEID/dns_records?name=$__HOST&type=$__TYPE'"
+cloudflare_transfer || return 1
+# extract record id
+__RECID=$(grep -o '"id":\s*"[^"]*' $DATFILE | grep -o '[^"]*$' | head -1)
+[ -z "$__RECID" ] && {
+       write_log 4 "Could not detect 'record id' for host.domain.tld: '$__HOST'"
+       return 127
+}
+
+# extract current stored IP
+__DATA=$(grep -o '"content":\s*"[^"]*' $DATFILE | grep -o '[^"]*$' | head -1)
+
+# check data
+[ $use_ipv6 -eq 0 ] \
+       && __DATA=$(printf "%s" "$__DATA" | grep -m 1 -o "$IPV4_REGEX") \
+       || __DATA=$(printf "%s" "$__DATA" | grep -m 1 -o "$IPV6_REGEX")
+
+# we got data so verify
+[ -n "$__DATA" ] && {
+       # expand IPv6 for compare
+       if [ $use_ipv6 -eq 1 ]; then
+               expand_ipv6 $__IP __IPV6
+               expand_ipv6 $__DATA __DATA
+               [ "$__DATA" = "$__IPV6" ] && {          # IPv6 no update needed
+                       write_log 7 "IPv6 at CloudFlare.com already up to date"
+                       return 0
+               }
+       else
+               [ "$__DATA" = "$__IP" ] && {            # IPv4 no update needed
+                       write_log 7 "IPv4 at CloudFlare.com already up to date"
+                       return 0
+               }
+       fi
+}
+
+# update is needed
+# let's build data to send
+# set proxied parameter
+__PROXIED=$(grep -o '"proxied":\s*[^",]*' $DATFILE | grep -o '[^:]*$')
+
+# use file to work around " needed for json
+cat > $DATFILE << EOF
+{"id":"$__ZONEID","type":"$__TYPE","name":"$__HOST","content":"$__IP","ttl":$__TTL,"proxied":$__PROXIED}
+EOF
+
+# let's complete transfer command
+__RUNPROG="$__PRGBASE --request PUT --data @$DATFILE '$__URLBASE/zones/$__ZONEID/dns_records/$__RECID'"
+cloudflare_transfer || return 1
+
+return 0
+
index 61ee5b42d225fe274b4ef178b7e27975ca7ff7af..bb820b78981baa1ccc05c823da6caaf68f3e9eed 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=https-dns-proxy
 PKG_VERSION:=2020-04-09
-PKG_RELEASE=2
+PKG_RELEASE=3
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/aarond10/https_dns_proxy
@@ -26,6 +26,15 @@ define Package/https-dns-proxy
        CONFLICTS:=https_dns_proxy
 endef
 
+define Package/https-dns-proxy/description
+https_dns_proxy is a light-weight DNS<-->HTTPS, non-caching translation proxy for the RFC 8484 DNS-over-HTTPS standard. It receives regular (UDP) DNS requests and issues them via DoH.
+Please see https://github.com/openwrt/packages/blob/master/net/https-dns-proxy/files/README.md for further information.
+endef
+
+define Package/https-dns-proxy/conffiles
+/etc/config/https-dns-proxy
+endef
+
 define Package/https-dns-proxy/install
        $(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/init.d ${1}/etc/config
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/https_dns_proxy $(1)/usr/sbin/https-dns-proxy
index ac543fbbc6081d37b26a0eec00d15c8a8dea20e4..e6cdf3f76024d901e33e09cc21d5b5d9ac29cbf8 100644 (file)
@@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=jool
-PKG_VERSION:=4.0.8
+PKG_VERSION:=4.0.9
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/NICMx/Jool/releases/download/v$(PKG_VERSION)
-PKG_HASH:=73dd65a14feedc8bd0f650d3316bca346474c8420d60b48ca95bd1ca8846f1d4
+PKG_HASH:=d42215f87abf2e113bc039d23e6b4e1c39cafc90f0e5584adf0e40e996c68ffb
 
 PKG_MAINTAINER:=
 PKG_LICENSE:=GPL-2.0-only
index bb938fed7841988bb0fe7921830c8afeb000f465..45d1380767ccc12bac9b4b3784fe695c72dc9ca8 100644 (file)
@@ -1,13 +1,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=kcptun
-PKG_VERSION:=20200103
-PKG_RELEASE:=2
+PKG_VERSION:=20200409
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/xtaci/kcptun/tar.gz/v${PKG_VERSION}?
-PKG_SOURCE_DATE:=2020-01-03
-PKG_HASH:=620d4cd3ed1660e71b0fe1041c063e8fb38dc3aa7a6c78f6570e812566f44bb5
+PKG_SOURCE_DATE:=2020-04-09
+PKG_HASH:=312b8f438549225dfd1eac95444dd6a4c50610578ddcf7ff21e19c73a855d4bc
 
 PKG_MAINTAINER:=Dengfeng Liu <liudf0716@gmail.com>, Chao Liu <expiron18@gmail.com>
 PKG_LICENSE:=MIT
index c040039c4a5152cb928b50d3c2ca886c07d415b8..d45f79326c84aa696aeb1c28c3814346c6606b15 100644 (file)
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libreswan
 PKG_VERSION:=3.32
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://download.libreswan.org/
@@ -45,7 +45,7 @@ $(call Package/libreswan/Default)
        +kmod-crypto-aead +kmod-crypto-authenc +kmod-crypto-gcm \
        +kmod-crypto-hash +kmod-crypto-rng +kmod-ip-vti +kmod-ipsec \
        +kmod-ipsec4 +kmod-ipt-ipsec +libevent2 +libevent2-pthreads \
-       +libldns +librt +libunbound-heavy +nss-utils +nspr +libcap-ng
+       +libldns +librt +libunbound +nss-utils +nspr +libcap-ng
   PROVIDES:=openswan
   CONFLICTS:=strongswan
   TITLE+= IPsec Server
index 86d4944020434ba651f0fb4f424b7cea2fdfe20a..00caa8f12f90b03da6baafe0b5d616eda27dec6f 100644 (file)
@@ -8,24 +8,27 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=miniupnpd
-PKG_VERSION:=2.1.20191006
-PKG_RELEASE:=6
+PKG_VERSION:=2.1.20200510
+PKG_RELEASE:=2
 
 PKG_SOURCE_URL:=https://miniupnp.tuxfamily.org/files
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_HASH:=218fad7af31f3c22fb4c9db28a55a2a8b5067d41f5b38f52008a057a00d2206d
+PKG_HASH:=821e708f369cc1fb851506441fbc3a1f4a1b5a8bf8e84a9e71758a32f5127e8b
 
 PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE_FILES:=LICENSE
 PKG_CPE_ID:=cpe:/a:miniupnp_project:miniupnpd
 
+PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
+
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/version.mk
 
 define Package/miniupnpd
   SECTION:=net
   CATEGORY:=Network
-  DEPENDS:=+iptables +libip4tc +IPV6:libip6tc +IPV6:ip6tables +libuuid
+  DEPENDS:=+iptables +libip4tc +IPV6:libip6tc +IPV6:ip6tables +libuuid +libcap-ng
   TITLE:=Lightweight UPnP IGD, NAT-PMP & PCP daemon
   SUBMENU:=Firewall
   URL:=https://miniupnp.tuxfamily.org/
@@ -40,17 +43,16 @@ define Build/Prepare
        echo "$(VERSION_NUMBER)" | tr '() ' '_' >$(PKG_BUILD_DIR)/os.openwrt
 endef
 
+CONFIGURE_ARGS = \
+       $(if $(CONFIG_IPV6),--ipv6) \
+       --igd2 \
+       --leasefile \
+       --portinuse \
+       --firewall=iptables
+
 TARGET_CFLAGS += $(FPIC) -flto
 TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed
 
-MAKE_FLAGS += \
-       TARGET_OPENWRT=1 TEST=0 LIBS="" \
-       CC="$(TARGET_CC) -DIPTABLES_143 -lip4tc -luuid \
-               $(if $(CONFIG_IPV6),-lip6tc)" \
-       CONFIG_OPTIONS="--portinuse --leasefile --igd2 \
-               $(if $(CONFIG_IPV6),--ipv6)" \
-       -f Makefile.linux miniupnpd
-
 define Package/miniupnpd/install
        $(INSTALL_DIR) $(1)/usr/sbin
        $(INSTALL_DIR) $(1)/etc/init.d
@@ -59,7 +61,7 @@ define Package/miniupnpd/install
        $(INSTALL_DIR) $(1)/etc/uci-defaults
        $(INSTALL_DIR) $(1)/usr/share/miniupnpd
 
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/miniupnpd $(1)/usr/sbin/miniupnpd
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/miniupnpd $(1)/usr/sbin/miniupnpd
        $(INSTALL_BIN) ./files/miniupnpd.init $(1)/etc/init.d/miniupnpd
        $(INSTALL_CONF) ./files/upnpd.config $(1)/etc/config/upnpd
        $(INSTALL_DATA) ./files/miniupnpd.hotplug $(1)/etc/hotplug.d/iface/50-miniupnpd
index 0fa07a96cb2a24de01323957865812d42cb4265c..ea86568c9b4ea67387069349a8bd866c862db12c 100644 (file)
@@ -4,19 +4,33 @@
 
 Cellular modem control and connectivity
 
-Optional libraries libmbim and libqmi are available.  Optional mbim-utils and qmi-utils are available.
-Your modem may require additional kernel modules.
+Optional libraries libmbim and libqmi are available.
+Your modem may require additional kernel modules and/or the usb-modeswitch
+package.
 
 ## Usage
 
-Once installed, you can configure the 2G/3G/4G modem connections directly in
-   /etc/config/network as in the following example:
+Once installed, you can configure the 2G/3G/4G modem connections directly in
+/etc/config/network as in the following example:
 
     config interface 'broadband'
-        option device   '/sys/devices/platform/soc/20980000.usb/usb1/1-1/1-1.2/1-1.2.1'
-        option proto    'modemmanager'
-        option apn      'ac.vodafone.es'
-        option username 'vodafone'
-        option password 'vodafone'
-        option pincode  '7423'
-        option lowpower '1'
+        option device      '/sys/devices/platform/soc/20980000.usb/usb1/1-1/1-1.2/1-1.2.1'
+        option proto       'modemmanager'
+        option apn         'ac.vodafone.es'
+        option allowedauth 'pap chap'
+        option username    'vodafone'
+        option password    'vodafone'
+        option pincode     '7423'
+        option iptype      'ipv4'
+        option lowpower    '1'
+
+Only 'device' and 'proto' are mandatory options, the remaining ones are all
+optional.
+
+The 'allowedauth' option allows limiting the list of authentication protocols.
+It is given as a space-separated list of values, including any of the
+following: 'pap', 'chap', 'mschap', 'mschapv2' or 'eap'. It will default to
+allowing all protocols.
+
+The 'iptype' option supports any of these values: 'ipv4', 'ipv6' or 'ipv4v6'.
+It will default to 'ipv4' if not given.
index be1bcb3dfc71c00f1104cc6c1c6788f25a29389c..2e95d1e57effa06d42e2de125f504d0f1b5228de 100755 (executable)
@@ -116,6 +116,35 @@ modemmanager_connected_method_ppp_ipv4() {
        local ttyname="$2"
        local username="$3"
        local password="$4"
+       local allowedauth="$5"
+
+       # all auth types are allowed unless a user given list is given
+       local authopts
+       local pap=1
+       local chap=1
+       local mschap=1
+       local mschapv2=1
+       local eap=1
+
+       [ -n "$allowedauth" ] && {
+               pap=0 chap=0 mschap=0 mschapv2=0 eap=0
+               for auth in $allowedauth; do
+                       case $auth in
+                               "pap") pap=1 ;;
+                               "chap") chap=1 ;;
+                               "mschap") mschap=1 ;;
+                               "mschapv2") mschapv2=1 ;;
+                               "eap") eap=1 ;;
+                               *) ;;
+                       esac
+               done
+       }
+
+       [ $pap -eq 1 ] || append authopts "refuse-pap"
+       [ $chap -eq 1 ] || append authopts "refuse-chap"
+       [ $mschap -eq 1 ] || append authopts "refuse-mschap"
+       [ $mschapv2 -eq 1 ] || append authopts "refuse-mschap-v2"
+       [ $eap -eq 1 ] || append authopts "refuse-eap"
 
        proto_run_command "${interface}" /usr/sbin/pppd \
                "${ttyname}" \
@@ -126,6 +155,7 @@ modemmanager_connected_method_ppp_ipv4() {
                nopcomp \
                novj \
                noauth \
+               $authopts \
                ${username:+ user $username} \
                ${password:+ password $password} \
                lcp-echo-failure 5 \
@@ -307,6 +337,7 @@ proto_modemmanager_init_config() {
        no_device=1
        proto_config_add_string  device
        proto_config_add_string  apn
+       proto_config_add_string  'allowedauth:list(string)'
        proto_config_add_string  username
        proto_config_add_string  password
        proto_config_add_string  pincode
@@ -319,14 +350,14 @@ proto_modemmanager_setup() {
        local interface="$1"
 
        local modempath modemstatus bearercount bearerpath connectargs bearerstatus beareriface
-       local bearermethod_ipv4 bearermethod_ipv6
+       local bearermethod_ipv4 bearermethod_ipv6 auth cliauth
        local operatorname operatorid registration accesstech signalquality
 
-       local device apn username password pincode iptype metric
+       local device apn allowedauth username password pincode iptype metric
 
        local address prefix gateway mtu dns1 dns2
 
-       json_get_vars device apn username password pincode iptype metric
+       json_get_vars device apn allowedauth username password pincode iptype metric
 
        # validate sysfs path given in config
        [ -n "${device}" ] || {
@@ -355,9 +386,14 @@ proto_modemmanager_setup() {
        # always cleanup before attempting a new connection, just in case
        modemmanager_cleanup_connection "${modemstatus}"
 
+       # if allowedauth list given, build option string
+       for auth in $allowedauth; do
+               cliauth="${cliauth}${cliauth:+|}$auth"
+       done
+
        # setup connect args; APN mandatory (even if it may be empty)
        echo "starting connection with apn '${apn}'..."
-       connectargs="apn=${apn}${iptype:+,ip-type=${iptype}}${username:+,user=${username}}${password:+,password=${password}}${pincode:+,pin=${pincode}}"
+       connectargs="apn=${apn}${iptype:+,ip-type=${iptype}}${cliauth:+,allowed-auth=${cliauth}}${username:+,user=${username}}${password:+,password=${password}}${pincode:+,pin=${pincode}}"
        mmcli --modem="${device}" --timeout 120 --simple-connect="${connectargs}" || {
                proto_notify_error "${interface}" CONNECT_FAILED
                proto_block_restart "${interface}"
@@ -411,7 +447,7 @@ proto_modemmanager_setup() {
                        modemmanager_connected_method_static_ipv4 "${interface}" "${beareriface}" "${address}" "${prefix}" "${gateway}" "${mtu}" "${dns1}" "${dns2}" "${metric}"
                        ;;
                "ppp")
-                       modemmanager_connected_method_ppp_ipv4 "${interface}" "${beareriface}" "${username}" "${password}"
+                       modemmanager_connected_method_ppp_ipv4 "${interface}" "${beareriface}" "${username}" "${password}" "${allowedauth}"
                        ;;
                *)
                        proto_notify_error "${interface}" UNKNOWN_METHOD
index a0c6b4569b001ce02c5358f813e8a4d14458af9c..9d154b840e5d34321065e012191893b97a05f13f 100644 (file)
@@ -8,18 +8,19 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=rsync
-PKG_VERSION:=3.1.3
-PKG_RELEASE:=3
+PKG_VERSION:=3.2.1
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://download.samba.org/pub/rsync/src
-PKG_HASH:=55cc554efec5fdaad70de921cd5a5eeb6c29a95524c715f3bbf849235b0800c0
+PKG_HASH:=95f2dd62979b500a99b34c1a6453a0787ada0330e4bec7fcffad37b9062d58d3
 
 PKG_MAINTAINER:=Maxim Storchak <m.storchak@gmail.com>
 PKG_LICENSE:=GPL-3.0-or-later
 PKG_LICENSE_FILES:=COPYING
 PKG_CPE_ID:=cpe:/a:rsync:rsync
 
+PKG_FIXUP:=autoreconf
 PKG_INSTALL:=1
 PKG_BUILD_PARALLEL:=1
 
@@ -40,35 +41,27 @@ define Package/rsync/config
 endef
 
 CONFIGURE_ARGS += \
-       --with-included-popt=no \
+       --without-included-popt \
        --disable-debug \
+       --disable-asm \
+       --disable-iconv \
+       --disable-iconv-open \
+       --disable-lz4 \
        --disable-locale \
-
-ifeq ($(CONFIG_RSYNC_xattr),y)
-       CONFIGURE_ARGS+= --enable-xattr-support
-else
-       CONFIGURE_ARGS+= --disable-xattr-support
-endif
-
-ifeq ($(CONFIG_RSYNC_acl),y)
-       CONFIGURE_ARGS+= --enable-acl-support
-else
-       CONFIGURE_ARGS+= --disable-acl-support
-endif
-
-ifeq ($(CONFIG_RSYNC_zlib),y)
-       CONFIGURE_ARGS+= --with-included-zlib=no
-else
-       CONFIGURE_ARGS+= --with-included-zlib=yes
-endif
-
-ifeq ($(CONFIG_IPV6),y)
-    TARGET_CFLAGS+= -DINET6
-else
-    CONFIGURE_ARGS+= --disable-ipv6
-endif
-
-CONFIGURE_VARS += rsync_cv_HAVE_GETTIMEOFDAY_TZ=yes
+       --disable-md2man \
+       --disable-openssl \
+       --disable-simd \
+       --disable-xxhash \
+       --disable-zstd \
+       --$(if $(CONFIG_RSYNC_xattr),en,dis)able-xattr-support \
+       --$(if $(CONFIG_RSYNC_acl),en,dis)able-acl-support \
+       --with$(if $(CONFIG_RSYNC_zlib),,out)-included-zlib \
+       --$(if $(CONFIG_IPV6),en,dis)able-ipv6
+
+define Build/Configure
+       $(call Build/Configure/Default)
+       $(MAKE) -C $(PKG_BUILD_DIR) DESTDIR="$(PKG_INSTALL_DIR)" reconfigure
+endef
 
 define Package/rsyncd
   SECTION:=net
diff --git a/net/rsync/patches/000-fix-ipv6-detection.patch b/net/rsync/patches/000-fix-ipv6-detection.patch
new file mode 100644 (file)
index 0000000..b2fcb8c
--- /dev/null
@@ -0,0 +1,170 @@
+commit f25dc9d21a9aba2d4c5f3d21273e1f7924d591be
+Author: Maxim Storchak <m.storchak@gmail.com>
+Date:   Sun Jun 28 14:23:03 2020 +0300
+
+    Based on Pierre-Olivier Mercier's patch for https://bugzilla.samba.org/show_bug.cgi?id=10715
+    
+    Original commit message:
+    
+    From 811db086507aceaec0022798dd418956cdd4b54e Mon Sep 17 00:00:00 2001
+    From: Pierre-Olivier Mercier <nemunaire@nemunai.re>
+    Date: Mon, 4 Sep 2017 22:29:55 +0200
+    Subject: [PATCH] Test IPv6 compatibility instead of relying on library probes.
+    
+    Legacy configure behaviour was to detect IPv6 support through known IPv6
+    capable version of common standard libraries. Now: it runs a POSIX test
+    to determine if IPv6 is usable (in case it has not been disabled).
+    ---
+
+diff --git a/configure.ac b/configure.ac
+index 28865ea..7a2bbfe 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -339,119 +339,36 @@ if test x"$rsync_cv_HAVE_BROKEN_LARGEFILE" != x"yes"; then
+    AC_SYS_LARGEFILE
+ fi
+-ipv6type=unknown
+-ipv6lib=none
+-ipv6trylibc=yes
+-
++# Checks if IPv6 is requested
++AC_MSG_CHECKING([whether to enable ipv6])
+ AC_ARG_ENABLE(ipv6,
+-      AS_HELP_STRING([--disable-ipv6],[turn off IPv6 support]))
+-if test x"$enable_ipv6" != x"no"; then
+-      AC_MSG_CHECKING([ipv6 stack type])
+-      for i in inria kame linux-glibc linux-inet6 solaris toshiba v6d zeta cygwin; do
+-              case $i in
+-              inria)
+-                      # http://www.kame.net/
+-                      AC_EGREP_CPP(yes, [
+-#include <netinet/in.h>
+-#ifdef IPV6_INRIA_VERSION
+-yes
+-#endif],
+-                              [ipv6type=$i;
+-                              AC_DEFINE(INET6, 1, [true if you have IPv6])
+-                              ])
+-                      ;;
+-              kame)
+-                      # http://www.kame.net/
+-                      AC_EGREP_CPP(yes, [
+-#include <netinet/in.h>
+-#ifdef __KAME__
+-yes
+-#endif],
+-                              [ipv6type=$i;
+-                              AC_DEFINE(INET6, 1, [true if you have IPv6])])
+-                      ;;
+-              linux-glibc)
+-                      # http://www.v6.linux.or.jp/
+-                      AC_EGREP_CPP(yes, [
+-#include <features.h>
+-#if defined(__GLIBC__) && __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 1
+-yes
+-#endif],
+-                              [ipv6type=$i;
+-AC_DEFINE(INET6, 1, [true if you have IPv6])])
+-                      ;;
+-              linux-inet6)
+-                      # http://www.v6.linux.or.jp/
+-                      if test -d /usr/inet6 -o -f /usr/inet6/lib/libinet6.a; then
+-                              ipv6type=$i
+-                              ipv6lib=inet6
+-                              ipv6libdir=/usr/inet6/lib
+-                              ipv6trylibc=yes;
+-                              AC_DEFINE(INET6, 1, [true if you have IPv6])
+-                              CFLAGS="-I/usr/inet6/include $CFLAGS"
+-                      fi
+-                      ;;
+-              solaris)
+-                      # http://www.sun.com
+-                      AC_EGREP_CPP(yes, [
+-#include <netinet/ip6.h>
+-#ifdef __sun
+-yes
+-#endif],
+-                              [ipv6type=$i;
+-                              AC_DEFINE(INET6, 1, [true if you have IPv6])])
+-                      ;;
+-              toshiba)
+-                      AC_EGREP_CPP(yes, [
+-#include <sys/param.h>
+-#ifdef _TOSHIBA_INET6
+-yes
+-#endif],
+-                              [ipv6type=$i;
+-                              ipv6lib=inet6;
+-                              ipv6libdir=/usr/local/v6/lib;
+-                              AC_DEFINE(INET6, 1, [true if you have IPv6])])
+-                      ;;
+-              v6d)
+-                      AC_EGREP_CPP(yes, [
+-#include </usr/local/v6/include/sys/v6config.h>
+-#ifdef __V6D__
+-yes
+-#endif],
+-                              [ipv6type=$i;
+-                              ipv6lib=v6;
+-                              ipv6libdir=/usr/local/v6/lib;
+-                              AC_DEFINE(INET6, 1, [true if you have IPv6])])
+-                      ;;
+-              zeta)
+-                      AC_EGREP_CPP(yes, [
+-#include <sys/param.h>
+-#ifdef _ZETA_MINAMI_INET6
+-yes
+-#endif],
+-                              [ipv6type=$i;
+-                              ipv6lib=inet6;
+-                              ipv6libdir=/usr/local/v6/lib;
+-                              AC_DEFINE(INET6, 1, [true if you have IPv6])])
+-                      ;;
+-              cygwin)
+-                      AC_EGREP_CPP(yes, [
+-#include <netinet/in.h>
+-#ifdef _CYGWIN_IN6_H
+-yes
+-#endif],
+-                              [ipv6type=$i;
+-                              AC_DEFINE(INET6, 1, [true if you have IPv6])])
+-                      ;;
+-              esac
+-              if test "$ipv6type" != "unknown"; then
+-                      break
+-              fi
+-      done
+-      AC_MSG_RESULT($ipv6type)
++[  --disable-ipv6          disable ipv6 support],
++[ case "$enableval" in
++  no)
++        AC_MSG_RESULT(no)
++      ;;
++  *)    AC_MSG_RESULT(yes)
++        AC_DEFINE(INET6, 1, [true if you have IPv6])
++      ;;
++  esac ],
+-      AC_SEARCH_LIBS(getaddrinfo, inet6)
+-fi
++  AC_TRY_RUN([ /* AF_INET6 avalable check */
++#include <stdlib.h>
++#include <sys/types.h>
++#include <sys/socket.h>
++main()
++{
++   if (socket(AF_INET6, SOCK_STREAM, 0) < 0)
++     exit(1);
++   else
++     exit(0);
++}
++],
++  AC_MSG_RESULT(yes)
++  AC_DEFINE(INET6, 1, [true if you have IPv6]),
++  AC_MSG_RESULT(no),
++  AC_MSG_RESULT(no)
++))
+ dnl Do you want to disable use of locale functions
+ AC_ARG_ENABLE([locale],
index b7e8e0bdc384a8aec9fba6f680d12720bed2da1e..7292589059f41522232f954e0def60f952d5f0c6 100644 (file)
@@ -3,7 +3,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=samba
 PKG_VERSION:=4.12.3
-PKG_RELEASE:=4
+PKG_RELEASE:=5
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:= \
index 38983aa91a7c0f47ea9eee8ffc91b6eb7c99de9e..5f2a6b4760f41ad3f0fab6932f98750732ae10e5 100644 (file)
@@ -1,4 +1,24 @@
+
 config samba
-       option 'workgroup'              'WORKGROUP'
-       option 'description'    'Samba on OpenWrt'
-       option 'charset'                'UTF-8'
+       option workgroup 'WORKGROUP'
+       option charset 'UTF-8'
+       option description 'Samba on OpenWRT'
+       #option enable_extra_tuning '0'
+
+## example share
+#config sambashare
+       #option guest_only 'yes'
+       #option create_mask '0666'
+       #option dir_mask '0777'
+       #option force_root '1'
+       #option name 'share'
+       #option inherit_owner 'yes'
+       #option guest_ok 'yes'
+       #option read_only 'no'
+       #option path '/mnt/tmp'
+
+## reduce process priority via nice
+#config procd 'extra'
+       #option samba_nice '3'
+## on mvebu platform we need negative values!
+       #option samba_nice '-10'
index 92313cf48096c7c4cbf3f2d01dab09dc76383b98..fad8b21394979b353aede1b28dfb7df180974ece 100644 (file)
@@ -37,6 +37,7 @@ smb_header() {
        config_get_bool DISABLE_WINBIND $1 disable_winbind 0
        config_get_bool DISABLE_ASYNC_IO $1 disable_async_io 0
        config_get_bool ALLOW_LEGACY_PROTOCOLS $1 allow_legacy_protocols 0
+       config_get_bool ENABLE_EXTRA_TUNING $1 enable_extra_tuning 0
 
        mkdir -p /var/etc
        sed -e "s#|NAME|#$hostname#g" \
@@ -48,6 +49,21 @@ smb_header() {
 
        {
                printf "\n######### Dynamic written config options #########\n"
+
+               # extra tuning options by community feedback (kinda try&error)
+               if [ "$ENABLE_EXTRA_TUNING" -eq 1 ]; then
+                       local socket_opt
+                       socket_opt="$(grep -i 'socket options' /etc/samba/smb.conf.template | awk -F'=' '{print $2}' | tr -d '\n')"
+                       [ -n "$socket_opt" ] && printf "\tsocket options =%s SO_KEEPALIVE\n" "$socket_opt" # add keepalive, maybe larger buffer? SO_RCVBUF=65536 SO_SNDBUF=65536
+
+                       printf "\tmax xmit = 131072\n" # increase smb1 transmit size
+                       printf "\tmin receivefile size = 131072\n" # allows zero-copy writes via fs
+                       printf "\tfake oplocks = Yes\n" # may corrupt files for simultanous writes to the same files by multiple clients, but might also see big speed boost
+                       printf "\tuse sendfile = Yes\n" # enable sendfile, not sure whats with the 2019 bug https://bugzilla.samba.org/show_bug.cgi?id=14095
+                       # Removed in 4.12.x in favor of VFS io_uring ; this is per file, so may increase memory useage on many simultanous oplocked files!
+                       printf "\twrite cache size = 262144\n" # adds a write cache buffer per file for oplocked files, flushes if size is exhausted
+               fi
+
                if [ "$DISABLE_NETBIOS" -eq 1 ] || [ ! -x /usr/sbin/nmbd ]; then
                        printf "\tdisable netbios = yes\n"
                        # note: samba opens port 139 even if netbios is disabled via option above, so adjust listening ports
@@ -157,12 +173,14 @@ smb_add_share() {
 
 init_config() {
        # Create samba dirs
-       [ -d /var/lib/samba ] || mkdir -p /var/lib/samba
-       [ -d /var/cache/samba ] || mkdir -p /var/cache/samba
+       [ -d /var/lib/samba ] || mkdir -m 755 -p /var/lib/samba
+       [ -d /var/cache/samba ] || mkdir -m 755 -p /var/cache/samba
+       [ -d /var/lock ] || mkdir -m 755 -p /var/lock
        [ -d /var/run/samba ] || mkdir -p /var/run/samba
        [ -d /var/log/samba ] || mkdir -p /var/log/samba
-       [ -d /var/lock ] || mkdir -p /var/lock
        chmod 0755 /var/lock
+       chmod 0755 /var/lib/samba
+       chmod 0755 /var/cache/samba
 
        config_load samba4
        config_foreach smb_header samba
index 162559820aa11d1b9d5194b2dfd52cdd6b042b60..ebc18e392684c5090c6a62cbc5a00518f1829919 100644 (file)
@@ -40,7 +40,7 @@
        ## Set location of smbpasswd ('smbd -b' will show default compiled location)
        #smb passwd file = /etc/samba/smbpasswd 
 
-       ## LAN/WAN options (IPTOS_LOWDELAY TCP_NODELAY) WAN (IPTOS_THROUGHPUT)
+       ## LAN (IPTOS_LOWDELAY TCP_NODELAY) WAN (IPTOS_THROUGHPUT) WiFi (SO_KEEPALIVE) try&error for buffer sizes (SO_RCVBUF=65536 SO_SNDBUF=65536)
        socket options = IPTOS_LOWDELAY TCP_NODELAY
 
        ## If this integer parameter is set to a non-zero value, Samba will read from files asynchronously when the request size is bigger than this value.
@@ -56,7 +56,7 @@
        #aio write behind = /*.tmp/
 
        ## lower CPU useage if supported and aio is disabled (aio read size = 0 ; aio write size = 0)
-       ## currently broken (NOTE: see https://bugzilla.samba.org/show_bug.cgi?id=14095 )
+       ## is this still broken? issue is from 2019 (NOTE: see https://bugzilla.samba.org/show_bug.cgi?id=14095 )
        ## (no, yes)
        #use sendfile = yes
 
index d8e59098eb0a5f0218269c20060c09346b1823de..406624838b3a3d90aeb7d289a6d1e9d22170e69b 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=stubby
 PKG_VERSION:=0.2.6
-PKG_RELEASE:=4
+PKG_RELEASE:=5
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/getdnsapi/$(PKG_NAME)
index ebc357bbdc21f2a63a8d8d93bb450580512695aa..d08997caf0584f41d06a259d7d79ee807f8ff187 100755 (executable)
@@ -162,7 +162,7 @@ generate_config()
         config_get tls_auth_name "$config" tls_auth_name
         echo "    tls_auth_name: \"$tls_auth_name\""
 
-        config_get tls_auth_port "$config" tls_port ""
+        config_get tls_port "$config" tls_port ""
         if [ -n "$tls_port" ]; then
             echo "    tls_port: $tls_port"
         fi
index fff82d1d19b9eef1fd462b64d8c0d91b6c7e85c9..12f0e3a8ffa6ffc42d2934ef5a99ce9156ea0980 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=unbound
 PKG_VERSION:=1.10.1
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://nlnetlabs.nl/downloads/unbound
@@ -24,6 +24,13 @@ PKG_BUILD_PARALLEL:=1
 PKG_FIXUP:=autoreconf
 PKG_INSTALL:=1
 
+PKG_CONFIG_DEPENDS:=CONFIG_PACKAGE_libunbound_dnscrypt \
+       CONFIG_PACKAGE_libunbound_ipset \
+       CONFIG_PACKAGE_libunbound_libevent \
+       CONFIG_PACKAGE_libunbound_libpthread \
+       CONFIG_PACKAGE_libunbound_pythonmodule \
+       CONFIG_PACKAGE_libunbound_subnet
+
 include $(INCLUDE_DIR)/package.mk
 
 define Package/unbound/Default
@@ -38,63 +45,34 @@ endef
 
 define Package/unbound-daemon
   $(call Package/unbound/Default)
-  TITLE+= (daemon, light traffic)
-  DEPENDS+= +libunbound-light
-  VARIANT:=light
+  TITLE+= (daemon)
+  DEPENDS+= +libunbound
 endef
 
 define Package/unbound-daemon/description
-  This package contains the Unbound daemon with basic includes
-  necessary to meet the needs of UCI/LuCI configuration optoins.
+  This package contains the Unbound daemon including 'libevent', 'libmnl', and
+  'libpthread' to better handle large networks with heavy query loads. Options
+  are available under libraries/network/libunbound to custom trim Unbound for
+  smaller targets.
 endef
 
-define Package/unbound-daemon-heavy
-  $(call Package/unbound/Default)
-  TITLE+= (daemon, heavy traffic)
-  URL:=https://nlnetlabs.nl/documentation/unbound/howto-optimise
-  DEPENDS+= +libunbound-heavy +libpthread +libevent2 +libevent2-pthreads +libmnl
-  VARIANT:=heavy
-  PROVIDES:=unbound-daemon
-endef
-
-define Package/unbound-daemon-heavy/description
-  This package contains the Unbound daemon including 'libevent' and
-  'libpthread' to better handle large networks with heavy query loads.
-  It also offers ipset support.
-endef
-
-define Package/libunbound-light
+define Package/libunbound
   $(call Package/unbound/Default)
   SECTION:=libs
   CATEGORY:=Libraries
   SUBMENU:=Networking
-  TITLE+= (library, light traffic)
-  VARIANT:=light
-  PROVIDES:=libunbound
-  DEFAULT_VARIANT:=1
+  TITLE+= (library)
+  DEPENDS+=+PACKAGE_libunbound_dnscrypt:libsodium \
+    +PACKAGE_libunbound_ipset:libmnl \
+    +PACKAGE_libunbound_libevent:libevent2 \
+       +PACKAGE_libunbound_libpthread:libpthread \
+       +PACKAGE_libunbound_pythonmodule:python3-base
 endef
 
-define Package/libunbound-light/description
-  This package contains the Unbound shared library with basic includes
-  necessary to meet the needs of UCI/LuCI configuration options.
-endef
-
-define Package/libunbound-heavy
-  $(call Package/unbound/Default)
-  SECTION:=libs
-  CATEGORY:=Libraries
-  SUBMENU:=Networking
-  TITLE+= (library, heavy traffic)
-  URL:=https://nlnetlabs.nl/documentation/unbound/howto-optimise
-  DEPENDS+= +libpthread +libevent2 +libevent2-pthreads +libmnl
-  VARIANT:=heavy
-  PROVIDES:=libunbound
-endef
-
-define Package/libunbound-heavy/description
-  This package contains the Unbound shared library including 'libevent' and
-  'libpthread' to better handle large networks with heavy query loads. It
-  also offers ipset support.
+define Package/libunbound/description
+  This package contains the Unbound library including 'libevent', 'libmnl', and
+  'libpthread' to better handle large networks with heavy query loads. Options
+  are available to custom trim Unbound for smaller targets.
 endef
 
 define Package/unbound-anchor
@@ -147,6 +125,29 @@ define Package/unbound-host/description
   This package contains the Unbound DNS lookup utility.
 endef
 
+define Package/libunbound/config
+       if PACKAGE_libunbound
+       config PACKAGE_libunbound_dnscrypt
+               bool "Build with DNSCRYPT support."
+               default n
+       config PACKAGE_libunbound_ipset
+               bool "Build with IPSET (libmnl) support."
+               default y
+       config PACKAGE_libunbound_libevent
+               bool "Build with expanded network resource (libevent) support."
+               default y
+       config PACKAGE_libunbound_libpthread
+               bool "Build with POSIX threading (libpthread) support."
+               default y
+       config PACKAGE_libunbound_pythonmodule
+               bool "Build with PYTHON module for prototyping and data analysis."
+               default n
+       config PACKAGE_libunbound_subnet
+               bool "Build with SUBNET cache module support."
+               default n
+       endif
+endef
+
 CONFIGURE_ARGS += \
        --disable-dsa \
        --disable-gost \
@@ -159,21 +160,17 @@ CONFIGURE_ARGS += \
        --with-user=unbound \
        --with-run-dir=/var/lib/unbound \
        --with-conf-file=/var/lib/unbound/unbound.conf \
-       --with-pidfile=/var/run/unbound.pid
-
-ifeq ($(BUILD_VARIANT),heavy)
-       CONFIGURE_ARGS += \
-               --enable-ipset \
-               --with-pthreads \
-               --with-libevent="$(STAGING_DIR)/usr" \
-               --with-libmnl="$(STAGING_DIR)/usr" \
-               --enable-event-api
-else
-    CONFIGURE_ARGS += \
-               --without-pthreads \
-               --without-solaris-threads \
-               --without-libevent
-endif
+       --with-pidfile=/var/run/unbound.pid \
+    $(if $(CONFIG_PACKAGE_libunbound_dnscrypt), \
+        --enable-dnscrypt --with-libsodium="$(STAGING_DIR)/usr",) \
+    $(if $(CONFIG_PACKAGE_libunbound_ipset), \
+        --enable-ipset --with-libmnl="$(STAGING_DIR)/usr",) \
+    $(if $(CONFIG_PACKAGE_libunbound_libevent), \
+        --enable-event-api --with-libevent="$(STAGING_DIR)/usr",--without-libevent) \
+    $(if $(CONFIG_PACKAGE_libunbound_libpthread), \
+        --with-pthreads,--without-pthreads --without-solaris-threads) \
+    $(if $(CONFIG_PACKAGE_libunbound_python),--with-pythonmodule,) \
+    $(if $(CONFIG_PACKAGE_libunbound_subnet),--enable-subnet,) \
 
 define Package/unbound-daemon/conffiles
 /etc/config/unbound
@@ -182,14 +179,12 @@ define Package/unbound-daemon/conffiles
 /etc/unbound/unbound_srv.conf
 endef
 
-Package/unbound-daemon-heavy/conffiles = $(Package/unbound-daemon/conffiles)
-
 define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/lib
        $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libunbound.{so*,a,la} $(1)/usr/lib/
        $(INSTALL_DIR) $(1)/usr/include
        $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/unbound.h $(1)/usr/include/
-ifeq ($(BUILD_VARIANT),heavy)
+ifneq ($(CONFIG_PACKAGE_libunbound_libevent),)
        $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/unbound-event.h $(1)/usr/include/
 endif
 endef
@@ -221,15 +216,11 @@ define Package/unbound-daemon/install
        $(INSTALL_DATA) ./files/unbound.sh $(1)/usr/lib/unbound/unbound.sh
 endef
 
-Package/unbound-daemon-heavy/install = $(Package/unbound-daemon/install)
-
-define Package/libunbound-light/install
+define Package/libunbound/install
        $(INSTALL_DIR) $(1)/usr/lib
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libunbound.so.* $(1)/usr/lib/
 endef
 
-Package/libunbound-heavy/install = $(Package/libunbound-light/install)
-
 define Package/unbound-anchor/install
        $(INSTALL_DIR) $(1)/usr/sbin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/unbound-anchor $(1)/usr/sbin/
@@ -256,9 +247,7 @@ define Package/unbound-host/install
 endef
 
 $(eval $(call BuildPackage,unbound-daemon))
-$(eval $(call BuildPackage,unbound-daemon-heavy))
-$(eval $(call BuildPackage,libunbound-light))
-$(eval $(call BuildPackage,libunbound-heavy))
+$(eval $(call BuildPackage,libunbound))
 $(eval $(call BuildPackage,unbound-anchor))
 $(eval $(call BuildPackage,unbound-checkconf))
 $(eval $(call BuildPackage,unbound-control))
index ec06de5a0629b291bcecfc3e1416d0a51030db58..ca9692e0b6f52104981cab4fa4c228698d524d09 100644 (file)
@@ -190,6 +190,11 @@ config zone
   list zone_name '.'
 ```
 
+## Optional Compile Switches
+Unbound can be changed by toggling switches within `make menuconfig` Libraries/Network/libunbound. Disable libevent, libpthread, and ipset to attempt to gain performance and size on small single core targets. These downgrade options are well tested, but they are not needed unless Unbound will not fit. Take care before enabling subnetcache, dnscrypt, and python options. These enhancements are not fully tested within OpenWrt and python is a large dependency. These enhancements are default off and they do not have UCI. You will need to use the files `/etc/unbound/unbound_srv.conf` and `/etc/unbound/unbound_ext.conf` to configure these modules. The `server:` clause line `module: subnetcache validator python iterator` will be filled out if the modules are compiled in.
+
+Note: if you use python, then you will need to manual configure and you cannot use chroot. The scripts are not yet enhanced enough to set up the directory binding.
+
 ## Complete List of UCI Options
 **/etc/config/unbound**:
 ```
@@ -217,6 +222,11 @@ config unbound
     Level. Same as previous option only this applies to the WAN. WAN are
     inferred by a UCI `config dhcp` entry that contains the 'option ignore 1'.
 
+  option dns_assist 'none'
+    Program Name. Use DNS helpers found on local host and match to their UCI.
+    Only program 'ipset-dns' is supported so far. NSD and Bind might be useful
+    but they don't have UCI to parse.
+
   option dns64 '0'
     Boolean. Enable DNS64 through Unbound in order to bridge networks that are
     IPV6 only and IPV4 only (see RFC6052).
index c26511941d33e9b63da0ebefe331b00ed9f257f0..ffbd003364ab495998c14257188b401206f70c21 100644 (file)
@@ -26,6 +26,7 @@ UB_HOST_CONF=$UB_VARDIR/host.conf.tmp
 UB_DHCP_CONF=$UB_VARDIR/dhcp.conf
 UB_ZONE_CONF=$UB_VARDIR/zone.conf.tmp
 UB_CTRL_CONF=$UB_VARDIR/ctrl.conf.tmp
+UB_ASSIST_CONF=$UB_VARDIR/assist.conf.tmp
 UB_SRVMASQ_CONF=$UB_VARDIR/dnsmasq_srv.conf.tmp
 UB_EXTMASQ_CONF=$UB_VARDIR/dnsmasq_ext.conf.tmp
 UB_SRV_CONF=$UB_VARDIR/unbound_srv.conf
index a57d81d4ea4083c9ad50b731f3bb5e378c9b6c14..71bb2fd9f956ff34bbe5a65e7aeface8894b8a47 100644 (file)
@@ -41,6 +41,7 @@ UB_B_IF_AUTO=1
 UB_D_CONTROL=0
 UB_D_DOMAIN_TYPE=static
 UB_D_DHCP_LINK=none
+UB_D_DNS_ASSIST=none
 UB_D_EXTRA_DNS=0
 UB_D_LAN_FQDN=0
 UB_D_PRIV_BLCK=1
@@ -375,6 +376,37 @@ unbound_control() {
 
 ##############################################################################
 
+unbound_assistant() {
+  local port=53000
+
+  case "$UB_D_DNS_ASSIST" in
+  ipset-dns)
+    port=$( uci_get ipset-dns.@ipset-dns[0].port )
+
+    if [ ! -f "$UB_ASSIST_CONF" ] \
+    && [ $port -gt 0 ] && [ $port -lt 65535 ] ; then
+      {
+        echo "# $UB_ASSIST_CONF generated by UCI $( date -Is )"
+        echo "forward-zone:"
+        echo "  name: ."
+        echo "  forward-addr: 127.0.0.1@$port"
+        echo "  forward-first: no"
+      } > $UB_ASSIST_CONF
+    fi
+    ;;
+
+  nsd)
+    echo "# Sorry, NSD does not have UCI to read and link." >> $UB_ASSIST_CONF
+    ;;
+
+  bind)
+    echo "# Sorry, Bind does not have UCI to read and link." >> $UB_ASSIST_CONF
+    ;;
+  esac
+}
+
+##############################################################################
+
 unbound_zone() {
   local cfg=$1
   local servers_ip=""
@@ -547,7 +579,7 @@ unbound_zone() {
 ##############################################################################
 
 unbound_conf() {
-  local rt_mem rt_conn rt_buff modulestring domain ifsubnet
+  local rt_mem rt_conn rt_buff modulestring domain ifsubnet moduleopts
 
   {
     # server: for this whole function
@@ -629,6 +661,18 @@ unbound_conf() {
   fi
 
 
+  if [ "$UB_B_IF_AUTO" -gt 0 ] ; then
+    echo "  interface-automatic: yes" >> $UB_CORE_CONF
+  fi
+
+
+  case "$UB_D_DNS_ASSIST" in
+  bind|ipset-dns|nsd)
+    echo "  do-not-query-localhost: no" >> $UB_CORE_CONF
+    ;;
+  esac
+
+
   case "$UB_D_PROTOCOL" in
     ip4_only)
       {
@@ -721,11 +765,6 @@ unbound_conf() {
   esac
 
 
-  if [ "$UB_B_IF_AUTO" -gt 0 ] ; then
-    echo "  interface-automatic: yes" >> $UB_CORE_CONF
-  fi
-
-
   case "$UB_D_RESOURCE" in
     # Tiny - Unbound's recommended cheap hardware config
     tiny)   rt_mem=1  ; rt_conn=2  ; rt_buff=1 ;;
@@ -768,9 +807,17 @@ unbound_conf() {
 
 
   # Assembly of module-config: options is tricky; order matters
+  moduleopts="$( /usr/sbin/unbound -V )"
   modulestring="iterator"
 
 
+  case $moduleopts in
+  *with-python*)
+    modulestring="python $modulestring"
+    ;;
+  esac
+
+
   if [ "$UB_B_DNSSEC" -gt 0 ] ; then
     if [ "$UB_B_NTP_BOOT" -gt 0 ] ; then
       # DNSSEC chicken and egg with getting NTP time
@@ -789,6 +836,13 @@ unbound_conf() {
   fi
 
 
+  case $moduleopts in
+  *enable-subnet*)
+    modulestring="subnetcache $modulestring"
+    ;;
+  esac
+
+
   if [ "$UB_B_DNS64" -gt 0 ] ; then
     echo "  dns64-prefix: $UB_IP_DNS64" >> $UB_CORE_CONF
 
@@ -1226,6 +1280,7 @@ unbound_uci() {
   config_get UB_D_CONTROL     "$cfg" unbound_control 0
   config_get UB_D_DOMAIN_TYPE "$cfg" domain_type static
   config_get UB_D_DHCP_LINK   "$cfg" dhcp_link none
+  config_get UB_D_DNS_ASSIST  "$cfg" dns_assist none
   config_get UB_D_EXTRA_DNS   "$cfg" add_extra_dns 0
   config_get UB_D_LAN_FQDN    "$cfg" add_local_fqdn 0
   config_get UB_D_PRIV_BLCK   "$cfg" rebind_protection 1
@@ -1256,6 +1311,16 @@ unbound_uci() {
   fi
 
 
+  if [ "$UB_D_DNS_ASSIST" = "none" ] ; then
+    UB_D_DNS_ASSIST=none
+
+  elif [ ! -x /usr/sbin/bind ] || [ ! -x /etc/init.d/bind ] \
+    || [ ! -x /usr/sbin/nsd ] || [ ! -x /etc/init.d/nsd ] \
+    || [ ! -x /usr/sbin/ipset-dns ] || [ ! -x /etc/init.d/ipset-dns ] ; then
+    UB_D_DNS_ASSIST=none
+  fi
+
+
   if [ "$UB_D_DHCP_LINK" = "dnsmasq" ] ; then
     if [ ! -x /usr/sbin/dnsmasq ] || [ ! -x /etc/init.d/dnsmasq ] ; then
       UB_D_DHCP_LINK=none
@@ -1391,6 +1456,13 @@ unbound_include() {
   fi
 
 
+  if [ -f "$UB_ASSIST_CONF" ] ; then
+    # UCI found link to DNS helpers
+    cat $UB_ASSIST_CONF >> $UB_TOTAL_CONF
+    rm  $UB_ASSIST_CONF
+  fi
+
+
   if [ -f "$UB_EXT_CONF" ] ; then
     {
       # Pull your own extend feature clauses here
@@ -1453,6 +1525,8 @@ unbound_start() {
     unbound_hostname
     # control:
     unbound_control
+    # assistants
+    unbound_assistant
     # dnsmasq
     dnsmasq_link
     # merge
index 64eddbe226c59773dac7f84ed24c0ac5935ae1b5..f9ed7f15aeaf2454f768c2b412a028e3ac2b85cd 100644 (file)
@@ -9,20 +9,22 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=portaudio
 PKG_VERSION:=190600_20161030
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=pa_stable_v$(PKG_VERSION).tgz
 PKG_SOURCE_URL:=http://www.portaudio.com/archives/
 PKG_HASH:=f5a21d7dcd6ee84397446fa1fa1a0675bb2e8a4a6dceb4305a8404698d8d1513
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
 
+PKG_MAINTAINER:=
 PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=LICENSE.txt
-PKG_MAINTAINER:=Nicolas Thill <nico@openwrt.org>
 
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
-PKG_INSTALL:=1
+CMAKE_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
 
 include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
 
 define Package/portaudio
   SECTION:=sound
@@ -40,37 +42,9 @@ define Package/portaudio/description
  different platforms. Many applications use PortAudio for Audio I/O.
 endef
 
-CONFIGURE_ARGS+= \
-       --with-alsa \
-       --without-asihpi \
-       --without-jack \
-       --with-oss \
-
-EXTRA_CFLAGS += $(TARGET_CPPFLAGS)
-
-define Build/Compile
-       $(call Build/Compile/Default,lib/libportaudio.la)
-endef
-
-define Build/InstallDev
-       $(INSTALL_DIR) $(1)/usr/include
-       $(CP) \
-               $(PKG_INSTALL_DIR)/usr/include/portaudio.h \
-               $(PKG_INSTALL_DIR)/usr/include/pa_linux_alsa.h \
-               $(1)/usr/include/
-       $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) \
-               $(PKG_INSTALL_DIR)/usr/lib/libportaudio.{a,so*} \
-               $(1)/usr/lib/
-       $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
-       $(CP) \
-               $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/portaudio-*.pc \
-               $(1)/usr/lib/pkgconfig/
-endef
-
 define Package/portaudio/install
        $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libportaudio.so.* $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libportaudio.so $(1)/usr/lib/
 endef
 
 $(eval $(call BuildPackage,portaudio))
index 7edeaa59ac51fc1d3285179bb6b5beb6e75b598b..d803602be0bdaf06a1fb569d334c5ff5baf83948 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=upmpdcli
-PKG_VERSION:=1.4.9
+PKG_VERSION:=1.4.12
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://www.lesbonscomptes.com/upmpdcli/downloads
-PKG_HASH:=ace5a3166891109d2a874f21306986857ee2620230a77751ed6209f7b5cc9c58
+PKG_HASH:=bffc78c140ad688987894ea5a1e162e6dcbc7dcae7d2cc322a894f5ea2a2f53b
 
 PKG_MAINTAINER:=Petko Bordjukov <bordjukov@gmail.com>
 PKG_LICENSE:=LGPL-2.1-or-later
index e5c3eabe1fe9d79889d784e4f55d1cdd2e3125ae..99474338ce6c0874bfd406a94a6fb0dd9fa19322 100644 (file)
@@ -1,12 +1,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=cgroupfs-mount
-PKG_VERSION:=1.4
-PKG_RELEASE:=2
+PKG_RELEASE:=1
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://codeload.github.com/tianon/cgroupfs-mount/tar.gz/${PKG_VERSION}?
-PKG_HASH:=d6c8aff7af59c7d0082ee3018c97f73b0421e81a49bb28ad9f66a36da5cd6ec7
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/tianon/$(PKG_NAME)
+PKG_SOURCE_VERSION:=0549428171605eae3097a3e21bf7664845eac9e8
+PKG_SOURCE_DATE:=2020-06-26
+PKG_MIRROR_HASH:=ca217ffff5aa938149d2d8adfe15d800903d2fec180acb2400c36d62905988ea
 
 PKG_MAINTAINER:=Gerard Ryan <G.M0N3Y.2503@gmail.com>
 
index 598b079b769b1725eaa1d6c73bb367488cad645a..1a6b9a7b79206099e75edc78c2eaf32fa8f29f51 100644 (file)
@@ -4,8 +4,8 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=prometheus-node-exporter-lua
-PKG_VERSION:=2020.02.03
-PKG_RELEASE:=2
+PKG_VERSION:=2020.06.26
+PKG_RELEASE:=1
 
 PKG_MAINTAINER:=Etienne CHAMPETIER <champetier.etienne@gmail.com>
 PKG_LICENSE:=Apache-2.0
diff --git a/utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/dawn.lua b/utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/dawn.lua
new file mode 100644 (file)
index 0000000..9694463
--- /dev/null
@@ -0,0 +1,52 @@
+local ubus = require "ubus"
+
+local function scrape()
+  local metric_dawn_ap_channel_utilization_ratio = metric("dawn_ap_channel_utilization_ratio","gauge")
+  local metric_dawn_ap_stations_total = metric("dawn_ap_stations_total","gauge")
+  local metric_dawn_station_signal_dbm = metric("dawn_station_signal_dbm","gauge")
+
+  local u = ubus.connect()
+  local network = u:call("dawn", "get_network", {})
+
+  for ssid, ssid_table in pairs(network) do
+    for ap, ap_table in pairs(ssid_table) do
+
+      if (ap_table['local'] == true) then
+
+        local ht_support = (ap_table['ht_support'] == true) and 1 or 0
+        local vht_support = (ap_table['vht_support'] == true) and 1 or 0
+
+        local labels = {
+          ssid = ssid,
+          bssid = ap,
+          freq = ap_table['freq'],
+          ht_support = ht_support,
+          vht_support = vht_support,
+          neighbor_report = ap_table['neighbor_report'],
+        }
+        metric_dawn_ap_channel_utilization_ratio(labels, ap_table['channel_utilization'] / 255)
+        metric_dawn_ap_stations_total(labels, ap_table['num_sta'])
+
+        for client, client_table in pairs(ap_table) do
+          if (type(client_table) == "table") then
+
+            local client_ht_support = (client_table['ht'] == true) and 1 or 0
+            local client_vht_support = (client_table['vht'] == true) and 1 or 0
+            local client_signal = client_table['signal'] or -255
+
+            local labels = {
+              ssid = ssid,
+              bssid = ap,
+              mac = client,
+              ht_support = client_ht_support,
+              vht_support = client_vht_support,
+            }
+            metric_dawn_station_signal_dbm(labels, client_signal)
+          end
+        end
+      end
+    end
+  end
+end
+
+return { scrape = scrape }
\ No newline at end of file
index 4a0e781da3a7cdea2a945a5a718c6c7b72d7030a..c57730d2ef4197d5aadbe52fa67d3e967c96c7ba 100644 (file)
@@ -23,6 +23,13 @@ GO_PKG:=github.com/syncthing/syncthing/
 GO_PKG_BUILD_PKG:=github.com/syncthing/syncthing/cmd/syncthing/
 GO_PKG_INSTALL_EXTRA:=^gui/
 
+GO_PKG_LDFLAGS_X:=\
+       github.com/syncthing/syncthing/lib/build.Version=v$(PKG_VERSION) \
+       github.com/syncthing/syncthing/lib/build.Stamp=$(SOURCE_DATE_EPOCH) \
+       github.com/syncthing/syncthing/lib/build.User=openwrt \
+       github.com/syncthing/syncthing/lib/build.Host=openwrt \
+       github.com/syncthing/syncthing/lib/build.Program=syncthing
+
 include $(INCLUDE_DIR)/package.mk
 include ../../lang/golang/golang-package.mk
 
@@ -35,13 +42,6 @@ define Package/syncthing
   USERID:=syncthing:syncthing
 endef
 
-GO_PKG_LDFLAGS_X:=\
-       github.com/syncthing/syncthing/lib/build.Version=v$(PKG_VERSION) \
-       github.com/syncthing/syncthing/lib/build.Stamp=$(SOURCE_DATE_EPOCH) \
-       github.com/syncthing/syncthing/lib/build.User=openwrt \
-       github.com/syncthing/syncthing/lib/build.Host=openwrt \
-       github.com/syncthing/syncthing/lib/build.Program=syncthing
-
 define Build/Compile
   $(call GoPackage/Build/Compile,-tags noupgrade)
 endef
index 335c8f7119d753908f11d13c1d7b6a9072e062b8..c14960e5b72bcb8812ece4aa9a0efca5d9dc636d 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=xfsprogs
 PKG_VERSION:=5.5.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@KERNEL/linux/utils/fs/xfs/xfsprogs
index 936d3cc29edb3adb23d70958d78602cbf3423de1..fef5d50a24017aa79771e83835b361233dafcf76 100644 (file)
@@ -1,12 +1,16 @@
 --- a/io/mmap.c
 +++ b/io/mmap.c
-@@ -11,6 +11,10 @@
+@@ -11,6 +11,14 @@
  #include "init.h"
  #include "io.h"
  
 +#ifndef MAP_SYNC
 +#define MAP_SYNC 0
 +#endif
++
++#ifndef MAP_SHARED_VALIDATE
++#define MAP_SHARED_VALIDATE 0x03
++#endif
 +
  static cmdinfo_t mmap_cmd;
  static cmdinfo_t mread_cmd;