Merge pull request #4079 from antonlacon/sqlite3-3.17.x
authorchamptar <champetier.etienne@gmail.com>
Wed, 1 Mar 2017 00:59:59 +0000 (16:59 -0800)
committerGitHub <noreply@github.com>
Wed, 1 Mar 2017 00:59:59 +0000 (16:59 -0800)
sqlite: update to 3.17.0

44 files changed:
fonts/dejavu-fonts-ttf/Makefile
lang/php7/Makefile
lang/python-psycopg2/Makefile
libs/boost/Makefile
libs/boost/patches/02_fix_libc_regression_execution_monitor.patch [new file with mode: 0644]
libs/icu/Makefile
multimedia/youtube-dl/Makefile
net/adblock/Makefile
net/adblock/files/README.md
net/adblock/files/adblock.init
net/adblock/files/adblock.sh
net/addrwatch/Makefile
net/addrwatch/files/addrwatch.init
net/aria2/Config.in
net/aria2/Makefile
net/bitlbee/Makefile
net/fping/Makefile
net/knot/Makefile
net/knot/patches/04_cookies_big_endian.patch [deleted file]
net/lighttpd/Makefile
net/lighttpd/patches/0001-mod_cgi-fix-CGI-local-redir-w-url.rewrite-once-fixes.patch [new file with mode: 0644]
net/openssh/Makefile
net/pptpd/files/pptpd.init
net/unbound/Makefile
net/unbound/files/root.key
net/unbound/files/unbound.sh
net/unbound/patches/001-conf.patch
net/wireguard/Makefile
net/wireguard/files/wireguard.sh
utils/collectd/Makefile
utils/cryptodev-linux/Makefile
utils/luci-app-lxc/Makefile [deleted file]
utils/luci-app-lxc/files/controller/lxc.lua [deleted file]
utils/luci-app-lxc/files/lxc.config [deleted file]
utils/luci-app-lxc/files/model/cbi/lxc.lua [deleted file]
utils/luci-app-lxc/files/view/lxc.htm [deleted file]
utils/luci-app-lxc/files/www/luci-static/resources/cbi/green.gif [deleted file]
utils/luci-app-lxc/files/www/luci-static/resources/cbi/purple.gif [deleted file]
utils/luci-app-lxc/files/www/luci-static/resources/cbi/red.gif [deleted file]
utils/mksh/Makefile
utils/mksh/patches/100-dot_mkshrc
utils/nano/Makefile
utils/vim/Makefile
utils/vim/patches/001-compile.patch [deleted file]

index 7a0885c91ba5a515c8c3d615fd58e363b5a7acb8..76bb48c1d95f79dfa724a31a0d3811bc02d4cc4e 100644 (file)
@@ -13,6 +13,9 @@ PKG_RELEASE:=1
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=@SF/dejavu
 PKG_HASH:=fa9ca4d13871dd122f61258a80d01751d603b4d3ee14095d65453b4e846e17d7
+PKG_LICENSE:=Bitstream-Vera-Fonts-Copyright Arev-Fonts-Copyright Public-Domain 
+PKG_LICENSE_FILES:=LICENSE
+PKG_MAINTAINER:=Mirko Vogt <mirko-dev@nanl.de>
 
 include $(INCLUDE_DIR)/package.mk
 
index 6cd2bebd2e6e1f776101793d3704fccfc0e0a041..188da1f4964e9edbc8acd01a0af63922e6060379 100644 (file)
@@ -6,7 +6,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=php
-PKG_VERSION:=7.1.1
+PKG_VERSION:=7.1.2
 PKG_RELEASE:=1
 
 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:=65eef256f6e7104a05361939f5e23ada
-PKG_HASH:=b3565b0c1441064eba204821608df1ec7367abff881286898d900c2c2a5ffe70
+PKG_MD5SUM:=d79afea1870277c86fac903566fb6c5d
+PKG_HASH:=d815a0c39fd57bab1434a77ff0610fb507c22f790c66cd6f26e27030c4b3e971
 
 PKG_FIXUP:=libtool autoreconf
 PKG_BUILD_PARALLEL:=1
index cf7ada88d05746ad5e770020d89acb7ccc82196b..96817a4a3b4bf19e956d285b1834a4fe4ac738eb 100644 (file)
@@ -19,7 +19,7 @@ PKG_SOURCE_URL:=http://initd.org/psycopg/tarballs/PSYCOPG-2-6/
 PKG_MD5SUM:=4a392949ba31a378a18ed3e775a4693f
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/psycopg2-$(PKG_VERSION)
-PKG_BUILD_DEPENDS:=python libpq python-setuptools
+PKG_BUILD_DEPENDS:=python libpq python/host
 
 include $(INCLUDE_DIR)/package.mk
 $(call include_mk, python-package.mk)
index 45e9c6282bb6db898051f461b0078784d92f64bb..56d31d4325827ede7ca55f0e4a3fc9a558cdbe6b 100644 (file)
@@ -18,7 +18,7 @@ include $(INCLUDE_DIR)/target.mk
 PKG_NAME:=boost
 PKG_VERSION:=1.63.0
 PKG_SOURCE_VERSION:=1_63_0
-PKG_RELEASE:=1
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)_$(PKG_SOURCE_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://sourceforge.net/projects/boost/files/boost/$(PKG_VERSION)
@@ -56,6 +56,14 @@ Boost is a set of free, peer-reviewed, portable C++ source libraries.
 | - Boost.Locale                                                            |
 | - Boost.Coroutine2                                                        |
 | - Boost.Fiber                                                             |
+| Also, due to hardware contraints, the following libs and those that are   |
+|   dependent, are disabled for some Targets.                               |
+| - Boost.Context                                                           |
+|   - Disabled for -> avr32, octeon and netlogic.                           |
+| - Boost.Fiber                                                             |
+|   - Disabled for -> ar7, rb532, brcm63xx.smp, brcm63xx, brcm47xx,         |
+|                     brcm47xx.legacy, brcm2708_bcm2708, au1000, ath25,     |
+|                     adm8668 and adm5120.                                  |
 -----------------------------------------------------------------------------
 
 This package provides the following run-time libraries:
@@ -64,11 +72,11 @@ This package provides the following run-time libraries:
  - container
  - context
  - coroutine (Deprecated - use Coroutine2)
- - - coroutine2 (Requires GCC v5 and up)
+ - - coroutine2 (Requires GCC v5 or newer)
  - date_time
  - exception
  - filesystem
- - fiber (Requires GCC v5 and up)
+ - fiber (Requires GCC v5 or newer)
  - graph
  - - graph-parallel
  - iostreams
@@ -227,34 +235,69 @@ define Package/boost/config
                config boost-libs-all
                        bool "Include all Boost libraries."
                        default m if ALL
-                       select PACKAGE_boost-libs
-                       select boost-test-pkg
-                       select boost-coroutine2
-                       select boost-graph-parallel
+                       select PACKAGE_boost-container
+                       select PACKAGE_boost-date_time
+                       select PACKAGE_boost-iostreams
+                       select PACKAGE_boost-math
+                       select PACKAGE_boost-program_options
+                       select PACKAGE_boost-serialization
+                       select PACKAGE_boost-signals
+                       select PACKAGE_boost-regex
+                       select PACKAGE_boost-graph if PACKAGE_boost-regex
+                       select PACKAGE_boost-system
+                       select PACKAGE_boost-atomic if PACKAGE_boost-system
+                       select PACKAGE_boost-chrono if PACKAGE_boost-system
+                       select PACKAGE_boost-random if PACKAGE_boost-system
+                       select PACKAGE_boost-filesystem if PACKAGE_boost-system
+                       select PACKAGE_boost-locale if PACKAGE_boost-system
+                       select PACKAGE_boost-timer if PACKAGE_boost-chrono
+                       select PACKAGE_boost-thread if PACKAGE_boost-chrono&&PACKAGE_boost-atomic
+                       select PACKAGE_boost-context if PACKAGE_boost-chrono&&PACKAGE_boost-thread
+                       select PACKAGE_boost-coroutine if PACKAGE_boost-context
+                       select PACKAGE_boost-fiber if boost-coroutine2
+                       select PACKAGE_boost-log if PACKAGE_boost-chrono&&PACKAGE_boost-date_time&&PACKAGE_boost-thread&&PACKAGE_boost-filesystem&&PACKAGE_boost-regex
+                       select PACKAGE_boost-wave if PACKAGE_boost-date_time&&PACKAGE_boost-thread&&PACKAGE_boost-filesystem
+                       select PACKAGE_boost-python
+                       select PACKAGE_boost-python3
+                       select boost-test-pkg if PACKAGE_boost-system&&PACKAGE_boost-timer
+                       select boost-coroutine2 if PACKAGE_boost-coroutine
+                       select boost-graph-parallel if PACKAGE_boost-graph
+                       
 
                config boost-test-pkg
+                       depends on PACKAGE_boost-system&&PACKAGE_boost-timer
                        bool "Boost test package."
                        default m if ALL
                        select PACKAGE_boost-test
 
                config boost-coroutine2
-                       depends on !@GCC_VERSION_4_8
+                       depends on !@GCC_VERSION_4_8&&PACKAGE_boost-coroutine
                        bool "Boost couroutine2 support."
-                       select PACKAGE_boost-coroutine
-                       default n
+                       default m if ALL
 
                config boost-graph-parallel
+                       depends on PACKAGE_boost-graph
                        bool "Boost parallel graph support."
-                       select PACKAGE_boost-graph
-                       default n
+                       default m if ALL
 
                $(foreach lib,$(BOOST_LIBS), \
                        config PACKAGE_boost-$(lib)
                        prompt "Boost $(lib) library."
                        default m if ALL
-                       $(if $(findstring locale,$(lib)),depends on BUILD_NLS,)\
+                       $(if $(findstring graph,$(lib)),depends on PACKAGE_boost-regex,)\
+                       $(if $(findstring atomic,$(lib)),depends on PACKAGE_boost-system,)\
+                       $(if $(findstring chrono,$(lib)),depends on PACKAGE_boost-system,)\
+                       $(if $(findstring random,$(lib)),depends on PACKAGE_boost-system,)\
+                       $(if $(findstring filesystem,$(lib)),depends on PACKAGE_boost-system,)\
+                       $(if $(findstring locale,$(lib)),depends on PACKAGE_boost-system&&BUILD_NLS,)\
+                       $(if $(findstring timer,$(lib)),depends on PACKAGE_boost-chrono,)\
+                       $(if $(findstring thread,$(lib)),depends on PACKAGE_boost-chrono&&PACKAGE_boost-atomic,)\
+                       $(if $(findstring context,$(lib)),depends on PACKAGE_boost-chrono&&PACKAGE_boost-thread&&@(!TARGET_avr32&&!TARGET_octeon&&!TARGET_netlogic),)\
+                       $(if $(findstring coroutine,$(lib)),depends on PACKAGE_boost-context,)\
+                       $(if $(findstring fiber,$(lib)),depends on @boost-coroutine2&&@(!TARGET_ar7&&!TARGET_rb532&&!TARGET_brcm63xx_smp&&!TARGET_brcm63xx&&!TARGET_brcm47xx&&!TARGET_brcm47xx_legacy&&!TARGET_brcm2708_bcm2708&&!TARGET_au1000&&!TARGET_ath25&&!TARGET_adm8668&&!TARGET_adm5120),)\
+                       $(if $(findstring log,$(lib)),depends on PACKAGE_boost-chrono&&PACKAGE_boost-date_time&&PACKAGE_boost-thread&&PACKAGE_boost-filesystem&&PACKAGE_boost-regex,)\
+                       $(if $(findstring wave,$(lib)),depends on PACKAGE_boost-date_time&&PACKAGE_boost-thread&&PACKAGE_boost-filesystem,)\
                        $(if $(findstring python,$(lib)),depends on PACKAGE_$(lib),)
-
                )
        endmenu
 
@@ -266,14 +309,13 @@ define Package/boost-test
        $(call Package/boost/Default)
        TITLE+= (test)
        HIDDEN:=1
-       DEPENDS+=+boost-system +boost-timer
 endef
 
 define Build/Configure
 endef
 
 # 1: short name
-# 2: dependencies on other boost libraries (short name)
+# 2: dependencies on other boost libraries (short name) - Deprecated
 # 3: dependencies on other packages
 # 4: conditional/inward dependencies
 define DefineBoostLibrary
@@ -286,7 +328,7 @@ define DefineBoostLibrary
   define Package/boost-$(1)
     $(call Package/boost/Default)
     TITLE+= ($(1))
-    DEPENDS+= $$(foreach lib,$(2),+boost-$$(lib)) $(3) $(if $(4),@$(4),)
+    DEPENDS+= $(3) $(if $(4),@$(4),)
     HIDDEN:=1
   endef
 
@@ -295,32 +337,37 @@ define DefineBoostLibrary
   endef
 endef
 
-$(eval $(call DefineBoostLibrary,atomic,system,))
-$(eval $(call DefineBoostLibrary,chrono,system,))
-$(eval $(call DefineBoostLibrary,container,,))
-$(eval $(call DefineBoostLibrary,context,chrono system thread,))
-$(eval $(call DefineBoostLibrary,coroutine,system chrono context thread,))
-$(eval $(call DefineBoostLibrary,date_time,,))
-#$(eval $(call DefineBoostLibrary,exception,,))
-$(eval $(call DefineBoostLibrary,fiber,coroutine,,))
-$(eval $(call DefineBoostLibrary,filesystem,system,))
-$(eval $(call DefineBoostLibrary,graph,regex,))
-$(eval $(call DefineBoostLibrary,iostreams,,+zlib))
-$(eval $(call DefineBoostLibrary,locale,system,$(ICONV_DEPENDS),BUILD_NLS))
-$(eval $(call DefineBoostLibrary,log,system chrono date_time thread filesystem regex,))
-$(eval $(call DefineBoostLibrary,math,,))
-#$(eval $(call DefineBoostLibrary,mpi,,)) # OpenMPI does no exist in OpenWRT at this time.
-$(eval $(call DefineBoostLibrary,program_options,,))
+
+## If you are thinking in making changes to the following list, for some reason, the order of what follows matters.
+$(eval $(call DefineBoostLibrary,container,,,))
+$(eval $(call DefineBoostLibrary,date_time,,,))
+$(eval $(call DefineBoostLibrary,iostreams,,+zlib,))
+$(eval $(call DefineBoostLibrary,math,,,))
+$(eval $(call DefineBoostLibrary,program_options,,,))
+$(eval $(call DefineBoostLibrary,serialization,,,))
+$(eval $(call DefineBoostLibrary,signals,,,))
+
+$(eval $(call DefineBoostLibrary,regex,,,))
+$(eval $(call DefineBoostLibrary,graph,,,))
+
+$(eval $(call DefineBoostLibrary,system,,,))
+$(eval $(call DefineBoostLibrary,atomic,,,))
+$(eval $(call DefineBoostLibrary,chrono,,,))
+$(eval $(call DefineBoostLibrary,random,,,))
+$(eval $(call DefineBoostLibrary,filesystem,,,))
+$(eval $(call DefineBoostLibrary,locale,,$(ICONV_DEPENDS),BUILD_NLS))
+$(eval $(call DefineBoostLibrary,timer,,,))
+$(eval $(call DefineBoostLibrary,thread,,,))
+$(eval $(call DefineBoostLibrary,context,,,))
+$(eval $(call DefineBoostLibrary,coroutine,,,))
+$(eval $(call DefineBoostLibrary,fiber,,,))
+$(eval $(call DefineBoostLibrary,log,,,))
+$(eval $(call DefineBoostLibrary,wave,,,))
 $(eval $(call DefineBoostLibrary,python,,,PACKAGE_python))
 $(eval $(call DefineBoostLibrary,python3,,,PACKAGE_python3))
-$(eval $(call DefineBoostLibrary,random,system,))
-$(eval $(call DefineBoostLibrary,regex,,))
-$(eval $(call DefineBoostLibrary,serialization,,))
-$(eval $(call DefineBoostLibrary,signals,,))
-$(eval $(call DefineBoostLibrary,system,,))
-$(eval $(call DefineBoostLibrary,thread,system chrono atomic,))
-$(eval $(call DefineBoostLibrary,timer,chrono))
-$(eval $(call DefineBoostLibrary,wave,date_time thread filesystem,))
+
+#$(eval $(call DefineBoostLibrary,mpi,,)) # OpenMPI does no exist in OpenWRT at this time.
+#$(eval $(call DefineBoostLibrary,exception,,))
 
 
 define Host/Compile
@@ -332,8 +379,6 @@ CONFIGURE_PREFIX:=$(PKG_INSTALL_DIR)
 TARGET_LDFLAGS += -pthread -lrt
 
 TARGET_CFLAGS += \
-       $(if $(CONFIG_PACKAGE_boost-python), -I$(STAGING_DIR)/usr/include/python2.7/) \
-       $(if $(CONFIG_PACKAGE_boost-python3), -I$(STAGING_DIR)/usr/include/python3.5/) \
        $(if $(CONFIG_SOFT_FLOAT),-DBOOST_NO_FENV_H) -fPIC
 
 EXTRA_CXXFLAGS += $(if $(CONFIG_GCC_VERSION_4_8),-std=gnu++11,-std=gnu++14)
@@ -353,16 +398,17 @@ endif
 
 comma := ,
 
+
 define Build/Compile
        $(info Selected Boost API $(BOOST_ABI) for architecture $(ARCH) and cpu $(CPU_TYPE) $(CPU_SUBTYPE))
        ( cd $(PKG_BUILD_DIR) ; \
                echo "using gcc : $(ARCH) : $(GNU_TARGET_NAME)-gcc : <compileflags>\"$(TARGET_CFLAGS)\" <cxxflags>\"$(TARGET_CXXFLAGS) $(EXTRA_CXXFLAGS)\" <linkflags>\"$(TARGET_LDFLAGS)\" ;" > tools/build/src/user-config.jam ; \
                $(if $(CONFIG_PACKAGE_boost-python3), \
-                       echo "using python : 3.5 : $(STAGING_DIR_ROOT)/usr/bin/python3 : $(STAGING_DIR)/usr/include/python3.5/ ;" >> \
+                       echo "using python : 3.6 : : $(STAGING_DIR)/usr/include/python3.6/ ;" >> \
                                tools/build/src/user-config.jam; \
                ) \
                $(if $(CONFIG_PACKAGE_boost-python), \
-                       echo "using python : 2.7 : $(STAGING_DIR_ROOT)/usr/bin/python : $(STAGING_DIR)/usr/include/python2.7/ ;" >> \
+                       echo "using python : 2.7 : : $(STAGING_DIR)/usr/include/python2.7/ ;" >> \
                                tools/build/src/user-config.jam; \
                ) \
                b2 \
@@ -392,6 +438,8 @@ define Build/Compile
                                        $(if $(or $(CONFIG_PACKAGE_boost-python),$(CONFIG_PACKAGE_boost-python3)),,--without-python), \
                                        $(if $(CONFIG_PACKAGE_boost-$(lib)),,--without-$(lib))) \
                        ) \
