Merge pull request #4306 from TDT-GmbH/mwan3-add-network
authorHannu Nyman <hannu.nyman@iki.fi>
Fri, 28 Apr 2017 07:52:10 +0000 (10:52 +0300)
committerGitHub <noreply@github.com>
Fri, 28 Apr 2017 07:52:10 +0000 (10:52 +0300)
Mwan3 add network

74 files changed:
devel/m4/Makefile
lang/lua-bencode/Makefile
lang/php7/Makefile
lang/php7/patches/1008-fix-musl-sys-headers.patch [new file with mode: 0644]
libs/boost/Makefile
libs/boost/patches/02_fix_context_overload_ambiguity.patch [new file with mode: 0755]
libs/boost/patches/02_fix_libc_regression_execution_monitor.patch [deleted file]
libs/icu/Makefile
libs/icu/patches/000-dont-cpy-files-from-topdirs.patch
libs/icu/patches/001-disable-strtod_l.patch
libs/jansson/Makefile
libs/libgd/Makefile
libs/libgd/patches/101-gdlib-config.patch
libs/libgd/patches/102-gdlib-pc-in.patch [new file with mode: 0644]
libs/libgd/patches/200-uclibc-ceill.patch
libs/libpng/Makefile
libs/libsoxr/Makefile
libs/xmlrpc-c/Makefile
mail/dovecot/Makefile
net/acme/Makefile
net/acme/files/acme-cbi.lua
net/acme/files/acme.config
net/acme/files/run.sh
net/adblock/Makefile
net/adblock/files/README.md
net/adblock/files/adblock.conf
net/adblock/files/adblock.init
net/adblock/files/adblock.sh
net/freeradius3/Makefile
net/freeradius3/patches/001-fix-cert-expiry.patch [new file with mode: 0644]
net/gnunet/Makefile
net/isc-dhcp/Makefile
net/ocserv/Makefile
net/ocserv/files/ocserv.init [changed mode: 0644->0755]
net/ser2net/Makefile
net/ser2net/patches/0001-dataxfer.c-fix-possible-buffer-overruns-caused-by-ga.patch [new file with mode: 0644]
net/ser2net/patches/0002-dataxfer.c-truncate-error-message-to-fit-the-column-.patch [new file with mode: 0644]
net/ser2net/patches/0003-dataxfer.c-adjust-Remote-address-column-width.patch [new file with mode: 0644]
net/ser2net/patches/0004-dataxfer.c-in-case-port-is-not-connected-display-thi.patch [new file with mode: 0644]
net/squid/files/squid.config
net/squid/files/squid.init
net/strongswan/Makefile
net/strongswan/patches/101-musl-fixes.patch
net/strongswan/patches/210-sleep.patch
net/strongswan/patches/305-minimal_dh_plugin.patch
net/tcpreplay/Makefile
net/travelmate/Makefile
net/travelmate/files/README.md
net/travelmate/files/travelmate.conf
net/travelmate/files/travelmate.init
net/travelmate/files/travelmate.sh
net/unbound/Makefile
net/unbound/patches/001-conf.patch
net/wifischedule/Makefile
net/wireguard/Makefile
utils/ccrypt/Makefile
utils/cmdpad/Makefile
utils/collectd/Makefile
utils/collectd/patches/050-upstream-fix-for-network-plugin-ddos.patch [new file with mode: 0644]
utils/collectd/patches/700-disable-sys-capability-check.patch
utils/collectd/patches/900-add-iwinfo-plugin.patch
utils/cryptodev-linux/Makefile
utils/hfsprogs/Makefile
utils/irqbalance/Makefile
utils/lcdproc/Makefile [new file with mode: 0644]
utils/lcdproc/files/LCDd [new file with mode: 0755]
utils/lcdproc/files/lcdexec [new file with mode: 0755]
utils/lcdproc/files/lcdproc [new file with mode: 0755]
utils/lcdproc/files/lcdvc [new file with mode: 0755]
utils/pcsc-lite/Makefile
utils/shadow/Makefile
utils/slide-switch/Makefile
utils/stoken/Makefile
utils/ttyd/Makefile

index 19c8c17e4194373c5aa2880d31e988185b74bd02..6726f148d09a7d234e6f13af0a50e77ad8cc39ab 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=m4
-PKG_VERSION:=1.4.17
-PKG_RELEASE:=2
+PKG_VERSION:=1.4.18
+PKG_RELEASE:=1
 
 PKG_SOURCE_URL:=@GNU/m4
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_MD5SUM:=12a3c829301a4fd6586a57d3fcf196dc
+PKG_MD5SUM:=f2c1e86ca0a404ff281631bdc8377638992744b175afb806e25871a24a934e07
 PKG_MAINTAINER:=Heinrich Schuchardt <xypron.glpk@gmx.de>
 PKG_LICENSE:=GPL-3.0+
 
index 0b320560875f8ffa995c60a715562546393dede8..a7b898bf52fcf166c62a3196deb119983708d3ef 100644 (file)
@@ -11,11 +11,10 @@ PKG_NAME:=lua-bencode
 PKG_VERSION:=2.1.0
 PKG_RELEASE:=1
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_URL:=https://bitbucket.org/wilhelmy/lua-bencode
-PKG_SOURCE_PROTO:=hg
-PKG_SOURCE_VERSION:=500243383cb6acbddd3cf12aee6e4667aab53324
+PKG_SOURCE_URL:=https://bitbucket.org/wilhelmy/lua-bencode/downloads/
+PKG_HASH:=4624f33ff026bc62990a323ee4953e42d68430c38a1a4726c9cfd77c085b1422
 PKG_LICENSE:=MIT
 
 include $(INCLUDE_DIR)/package.mk
index f9ef6a1664ba9a8811dd349d837574b4a8cf0528..2c3d2127e7bf623f7c01860b29a3fab7440e6eb8 100644 (file)
@@ -6,8 +6,8 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=php
-PKG_VERSION:=7.1.3
-PKG_RELEASE:=2
+PKG_VERSION:=7.1.4
+PKG_RELEASE:=5
 
 PKG_MAINTAINER:=Michael Heimpold <mhei@heimpold.de>
 
@@ -16,8 +16,8 @@ PKG_LICENSE_FILES:=LICENSE
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://www.php.net/distributions/
-PKG_MD5SUM:=d604d688be17f4a05b99dbb7fb9581f4
-PKG_HASH:=e4887c2634778e37fd962fbdf5c4a7d32cd708482fe07b448804625570cb0bb0
+PKG_MD5SUM:=a74c13f8779349872b365e6732e8c98e
+PKG_HASH:=71514386adf3e963df087c2044a0b3747900b8b1fc8da3a99f0a0ae9180d300b
 
 PKG_FIXUP:=libtool autoreconf
 PKG_BUILD_PARALLEL:=1
@@ -66,6 +66,7 @@ define Package/php7/config
        config PHP7_FILTER
                bool "PHP7 Filter support"
                depends on PACKAGE_php7-cli || PACKAGE_php7-cgi
+               default y
 
        config PHP7_LIBXML
                bool "PHP7 LIBXML support"
@@ -142,6 +143,9 @@ define Package/php7-fpm/description
   This package contains the FastCGI Process Manager of the PHP7 interpreter.
 endef
 
+# not everything groks --disable-nls
+DISABLE_NLS:=
+
 CONFIGURE_ARGS+= \
        --enable-cli \
        --enable-cgi \
@@ -215,7 +219,6 @@ ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-gd),)
        --with-jpeg-dir="$(STAGING_DIR)/usr" \
        --with-png-dir="$(STAGING_DIR)/usr" \
        --without-xpm-dir \
-       --without-t1lib \
        --enable-gd-native-ttf \
        --disable-gd-jis-conv
 else
@@ -242,6 +245,7 @@ endif
 
 ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-intl),)
   CONFIGURE_ARGS+= --enable-intl=shared
+  TARGET_CXXFLAGS+= -std=c++0x
 else
   CONFIGURE_ARGS+= --disable-intl
 endif
diff --git a/lang/php7/patches/1008-fix-musl-sys-headers.patch b/lang/php7/patches/1008-fix-musl-sys-headers.patch
new file mode 100644 (file)
index 0000000..f636a36
--- /dev/null
@@ -0,0 +1,66 @@
+--- a/configure.in     2017-04-14 11:53:48.345481008 -0600
++++ b/configure.in     2017-04-14 11:58:47.887644651 -0600
+@@ -497,6 +497,7 @@
+ locale.h \
+ monetary.h \
+ netdb.h \
++poll.h \
+ pwd.h \
+ resolv.h \
+ signal.h \
+@@ -509,7 +510,6 @@
+ sys/file.h \
+ sys/mman.h \
+ sys/mount.h \
+-sys/poll.h \
+ sys/resource.h \
+ sys/select.h \
+ sys/socket.h \
+--- a/main/php_network.h       2017-04-11 09:37:35.000000000 -0600
++++ b/main/php_network.h       2017-04-14 12:00:00.736168983 -0600
+@@ -122,8 +122,8 @@
+ /* uncomment this to debug poll(2) emulation on systems that have poll(2) */
+ /* #define PHP_USE_POLL_2_EMULATION 1 */
+-#if defined(HAVE_SYS_POLL_H) && defined(HAVE_POLL)
+-# include <sys/poll.h>
++#if defined(HAVE_POLL_H) && defined(HAVE_POLL)
++# include <poll.h>
+ typedef struct pollfd php_pollfd;
+ #else
+ typedef struct _php_pollfd {
+--- a/main/network.c   2017-04-11 09:37:35.000000000 -0600
++++ b/main/network.c   2017-04-14 11:59:44.528052372 -0600
+@@ -51,8 +51,8 @@
+ #ifdef HAVE_SYS_SELECT_H
+ #include <sys/select.h>
+ #endif
+-#if HAVE_SYS_POLL_H
+-#include <sys/poll.h>
++#if HAVE_POLL_H
++#include <poll.h>
+ #endif
+ #if defined(NETWARE)
+--- a/main/fastcgi.c   2017-04-11 09:37:35.000000000 -0600
++++ b/main/fastcgi.c   2017-04-14 12:01:06.924644901 -0600
+@@ -76,8 +76,8 @@
+ # include <netdb.h>
+ # include <signal.h>
+-# if defined(HAVE_SYS_POLL_H) && defined(HAVE_POLL)
+-#  include <sys/poll.h>
++# if defined(HAVE_POLL_H) && defined(HAVE_POLL)
++#  include <poll.h>
+ # endif
+ # if defined(HAVE_SYS_SELECT_H)
+ #  include <sys/select.h>
+@@ -1430,7 +1430,7 @@
+                               break;
+ #else
+                               if (req->fd >= 0) {
+-#if defined(HAVE_SYS_POLL_H) && defined(HAVE_POLL)
++#if defined(HAVE_POLL_H) && defined(HAVE_POLL)
+                                       struct pollfd fds;
+                                       int ret;
index 54c281ddd36273d0318f08b998ccc903b337946d..d0d5bdea595b33997654a604d8f95b2e43cb8d7a 100644 (file)
@@ -16,15 +16,15 @@ include $(INCLUDE_DIR)/nls.mk
 include $(INCLUDE_DIR)/target.mk 
 
 PKG_NAME:=boost
-PKG_VERSION:=1.63.0
-PKG_SOURCE_VERSION:=1_63_0
-PKG_RELEASE:=2
+PKG_VERSION:=1.64.0
+PKG_SOURCE_VERSION:=1_64_0
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)_$(PKG_SOURCE_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://sourceforge.net/projects/boost/files/boost/$(PKG_VERSION)
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)_$(PKG_SOURCE_VERSION)
 HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)_$(PKG_SOURCE_VERSION)
-PKG_MD5SUM:=beae2529f759f6b3bf3f4969a19c2e9d6f0c503edcb2de4a61d1428519fcb3b0
+PKG_MD5SUM:=7bcc5caace97baa948931d712ea5f37038dbb1c5d89b43ad4def4ed7cb683332
 PKG_LICENSE:=Boost Software License <http://www.boost.org/users/license.html>
 PKG_MAINTAINER:=Carlos M. Ferreira <carlosmf.pt@gmail.com>
 
@@ -44,7 +44,7 @@ define Package/boost/Default
 endef
 
 define Package/boost/description
-This package provides the Boost v1.63 libraries.
+This package provides the Boost v1.64 libraries.
 Boost is a set of free, peer-reviewed, portable C++ source libraries.
 
 -----------------------------------------------------------------------------
@@ -88,7 +88,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_63_0/
+See more at http://www.boost.org/doc/libs/1_64_0/
 endef
 
 PKG_BUILD_DEPENDS:=boost/host PACKAGE_python:python PACKAGE_python3:python3
diff --git a/libs/boost/patches/02_fix_context_overload_ambiguity.patch b/libs/boost/patches/02_fix_context_overload_ambiguity.patch
new file mode 100755 (executable)
index 0000000..dac1234
--- /dev/null
@@ -0,0 +1,81 @@
+Index: boost_1_64_0/boost/context/continuation.hpp
+===================================================================
+--- boost_1_64_0.orig/boost/context/continuation.hpp   2017-04-24 12:36:55.987412031 +0100
++++ boost_1_64_0/boost/context/continuation.hpp        2017-04-24 12:37:49.730416122 +0100
+@@ -56,7 +56,7 @@
+ namespace context {
+ namespace detail {
+-template< int N >
++template<typename U>
+ struct helper {
+     template< typename T >
+     static T convert( T && t) noexcept {
+@@ -64,8 +64,8 @@
+     }
+ };
+-template<>
+-struct helper< 1 > {
++template<typename U>
++struct helper< std::tuple<U> > {
+     template< typename T >
+     static std::tuple< T > convert( T && t) noexcept {
+         return std::make_tuple( std::forward< T >( t) );
+@@ -239,15 +239,16 @@
+ }
+-template< typename Ctx, typename Fn, typename ... Arg >
++template< typename Ctx, typename Fn, typename Arg >
+ detail::transfer_t context_ontop( detail::transfer_t t) {
+-    auto p = static_cast< std::tuple< Fn, std::tuple< Arg ... > > * >( t.data);
++    auto p = static_cast< Arg * >( t.data);
+     BOOST_ASSERT( nullptr != p);
+     typename std::decay< Fn >::type fn = std::forward< Fn >( std::get< 0 >( * p) );
+     t.data = & std::get< 1 >( * p);
+     Ctx c{ t };
+     // execute function, pass continuation via reference
+-    std::get< 1 >( * p) = detail::helper< sizeof ... (Arg) >::convert( fn( std::move( c) ) );
++    typedef typename std::decay<decltype(std::get<1>(*p))>::type H;
++    std::get< 1 >(* p) = detail::helper<H>::convert( fn( std::move( c) ) );
+ #if defined(BOOST_NO_CXX14_STD_EXCHANGE)
+     return { detail::exchange( c.t_.fctx, nullptr), & std::get< 1 >( * p) };
+ #else
+@@ -275,7 +276,7 @@
+     template< typename Ctx, typename StackAlloc, typename Fn >
+     friend class detail::record;
+-    template< typename Ctx, typename Fn, typename ... Arg >
++    template< typename Ctx, typename Fn, typename Arg >
+     friend detail::transfer_t
+     context_ontop( detail::transfer_t);
+@@ -354,7 +355,7 @@
+     template< typename Fn, typename ... Arg >
+     continuation resume_with( Fn && fn, Arg ... arg) {
+         BOOST_ASSERT( nullptr != t_.fctx);
+-        auto tpl = std::make_tuple( std::forward< Fn >( fn), std::forward< Arg >( arg) ... );
++        auto tpl = std::make_tuple( std::forward< Fn >( fn), std::make_tuple( std::forward< Arg >( arg) ... ));
+         return detail::ontop_fcontext(
+ #if defined(BOOST_NO_CXX14_STD_EXCHANGE)
+                     detail::exchange( t_.fctx, nullptr),
+@@ -362,7 +363,7 @@
+                     std::exchange( t_.fctx, nullptr),
+ #endif
+                     & tpl,
+-                    context_ontop< continuation, Fn, Arg ... >);
++                    context_ontop< continuation, Fn, decltype(tpl) >);
+     }
+     continuation resume() {
+@@ -451,7 +452,8 @@
+ template<
+     typename Fn,
+     typename ... Arg,
+-    typename = detail::disable_overload< continuation, Fn >
++    typename = detail::disable_overload< continuation, Fn >,
++    typename = detail::disable_overload< std::allocator_arg_t, Fn >
+ >
+ continuation
+ callcc( Fn && fn, Arg ... arg) {
diff --git a/libs/boost/patches/02_fix_libc_regression_execution_monitor.patch b/libs/boost/patches/02_fix_libc_regression_execution_monitor.patch
deleted file mode 100644 (file)
index 2c7533c..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-Index: boost_1_63_0/boost/test/impl/execution_monitor.ipp
-===================================================================
---- boost_1_63_0.orig/boost/test/impl/execution_monitor.ipp
-+++ boost_1_63_0/boost/test/impl/execution_monitor.ipp
-@@ -1375,7 +1375,7 @@ enable( unsigned mask )
- #endif
-     return ~old_cw & BOOST_FPE_ALL;
--#elif defined(__GLIBC__) && defined(__USE_GNU)
-+#elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG) && !defined(BOOST_NO_FENV_H)
-     if (BOOST_FPE_ALL == BOOST_FPE_OFF)
-         /* Not Implemented */
-         return BOOST_FPE_OFF;
-@@ -1415,7 +1415,7 @@ disable( unsigned mask )
- #endif
-     return ~old_cw & BOOST_FPE_ALL;
--#elif defined(__GLIBC__) && defined(__USE_GNU)
-+#elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG) && !defined(BOOST_NO_FENV_H)
-     if (BOOST_FPE_ALL == BOOST_FPE_OFF)
-         /* Not Implemented */
-         return BOOST_FPE_INV;
index 58234d415c5491b63c013d46056a78d62180568b..d4c07c2f8974fc585c0cb9d4efbfc691b4a2f3b4 100644 (file)
@@ -8,12 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=icu4c
-PKG_VERSION:=58.2
-PKG_RELEASE:=5
+PKG_VERSION:=59.1
+PKG_RELEASE:=1
 
-PKG_SOURCE:=$(PKG_NAME)-58_2-src.tgz
+PKG_SOURCE:=$(PKG_NAME)-59_1-src.tgz
 PKG_SOURCE_URL:=http://download.icu-project.org/files/$(PKG_NAME)/$(PKG_VERSION)
-PKG_MD5SUM:=fac212b32b7ec7ab007a12dff1f3aea1
+PKG_MD5SUM:=54923fa9fab5b2b83f235fb72523de37
+PKG_HASH:=7132fdaf9379429d004005217f10e00b7d2319d0fea22bdfddef8991c45b75fe
 
 PKG_LICENSE:=ICU-1.8.1+
 PKG_LICENSE_FILES:=LICENSE
index 8b8cb7bc05d1ad702960fd92168eec3b0c4be3bf..291530a530e6c2e8a28201f47db642de76f27c7f 100644 (file)
@@ -2,7 +2,7 @@ diff --git a/Makefile.in b/Makefile.in
 index 9db6c52..6aa2273 100644
 --- a/Makefile.in
 +++ b/Makefile.in
-@@ -180,7 +180,6 @@ install-icu: $(INSTALLED_BUILT_FILES)
+@@ -184,7 +184,6 @@ install-icu: $(INSTALLED_BUILT_FILES)
        $(INSTALL_SCRIPT) $(top_srcdir)/install-sh $(DESTDIR)$(pkgdatadir)/install-sh
        @$(MKINSTALLDIRS) $(DESTDIR)$(libdir)/pkgconfig
        $(INSTALL_DATA) $(ALL_PKGCONFIG_FILES) $(DESTDIR)$(libdir)/pkgconfig/
index b84d14fc40efce8a820c65947e9bace768af9a3d..7ee9732ac721c7695fe6a8bfaee54c484829fd0f 100644 (file)
@@ -1,6 +1,6 @@
 --- a/configure.ac
 +++ b/configure.ac
-@@ -893,8 +893,8 @@
+@@ -883,8 +883,8 @@
  AC_CHECK_FUNC(strtod_l)
  if test x$ac_cv_func_strtod_l = xyes
  then
@@ -13,7 +13,7 @@
       U_HAVE_STRTOD_L=0
 --- a/configure
 +++ b/configure
-@@ -7053,8 +7053,8 @@
+@@ -7093,8 +7093,8 @@
  
  if test x$ac_cv_func_strtod_l = xyes
  then
index 3d18d426a6513b38fd84536613f2b76d08eb215c..fdc013fcf828100414a6fd96541692c7fc19a47c 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2011-2014 OpenWrt.org
+# Copyright (C) 2011-2017 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=jansson
-PKG_VERSION:=2.7
+PKG_VERSION:=2.10
 PKG_RELEASE:=1
 PKG_LICENSE:=MIT
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=http://www.digip.org/jansson/releases/
-PKG_MD5SUM:=3a106a465bbb77637550b422f5b262ef
+PKG_HASH:=241125a55f739cd713808c4e0089986b8c3da746da8b384952912ad659fa2f5a
 
 PKG_INSTALL:=1
 PKG_BUILD_PARALLEL:=1
index 6d7f0c3eecdc1f6bc9c400305c6cd6f2df24c858..ec4ac1c215a1c6066fc5354ecc57827b5d66b128 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libgd
-PKG_VERSION:=2.1.1
-PKG_RELEASE:=1
+PKG_VERSION:=2.2.4
+PKG_RELEASE:=2
 
-PKG_SOURCE:=gd-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://github.com/libgd/libgd/archive
-PKG_MD5SUM:=e91a1a99903e460e7ba00a794e72cc1e
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
+PKG_SOURCE_URL:=https://github.com/$(PKG_NAME)/$(PKG_NAME)/releases/download/gd-$(PKG_VERSION)/
+PKG_HASH:=137f13a7eb93ce72e32ccd7cebdab6874f8cf7ddf31d3a455a68e016ecd9e4e6
 PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
 PKG_LICENSE:=MIT
 
@@ -21,16 +21,16 @@ PKG_FIXUP:=autoreconf
 
 PKG_INSTALL:=1
 PKG_BUILD_PARALLEL:=1
-PKG_BUILD_DIR:=$(BUILD_DIR)/libgd-gd-$(PKG_VERSION)
 
 include $(INCLUDE_DIR)/package.mk
 
 define Package/libgd
   SECTION:=libs
   CATEGORY:=Libraries
-  DEPENDS:=+libjpeg +libpng
+  DEPENDS:=+libjpeg +libpng +LIBGD_TIFF:libtiff +LIBGD_FREETYPE:libfreetype
   TITLE:=The GD graphics library
   URL:=http://www.libgd.org/
+  MENU:=1
 endef
 
 define Package/libgd/description
@@ -38,6 +38,23 @@ define Package/libgd/description
   programmers. GD creates PNG, JPEG and GIF images, among other formats.
 endef
 
+define Package/libgd/config
+       if PACKAGE_libgd
+               config LIBGD_TIFF
+                       bool "TIFF image support"
+                       default n
+                       help
+                               Enable TIFF image support through libtiff
+       endif
+       if PACKAGE_libgd
+               config LIBGD_FREETYPE
+                       bool "Freetype 2.x library support"
+                       default n
+                       help
+                               Enable Freetype 2.x font engine support through libfreetype
+       endif
+endef
+
 TARGET_CFLAGS += $(FPIC)
 
 CONFIGURE_ARGS += \
@@ -46,12 +63,25 @@ CONFIGURE_ARGS += \
        --disable-rpath \
        --without-x \
        --without-fontconfig \
-       --without-freetype \
        --with-jpeg=$(STAGING_DIR)/usr \
        --with-png=$(STAGING_DIR)/usr \
-       --with-vpx=no \
-       --without-xpm \
-       --without-iconv
+       --without-xpm
+
+ifdef CONFIG_LIBGD_TIFF
+       CONFIGURE_ARGS+= \
+               --with-tiff=$(STAGING_DIR)/usr
+else
+       CONFIGURE_ARGS+= \
+               --without-tiff
+endif
+
+ifdef CONFIG_LIBGD_FREETYPE
+       CONFIGURE_ARGS+= \
+               --with-freetype=$(STAGING_DIR)/usr
+else
+       CONFIGURE_ARGS+= \
+               --without-freetype
+endif
 
 CONFIGURE_VARS += \
        ac_cv_header_iconv_h=no
@@ -64,7 +94,7 @@ define Build/InstallDev
                $(1)/usr/bin/gdlib-config
        $(INSTALL_DIR) $(1)/usr/include
        $(CP) $(PKG_INSTALL_DIR)/usr/include/entities.h $(1)/usr/include/
-       $(CP) $(PKG_INSTALL_DIR)/usr/include/gd{,_io,cache,fontg,fontl,fontmb,fonts,fontt,fx}.h \
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/gd{,_color_map,_errors,_io,cache,fontg,fontl,fontmb,fonts,fontt,fx,pp}.h \
                $(1)/usr/include/
        $(INSTALL_DIR) $(1)/usr/lib
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgd.{a,la,so*} $(1)/usr/lib/
index e51502cacf255c963025eaf01cb92335c826e0fc..b0d82b7279d2c915ed0a884f1ffb659b5de24f95 100644 (file)
@@ -1,6 +1,6 @@
 --- a/config/gdlib-config.in
 +++ b/config/gdlib-config.in
-@@ -71,7 +71,7 @@ while test $# -gt 0; do
+@@ -74,7 +74,7 @@ while test $# -gt 0; do
        echo @LDFLAGS@
        ;;
      --libs)
@@ -9,7 +9,7 @@
        ;;
      --cflags|--includes)
        echo -I@includedir@
-@@ -84,7 +84,7 @@ while test $# -gt 0; do
+@@ -87,7 +87,7 @@ while test $# -gt 0; do
        echo "includedir: $includedir"
        echo "cflags:     -I@includedir@"
        echo "ldflags:    @LDFLAGS@"
diff --git a/libs/libgd/patches/102-gdlib-pc-in.patch b/libs/libgd/patches/102-gdlib-pc-in.patch
new file mode 100644 (file)
index 0000000..79baeb3
--- /dev/null
@@ -0,0 +1,9 @@
+--- a/config/gdlib.pc.in
++++ b/config/gdlib.pc.in
+@@ -7,5 +7,5 @@ Name: gd
+ Description: GD graphics library
+ Version: @VERSION@
+ Cflags: -I${includedir}
+-Libs.private: @LIBS@ @LIBICONV@
++Libs.private: @LIBS@ 
+ Libs: -L${libdir} -lgd
index 8d2aa123334d7e751667b007a3a534e3b2db1429..1b4fc8e31de8c1d2061f9eb6359dec64b8048d77 100644 (file)
@@ -1,6 +1,6 @@
 --- a/src/gd_bmp.c
 +++ b/src/gd_bmp.c
-@@ -21,6 +21,7 @@
+@@ -28,6 +28,7 @@
  #include <math.h>
  #include <string.h>
  #include <stdlib.h>
@@ -8,7 +8,7 @@
  #include "gd.h"
  #include "gdhelpers.h"
  #include "bmp.h"
-@@ -42,6 +43,13 @@ static int bmp_read_rle(gdImagePtr im, g
+@@ -49,6 +50,13 @@ static int bmp_read_rle(gdImagePtr im, g
  
  #define BMP_DEBUG(s)
  
index e2c1ab7f4357d072aac9e4807b7753207b57ea38..ac782c8a31cb68d9773319b3f419b9484dc8ad6c 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libpng
 PKG_VERSION:=1.6.29
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@SF/libpng
@@ -47,10 +47,11 @@ define Build/InstallDev
                's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' \
                $(1)/usr/bin/libpng{,16}-config
        $(INSTALL_DIR) $(1)/usr/include
-       $(CP) $(PKG_INSTALL_DIR)/usr/include/png{,conf}.h $(1)/usr/include/
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/png{,conf,libconf}.h $(1)/usr/include/
        $(CP) $(PKG_INSTALL_DIR)/usr/include/libpng16 $(1)/usr/include/
        $(INSTALL_DIR) $(1)/usr/lib
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpng16.{a,la,so*} $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpng.{a,la,so} $(1)/usr/lib/
        $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libpng{,16}.pc $(1)/usr/lib/pkgconfig/
        $(INSTALL_DIR) $(2)/bin
@@ -61,7 +62,8 @@ endef
 
 define Package/libpng/install
        $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpng16.so.* $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpng16.so* $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpng.so $(1)/usr/lib/
 endef
 
 $(eval $(call HostBuild))
index 9881fbb9d8717b708ffa4ae7ff2f3ca68d46f8a0..bbb16e5850c946633855718f4b8904e065964f64 100644 (file)
@@ -48,6 +48,7 @@ endef
 
 CMAKE_OPTIONS:= -DBUILD_TESTS=0 -DBUILD_EXAMPLES=0
 CMAKE_OPTIONS+= -DHAVE_WORDS_BIGENDIAN_EXITCODE=$(if $(CONFIG_BIG_ENDIAN),0,1)
+CMAKE_OPTIONS+= -DWITH_OPENMP=0
 
 define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/include
index 998219a9fc48ad57092b880c4696ea1db4858090..780efb004e384201de8617ce8e634896c26b46c0 100644 (file)
@@ -8,15 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=xmlrpc-c
-PKG_REV:=2640
-PKG_VERSION:=1.39.0
+PKG_VERSION:=1.39.12
 PKG_RELEASE:=1
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://svn.code.sf.net/p/xmlrpc-c/code/advanced
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=$(PKG_REV)
-PKG_SOURCE_PROTO:=svn
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tgz
+PKG_SOURCE_URL:=@SF/xmlrpc-c/Xmlrpc-c%20Super%20Stable/$(PKG_VERSION)
+PKG_HASH:=d830f3264a832dfe09f629cc64036acfd08121692526d0fabe090f7ff881ce08
 
 PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
 PKG_LICENSE:=VARIOUS
index 0bd8c8f706468751131c4552e0cd4ee08c962359..0405b90a47a70d1056046e7bfc3247870ccd7723 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=dovecot
-PKG_VERSION:=2.2.28
+PKG_VERSION:=2.2.29.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.dovecot.org/releases/2.2
-PKG_HASH:=e0288f59e326ab87cb3881fdabadafe542f4dc7ab9996db13863a439ebbc1f25
+PKG_HASH:=ccfa9ffb7eb91e9e87c21c108324b911250c9ffa838bffb64b1caafadcb0f388
 PKG_LICENSE:=LGPL-2.1 MIT BSD-3-Clause Unique
 PKG_LICENSE_FILES:=COPYING COPYING.LGPL COPYING.MIT
 
index a7f0664508f0be6dd87dfc44480ac5e1f64d3ade..88148545bb1bba6eb48590d485c14e7cfdced932 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=acme
 PKG_SOURCE_VERSION:=7b40cbe8c1a52041351524bcde4b37665a7cdf79
-PKG_VERSION:=1.5
+PKG_VERSION:=1.6
 PKG_RELEASE:=1
 PKG_LICENSE:=GPLv3
 
@@ -47,6 +47,7 @@ define Build/Compile
 endef
 
 define Package/acme/install
+       $(INSTALL_DIR) $(1)/etc/acme
        $(INSTALL_DIR) $(1)/etc/config
        $(INSTALL_CONF) ./files/acme.config $(1)/etc/config/acme
        $(INSTALL_DIR) $(1)/etc/init.d
index a4f7956de76624b5c4750a4cd439b6563465582b..c20cba203428e084521d58adc9280e8f0c8f17c6 100644 (file)
@@ -25,11 +25,12 @@ s.anonymous = true
 st = s:option(Value, "state_dir", translate("State directory"),
               translate("Where certs and other state files are kept."))
 st.rmempty = false
-st.datatype = "string"
+st.datatype = "directory"
 
 ae = s:option(Value, "account_email", translate("Account email"),
               translate("Email address to associate with account key."))
 ae.rmempty = false
+ae.datatype = "minlength(1)"
 
 d = s:option(Flag, "debug", translate("Enable debug logging"))
 d.rmempty = false
@@ -56,6 +57,12 @@ u = cs:option(Flag, "update_uhttpd", translate("Use for uhttpd"),
                         "(only select this for one certificate)."))
 u.rmempty = false
 
+wr = cs:option(Value, "webroot", translate("Webroot directory"),
+               translate("Webserver root directory. Set this to the webserver " ..
+                         "document root to run Acme in webroot mode. The web " ..
+                         "server must be accessible from the internet on port 80."))
+wr.rmempty = false
+
 dom = cs:option(DynamicList, "domains", translate("Domain names"),
                 translate("Domain names to include in the certificate. " ..
                           "The first name will be the subject name, subsequent names will be alt names. " ..
index c5cd7d3eab7c61cb78489c2aeddf9174a56dae42..af12ce1fb008e2f2f2f37e4dd1ae389569e7f3ab 100644 (file)
@@ -5,7 +5,8 @@ config acme
 
 config cert 'example'
        option enabled 0
-       option use_staging 0
+       option use_staging 1
        option keylength 2048
        option update_uhttpd 1
+       option webroot ""
        list domains example.org
index 0a4cad1c55771351d365fcf97368c707fcdc0aa3..6bedaca16770aaddd6ea85fb9fe0176aaa57fce2 100644 (file)
@@ -27,45 +27,85 @@ check_cron()
     /etc/init.d/cron start
 }
 
-debug()
+log()
 {
-    [ "$DEBUG" -eq "1" ] && echo "$@" >&2
+    logger -t acme -s -p daemon.info "$@"
 }
 
-pre_checks()
+err()
 {
-    echo "Running pre checks."
-    check_cron
-
-    [ -d "$STATE_DIR" ] || mkdir -p "$STATE_DIR"
-
-    if [ -e /etc/init.d/uhttpd ]; then
+    logger -t acme -s -p daemon.err "$@"
+}
 
-       UHTTPD_LISTEN_HTTP=$(uci get uhttpd.main.listen_http)
+debug()
+{
+    [ "$DEBUG" -eq "1" ] && logger -t acme -s -p daemon.debug "$@"
+}
 
-       uci set uhttpd.main.listen_http=''
-       uci commit uhttpd
-       /etc/init.d/uhttpd reload || return 1
-    fi
+get_listeners()
+{
+    netstat -nptl 2>/dev/null | awk 'match($4, /:80$/){split($7, parts, "/"); print parts[2];}' | uniq | tr "\n" " "
+}
 
-    iptables -I input_rule -p tcp --dport 80 -j ACCEPT || return 1
-    ip6tables -I input_rule -p tcp --dport 80 -j ACCEPT || return 1
+pre_checks()
+{
+    main_domain="$1"
+
+    log "Running pre checks for $main_domain."
+
+    listeners="$(get_listeners)"
+    debug "port80 listens: $listeners"
+
+    case "$listeners" in
+        "uhttpd")
+            debug "Found uhttpd listening on port 80; trying to disable."
+
+            UHTTPD_LISTEN_HTTP=$(uci get uhttpd.main.listen_http)
+
+            if [ -z "$UHTTPD_LISTEN_HTTP" ]; then
+                err "$main_domain: Unable to find uhttpd listen config."
+                err "Manually disable uhttpd or set webroot to continue."
+                return 1
+            fi
+
+            uci set uhttpd.main.listen_http=''
+            uci commit uhttpd || return 1
+            if ! /etc/init.d/uhttpd reload ; then
+                uci set uhttpd.main.listen_http="$UHTTPD_LISTEN_HTTP"
+                uci commit uhttpd
+                return 1
+            fi
+            ;;
+        "")
+            debug "Nothing listening on port 80."
+            ;;
+        *)
+            err "$main_domain: Cannot run in standalone mode; another daemon is listening on port 80."
+            err "Disable other daemon or set webroot to continue."
+            return 1
+            ;;
+    esac
+
+    iptables -I input_rule -p tcp --dport 80 -j ACCEPT -m comment --comment "ACME" || return 1
+    ip6tables -I input_rule -p tcp --dport 80 -j ACCEPT -m comment --comment "ACME" || return 1
     debug "v4 input_rule: $(iptables -nvL input_rule)"
     debug "v6 input_rule: $(ip6tables -nvL input_rule)"
-    debug "port80 listens: $(netstat -ntpl | grep :80)"
     return 0
 }
 
 post_checks()
 {
-    echo "Running post checks (cleanup)."
-    iptables -D input_rule -p tcp --dport 80 -j ACCEPT
-    ip6tables -D input_rule -p tcp --dport 80 -j ACCEPT
+    log "Running post checks (cleanup)."
+    # The comment ensures we only touch our own rules. If no rules exist, that
+    # is fine, so hide any errors
+    iptables -D input_rule -p tcp --dport 80 -j ACCEPT -m comment --comment "ACME" 2>/dev/null
+    ip6tables -D input_rule -p tcp --dport 80 -j ACCEPT -m comment --comment "ACME" 2>/dev/null
 
-    if [ -e /etc/init.d/uhttpd ]; then
+    if [ -e /etc/init.d/uhttpd ] && [ -n "$UHTTPD_LISTEN_HTTP" ]; then
         uci set uhttpd.main.listen_http="$UHTTPD_LISTEN_HTTP"
         uci commit uhttpd
         /etc/init.d/uhttpd reload
+        UHTTPD_LISTEN_HTTP=
     fi
 }
 
@@ -102,12 +142,14 @@ issue_cert()
     local main_domain
     local moved_staging=0
     local failed_dir
+    local webroot
 
     config_get_bool enabled "$section" enabled 0
     config_get_bool use_staging "$section" use_staging
     config_get_bool update_uhttpd "$section" update_uhttpd
     config_get domains "$section" domains
     config_get keylength "$section" keylength
+    config_get webroot "$section" webroot
 
     [ "$enabled" -eq "1" ] || return
 
@@ -116,13 +158,17 @@ issue_cert()
     set -- $domains
     main_domain=$1
 
+    [ -n "$webroot" ] || pre_checks "$main_domain" || return 1
+
+    log "Running ACME for $main_domain"
+
     if [ -e "$STATE_DIR/$main_domain" ]; then
         if [ "$use_staging" -eq "0" ] && is_staging "$main_domain"; then
-            echo "Found previous cert issued using staging server. Moving it out of the way."
+            log "Found previous cert issued using staging server. Moving it out of the way."
             mv "$STATE_DIR/$main_domain" "$STATE_DIR/$main_domain.staging"
             moved_staging=1
         else
-            echo "Found previous cert config. Issuing renew."
+            log "Found previous cert config. Issuing renew."
             $ACME --home "$STATE_DIR" --renew -d "$main_domain" $acme_args || return 1
             return 0
         fi
@@ -130,17 +176,28 @@ issue_cert()
 
 
     acme_args="$acme_args $(for d in $domains; do echo -n "-d $d "; done)"
-    acme_args="$acme_args --standalone"
     acme_args="$acme_args --keylength $keylength"
     [ -n "$ACCOUNT_EMAIL" ] && acme_args="$acme_args --accountemail $ACCOUNT_EMAIL"
     [ "$use_staging" -eq "1" ] && acme_args="$acme_args --staging"
 
+    if [ -z "$webroot" ]; then
+        log "Using standalone mode"
+        acme_args="$acme_args --standalone"
+    else
+        if [ ! -d "$webroot" ]; then
+            err "$main_domain: Webroot dir '$webroot' does not exist!"
+            return 1
+        fi
+        log "Using webroot dir: $webroot"
+        acme_args="$acme_args --webroot \"$webroot\""
+    fi
+
     if ! $ACME --home "$STATE_DIR" --issue $acme_args; then
         failed_dir="$STATE_DIR/${main_domain}.failed-$(date +%s)"
-        echo "Issuing cert for $main_domain failed. Moving state to $failed_dir" >&2
+        err "Issuing cert for $main_domain failed. Moving state to $failed_dir"
         [ -d "$STATE_DIR/$main_domain" ] && mv "$STATE_DIR/$main_domain" "$failed_dir"
         if [ "$moved_staging" -eq "1" ]; then
-            echo "Restoring staging certificate" >&2
+            err "Restoring staging certificate"
             mv "$STATE_DIR/${main_domain}.staging" "$STATE_DIR/${main_domain}"
         fi
         return 1
@@ -152,6 +209,7 @@ issue_cert()
         # commit and reload is in post_checks
     fi
 
+    post_checks
 }
 
 load_vars()
@@ -163,19 +221,22 @@ load_vars()
     DEBUG=$(config_get "$section" debug)
 }
 
-if [ -n "$CHECK_CRON" ]; then
-    check_cron
-    exit 0
-fi
+check_cron
+[ -n "$CHECK_CRON" ] && exit 0
 
 config_load acme
 config_foreach load_vars acme
 
-pre_checks || exit 1
+if [ -z "$STATE_DIR" ] || [ -z "$ACCOUNT_EMAIL" ]; then
+    err "state_dir and account_email must be set"
+    exit 1
+fi
+
+[ -d "$STATE_DIR" ] || mkdir -p "$STATE_DIR"
+
 trap err_out HUP TERM
 trap int_out INT
 
 config_foreach issue_cert cert
-post_checks
 
 exit 0
index 5b25930c016135045b29d52cb1ccf80737ca6f08..f2d40c6da2a50ece44ebbde9588cf2fdefd4a31b 100644 (file)
@@ -6,7 +6,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=adblock
-PKG_VERSION:=2.6.0
+PKG_VERSION:=2.6.1
 PKG_RELEASE:=1
 PKG_LICENSE:=GPL-3.0+
 PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
index fa43b11614a8bb691693b65341677952982b007e..6950ec792be239258fb0a2699c67897c0f30bc69 100644 (file)
@@ -59,6 +59,7 @@ A lot of people already use adblocker plugins within their desktop browsers, but
 * simple but yet powerful adblock engine: adblock does not use error prone external iptables rulesets, http pixel server instances and things like that
 * automatically selects dnsmasq or unbound as dns backend
 * automatically selects uclient-fetch or wget as download utility (other tools like curl or aria2c are supported as well)
+* support http only mode (without installed ssl library) for all non-SSL blocklist sources
 * automatically supports a wide range of router modes, even AP modes are supported
 * full IPv4 and IPv6 support
 * supports tld compression (top level domain compression), this feature removes thousands of needless host entries from the block lists and lowers the memory footprint for the dns backends
@@ -73,6 +74,8 @@ A lot of people already use adblocker plugins within their desktop browsers, but
 * suspend & resume adblock actions temporarily without block list reloading
 * runtime information available via LuCI & via 'status' init command
 * query function to quickly identify blocked (sub-)domains, e.g. for whitelisting
+* optional: force dns requests to local resolver
+* optional: force overall sort / duplicate removal for low memory devices (handle with care!)
 * optional: automatic block list backup & restore, backups will be (de-)compressed and restored on the fly in case of any runtime error
 * optional: add new adblock sources on your own via uci config
 
@@ -81,7 +84,7 @@ A lot of people already use adblocker plugins within their desktop browsers, but
 * a usual setup with an enabled dns backend at minimum - dump AP modes without a working dns backend are _not_ supported
 * a download utility:
     * 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 plain http option and supports wget-nossl and uclient-fetch (wihout libustream-ssl), too
+    * for limited devices with real memory constraints, adblock provides also a plain http option and supports wget-nossl and uclient-fetch (without libustream-ssl), too
     * for more configuration options see examples below
 
 ## LEDE trunk Installation & Usage
@@ -104,7 +107,6 @@ A lot of people already use adblocker plugins within their desktop browsers, but
 * **restrict procd interface trigger:** restrict the procd interface trigger to a (list of) certain interface(s) (default: wan). To disable it at all, remove all entries
 * **suspend & resume adblocking:** to quickly switch the adblock service 'on' or 'off', simply use _/etc/init.d/adblock [suspend|resume]_
 * **domain query:** to query the active block lists for a specific domain, please run _/etc/init.d/adblock query `<DOMAIN>`_ (see example below)
-* **divert dns requests:** to force dns requests to your local dns resolver add an appropriate firewall rule (see example below)
 * **add new list sources:** you could add new block list sources on your own via uci config, all you need is a source url and an awk one-liner (see example below)
 * **disable active dns probing in windows 10:** to prevent a yellow exclamation mark on your internet connection icon (which wrongly means connected, but no internet), please change the following registry key/value from "1" to "0" _HKLM\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet\EnableActiveProbing_
 
@@ -115,7 +117,9 @@ A lot of people already use adblocker plugins within their desktop browsers, but
     * adb\_iface => set the procd interface trigger to a (list of) lan / wan interface(s) (default: 'wan')
     * adb\_fetch => full path to a different download utility, see example below (default: not set, use wget)
     * adb\_fetchparm => options for the download utility, see example below (default: not set, use wget options)
-    * adb\_triggerdelay => additional trigger delay in seconds before adblock processing starts (default: '1')
+    * adb\_triggerdelay => additional trigger delay in seconds before adblock processing starts (default: '2')
+    * adb\_forcedns => force dns requests to local resolver (default: '0', disabled)
+    * adb\_forcesrt => force overall sort on low memory devices with less than 64 MB RAM (default: '0', disabled)
 
 ## Examples
 **change default dns backend to 'unbound':**
@@ -209,17 +213,6 @@ For every domain it returns the overall count plus a distinct list of active blo
 In the example above whitelist "www.doubleclick.net" to free the submitted domain.
 </code></pre>
   
-**divert dns requests to local dns resolver in /etc/config/firewall:**
-<pre><code>
-config redirect
-    option name 'Divert DNS'
-    option src 'lan'
-    option proto 'tcp udp'
-    option src_dport '53'
-    option dest_port '53'
-    option target 'DNAT'
-</code></pre>
-  
 **add a new block list source:**
 <pre><code>
 1. the easy way ...
index acc5518ac1bded6ab96b5dff8124a7a60b7537cf..0e4fd0257774c0add0370cb91c93cdb36a849eab 100644 (file)
@@ -4,8 +4,10 @@
 config adblock 'global'
        option adb_enabled '1'
        option adb_debug '0'
+       option adb_forcesrt '0'
+       option adb_forcedns '0'
        option adb_iface 'wan'
-       option adb_triggerdelay '1'
+       option adb_triggerdelay '2'
        option adb_whitelist '/etc/adblock/adblock.whitelist'
        option adb_whitelist_rset '\$1 ~/^([A-Za-z0-9_-]+\.){1,}[A-Za-z]+/{print tolower(\"^\"\$1\"\\\|[.]\"\$1)}'
        option adb_backup '0'
index ad22abb9783706d3bb6ddfd85d587311f90b7077..ee94aa8228dabe6574a029c83bee18650cf6c3ab 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh /etc/rc.common
 #
 
-START=90
+START=50
 USE_PROCD=1
 
 EXTRA_COMMANDS="suspend resume query status"
@@ -72,10 +72,11 @@ service_triggers()
     local iface="$(uci -q get adblock.global.adb_iface)"
     local delay="$(uci -q get adblock.global.adb_triggerdelay)"
 
-    PROCD_RELOAD_DELAY=$((${delay:=1} * 1000))
+    PROCD_RELOAD_DELAY=$((${delay:=2} * 1000))
     for name in ${iface}
     do
         procd_add_interface_trigger "interface.*.up" "${name}" "${adb_init}" start
     done
+    PROCD_RELOAD_DELAY=1000
     procd_add_config_trigger "config.change" "adblock" "${adb_init}" start
 }