+                       $(if $(CONFIG_PACKAGE_boost-python),python=2.7,) \
+                       $(if $(CONFIG_PACKAGE_boost-python3),python=3.6,) \
                        $(if $(CONFIG_PACKAGE_boost-locale),boost.locale.iconv=on -sICONV_PATH=$(ICONV_PREFIX) boost.locale.posix=$(if $(USE_MUSL),on,off), \
                                boost.locale.iconv=off) \
                        \
diff --git a/libs/boost/patches/02_fix_libc_regression_execution_monitor.patch b/libs/boost/patches/02_fix_libc_regression_execution_monitor.patch
new file mode 100644 (file)
index 0000000..2c7533c
--- /dev/null
@@ -0,0 +1,22 @@
+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 4c232cabe1a2f2fc9399094685c53e1750c923e9..58234d415c5491b63c013d46056a78d62180568b 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=icu4c
 PKG_VERSION:=58.2
-PKG_RELEASE:=4
+PKG_RELEASE:=5
 
 PKG_SOURCE:=$(PKG_NAME)-58_2-src.tgz
 PKG_SOURCE_URL:=http://download.icu-project.org/files/$(PKG_NAME)/$(PKG_VERSION)
@@ -79,19 +79,15 @@ HOST_CONFIGURE_ARGS:= \
        --prefix=$(STAGING_DIR_HOSTPKG)
 
 define Build/InstallDev