index c81f6ac0b69cc37892534f42597dee338d3d5588..701712384b9c6c5519c1dc789b94597128b4a2d6 100755 (executable)
 #
 LC_ALL=C
 PATH="/usr/sbin:/usr/bin:/sbin:/bin"
-adb_ver="2.6.0"
+adb_ver="2.6.1"
 adb_sysver="$(ubus -S call system board | jsonfilter -e '@.release.description')"
 adb_enabled=1
 adb_debug=0
+adb_forcesrt=0
+adb_forcedns=0
 adb_backup=0
 adb_backupdir="/mnt"
 adb_whitelist="/etc/adblock/adblock.whitelist"
@@ -113,6 +115,26 @@ f_envload()
     #
     config_load adblock
     config_foreach parse_config source
+
+    # force dns to local resolver
+    #
+    if [ ${adb_forcedns} -eq 1 ] && [ -z "$(uci -q get firewall.adblock_dns)" ]
+    then
+        uci -q set firewall.adblock_dns="redirect"
+        uci -q set firewall.adblock_dns.src="lan"
+        uci -q set firewall.adblock_dns.proto="tcp udp"
+        uci -q set firewall.adblock_dns.src_dport="53"
+        uci -q set firewall.adblock_dns.dest_port="53"
+        uci -q set firewall.adblock_dns.target="DNAT"
+    elif [ ${adb_forcedns} -eq 0 ] && [ -n "$(uci -q get firewall.adblock_dns)" ]
+    then
+        uci -q delete firewall.adblock_dns
+    fi
+    if [ -n "$(uci -q changes firewall)" ]
+    then
+        uci -q commit firewall
+        /etc/init.d/firewall reload >/dev/null 2>&1
+    fi
 }
 
 # f_envcheck: check/set environment prerequisites
@@ -416,7 +438,7 @@ f_main()
 
         # download block list
         #
-        f_log "debug" "name: ${src_name}, enabled: ${enabled}, backup: ${adb_backup}, dns: ${adb_dns}, fetch: ${adb_fetchinfo}, memory: ${mem_total}"
+        f_log "debug" "name: ${src_name}, enabled: ${enabled}, backup: ${adb_backup}, dns: ${adb_dns}, fetch: ${adb_fetchinfo}, memory: ${mem_total}, force srt/dns: ${adb_forcesrt}/${adb_forcedns}"
         if [ "${src_name}" = "blacklist" ]
         then
             cat "${url}" 2>/dev/null > "${adb_tmpload}"
@@ -488,7 +510,7 @@ f_main()
     #
     for src_name in $(ls -dASr "${adb_tmpdir}/${adb_dnsprefix}"* 2>/dev/null)
     do
-        if [ ${mem_total} -ge 64000 ]
+        if [ ${mem_total} -ge 64000 ] || [ ${adb_forcesrt} -eq 1 ]
         then
             if [ -s "${adb_tmpdir}/blocklist.overall" ]
             then
index 7603e86dfab7c7409a0a3d28801dac0c33c5a588..a71c214864606a53e876889ca010d29de8a1a543 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=freeradius3
 PKG_VERSION:=release_3_0_11
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/FreeRADIUS/freeradius-server/archive
@@ -137,6 +137,8 @@ define Package/freeradius3-mod-eap/conffiles
 /etc/freeradius3/mods-available/eap
 /etc/freeradius3/mods-enabled/eap
 /etc/freeradius3/policy.d/eap
+/etc/freeradius3/sites-enabled/inner-tunnel
+/etc/freeradius3/sites-available/inner-tunnel
 endef
 
 define Package/freeradius3-mod-eap-gtc
@@ -169,11 +171,6 @@ define Package/freeradius3-mod-eap-peap
   TITLE:=EAP/PEAP module
 endef
 
-define Package/freeradius3-mod-eap-peap/conffiles
-/etc/freeradius3/sites-available/inner-tunnel
-/etc/freeradius3/sites-enabled/inner-tunnel
-endef
-
 define Package/freeradius3-mod-eap-tls
   $(call Package/freeradius3/Default)
   DEPENDS:=freeradius3-mod-eap @FREERADIUS3_OPENSSL
@@ -186,11 +183,6 @@ define Package/freeradius3-mod-eap-ttls
   TITLE:=EAP/TTLS module
 endef
 
-define Package/freeradius3-mod-eap-ttls/conffiles
-/etc/freeradius3/sites-available/inner-tunnel
-/etc/freeradius3/sites-enabled/inner-tunnel
-endef
-
 define Package/freeradius3-mod-exec
   $(call Package/freeradius3/Default)
   DEPENDS:=freeradius3
diff --git a/net/freeradius3/patches/001-fix-cert-expiry.patch b/net/freeradius3/patches/001-fix-cert-expiry.patch
new file mode 100644 (file)
index 0000000..b30b012
--- /dev/null
@@ -0,0 +1,33 @@
+--- a/raddb/certs/ca.cnf
++++ b/raddb/certs/ca.cnf
+@@ -14,7 +14,7 @@ private_key          = $dir/ca.key
+ RANDFILE              = $dir/.rand
+ name_opt              = ca_default
+ cert_opt              = ca_default
+-default_days          = 60
++default_days          = 365
+ default_crl_days      = 30
+ default_md            = sha256
+ preserve              = no
+--- a/raddb/certs/client.cnf
++++ b/raddb/certs/client.cnf
+@@ -14,7 +14,7 @@ private_key          = $dir/ca.key
+ RANDFILE              = $dir/.rand
+ name_opt              = ca_default
+ cert_opt              = ca_default
+-default_days          = 60
++default_days          = 365
+ default_crl_days      = 30
+ default_md            = sha256
+ preserve              = no
+--- a/raddb/certs/server.cnf
++++ b/raddb/certs/server.cnf
+@@ -14,7 +14,7 @@ private_key          = $dir/ca.key
+ RANDFILE              = $dir/.rand
+ name_opt              = ca_default
+ cert_opt              = ca_default
+-default_days          = 60
++default_days          = 365
+ default_crl_days      = 30
+ default_md            = sha256
+ preserve              = no
index 249048fc1cef0264fc249ac871c69de1d2c7e859..87ca42b309a2e0bde99a2eb526bf0be0590bfe63 100644 (file)
@@ -1,10 +1,10 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gnunet
-PKG_SOURCE_VERSION:=f7ef810b99d2c47d5a07739ecb0be1667f32567f
-PKG_MIRROR_HASH:=1f1fbccff28240ca8c1980b3f7c95ee413a2978f6a245838d7acaae19db3f586
+PKG_SOURCE_VERSION:=1c2ab4aa3b9b563ad2098984b5751e67d3267778
+PKG_MIRROR_HASH:=cb0286944b78616e381b049de678a3475b0a496055f40f8af5eea367c4d9c0c6
 