-       $(INSTALL_DIR) \
-               $(1)/usr/include
-
-       $(CP) \
-               $(PKG_INSTALL_DIR)/usr/include/* \
-               $(1)/usr/include/
-
-       $(INSTALL_DIR) \
-               $(1)/usr/lib
-
-       $(CP) \
-               $(PKG_INSTALL_DIR)/usr/lib/* \
-               $(1)/usr/lib/
+       $(INSTALL_DIR) $(1)/usr/include
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_DIR) $(2)/bin
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/icu-config $(1)/usr/bin/
+       $(SED) 's,^\(prefix\|execprefix\)=.*,\1=$(STAGING_DIR)/usr,g' $(1)/usr/bin/icu-config
+       $(LN) $(STAGING_DIR)/usr/bin/icu-config $(2)/bin/
 endef
 
 define Host/Install
@@ -105,12 +101,8 @@ define Host/Install
 endef
 
 define Package/icu/install
-       $(INSTALL_DIR) \
-               $(1)/usr/lib
-
-       $(CP) \
-               $(PKG_INSTALL_DIR)/usr/lib/*.so* \
-               $(1)/usr/lib/
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
 endef
 
 $(eval $(call BuildPackage,icu))
index a510a7e44f74d5f7e77cc2ae4a9f2961e7597422..6433079f947236931b8da310dbf7e3bad4f9ece8 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=youtube-dl
-PKG_VERSION:=2016.11.27
+PKG_VERSION:=2017.02.17
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://yt-dl.org/downloads/$(PKG_VERSION)/
-PKG_MD5SUM:=2bb2c4ebf5335d69e03e32a0309abfba
+PKG_MD5SUM:=d38dbe099af22eb9af35b0e8b274dc4e
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
 
 PKG_LICENSE:=Unlicense
index a10fcd4c820c2a99be49f237f7028b4562d91076..9c7f746b8fdc5cfeaaa08660411d7b44e7cc754c 100644 (file)
@@ -6,8 +6,8 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=adblock
-PKG_VERSION:=2.3.1
-PKG_RELEASE:=1
+PKG_VERSION:=2.4.0
+PKG_RELEASE:=2
 PKG_LICENSE:=GPL-3.0+
 PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
 
index 62732e9075d0bf28888dbff583b94be094cc8b48..172551f5cdac76f0bbdf76818265c5ebae26aac4 100644 (file)
@@ -57,6 +57,7 @@ A lot of people already use adblocker plugins within their desktop browsers, but
 * automatically selects uclient-fetch or wget as download utility (other tools like curl or aria2c are supported as well)
 * 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
 * each block list source will be updated and processed separately
 * block list source parsing by fast & flexible regex rulesets
 * overall duplicate removal in separate block lists
@@ -120,6 +121,7 @@ A lot of people already use adblocker plugins within their desktop browsers, but
     * adb\_iface => restrict the procd interface trigger to a (list of) certain wan interface(s) or disable it at all (default: not set, disabled)
     * 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\_tldcomp => enable/disable tld compression (default: '1', enabled)
 
 ## Examples
 
@@ -136,19 +138,19 @@ If you use manual configuration for unbound, then just include the following lin
 <pre><code>
 wget (default):
   option adb_fetch="/usr/bin/wget"
-  option adb_fetchparm="--no-config --quiet --tries=1 --no-cache --no-cookies --max-redirect=0 --timeout=5 --no-check-certificate -O"
+  option adb_fetchparm="--no-config --quiet --no-cache --no-cookies --max-redirect=0 --timeout=10 --no-check-certificate -O"
 
 aria2c:
   option adb_fetch '/usr/bin/aria2c'
-  option adb_fetchparm '-q --max-tries=1 --timeout=5 --allow-overwrite=true --auto-file-renaming=false --check-certificate=false -o'
+  option adb_fetchparm '-q --timeout=10 --allow-overwrite=true --auto-file-renaming=false --check-certificate=false -o'
 
 uclient-fetch:
   option adb_fetch '/bin/uclient-fetch'
-  option adb_fetchparm '-q --timeout=5 --no-check-certificate -O'
+  option adb_fetchparm '-q --timeout=10 --no-check-certificate -O'
 
 curl:
   option adb_fetch '/usr/bin/curl'
-  option adb_fetchparm '-s --retry 1 --connect-timeout 5 --insecure -o'
+  option adb_fetchparm '-s --connect-timeout 10 --insecure -o'
 </code></pre>
   
 **receive adblock statistics via ubus:**
index 7c4a91c1c4a8e7f10e8ae883a95ebf5ce49836a4..cf8a57b1516ba2f9bd0327f97816fd508dd1c9e4 100755 (executable)
@@ -37,7 +37,6 @@ start_service()
     if [ $(/etc/init.d/adblock enabled; printf ${?}) -eq 0 ]
     then
         procd_open_instance "adblock"
-        procd_set_param env adb_procd="true"
         procd_set_param command "${adb_script}" "${@}"
         procd_set_param stdout 1
         procd_set_param stderr 1
@@ -52,7 +51,6 @@ reload_service()
 
 stop_service()
 {
-    export adb_procd="true"
     rc_procd "${adb_script}" stop
 }
 
@@ -73,7 +71,6 @@ resume()
 
 query()
 {
-    export adb_procd="true"
     rc_procd "${adb_script}" query "${1}"
 }
 
@@ -81,8 +78,6 @@ service_triggers()
 {
     local iface="$(uci -q get adblock.global.adb_iface)"
 
-    procd_open_trigger
-    procd_add_config_trigger "config.change" "adblock" /etc/init.d/adblock start
     if [ -z "${iface}" ]
     then
         procd_add_raw_trigger "interface.*.up" 1000 /etc/init.d/adblock start
@@ -92,5 +87,5 @@ service_triggers()
             procd_add_interface_trigger "interface.*.up" "${name}" /etc/init.d/adblock start
         done
     fi
-    procd_close_trigger
+    procd_add_config_trigger "config.change" "adblock" /etc/init.d/adblock start
 }
index c25541979c2fdcfbeddbc6baf80eb2c2ae315727..a470d0bf7e0c82ddd29acacd6b5f8467f2989668 100755 (executable)
 #
 LC_ALL=C
 PATH="/usr/sbin:/usr/bin:/sbin:/bin"
-adb_ver="2.3.1"
+adb_ver="2.4.0-2"
 adb_enabled=1
 adb_debug=0
 adb_backup=0
+adb_tldcomp=1
 adb_backupdir="/mnt"
 adb_whitelist="/etc/adblock/adblock.whitelist"
 adb_whitelist_rset="\$1 ~/^([A-Za-z0-9_-]+\.){1,}[A-Za-z]+/{print tolower(\"^\"\$1\"\\\|[.]\"\$1)}"
@@ -169,9 +170,12 @@ f_envcheck()
 #
 f_rmtemp()
 {
-    rm -f "${adb_tmpload}"
-    rm -f "${adb_tmpfile}"
-    rm -rf "${adb_tmpdir}"
+    if [ -d "${adb_tmpdir}" ]
+    then
+        rm -f "${adb_tmpload}"
+        rm -f "${adb_tmpfile}"
+        rm -rf "${adb_tmpdir}"
+    fi
 }
 
 # f_rmdns: remove dns related files & directories
@@ -321,7 +325,11 @@ f_log()
         then
             logger -t "adblock-[${adb_ver}] ${class}" "Please check the online documentation 'https://github.com/openwrt/packages/blob/master/net/adblock/files/README.md'"
             f_rmtemp
-            f_rmdns
+            if [ "$(ls -dA "${adb_dnsdir}/${adb_dnsprefix}"* >/dev/null 2>&1)" ]
+            then
+                f_rmdns
+                f_dnsrestart
+            fi
             exit 255
         fi
     fi
@@ -331,9 +339,10 @@ f_log()
 #
 f_main()
 {
-    local enabled url cnt sum_cnt=0
-    local src_name src_rset shalla_file shalla_archive list active_lists
+    local enabled url cnt sum_cnt=0 mem_total=0
+    local src_name src_rset shalla_archive list active_lists
     local sysver="$(ubus -S call system board | jsonfilter -e '@.release.description')"
+    mem_total="$(awk '$1 ~ /^MemTotal/ {printf $2}' "/proc/meminfo" 2>/dev/null)"
 
     f_log "info " "start adblock processing ..."
     for src_name in ${adb_sources}
@@ -356,7 +365,7 @@ f_main()
 
         # download block list
         #
-        f_log "debug" "name: ${src_name}, enabled: ${enabled}, backup: ${adb_backup}, dns: ${adb_dns}, fetch: ${adb_fetch}"
+        f_log "debug" "name: ${src_name}, enabled: ${enabled}, backup: ${adb_backup}, dns: ${adb_dns}, fetch: ${adb_fetch}, memory: ${mem_total}"
         if [ "${src_name}" = "blacklist" ]
         then
             cat "${url}" 2>/dev/null > "${adb_tmpload}"
@@ -364,23 +373,19 @@ f_main()
         elif [ "${src_name}" = "shalla" ]
         then
             shalla_archive="${adb_tmpdir}/shallalist.tar.gz"
-            shalla_file="${adb_tmpdir}/shallalist.txt"
             "${adb_fetch}" ${adb_fetchparm} "${shalla_archive}" "${url}" 2>/dev/null
             adb_rc=${?}
             if [ ${adb_rc} -eq 0 ]
             then
-                > "${shalla_file}"
                 for category in ${adb_src_cat_shalla}
                 do
-                    tar -xOzf "${shalla_archive}" BL/${category}/domains >> "${shalla_file}"
+                    tar -xOzf "${shalla_archive}" BL/${category}/domains >> "${adb_tmpload}"
                     adb_rc=${?}
                     if [ ${adb_rc} -ne 0 ]
                     then
                         break
                     fi
                 done
-                cat "${shalla_file}" 2>/dev/null > "${adb_tmpload}"
-                rm -f "${shalla_file}"
             fi
             rm -f "${shalla_archive}"
             rm -rf "${adb_tmpdir}/BL"
@@ -389,13 +394,22 @@ f_main()
             adb_rc=${?}
         fi
 
-        # check download result and prepare domain output (incl. list backup/restore)
+        # check download result and prepare domain output (incl. tld compression, list backup & restore)
         #
         if [ ${adb_rc} -eq 0 ] && [ -s "${adb_tmpload}" ]
         then
             awk "${src_rset}" "${adb_tmpload}" > "${adb_tmpfile}"
             if [ -s "${adb_tmpfile}" ]
             then
+                if [ ${adb_tldcomp} -eq 1 ]
+                then
+                    awk -F "." '{for(f=NF;f > 1;f--) printf "%s.", $f;print $1}' "${adb_tmpfile}" | sort -u > "${adb_tmpload}"
+                    awk '{if(NR==1){tld=$NF};while(getline){if($NF !~ tld"\\."){print tld;tld=$NF}}print tld}' "${adb_tmpload}" > "${adb_tmpfile}"
+                    awk -F "." '{for(f=NF;f > 1;f--) printf "%s.", $f;print $1}' "${adb_tmpfile}" > "${adb_tmpload}"
+                else
+                    sort -u "${adb_tmpfile}" > "${adb_tmpload}"
+                fi
+                mv -f "${adb_tmpload}" "${adb_tmpfile}"
                 f_list backup
             else
                 f_list restore
@@ -410,9 +424,9 @@ f_main()
         then
             if [ -s "${adb_tmpdir}/tmp.whitelist" ]
             then
-                grep -vf "${adb_tmpdir}/tmp.whitelist" "${adb_tmpfile}" | sort -u | eval "${adb_dnsformat}" > "${adb_dnsfile}"
+                grep -vf "${adb_tmpdir}/tmp.whitelist" "${adb_tmpfile}" | eval "${adb_dnsformat}" > "${adb_dnsfile}"
             else
-                sort -u "${adb_tmpfile}" | eval "${adb_dnsformat}" > "${adb_dnsfile}"
+                cat "${adb_tmpfile}" | eval "${adb_dnsformat}" > "${adb_dnsfile}"
             fi
             adb_rc=${?}
             if [ ${adb_rc} -ne 0 ]
@@ -424,16 +438,19 @@ f_main()
         fi
     done
 
-    # sort/unique overall
+    # overall sort
     #
     for src_name in $(ls -dASr "${adb_tmpdir}/${adb_dnsprefix}"* 2>/dev/null)
     do
-        if [ -s "${adb_tmpdir}/blocklist.overall" ]
+        if [ ${mem_total} -ge 64000 ]
         then
-            sort "${adb_tmpdir}/blocklist.overall" "${adb_tmpdir}/blocklist.overall" "${src_name}" | uniq -u > "${adb_tmpdir}/tmp.blocklist"
-            cat "${adb_tmpdir}/tmp.blocklist" > "${src_name}"
+            if [ -s "${adb_tmpdir}/blocklist.overall" ]
+            then
+                sort "${adb_tmpdir}/blocklist.overall" "${adb_tmpdir}/blocklist.overall" "${src_name}" | uniq -u > "${adb_tmpdir}/tmp.blocklist"
+                mv -f "${adb_tmpdir}/tmp.blocklist" "${src_name}"
+            fi
+            cat "${src_name}" >> "${adb_tmpdir}/blocklist.overall"
         fi
-        cat "${src_name}" >> "${adb_tmpdir}/blocklist.overall"
         cnt="$(wc -l < "${src_name}")"
         sum_cnt=$((sum_cnt + cnt))
         list="${src_name/*./}"
@@ -449,6 +466,7 @@ f_main()
     #
     mv -f "${adb_tmpdir}/${adb_dnsprefix}"* "${adb_dnsdir}" 2>/dev/null
     chown "${adb_dns}":"${adb_dns}" "${adb_dnsdir}/${adb_dnsprefix}"* 2>/dev/null
+    f_rmtemp
     f_dnsrestart
     if [ "${adb_dnsup}" = "true" ]
     then
@@ -461,7 +479,6 @@ f_main()
             \"dns_backend\":\"${adb_dns}\",
             \"last_rundate\":\"$(/bin/date "+%d.%m.%Y %H:%M:%S")\",
             \"system\":\"${sysver}\"}}}}"
-        f_rmtemp
         return 0
     fi
     f_log "error" "dns backend restart with active block lists failed (${sysver})"
@@ -469,34 +486,31 @@ f_main()
 
 # handle different adblock actions
 #
-if [ "${adb_procd}" = "true" ]
-then
-    f_envload
-    case "${1}" in
-        stop)
-            f_rmtemp
-            f_rmdns
-            f_dnsrestart
-            ;;
-        restart)
-            f_rmtemp
-            f_rmdns
-            f_envcheck
-            f_main
-            ;;
-        suspend)
-            f_switch suspend
-            ;;
-        resume)
-            f_switch resume
-            ;;
-        query)
-            f_query "${2}"
-            ;;
-        *)
-            f_envcheck
-            f_main
-            ;;
-    esac
-fi
+f_envload
+case "${1}" in
+    stop)
+        f_rmtemp
+        f_rmdns
+        f_dnsrestart
+        ;;
+    restart)
+        f_rmtemp
+        f_rmdns
+        f_envcheck
+        f_main
+        ;;
+    suspend)
+        f_switch suspend
+        ;;
+    resume)
+        f_switch resume
+        ;;
+    query)
+        f_query "${2}"
+        ;;
+    *)
+        f_envcheck
+        f_main
+        ;;
+esac
 exit 0
index aadac26612c2420e149c07aae09f9a28cd2bd3eb..2bba0829dc96d07f8d4e96f3ec6156e54ae054f9 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=addrwatch
 PKG_VERSION:=0.8
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-master.tar.gz
 PKG_SOURCE_URL:=https://github.com/fln/addrwatch/releases/download/$(PKG_VERSION)/
@@ -46,7 +46,7 @@ define Package/addrwatch/install
        $(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/config $(1)/etc/init.d
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/addrwatch $(1)/usr/sbin/
        $(INSTALL_BIN) ./files/addrwatch.init $(1)/etc/init.d/addrwatch
-       $(INSTALL_CONF) ./files/addrwatch.config $(1)/etc/config/addrwatch$
+       $(INSTALL_CONF) ./files/addrwatch.config $(1)/etc/config/addrwatch
 endef
 
 $(eval $(call BuildPackage,addrwatch))
index c7cbbfe1b1da0f7e55f28baa6b2d575074950b2d..fb0ea469163ea8c01bfb72f94caf74973144c365 100644 (file)
@@ -4,8 +4,6 @@
 START=50
 USE_PROCD=1
 
-. /lib/functions/network.sh
-
 validate_section_addrwatch() {
        uci_validate_section addrwatch addrwatch "${1}" \
                'disabled:bool:0' \
@@ -65,6 +63,7 @@ start_instance() {
 }
 
 start_service() {
+       . /lib/functions/network.sh
        config_load 'addrwatch'
        config_foreach start_instance 'addrwatch'
 }
index b0d7309d33c00320aeda1d65ff94a688426282e6..2f0443993f052ada1cba15b49ffb2b7c419876e2 100644 (file)
@@ -1,8 +1,8 @@
-menu "Aria2 configuration"
+menu "Aria2 Configuration"
        depends on PACKAGE_aria2
 
 choice
-       prompt "SSL library"
+       prompt "SSL Library"
        default ARIA2_OPENSSL
 
 config ARIA2_OPENSSL
@@ -12,34 +12,42 @@ config ARIA2_GNUTLS
        bool "GNUTLS"
 
 config ARIA2_NOSSL
-       bool "No SSL support"
+       bool "No SSL Support"
 
 endchoice
 
 config ARIA2_BITTORRENT
-       bool "Enable bittorrent support"
+       bool "Enable Bittorrent Support"
        depends on ARIA2_OPENSSL
        default n
 
-config ARIA2_METALINK
-       bool "Enable metalink support"
-       default n
-
 config ARIA2_SFTP
-        bool "Enable sftp support"
+        bool "Enable SFTP Support"
         default n
 
+config ARIA2_ASYNC_DNS
+       bool "Enable Async DNS Support"
+       default n
+
+config ARIA2_COOKIE
+       bool "Enable Firefox3/Chromium Cookie Support"
+       default n
+
+config ARIA2_METALINK
+       bool "Enable Metalink Support"
+       default n
+
 choice
-       prompt "XML library"
-       default ARIA2_EXPAT
+       prompt "XML Library"
+       default ARIA2_LIBXML2
        depends on ARIA2_METALINK
 
+config ARIA2_LIBXML2
+        bool "LIBXML2"
+
 config ARIA2_EXPAT
        bool "EXPAT"
 
-config ARIA2_LIBXML2
-       bool "LIBXML2"
-
 endchoice
 
 endmenu
index a96d4b86c42884b7e4035b1b571bf40441c8095c..1ad16fa9d15be9159f2f02926dfafbadeabd92a6 100644 (file)
@@ -7,12 +7,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=aria2
-PKG_VERSION:=1.30.0
+PKG_VERSION:=1.31.0
 PKG_RELEASE:=1
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://github.com/aria2/aria2/releases/download/release-$(PKG_VERSION)/
-PKG_MD5SUM:=8c22f569d3fb9e42c5fd9a95173b9b5f
+PKG_HASH:=7b85619048b23406f241e38a5b1b8b0bc2cae9e80fd117810c2a71ecca813f8c
 PKG_INSTALL:=1
 
 PKG_MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>, Hsing-Wang Liao <kuoruan@gmail.com>
@@ -24,8 +24,10 @@ PKG_CONFIG_DEPENDS := \
   ARIA2_OPENSSL \
   ARIA2_GNUTLS \
   ARIA2_BITTORRENT \
-  ARIA2_METALINK \
   ARIA2_SFTP \
+  ARIA2_ASYNC_DNS \
+  ARIA2_COOKIE \
+  ARIA2_METALINK \
   ARIA2_EXPAT \
   ARIA2_LIBXML2
 
@@ -41,7 +43,7 @@ define Package/aria2
   SUBMENU:=File Transfer
   TITLE:=lightweight download utility
   URL:=https://aria2.github.io/
-  DEPENDS:=+zlib +ARIA2_SFTP:libssh2 +ARIA2_LIBXML2:libxml2 +ARIA2_EXPAT:libexpat +libstdcpp +ARIA2_OPENSSL:libopenssl +ARIA2_GNUTLS:libgnutls
+  DEPENDS:=+zlib +libstdcpp +ARIA2_SFTP:libssh2 +ARIA2_ASYNC_DNS:libcares +ARIA2_COOKIE:libsqlite3 +ARIA2_LIBXML2:libxml2 +ARIA2_EXPAT:libexpat +ARIA2_OPENSSL:libopenssl +ARIA2_GNUTLS:libgnutls
 endef
 
 define Package/aria2/description
@@ -52,19 +54,19 @@ endef
 CONFIGURE_ARGS += \
        --disable-nls \
        $(if $(CONFIG_ARIA2_NOSSL),--disable,--enable)-ssl \
-       $(if $(CONFIG_ARIA2_OPENSSL),--with,--without)-openssl \
-       $(if $(CONFIG_ARIA2_GNUTLS),--with,--without)-gnutls \
        $(if $(CONFIG_ARIA2_BITTORRENT),--enable,--disable)-bittorrent \
        $(if $(CONFIG_ARIA2_METALINK),--enable,--disable)-metalink \
+       $(if $(CONFIG_ARIA2_OPENSSL),--with,--without)-openssl \
+       $(if $(CONFIG_ARIA2_GNUTLS),--with,--without)-gnutls \
        $(if $(CONFIG_ARIA2_SFTP),--with,--without)-libssh2 \
+       $(if $(CONFIG_ARIA2_ASYNC_DNS),--with,--without)-libcares \
+       $(if $(CONFIG_ARIA2_COOKIE),--with,--without)-sqlite3 \
        $(if $(CONFIG_ARIA2_LIBXML2),--with,--without)-libxml2 \
        $(if $(CONFIG_ARIA2_EXPAT),--with,--without)-libexpat \
        --without-libnettle \
        --without-libgmp \
        --without-libgcrypt \
-       --without-libcares \
        --without-libuv \
-       --without-sqlite3 \
        --with-libz
 
 define Package/aria2/install
index 9781d8cac3ff487149dbc320075329bbc92af0aa..e144edd6bb0b9319df1e888dc01e7e1e7f7b945c 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=bitlbee
-PKG_VERSION:=3.4.2
+PKG_VERSION:=3.5.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://get.bitlbee.org/src/ \
                        http://distcache.FreeBSD.org/local-distfiles/brix/
-PKG_MD5SUM:=69c85554def74f314e3b6e390389a30b0e748f23ef37883e9d7545ee2c45ea57
+PKG_MD5SUM:=9636d7fd89ebb3756c13a9a3387736ca6d56ccf66ec0580d512f07b21db0fa69
 
 PKG_MAINTAINER:=Nikil Mehta <nikil.mehta@gmail.com>
 PKG_LICENSE:=GPL-2.0
index c8be1f3d71e23ac70cb7a4d9faa5c930ad3ffbee..99828c14cac8bbbe716d99dce084cfef54655052 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=fping
-PKG_VERSION:=3.13
+PKG_VERSION:=3.16
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://fping.org/dist/
-PKG_MD5SUM:=4bb28efd1cb3d1240ae551dadc20daa852b1ba71bafe32e49ca629c1848e5720
+PKG_MD5SUM:=2f753094e4df3cdb1d99be1687c0fb7d2f14c0d526ebf03158c8c5519bc78f54
 
 PKG_MAINTAINER:=Nikil Mehta <nikil.mehta@gmail.com>
 PKG_LICENSE:=BSD-4-Clause
index 920122a2fe577a84a222456de7e24ccd2a7c263b..b537585d00b6b793f4f6c0473d443456366a278f 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2014-2016 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+# Copyright (C) 2014-2017 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=knot
-PKG_VERSION:=2.3.0
+PKG_VERSION:=2.3.3
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://secure.nic.cz/files/knot-dns/
-PKG_MD5SUM:=7ca754f972fb07faa4f30e50d8a4385b
+PKG_HASH:=a929bce3b957a81776b1db7b43b0e4473339bf16be8dbba5abb4b0593bf43c94
 
 PKG_MAINTAINER:=Daniel Salzman <daniel.salzman@nic.cz>
 PKG_LICENSE:=GPL-3.0 LGPL-2.0 0BSD MIT OLDAP-2.8
@@ -242,7 +242,7 @@ endef
 
 define Package/knot-zonecheck/install
        $(INSTALL_DIR)                                          $(1)/usr/bin
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kzonecheck   $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/kzonecheck    $(1)/usr/bin/
 endef
 
 define Package/knot-keymgr/install
diff --git a/net/knot/patches/04_cookies_big_endian.patch b/net/knot/patches/04_cookies_big_endian.patch
deleted file mode 100644 (file)
index 6838495..0000000
+++ /dev/null
@@ -1,217 +0,0 @@
-From 84849be189c49ef9556bd84d5e5103317372e8a7 Mon Sep 17 00:00:00 2001
-From: Karel Slany <karel.slany@nic.cz>
-Date: Thu, 11 Aug 2016 11:39:39 +0200
-Subject: [PATCH] Added conversion to wire format when writing FNV64 hash
- values.
-
-Test on big-endian machines have been failing.
----
- src/libknot/cookies/alg-fnv64.c     |  6 +++---
- tests/libknot/test_cookies-client.c | 20 ++++++++++----------
- tests/libknot/test_cookies-server.c | 20 ++++++++++----------
- 3 files changed, 23 insertions(+), 23 deletions(-)
-
-diff --git a/src/libknot/cookies/alg-fnv64.c b/src/libknot/cookies/alg-fnv64.c
-index 9989a4f..5e263c1 100644
---- a/src/libknot/cookies/alg-fnv64.c
-+++ b/src/libknot/cookies/alg-fnv64.c
-@@ -17,10 +17,10 @@
- #include <assert.h>
- #include <stdint.h>
- #include <stdlib.h>
--#include <string.h>
- #include "contrib/fnv/fnv.h"
- #include "contrib/sockaddr.h"
-+#include "contrib/wire.h"
- #include "libknot/attribute.h"
- #include "libknot/cookies/alg-fnv64.h"
- #include "libknot/rrtype/opt-cookie.h"
-@@ -80,7 +80,7 @@ static uint16_t cc_gen_fnv64(const struct knot_cc_input *input,
-       assert(KNOT_OPT_COOKIE_CLNT == sizeof(hash_val));
-       cc_len = sizeof(hash_val);
--      memcpy(cc_out, &hash_val, cc_len);
-+      wire_write_u64(cc_out, hash_val);
-       return cc_len;
- }
-@@ -127,7 +127,7 @@ static uint16_t sc_gen_fnv64(const struct knot_sc_input *input,
-       assert(SRVR_FNV64_HASH_SIZE == sizeof(hash_val));
-       hash_len = sizeof(hash_val);
--      memcpy(hash_out, &hash_val, hash_len);
-+      wire_write_u64(hash_out, hash_val);
-       return hash_len;
- }
-diff --git a/tests/libknot/test_cookies-client.c b/tests/libknot/test_cookies-client.c
-index 44be903..712dbba 100644
---- a/tests/libknot/test_cookies-client.c
-+++ b/tests/libknot/test_cookies-client.c
-@@ -110,7 +110,7 @@ int main(int argc, char *argv[])
-       hash_len = knot_cc_alg_fnv64.gen_func(&cc_in, hash, hash_len);
-       ok(hash_len != 0 && hash_len == knot_cc_alg_fnv64.cc_size, "cookies: FNV64 client cookie output");
-       {
--              uint8_t expected[] = { 0x74, 0x31, 0xf9, 0xa8, 0x03, 0xef, 0x15, 0xb1 };
-+              uint8_t expected[] = { 0xb1, 0x15, 0xef, 0x03, 0xa8, 0xf9, 0x31, 0x74 };
-               ok(sizeof(expected) == hash_len && 0 == memcmp(expected, hash, hash_len), "cookies: FNV64 client cookie content");
-       }
-@@ -123,7 +123,7 @@ int main(int argc, char *argv[])
-       hash_len = knot_cc_alg_fnv64.gen_func(&cc_in, hash, hash_len);
-       ok(hash_len != 0 && hash_len == knot_cc_alg_fnv64.cc_size, "cookies: FNV64 client cookie output");
-       {
--              uint8_t expected[] = { 0x7c, 0x62, 0x25, 0xd2, 0x43, 0xdd, 0x09, 0xe7 };
-+              uint8_t expected[] = { 0xe7, 0x09, 0xdd, 0x43, 0xd2, 0x25, 0x62, 0x7c };
-               ok(sizeof(expected) == hash_len && 0 == memcmp(expected, hash, hash_len), "cookies: FNV64 client cookie content");
-       }
-@@ -136,7 +136,7 @@ int main(int argc, char *argv[])
-       hash_len = knot_cc_alg_fnv64.gen_func(&cc_in, hash, hash_len);
-       ok(hash_len != 0 && hash_len == knot_cc_alg_fnv64.cc_size, "cookies: FNV64 client cookie output");
-       {
--              uint8_t expected[] = { 0x7c, 0x62, 0x25, 0xd2, 0x43, 0xdd, 0x09, 0xe7 };
-+              uint8_t expected[] = { 0xe7, 0x09, 0xdd, 0x43, 0xd2, 0x25, 0x62, 0x7c };
-               ok(sizeof(expected) == hash_len && 0 == memcmp(expected, hash, hash_len), "cookies: FNV64 client cookie content");
-       }
-@@ -149,7 +149,7 @@ int main(int argc, char *argv[])
-       hash_len = knot_cc_alg_fnv64.gen_func(&cc_in, hash, hash_len);
-       ok(hash_len != 0 && hash_len == knot_cc_alg_fnv64.cc_size, "cookies: FNV64 client cookie output");
-       {
--              uint8_t expected[] = { 0x05, 0xa9, 0xd1, 0x08, 0x1b, 0x98, 0xe0, 0xaa };
-+              uint8_t expected[] = { 0xaa, 0xe0, 0x98, 0x1b, 0x08, 0xd1, 0xa9, 0x05 };
-               ok(sizeof(expected) == hash_len && 0 == memcmp(expected, hash, hash_len), "cookies: FNV64 client cookie content");
-       }
-@@ -162,7 +162,7 @@ int main(int argc, char *argv[])
-       hash_len = knot_cc_alg_fnv64.gen_func(&cc_in, hash, hash_len);
-       ok(hash_len != 0 && hash_len == knot_cc_alg_fnv64.cc_size, "cookies: FNV64 client cookie output");
-       {
--              uint8_t expected[] = { 0x05, 0xa9, 0xd1, 0x08, 0x1b, 0x98, 0xe0, 0xaa };
-+              uint8_t expected[] = { 0xaa, 0xe0, 0x98, 0x1b, 0x08, 0xd1, 0xa9, 0x05 };
-               ok(sizeof(expected) == hash_len && 0 == memcmp(expected, hash, hash_len), "cookies: FNV64 client cookie content");
-       }
-@@ -179,7 +179,7 @@ int main(int argc, char *argv[])
-       }
-       {
--              uint8_t cookie[] = { 0x33, 0x0c, 0xa6, 0x80, 0x94, 0x17, 0xe5, 0xaf };
-+              uint8_t cookie[] = { 0xaf, 0xe5, 0x17, 0x94, 0x80, 0xa6, 0x0c, 0x33 };
-               ret = knot_cc_check(cookie, sizeof(cookie), NULL, &knot_cc_alg_fnv64);
-               ok(ret == KNOT_EINVAL, "cookies: FNV64 client cookie check no input");
-       }
-@@ -190,7 +190,7 @@ int main(int argc, char *argv[])
-       cc_in.secret_data = secret;
-       cc_in.secret_len = sizeof(secret);
-       {
--              uint8_t cookie[] = { 0x33, 0x0c, 0xa6, 0x80, 0x94, 0x17, 0xe5, 0xaf };
-+              uint8_t cookie[] = { 0xaf, 0xe5, 0x17, 0x94, 0x80, 0xa6, 0x0c, 0x33 };
-               ret = knot_cc_check(cookie, sizeof(cookie), &cc_in, NULL);
-               ok(ret == KNOT_EINVAL, "cookies: FNV64 client cookie check no algorithm");
-       }
-@@ -201,7 +201,7 @@ int main(int argc, char *argv[])
-       cc_in.secret_data = secret;
-       cc_in.secret_len = sizeof(secret);
-       {
--              uint8_t cookie[] = { 0x33, 0x0c, 0xa6, 0x80, 0x94, 0x17, 0xe5, 0xaf };
-+              uint8_t cookie[] = { 0xaf, 0xe5, 0x17, 0x94, 0x80, 0xa6, 0x0c, 0x33 };
-               ret = knot_cc_check(cookie, sizeof(cookie), &cc_in, &knot_cc_alg_fnv64);
-               ok(ret == KNOT_EOK, "cookies: FNV64 client good cookie check");
-       }
-@@ -212,7 +212,7 @@ int main(int argc, char *argv[])
-       cc_in.secret_data = secret;
-       cc_in.secret_len = sizeof(secret);
-       {
--              uint8_t cookie[] = { 0x33, 0x0c, 0xa6, 0x80, 0x94, 0x17, 0xe5, 0xaf };
-+              uint8_t cookie[] = { 0xaf, 0xe5, 0x17, 0x94, 0x80, 0xa6, 0x0c, 0x33 };
-               ret = knot_cc_check(cookie, sizeof(cookie) - 1, &cc_in, &knot_cc_alg_fnv64);
-               ok(ret == KNOT_EINVAL, "cookies: FNV64 client cookie check invalid length");
-       }
-@@ -223,7 +223,7 @@ int main(int argc, char *argv[])
-       cc_in.secret_data = secret;
-       cc_in.secret_len = sizeof(secret);
-       {
--              uint8_t cookie[] = { 0x33, 0x0c, 0xa6, 0x80, 0x94, 0x17, 0xe5, 0xae };
-+              uint8_t cookie[] = { 0xaf, 0xe5, 0x17, 0x94, 0x80, 0xa6, 0x0c, 0x32 };
-               ret = knot_cc_check(cookie, sizeof(cookie), &cc_in, &knot_cc_alg_fnv64);
-               ok(ret == KNOT_EINVAL, "cookies: FNV64 client cookie check invalid cookie");
-       }
-diff --git a/tests/libknot/test_cookies-server.c b/tests/libknot/test_cookies-server.c
-index 32001c1..66a54ba 100644
---- a/tests/libknot/test_cookies-server.c
-+++ b/tests/libknot/test_cookies-server.c
-@@ -28,10 +28,10 @@
- #include "libknot/rrtype/opt-cookie.h"
- const char *cookie_opts[] = {
--      "\x00\x0a" "\x00\x10" "\x00\x01\x02\x03\x04\x05\x06\x07" "\xe0\xd9\x95\x4e\xbc\xc3\x99\x18", /* 8 octets long wrong server cookie. */
--      "\x00\x0a" "\x00\x10" "\x00\x01\x02\x03\x04\x05\x06\x07" "\xe0\xd9\x95\x4e\xbc\xc3\x99\x19", /* 8 octets long OK server cookie. */
--      "\x00\x0a" "\x00\x18" "\x00\x01\x02\x03\x04\x05\x06\x07" "\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\xc0\xbd\xdb\xec\x19\x78\x88\x38", /* 8B nonce 8B hash long wrong server cookie. */
--      "\x00\x0a" "\x00\x18" "\x00\x01\x02\x03\x04\x05\x06\x07" "\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\xc0\xbd\xdb\xec\x19\x78\x88\x39" /* 8B nonce 8B hash long OK server cookie. */
-+      "\x00\x0a" "\x00\x10" "\x00\x01\x02\x03\x04\x05\x06\x07" "\x19\x99\xc3\xbc\x4e\x95\xd9\xdf", /* 8 octets long wrong server cookie. */
-+      "\x00\x0a" "\x00\x10" "\x00\x01\x02\x03\x04\x05\x06\x07" "\x19\x99\xc3\xbc\x4e\x95\xd9\xe0", /* 8 octets long OK server cookie. */
-+      "\x00\x0a" "\x00\x18" "\x00\x01\x02\x03\x04\x05\x06\x07" "\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\x39\x88\x78\x19\xec\xdb\xbd\xbf", /* 8B nonce 8B hash long wrong server cookie. */
-+      "\x00\x0a" "\x00\x18" "\x00\x01\x02\x03\x04\x05\x06\x07" "\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\x39\x88\x78\x19\xec\xdb\xbd\xc0"/* 8B nonce 8B hash long OK server cookie. */
- };
- #define ROPT(i) ((const uint8_t *)cookie_opts[(i)])
-@@ -193,7 +193,7 @@ int main(int argc, char *argv[])
-       hash_len = knot_sc_alg_fnv64.hash_func(&sc_in, hash, hash_len);
-       ok(hash_len != 0, "cookies: FNV64 server cookie output");
-       {
--              uint8_t expected[] = { 0x75, 0x45, 0x7c, 0x9a, 0xe0, 0x13, 0xa8, 0xea };
-+              uint8_t expected[] = { 0xea, 0xa8, 0x13, 0xe0, 0x9a, 0x7c, 0x45, 0x75 };
-               ok(sizeof(expected) == hash_len && 0 == memcmp(expected, hash, hash_len), "cookies: FNV64 server cookie content");
-       }
-@@ -210,7 +210,7 @@ int main(int argc, char *argv[])
-       hash_len = knot_sc_alg_fnv64.hash_func(&sc_in, hash, hash_len);
-       ok(hash_len != 0, "cookies: FNV64 server cookie output");
-       {
--              uint8_t expected[] = { 0xc0, 0xbd, 0xdb, 0xec, 0x19, 0x78, 0x88, 0x39 };
-+              uint8_t expected[] = { 0x39, 0x88, 0x78, 0x19, 0xec, 0xdb, 0xbd, 0xc0 };
-               ok(sizeof(expected) == hash_len && 0 == memcmp(expected, hash, hash_len), "cookies: FNV64 server cookie content");
-       }
-@@ -227,7 +227,7 @@ int main(int argc, char *argv[])
-       hash_len = knot_sc_alg_fnv64.hash_func(&sc_in, hash, hash_len);
-       ok(hash_len != 0, "cookies: FNV64 server cookie output");
-       {
--              uint8_t expected[] = { 0xe0, 0xd9, 0x95, 0x4e, 0xbc, 0xc3, 0x99, 0x19 };
-+              uint8_t expected[] = { 0x19, 0x99, 0xc3, 0xbc, 0x4e, 0x95, 0xd9, 0xe0 };
-               ok(sizeof(expected) == hash_len && 0 == memcmp(expected, hash, hash_len), "cookies: FNV64 server cookie content");
-       }
-@@ -244,7 +244,7 @@ int main(int argc, char *argv[])
-       hash_len = knot_sc_alg_fnv64.hash_func(&sc_in, hash, hash_len);
-       ok(hash_len != 0, "cookies: FNV64 server cookie output");
-       {
--              uint8_t expected[] = { 0x4d, 0xde, 0xfa, 0x22, 0xb9, 0x0a, 0xcc, 0xd8 };
-+              uint8_t expected[] = { 0xd8, 0xcc, 0x0a, 0xb9, 0x22, 0xfa, 0xde, 0x4d };
-               ok(sizeof(expected) == hash_len && 0 == memcmp(expected, hash, hash_len), "cookies: FNV64 server cookie content");
-       }
-@@ -261,7 +261,7 @@ int main(int argc, char *argv[])
-       hash_len = knot_sc_alg_fnv64.hash_func(&sc_in, hash, hash_len);
-       ok(hash_len != 0, "cookies: FNV64 server cookie output");
-       {
--              uint8_t expected[] = { 0xa0, 0x35, 0xe3, 0xe0, 0x78, 0x7a, 0x91, 0xaf };
-+              uint8_t expected[] = { 0xaf, 0x91, 0x7a, 0x78, 0xe0, 0xe3, 0x35, 0xa0 };
-               ok(sizeof(expected) == hash_len && 0 == memcmp(expected, hash, hash_len), "cookies: FNV64 server cookie content");
-       }
-@@ -278,7 +278,7 @@ int main(int argc, char *argv[])
-       hash_len = knot_sc_alg_fnv64.hash_func(&sc_in, hash, hash_len);
-       ok(hash_len != 0, "cookies: FNV64 server cookie output");
-       {
--              uint8_t expected[] = { 0x8e, 0xa3, 0xf8, 0x97, 0x84, 0x0a, 0x3d, 0x8b };
-+              uint8_t expected[] = { 0x8b, 0x3d, 0x0a, 0x84, 0x97, 0xf8, 0xa3, 0x8e };
-               ok(sizeof(expected) == hash_len && 0 == memcmp(expected, hash, hash_len), "cookies: FNV64 server cookie content");
-       }
--- 
-2.7.4
-
index 1c17cefbe5742e175251797ed2e256c125c427bc..870fe80c8532e5701f14dbb7cd079be26b7ee396 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=lighttpd
-PKG_VERSION:=1.4.42
+PKG_VERSION:=1.4.45
 PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://download.lighttpd.net/lighttpd/releases-1.4.x