-PKG_VERSION:=0.10.2-git-20170313-$(PKG_SOURCE_VERSION)
+PKG_VERSION:=0.10.2-git-20170419-$(PKG_SOURCE_VERSION)
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
index 738e7f965150db140c6c7df24dd5f64276e1842e..e3eeb93b49db4aadd07298dd0b6e0c1e793cea2a 100644 (file)
@@ -10,11 +10,11 @@ include $(TOPDIR)/rules.mk
 PKG_NAME:=isc-dhcp
 UPSTREAM_NAME:=dhcp
 PKG_VERSION:=4.3.5
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE_FILES:=LICENSE
-PKG_MAINTAINER:=Antony Antony <antony@phenome.org>
+PKG_MAINTAINER:=Philip Prindeville <philipp@redfish-solutions.com>
 
 PKG_SOURCE:=$(UPSTREAM_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=ftp://ftp.isc.org/isc/dhcp/$(PKG_VERSION) \
index c997757322864641679929f2f237c47ea662162c..d99c5ba27d018a1dd31fea1c3c845114a37639ae 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ocserv
 PKG_VERSION:=0.11.7
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 PKG_USE_MIPS16:=0
 
 PKG_BUILD_DIR :=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
@@ -44,12 +44,12 @@ define Package/ocserv
 endef
 
 define Package/ocserv/description
- OpenConnect server (ocserv) is an SSL VPN server. Its purpose is to be 
+ OpenConnect server (ocserv) is an SSL VPN server. Its purpose is to be
  a secure, small, fast and configurable VPN server. It implements the
  OpenConnect SSL VPN protocol, and has also (currently experimental)
  compatibility with clients using the AnyConnect SSL VPN protocol. The
  OpenConnect VPN protocol uses the standard IETF security protocols such
- as TLS 1.2, and Datagram TLS to provide the secure VPN service. 
+ as TLS 1.2, and Datagram TLS to provide the secure VPN service.
 endef
 
 EXTRA_CPPFLAGS+=-I$(STAGING_DIR)/usr/include/readline/
old mode 100644 (file)
new mode 100755 (executable)
index bce9339..63d0caa
@@ -3,6 +3,8 @@
 START=50
 USE_PROCD=1
 
+. $IPKG_INSTROOT/lib/functions/network.sh
+
 setup_config() {
        config_get port         $1 port "4443"
        config_get max_clients  $1 max_clients "8"
@@ -33,26 +35,27 @@ setup_config() {
                                uci set dhcp.lan.start=100
                                uci set dhcp.lan.limit=91
                        fi
-                       ip=$(uci get network.lan.ipaddr)
+                       network_get_ipaddr ip lan
                        ipaddr="$(echo $ip|cut -d . -f1,2,3).192"
                        netmask="255.255.255.192"
-                       uci set ocserv.config.ipaddr="$ipaddr"
-                       uci set ocserv.config.netmask="$netmask"
-                       uci commit
                fi
 
                if test -z "$ip6addr";then
-                       ip6addr=$(uci get network.lan.ip6addr 2>/dev/null)
-                       test -n "$ip6addr" && uci set ocserv.config.ip6addr="$ip6addr"
-                       uci commit
+                       network_get_ipaddr6 ip6addr lan
+                       # Append ipv6 prefix
+                       test -n "$ip6addr" && ip6addr="$ip6addr/96"
                fi
 
                ping_leases=1
-               test -n "$ipaddr" && sysctl -w "net.ipv4.conf.$(uci get network.lan.ifname).proxy_arp"=1 >/dev/null
-               test -n "$ip6addr" && sysctl -w "net.ipv6.conf.$(uci get network.lan.ifname).proxy_ndp"=1 >/dev/null
+               local ifname
+               network_get_device ifname lan
+               if test -n "ifname";then
+                       test -n "$ipaddr" && sysctl -w "net.ipv4.conf.$ifname.proxy_arp"=1 >/dev/null
+                       test -n "$ip6addr" && sysctl -w "net.ipv6.conf.$ifname.proxy_ndp"=1 >/dev/null
+               fi
        else
-               test "$ipaddr" = "" && ipaddr="192.168.100.0"
-               test "$netmask" = "" && ipaddr="255.255.255.0"
+               test -z "$ipaddr" && ipaddr="192.168.100.0"
+               test -z "$netmask" && netmask="255.255.255.0"
        fi
 
        enable_default_domain="#"
@@ -147,7 +150,7 @@ start_service() {
        [ -f /etc/config/ocserv-dir/ca-key.pem ] && mv /etc/config/ocserv-dir/ca-key.pem /etc/ocserv/ca-key.pem
        [ -f /etc/config/ocserv-dir/ca.pem ] && mv /etc/config/ocserv-dir/ca.pem /etc/ocserv/ca.pem
        [ -f /etc/config/ocserv-dir/server-key.pem ] && mv /etc/config/ocserv-dir/server-key.pem /etc/ocserv/server-key.pem
-       [ -f /etc/config/ocserv-dir/server-cert.pem ] && mv /etc/config/ocserv-dir/server-cert.pem /etc/ocserv/server-cert.pem 
+       [ -f /etc/config/ocserv-dir/server-cert.pem ] && mv /etc/config/ocserv-dir/server-cert.pem /etc/ocserv/server-cert.pem
        [ -d /etc/config/ocserv-dir ] && rmdir /etc/config/ocserv-dir
 
        [ ! -f /etc/ocserv/ca-key.pem ] && [ -x /usr/bin/certtool ] && {
index 793ff13f3ba672a3782d0dc7049bc85288d4c6c0..a433fbe98c03c5ec804a56c7b74b69bc55111a0b 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ser2net
 PKG_VERSION:=3.4
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@SF/ser2net
diff --git a/net/ser2net/patches/0001-dataxfer.c-fix-possible-buffer-overruns-caused-by-ga.patch b/net/ser2net/patches/0001-dataxfer.c-fix-possible-buffer-overruns-caused-by-ga.patch
new file mode 100644 (file)
index 0000000..83874eb
--- /dev/null
@@ -0,0 +1,64 @@
+From 8614cf0ad4a017184285e814a704322f59a28869 Mon Sep 17 00:00:00 2001
+From: Michael Heimpold <mhei@heimpold.de>
+Date: Wed, 12 Apr 2017 23:36:17 +0200
+Subject: [PATCH] dataxfer.c: fix possible buffer overruns caused by
+ gai_strerror
+
+This fixes a possible buffer overrun that could occur due to
+gai_strerror() returning a string which is longer than the portbuff
+array, i.e. longer than 32 byte.
+
+Reported-by: David Thornley <david.thornley@touchstargroup.com>
+Signed-off-by: Michael Heimpold <mhei@heimpold.de>
+Signed-off-by: Corey Minyard <cminyard@mvista.com>
+
+diff --git a/dataxfer.c b/dataxfer.c
+index 3d1e713..988f4e4 100644
+--- a/dataxfer.c
++++ b/dataxfer.c
+@@ -3702,18 +3702,20 @@ showshortport(struct controller_info *cntlr, port_info_t *port)
+                     portbuff, sizeof(portbuff),
+                     NI_NUMERICHOST | NI_NUMERICSERV);
+     if (err) {
+-      strcpy(buffer, "*err*");
+-      sprintf(portbuff, "%s", gai_strerror(err));
++      snprintf(buffer, sizeof(buffer), "*err*,%s", gai_strerror(err));
++      count = controller_outputf(cntlr, "%s", buffer);
++    } else {
++      count = controller_outputf(cntlr, "%s,%s", buffer, portbuff);
+     }
+-    bytes_recv = netcon->bytes_received;
+-    bytes_sent = netcon->bytes_sent;
+-    count = controller_outputf(cntlr, "%s,%s", buffer, portbuff);
+     while (count < 23) {
+       controller_outs(cntlr, " ");
+       count++;
+     }
++    bytes_recv = netcon->bytes_received;
++    bytes_sent = netcon->bytes_sent;
++
+     controller_outputf(cntlr, "%-22s ", port->io.devname);
+     controller_outputf(cntlr, "%-14s ", state_str[port->net_to_dev_state]);
+     controller_outputf(cntlr, "%-14s ", state_str[port->dev_to_net_state]);
+@@ -3758,11 +3760,12 @@ showport(struct controller_info *cntlr, port_info_t *port)
+                         portbuff, sizeof(portbuff),
+                         NI_NUMERICHOST | NI_NUMERICSERV);
+       if (err) {
+-          strcpy(buffer, "*err*");
+-          sprintf(portbuff, "%s", gai_strerror(err));
++          snprintf(buffer, sizeof(buffer), "*err*,%s", gai_strerror(err));
++          controller_outputf(cntlr, "  connected to: %s\r\n", buffer);
++      } else {
++          controller_outputf(cntlr, "  connected to: %s,%s\r\n",
++                             buffer, portbuff);
+       }
+-      controller_outputf(cntlr, "  connected to: %s,%s\r\n",
+-                         buffer, portbuff);
+       controller_outputf(cntlr, "    bytes read from TCP: %d\r\n",
+                          netcon->bytes_received);
+       controller_outputf(cntlr, "    bytes written to TCP: %d\r\n",
+-- 
+2.7.4
+
diff --git a/net/ser2net/patches/0002-dataxfer.c-truncate-error-message-to-fit-the-column-.patch b/net/ser2net/patches/0002-dataxfer.c-truncate-error-message-to-fit-the-column-.patch
new file mode 100644 (file)
index 0000000..215a357
--- /dev/null
@@ -0,0 +1,30 @@
+From b303432f2dbd6a20afa99cb462aa0a1bb740b86d Mon Sep 17 00:00:00 2001
+From: Michael Heimpold <mhei@heimpold.de>
+Date: Wed, 12 Apr 2017 23:43:18 +0200
+Subject: [PATCH] dataxfer.c: truncate error message to fit the column width
+
+gai_strerror() could return a string which is longer than our current
+column width of "Remote address". To make the output nice again,
+truncate the error string in this case.
+
+Signed-off-by: Michael Heimpold <mhei@heimpold.de>
+Signed-off-by: Corey Minyard <cminyard@mvista.com>
+
+diff --git a/dataxfer.c b/dataxfer.c
+index 988f4e4..75c2777 100644
+--- a/dataxfer.c
++++ b/dataxfer.c
+@@ -3703,6 +3703,10 @@ showshortport(struct controller_info *cntlr, port_info_t *port)
+                     NI_NUMERICHOST | NI_NUMERICSERV);
+     if (err) {
+       snprintf(buffer, sizeof(buffer), "*err*,%s", gai_strerror(err));
++      /* gai_strerror could return an elongated string which could break
++         our pretty formatted output below, so truncate the string nicely */
++      if (strlen(buffer) > 22)
++          strcpy(&buffer[22 - 3], "...");
+       count = controller_outputf(cntlr, "%s", buffer);
+     } else {
+       count = controller_outputf(cntlr, "%s,%s", buffer, portbuff);
+-- 
+2.7.4
+
diff --git a/net/ser2net/patches/0003-dataxfer.c-adjust-Remote-address-column-width.patch b/net/ser2net/patches/0003-dataxfer.c-adjust-Remote-address-column-width.patch
new file mode 100644 (file)
index 0000000..fbc7aed
--- /dev/null
@@ -0,0 +1,59 @@
+From 81f3991e232fd45b05ff52b5091393532e4305e5 Mon Sep 17 00:00:00 2001
+From: Michael Heimpold <mhei@heimpold.de>
+Date: Thu, 13 Apr 2017 20:29:10 +0200
+Subject: [PATCH] dataxfer.c: adjust "Remote address" column width
+
+In case we are connected to an IPv6 address the current column width
+is too small to take the complete address and port number so adjust it.
+
+Signed-off-by: Michael Heimpold <mhei@heimpold.de>
+Signed-off-by: Corey Minyard <cminyard@mvista.com>
+
+diff --git a/dataxfer.c b/dataxfer.c
+index 75c2777..9955403 100644
+--- a/dataxfer.c
++++ b/dataxfer.c
+@@ -3674,6 +3674,9 @@ clear_old_port_config(int curr_config)
+     UNLOCK(ports_lock);
+ }
++#define REMOTEADDR_COLUMN_WIDTH \
++    (INET6_ADDRSTRLEN - 1 /* terminating NUL */ + 1 /* comma */ + 5 /* strlen("65535") */)
++
+ /* Print information about a port to the control port given in cntlr. */
+ static void
+ showshortport(struct controller_info *cntlr, port_info_t *port)
+@@ -3705,14 +3708,14 @@ showshortport(struct controller_info *cntlr, port_info_t *port)
+       snprintf(buffer, sizeof(buffer), "*err*,%s", gai_strerror(err));
+       /* gai_strerror could return an elongated string which could break
+          our pretty formatted output below, so truncate the string nicely */
+-      if (strlen(buffer) > 22)
+-          strcpy(&buffer[22 - 3], "...");
++      if (strlen(buffer) > REMOTEADDR_COLUMN_WIDTH)
++          strcpy(&buffer[REMOTEADDR_COLUMN_WIDTH - 3], "...");
+       count = controller_outputf(cntlr, "%s", buffer);
+     } else {
+       count = controller_outputf(cntlr, "%s,%s", buffer, portbuff);
+     }
+-    while (count < 23) {
++    while (count < REMOTEADDR_COLUMN_WIDTH + 1) {
+       controller_outs(cntlr, " ");
+       count++;
+     }
+@@ -3878,10 +3881,11 @@ showshortports(struct controller_info *cntlr, char *portspec)
+     port_info_t *port;
+     controller_outputf(cntlr,
+-          "%-22s %-6s %7s %-22s %-22s %-14s %-14s %9s %9s %9s %9s %s\r\n",
++          "%-22s %-6s %7s %-*s %-22s %-14s %-14s %9s %9s %9s %9s %s\r\n",
+           "Port name",
+           "Type",
+           "Timeout",
++          REMOTEADDR_COLUMN_WIDTH,
+           "Remote address",
+           "Device",
+           "TCP to device",
+-- 
+2.7.4
+
diff --git a/net/ser2net/patches/0004-dataxfer.c-in-case-port-is-not-connected-display-thi.patch b/net/ser2net/patches/0004-dataxfer.c-in-case-port-is-not-connected-display-thi.patch
new file mode 100644 (file)
index 0000000..04cbddc
--- /dev/null
@@ -0,0 +1,94 @@
+From 1479d3acc7ffb77225ea294f83a8d3fbdadfece6 Mon Sep 17 00:00:00 2001
+From: Michael Heimpold <mhei@heimpold.de>
+Date: Thu, 13 Apr 2017 20:37:35 +0200
+Subject: [PATCH] dataxfer.c: in case port is not connected display this
+ directly
+
+In this case we don't bother to call into getnameinfo but show
+directly "unconnected", this prevents showing an error message.
+
+Signed-off-by: Michael Heimpold <mhei@heimpold.de>
+Signed-off-by: Corey Minyard <cminyard@mvista.com>
+
+diff --git a/dataxfer.c b/dataxfer.c
+index 9955403..d6a59d9 100644
+--- a/dataxfer.c
++++ b/dataxfer.c
+@@ -3700,19 +3700,23 @@ showshortport(struct controller_info *cntlr, port_info_t *port)
+     if (!netcon)
+       netcon = &(port->netcons[0]);
+-    err = getnameinfo(netcon->raddr, netcon->raddrlen,
+-                    buffer, sizeof(buffer),
+-                    portbuff, sizeof(portbuff),
+-                    NI_NUMERICHOST | NI_NUMERICSERV);
+-    if (err) {
+-      snprintf(buffer, sizeof(buffer), "*err*,%s", gai_strerror(err));
+-      /* gai_strerror could return an elongated string which could break
+-         our pretty formatted output below, so truncate the string nicely */
+-      if (strlen(buffer) > REMOTEADDR_COLUMN_WIDTH)
+-          strcpy(&buffer[REMOTEADDR_COLUMN_WIDTH - 3], "...");
+-      count = controller_outputf(cntlr, "%s", buffer);
++    if (port->net_to_dev_state != PORT_UNCONNECTED) {
++      err = getnameinfo(netcon->raddr, netcon->raddrlen,
++                        buffer, sizeof(buffer),
++                        portbuff, sizeof(portbuff),
++                        NI_NUMERICHOST | NI_NUMERICSERV);
++      if (err) {
++          snprintf(buffer, sizeof(buffer), "*err*,%s", gai_strerror(err));
++          /* gai_strerror could return an elongated string which could break
++             our pretty formatted output below, so truncate the string nicely */
++          if (strlen(buffer) > REMOTEADDR_COLUMN_WIDTH)
++              strcpy(&buffer[REMOTEADDR_COLUMN_WIDTH - 3], "...");
++          count = controller_outputf(cntlr, "%s", buffer);
++      } else {
++          count = controller_outputf(cntlr, "%s,%s", buffer, portbuff);
++      }
+     } else {
+-      count = controller_outputf(cntlr, "%s,%s", buffer, portbuff);
++      count = controller_outputf(cntlr, "unconnected");
+     }
+     while (count < REMOTEADDR_COLUMN_WIDTH + 1) {
+@@ -3762,21 +3766,25 @@ showport(struct controller_info *cntlr, port_info_t *port)
+     controller_outputf(cntlr, "  timeout: %d\r\n", port->timeout);
+     for_each_connection(port, netcon) {
+-      err = getnameinfo(netcon->raddr, netcon->raddrlen,
+-                        buffer, sizeof(buffer),
+-                        portbuff, sizeof(portbuff),
+-                        NI_NUMERICHOST | NI_NUMERICSERV);
+-      if (err) {
+-          snprintf(buffer, sizeof(buffer), "*err*,%s", gai_strerror(err));
+-          controller_outputf(cntlr, "  connected to: %s\r\n", buffer);
++      if (port->net_to_dev_state != PORT_UNCONNECTED) {
++          err = getnameinfo(netcon->raddr, netcon->raddrlen,
++                            buffer, sizeof(buffer),
++                            portbuff, sizeof(portbuff),
++                            NI_NUMERICHOST | NI_NUMERICSERV);
++          if (err) {
++              snprintf(buffer, sizeof(buffer), "*err*,%s", gai_strerror(err));
++              controller_outputf(cntlr, "  connected to: %s\r\n", buffer);
++          } else {
++              controller_outputf(cntlr, "  connected to: %s,%s\r\n",
++                                 buffer, portbuff);
++          }
++          controller_outputf(cntlr, "    bytes read from TCP: %d\r\n",
++                             netcon->bytes_received);
++          controller_outputf(cntlr, "    bytes written to TCP: %d\r\n",
++                             netcon->bytes_sent);
+       } else {
+-          controller_outputf(cntlr, "  connected to: %s,%s\r\n",
+-                             buffer, portbuff);
++          controller_outputf(cntlr, "  unconnected\r\n");
+       }
+-      controller_outputf(cntlr, "    bytes read from TCP: %d\r\n",
+-                         netcon->bytes_received);
+-      controller_outputf(cntlr, "    bytes written to TCP: %d\r\n",
+-                         netcon->bytes_sent);
+     }
+     controller_outputf(cntlr, "  device: %s\r\n", port->io.devname);
+-- 
+2.7.4
+
index e7818608ee7ee6a9a37898b8a522be6af137b236..327ecef7c858a9cb9807a3f1df1afb174f5ef09f 100644 (file)
@@ -3,6 +3,7 @@ config squid 'squid'
        option http_port '3128'
        option coredump_dir '/tmp/squid'
        option visible_hostname 'OpenWrt'
+       option mime_table '/etc/squid/mime.conf'
        #option http_port_options 'intercept'
        #option ssldb '/tmp/squid/ssldb'
        #option ssldb_options '-M 4MB'
index 76ec756c49f3e933c93385c1f9219a3054250f6c..711347ba5811b5ae63c8d9000cad4ca0de975a45 100644 (file)
@@ -7,6 +7,7 @@ STOP=10
 USE_PROCD=1
 PROG=/usr/sbin/squid
 CONFIGFILE="/tmp/squid/squid.conf"
+MIMETABLE="/tmp/squid/mime.conf"
 
 validate_squid_section() {
        uci_validate_section squid squid "${1}" \
@@ -17,7 +18,8 @@ validate_squid_section() {
                'ssldb_options:string' \
                'coredump_dir:string' \
                'visible_hostname:string:OpenWrt' \
-               'pinger_enable:string:off'
+               'pinger_enable:string:off' \
+               'mime_table:string:/etc/squid/mime.conf'
 }
 
 start_service() {
@@ -38,6 +40,8 @@ start_service() {
        echo coredump_dir $coredump_dir >> $CONFIGFILE
        echo visible_hostname $visible_hostname >> $CONFIGFILE
        echo pinger_enable $pinger_enable >> $CONFIGFILE
+       cat $mime_table > $MIMETABLE
+       echo mime_table $MIMETABLE >> $CONFIGFILE
        [ "$ssldb" ] && echo sslcrtd_program /usr/lib/squid/ssl_crtd -s $ssldb $ssldb_options >> $CONFIGFILE
        $PROG -s -f $CONFIGFILE -N -z 2>/dev/null
 
index b950122c0881bd8c99c83397bd970d09a561fe6a..6231aa55215634650be22ffcc5b67184f8bfcc98 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=strongswan
-PKG_VERSION:=5.5.1
-PKG_RELEASE:=2
+PKG_VERSION:=5.5.2
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_HASH:=da976fca836f05fc7b7a38baab299745f960cb7640319969d239d8aa4ace9f6a
 PKG_SOURCE_URL:=http://download.strongswan.org/ http://download2.strongswan.org/
-PKG_MD5SUM:=4eba9474f7dc6c8c8d7037261358e68d
 PKG_LICENSE:=GPL-2.0+
 PKG_MAINTAINER:=Stijn Tintel <stijn@linux-ipv6.be>
 
index e48d22b41d77bac1e88a50d8a93e6bd6ba81f93b..753bd8e8d68421423d25a17b9d6c86c6f721dc65 100644 (file)
@@ -72,8 +72,8 @@
  #include <linux/netlink.h>
 --- a/src/libcharon/plugins/kernel_netlink/kernel_netlink_shared.c
 +++ b/src/libcharon/plugins/kernel_netlink/kernel_netlink_shared.c
-@@ -15,6 +15,8 @@
-  * for more details.
+@@ -38,6 +38,8 @@
+  * THE SOFTWARE.
   */
  
 +#include "musl.h"
index d8adec3d0510634363cf467cd03297bd9d8566df..d8f2f3be25b06cdae89dc6c1f12aaf542a5b3d11 100644 (file)
@@ -1,6 +1,6 @@
 --- a/src/ipsec/_ipsec.in
 +++ b/src/ipsec/_ipsec.in
-@@ -259,7 +259,7 @@ stop)
+@@ -257,7 +257,7 @@ stop)
                        loop=110
                        while [ $loop -gt 0 ] ; do
                                kill -0 $spid 2>/dev/null || break
index 597510f19049a81b6ce002ba3a3748801122e3a8..a1b0b5f80a41d67da428c9457e6363e9411c8bf5 100644 (file)
@@ -5,36 +5,36 @@
  ARG_ENABL_SET([gcrypt],         [enables the libgcrypt plugin.])
  ARG_DISBL_SET([gmp],            [disable GNU MP (libgmp) based crypto implementation plugin.])
 +ARG_DISBL_SET([gmpdh],          [disable GNU MP (libgmp) based static-linked crypto DH minimal implementation plugin.])
+ ARG_DISBL_SET([curve25519],     [disable Curve25519 Diffie-Hellman plugin.])
  ARG_DISBL_SET([hmac],           [disable HMAC crypto implementation plugin.])
  ARG_ENABL_SET([md4],            [enable MD4 software implementation plugin.])
- ARG_DISBL_SET([md5],            [disable MD5 software implementation plugin.])
-@@ -1347,6 +1348,7 @@ ADD_PLUGIN([gcrypt],               [s ch
+@@ -1362,6 +1363,7 @@ ADD_PLUGIN([gcrypt],               [s ch
  ADD_PLUGIN([af-alg],               [s charon scepclient pki scripts medsrv attest nm cmd aikgen])
  ADD_PLUGIN([fips-prf],             [s charon nm cmd])
  ADD_PLUGIN([gmp],                  [s charon scepclient pki scripts manager medsrv attest nm cmd aikgen])
 +ADD_PLUGIN([gmpdh],                [s charon scepclient pki scripts manager medsrv attest nm cmd aikgen])
+ ADD_PLUGIN([curve25519],           [s charon scripts nm cmd])
  ADD_PLUGIN([agent],                [s charon nm cmd])
  ADD_PLUGIN([keychain],             [s charon cmd])
- ADD_PLUGIN([chapoly],              [s charon scripts nm cmd])
-@@ -1480,6 +1482,7 @@ AM_CONDITIONAL(USE_SHA2, test x$sha2 = x
- AM_CONDITIONAL(USE_SHA3, test x$sha3 = xtrue)
+@@ -1498,6 +1500,7 @@ AM_CONDITIONAL(USE_SHA3, test x$sha3 = x
+ AM_CONDITIONAL(USE_MGF1, test x$mgf1 = xtrue)
  AM_CONDITIONAL(USE_FIPS_PRF, test x$fips_prf = xtrue)
  AM_CONDITIONAL(USE_GMP, test x$gmp = xtrue)
 +AM_CONDITIONAL(USE_GMPDH, test x$gmpdh = xtrue)
+ AM_CONDITIONAL(USE_CURVE25519, test x$curve25519 = xtrue)
  AM_CONDITIONAL(USE_RDRAND, test x$rdrand = xtrue)
  AM_CONDITIONAL(USE_AESNI, test x$aesni = xtrue)
- AM_CONDITIONAL(USE_RANDOM, test x$random = xtrue)
-@@ -1733,6 +1736,7 @@ AC_CONFIG_FILES([
-       src/libstrongswan/plugins/sha3/Makefile
+@@ -1756,6 +1759,7 @@ AC_CONFIG_FILES([
+       src/libstrongswan/plugins/mgf1/Makefile
        src/libstrongswan/plugins/fips_prf/Makefile
        src/libstrongswan/plugins/gmp/Makefile
 +      src/libstrongswan/plugins/gmpdh/Makefile
+       src/libstrongswan/plugins/curve25519/Makefile
        src/libstrongswan/plugins/rdrand/Makefile
        src/libstrongswan/plugins/aesni/Makefile
-       src/libstrongswan/plugins/random/Makefile
 --- a/src/libstrongswan/Makefile.am
 +++ b/src/libstrongswan/Makefile.am
-@@ -307,6 +307,13 @@ if MONOLITHIC
+@@ -313,6 +313,13 @@ if MONOLITHIC
  endif
  endif
  
@@ -45,8 +45,8 @@
 +endif
 +endif
 +
- if USE_RDRAND
-   SUBDIRS += plugins/rdrand
+ if USE_CURVE25519
+   SUBDIRS += plugins/curve25519
  if MONOLITHIC
 --- /dev/null
 +++ b/src/libstrongswan/plugins/gmpdh/Makefile.am
index 6c09a1f74ad54fb0d00297a807f49e72a238206a..75a0f143c9406991670a4e425f021f388a17f7e6 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=tcpreplay
-PKG_VERSION:=4.2.1
+PKG_VERSION:=4.2.3
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/appneta/tcpreplay/releases/download/v$(PKG_VERSION)
-PKG_MD5SUM:=a2864f466fe17715baa49d44d5a91eb4
-PKG_HASH:=224b519e561d969b4bdb0e700c2283e036620e3cb5895d5aab2a7e4f27d21a79
+PKG_MD5SUM:=0571a6e20081429931d408b612ecc8a8
+PKG_HASH:=68d8d49dab5bf58b2e8d244eee1ee7f2379d967da19fe97dd9d59bcf40a22abc
 
 PKG_LICENSE:=GPL-3.0
 PKG_LICENSE_FILES:=docs/LICENSE
index 911a3f922d35684938924c220c8e7c920dd3e974..ed5d6c5fb35cabdc1c85f2ddca311d951bfc538c 100644 (file)
@@ -6,7 +6,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=travelmate
-PKG_VERSION:=0.6.0
+PKG_VERSION:=0.7.1
 PKG_RELEASE:=1
 PKG_LICENSE:=GPL-3.0+
 PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
index b77f8d6b3969dde868339b51ee23482f69b1ad26..626956452aade0967731d9360c2a293eef51c858 100644 (file)
@@ -12,14 +12,14 @@ To avoid these kind of deadlocks, travelmate set all station interfaces in an "a
 * manual / automatic mode support, the latter one checks the existing uplink connection regardless of ifdown event trigger every n seconds
 * support of devices with multiple radios
 * procd init and hotplug support
-* runtime information accessible via ubus service call
+* runtime information available via LuCI & via 'status' init command
 * status & debug logging to syslog
 
 ## Prerequisites
-* [OpenWrt](https://openwrt.org) or [LEDE](https://www.lede-project.org) trunk
+* [LEDE](https://www.lede-project.org) 17.01 or latest snapshot
 * iw (default) or iwinfo for wlan scanning
 
-## OpenWrt / LEDE trunk Installation & Usage
+## LEDE trunk Installation & Usage
 * download the package [here](https://downloads.lede-project.org/snapshots/packages/x86_64/packages)
 * install 'travelmate' (_opkg install travelmate_)
 * configure your network to support (multiple) wlan uplinks and set travelmate config options (see below)
@@ -30,7 +30,6 @@ To avoid these kind of deadlocks, travelmate set all station interfaces in an "a
 * download the package [here](https://downloads.lede-project.org/snapshots/packages/x86_64/luci)
 * install 'luci-app-travelmate' (_opkg install luci-app-travelmate_)
 * the application is located in LuCI under 'Services' menu
-* _Thanks to Hannu Nyman for this great LuCI frontend!_
 
 ## Travelmate config options
 * travelmate config options:
@@ -42,28 +41,22 @@ To avoid these kind of deadlocks, travelmate set all station interfaces in an "a
     * trm\_timeout => timeout in seconds for "automatic mode" (default: '60')
     * trm\_iw => set this option to '0' to use iwinfo for wlan scanning (default: '1', use iw)
     * trm\_radio => limit travelmate to a dedicated radio, e.g. 'radio0' (default: not set, use all radios)
-    * trm\_iface => restrict the procd interface trigger to a (list of) certain wan interface(s) or disable it at all (default: wan wwan)
-
+    * trm\_iface => restrict the procd interface trigger to a (list of) certain wan interface(s) or disable it at all (default: wwan)
+    * trm\_triggerdelay => additional trigger delay in seconds before travelmate processing starts (default: '2')
 
 ## Runtime information
 
-**receive travelmate information via ubus:**
+**receive travelmate runtime information:**
 <pre><code>
-ubus call service get_data '{"name":"travelmate"}'
-This will output the current connection status, e.g.:
-{
-    "travelmate": {
-        "travelmate": {
-            "last_rundate": "02.04.2017 07:22:03",
-            "online_status": "true",
-            "station_interface": "wwan",
-            "station_radio": "radio1",
-            "station_ssid": "blackhole",
-            "system": "LEDE Reboot SNAPSHOT r3888-8fb39f1682",
-            "travelmate_version": "0.6.0"
-        }
-    }
-}
+root@adb2go:/tmp# /etc/init.d/travelmate status
+::: travelmate runtime information
+ travelmate_version : 0.7.0
+ station_connection : true
+ station_ssid       : blackhole
+ station_interface  : wwan
+ station_radio      : radio1
+ last_rundate       : 20.04.2017 08:54:48
+ system             : LEDE Reboot SNAPSHOT r3974-56457dbcb7
 </code></pre>
 
 ## Setup
index 00b7b127c6ba515061677998d5f0a444b7889d2e..91b426f1bcd000e90d929af283de18ba70b65bcb 100644 (file)
@@ -5,8 +5,10 @@ config travelmate 'global'
        option trm_enabled '0'
        option trm_debug '0'
        option trm_iface 'wwan'
+       option trm_triggerdelay '2'
        option trm_automatic '1'
        option trm_maxwait '30'
        option trm_maxretry '3'
        option trm_timeout '60'
        option trm_iw '1'
+       option trm_rtfile '/tmp/trm_runtime.json'
index f0a6a67873882a16dc68a820a2cb82132a0906b2..6663dd173d927ac0a75b492221cc0c3be95209a4 100755 (executable)
@@ -1,20 +1,23 @@
 #!/bin/sh /etc/rc.common
 
-START=85
+START=35
 USE_PROCD=1
 
+EXTRA_COMMANDS="status"
+EXTRA_HELP="   status  Print runtime information"
+
 trm_init="/etc/init.d/travelmate"
 trm_script="/usr/bin/travelmate.sh"
 
 boot()
 {
-    ubus -t 30 wait_for network.interface
+    ubus -t 30 wait_for network.interface 2>/dev/null
     rc_procd start_service
 }
 
 start_service()
 {
-    if [ $(/etc/init.d/travelmate enabled; printf ${?}) -eq 0 ]
+    if [ $("${trm_init}" enabled; printf ${?}) -eq 0 ]
     then
         procd_open_instance "travelmate"
         procd_set_param command "${trm_script}" "${@}"
@@ -24,13 +27,21 @@ start_service()
     fi
 }
 
+status()
+{
+    rc_procd "${trm_script}" status
+}
+
 service_triggers()
 {
     local iface="$(uci -q get travelmate.global.trm_iface)"
+    local delay="$(uci -q get travelmate.global.trm_triggerdelay)"
 
+    PROCD_RELOAD_DELAY=$((${delay:=2} * 1000))
     for name in ${iface}
     do
         procd_add_interface_trigger "interface.*.down" "${name}" "${trm_init}" start
     done
+    PROCD_RELOAD_DELAY=1000
     procd_add_config_trigger "config.change" "travelmate" "${trm_init}" start
 }
index b9d728b884acb1836e33d981d38e3c7baeba39c3..6b9637336f7100191074ae4ff26fe1d456c14be7 100755 (executable)
 #
 LC_ALL=C
 PATH="/usr/sbin:/usr/bin:/sbin:/bin"
-trm_ver="0.6.0"
+trm_ver="0.7.1"
 trm_sysver="$(ubus -S call system board | jsonfilter -e '@.release.description')"
 trm_enabled=0
 trm_debug=0
-trm_automatic=0
-trm_maxwait=30
+trm_automatic=1
 trm_maxretry=3
+trm_maxwait=30
 trm_timeout=60
 trm_iw=1
+trm_rtfile="/tmp/trm_runtime.json"
 
 # source required system library
 #
-if [ -r "/lib/functions.sh" ]
+if [ -r "/lib/functions.sh" ] && [ -r "/usr/share/libubox/jshn.sh" ]
 then
     . "/lib/functions.sh"
+    . "/usr/share/libubox/jshn.sh"
 else
-    f_log "error" "required system library not found"
+    f_log "error" "system libraries not found"
 fi
 
 # f_envload: load travelmate environment
@@ -134,28 +136,43 @@ f_check()
     f_log "debug" "mode: ${mode}, name: ${ifname}, status: ${trm_ifstatus}, count: ${cnt}, max-wait: ${trm_maxwait}, automatic: ${trm_automatic}"
 }
 
-# f_ubus: update ubus service
+# f_jsnupdate: update runtime information
 #
-f_ubus()
+f_jsnupdate()
 {
-    local active_triggers iface="${1}" radio="${2}" ssid="${3}"
+    local iface="${1}" radio="${2}" ssid="${3}"
 
-    for name in ${trm_iface}
-    do
-        active_triggers="${active_triggers}[\"interface.*.down\",[\"if\",[\"eq\",\"interface\",\"${name}\"],[\"run_script\",\"/etc/init.d/travelmate\",\"start\"],1000]],"
-    done
-    active_triggers="${active_triggers}[\"config.change\",[\"if\",[\"eq\",\"package\",\"travelmate\"],[\"run_script\",\"/etc/init.d/travelmate\",\"start\"],1000]]"
+    json_init
+    json_add_object "data"
+    json_add_string "travelmate_version" "${trm_ver}"
+    json_add_string "station_connection" "${trm_ifstatus}"
+    json_add_string "station_ssid" "${ssid}"
+    json_add_string "station_interface" "${iface}"
+    json_add_string "station_radio" "${radio}"
+    json_add_string "last_rundate" "$(/bin/date "+%d.%m.%Y %H:%M:%S")"
+    json_add_string "system" "${trm_sysver}"
+    json_close_object
+    json_dump > "${trm_rtfile}"
+}
 
-    ubus call service add "{\"name\":\"travelmate\",
-        \"instances\":{\"travelmate\":{\"command\":[\"/usr/bin/travelmate.sh\"],
-        \"data\":{\"travelmate_version\":\"${trm_ver}\",
-        \"station_interface\":\"${iface}\",
-        \"station_radio\":\"${radio}\",
-        \"station_ssid\":\"${ssid}\",
-        \"last_rundate\":\"$(/bin/date "+%d.%m.%Y %H:%M:%S")\",
-        \"online_status\":\"${trm_ifstatus}\",
-        \"system\":\"${trm_sysver}\"}}},
-        \"triggers\":[${active_triggers}]}"
+# f_status: output runtime information
+#
+f_status()
+{
+    local key keylist value
+
+    if [ -s "${trm_rtfile}" ]
+    then
+        printf "%s\n" "::: travelmate runtime information"
+        json_load "$(cat "${trm_rtfile}" 2>/dev/null)"
+        json_select data
+        json_get_keys keylist
+        for key in ${keylist}
+        do
+            json_get_var value ${key}
+            printf " %-18s : %s\n" "${key}" "${value}"
+        done
+    fi
 }
 
 # f_log: write to syslog, exit on error
@@ -191,7 +208,6 @@ f_main()
         then
             uci -q commit wireless
             ubus call network reload
-            sleep 5
         fi
         f_check "ap"
         f_log "debug" "ap-list: ${trm_aplist}, sta-list: ${trm_stalist}"
@@ -236,14 +252,13 @@ f_main()
                             then
                                 uci -q commit wireless
                                 f_log "info " "interface '${sta_iface}' on '${sta_radio}' connected to uplink '${sta_ssid}' (${trm_sysver})"
-                                sleep 5
-                                f_ubus "${sta_iface}" "${sta_radio}" "${sta_ssid}"
+                                f_jsnupdate "${sta_iface}" "${sta_radio}" "${sta_ssid}"
                                 return 0
                             else
                                 uci -q revert wireless
                                 ubus call network reload
                                 f_log "info " "interface '${sta_iface}' on '${sta_radio}' can't connect to uplink '${sta_ssid}' (${trm_sysver})"
-                                f_ubus "${sta_iface}" "${sta_radio}" "${sta_ssid}"
+                                f_jsnupdate "${sta_iface}" "${sta_radio}" "${sta_ssid}"
                             fi
                         fi
                     done
@@ -252,15 +267,33 @@ f_main()
                 sleep 5
             done
         done
+    else
+        if [ ! -s "${trm_rtfile}" ]
+        then
+            config="$(ubus -S call network.wireless status | jsonfilter -l1 -e '@.*.interfaces[@.config.mode="sta"].section')"
+            sta_radio="$(uci -q get wireless."${config}".device)"
+            sta_ssid="$(uci -q get wireless."${config}".ssid)"
+            sta_iface="$(uci -q get wireless."${config}".network)"
+            f_jsnupdate "${sta_iface}" "${sta_radio}" "${sta_ssid}"
+        fi
     fi
 }
 
+# handle different travelmate actions
+#
 f_envload
-f_main
-while [ ${trm_automatic} -eq 1 ]
-do
-    sleep ${trm_timeout}
-    f_envload
-    f_main
-done
+case "${1}" in
+    status)
+        f_status
+        ;;
+    *)
+        f_main
+        while [ ${trm_automatic} -eq 1 ]
+        do
+            sleep ${trm_timeout}
+            f_envload
+            f_main
+        done
+        ;;
+esac
 exit 0
index d8db017a4b365517447a8248ec7300a5f5f5dab9..7dcd2a60803ef578234e3b8ebe955bc4e6f8b0c9 100644 (file)
@@ -8,8 +8,8 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=unbound
-PKG_VERSION:=1.6.1
-PKG_RELEASE:=6
+PKG_VERSION:=1.6.2
+PKG_RELEASE:=1
 
 PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE_FILES:=LICENSE
@@ -17,7 +17,7 @@ PKG_MAINTAINER:=Eric Luehrsen <ericluehrsen@hotmail.com>
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.unbound.net/downloads
-PKG_HASH:=42df63f743c0fe8424aeafcf003ad4b880b46c14149d696057313f5c1ef51400
+PKG_HASH:=1a323d72c32180b7141c9e6ebf199fc68a0208dfebad4640cd2c4c27235e3b9c
 
 PKG_BUILD_DEPENDS:=libexpat
 PKG_BUILD_PARALLEL:=1
index 8aa0502024aa70fef632b32996e04d7bf431bed9..fb63e1a8460a6d7fab2ea01af4d68b1db18dc157 100644 (file)
@@ -6,7 +6,7 @@ index 83e7c5c..3ea2b28 100644
 -#
 -# Example configuration file.
 -#
--# See unbound.conf(5) man page, version 1.6.1.
+-# See unbound.conf(5) man page, version 1.6.2.
 -#
 -# this is a comment.
 +##############################################################################
index a9dd3f7fc14a2a168717f642efad306e13b72e52..893b7749bf0e203eeef2fefb7ef3c7374aca4ced 100644 (file)
@@ -16,7 +16,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=wifischedule
 PKG_VERSION:=1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 PKG_LICENSE:=PRPL
 
 PKG_MAINTAINER:=Nils Koenig <openwrt@newk.it> 
@@ -28,6 +28,7 @@ define Package/wifischedule
   TITLE:=Turns WiFi on and off according to a schedule
   SECTION:=net
   CATEGORY:=Network
+  PKGARCH:=all
 endef
 
 define Package/wifischedule/description
@@ -38,6 +39,12 @@ define Package/wifischedule/conffiles
 /etc/config/wifi_schedule
 endef
 
+define Build/Prepare
+endef
+
+define Build/Configure
+endef
+
 define Build/Compile
 endef
 
index 0908642e32335df2807977b40e13b1a69531cbd5..cf0a5715b742841bea953436d9b6cdc37e113982 100644 (file)
@@ -11,12 +11,12 @@ include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=wireguard
 
-PKG_VERSION:=0.0.20170409
+PKG_VERSION:=0.0.20170421
 PKG_RELEASE:=1
 
 PKG_SOURCE:=WireGuard-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://git.zx2c4.com/WireGuard/snapshot/
-PKG_HASH:=31473b4d14178f82d6ff46df019d57982c210c03d1a985d54db35bdd76efbb18
+PKG_HASH:=03c82af774224cd171d000ee4a519b5e474cc6842ac04967773cf77b26750000
 
 PKG_LICENSE:=GPL-2.0
 PKG_LICENSE_FILES:=COPYING
index 15c0cc28fb0f1a82f7c87a1d0616995afe002d94..386ac9e4d9d2b44202c7635315af30aaf5ab7cd9 100644 (file)
@@ -13,7 +13,7 @@ PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@SF/ccrypt
-PKG_MD5SUM:=87d66da2170facabf6f2fc073586ae2c7320d4689980cfca415c74688e499ba0
+PKG_HASH:=87d66da2170facabf6f2fc073586ae2c7320d4689980cfca415c74688e499ba0
 PKG_MAINTAINER:=Hannu Nyman <hannu.nyman@iki.fi>
 PKG_LICENSE:=GPLv2+
 
@@ -25,7 +25,7 @@ define Package/ccrypt
   SECTION:=utils
   CATEGORY:=Utilities
   SUBMENU:=Encryption
-  TITLE:=ccrypt is a utility for encrypting and decrypting files and streams
+  TITLE:=utility for encrypting/decrypting files and streams
   URL:=http://ccrypt.sourceforge.net/
 endef
 
index c092fc90bd4933d2273bb7641d6451bca127d5a9..9fa71379c4b1b5ded14316ce27c0babf1b361645 100644 (file)
@@ -24,7 +24,7 @@ include $(INCLUDE_DIR)/package.mk
 define Package/cmdpad
   SECTION:=utils
   CATEGORY:=Utilities
-  TITLE:=execute commands when a key is pressed, released or hold down
+  TITLE:=execute commands when key is pressed/released/held down
   URL:=http://cmdpad.sourceforge.net/index.php
 endef
 
index e5e625e88993d0c41e2cc213243f267513db027f..6ccf792f5b17b2a5038d89c3a3c4d03ad9ba2097 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=collectd
 PKG_VERSION:=5.7.1
-PKG_RELEASE:=4
+PKG_RELEASE:=5
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://collectd.org/files/ \
diff --git a/utils/collectd/patches/050-upstream-fix-for-network-plugin-ddos.patch b/utils/collectd/patches/050-upstream-fix-for-network-plugin-ddos.patch
new file mode 100644 (file)
index 0000000..62b25de
--- /dev/null
@@ -0,0 +1,50 @@
+From f6be4f9b49b949b379326c3d7002476e6ce4f211 Mon Sep 17 00:00:00 2001
+From: Pavel Rochnyack <pavel2000@ngs.ru>
+Date: Mon, 3 Apr 2017 11:57:09 +0600
+Subject: [PATCH] network plugin: Fix endless loop DOS in parse_packet()
+
+When correct 'Signature part' is received by Collectd, configured without
+AuthFile option, condition for endless loop occurs due to missing increase
+of pointer to next unprocessed part.
+
+Fixes: CVE-2017-7401
+
+Signed-off-by: Florian Forster <octo@collectd.org>
+
+
+--- a/src/network.c
++++ b/src/network.c
+@@ -1003,14 +1003,6 @@ static int parse_part_sign_sha256(socken
+   buffer_len = *ret_buffer_len;
+   buffer_offset = 0;
+-  if (se->data.server.userdb == NULL) {
+-    c_complain(
+-        LOG_NOTICE, &complain_no_users,
+-        "network plugin: Received signed network packet but can't verify it "
+-        "because no user DB has been configured. Will accept it.");
+-    return (0);
+-  }
+-
+   /* Check if the buffer has enough data for this structure. */
+   if (buffer_len <= PART_SIGNATURE_SHA256_SIZE)
+     return (-ENOMEM);
+@@ -1027,6 +1019,18 @@ static int parse_part_sign_sha256(socken
+     return (-1);
+   }
++  if (se->data.server.userdb == NULL) {
++    c_complain(
++        LOG_NOTICE, &complain_no_users,
++        "network plugin: Received signed network packet but can't verify it "
++        "because no user DB has been configured. Will accept it.");
++
++    *ret_buffer = buffer + pss_head_length;
++    *ret_buffer_len -= pss_head_length;
++
++    return (0);
++  }
++
+   /* Copy the hash. */
+   BUFFER_READ(pss.hash, sizeof(pss.hash));
index 2628d4189d92d2e0d36ca095d849281247962986..280e501519fe6ec467fc6d7243ad17cc587ed313 100644 (file)
@@ -1,6 +1,6 @@
 --- a/configure.ac
 +++ b/configure.ac
-@@ -833,10 +833,7 @@
+@@ -830,10 +830,7 @@ fi
  have_cpuid_h="no"
  AC_CHECK_HEADERS(cpuid.h, [have_cpuid_h="yes"])
  
index a869610716e90c56993aa83cde80a9a1fb75c751..7c2c720129a8cf8a4b5a137efea57d8e047a9222 100644 (file)
@@ -10,7 +10,7 @@
  # For the turbostat plugin
  have_asm_msrindex_h="no"
  AC_CHECK_HEADERS(asm/msr-index.h, [have_asm_msrindex_h="yes"])
-@@ -5946,6 +5949,7 @@ plugin_interface="no"
+@@ -5943,6 +5946,7 @@ plugin_interface="no"
  plugin_ipmi="no"
  plugin_ipvs="no"
  plugin_irq="no"
@@ -18,7 +18,7 @@
  plugin_load="no"
  plugin_log_logstash="no"
  plugin_memory="no"
-@@ -6416,6 +6420,7 @@ AC_PLUGIN([ipmi],                [$plugi
+@@ -6413,6 +6417,7 @@ AC_PLUGIN([ipmi],                [$plugi
  AC_PLUGIN([iptables],            [$with_libiptc],           [IPTables rule counters])
  AC_PLUGIN([ipvs],                [$plugin_ipvs],            [IPVS connection statistics])
  AC_PLUGIN([irq],                 [$plugin_irq],             [IRQ statistics])
@@ -26,7 +26,7 @@
  AC_PLUGIN([java],                [$with_java],              [Embed the Java Virtual Machine])
  AC_PLUGIN([load],                [$plugin_load],            [System load])
  AC_PLUGIN([log_logstash],        [$plugin_log_logstash],    [Logstash json_event compatible logging])
-@@ -6797,6 +6802,7 @@ AC_MSG_RESULT([    libyajl . . . . . . .
+@@ -6794,6 +6799,7 @@ AC_MSG_RESULT([    libyajl . . . . . . .
  AC_MSG_RESULT([    oracle  . . . . . . . $with_oracle])
  AC_MSG_RESULT([    protobuf-c  . . . . . $have_protoc_c])
  AC_MSG_RESULT([    protoc 3  . . . . . . $have_protoc3])
@@ -34,7 +34,7 @@
  AC_MSG_RESULT()
  AC_MSG_RESULT([  Features:])
  AC_MSG_RESULT([    daemon mode . . . . . $enable_daemon])
-@@ -6853,6 +6859,7 @@ AC_MSG_RESULT([    ipmi  . . . . . . . .
+@@ -6850,6 +6856,7 @@ AC_MSG_RESULT([    ipmi  . . . . . . . .
  AC_MSG_RESULT([    iptables  . . . . . . $enable_iptables])
  AC_MSG_RESULT([    ipvs  . . . . . . . . $enable_ipvs])
  AC_MSG_RESULT([    irq . . . . . . . . . $enable_irq])
index adc1ebb790e2e693f2dc4ca5984dfb6e75b4e273..88835f95a384e0f482bf8113ca36af2bec816144 100644 (file)
@@ -10,15 +10,14 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=cryptodev-linux
-PKG_VERSION:=1.8.git-2017-02-09
-PKG_RELEASE:=2
+PKG_VERSION:=1.9
+PKG_RELEASE:=1
 
 PKG_SOURCE_PROTO:=git
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
-PKG_MIRROR_HASH:=627ce96e3ba66ca9c8e14f5d80193061fbe9d45cd8d4b69a1bf4dd5a2d50eed8
+PKG_MIRROR_HASH:=d2b49408682795a0e200c0e54a8605f72be4b11088e07b1cd4d48f6c1427b0f4
 PKG_SOURCE_URL:=https://github.com/cryptodev-linux/cryptodev-linux.git
-PKG_SOURCE_VERSION:=6818263667ca488f9b1c86e36ea624c4ea1c309f
+PKG_SOURCE_VERSION:=87d959d9a279c055b361de8e730fab6a7144edd7
 
 PKG_MAINTAINER:=Ansuel Smith ansuelsmth@gmail.com
 
index 6b907523cf8f4fd43aaed353ea012fae6f0d42c7..b260c9077d08fbc9bb7714d04644fe61729f8045 100644 (file)
@@ -60,7 +60,7 @@ define Build/Compile
                -f Makefile.lnx \
                $(TARGET_CONFIGURE_OPTS) \
                CFLAGS+="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS) -I$(PKG_BUILD_DIR)/include -DDEBUG_BUILD=0 -D_FILE_OFFSET_BITS=64 -D LINUX=1 -D BSD=1" \
-               LDFLAGS+="$(TARGET_LDFLAGS) -lbsd" \
+               LDFLAGS+="$(TARGET_LDFLAGS) $(if $(CONFIG_USE_GLIBC),-lbsd)" \
                all
 endef
 
index fd2f851c0c1015f523cb9666222e103bc42a7c67..3777fde1ae55e81cf825875be4dc2d961c2e4610 100644 (file)
@@ -12,6 +12,7 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/Irqbalance/irqbalance.git
 PKG_SOURCE_VERSION:=0e0dd4cfe5464de2f81eaef504eab7183f1fb030
+PKG_MIRROR_HASH:=c826e78babfc26f777a5791b2a6ea95b61453ba3e3c5803d4428cc803216bc5c
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
 PKG_LICENSE:=GPLv2
 
diff --git a/utils/lcdproc/Makefile b/utils/lcdproc/Makefile
new file mode 100644 (file)
index 0000000..630c15c
--- /dev/null
@@ -0,0 +1,177 @@
+#
+# Copyright (C) 2016 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=lcdproc
+# PKG_VERSION:=0.5.8
+PKG_BASE_VERSION:=0.5.8
+PKG_VERSION:=$(PKG_BASE_VERSION)+git2070222
+PKG_RELEASE:=2
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/lcdproc/lcdproc.git
+PKG_SOURCE_VERSION:=156983afab6d8f49d9a84e2a0929874eac569cc3
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_BASE_VERSION)
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_BASE_VERSION)
+
+#PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+#PKG_SOURCE_URL:=https://github.com/lcdproc/lcdproc/releases/download/v$(PKG_VERSION)/
+#PKG_MD5SUM:=1dd25676946c61184c6f51cc0a75379e
+PKG_MAINTAINER:=Harald Geyer <harald@ccbib.org>, \
+               Philip Prindeville <philipp@redfish-solutions.com>
+PKG_LICENSE:=GPL-2.0
+PKG_LICENSE_FILES:=COPYING
+
+PKG_FIXUP:=autoreconf
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/lcdproc/Default
+  SECTION:=utils
+  CATEGORY:=Utilities
+  URL:=http://lcdproc.org/
+endef
+
+define Package/lcdproc/Default-description
+LCDProc is a daemon and clients for displaying system information
+on various LCD displays
+endef
+
+
+define Package/lcdproc-clients
+  $(call Package/lcdproc/Default)
+  TITLE:=LCD Display clients
+endef
+
+define Package/lcdproc-clients/description
+$(call Package/lcdproc/Default-description)
+
+This package contains the clients distributed by the official lcdproc
+project:
+* lcdproc -- displays system information
+* lcdexec -- displays a menu structure to execute commands
+* lcdvc -- shows the content of the system console
+endef
+
+define Package/lcdproc-clients/conffiles
+/etc/lcdproc.conf
+/etc/lcdexec.conf
+/etc/lcdvc.conf
+endef
+
+
+define Package/lcdproc-server
+  $(call Package/lcdproc/Default)
+  TITLE:=LCD Display server
+  DEPENDS:=+libpthread
+endef
+
+define LCDPROC_CORE_DRIVERS_TEXT
+bayrad CFontzPacket CFontz CwLnx ea65 EyeboxOne glk icp_a106 imonlcd
+imon irtrans joy lb216 lcdm001 lcterm linux_input MD8800 ms6931
+mtc_s16209x MtxOrb NoritakeVFD Olimex_MOD_LCD1x9 pyramid rawserial
+serialPOS serialVFD sli SureElec text tyan vlsys_m428 yard2LCD
+endef
+
+LCDPROC_CORE_DRIVERS:=$(strip $(LCDPROC_CORE_DRIVERS_TEXT))
+
+define Package/lcdproc-server/description
+$(call Package/lcdproc/Default-description)
+
+This package contains the server and a core set of display drivers
+without external dependencies:
+$(LCDPROC_CORE_DRIVERS_TEXT)
+endef
+
+define Package/lcdproc-server/conffiles
+/etc/LCDd.conf
+endef
+
+
+define Package/lcdproc-drivers
+  $(call Package/lcdproc/Default)
+  TITLE:=LCD Display extra drivers
+  DEPENDS:=+lcdproc-server +libncurses +libusb-1.0 +libusb-compat +libftdi1 \
+       +GPIO_SUPPORT:libugpio
+endef
+
+define LCDPROC_OTHER_DRIVERS_TEXT
+curses futaba glcd hd44780 IOWarrior i2500vfd lis picolcd shuttleVFD ula200
+endef
+
+ifeq ($(CONFIG_PACKAGE_kmod-lp),y)
+LCDPROC_OTHER_DRIVERS_TEXT+=sdeclcd sed1330 sed1520 stv5730 t6963
+endif
+
+LCDPROC_OTHER_DRIVERS:=$(strip $(LCDPROC_OTHER_DRIVERS_TEXT))
+
+define Package/lcdproc-drivers/description
+$(call Package/lcdproc/Default-description)
+
+This package contains display drivers with external dependencies:
+$(LCDPROC_OTHER_DRIVERS_TEXT)
+endef
+
+
+# not everything groks --disable-nls
+DISABLE_NLS:=
+
+CONFIGURE_ARGS += \
+       --disable-libX11 \
+       --disable-libhid \
+       --disable-libpng \
+       --disable-freetype \
+       --enable-drivers='all,!g15,!g15driver,!glcdlib,!irman,!lirc,!mdm166a,!mx5000,!svga,!xosd'
+
+# can't use -Wformat=2 because MUSL is somewhat broken
+TARGET_CFLAGS+=-Wall
+
+MAKE_FLAGS += \
+        CFLAGS="$(TARGET_CFLAGS)" \
+        LDFLAGS="$(TARGET_LDLAGS)"
+
+
+define Package/lcdproc-clients/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_DIR) $(1)/etc/init.d
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/clients/lcdproc/lcdproc $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/clients/lcdexec/lcdexec $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/clients/lcdvc/lcdvc $(1)/usr/bin/
+       $(INSTALL_CONF) $(PKG_BUILD_DIR)/clients/lcdproc/lcdproc.conf $(1)/etc/
+       $(INSTALL_CONF) $(PKG_BUILD_DIR)/clients/lcdexec/lcdexec.conf $(1)/etc/
+       $(INSTALL_CONF) $(PKG_BUILD_DIR)/clients/lcdvc/lcdvc.conf $(1)/etc/
+       $(INSTALL_BIN) ./files/lcd* $(1)/etc/init.d/
+endef
+
+define Package/lcdproc-server/install
+       $(INSTALL_DIR) $(1)/usr/sbin
+       $(INSTALL_DIR) $(1)/usr/lib/lcdproc
+       $(INSTALL_DIR) $(1)/etc/init.d
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/server/LCDd $(1)/usr/sbin/
+       $(CP) $(foreach driver,$(LCDPROC_CORE_DRIVERS),$(PKG_BUILD_DIR)/server/drivers/$(driver).so) $(1)/usr/lib/lcdproc/
+       $(CP) -p $(PKG_BUILD_DIR)/LCDd.conf $(PKG_BUILD_DIR)/LCDd.conf.orig
+       sed -i -r \
+               -e 's!^(DriverPath=).*$$$$!\1/usr/lib/lcdproc/!' \
+               -e 's!^(Driver=)curses$$$$!\1sdeclcd!' \
+               $(PKG_BUILD_DIR)/LCDd.conf
+       $(INSTALL_CONF) $(PKG_BUILD_DIR)/LCDd.conf $(1)/etc/
+       $(INSTALL_BIN) ./files/LCDd $(1)/etc/init.d/
+endef
+
+define Package/lcdproc-drivers/install
+       $(INSTALL_DIR) $(1)/usr/lib/lcdproc
+       $(CP) $(foreach driver,$(LCDPROC_OTHER_DRIVERS),$(PKG_BUILD_DIR)/server/drivers/$(driver).so) $(1)/usr/lib/lcdproc/
+endef
+
+
+$(eval $(call BuildPackage,lcdproc-clients))
+$(eval $(call BuildPackage,lcdproc-server))
+$(eval $(call BuildPackage,lcdproc-drivers))
+
diff --git a/utils/lcdproc/files/LCDd b/utils/lcdproc/files/LCDd
new file mode 100755 (executable)
index 0000000..595407f
--- /dev/null
@@ -0,0 +1,14 @@
+#!/bin/sh /etc/rc.common
+
+START=22
+USE_PROCD=1
+PROG=/usr/sbin/LCDd
+
+config_file=/etc/LCDd.conf
+
+start_service() {
+       procd_open_instance
+       procd_set_param command $PROG -f -c $config_file
+       procd_close_instance
+}
+
diff --git a/utils/lcdproc/files/lcdexec b/utils/lcdproc/files/lcdexec
new file mode 100755 (executable)
index 0000000..e6a76f6
--- /dev/null
@@ -0,0 +1,14 @@
+#!/bin/sh /etc/rc.common
+
+START=50
+USE_PROCD=1
+PROG=/usr/bin/lcdexec
+
+config_file=/etc/lcdexec.conf
+
+start_service() {
+       procd_open_instance
+       procd_set_param command $PROG -f -c $config_file
+       procd_close_instance
+}
+
diff --git a/utils/lcdproc/files/lcdproc b/utils/lcdproc/files/lcdproc
new file mode 100755 (executable)
index 0000000..15eb997
--- /dev/null
@@ -0,0 +1,14 @@
+#!/bin/sh /etc/rc.common
+
+START=50
+USE_PROCD=1
+PROG=/usr/bin/lcdproc
+
+config_file=/etc/lcdproc.conf
+
+start_service() {
+       procd_open_instance
+       procd_set_param command $PROG -f -c $config_file
+       procd_close_instance
+}
+
diff --git a/utils/lcdproc/files/lcdvc b/utils/lcdproc/files/lcdvc
new file mode 100755 (executable)
index 0000000..0362815
--- /dev/null
@@ -0,0 +1,14 @@
+#!/bin/sh /etc/rc.common
+
+START=50
+USE_PROCD=1
+PROG=/usr/bin/lcdvc
+
+config_file=/etc/lcdvc.conf
+
+start_service() {
+       procd_open_instance
+       procd_set_param command $PROG -f -c $config_file
+       procd_close_instance
+}
+
index dc96467c55fd83e48a8793ecfcfd439fdc074fca..e9ebe64524ee5e6cfb6b2abd0be98ed1cb951533 100644 (file)
@@ -24,7 +24,7 @@ PKG_INSTALL:=1
 include $(INCLUDE_DIR)/package.mk
 
 define Package/pcsc-lite/Default
-  TITLE:=Middleware to access a smart card using SCard API (PC/SC).
+  TITLE:=Access a smart card using SCard API (PC/SC)
   URL:=http://pcsclite.alioth.debian.org/
 endef
 
index d56be82713f96467aebb8af9dd53ba98a92d8208..b1f078080cdf523ec42e0c2695adba9eb3bb60e7 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=shadow
 PKG_VERSION:=4.2.1
-PKG_RELEASE:=5
+PKG_RELEASE:=6
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://pkg-shadow.alioth.debian.org/releases
@@ -25,8 +25,10 @@ include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/nls.mk
 
 SHADOW_APPLETS := \
-       chage groupadd groupdel groupmod groups passwd su \
-       useradd userdel usermod
+       chage chpasswd chfn chsh expiry faillog gpasswd \
+       groupadd groupdel groupmems groupmod groups \
+       lastlog login newgrp nologin passwd su \
+       useradd userdel usermod vipw
 
 CONFIGURE_ARGS += \
        --without-audit \
index c0dfef983429d47c72bf19ae4b82b9134c5bf769..9f568d7ab97aa11586600a294c439474b69bff10 100644 (file)
@@ -31,7 +31,7 @@ define Package/slide-switch
        SECTION:=utils
        CATEGORY:=Utilities
        DEPENDS:=+jshn +jsonfilter
-       TITLE:=Translate switch position changes into normal button presses
+       TITLE:=Translate switch position change to button press
        URL:=https://github.com/jefferyto/openwrt-slide-switch
 endef
 
index 1dc828c10f3c0c59d899d017357afec1ee406436..3759434f4f5e5093f8906907bef8262804151969 100644 (file)
@@ -29,7 +29,7 @@ PKG_FIXUP:=autoreconf
 include $(INCLUDE_DIR)/package.mk
 
 define Package/stoken/Default
-  TITLE:=stoken is a tokencode generator compatible with RSA SecurID 128-bit (AES)
+  TITLE:=tokencode generator compatible with RSA SecurID 128-bit (AES)
   URL:=http://sourceforge.net/p/stoken/
   DEPENDS:= +libxml2 +libnettle
 endef
index fbdac53d9b38f329156fbca5fc602bffa7fac84f..d3d2b33d390ad0123aff9ed6c379638101257e21 100644 (file)
@@ -8,14 +8,15 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ttyd
-PKG_VERSION:=1.3.1
+PKG_VERSION:=1.3.2+git-f60398
 PKG_RELEASE:=1
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_PROTO:=git
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
 PKG_SOURCE_URL:=https://github.com/tsl0922/ttyd.git
-PKG_SOURCE_VERSION:=$(PKG_VERSION)
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE_VERSION:=f60398fb0976d5a682f2a28c2e8f8b90ec1c4c2c
+PKG_MIRROR_HASH=687499f46471f018aadce1d71c72de8a7fdd2ea04b926d8eb9eaeb747e1f4388
 
 PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=LICENSE