-PKG_MD5SUM:=53c55d7e1dac7adec161cd5490491f6d
+PKG_MD5SUM:=a128e1eda76899ce3fd115efae5fe631
 
 PKG_LICENSE:=BSD-3c
 PKG_LICENSE_FILES:=COPYING
diff --git a/net/lighttpd/patches/0001-mod_cgi-fix-CGI-local-redir-w-url.rewrite-once-fixes.patch b/net/lighttpd/patches/0001-mod_cgi-fix-CGI-local-redir-w-url.rewrite-once-fixes.patch
new file mode 100644 (file)
index 0000000..a6bbcbe
--- /dev/null
@@ -0,0 +1,32 @@
+From: Glenn Strauss <gstrauss@gluelogic.com>
+Subject: [PATCH] [mod_cgi] fix CGI local-redir w/ url.rewrite-once (fixes
+ #2793)
+
+x-ref:
+  "1.4.40 regression: broken redirect (using Location) between url.rewrite-once URLs"
+  https://redmine.lighttpd.net/issues/2793
+---
+ src/mod_cgi.c | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+--- a/src/mod_cgi.c
++++ b/src/mod_cgi.c
+@@ -560,8 +560,7 @@ static int cgi_demux_response(server *sr
+                                                       }
+                                                       connection_response_reset(srv, con); /*(includes con->http_status = 0)*/
+-
+-                                                      con->mode = DIRECT;
++                                                      plugins_call_connection_reset(srv, con);
+                                                       return FDEVENT_HANDLED_COMEBACK;
+                                               }
+                                       }
+@@ -780,7 +779,7 @@ static int cgi_recv_response(server *srv
+                       /* if we get a IN|HUP and have read everything don't exec the close twice */
+                       return HANDLER_FINISHED;
+               case FDEVENT_HANDLED_COMEBACK:
+-                      cgi_connection_close(srv, hctx);
++                      /*cgi_connection_close(srv, hctx);*//*(already cleaned up and hctx is now invalid)*/
+                       return HANDLER_COMEBACK;
+               case FDEVENT_HANDLED_ERROR:
+                       log_error_write(srv, __FILE__, __LINE__, "s", "demuxer failed: ");
index b6881c2b1d33e1b63f97ba108458ae2c4ba6b49b..e4076cd7e823cf45ec18a3a636974cab15af5bc6 100644 (file)
@@ -175,7 +175,7 @@ CONFIGURE_ARGS += \
        --without-pam
 endif
 
-ifeq ($(CONFIG_OPENSSL_ENGINE),y)
+ifeq ($(CONFIG_OPENSSL_ENGINE_CRYPTO),y)
 CONFIGURE_ARGS+= \
        --with-ssl-engine
 endif
index 0d18aa1276f3c74fa64934ab283769891c549947..294b00f4d7e542355ffae072b3b87a68415691ca 100644 (file)
@@ -67,6 +67,6 @@ start_service() {
        ln -sfn $CHAP_SECRETS /etc/ppp/chap-secrets
 
        procd_open_instance
-       procd_set_param command $BIN -c $CONFIG -o $OPTIONS_PPTP
+       procd_set_param command $BIN -c $CONFIG --fg -o $OPTIONS_PPTP
        procd_close_instance
 }
index 498700a3da84ce3542b9766437915ce3c76bd1a4..e531a4578dd80af040f29baaf9a21caed349a7bb 100644 (file)
@@ -8,8 +8,8 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=unbound
-PKG_VERSION:=1.6.0
-PKG_RELEASE:=5
+PKG_VERSION:=1.6.1
+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_MD5SUM:=78409eccf7260d260b6463f85e59c66b
+PKG_HASH:=42df63f743c0fe8424aeafcf003ad4b880b46c14149d696057313f5c1ef51400
 
 PKG_BUILD_DEPENDS:=libexpat
 PKG_BUILD_PARALLEL:=1
index 2ad6641345273ada29b584f5fcdd061c3e99e207..2de0b624605012b5dc3b45e1d17de18ab0c692b9 100644 (file)
@@ -1 +1,3 @@
 . IN DS 19036 8 2 49AAC11D7B6F6446702E54A1607371607A1A41855200FD2CE1CDDE32F24E8FB5
+. IN DS 20326 8 2 E06D44B80B8F1D39A95C0B0D7C65D08458E880409BBC683457104237C7F8EC8D
+
index 44eeb6fccd07de8df4637e1de6faeb01540685b5..24964d0b0a675480fc9270727301e07696f89ce6 100644 (file)
@@ -107,6 +107,12 @@ create_interface_dns() {
   if_fqdn="$ifdashname.$host_fqdn"
 
 
+  if [ -z "${ulaprefix%%:/*}" ] ; then
+    # Nonsense so this option isn't globbed below
+    ulaprefix="fdno:such:addr::/48"
+  fi
+
+
   if [ "$ignore" -gt 0 ] ; then
     mode="$UNBOUND_D_WAN_FQDN"
 
index d1c1ca3d24b0e163f35b97df7a07ee00d659553b..8aa0502024aa70fef632b32996e04d7bf431bed9 100644 (file)
@@ -1,12 +1,12 @@
 diff --git a/doc/example.conf.in b/doc/example.conf.in
-index 55bbc32..14452fa 100644
+index 83e7c5c..3ea2b28 100644
 --- a/doc/example.conf.in
 +++ b/doc/example.conf.in
-@@ -1,20 +1,82 @@
+@@ -1,9 +1,10 @@
 -#
 -# Example configuration file.
 -#
--# See unbound.conf(5) man page, version 1.6.0.
+-# See unbound.conf(5) man page, version 1.6.1.
 -#
 -# this is a comment.
 +##############################################################################
@@ -19,10 +19,9 @@ index 55bbc32..14452fa 100644
  
  #Use this to include other text into the file.
  #include: "otherfile.conf"
- # The server clause sets the main parameters.
+@@ -12,9 +13,71 @@
  server:
--      # whitespace is not necessary, but looks cleaner.
+       # whitespace is not necessary, but looks cleaner.
  
 -      # verbosity number, 0 is least verbose. 1 is default.
 +      # verbosity 1 is default
@@ -51,7 +50,7 @@ index 55bbc32..14452fa 100644
 +      access-control: ::0/0 allow
 +
 +      # this limits TCP service but uses less buffers
-+      outgoing-num-tcp: 1 
++      outgoing-num-tcp: 1
 +      incoming-num-tcp: 1
 +
 +      # use somewhat higher port numbers versus possible NAT issue
index bf1525115c4a9a11fb010932f681b65ca094a897..7802d7e71622d126a40d963cc0797b95d872c8c3 100644 (file)
@@ -11,12 +11,12 @@ include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=wireguard
 
-PKG_VERSION:=0.0.20170214
+PKG_VERSION:=0.0.20170223
 PKG_RELEASE:=2
 
 PKG_SOURCE:=WireGuard-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://git.zx2c4.com/WireGuard/snapshot/
-PKG_HASH:=1e4ee213d2a5ac672c952c59e9c64d6d7d5dc3e21c003aee30d75208237e8bf5
+PKG_HASH:=6d2c8cd29c4f9fb404546a4749ec050739a26b4a49b5864f1dec531377c3c50d
 
 PKG_LICENSE:=GPL-2.0
 PKG_LICENSE_FILES:=COPYING
@@ -67,6 +67,10 @@ define Build/Compile
        $(call Build/Compile/Default)
 endef
 
+define Package/wireguard/install
+  true
+endef
+
 define Package/wireguard/description
   $(call Package/wireguard/Default/description)
 endef
index 2eb30242a664128a595c0b3d9bf5b7308715ce9e..638ddd922199c68727df3f6f86ac3c8864d842e1 100644 (file)
@@ -22,6 +22,7 @@ proto_wireguard_init_config() {
   proto_config_add_int    "listen_port"
   proto_config_add_int    "mtu"
   proto_config_add_string "preshared_key"
+  proto_config_add_string "fwmark"
   available=1
   no_proto_task=1
 }
@@ -103,6 +104,7 @@ proto_wireguard_setup() {
   config_get addresses     "${config}" "addresses"
   config_get mtu           "${config}" "mtu"
   config_get preshared_key "${config}" "preshared_key"
+  config_get fwmark        "${config}" "fwmark"
 
   # create interface
   ip link del dev "${config}" 2>/dev/null
@@ -125,6 +127,9 @@ proto_wireguard_setup() {
   if [ "${preshared_key}" ]; then
     echo "PresharedKey=${preshared_key}" >> "${wg_cfg}"
   fi
+  if [ "${fwmark}" ]; then
+    echo "FwMark=${fwmark}" >> "${wg_cfg}"
+  fi
   config_foreach proto_wireguard_setup_peer "wireguard_${config}"
 
   # apply configuration file
index 224867670b6173261e7c6157abbcfa11e9cc9f9f..5a37f28e2d841f9172e323b9ee1f9048aedbbc16 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=collectd
 PKG_VERSION:=5.7.1
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://collectd.org/files/ \
@@ -32,7 +32,6 @@ COLLECTD_PLUGINS_DISABLED:= \
        battery \
        ceph \
        cgroups \
-       chrony \
        cpusleep \
        curl_json \
        curl_xml \
@@ -111,6 +110,7 @@ COLLECTD_PLUGINS_SELECTED:= \
        apcups \
        ascent \
        bind \
+       chrony \
        conntrack \
        contextswitch \
        cpu \
@@ -132,6 +132,11 @@ COLLECTD_PLUGINS_SELECTED:= \
        load \
        logfile \
        madwifi \
+       match_empty_counter \
+       match_hashed \
+       match_regex \
+       match_timediff \
+       match_value \
        memory \
        modbus \
        mysql \
@@ -310,6 +315,7 @@ $(eval $(call BuildPlugin,apache,apache status input,apache,+PACKAGE_collectd-mo
 $(eval $(call BuildPlugin,apcups,apcups status input,apcups,))
 $(eval $(call BuildPlugin,ascent,ascent status input,ascent,+PACKAGE_collectd-mod-ascent:libcurl +PACKAGE_collectd-mod-ascent:libxml2))
 $(eval $(call BuildPlugin,bind,BIND server/zone input,bind,+PACKAGE_collectd-mod-bind:libcurl +PACKAGE_collectd-mod-bind:libxml2))
+$(eval $(call BuildPlugin,chrony,chrony status input,chrony,))
 $(eval $(call BuildPlugin,conntrack,connection tracking table size input,conntrack,))
 $(eval $(call BuildPlugin,contextswitch,context switch input,contextswitch,))
 $(eval $(call BuildPlugin,cpu,CPU input,cpu,))
@@ -332,6 +338,11 @@ $(eval $(call BuildPlugin,iwinfo,libiwinfo wireless statistics,iwinfo,+PACKAGE_c
 $(eval $(call BuildPlugin,load,system load input,load,))
 $(eval $(call BuildPlugin,logfile,log files output,logfile,))
 $(eval $(call BuildPlugin,madwifi,MadWifi status input,madwifi,))
+$(eval $(call BuildPlugin,match-empty-counter,empty-counter match,match_empty_counter,))
+$(eval $(call BuildPlugin,match-hashed,hashed match,match_hashed,))
+$(eval $(call BuildPlugin,match-regex,regex match,match_regex,))
+$(eval $(call BuildPlugin,match-timediff,timediff match,match_timediff,))
+$(eval $(call BuildPlugin,match-value,value match,match_value,))
 #$(eval $(call BuildPlugin,mysql,MySQL status input,mysql,+PACKAGE_collectd-mod-mysql:libmysqlclient-r))
 $(eval $(call BuildPlugin,memory,physical memory usage input,memory,))
 $(eval $(call BuildPlugin,modbus,read variables through libmodbus,modbus,+PACKAGE_collectd-mod-modbus:libmodbus))
index 4f187c84c648a38f7ef46f8e02f2186759529d17..45839015cc6df01b939562cfd2ac8af8ee51aa00 100644 (file)
@@ -10,12 +10,15 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=cryptodev-linux
-PKG_VERSION:=1.8
-PKG_RELEASE:=2
+PKG_VERSION:=1.8.git-2017-02-09
+PKG_RELEASE:=1
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://download.gna.org/cryptodev-linux/
-PKG_MD5SUM:=02644cc4cd02301e0b503a332eb2f0b5
+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_SOURCE_URL:=https://github.com/cryptodev-linux/cryptodev-linux.git
+PKG_SOURCE_VERSION:=6818263667ca488f9b1c86e36ea624c4ea1c309f
 
 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
 
diff --git a/utils/luci-app-lxc/Makefile b/utils/luci-app-lxc/Makefile
deleted file mode 100644 (file)
index 026f714..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-#
-# Copyright (C) 2014 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:=luci-app-lxc
-PKG_RELEASE:=20161030
-
-PKG_LICENSE:=Apache-2.0
-
-PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/luci-app-lxc
-  SECTION:=luci
-  CATEGORY:=LuCI
-  SUBMENU:=3. Applications
-  TITLE:=LXC management Web UI
-  DEPENDS:=+luci-mod-admin-full +lxc +lxc-create +liblxc +rpcd-mod-lxc +getopt +xz
-  MAINTAINER:=Petar Koretic <petar.koretic@sartura.hr>
-endef
-
-define Package/luci-app-lxc/description
- This package will install LXC management Web UI.
-endef
-
-define Build/Prepare
-endef
-
-define Build/Configure
-endef
-
-define Build/Compile
-endef
-
-define Package/luci-app-lxc/install
-       $(INSTALL_DIR) $(1)/usr/lib/lua/luci/controller/
-       $(INSTALL_BIN) \
-               ./files/controller/lxc.lua \
-               $(1)/usr/lib/lua/luci/controller/
-
-       $(INSTALL_DIR) $(1)/usr/lib/lua/luci/view/
-       $(INSTALL_DATA) \
-               ./files/view/lxc.htm \
-               $(1)/usr/lib/lua/luci/view/
-
-       $(INSTALL_DIR) $(1)/usr/lib/lua/luci/model/cbi/
-       $(INSTALL_BIN) \
-               ./files/model/cbi/lxc.lua \
-               $(1)/usr/lib/lua/luci/model/cbi/
-
-       $(INSTALL_DIR) $(1)/etc/config/
-       $(INSTALL_DATA) \
-               ./files/lxc.config \
-               $(1)/etc/config/lxc
-
-       $(INSTALL_DIR) $(1)/www
-       $(CP) -R \
-               ./files/www/* \
-               $(1)/www
-endef
-
-$(eval $(call BuildPackage,luci-app-lxc))
diff --git a/utils/luci-app-lxc/files/controller/lxc.lua b/utils/luci-app-lxc/files/controller/lxc.lua
deleted file mode 100644 (file)
index ea7adba..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
---[[
-
-LuCI LXC module
-
-Copyright (C) 2014, Cisco Systems, Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-Author: Petar Koretic <petar.koretic@sartura.hr>
-
-]]--
-
-module("luci.controller.lxc", package.seeall)
-
-require "ubus"
-local conn = ubus.connect()
-if not conn then
-    error("Failed to connect to ubus")
-end
-
-
-function fork_exec(command)
-       local pid = nixio.fork()
-       if pid > 0 then
-               return
-       elseif pid == 0 then
-               -- change to root dir
-               nixio.chdir("/")
-
-               -- patch stdin, out, err to /dev/null
-               local null = nixio.open("/dev/null", "w+")
-               if null then
-                       nixio.dup(null, nixio.stderr)
-                       nixio.dup(null, nixio.stdout)
-                       nixio.dup(null, nixio.stdin)
-                       if null:fileno() > 2 then
-                               null:close()
-                       end
-               end
-
-               -- replace with target command
-               nixio.exec("/bin/sh", "-c", command)
-       end
-end
-
-function index()
-       page = node("admin", "services", "lxc")
-       page.target = cbi("lxc")
-       page.title = _("LXC Containers")
-       page.order = 70
-
-       page = entry({"admin", "services", "lxc_create"}, call("lxc_create"), nil)
-       page.leaf = true
-
-       page = entry({"admin", "services", "lxc_action"}, call("lxc_action"), nil)
-       page.leaf = true
-
-       page = entry({"admin", "services", "lxc_get_downloadable"}, call("lxc_get_downloadable"), nil)
-       page.leaf = true
-
-       page = entry({"admin", "services", "lxc_configuration_get"}, call("lxc_configuration_get"), nil)
-       page.leaf = true
-
-       page = entry({"admin", "services", "lxc_configuration_set"}, call("lxc_configuration_set"), nil)
-       page.leaf = true
-
-end
-
-function lxc_get_downloadable()
-       luci.http.prepare_content("application/json")
-
-       local f = io.popen('uname -m', 'r')
-       local target = f:read('*a')
-       f:close()
-       target = target:gsub("^%s*(.-)%s*$", "%1")
-
-       local templates = {}
-
-       local f = io.popen('lxc-create -n just_want_to_list_available_lxc_templates -t download -- --list', 'r')
-
-       for line in f:lines() do
-               local dist,version = line:match("^(%S+)%s+(%S+)%s+" .. target .. "%s+default%s+%S+$")
-               if dist~=nil and version~=nil then templates[#templates + 1] = dist .. ":" .. version end
-       end
-
-       f:close()
-       luci.http.write_json(templates)
-end
-
-function lxc_create(lxc_name, lxc_template)
-       luci.http.prepare_content("text/plain")
-
-       local uci = require("uci").cursor()
-
-       local url = uci:get("lxc", "lxc", "url")
-
-       if not pcall(dofile, "/etc/openwrt_release") then
-               return luci.http.write("1")
-       end
-
-       local f = io.popen('uname -m', 'r')
-       local target = f:read('*a')
-       f:close()
-       target = target:gsub("^%s*(.-)%s*$", "%1")
-
-       local lxc_dist = lxc_template:gsub("(.*):(.*)", '%1')
-       local lxc_release = lxc_template:gsub("(.*):(.*)", '%2')
-
-       local data = conn:call("lxc", "create", { name = lxc_name, template = "download", args = { "--server", url,  "--no-validate", "--dist", lxc_dist, "--release", lxc_release, "--arch", target } } )
-
-       luci.http.write(data)
-end
-
-function lxc_action(lxc_action, lxc_name)
-       luci.http.prepare_content("application/json")
-
-       local data, ec = conn:call("lxc", lxc_action, lxc_name and { name = lxc_name} or {} )
-
-       luci.http.write_json(ec and {} or data)
-end
-
-function lxc_get_config_path()
-       local f = io.open("/etc/lxc/lxc.conf", "r")
-       local content = f:read("*all")
-       f:close()
-       local ret = content:match('^%s*lxc.lxcpath%s*=%s*([^%s]*)')
-       if ret then
-               return ret .. "/"
-       else
-               return "/srv/lxc/"
-       end
-end
-
-function lxc_configuration_get(lxc_name)
-       luci.http.prepare_content("text/plain")
-
-       local f = io.open(lxc_get_config_path() .. lxc_name .. "/config", "r")
-       local content = f:read("*all")
-       f:close()
-
-       luci.http.write(content)
-end
-
-function lxc_configuration_set(lxc_name)
-       luci.http.prepare_content("text/plain")
-
-       local lxc_configuration = luci.http.formvalue("lxc_configuration")
-
-       if lxc_configuration == nil then
-               return luci.http.write("1")
-       end
-
-       local f, err = io.open(lxc_get_config_path() .. lxc_name .. "/config","w+")
-       if not f then
-               return luci.http.write("2")
-       end
-
-       f:write(lxc_configuration)
-       f:close()
-
-       luci.http.write("0")
-end
-
diff --git a/utils/luci-app-lxc/files/lxc.config b/utils/luci-app-lxc/files/lxc.config
deleted file mode 100644 (file)
index 5572c73..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-#
-# lxc uci configuration
-#
-
-config lxc 'lxc'
-       option url 'virtualwrt.org/containers/'
diff --git a/utils/luci-app-lxc/files/model/cbi/lxc.lua b/utils/luci-app-lxc/files/model/cbi/lxc.lua
deleted file mode 100644 (file)
index ac0fdff..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
---[[
-
-LuCI LXC module
-
-Copyright (C) 2014, Cisco Systems, Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-Author: Petar Koretic <petar.koretic@sartura.hr>
-
-]]--
-
-local fs = require "nixio.fs"
-
-m = Map("lxc", translate("LXC Containers"))
-
-if fs.access("/etc/config/lxc") then
-       m:section(SimpleSection).template = "lxc"
-
-       s = m:section(TypedSection, "lxc", translate("Options"))
-       s.anonymous = true
-       s.addremove = false
-
-       s:option(Value, "url", translate("Containers URL"))
-end
-
-return m
diff --git a/utils/luci-app-lxc/files/view/lxc.htm b/utils/luci-app-lxc/files/view/lxc.htm
deleted file mode 100644 (file)
index edfff8e..0000000
+++ /dev/null
@@ -1,458 +0,0 @@
-<%#
-
-LuCI LXC module
-
-Copyright (C) 2014, Cisco Systems, Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-Author: Petar Koretic <petar.koretic@sartura.hr>
-
--%>
-
-<fieldset class="cbi-section">
-       <legend><%:Available Containers%></legend>
-       <div class="cbi-section-node">
-               <table id="t_lxc_list" class="cbi-section-table">
-                       <tr class="cbi-section-table-titles">
-                               <th class="cbi-section-table-cell"><%:Name%></th>
-                               <th class="cbi-section-table-cell"><%:Status%></th>
-                               <th class="cbi-section-table-cell"><%:Actions%></th>
-                       </tr>
-               </table>
-       </div>
-</fieldset>
-
-<fieldset class="cbi-section">
-       <span id="lxc-list-output"></span>
-</fieldset>
-
-<hr/>
-<fieldset class="cbi-section">
-       <legend><%:Create New Container%></legend>
-       <div class="cbi-section-node">
-               <table id="t_lxc_create" class="cbi-section-table">
-                       <tr class="cbi-section-table-titles">
-                               <th class="cbi-section-table-cell"><%:Name%></th>
-                               <th class="cbi-section-table-cell"><%:Template%></th>
-                               <th class="cbi-section-table-cell"><%:Actions%></th>
-                       </tr>
-                       <tr id="tr_holder">
-                               <td>
-                                       <input type="text" id="tx_name" placeholder="<%:Enter new name%>" value='' />
-                               </td>
-                               <td>
-                                       <select id="s_template" class="cbi-input-select cbi-button">
-                                       </select>
-                               </td>
-                               <td>
-                                       <input type="button" id="bt_create" value="<%:Create%>" onclick="lxc_create(tr_holder)" class="cbi-button cbi-button-add" />
-                                       <span id="lxc-add-loader" style="display:inline-block; width:16px; height:16px; margin:0 5px"></span>
-                               </td>
-                       </tr>
-               </table>
-       </div>
-</fieldset>
-
-<fieldset class="cbi-section">
-       <span id="lxc-add-output"></span>
-</fieldset>
-
-<hr/>
-
-<script type="text/javascript" src="<%=resource%>/cbi.js"></script>
-<script type="text/javascript">//<![CDATA[
-
-       window.img = { "red" : "<%=resource%>/cbi/red.gif", "green" : "<%=resource%>/cbi/green.gif", "purple" : "<%=resource%>/cbi/purple.gif" }
-       window.states = {  "STOPPED" : "red", "RUNNING" : "green", "FROZEN" : "purple"}
-
-       var t_lxc_list = document.getElementById('t_lxc_list');
-       var loader_html = '<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" width="16" height="16" style="vertical-align:middle" /> ';
-       var timeout_msg = 0
-       var output_list = document.getElementById("lxc-list-output")
-       var output_add = document.getElementById("lxc-add-output")
-       var loader_add = document.getElementById("lxc-add-loader")
-
-       function lxc_create(tr)
-       {
-               var lxc_name = tr.querySelector("#tx_name").value.trim()
-               var lxc_template = tr.querySelector("#s_template").value
-               var bt_create = tr.querySelector("#bt_create")
-
-               if (t_lxc_list.querySelector("[data-id='" + lxc_name + "']") != null)
-                       return info_message(output_add, "Container with that name already exists!", 4000)
-
-               bt_create.disabled = true
-               output_add.innerHTML = ''
-
-               if (!lxc_name || !lxc_name.length)
-               {
-                       bt_create.disabled = false
-                       return info_message(output_add, "Name cannot be empty!", 4000)
-               }
-
-               loading(loader_add)
-
-               new XHR().get('<%=luci.dispatcher.build_url("admin", "services")%>/lxc_create/' + '%h/%h'.format(lxc_name, lxc_template) , null,
-               function(x)
-               {
-                       bt_create.disabled = false
-                       loading(loader_add, 0)
-
-                       if (!x)
-                               info_message(output_add, "Container creation failed!")
-               })
-       }
-
-       function lxc_create_template(lxc_name, lxc_state)
-       {
-               var info_row = t_lxc_list.querySelector("#empty")
-               if (info_row)
-                       t_lxc_list.deleteRow(1)
-
-               var actions = ''
-               actions += '<input type="button" onclick="action_handler(this)" data-action="start" value="<%:Start%>" class="cbi-button cbi-button-apply" />'
-               actions+= '<input type="button" onclick="action_handler(this)" data-action="stop" value="<%:Stop%>" class="cbi-button cbi-button-reset" />'
-               actions+= '<input type="button" onclick="action_handler(this)" data-action="destroy" value="<%:Delete%>" class="cbi-button cbi-button-remove" />'
-               actions+= ' <select class="cbi-input-select cbi-button" onchange="action_more_handler(this)">\
-                                               <option selected disabled>more</option>\
-                                               <option>configure</option>\
-                                               <option>freeze</option>\
-                                               <option>unfreeze</option>\
-                                               <option>reboot</option>\
-                                       </select>'
-               actions+= '<span data-loader style="display:inline-block; width:16px; height:16px; margin:0 5px"></span>'
-
-               var row = t_lxc_list.insertRow(-1)
-               var cell = row.insertCell(-1)
-               cell.innerHTML = '%q%h%q'.format("<strong>", lxc_name, "</strong>")
-               cell.width = "30%"
-               cell.setAttribute("data-id", lxc_name)
-
-               cell = row.insertCell(-1)
-               cell.width = "20%"
-               cell.innerHTML = "<img src='"+window.img[lxc_state]+"'/>"
-
-               cell = row.insertCell(-1)
-               cell.width = "50%"
-               cell.innerHTML = actions
-       }
-
-       function action_handler(self)
-       {
-               var action = self.getAttribute("data-action");
-
-               var bt_action = self
-               var lxc_name = self.parentNode.parentNode.children[0].getAttribute('data-id')
-               var status_img = self.parentNode.parentNode.querySelector('img')
-               var loader = self.parentNode.querySelector('[data-loader]')
-
-               bt_action.disabled = true
-
-               if (action == "stop")
-               {
-                       loading(loader)
-
-                       new XHR().get('<%=luci.dispatcher.build_url("admin", "services")%>/lxc_action/' + '%h/%h'.format(action, lxc_name), null,
-                       function(x, ec)
-                       {
-                               loading(loader, 0)
-                               bt_action.disabled = false
-
-                               if (!x || ec)
-                                       return info_message(output_list,"Action failed!")
-
-                               set_status(status_img, "red")
-
-                       });
-               }
-
-               else if (action == "start")
-               {
-                       loading(loader)
-
-                       new XHR().get('<%=luci.dispatcher.build_url("admin", "services")%>/lxc_action/' + '%h/%h'.format(action, lxc_name), null,
-                       function(x, data)
-                       {
-                               loading(loader, 0)
-                               bt_action.disabled = false
-
-                               //FIXME: uncomment after fixing 'lxc-start'
-                               if (!x /*|| ec */)
-                                       return info_message(output_list,"Action failed!")
-
-                               //FIXME: uncomment after fixing 'lxc-start'
-                               //set_status(status_img, "green")
-                       });
-               }
-
-               else if (action == "destroy")
-               {
-                       if (!confirm("This will completely remove LXC container from the disk. Are you sure? (container will be stopped if running)"))
-                               return
-
-                       loading(loader)
-
-                       new XHR().get('<%=luci.dispatcher.build_url("admin", "services")%>/lxc_action/' + '%h/%h'.format(action, lxc_name), null,
-                       function(x, ec)
-                       {
-                               loading(loader, 0)
-                               bt_action.disabled = false
-
-                               if (!x || ec)
-                                       return info_message(output_list,"Action failed!")
-
-                               var row = self.parentNode.parentNode
-                               row.parentNode.removeChild(row)
-
-                       });
-               }
-       }
-
-       function lxc_configure_handler(self)
-       {
-               var td = self.parentNode
-               var textarea = td.querySelector('[data-id]')
-               var lxc_name = textarea.getAttribute('data-id')
-               var lxc_configuration = textarea.value
-
-               new XHR().post('<%=luci.dispatcher.build_url("admin", "services")%>/lxc_configuration_set/' + lxc_name, "lxc_configuration=" + encodeURIComponent(lxc_configuration) ,
-               function(x)
-               {
-                       if (!x || x.responseText != "0")
-                               return info_message(output_list,"Action failed!")
-
-                       info_message(output_list,"LXC configuration updated")
-                       var row = td.parentNode
-                       row.parentNode.removeChild(row)
-               })
-       }
-
-       function lxc_rename_template(lxc_name)
-       {
-               var h = '\
-                       <input data-id="'+ lxc_name + '" type="text" placeholder="Enter new name" /> \
-                       <input data-id="bt_confirm" onclick="lxc_rename_handler(this)" type="button" class="cbi-button" value="Confirm" />'
-
-               return h
-       }
-
-       function lxc_configure_template(lxc_name, lxc_configuration)
-       {
-               var h = '\
-                       <textarea data-id="'+ lxc_name + '" rows="20" style="width:100%">'+ lxc_configuration +'</textarea> \
-                       <input data-id="bt_confirm" onclick="lxc_configure_handler(this)" type="button" class="cbi-button" value="Confirm" />'
-
-               return h
-       }
-
-       function action_more_handler(self)
-       {
-               var lxc_name = self.parentNode.parentNode.querySelector('[data-id]').getAttribute('data-id')
-               var loader = self.parentNode.parentNode.querySelector('[data-loader]')
-
-               var option = self.options[self.selectedIndex].text
-
-               self.value = "more"
-
-               switch (option)
-               {
-                       case "configure":
-                               var tr = document.createElement('tr')
-                               var row = self.parentNode.parentNode
-                               var next_row = row.nextSibling
-                               if (next_row && next_row.getAttribute('data-action') !== null)
-                                       row.parentNode.removeChild(next_row)
-
-                               new XHR().get('<%=luci.dispatcher.build_url("admin", "services")%>/lxc_configuration_get/' + lxc_name, null,
-                               function(x)
-                               {
-                                       tr.innerHTML="<td colspan='" + row.cells.length + "'>" + lxc_configure_template(lxc_name, x.responseText) + "</td>"
-                                       tr.setAttribute('data-action','')
-                                       row.parentNode.insertBefore(tr, row.nextSibling)
-                               })
-
-                       break
-
-                       case "freeze":
-                               var tr = self.parentNode.parentNode
-                               var img = tr.querySelector('img')
-                               if(img.getAttribute('src') != window.img["green"])
-                                       return info_message(output_list,"Container is not running!")
-
-                               loading(loader)
-                               new XHR().get('<%=luci.dispatcher.build_url("admin", "services")%>/lxc_action/' + '%h/%h'.format(option, lxc_name), null,
-                               function(x, ec)
-                               {
-                                       loading(loader, 0)
-                                       if (!x || ec)
-                                               return info_message(output_list,"Action failed!")
-
-                                       set_status(img, "purple")
-                               })
-
-                       break
-
-                       case "unfreeze":
-                               var tr = self.parentNode.parentNode
-                               var img = tr.querySelector('img')
-
-                               if(img.getAttribute('src') != window.img["purple"])
-                                       return info_message(output_list,"Container is not frozen!")
-
-                               loading(loader)
-                               new XHR().get('<%=luci.dispatcher.build_url("admin", "services")%>/lxc_action/' + '%h/%h'.format(option, lxc_name), null,
-                               function(x, ec)
-                               {
-                                       loading(loader, 0)
-                                       if (!x || ec)
-                                               return info_message(output_list,"Action failed!")
-
-                                       set_status(img, "green")
-                               })
-
-                       break
-
-                       case "reboot":
-                               var tr = self.parentNode.parentNode
-                               var img = tr.querySelector('img')
-                               if(img.getAttribute('src') != window.img["green"])
-                                       return info_message(output_list,"Container is not running!")
-
-                               if (!confirm("Are you sure?"))
-                                       return
-
-                               loading(loader)
-                               new XHR().get('<%=luci.dispatcher.build_url("admin", "services")%>/lxc_action/' + '%h/%h'.format(option, lxc_name), null,
-                               function(x, ec)
-                               {
-                                       loading(loader, 0)
-                                       if (!x || ec)
-                                               return info_message(output_list,"Action failed!")
-
-                                       info_message(output_list,"LXC rebooted")
-                               })
-                       break
-               }
-
-       }
-
-       function set_empty(t_lxc_list)
-       {
-               if (document.getElementById('empty') !== null)
-                       return
-
-               var row_count = t_lxc_list.rows.length;
-               while(--row_count) t_lxc_list.deleteRow(row_count);
-
-               var row = t_lxc_list.insertRow(-1);
-               row.id = 'empty'
-               var cell = row.insertCell(0);
-               cell.colSpan = 4;
-               cell.innerHTML = '<em><br />There are no containers available yet.</em>';
-       }
-
-       function lxc_list_update()
-       {
-               XHR.poll(4, '<%=luci.dispatcher.build_url("admin", "services")%>/lxc_action/list', null,
-               function(x, data)
-               {
-                       if (!x) return;
-
-                       var lxc_count = Object.keys(data).length
-                       if (!data || !lxc_count)
-                               return set_empty(t_lxc_list)
-
-                       if (document.getElementById('empty') !== null)
-                               t_lxc_list.deleteRow(1);
-
-                       var lxcs = t_lxc_list.querySelectorAll('td[data-id]')
-                       var lxc_name_table = {}
-                       for (var i = 0, len = lxcs.length; i < len; i++)
-                       {
-                               var lxc_name = lxcs[i].getAttribute('data-id')
-                               if (!(lxc_name in data))
-                               {
-                                       var row = t_lxc_list.querySelector("[data-id='" + lxc_name + "']").parentNode
-                                       row.parentNode.removeChild(row)
-                                       continue
-                               }
-
-                               lxc_name_table[lxc_name] = lxcs[i].parentNode.querySelector('img')
-                       }
-
-                       for(var key in data)
-                       {
-                               var lxc_name = key
-                               var state = window.states[data[key]]
-
-                               if (!(lxc_name in lxc_name_table))
-                                       lxc_create_template(lxc_name, state)
-
-                               else if (state != get_status(lxc_name_table[lxc_name]))
-                                       set_status(lxc_name_table[lxc_name], state)
-                       }
-
-               })
-       }
-
-       function loading(elem, state)
-       {
-               state = (typeof state === 'undefined') ? 1 : state
-
-               if (state === 1)
-                       elem.innerHTML = loader_html
-               else
-                       setTimeout(function() { elem.innerHTML = ''}, 1000)
-       }
-
-       function set_status(elem, state)
-       {
-               state = (typeof state === 'undefined') ? 1 : state
-
-               setTimeout(function() { elem.setAttribute('src', window.img[state])}, 300)
-       }
-
-       function get_status(elem)
-       {
-               var src = elem.getAttribute('src')
-
-               for (var i in img)
-               {
-                       if (img[i] == src)
-                               return i
-               }
-       }
-
-       function info_message(output, msg, timeout)
-       {
-               timeout = timeout || 3000
-               output.innerHTML = msg
-               clearTimeout(timeout_msg)
-               timeout_msg = setTimeout(function(){ output.innerHTML=""}, timeout);
-       }
-
-       lxc_list_update()
-
-       new XHR().get('<%=luci.dispatcher.build_url("admin", "services")%>/lxc_get_downloadable', null,
-       function(x, data)
-       {
-               if (!x) return;
-
-               var lxc_count = Object.keys(data).length
-               if (!data || !lxc_count) return;
-               var select = document.getElementById("s_template");
-               for(var key in data)
-               {
-                       var option = document.createElement('option');
-                       option.value = data[key];
-                       option.text = data[key].replace(/[_:]/g, ' ');
-                       select.add(option, -1);
-               }
-       })
-
-//]]></script>
diff --git a/utils/luci-app-lxc/files/www/luci-static/resources/cbi/green.gif b/utils/luci-app-lxc/files/www/luci-static/resources/cbi/green.gif
deleted file mode 100644 (file)
index d09febf..0000000
Binary files a/utils/luci-app-lxc/files/www/luci-static/resources/cbi/green.gif and /dev/null differ
diff --git a/utils/luci-app-lxc/files/www/luci-static/resources/cbi/purple.gif b/utils/luci-app-lxc/files/www/luci-static/resources/cbi/purple.gif
deleted file mode 100644 (file)
index f0d68cc..0000000
Binary files a/utils/luci-app-lxc/files/www/luci-static/resources/cbi/purple.gif and /dev/null differ
diff --git a/utils/luci-app-lxc/files/www/luci-static/resources/cbi/red.gif b/utils/luci-app-lxc/files/www/luci-static/resources/cbi/red.gif
deleted file mode 100644 (file)
index c1b39bb..0000000
Binary files a/utils/luci-app-lxc/files/www/luci-static/resources/cbi/red.gif and /dev/null differ
index 445974c3b19c09ee9b5cb1da820e73a01a2c894f..5fc6faf7b3c40087f64d5f1760b32c7d73818d16 100644 (file)
@@ -9,15 +9,16 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=mksh
-PKG_VERSION:=52c
+PKG_VERSION:=54
 PKG_RELEASE:=1
 
 PKG_MAINTAINER:=Thorsten Glaser <tg@mirbsd.org>
 PKG_LICENSE:=MirOS
 
 PKG_SOURCE:=$(PKG_NAME)-R$(PKG_VERSION).tgz
-PKG_SOURCE_URL:=http://www.mirbsd.org/MirOS/dist/mir/mksh
-PKG_MD5SUM:=cc3884e02314447e7b4a3073b8d65d1e
+PKG_SOURCE_URL:=http://www.mirbsd.org/MirOS/dist/mir/mksh \
+               http://pub.allbsd.org/MirOS/dist/mir/mksh/
+PKG_MD5SUM:=be0a6fb93b4a5f927bcc1893bb6692f8
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
 
index 7e9da8a024f97c1540afebdefdb2f3f5787eae74..a82c1ce54653bcd5c944280c41b9088ac630dea8 100644 (file)
@@ -1,4 +1,4 @@
-Refreshed for mksh-r52c, based on tg's patch
+Refreshed for mksh-r54, based on tg's patch
 
 From 23712cea8e2a623fd952eb781df0011c501703d0 Mon Sep 17 00:00:00 2001
 From: Thorsten Glaser <tg@mirbsd.org>
@@ -35,7 +35,7 @@ Signed-off-by: Alif M. A. <alive4ever at live.com>
  \alias doch='sudo mksh -c "$(\builtin fc -ln -1)"'
  \command -v rot13 >/dev/null || \alias rot13='tr \
      abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ \
-@@ -601,4 +602,8 @@
+@@ -600,4 +601,8 @@
  
  \unset p
  
index d9caab4e5ef876cb49d85877d06867a52d7f7254..db285504f8a33caeed9441c8c5fc37f05b7e0a05 100644 (file)
@@ -8,15 +8,15 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=nano
-PKG_VERSION:=2.7.4
+PKG_VERSION:=2.7.5
 PKG_RELEASE:=1
 PKG_LICENSE:=GPL-3.0+
 PKG_LICENSE_FILES:=COPYING
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@GNU/nano
-PKG_MD5SUM:=c011c7f9e47cb1da27d4e7cc8b56ec6a
-PKG_HASH:=752170643039e2c95a433de357f0c70a8c4c4c561a90a7e7259a63e225b659b9
+PKG_MD5SUM:=002703e368e07882f75e304c8860d83d
+PKG_HASH:=a64d24e6bc4fc448376d038f9a755af77f8e748c9051b6f45bf85e783a7e67e4
 
 PKG_INSTALL:=1
 PKG_BUILD_PARALLEL:=1
index 2e9f96a8b62cdcaa852446d36316d6d5f203c193..4f78d777d6b960a26ed7f2757f3cf45dd3823236 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=vim
-PKG_VERSION:=7.4
-PKG_RELEASE:=3
-VIMVER:=74
+PKG_VERSION:=8.0.069
+PKG_RELEASE:=4
+VIMVER:=80
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=ftp://ftp.vim.org/pub/vim/unix/
-PKG_MD5SUM:=607e135c559be642f210094ad023dc65
+PKG_MD5SUM:=457543a7754b0d3c1c0aa4d4c3bb4070
 PKG_MAINTAINER:=Marko Ratkaj <marko.ratkaj@sartura.hr>
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)$(VIMVER)
@@ -41,6 +41,12 @@ define Package/vim-full
   TITLE+= (Normal)
 endef
 
+
+define Package/vim-fuller
+  $(call Package/vim/Default)
+  TITLE+= (Big)
+endef
+
 define Package/vim-runtime
   $(call Package/vim/Default)
   TITLE+= (runtime files)
@@ -78,6 +84,12 @@ define Package/vim-full/description
  (Normal build)
 endef
 
+
+define Package/vim-fuller/description
+ Vim is an almost compatible version of the UNIX editor Vi.
+ (Big build)
+endef
+
 define Package/vim-runtime/description
  Vim is an almost compatible version of the UNIX editor Vi.
  (Runtime files)
@@ -138,6 +150,20 @@ define Build/Compile/vim-full
 endef
 endif
 
+ifneq ($(CONFIG_PACKAGE_vim-fuller),)
+define Build/Compile/vim-fuller
+       $(call Build/Configure/Default, \
+               --with-features=big \
+               --enable-multibyte \
+       )
+       +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
+               DESTDIR="$(PKG_INSTALL_DIR)" all
+       $(CP) $(PKG_BUILD_DIR)/src/$(PKG_NAME) $(PKG_BUILD_DIR)/vim_big
+endef
+endif
+
+
+
 ifneq ($(CONFIG_PACKAGE_xxd),)
 define Build/Compile/xxd
        +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
@@ -155,6 +181,7 @@ endef
 define Build/Compile
 $(call Build/Compile/vim)
 $(call Build/Compile/vim-full)
+$(call Build/Compile/vim-fuller)
 $(call Build/Compile/vim-runtime)
 $(call Build/Compile/xxd)
 endef
@@ -173,6 +200,17 @@ define Package/vim-full/install
        $(INSTALL_CONF) ./files/vimrc.full $(1)/usr/share/vim/vimrc
 endef
 
+
+define Package/vim-fuller/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/vim_big $(1)/usr/bin/vim
+       $(INSTALL_DIR) $(1)/usr/share/vim
+       $(CP) -r $(PKG_INSTALL_DIR)/usr/share/vim/vim$(VIMVER) $(1)/usr/share/vim
+       $(INSTALL_CONF) ./files/vimrc.full $(1)/usr/share/vim/vimrc
+endef
+
+
+
 define Package/vim-runtime/install
        $(CP) $(PKG_INSTALL_DIR)/* $(1)
        rm -rf $(1)/usr/share/vim/vim$(VIMVER)/doc
@@ -189,6 +227,7 @@ endef
 
 $(eval $(call BuildPackage,vim))
 $(eval $(call BuildPackage,vim-full))
+$(eval $(call BuildPackage,vim-fuller))
 $(eval $(call BuildPackage,vim-runtime))
 $(eval $(call BuildPackage,vim-help))
 $(eval $(call BuildPackage,xxd))
diff --git a/utils/vim/patches/001-compile.patch b/utils/vim/patches/001-compile.patch
deleted file mode 100644 (file)
index 6740f1a..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
---- a/src/auto/configure
-+++ b/src/auto/configure
-@@ -12294,37 +12294,8 @@ _ACEOF
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking uint32_t is 32 bits" >&5
- $as_echo_n "checking uint32_t is 32 bits... " >&6; }
--if test "$cross_compiling" = yes; then :
--  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cannot check uint32_t when cross-compiling." >&5
--$as_echo "$as_me: WARNING: cannot check uint32_t when cross-compiling." >&2;}
--else
--  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
--/* end confdefs.h.  */
--
--#ifdef HAVE_STDINT_H
--# include <stdint.h>
--#endif
--#ifdef HAVE_INTTYPES_H
--# include <inttypes.h>
--#endif
--main() {
--  uint32_t nr1 = (uint32_t)-1;
--  uint32_t nr2 = (uint32_t)0xffffffffUL;
--  if (sizeof(uint32_t) != 4 || nr1 != 0xffffffffUL || nr2 + 1 != 0) exit(1);
--  exit(0);
--}
--_ACEOF
--if ac_fn_c_try_run "$LINENO"; then :
--  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: assuming ok" >&5
- $as_echo "ok" >&6; }
--else
--  as_fn_error "WRONG!  uint32_t not defined correctly." "$LINENO" 5
--fi
--rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
--  conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
--
--
- bcopy_test_prog='
- #include "confdefs.h"