Merge pull request #2996 from jefferyto/python-enum34-1.1.6
authorHannu Nyman <hannu.nyman@iki.fi>
Sun, 14 Aug 2016 11:19:05 +0000 (14:19 +0300)
committerGitHub <noreply@github.com>
Sun, 14 Aug 2016 11:19:05 +0000 (14:19 +0300)
python-enum34: update to 1.1.6

105 files changed:
admin/netdata/Makefile
lang/python-attrs/Makefile
lang/python-cffi/Makefile
lang/python-cryptography/Makefile
lang/python-cryptography/patches/001-cmac-check.patch [new file with mode: 0644]
lang/python-gmpy2/Makefile
lang/python-pyserial/Makefile
lang/twisted/Makefile
lang/twisted/patches/001-fix-zsh-completion.patch
lang/twisted/patches/002-omit-tests.patch
lang/zope-interface/Makefile
libs/libnfc/Makefile [deleted file]
libs/sqlite3/Makefile
mail/msmtp/Makefile
multimedia/ffmpeg/Config.in
multimedia/ffmpeg/Makefile
multimedia/gst1-libav/Makefile
multimedia/gst1-plugins-bad/Makefile
multimedia/gst1-plugins-bad/patches/001-no-translations.patch
multimedia/gst1-plugins-bad/patches/002-no-tests.patch
multimedia/gst1-plugins-base/Makefile
multimedia/gst1-plugins-base/patches/001-no-translations.patch
multimedia/gst1-plugins-base/patches/002-no-tests.patch
multimedia/gst1-plugins-base/patches/003-no-docs.patch
multimedia/gst1-plugins-good/Makefile
multimedia/gst1-plugins-good/patches/001-no-translations.patch
multimedia/gst1-plugins-good/patches/002-no-tests.patch
multimedia/gst1-plugins-good/patches/003-no-docs.patch
multimedia/gst1-plugins-ugly/Makefile
multimedia/gst1-plugins-ugly/patches/002-no-tests.patch
multimedia/gst1-plugins-ugly/patches/003-no-docs.patch
multimedia/gstreamer1/Makefile
multimedia/gstreamer1/patches/001-no-translations.patch
multimedia/gstreamer1/patches/002-no-tests.patch
multimedia/gstreamer1/patches/003-no-docs.patch
multimedia/gstreamer1/patches/010-gstplugin-use-lazy-symbol-binding.patch
net/acme/Makefile [new file with mode: 0644]
net/acme/files/acme-cbi.lua [new file with mode: 0644]
net/acme/files/acme-controller.lua [new file with mode: 0644]
net/acme/files/acme.config [new file with mode: 0644]
net/acme/files/acme.init [new file with mode: 0644]
net/acme/files/run.sh [new file with mode: 0644]
net/acme/files/uci-defaults-acme [new file with mode: 0644]
net/acme/patches/0001-remove-timestamp.patch [new file with mode: 0644]
net/adblock/Makefile
net/adblock/files/README.md
net/adblock/files/adblock-helper.sh
net/adblock/files/adblock-update.sh
net/adblock/files/adblock.conf
net/adblock/files/adblock.init
net/addrwatch/Makefile [new file with mode: 0644]
net/addrwatch/files/addrwatch.config [new file with mode: 0644]
net/addrwatch/files/addrwatch.init [new file with mode: 0644]
net/addrwatch/patches/001-fix-sys_siglist.patch [new file with mode: 0644]
net/addrwatch/patches/002-fix-uclibc-sysconf.patch [new file with mode: 0644]
net/apache/Makefile
net/apache/patches/005-httpd_conf.patch
net/apache/patches/006-remove-ssl3.patch [new file with mode: 0644]
net/aria2/Makefile
net/aria2/files/aria2.conf
net/aria2/files/aria2.init
net/ddns-scripts/Makefile
net/ddns-scripts/files/services
net/ddns-scripts/files/services_ipv6
net/freeradius2/files/radiusd.init
net/freeradius3/files/radiusd.init
net/git/Makefile
net/gnunet/Makefile
net/kismet/Makefile
net/kismet/patches/010-dont-add-host-include-paths.patch
net/kismet/patches/020-musl-include-fixes.patch
net/mini_snmpd/Makefile
net/mini_snmpd/files/mini_snmpd.init
net/obfsproxy/Makefile [new file with mode: 0644]
net/obfsproxy/files/obfsproxy.conf [new file with mode: 0644]
net/obfsproxy/files/obfsproxy.init [new file with mode: 0644]
net/obfsproxy/patches/001-exclude-tests.patch [new file with mode: 0644]
net/obfsproxy/patches/002-fix-python-path.patch [new file with mode: 0644]
net/obfsproxy/patches/003-remove-argparse-dependency-test.patch [new file with mode: 0644]
net/obfsproxy/patches/004-add-syslog-support.patch [new file with mode: 0644]
net/ocserv/Makefile
net/openssh/Makefile
net/openssh/patches/100-no_cast_fix.patch [deleted file]
net/radsecproxy/Makefile
net/radsecproxy/files/radsecproxy.conf [new file with mode: 0644]
net/radsecproxy/files/radsecproxy.init
net/tcpreplay/Makefile [new file with mode: 0644]
net/tcpreplay/patches/001-disable-dbus-link.patch [new file with mode: 0644]
net/vpnc/README
net/xl2tpd/Makefile
net/xl2tpd/files/l2tp.sh
utils/bandwidthd-php/Makefile [new file with mode: 0644]
utils/bandwidthd-php/files/bandwidthd-php.config [new file with mode: 0644]
utils/bandwidthd-php/files/bandwidthd-php.init [new file with mode: 0755]
utils/bandwidthd-php/files/details.php [new file with mode: 0644]
utils/bandwidthd-php/files/footer.php [new file with mode: 0644]
utils/bandwidthd-php/files/graph.php [new file with mode: 0644]
utils/bandwidthd-php/files/include.php [new file with mode: 0644]
utils/bandwidthd-php/files/index.php [new file with mode: 0644]
utils/bandwidthd-php/files/legend.gif [new file with mode: 0644]
utils/bandwidthd-php/files/logo.gif [new file with mode: 0644]
utils/coreutils/Makefile
utils/klish/Makefile
utils/qemu/Makefile
utils/relayctl/Makefile

index f5a5b157dfcda4177b5d9770e2a1909636d90f88..1f43efeab812b8f957abf214448c2464a5513f3a 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=netdata
-PKG_VERSION:=20160508-devel
+PKG_VERSION:=1.2.0
 PKG_RELEASE:=1
 PKG_MAINTAINER:=Sebastian Careba <nitroshift@yahoo.com>
 PKG_LICENSE:=GPL-3.0
@@ -17,7 +17,7 @@ PKG_LICENSE_FILES:=COPYING
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/firehol/netdata
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=0ec2db444011f5b6ebf41dab45502c27cd544af2
+PKG_SOURCE_VERSION:=bb4aa949f5ac825253d8adc6070661299abc1c3b
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 
 PKG_INSTALL:=1
@@ -28,7 +28,7 @@ include $(INCLUDE_DIR)/package.mk
 define Package/netdata
   SECTION:=admin
   CATEGORY:=Administration
-  DEPENDS:=+zlib
+  DEPENDS:=+zlib +libuuid
   TITLE:=Real-time performance monitoring tool
   URL:=http://netdata.firehol.org/
 endef
index ec0fadf28f01320d6ce369f77da48cda211a21a7..e330183b0c94d6844b8602386610e2a2d2856e91 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=attrs
-PKG_VERSION:=15.2.0
+PKG_VERSION:=16.0.0
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://pypi.python.org/packages/source/a/attrs
-PKG_MD5SUM:=b3c460eb6482f6e557c0e4025475c007
+PKG_SOURCE_URL:=https://pypi.python.org/packages/89/15/80d388d696c8c8ba14874635207aa698eb30ef1242dbb54d9eccf0e927ff
+PKG_MD5SUM:=5bcdd418f6e83e580434c63067c08a73
 
 PKG_BUILD_DEPENDS:=python python-setuptools
 
index a3269601681bdf7b2034804b589370153a0e9042..a6627a5e446ec74988dc0263395afcbc7f44a491 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=cffi
-PKG_VERSION:=1.5.2
-PKG_RELEASE:=2
+PKG_VERSION:=1.7.0
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://pypi.python.org/packages/source/c/cffi
-PKG_MD5SUM:=fa766133f7299464c8bf857e0c966a82
+PKG_SOURCE_URL:=https://pypi.python.org/packages/83/3c/00b553fd05ae32f27b3637f705c413c4ce71290aa9b4c4764df694e906d9
+PKG_MD5SUM:=34122a545060cee58bab88feab57006d
 
 PKG_BUILD_DEPENDS:=python python-setuptools
 HOST_BUILD_DEPENDS:=libffi/host python/host python-setuptools/host python-pycparser/host
index 79875cf140987fb5ef190ec1e9466254451be910..85dd1aad7da09f282b8b98437dd41689ec8d12ce 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=cryptography
-PKG_VERSION:=1.3.1
+PKG_VERSION:=1.4
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://pypi.python.org/packages/source/c/cryptography
-PKG_MD5SUM:=bc8148d2ff2d80fef8ef2d2e856b3a7f
+PKG_SOURCE_URL:=https://pypi.python.org/packages/a9/5b/a383b3a778609fe8177bd51307b5ebeee369b353550675353f46cb99c6f0
+PKG_MD5SUM:=a9763e3831cc7cdb402c028fac1ceb39
 
 PKG_BUILD_DEPENDS:=python-cffi/host
 
diff --git a/lang/python-cryptography/patches/001-cmac-check.patch b/lang/python-cryptography/patches/001-cmac-check.patch
new file mode 100644 (file)
index 0000000..c76da42
--- /dev/null
@@ -0,0 +1,22 @@
+diff --git a/src/_cffi_src/openssl/cmac.py b/src/_cffi_src/openssl/cmac.py
+index f4a3686..bf52144 100644
+--- a/src/_cffi_src/openssl/cmac.py
++++ b/src/_cffi_src/openssl/cmac.py
+@@ -5,7 +5,7 @@
+ from __future__ import absolute_import, division, print_function
+ INCLUDES = """
+-#if OPENSSL_VERSION_NUMBER >= 0x10001000L
++#if !defined(OPENSSL_NO_CMAC) && OPENSSL_VERSION_NUMBER >= 0x10001000L
+ #include <openssl/cmac.h>
+ #endif
+ """
+@@ -28,7 +28,7 @@ void CMAC_CTX_free(CMAC_CTX *);
+ """
+ CUSTOMIZATIONS = """
+-#if OPENSSL_VERSION_NUMBER < 0x10001000L
++#if defined(OPENSSL_NO_CMAC) || OPENSSL_VERSION_NUMBER < 0x10001000L
+ static const long Cryptography_HAS_CMAC = 0;
+ typedef void CMAC_CTX;
index a92be90cffba9cd075bc9702b812c9f6d6dab321..8337825e4abc3130c6eef5873f39582770cd5db7 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2015 OpenWrt.org
+# Copyright (C) 2015-2016 OpenWrt.org
 #
 # 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:=gmpy2
-PKG_VERSION:=2.0.7
+PKG_VERSION:=2.0.8
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).zip
-PKG_SOURCE_URL:=https://pypi.python.org/packages/source/g/gmpy2
-PKG_MD5SUM:=b5aada3ee5afb316ea94604f45192054
+PKG_SOURCE_URL:=https://pypi.python.org/packages/90/f4/9a2e384b325b69bc5827b9a6510a8fb4a51698c915c06a3f25a86458892a
+PKG_MD5SUM:=56d40bddcf8f22be0a36d60f764f3241
 
 PKG_LICENSE:=LGPL-3.0+
 PKG_LICENSE_FILES:=COPYING.LESSER
index ba28e10c5e58c78e28fa2cba9abcca0ea5298aed..03bb5333f36e51a4149819a697dd08361360dea7 100644 (file)
@@ -8,14 +8,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-pyserial
-PKG_VERSION:=2.7
+PKG_VERSION:=3.1.1
 PKG_RELEASE:=1
 PKG_MAINTAINER:=Micke Prag <micke.prag@telldus.se>
 PKG_LICENSE:=Python-2.0
 
 PKG_SOURCE:=pyserial-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://pypi.python.org/packages/source/p/pyserial/
-PKG_MD5SUM:=794506184df83ef2290de0d18803dd11
+PKG_SOURCE_URL:=http://pypi.python.org/packages/3c/d8/a9fa247ca60b02b3bebbd61766b4f321393b57b13c53b18f6f62cf172c08/
+PKG_MD5SUM:=2f72100de3e410b36d575e12e82e9d27
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/pyserial-$(PKG_VERSION)
 PKG_BUILD_DEPENDS:=python
@@ -37,7 +37,7 @@ define Package/python-pyserial/description
 endef
 
 define Build/Compile
-       $(call Build/Compile/PyMod,,install --prefix="$(PKG_INSTALL_DIR)/usr")
+       $(call Build/Compile/PyMod,,install --prefix=/usr --root="$(PKG_INSTALL_DIR)")
 endef
 
 define Package/python-pyserial/install
index 0b917ddf95e69a15a97ab9eab1615d185c697205..6636805a8a367b07c660639e3a5c3cc83fe6064a 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=twisted
-PKG_VERSION:=16.0.0
+PKG_VERSION:=16.3.0
 PKG_RELEASE:=1
 
 PKG_SOURCE:=Twisted-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=https://pypi.python.org/packages/source/T/Twisted \
-               http://twistedmatrix.com/Releases/Twisted/16.0
-PKG_MD5SUM:=c6aa35e9a1e40fce6797247f39647d2a
+PKG_SOURCE_URL:=https://pypi.python.org/packages/c0/7c/c1e5b61e30b7ffc96576d2a922615c8068e6996a622be813fc626cef07aa \
+               http://twistedmatrix.com/Releases/Twisted/16.3
+PKG_MD5SUM:=e044af844623e9fbcbe29f578db6053a
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/Twisted-$(PKG_VERSION)
 PKG_BUILD_DEPENDS:=python python-setuptools USE_MUSL:librpc
@@ -43,15 +43,9 @@ endef
 
 define PyPackage/twisted/filespec
 +|/usr/bin
--|/usr/bin/manhole
--|/usr/bin/tap2deb
--|/usr/bin/tap2rpm
 -|/usr/bin/tkconch
 +|$(PYTHON_PKG_DIR)
 -|$(PYTHON_PKG_DIR)/twisted/conch/scripts/tkconch.py
--|$(PYTHON_PKG_DIR)/twisted/scripts/manhole.py
--|$(PYTHON_PKG_DIR)/twisted/scripts/tap2deb.py
--|$(PYTHON_PKG_DIR)/twisted/scripts/tap2rpm.py
 endef
 
 define Build/Compile
index f7b04869c3a0a9cc6b138a4900f2f7aec48945a4..6cb85c6095e59d1e4e0ed7b19b066d4e0d97fba7 100644 (file)
@@ -1,8 +1,9 @@
-diff -Nur a/twisted/python/twisted-completion.zsh b/twisted/python/twisted-completion.zsh
---- a/twisted/python/twisted-completion.zsh    2015-11-29 11:30:47.000000000 +0800
-+++ b/twisted/python/twisted-completion.zsh    2015-11-30 20:05:59.755695237 +0800
+diff --git a/twisted/python/twisted-completion.zsh b/twisted/python/twisted-completion.zsh
+index 4d97aa5..9a8d4d8 100644
+--- a/twisted/python/twisted-completion.zsh
++++ b/twisted/python/twisted-completion.zsh
 @@ -1,4 +1,4 @@
--#compdef twistd trial conch cftp ckeygen pyhtmlizer tap2deb tkconch manhole tap2rpm
+-#compdef twistd trial conch cftp ckeygen pyhtmlizer tkconch
 +#compdef twistd trial conch cftp ckeygen pyhtmlizer
  #
  # This is the ZSH completion file for Twisted commands. It calls the current
index 58c004fcc90b40e2ba51e936262cfe88bcc549a8..531f96402ac73dac094cc6d7a82edd1251622a79 100644 (file)
@@ -1,32 +1,37 @@
-diff -Nur a/setup.py b/setup.py
---- a/setup.py 2015-11-29 11:30:46.000000000 +0800
-+++ b/setup.py 2015-12-02 18:22:10.251268303 +0800
-@@ -49,11 +49,11 @@
-     scripts = getScripts()
+diff --git a/setup.py b/setup.py
+index d10f17d..d347d64 100755
+--- a/setup.py
++++ b/setup.py
+@@ -40,11 +40,12 @@ def main(args):
+     setup_args = STATIC_PACKAGE_METADATA.copy()
  
      setup_args.update(dict(
--        packages=getPackages('twisted'),
-+        packages=getPackages('twisted', ignore=['test']),
+-        packages=setuptools.find_packages(),
++        packages=setuptools.find_packages(exclude=["*.test", "*.test.*"]),
+         install_requires=requirements,
          conditionalExtensions=getExtensions(),
-         scripts=scripts,
+         scripts=getScripts(),
+         include_package_data=True,
++        exclude_package_data={'':['test/*']},
+         zip_safe=False,
          extras_require=_EXTRAS_REQUIRE,
--        data_files=getDataFiles('twisted'),
-+        data_files=getDataFiles('twisted', ignore=['test']),
-         **STATIC_PACKAGE_METADATA))
-     setup(**setup_args)
-diff -Nur a/twisted/python/dist.py b/twisted/python/dist.py
---- a/twisted/python/dist.py   2015-11-29 11:30:47.000000000 +0800
-+++ b/twisted/python/dist.py   2015-12-02 19:21:20.076370379 +0800
-@@ -268,11 +268,6 @@
+     ))
+diff --git a/twisted/python/dist.py b/twisted/python/dist.py
+index aac2756..5633f09 100644
+--- a/twisted/python/dist.py
++++ b/twisted/python/dist.py
+@@ -182,10 +182,10 @@ def getExtensions():
+     Get the C extensions used for Twisted.
      """
      extensions = [
-         ConditionalExtension(
+-        ConditionalExtension(
 -            "twisted.test.raiser",
 -            ["twisted/test/raiser.c"],
 -            condition=lambda _: _isCPython),
--
--        ConditionalExtension(
++        #ConditionalExtension(
++        #    "twisted.test.raiser",
++        #    ["twisted/test/raiser.c"],
++        #    condition=lambda _: _isCPython),
+         ConditionalExtension(
              "twisted.internet.iocpreactor.iocpsupport",
-             ["twisted/internet/iocpreactor/iocpsupport/iocpsupport.c",
-              "twisted/internet/iocpreactor/iocpsupport/winsock_pointers.c"],
index 3a1222955386fcbdd5af30ab670f4ee847239baf..a0fdad72050b97bcfab0880d50ccf09365486c39 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2006-2015 OpenWrt.org
+# Copyright (C) 2006-2016 OpenWrt.org
 #
 # 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:=zope.interface
-PKG_VERSION:=4.1.3
+PKG_VERSION:=4.2.0
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://pypi.python.org/packages/source/z/zope.interface
-PKG_MD5SUM:=9ae3d24c0c7415deb249dd1a132f0f79
+PKG_SOURCE_URL:=https://pypi.python.org/packages/ea/a3/38bdc8e8bd068ea5b4d21a2d80eca1547cd8509318e8d7c875f7247abe43
+PKG_MD5SUM:=2950a6db7e985e19c7a846cc20f5d82a
 
 PKG_BUILD_DEPENDS:=python python-setuptools
 
diff --git a/libs/libnfc/Makefile b/libs/libnfc/Makefile
deleted file mode 100644 (file)
index c5369cc..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-#
-# Copyright (C) 2007-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:=libnfc
-PKG_VERSION:=1.7.1
-PKG_RELEASE:=1
-PKG_INSTALL:=1
-PKG_FIXUP:=autoreconf
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_URL:=https://github.com/nfc-tools/libnfc
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_VERSION:=$(PKG_NAME)-$(PKG_VERSION)
-
-PKG_LICENSE:=LGPL-2.1
-PKG_MAINTAINER:=Sebastian Wendel <packages@sourceindex.de>
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/libnfc/Default
-       TITLE:=A open source library for Near Field Communication (NFC)
-       URL:=http://nfc-tools.org/
-endef
-
-define Package/libnfc
-       $(call Package/libnfc/Default)
-       SECTION:=libs
-       CATEGORY:=Libraries
-       DEPENDS:=+libusb-compat +pcscd +ccid
-endef
-
-define Package/libnfc/description
-       libnfc is the first libre, platform-independent, low level NFC SDK and Programmers API
-
-       * manipulate Jewel Topaz tags using libnfc
-       * manipulate MIFARE Classic and Ultralight tags using libnfc
-
-endef
-
-define Package/nfc-utils
-       $(call Package/libnfc/Default)
-       SECTION:=utils
-       CATEGORY:=Utilities
-       DEPENDS:=+libnfc
-endef
-
-define Package/nfc-utils/description
-       Provide some examples shared functions like print, parity calculation, options parsing
-
-       * Emulates a NFC Forum Tag Type 4 v2.0 (or v1.0)
-       * Jewel dump/restore tool
-       * Lists the first target present of each founded device
-       * MIFARE Classic manipulation example
-       * MIFARE Ultralight dump/restore tool
-       * Extract NDEF Message from a NFC Forum Tag Type 3
-       * Relay example using two PN532 devices
-       * Lists each available NFC device
-
-endef
-
-TARGET_CFLAGS+=$(FPIC)
-CONFIGURE_ARGS+=--without-readline
-
-define Build/InstallDev
-       $(INSTALL_DIR) $(1)/usr/include
-       $(CP) $(PKG_INSTALL_DIR)/usr/include/nfc $(1)/usr/include/
-       $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnfc.{a,so*} $(1)/usr/lib/
-       $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libnfc.pc $(1)/usr/lib/pkgconfig/
-endef
-
-define Package/libnfc/install
-       $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnfc.so.* $(1)/usr/lib/
-endef
-
-define Package/nfc-utils/install
-       $(INSTALL_DIR) $(1)/usr/bin
-       $(CP) $(PKG_INSTALL_DIR)/usr/bin/nfc-emulate-forum-tag4 $(1)/usr/bin/
-       $(CP) $(PKG_INSTALL_DIR)/usr/bin/nfc-jewel $(1)/usr/bin/
-       $(CP) $(PKG_INSTALL_DIR)/usr/bin/nfc-list $(1)/usr/bin/
-       $(CP) $(PKG_INSTALL_DIR)/usr/bin/nfc-mfclassic $(1)/usr/bin/
-       $(CP) $(PKG_INSTALL_DIR)/usr/bin/nfc-mfultralight $(1)/usr/bin/
-       $(CP) $(PKG_INSTALL_DIR)/usr/bin/nfc-read-forum-tag3 $(1)/usr/bin/
-       $(CP) $(PKG_INSTALL_DIR)/usr/bin/nfc-relay-picc $(1)/usr/bin/
-       $(CP) $(PKG_INSTALL_DIR)/usr/bin/nfc-scan-device $(1)/usr/bin/
-endef
-
-$(eval $(call BuildPackage,libnfc))
-$(eval $(call BuildPackage,nfc-utils))
index a30028fbdf2b4b2fe0dc93b39476ab369ac60ada..f9bd2c794ec73967a6ffe45f5bf5678e80589f04 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=sqlite
 PKG_VERSION:=3130000
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-autoconf-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.sqlite.org/2016/
@@ -74,6 +74,7 @@ TARGET_CFLAGS += $(FPIC) \
 CONFIGURE_ARGS += \
        --enable-shared \
        --enable-static \
+       --disable-editline
 
 CONFIGURE_VARS += \
        config_BUILD_CC="$(HOSTCC)" \
index 4f9dce3a3eb59519d9a82eea78bbf7d8e51a92ea..0c3af6df62eaf7226f39fb5aeb3858b8f8434b18 100644 (file)
@@ -1,6 +1,6 @@
 #
 # Copyright (C) 2009 David Cooper <dave@kupesoft.com>
-# Copyright (C) 2009-2015 OpenWrt.org
+# Copyright (C) 2009-2016 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=msmtp
 PKG_VERSION:=1.6.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@SF/msmtp
@@ -26,10 +26,12 @@ PKG_INSTALL:=1
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
 
 include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/nls.mk
 
 define Package/msmtp/Default
   SECTION:=mail
   CATEGORY:=Mail
+  DEPENDS:=$(INTL_DEPENDS)
   TITLE:=Simple sendmail SMTP forwarding
   URL:=http://msmtp.sourceforge.net/
 endef
index 760dad6bf73ddad56992d3576ec553694dad8493..e9413b0d20c6cef82d3fc7ea0fe112a40bde7b78 100644 (file)
@@ -1,11 +1,10 @@
-menu "Configuration"
-       depends on PACKAGE_libffmpeg-custom
+if PACKAGE_libffmpeg-custom
 
 config FFMPEG_CUSTOM_PATENTED
        bool "Include patented codecs and technologies"
        default BUILD_PATENTED
 
-comment "Profiles ---"
+comment "Profiles"
 
 config FFMPEG_CUSTOM_FFSERVER_SUPPORT
        bool "Include support for ffserver (FFmpeg streaming server)"
@@ -68,6 +67,7 @@ config FFMPEG_CUSTOM_AUDIO_DEC_SUPPORT
        select FFMPEG_CUSTOM_DECODER_pcm_s16be
        select FFMPEG_CUSTOM_DECODER_pcm_s16le
        select FFMPEG_CUSTOM_SELECT_speex
+       select FFMPEG_CUSTOM_SELECT_libopus
        select FFMPEG_CUSTOM_DECODER_vorbis
        select FFMPEG_CUSTOM_DECODER_wavpack
        select FFMPEG_CUSTOM_DECODER_wmav1
@@ -108,7 +108,14 @@ config FFMPEG_CUSTOM_AUDIO_DEC_SUPPORT
        select FFMPEG_CUSTOM_PROTOCOL_tcp
        select FFMPEG_CUSTOM_PROTOCOL_udp
 
-comment "External Libraries ---"
+comment "External Libraries"
+
+config FFMPEG_CUSTOM_SELECT_mp3lame
+       bool "MP3 LAME"
+       depends on FFMPEG_CUSTOM_PATENTED
+       select FFMPEG_CUSTOM_DECODER_mp3
+       select FFMPEG_CUSTOM_MUXER_mp3
+       select FFMPEG_CUSTOM_DEMUXER_mp3
 
 config FFMPEG_CUSTOM_SELECT_libopus
        bool "Opus"
@@ -116,7 +123,15 @@ config FFMPEG_CUSTOM_SELECT_libopus
 config FFMPEG_CUSTOM_SELECT_speex
        bool "Speex"
 
-comment "Encoders ---"
+config FFMPEG_CUSTOM_SELECT_x264
+       depends on FFMPEG_CUSTOM_PATENTED
+       bool "x264"
+       select FFMPEG_CUSTOM_DECODER_h264
+       select FFMPEG_CUSTOM_MUXER_h264
+       select FFMPEG_CUSTOM_DEMUXER_h264
+       select FFMPEG_CUSTOM_PARSER_h264
+
+comment "Encoders"
 
 config FFMPEG_CUSTOM_ENCODER_ac3
        bool "AC3"
@@ -153,7 +168,7 @@ config FFMPEG_CUSTOM_ENCODER_vorbis
 config FFMPEG_CUSTOM_ENCODER_zlib
        bool "Zlib"
 
-comment "Decoders ---"
+comment "Decoders"
 
 config FFMPEG_CUSTOM_DECODER_aac
        bool "AAC (Advanced Audio Coding)"
@@ -261,7 +276,7 @@ config FFMPEG_CUSTOM_DECODER_wmav2
 config FFMPEG_CUSTOM_DECODER_zlib
        bool "Zlib"
 
-comment "Muxers ---"
+comment "Muxers"
 
 config FFMPEG_CUSTOM_MUXER_ac3
        bool "AC3"
@@ -295,7 +310,7 @@ config FFMPEG_CUSTOM_MUXER_ogg
 config FFMPEG_CUSTOM_MUXER_rtp
        bool "RTP"
 
-comment "Demuxers ---"
+comment "Demuxers"
 
 config FFMPEG_CUSTOM_DEMUXER_aac
        bool "AAC"
@@ -376,7 +391,7 @@ config FFMPEG_CUSTOM_DEMUXER_wav
 config FFMPEG_CUSTOM_DEMUXER_wv
        bool "WV"
 
-comment "Parsers ---"
+comment "Parsers"
 
 config FFMPEG_CUSTOM_PARSER_aac
        bool "AAC (Advanced Audio Coding)"
@@ -405,7 +420,7 @@ config FFMPEG_CUSTOM_PARSER_mpeg4video
 config FFMPEG_CUSTOM_PARSER_opus
        bool "Opus"
 
-comment "Protocols ---"
+comment "Protocols"
 
 config FFMPEG_CUSTOM_PROTOCOL_file
        bool "file:"
@@ -430,5 +445,5 @@ config FFMPEG_CUSTOM_PROTOCOL_tcp
 config FFMPEG_CUSTOM_PROTOCOL_udp
        bool "udp:"
 
-endmenu
 
+endif
index 3e4c693c51bed1052ae964782f8b9417000f5585..e79f5d630e3f54a41f533092a7853fc21929597f 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ffmpeg
-PKG_VERSION:=2.7.6
+PKG_VERSION:=2.8.7
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://ffmpeg.org/releases/
-PKG_MD5SUM:=578c88242872e58cf0db5f23faa4b2af
+PKG_MD5SUM:=7e5b1c98eedfc3a364fa8c4095deeae5
 PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
 
 PKG_LICENSE:=LGPL-2.1+ GPL-2+ LGPL-3
@@ -277,13 +277,12 @@ $(call Package/ffmpeg/Default/description)
  This package contains the FFmpeg streaming server.
 endef
 
-
 define Package/libffmpeg/Default
 $(call Package/ffmpeg/Default)
  SECTION:=libs
  CATEGORY:=Libraries
  TITLE+= libraries
- DEPENDS+= +libpthread +zlib +libbz2
+ DEPENDS+= @BUILD_PATENTED +libpthread +zlib +libbz2
  PROVIDES:= libffmpeg
 endef
 
@@ -291,7 +290,8 @@ endef
 define Package/libffmpeg-custom
 $(call Package/libffmpeg/Default)
  TITLE+= (custom)
- DEPENDS+= @DEVEL @!ALL +libopus +libspeex
+ DEPENDS+= +FFMPEG_CUSTOM_SELECT_libopus:libopus +FFMPEG_CUSTOM_SELECT_speex:libspeex \
+           +FFMPEG_CUSTOM_SELECT_x264:libx264 +FFMPEG_CUSTOM_SELECT_mp3lame:lame-lib
  VARIANT:=custom
  MENU:=1
 endef
@@ -310,7 +310,7 @@ endef
 define Package/libffmpeg-audio-dec
 $(call Package/libffmpeg/Default)
  TITLE+= (audio)
- DEPENDS+= @BUILD_PATENTED +libspeex
+ DEPENDS+= +libspeex +libopus
  VARIANT:=audio-dec
 endef
 
@@ -324,7 +324,7 @@ endef
 define Package/libffmpeg-full
 $(call Package/libffmpeg/Default)
  TITLE+= (full)
- DEPENDS+= @BUILD_PATENTED +alsa-lib
+ DEPENDS+= +alsa-lib +libx264 +lame-lib +libopus +libspeex
  VARIANT:=full
 endef
 
@@ -338,7 +338,6 @@ endef
 define Package/libffmpeg-mini
 $(call Package/libffmpeg/Default)
  TITLE+= (mini)
- DEPENDS+= @BUILD_PATENTED
  VARIANT:=mini
 endef
 
@@ -387,10 +386,8 @@ FFMPEG_CONFIGURE:= \
        --disable-fma3 \
        --disable-fma4 \
        --disable-avx2 \
-       --disable-vfp \
-       --disable-neon \
-       --disable-inline-asm \
        --disable-yasm \
+       --disable-inline-asm \
        --disable-mips32r2 \
        --disable-mipsdspr1 \
        --disable-mipsdspr2 \
@@ -403,6 +400,33 @@ FFMPEG_CONFIGURE:= \
        --disable-vdpau \
        --disable-outdevs
 
+
+#selectibly disable optimizations according to arch/cpu type
+ifneq ($(findstring arm,$(CONFIG_ARCH)),)
+       ifeq (,$(findstring vfp,$(CONFIG_TARGET_OPTIMIZATION)))
+               FFMPEG_CONFIGURE+= \
+                       --disable-vfp
+       endif
+       ifeq (,$(findstring neon,$(CONFIG_TARGET_OPTIMIZATION)))
+               FFMPEG_CONFIGURE+= \
+                       --disable-neon
+       endif
+
+else ifneq ($(ARCH),aarch64)
+       FFMPEG_CONFIGURE+= \
+               --disable-vfp \
+               --disable-neon
+
+endif
+
+ifeq ($(BUILD_VARIANT),full)
+       FFMPEG_CONFIGURE+= \
+               --enable-libopus --enable-decoder=libopus \
+               --enable-libspeex --enable-decoder=libspeex \
+               --enable-libx264 \
+               --enable-libmp3lame
+endif
+
 ifeq ($(BUILD_VARIANT),custom)
 
   FFMPEG_ENABLE= \
@@ -434,14 +458,22 @@ endif
 
 ifeq ($(CONFIG_FFMPEG_CUSTOM_SELECT_libopus),y)
   FFMPEG_CONFIGURE+= \
-       --enable-libopus --enable-decoder=libopus \
-
+       --enable-libopus --enable-decoder=libopus
 endif
 
 ifeq ($(CONFIG_FFMPEG_CUSTOM_SELECT_speex),y)
   FFMPEG_CONFIGURE+= \
-       --enable-libspeex --enable-decoder=libspeex \
+       --enable-libspeex --enable-decoder=libspeex
+endif
+
+ifeq ($(CONFIG_FFMPEG_CUSTOM_SELECT_x264),y)
+  FFMPEG_CONFIGURE+= \
+       --enable-libx264 --enable-decoder=libx264
+endif
 
+ifeq ($(CONFIG_FFMPEG_CUSTOM_SELECT_mp3lame),y)
+  FFMPEG_CONFIGURE+= \
+       --enable-libmp3lame --enable-encoder=mp3
 endif
 
 endif
@@ -593,7 +625,9 @@ Package/libffmpeg-audio-dec/install = $(Package/libffmpeg-custom/install)
 $(eval $(call BuildPackage,ffmpeg))
 $(eval $(call BuildPackage,ffprobe))
 $(eval $(call BuildPackage,ffserver))
-$(eval $(call BuildPackage,libffmpeg-custom))
+$(eval $(call BuildPackage,libffmpeg-audio-dec))
 $(eval $(call BuildPackage,libffmpeg-full))
 $(eval $(call BuildPackage,libffmpeg-mini))
-$(eval $(call BuildPackage,libffmpeg-audio-dec))
+ifneq ($(CONFIG_ALL),y)
+   $(eval $(call BuildPackage,libffmpeg-custom))
+endif
index 4bbd23c23e800ff55fd0ecdca438995b97f8a6b5..6017310e246ccad59202862b68f86745906c2ff7 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2006-2015 OpenWrt.org
+# Copyright (C) 2006-2016 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,14 +8,15 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gst1-libav
-PKG_VERSION:=1.6.2
+PKG_VERSION:=1.8.2
 PKG_RELEASE:=1
 
-PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
+PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \
+               Ted Hess <thess@kitschensync.net>
 
 PKG_SOURCE:=gst-libav-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://gstreamer.freedesktop.org/src/gst-libav
-PKG_MD5SUM:=09644a38827d233f53edeac815dd0ec0
+PKG_MD5SUM:=b5f3c7a27b39b5f5c2f0bfd546b0c655020faf6b38d27b64b346c43e5ebf687a
 
 PKG_LICENSE:=GPL-2.0 LGPL-2.0
 PKG_LICENSE_FILES:=COPYING COPYING.LIB
@@ -53,7 +54,6 @@ LIBAV_DECODERS:= \
        mpeg1video \
        mpeg2video \
        mpeg4 \
-       mpeg4aac \
        mpegvideo \
        pcm_s16be \
        pcm_s16le \
@@ -121,7 +121,7 @@ define Package/gst1-libav
   URL:=http://www.gstreamer.net/modules/gst-libav.html
   DEPENDS:= +libgstreamer1 +gstreamer1-plugins-base \
            +gst1-mod-alsa +libgst1audio +libgst1pbutils +libgst1video \
-           +libbz2
+           +libbz2 +liblzma
 endef
 
 define Package/gst1-libav/description
@@ -146,7 +146,7 @@ LIBAV_CONFIGURE_PROTOCOLS:=$(call FILTER_CONFIG,PROTOCOL,protocol,$(LIBAV_PROTOC
 
 CONFIGURE_ARGS += \
        --without-system-libav \
-       --with-libav-extra-configure="--target-os=linux \
+       --with-libav-extra-configure="--target-os=linux --cpu=$(CONFIG_CPU_TYPE) \
        --disable-bsfs \
        --disable-programs \
        --disable-devices \
@@ -179,21 +179,13 @@ CONFIGURE_ARGS += \
        --disable-fma3 \
        --disable-fma4 \
        --disable-avx2 \
-       --disable-vfp \
-       --disable-neon \
        --disable-inline-asm \
        --disable-yasm"
 
-# XXX: trick to force use of embedded Libav headers
-TARGET_CFLAGS += $(TARGET_CPPFLAGS) -D_GNU_SOURCE
-TARGET_CPPFLAGS :=
+TARGET_CFLAGS += -D_GNU_SOURCE
 
 TARGET_LDFLAGS += $(FPIC)
 
-define Build/Prepare
-$(call Build/Prepare/Default)
-endef
-
 define Package/gst1-libav/install
        $(INSTALL_DIR) $(1)/usr/lib/gstreamer-$(GST_VERSION)
        ( cd $(PKG_INSTALL_DIR); $(CP) \
index d6e1fb600b3b046fcd0bb6aae85a5b6b72b6ca66..a2841458338829cd709bf4d2765dda0d77b222e4 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2011-2015 OpenWrt.org
+# Copyright (C) 2011-2016 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,10 +8,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gst1-plugins-bad
-PKG_VERSION:=1.6.2
+PKG_VERSION:=1.8.2
 PKG_RELEASE:=1
 
-PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
+PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \
+               Ted Hess <thess@kitschensync.net>
 
 PKG_LICENSE:=LGPLv2 GPLv2
 PKG_LICENSE_FILES:=COPYING.LIB COPYING
@@ -19,7 +20,7 @@ PKG_LICENSE_FILES:=COPYING.LIB COPYING
 PKG_BUILD_DIR:=$(BUILD_DIR)/gst-plugins-bad-$(PKG_VERSION)
 PKG_SOURCE:=gst-plugins-bad-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://gstreamer.freedesktop.org/src/gst-plugins-bad/
-PKG_MD5SUM:=7c73bec1d389f0e184ebbbbb9e9f883d
+PKG_MD5SUM:=d7995317530c8773ec088f94d9320909d41da61996b801ebacce9a56af493f97
 
 PKG_BUILD_DEPENDS:= libgstreamer1 gstreamer1-plugins-base
 
@@ -147,7 +148,6 @@ CONFIGURE_ARGS += \
        --disable-schro \
        --disable-zbar \
        --disable-srtp \
-       --disable-hls \
        \
        --without-libiconv-prefix \
        --without-libintl-prefix \
@@ -198,8 +198,11 @@ define GstBuildLibrary
   $$(eval $$(call BuildPackage,libgst1$(1)))
 endef
 
+$(eval $(call GstBuildLibrary,adaptivedemux,adaptivedemux,app uridownloader,))
 $(eval $(call GstBuildLibrary,photography,photography,,))
 $(eval $(call GstBuildLibrary,basecamerabinsrc,basecamerabinsrc,app,))
+$(eval $(call GstBuildLibrary,uridownloader,uridownloader,,))
+$(eval $(call GstBuildLibrary,badbase,badbase,,))
 
 # 1: short name
 # 2: description
@@ -242,22 +245,22 @@ $(eval $(call GstBuildPlugin,aiff,aiff support,audio tag,,))
 $(eval $(call GstBuildPlugin,asfmux,asf muxing support,rtp,,))
 $(eval $(call GstBuildPlugin,autoconvert,autoconvert support,,,))
 $(eval $(call GstBuildPlugin,bayer,bayer support,video,,))
-$(eval $(call GstBuildPlugin,camerabin2,camerabin support,basecamerabinsrc photography tag pbutils app,,))
+$(eval $(call GstBuildPlugin,camerabin2,camerabin support,basecamerabinsrc photography pbutils app,,))
 $(eval $(call GstBuildPlugin,dataurisrc,dataurisrc support,,,))
 $(eval $(call GstBuildPlugin,debugutilsbad,debugutils support,video,,))
 $(eval $(call GstBuildPlugin,dvdspu,dvdspu support,video,,))
 $(eval $(call GstBuildPlugin,fbdevsink,fbdev support,video,,))
 $(eval $(call GstBuildPlugin,festival,festival support,audio,,))
+$(eval $(call GstBuildPlugin,hls,HLS support,pbutils adaptivedemux,multifile,+libnettle))
 $(eval $(call GstBuildPlugin,frei0r,frei0r support,controller video,,))
 $(eval $(call GstBuildPlugin,id3tag,id3tag support,tag,,))
 $(eval $(call GstBuildPlugin,jpegformat,jpegformat support,tag,,))
-$(eval $(call GstBuildPlugin,liveadder,liveadder support,audio,,))
-$(eval $(call GstBuildPlugin,mpegpsdemux,mpegpsdemux support,pbutils tag,,))
+$(eval $(call GstBuildPlugin,mpegpsdemux,mpegpsdemux support,pbutils,,))
 $(eval $(call GstBuildPlugin,mpegpsmux,mpegpsmux support,,,))
-#$(eval $(call GstBuildPlugin,mpegtsdemux,mpegtsdemux support,mpegts pbutils tag,,))
+#$(eval $(call GstBuildPlugin,mpegtsdemux,mpegtsdemux support,mpegts pbutils,,))
 #$(eval $(call GstBuildPlugin,mpegtsmux,mpegtsmux support,video,,))
-$(eval $(call GstBuildPlugin,mxf,mxf support,audio video,,))
-$(eval $(call GstBuildPlugin,opus,OPUS plugin library,audio tag rtp,,+libopus))
+$(eval $(call GstBuildPlugin,mxf,mxf support,badbase audio video,,))
+$(eval $(call GstBuildPlugin,opusparse,OPUS streams library,pbutils,,+libopus))
 $(eval $(call GstBuildPlugin,pcapparse,pcapparse support,,,))
 $(eval $(call GstBuildPlugin,pnm,pnm support,video,,))
 $(eval $(call GstBuildPlugin,rawparse,rawparse support,audio video,,))
index 8ea31a72100a92ba648149faf2fda1c4f17421fe..ee5d05b3f046cdcda6d15ee70ce898b5cae2e4fa 100644 (file)
@@ -1,7 +1,6 @@
-diff -u --recursive gst-plugins-bad-1.6.2-vanilla/configure.ac gst-plugins-bad-1.6.2/configure.ac
---- gst-plugins-bad-1.6.2-vanilla/configure.ac 2016-01-01 10:40:17.883755147 -0500
-+++ gst-plugins-bad-1.6.2/configure.ac 2016-01-01 10:41:14.832426692 -0500
-@@ -3455,7 +3455,6 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -3717,7 +3717,6 @@ ext/x265/Makefile
  ext/xvid/Makefile
  ext/zbar/Makefile
  ext/dtls/Makefile
@@ -9,10 +8,9 @@ diff -u --recursive gst-plugins-bad-1.6.2-vanilla/configure.ac gst-plugins-bad-1
  docs/Makefile
  docs/plugins/Makefile
  docs/libs/Makefile
-diff -u --recursive gst-plugins-bad-1.6.2-vanilla/Makefile.am gst-plugins-bad-1.6.2/Makefile.am
---- gst-plugins-bad-1.6.2-vanilla/Makefile.am  2016-01-01 10:40:17.883755147 -0500
-+++ gst-plugins-bad-1.6.2/Makefile.am  2016-01-01 10:41:47.607858580 -0500
-@@ -2,11 +2,11 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -2,11 +2,11 @@ DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-d
  
  SUBDIRS = \
        gst-libs gst sys ext pkgconfig \
index 5d69bb1ece0ec26a22ff9c6470e81bd20df8ff65..3bef421c3d662a6714055020a02e6fe556de8aad 100644 (file)
@@ -1,7 +1,6 @@
-diff -u --recursive gst-plugins-bad-1.6.2-vanilla/configure.ac gst-plugins-bad-1.6.2/configure.ac
---- gst-plugins-bad-1.6.2-vanilla/configure.ac 2016-01-01 11:58:54.503551141 -0500
-+++ gst-plugins-bad-1.6.2/configure.ac 2016-01-01 11:50:38.388185503 -0500
-@@ -3355,37 +3355,6 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -3617,38 +3617,6 @@ sys/wasapi/Makefile
  sys/wininet/Makefile
  sys/winks/Makefile
  sys/winscreencap/Makefile
@@ -35,14 +34,14 @@ diff -u --recursive gst-plugins-bad-1.6.2-vanilla/configure.ac gst-plugins-bad-1
 -tests/examples/mxf/Makefile
 -tests/examples/opencv/Makefile
 -tests/examples/uvch264/Makefile
+-tests/examples/waylandsink/Makefile
 -tests/icles/Makefile
  ext/voamrwbenc/Makefile
  ext/voaacenc/Makefile
  ext/assrender/Makefile
-diff -u --recursive gst-plugins-bad-1.6.2-vanilla/Makefile.am gst-plugins-bad-1.6.2/Makefile.am
---- gst-plugins-bad-1.6.2-vanilla/Makefile.am  2016-01-01 11:58:54.504551169 -0500
-+++ gst-plugins-bad-1.6.2/Makefile.am  2016-01-01 11:50:06.848314203 -0500
-@@ -2,11 +2,11 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -2,11 +2,11 @@ DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-d
  
  SUBDIRS = \
        gst-libs gst sys ext pkgconfig \
index 34ae6056739a9710d5902df42d1e9407cdd740d4..53686fdd802ee7aba684d7c63ac90bbdd3e6c509 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2008-2015 OpenWrt.org
+# Copyright (C) 2008-2016 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,10 +8,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gst1-plugins-base
-PKG_VERSION:=1.6.2
+PKG_VERSION:=1.8.2
 PKG_RELEASE:=1
 
-PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
+PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \
+               Ted Hess <thess@kitschensync.net>
 
 PKG_LICENSE:=LGPLv2 GPLv2
 PKG_LICENSE_FILES:=COPYING.LIB COPYING
@@ -19,7 +20,7 @@ PKG_LICENSE_FILES:=COPYING.LIB COPYING
 PKG_BUILD_DIR:=$(BUILD_DIR)/gst-plugins-base-$(PKG_VERSION)
 PKG_SOURCE:=gst-plugins-base-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://gstreamer.freedesktop.org/src/gst-plugins-base/
-PKG_MD5SUM:=f530fbbe287edce79c55a37bd1a39fe2
+PKG_MD5SUM:=9d7109c8fb0a5dec8edb17b0053c59a46aba7ddf48dc48ea822ebbbd4339d38d
 
 PKG_BUILD_DEPENDS:= libgstreamer1
 PKG_CONFIG_DEPENDS:= \
@@ -227,7 +228,7 @@ $(eval $(call GstBuildLibrary,pbutils,utils,audio tag video,))
 $(eval $(call GstBuildLibrary,riff,RIFF media,audio tag,,))
 $(eval $(call GstBuildLibrary,rtp,RTP,,))
 $(eval $(call GstBuildLibrary,rtsp,RTSP,,))
-$(eval $(call GstBuildLibrary,sdp,SDP,,))
+$(eval $(call GstBuildLibrary,sdp,SDP,rtp,))
 $(eval $(call GstBuildLibrary,tag,tag support,,))
 $(eval $(call GstBuildLibrary,video,video,,))
 
@@ -275,6 +276,7 @@ $(eval $(call GstBuildPlugin,audiotestsrc,audio test,audio tag controller,,))
 $(eval $(call GstBuildPlugin,playback,media decoder (v2),pbutils,,))
 $(eval $(call GstBuildPlugin,gio,GIO,,,))
 $(eval $(call GstBuildPlugin,ogg,Ogg,riff tag pbutils video,,+libogg))
+$(eval $(call GstBuildPlugin,opus,OPUS plugin library,pbutils video,,+libopus))
 $(eval $(call GstBuildPlugin,tcp,TCP,net,,))
 $(eval $(call GstBuildPlugin,theora,Theora,tag video,,+libogg +libtheora))
 $(eval $(call GstBuildPlugin,typefindfunctions,'typefind' functions,audio pbutils tag video,,))
index 9a9ec776b6525ccb280d44b07630cb7a41d06c04..d4956062474dc496f2816ca54b30abb042d3221b 100644 (file)
@@ -1,7 +1,6 @@
-diff -u --recursive gst-plugins-base-1.6.2-vanilla/configure.ac gst-plugins-base-1.6.2/configure.ac
---- gst-plugins-base-1.6.2-vanilla/configure.ac        2016-01-01 10:40:17.931759357 -0500
-+++ gst-plugins-base-1.6.2/configure.ac        2016-01-01 10:43:44.374351388 -0500
-@@ -921,7 +921,6 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -929,7 +929,6 @@ docs/design/Makefile
  docs/libs/Makefile
  docs/plugins/Makefile
  docs/version.entities
@@ -9,10 +8,9 @@ diff -u --recursive gst-plugins-base-1.6.2-vanilla/configure.ac gst-plugins-base
  common/Makefile
  common/m4/Makefile
  m4/Makefile
-diff -u --recursive gst-plugins-base-1.6.2-vanilla/Makefile.am gst-plugins-base-1.6.2/Makefile.am
---- gst-plugins-base-1.6.2-vanilla/Makefile.am 2016-01-01 10:40:17.931759357 -0500
-+++ gst-plugins-base-1.6.2/Makefile.am 2016-01-01 10:44:17.403209313 -0500
-@@ -13,7 +13,6 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -13,7 +13,6 @@ SUBDIRS =                    \
        tools                   \
        tests                   \
        docs                    \
@@ -20,7 +18,7 @@ diff -u --recursive gst-plugins-base-1.6.2-vanilla/Makefile.am gst-plugins-base-
        common                  \
        m4
  
-@@ -24,7 +23,6 @@
+@@ -24,7 +23,6 @@ DIST_SUBDIRS =                       \
        gst sys ext             \
        tools                   \
        tests                   \
index 7754a2c75ec34b867d45504576d718da8d425289..f177d1832234366a23e50fedc370fa7e28841313 100644 (file)
@@ -1,7 +1,6 @@
-diff -u --recursive gst-plugins-base-1.6.2-vanilla/configure.ac gst-plugins-base-1.6.2/configure.ac
---- gst-plugins-base-1.6.2-vanilla/configure.ac        2016-01-01 12:00:43.489564691 -0500
-+++ gst-plugins-base-1.6.2/configure.ac        2016-01-01 12:02:24.452371618 -0500
-@@ -899,23 +899,6 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -907,23 +907,6 @@ pkgconfig/gstreamer-video.pc
  pkgconfig/gstreamer-video-uninstalled.pc
  pkgconfig/gstreamer-plugins-base.pc
  pkgconfig/gstreamer-plugins-base-uninstalled.pc
@@ -25,10 +24,9 @@ diff -u --recursive gst-plugins-base-1.6.2-vanilla/configure.ac gst-plugins-base
  docs/Makefile
  docs/design/Makefile
  docs/libs/Makefile
-diff -u --recursive gst-plugins-base-1.6.2-vanilla/Makefile.am gst-plugins-base-1.6.2/Makefile.am
---- gst-plugins-base-1.6.2-vanilla/Makefile.am 2016-01-01 12:00:43.489564691 -0500
-+++ gst-plugins-base-1.6.2/Makefile.am 2016-01-01 12:01:54.055525170 -0500
-@@ -11,7 +11,6 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -11,7 +11,6 @@ SUBDIRS =                    \
        gst-libs                \
        gst sys $(SUBDIRS_EXT)  \
        tools                   \
@@ -36,7 +34,7 @@ diff -u --recursive gst-plugins-base-1.6.2-vanilla/Makefile.am gst-plugins-base-
        docs                    \
        common                  \
        m4
-@@ -22,7 +21,6 @@
+@@ -22,7 +21,6 @@ DIST_SUBDIRS =                       \
        gst-libs                \
        gst sys ext             \
        tools                   \
index 6fa663dec96f874de287f2555ce3c9eab3063a9f..a12c7e75ef638ef6654728f7ce963d0ceb443b9f 100644 (file)
@@ -1,7 +1,6 @@
-diff -u --recursive gst-plugins-base-1.6.2-vanilla/configure.ac gst-plugins-base-1.6.2/configure.ac
---- gst-plugins-base-1.6.2-vanilla/configure.ac        2016-01-01 12:10:41.158319142 -0500
-+++ gst-plugins-base-1.6.2/configure.ac        2016-01-01 12:07:36.271107197 -0500
-@@ -899,11 +899,6 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -907,11 +907,6 @@ pkgconfig/gstreamer-video.pc
  pkgconfig/gstreamer-video-uninstalled.pc
  pkgconfig/gstreamer-plugins-base.pc
  pkgconfig/gstreamer-plugins-base-uninstalled.pc
@@ -13,10 +12,9 @@ diff -u --recursive gst-plugins-base-1.6.2-vanilla/configure.ac gst-plugins-base
  common/Makefile
  common/m4/Makefile
  m4/Makefile
-diff -u --recursive gst-plugins-base-1.6.2-vanilla/Makefile.am gst-plugins-base-1.6.2/Makefile.am
---- gst-plugins-base-1.6.2-vanilla/Makefile.am 2016-01-01 12:10:41.159319170 -0500
-+++ gst-plugins-base-1.6.2/Makefile.am 2016-01-01 12:07:32.869011473 -0500
-@@ -11,13 +11,11 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -11,13 +11,11 @@ SUBDIRS =                  \
        gst-libs                \
        gst sys $(SUBDIRS_EXT)  \
        tools                   \
index 8e7fcbe9038c6b3fdeef4bb09608cd7af2b67350..27b4e6983fc587ac892313af50621065881aedd1 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2009-2015 OpenWrt.org
+# Copyright (C) 2009-2016 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,10 +8,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gst1-plugins-good
-PKG_VERSION:=1.6.2
+PKG_VERSION:=1.8.2
 PKG_RELEASE:=1
 
-PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
+PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \
+               Ted Hess <thess@kitschensync.net>
 
 PKG_LICENSE:=LGPLv2
 PKG_LICENSE_FILES:=COPYING
@@ -19,7 +20,7 @@ PKG_LICENSE_FILES:=COPYING
 PKG_BUILD_DIR:=$(BUILD_DIR)/gst-plugins-good-$(PKG_VERSION)
 PKG_SOURCE:=gst-plugins-good-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://gstreamer.freedesktop.org/src/gst-plugins-good/
-PKG_MD5SUM:=ef4f5bc4f31f706832a234b0f603967b
+PKG_MD5SUM:=8d7549118a3b7a009ece6bb38a05b66709c551d32d2adfd89eded4d1d7a23944
 
 PKG_BUILD_DEPENDS:= libgstreamer1 gstreamer1-plugins-base
 
@@ -189,8 +190,8 @@ $(eval $(call GstBuildPlugin,flac,FLAC codec,audio pbutils tag,,+libflac))
 $(eval $(call GstBuildPlugin,flv,flv codec,audio pbutils tag video,,))
 $(eval $(call GstBuildPlugin,flxdec,flx codec,,,))
 #$(eval $(call GstBuildPlugin,gdkpixbuf,gdkpixbuf support,video,,))
-$(eval $(call GstBuildPlugin,goom2k1,goom support,audio video,,))
-$(eval $(call GstBuildPlugin,goom,goom support,audio video,,))
+$(eval $(call GstBuildPlugin,goom2k1,goom support,audio video pbutils,,))
+$(eval $(call GstBuildPlugin,goom,goom support,audio video pbutils,,))
 $(eval $(call GstBuildPlugin,icydemux,icy demuxer,audio tag,,))
 $(eval $(call GstBuildPlugin,id3demux,ID3v1/v2 demuxer,pbutils tag,,))
 $(eval $(call GstBuildPlugin,imagefreeze,imagefreeze support,,,))
index 6d3ace8e1613f3fec9d58f3333157572ba37cdc9..141187500510510839aeb4ec3eaadfe25426e351 100644 (file)
@@ -1,7 +1,6 @@
-diff -u --recursive gst-plugins-good-1.6.2-vanilla/configure.ac gst-plugins-good-1.6.2/configure.ac
---- gst-plugins-good-1.6.2-vanilla/configure.ac        2016-01-01 10:40:17.994764882 -0500
-+++ gst-plugins-good-1.6.2/configure.ac        2016-01-01 10:45:25.668599823 -0500
-@@ -1014,7 +1014,6 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -1049,7 +1049,6 @@ sys/sunaudio/Makefile
  sys/v4l2/Makefile
  sys/waveform/Makefile
  sys/ximage/Makefile
@@ -9,10 +8,9 @@ diff -u --recursive gst-plugins-good-1.6.2-vanilla/configure.ac gst-plugins-good
  tests/Makefile
  tests/check/Makefile
  tests/examples/Makefile
-diff -u --recursive gst-plugins-good-1.6.2-vanilla/Makefile.am gst-plugins-good-1.6.2/Makefile.am
---- gst-plugins-good-1.6.2-vanilla/Makefile.am 2016-01-01 10:40:17.994764882 -0500
-+++ gst-plugins-good-1.6.2/Makefile.am 2016-01-01 10:45:19.923089598 -0500
-@@ -4,7 +4,6 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -4,7 +4,6 @@ ALWAYS_SUBDIRS =               \
        gst sys ext             \
        tests                   \
        docs                    \
index 58ad73865736603757f24fc44c56738822c97181..b7a7dc761051b26ce99e3c5f56507359e3bc7d1c 100644 (file)
@@ -1,7 +1,6 @@
-diff -u --recursive gst-plugins-good-1.6.2-vanilla/configure.ac gst-plugins-good-1.6.2/configure.ac
---- gst-plugins-good-1.6.2-vanilla/configure.ac        2016-01-01 12:00:52.525815362 -0500
-+++ gst-plugins-good-1.6.2/configure.ac        2016-01-01 12:03:22.198982586 -0500
-@@ -1014,21 +1014,6 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -1049,21 +1049,6 @@ sys/sunaudio/Makefile
  sys/v4l2/Makefile
  sys/waveform/Makefile
  sys/ximage/Makefile
@@ -23,10 +22,9 @@ diff -u --recursive gst-plugins-good-1.6.2-vanilla/configure.ac gst-plugins-good
  common/Makefile
  common/m4/Makefile
  m4/Makefile
-diff -u --recursive gst-plugins-good-1.6.2-vanilla/Makefile.am gst-plugins-good-1.6.2/Makefile.am
---- gst-plugins-good-1.6.2-vanilla/Makefile.am 2016-01-01 12:00:52.525815362 -0500
-+++ gst-plugins-good-1.6.2/Makefile.am 2016-01-01 12:03:06.921556033 -0500
-@@ -2,7 +2,6 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -2,7 +2,6 @@ DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-d
  
  ALWAYS_SUBDIRS =              \
        gst sys ext             \
index c844d1a5ffea4fc12edb122eb6bc385ab68e113b..38a876f216fb5cae048bc06c68e7e0cc7a017dd4 100644 (file)
@@ -1,7 +1,6 @@
-diff -u --recursive gst-plugins-good-1.6.2-vanilla/configure.ac gst-plugins-good-1.6.2/configure.ac
---- gst-plugins-good-1.6.2-vanilla/configure.ac        2016-01-01 12:10:51.392608142 -0500
-+++ gst-plugins-good-1.6.2/configure.ac        2016-01-01 12:08:39.568889466 -0500
-@@ -1017,9 +1017,6 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -1052,9 +1052,6 @@ sys/ximage/Makefile
  common/Makefile
  common/m4/Makefile
  m4/Makefile
@@ -11,10 +10,9 @@ diff -u --recursive gst-plugins-good-1.6.2-vanilla/configure.ac gst-plugins-good
  pkgconfig/Makefile
  pkgconfig/gstreamer-plugins-good-uninstalled.pc
  gst-plugins-good.spec
-diff -u --recursive gst-plugins-good-1.6.2-vanilla/Makefile.am gst-plugins-good-1.6.2/Makefile.am
---- gst-plugins-good-1.6.2-vanilla/Makefile.am 2016-01-01 12:10:51.393608170 -0500
-+++ gst-plugins-good-1.6.2/Makefile.am 2016-01-01 12:08:35.442773216 -0500
-@@ -2,7 +2,6 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -2,7 +2,6 @@ DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-d
  
  ALWAYS_SUBDIRS =              \
        gst sys ext             \
index 78dfaf791c744a335925ab464f2e4e951b179111..2f6c334c34ad9df8dad708ee73afdf5451ffd2e1 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2009-2015 OpenWrt.org
+# Copyright (C) 2009-2016 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,10 +8,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gst1-plugins-ugly
-PKG_VERSION:=1.6.2
+PKG_VERSION:=1.8.2
 PKG_RELEASE:=1
 
-PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
+PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \
+               Ted Hess <thess@kitschensync.net>
 
 PKG_LICENSE:=LGPLv2
 PKG_LICENSE_FILES:=COPYING
@@ -19,7 +20,7 @@ PKG_LICENSE_FILES:=COPYING
 PKG_BUILD_DIR:=$(BUILD_DIR)/gst-plugins-ugly-$(PKG_VERSION)
 PKG_SOURCE:=gst-plugins-ugly-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://gstreamer.freedesktop.org/src/gst-plugins-ugly/
-PKG_MD5SUM:=0f0e30336e3155443cd5bfec5c215d56
+PKG_MD5SUM:=9c5b33a2a98fc1d6d6c99a1b536b1fb2de45f53cc8bf8ab85a8b8141fed1a8ac
 
 PKG_BUILD_DEPENDS:= libgstreamer1 gstreamer1-plugins-base
 PKG_CONFIG_DEPENDS:= \
index 993d4f30b2bff62c18bedfad15549e83775fa552..26cd48a3d85df1ca43453d65223c13da818b6c2b 100644 (file)
@@ -1,18 +1,17 @@
-diff -u --recursive gst-plugins-ugly-1.6.2-vanilla/configure.ac gst-plugins-ugly-1.6.2/configure.ac
---- gst-plugins-ugly-1.6.2-vanilla/configure.ac        2016-01-01 12:01:01.547065731 -0500
-+++ gst-plugins-ugly-1.6.2/configure.ac        2016-01-01 12:04:18.111545715 -0500
-@@ -467,8 +467,6 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -478,9 +478,6 @@ ext/x264/Makefile
  docs/Makefile
  docs/plugins/Makefile
  docs/version.entities
 -tests/Makefile
 -tests/check/Makefile
+-tests/files/Makefile
  m4/Makefile
  pkgconfig/Makefile
  pkgconfig/gstreamer-plugins-ugly-uninstalled.pc
-diff -u --recursive gst-plugins-ugly-1.6.2-vanilla/Makefile.am gst-plugins-ugly-1.6.2/Makefile.am
---- gst-plugins-ugly-1.6.2-vanilla/Makefile.am 2016-01-01 12:01:01.547065731 -0500
-+++ gst-plugins-ugly-1.6.2/Makefile.am 2016-01-01 12:04:12.087377153 -0500
+--- a/Makefile.am
++++ b/Makefile.am
 @@ -1,7 +1,7 @@
  DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
  
index 21093f7853301eda502d3c6cabe036b962390e22..3ef1255ade64341008e0379c722c95e033f90e65 100644 (file)
@@ -1,7 +1,6 @@
-diff -u --recursive gst-plugins-ugly-1.6.2-vanilla/configure.ac gst-plugins-ugly-1.6.2/configure.ac
---- gst-plugins-ugly-1.6.2-vanilla/configure.ac        2016-01-01 12:11:03.267943540 -0500
-+++ gst-plugins-ugly-1.6.2/configure.ac        2016-01-01 12:13:30.992120335 -0500
-@@ -464,9 +464,6 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -475,9 +475,6 @@ ext/mpg123/Makefile
  ext/sidplay/Makefile
  ext/twolame/Makefile
  ext/x264/Makefile
@@ -11,9 +10,8 @@ diff -u --recursive gst-plugins-ugly-1.6.2-vanilla/configure.ac gst-plugins-ugly
  m4/Makefile
  pkgconfig/Makefile
  pkgconfig/gstreamer-plugins-ugly-uninstalled.pc
-diff -u --recursive gst-plugins-ugly-1.6.2-vanilla/Makefile.am gst-plugins-ugly-1.6.2/Makefile.am
---- gst-plugins-ugly-1.6.2-vanilla/Makefile.am 2016-01-01 12:11:03.268943568 -0500
-+++ gst-plugins-ugly-1.6.2/Makefile.am 2016-01-01 12:13:28.110038773 -0500
+--- a/Makefile.am
++++ b/Makefile.am
 @@ -1,7 +1,7 @@
  DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
  
index cf11d9dbea239a03fd918a5e9abba69deae263fe..c75ac0ddd55e5bec148f18a047eb470fd3070d99 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2008-2015 OpenWrt.org
+# Copyright (C) 2008-2016 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,10 +8,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gstreamer1
-PKG_VERSION:=1.6.2
+PKG_VERSION:=1.8.2
 PKG_RELEASE:=1
 
-PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
+PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \
+               Ted Hess <thess@kitschensync.net>
 
 PKG_LICENSE:=LGPLv2
 PKG_LICENSE_FILES:=COPYING
@@ -19,7 +20,7 @@ PKG_LICENSE_FILES:=COPYING
 PKG_BUILD_DIR:=$(BUILD_DIR)/gstreamer-$(PKG_VERSION)
 PKG_SOURCE:=gstreamer-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://gstreamer.freedesktop.org/src/gstreamer/
-PKG_MD5SUM:=5e610b5a94c209487310739b39b6c464
+PKG_MD5SUM:=9dbebe079c2ab2004ef7f2649fa317cabea1feb4fb5605c24d40744b90918341
 
 PKG_FIXUP:=autoreconf
 PKG_REMOVE_FILES:=autogen.sh aclocal.m4
index f933ee040366ce6846833c4f154a2bad3c6d5070..9c5b590fdb2943b9d140522de33cbe5db3799a48 100644 (file)
@@ -1,18 +1,16 @@
-diff -u --recursive gstreamer-1.6.2-vanilla/configure.ac gstreamer-1.6.2/configure.ac
---- gstreamer-1.6.2-vanilla/configure.ac       2016-01-01 10:40:18.040768907 -0500
-+++ gstreamer-1.6.2/configure.ac       2016-01-01 10:48:24.160887684 -0500
-@@ -980,7 +980,6 @@
- libs/gst/net/Makefile
+--- a/configure.ac
++++ b/configure.ac
+@@ -998,7 +998,6 @@ libs/gst/net/Makefile
  plugins/Makefile
  plugins/elements/Makefile
+ plugins/tracers/Makefile
 -po/Makefile.in
  tests/Makefile
  tests/benchmarks/Makefile
  tests/check/Makefile
-diff -u --recursive gstreamer-1.6.2-vanilla/Makefile.am gstreamer-1.6.2/Makefile.am
---- gstreamer-1.6.2-vanilla/Makefile.am        2016-01-01 10:40:18.040768907 -0500
-+++ gstreamer-1.6.2/Makefile.am        2016-01-01 10:48:19.150568341 -0500
-@@ -9,7 +9,6 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -9,7 +9,6 @@ aclocal_DATA = gst-element-check-@GST_AP
  SUBDIRS = pkgconfig \
        gst libs plugins tests \
        docs \
@@ -20,7 +18,7 @@ diff -u --recursive gstreamer-1.6.2-vanilla/Makefile.am gstreamer-1.6.2/Makefile
        m4 \
        common \
        data
-@@ -22,7 +21,6 @@
+@@ -22,7 +21,6 @@ endif
  DIST_SUBDIRS = pkgconfig \
        gst libs plugins tools tests \
        docs \
index d2bf13d8e00d614852adfbda5b6805ed6ddde530..42874100b861ad6d49d03f344f2c3895d120fe8e 100644 (file)
@@ -1,10 +1,9 @@
-diff -u --recursive gstreamer-1.6.2-vanilla/configure.ac gstreamer-1.6.2/configure.ac
---- gstreamer-1.6.2-vanilla/configure.ac       2016-01-01 12:01:10.863324404 -0500
-+++ gstreamer-1.6.2/configure.ac       2016-01-01 12:05:07.794937166 -0500
-@@ -980,21 +980,6 @@
- libs/gst/net/Makefile
+--- a/configure.ac
++++ b/configure.ac
+@@ -998,21 +998,6 @@ libs/gst/net/Makefile
  plugins/Makefile
  plugins/elements/Makefile
+ plugins/tracers/Makefile
 -tests/Makefile
 -tests/benchmarks/Makefile
 -tests/check/Makefile
@@ -23,10 +22,9 @@ diff -u --recursive gstreamer-1.6.2-vanilla/configure.ac gstreamer-1.6.2/configu
  tools/Makefile
  common/Makefile
  common/m4/Makefile
-diff -u --recursive gstreamer-1.6.2-vanilla/Makefile.am gstreamer-1.6.2/Makefile.am
---- gstreamer-1.6.2-vanilla/Makefile.am        2016-01-01 12:01:10.862324377 -0500
-+++ gstreamer-1.6.2/Makefile.am        2016-01-01 12:05:03.190808129 -0500
-@@ -7,7 +7,7 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -7,7 +7,7 @@ aclocaldir = $(datadir)/aclocal
  aclocal_DATA = gst-element-check-@GST_API_VERSION@.m4
  
  SUBDIRS = pkgconfig \
@@ -35,7 +33,7 @@ diff -u --recursive gstreamer-1.6.2-vanilla/Makefile.am gstreamer-1.6.2/Makefile
        docs \
        m4 \
        common \
-@@ -19,7 +19,7 @@
+@@ -19,7 +19,7 @@ endif
  
  # These are all the possible subdirs
  DIST_SUBDIRS = pkgconfig \
index cd96d4c38a864abb65b278c778798ba5c2324e8b..3d1187ae64e7ed271b5b968836a51714c532b2af 100644 (file)
@@ -1,7 +1,6 @@
-diff -u --recursive gstreamer-1.6.2-vanilla/configure.ac gstreamer-1.6.2/configure.ac
---- gstreamer-1.6.2-vanilla/configure.ac       2016-01-01 12:11:19.150392204 -0500
-+++ gstreamer-1.6.2/configure.ac       2016-01-01 12:06:49.611795028 -0500
-@@ -983,18 +983,6 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -1001,18 +1001,6 @@ plugins/tracers/Makefile
  tools/Makefile
  common/Makefile
  common/m4/Makefile
@@ -20,10 +19,9 @@ diff -u --recursive gstreamer-1.6.2-vanilla/configure.ac gstreamer-1.6.2/configu
  m4/Makefile
  pkgconfig/Makefile
  stamp.h
-diff -u --recursive gstreamer-1.6.2-vanilla/Makefile.am gstreamer-1.6.2/Makefile.am
---- gstreamer-1.6.2-vanilla/Makefile.am        2016-01-01 12:11:19.151392233 -0500
-+++ gstreamer-1.6.2/Makefile.am        2016-01-01 12:06:41.546568365 -0500
-@@ -8,7 +8,6 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -8,7 +8,6 @@ aclocal_DATA = gst-element-check-@GST_AP
  
  SUBDIRS = pkgconfig \
        gst libs plugins \
@@ -31,7 +29,7 @@ diff -u --recursive gstreamer-1.6.2-vanilla/Makefile.am gstreamer-1.6.2/Makefile
        m4 \
        common \
        data
-@@ -20,7 +19,6 @@
+@@ -20,7 +19,6 @@ endif
  # These are all the possible subdirs
  DIST_SUBDIRS = pkgconfig \
        gst libs plugins tools \
index d5b317eddbbfc4188e826cbcfc09ae0be6ce1a0c..845406181921791a2379fa9eded502ba1943a5c8 100644 (file)
@@ -1,7 +1,6 @@
-diff -u --recursive gstreamer-1.6.2-vanilla/gst/gstplugin.c gstreamer-1.6.2/gst/gstplugin.c
---- gstreamer-1.6.2-vanilla/gst/gstplugin.c    2016-01-01 12:37:38.178990140 -0500
-+++ gstreamer-1.6.2/gst/gstplugin.c    2016-01-01 12:38:30.431328737 -0500
-@@ -732,15 +732,8 @@
+--- a/gst/gstplugin.c
++++ b/gst/gstplugin.c
+@@ -732,15 +732,8 @@ _priv_gst_plugin_load_file_for_registry
      goto return_error;
    }
  
diff --git a/net/acme/Makefile b/net/acme/Makefile
new file mode 100644 (file)
index 0000000..ee7df1c
--- /dev/null
@@ -0,0 +1,97 @@
+#
+# Copyright (C) 2016 Toke Høiland-Jørgensen
+#
+# This is free software, licensed under the GNU General Public License v3 or
+# later.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=acme
+PKG_SOURCE_VERSION:=1e6b68f5d187fa3d64c889d04a77ee1c79726282
+PKG_VERSION:=1.1
+PKG_RELEASE:=1
+PKG_LICENSE:=GPLv3
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE).tar.xz
+PKG_SOURCE_URL:=git://github.com/Neilpang/acme.sh.git
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)
+PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)
+LUCI_DIR:=/usr/lib/lua/luci
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/acme
+  SECTION:=net
+  CATEGORY:=Network
+  DEPENDS:=+curl +ca-certificates +uhttpd-mod-tls +openssl-util
+  TITLE:=ACME (Letsencrypt) client
+  PKGARCH:=all
+  MAINTAINER:=Toke Høiland-Jørgensen <toke@toke.dk>
+endef
+
+define Package/acme/description
+ A client for issuing Letsencrypt certificates.
+endef
+
+define Package/acme/conffiles
+/etc/config/acme
+/etc/acme
+endef
+
+define Build/Configure
+endef
+
+define Build/Compile
+endef
+
+define Package/acme/install
+       $(INSTALL_DIR) $(1)/etc/config
+       $(INSTALL_CONF) ./files/acme.config $(1)/etc/config/acme
+       $(INSTALL_DIR) $(1)/etc/init.d
+       $(INSTALL_BIN) ./files/acme.init $(1)/etc/init.d/acme
+       $(INSTALL_DIR) $(1)/usr/lib/acme
+       $(INSTALL_BIN) ./files/run.sh $(1)/usr/lib/acme/run-acme
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/acme.sh $(1)/usr/lib/acme/acme.sh
+endef
+
+define Package/luci-app-acme
+  SECTION:=luci
+  CATEGORY:=LuCI
+  TITLE:=ACME package - LuCI interface
+  MAINTAINER:=Toke Høiland-Jørgensen <toke@toke.dk>
+  PKGARCH:=all
+  DEPENDS:= lua luci-base +acme luci-app-uhttpd
+  SUBMENU:=3. Applications
+endef
+
+define Package/luci-app-acme/description
+       Control the ACME Letsencrypt certificate interface
+endef
+
+define Package/luci-app-acme/install
+       $(INSTALL_DIR) $(1)$(LUCI_DIR)/controller $(1)$(LUCI_DIR)/model/cbi
+       $(INSTALL_DATA) ./files/acme-controller.lua $(1)$(LUCI_DIR)/controller/acme.lua
+       $(INSTALL_DATA) ./files/acme-cbi.lua $(1)$(LUCI_DIR)/model/cbi/acme.lua
+       $(INSTALL_DIR) $(1)/etc/uci-defaults
+       $(INSTALL_BIN) ./files/uci-defaults-acme $(1)/etc/uci-defaults/luci-acme
+endef
+
+define Package/luci-app-acme/postinst
+#!/bin/sh
+[ -x /etc/uci-defaults/luci-acme ] && /etc/uci-defaults/luci-acme || exit 0
+endef
+
+define Package/luci-app-acme/postrm
+#!/bin/sh
+which uci > /dev/null || exit 0
+uci -q get ucitrack.@acme[0] > /dev/null && {
+  uci delete ucitrack.@acme[0]
+  uci commit
+}
+endef
+
+
+$(eval $(call BuildPackage,acme))
+$(eval $(call BuildPackage,luci-app-acme))
diff --git a/net/acme/files/acme-cbi.lua b/net/acme/files/acme-cbi.lua
new file mode 100644 (file)
index 0000000..a4f7956
--- /dev/null
@@ -0,0 +1,65 @@
+--[[
+LuCI - Lua Configuration Interface
+
+Copyright 2016 Toke Høiland-Jørgensen <toke@toke.dk>
+
+# This program is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 3 of the License, or (at your option) any later
+# version.
+
+]]--
+
+m = Map("acme", translate("ACME certificates"),
+       translate("This configures ACME (Letsencrypt) automatic certificate installation. " ..
+                  "Simply fill out this to have the router configured with Letsencrypt-issued " ..
+                  "certificates for the web interface. " ..
+                  "Note that the domain names in the certificate must already be configured to " ..
+                  "point at the router's public IP address. " ..
+                  "Once configured, issuing certificates can take a while. " ..
+                  "Check the logs for progress and any errors."))
+
+s = m:section(TypedSection, "acme", translate("ACME global config"))
+s.anonymous = true
+
+st = s:option(Value, "state_dir", translate("State directory"),
+              translate("Where certs and other state files are kept."))
+st.rmempty = false
+st.datatype = "string"
+
+ae = s:option(Value, "account_email", translate("Account email"),
+              translate("Email address to associate with account key."))
+ae.rmempty = false
+
+d = s:option(Flag, "debug", translate("Enable debug logging"))
+d.rmempty = false
+
+cs = m:section(TypedSection, "cert", translate("Certificate config"))
+cs.anonymous = false
+cs.addremove = true
+
+e = cs:option(Flag, "enabled", translate("Enabled"))
+e.rmempty = false
+
+us = cs:option(Flag, "use_staging", translate("Use staging server"),
+               translate("Get certificate from the Letsencrypt staging server " ..
+                         "(use for testing; the certificate won't be valid)."))
+us.rmempty = false
+
+kl = cs:option(Value, "keylength", translate("Key length"),
+               translate("Number of bits (minimum 2048)."))
+kl.rmempty = false
+kl.datatype = "and(uinteger,min(2048))"
+
+u = cs:option(Flag, "update_uhttpd", translate("Use for uhttpd"),
+              translate("Update the uhttpd config with this certificate once issued " ..
+                        "(only select this for one certificate)."))
+u.rmempty = false
+
+dom = cs:option(DynamicList, "domains", translate("Domain names"),
+                translate("Domain names to include in the certificate. " ..
+                          "The first name will be the subject name, subsequent names will be alt names. " ..
+                          "Note that all domain names must point at the router in the global DNS."))
+dom.datatype = "list(string)"
+
+return m
diff --git a/net/acme/files/acme-controller.lua b/net/acme/files/acme-controller.lua
new file mode 100644 (file)
index 0000000..acdd688
--- /dev/null
@@ -0,0 +1,7 @@
+module("luci.controller.acme", package.seeall)
+
+function index()
+       entry({"admin", "services", "acme"},
+               cbi("acme"),
+               _("ACME certs"), 50).dependent = false
+end
diff --git a/net/acme/files/acme.config b/net/acme/files/acme.config
new file mode 100644 (file)
index 0000000..c5cd7d3
--- /dev/null
@@ -0,0 +1,11 @@
+config acme
+       option state_dir '/etc/acme'
+       option account_email 'email@example.org'
+       option debug 0
+
+config cert 'example'
+       option enabled 0
+       option use_staging 0
+       option keylength 2048
+       option update_uhttpd 1
+       list domains example.org
diff --git a/net/acme/files/acme.init b/net/acme/files/acme.init
new file mode 100644 (file)
index 0000000..6de12b7
--- /dev/null
@@ -0,0 +1,34 @@
+#!/bin/sh /etc/rc.common
+
+USE_PROCD=1
+
+START=50
+SCRIPT=/usr/lib/acme/run-acme
+
+start_service()
+{
+    procd_open_instance
+    procd_set_param command $SCRIPT
+    procd_set_param file /etc/config/acme
+    procd_set_param stdout 1
+    procd_set_param stderr 1
+    procd_close_instance
+}
+
+reload_service() {
+    rc_procd start_service "$@"
+    return 0
+}
+
+stop_service() {
+    return 0
+}
+
+boot() {
+    $SCRIPT check_cron
+}
+
+service_triggers()
+{
+    procd_add_reload_trigger acme
+}
diff --git a/net/acme/files/run.sh b/net/acme/files/run.sh
new file mode 100644 (file)
index 0000000..de303d5
--- /dev/null
@@ -0,0 +1,144 @@
+#!/bin/sh
+# Wrapper for acme.sh to work on openwrt.
+#
+# This program is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 3 of the License, or (at your option) any later
+# version.
+#
+# Author: Toke Høiland-Jørgensen <toke@toke.dk>
+
+CHECK_CRON=$1
+ACME=/usr/lib/acme/acme.sh
+export SSL_CERT_DIR=/etc/ssl/certs
+
+UHTTPD_REDIRECT_HTTPS=
+UHTTPD_LISTEN_HTTP=
+STATE_DIR='/etc/acme'
+ACCOUNT_EMAIL=
+DEBUG=0
+
+. /lib/functions.sh
+
+check_cron()
+{
+    [ -f "/etc/crontabs/root" ] && grep -q '/etc/init.d/acme' /etc/crontabs/root && return
+    echo "0 0 * * * /etc/init.d/acme start" >> /etc/crontabs/root
+    /etc/init.d/cron start
+}
+
+pre_checks()
+{
+    echo "Running pre checks."
+    check_cron
+
+    UHTTPD_REDIRECT_HTTPS=$(uci get uhttpd.main.redirect_https)
+    UHTTPD_LISTEN_HTTP=$(uci get uhttpd.main.listen_http)
+
+    uci set uhttpd.main.redirect_https=1
+    uci set uhttpd.main.listen_http='0.0.0.0:80'
+    uci commit uhttpd
+    /etc/init.d/uhttpd reload || return 1
+
+    iptables -I input_rule -p tcp --dport 80 -j ACCEPT || return 1
+    return 0
+}
+
+post_checks()
+{
+    echo "Running post checks (cleanup)."
+    iptables -D input_rule -p tcp --dport 80 -j ACCEPT
+
+    uci set uhttpd.main.redirect_https="$UHTTPD_REDIRECT_HTTPS"
+    uci set uhttpd.main.listen_http="$UHTTPD_LISTEN_HTTP"
+    uci commit uhttpd
+    /etc/init.d/uhttpd reload
+}
+
+err_out()
+{
+    post_checks
+    exit 1
+}
+
+int_out()
+{
+    post_checks
+    trap - SIGINT
+    kill -SIGINT $$
+}
+
+issue_cert()
+{
+    local section="$1"
+    local acme_args=
+    local enabled
+    local use_staging
+    local update_uhttpd
+    local keylength
+    local domains
+    local main_domain
+
+    config_get_bool enabled "$section" enabled 0
+    config_get_bool use_staging "$section" use_staging
+    config_get_bool update_uhttpd "$section" update_uhttpd
+    config_get domains "$section" domains
+    config_get keylength "$section" keylength
+
+    [ "$enabled" -eq "1" ] || return
+
+    [ "$DEBUG" -eq "1" ] && acme_args="$acme_args --debug"
+
+    set -- $domains
+    main_domain=$1
+
+    if [ -e "$STATE_DIR/$main_domain" ]; then
+        $ACME --home "$STATE_DIR" --renew -d "$main_domain" $acme_args || return 1
+        return 0
+    fi
+
+
+    acme_args="$acme_args $(for d in $domains; do echo -n "-d $d "; done)"
+    acme_args="$acme_args --webroot $(uci get uhttpd.main.home)"
+    acme_args="$acme_args --keylength $keylength"
+    [ -n "$ACCOUNT_EMAIL" ] && acme_args="$acme_args --accountemail $ACCOUNT_EMAIL"
+    [ "$use_staging" -eq "1" ] && acme_args="$acme_args --staging"
+
+    if ! $ACME --home "$STATE_DIR" --issue $acme_args; then
+        echo "Issuing cert for $main_domain failed. It may be necessary to remove $STATE_DIR/$main_domain to recover." >&2
+        return 1
+    fi
+
+    if [ "$update_uhttpd" -eq "1" ]; then
+        uci set uhttpd.main.key="$STATE_DIR/${main_domain}/${main_domain}.key"
+        uci set uhttpd.main.cert="$STATE_DIR/${main_domain}/fullchain.cer"
+        # commit and reload is in post_checks
+    fi
+
+}
+
+load_vars()
+{
+    local section="$1"
+
+    STATE_DIR=$(config_get "$section" state_dir)
+    ACCOUNT_EMAIL=$(config_get "$section" account_email)
+    DEBUG=$(config_get "$section" debug)
+}
+
+if [ -n "$CHECK_CRON" ]; then
+    check_cron
+    exit 0
+fi
+
+config_load acme
+config_foreach load_vars acme
+
+pre_checks || exit 1
+trap err_out SIGHUP SIGTERM
+trap int_out SIGINT
+
+config_foreach issue_cert cert
+post_checks
+
+exit 0
diff --git a/net/acme/files/uci-defaults-acme b/net/acme/files/uci-defaults-acme
new file mode 100644 (file)
index 0000000..182b488
--- /dev/null
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+uci -q batch <<-EOF >/dev/null
+       delete ucitrack.@acme[-1]
+       add ucitrack acme
+        add_list ucitrack.@bcp38[0].init=acme
+       commit ucitrack
+EOF
+
+rm -f /tmp/luci-indexcache
+exit 0
diff --git a/net/acme/patches/0001-remove-timestamp.patch b/net/acme/patches/0001-remove-timestamp.patch
new file mode 100644 (file)
index 0000000..9894295
--- /dev/null
@@ -0,0 +1,14 @@
+--- a/acme.sh  2016-08-05 17:00:58.000000000 +0200
++++ b/acme.sh  2016-08-05 17:13:58.582459764 +0200
+@@ -48,9 +48,9 @@
+ _info() {
+   if [ -z "$2" ] ; then
+-    echo "[$(date)] $1"
++    echo "$1"
+   else
+-    echo "[$(date)] $1='$2'"
++    echo "$1='$2'"
+   fi
+ }
index 99da155f5671f2468fe1c108445895971cbf82ce..34c97053cda5d6364329a63f5c47d4b09349121c 100644 (file)
@@ -7,7 +7,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=adblock
-PKG_VERSION:=1.4.1
+PKG_VERSION:=1.4.3
 PKG_RELEASE:=1
 PKG_LICENSE:=GPL-3.0+
 PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
@@ -23,7 +23,7 @@ endef
 
 define Package/$(PKG_NAME)/description
 Powerful adblock script to block ad/abuse domains.
-Currently the script supports 19 domain blacklist sites plus manual black- and whitelist overrides.
+Currently the script supports 20 domain blacklist sites plus manual black- and whitelist overrides.
 Please see https://github.com/openwrt/packages/blob/master/net/adblock/files/README.md for further information.
 
 endef
index 4fe67bdebbe5c1dc12833c93e5eea30b9dbcbdb9..9bb8495267b89ca8329193d31aa731620e1c7af1 100644 (file)
@@ -15,6 +15,8 @@ A lot of people already use adblocker plugins within their desktop browsers, but
     * => daily updates, approx. 4.500 entries
     * [feodotracker](https://feodotracker.abuse.ch)
     * => daily updates, approx. 0-10 entries
+    * [hphosts](https://hosts-file.net)
+    * => monthly updates, approx. 390.000 entries
     * [malwaredomains](http://malwaredomains.com)
     * => daily updates, approx. 16.000 entries
     * [malwaredomainlist](http://www.malwaredomainlist.com)
index 4940b255cb7b033f55f1aa4efbda596dfe3f4db4..233707c3a852774f135c6592414cb2badb322d24 100644 (file)
@@ -108,14 +108,6 @@ f_envload()
     network_get_device adb_landev "${adb_lanif}"
     network_find_wan adb_wanif4
     network_find_wan6 adb_wanif6
-
-    # set restricted mode
-    #
-    if [ "${adb_restricted}" = "1" ]
-    then
-        adb_uci="$(which true)"
-        restricted_ok="true"
-    fi
 }
 
 # f_envcheck: check/set environment prerequisites
@@ -137,7 +129,7 @@ f_envcheck()
     fi
     if [ "${adb_enabled}" != "1" ]
     then
-        rc=-1
+        rc=-10
         f_log "adblock is currently disabled, please set adblock.global.adb_enabled=1' to use this service"
         f_exit
     fi
@@ -176,8 +168,8 @@ f_envcheck()
     then
         adb_nullipv4="${adb_ipv4}"
         adb_nullipv6="${adb_ipv6}"
-        if [ "$(${adb_uci} -q get uhttpd.main.listen_http | grep -Fo "80")" = "80" ] ||
-           [ "$(${adb_uci} -q get uhttpd.main.listen_https | grep -Fo "443")" = "443" ]
+        if [ -n "$(${adb_uci} -q get uhttpd.main.listen_http | grep -Fo "80")" ] ||
+           [ -n "$(${adb_uci} -q get uhttpd.main.listen_https | grep -Fo "443")" ]
         then
             rc=-1
             f_log "AP mode detected, please set local LuCI instance to ports <> 80/443"
@@ -200,8 +192,7 @@ f_envcheck()
         check="$(${adb_uci} -q get bcp38.@bcp38[0].enabled)"
         if [ "${check}" = "1" ]
         then
-            check="$(${adb_uci} -q get bcp38.@bcp38[0].match | grep -Fo "${adb_nullipv4%.*}")"
-            if [ -n "${check}" ]
+            if [ -n "$(${adb_uci} -q get bcp38.@bcp38[0].match | grep -Fo "${adb_nullipv4%.*}")" ]
             then
                 rc=-1
                 f_log "please whitelist '${adb_nullipv4}' in your bcp38 configuration to use adblock"
@@ -295,10 +286,11 @@ f_envcheck()
         f_log "AP mode enabled"
     fi
 
-    # log restricted mode
+    # set/log restricted mode
     #
-    if [ "${restricted_ok}" = "true" ]
+    if [ "${adb_restricted}" = "1" ]
     then
+        adb_uci="$(which true)"
         f_log "Restricted mode enabled"
     fi
 
@@ -601,18 +593,14 @@ f_rmconfig()
     local options="adb_src_timestamp adb_src_count"
     local section="${1}"
 
-    rm_cfg="${adb_lastrun}"
-    if [ -n "${rm_cfg}" ]
-    then
-        "${adb_uci}" -q delete "adblock.global.adb_overall_count"
-        "${adb_uci}" -q delete "adblock.global.adb_dnstoggle"
-        "${adb_uci}" -q delete "adblock.global.adb_percentage"
-        "${adb_uci}" -q delete "adblock.global.adb_lastrun"
-        for opt in ${options}
-        do
-            "${adb_uci}" -q delete "adblock.${section}.${opt}"
-        done
-    fi
+    "${adb_uci}" -q delete "adblock.global.adb_overall_count"
+    "${adb_uci}" -q delete "adblock.global.adb_dnstoggle"
+    "${adb_uci}" -q delete "adblock.global.adb_percentage"
+    "${adb_uci}" -q delete "adblock.global.adb_lastrun"
+    for opt in ${options}
+    do
+        "${adb_uci}" -q delete "adblock.${section}.${opt}"
+    done
 }
 
 # f_rmdns: remove dns block lists and backups
@@ -669,7 +657,6 @@ f_log()
     local log_parm
     local log_msg="${1}"
     local class="info "
-    local lastrun="$(date "+%d.%m.%Y %H:%M:%S")"
 
     # check for terminal session
     #
@@ -687,18 +674,6 @@ f_log()
             class="error"
         fi
         logger ${log_parm} -t "adblock[${adb_pid}] ${class}" "${log_msg}" 2>&1
-
-        # clean exit on error
-        #
-        if [ $((rc)) -eq -1 ] || [ $((rc)) -gt 0 ]
-        then
-            f_rmdns
-            f_rmuhttpd
-            f_rmfirewall
-            config_foreach f_rmconfig source
-            "${adb_uci}" -q set "adblock.global.adb_lastrun=${lastrun} => runtime error, please check the log!"
-            "${adb_uci}" -q commit "adblock"
-        fi
     fi
 }
 
@@ -742,16 +717,36 @@ f_exit()
 {
     local lastrun="$(date "+%d.%m.%Y %H:%M:%S")"
 
+    if [ "${adb_restricted}" = "1" ]
+    then
+        adb_uci="$(which true)"
+    fi
+
+    # delete temp files & directories
+    #
     rm -f "${adb_tmpfile}"
     rm -rf "${adb_tmpdir}"
 
+    # tidy up on error
+    #
+    if [ $((rc)) -lt 0 ] || [ $((rc)) -gt 0 ]
+    then
+        f_rmdns
+        f_rmuhttpd
+        f_rmfirewall
+        config_foreach f_rmconfig source
+        if [ $((rc)) -eq -1 ]
+        then
+            "${adb_uci}" -q set "adblock.global.adb_lastrun=${lastrun} => runtime error, please check the log!"
+        fi
+    fi
+
     # final log message and iptables statistics
     #
     if [ $((rc)) -eq 0 ]
     then
         f_statistics
         "${adb_uci}" -q set "adblock.global.adb_lastrun=${lastrun}"
-        "${adb_uci}" -q commit "adblock"
         f_log "domain adblock processing finished successfully (${adb_scriptver}, ${adb_sysver}, ${lastrun})"
     elif [ $((rc)) -gt 0 ]
     then
@@ -759,6 +754,7 @@ f_exit()
     else
         rc=0
     fi
+    "${adb_uci}" -q commit "adblock"
     rm -f "${adb_pidfile}"
     exit ${rc}
 }
index ea7f67810a875c6d92e29813d379e7296eec9408..41a4a7170e3786c5bb8b8511cff8bfbeaa149e9f 100755 (executable)
@@ -10,8 +10,8 @@
 #
 adb_pid="${$}"
 adb_pidfile="/var/run/adblock.pid"
-adb_scriptver="1.4.1"
-adb_mincfgver="2.2"
+adb_scriptver="1.4.3"
+adb_mincfgver="2.3"
 adb_scriptdir="${0%/*}"
 if [ -r "${adb_pidfile}" ]
 then
index bff60e148d1e6156df30bfdb3f9695ebd4a61e1c..5fdf224e1fc8d8a89a66bab3a8d243f97594e4b1 100644 (file)
@@ -3,7 +3,7 @@
 
 config adblock 'global'
        option adb_enabled '1'
-       option adb_cfgver '2.2'
+       option adb_cfgver '2.3'
        option adb_whitelist '/etc/adblock/adblock.whitelist'
        option adb_whitelist_rset '\$1 ~/^([A-Za-z0-9_-]+\.){1,}[A-Za-z]+/{print tolower(\"^\"\$1\"\\\|[.]\"\$1)}'
        option adb_forcedns '1'
@@ -42,6 +42,12 @@ config source 'feodo'
        option adb_src_rset '\$1 ~/^([A-Za-z0-9_-]+\.){1,}[A-Za-z]+/{print tolower(\$1)}'
        option adb_src_desc 'focus on feodo botnet domains, daily updates, approx. 0-10 entries'
 
+config source 'hphosts'
+       option enabled '0'
+       option adb_src 'https://hosts-file.net/download/hosts.txt'
+       option adb_src_rset '\$0 ~/^127\.0\.0\.1[ \t]+([A-Za-z0-9_-]+\.){1,}[A-Za-z]+/{print tolower(\$2)}'
+       option adb_src_desc 'broad blocklist against ad-, tracking- and other malicious hosts, monthly updates, approx. 390.000 entries'
+
 config source 'malware'
        option enabled '0'
        option adb_src 'https://mirror.cedia.org.ec/malwaredomains/justdomains'
index 6a2f6bf0e31b03a331f575464f18d17375d5f5ec..15c7d9ee7b9163cb3a9c1b5f3087c4f26a16fcda 100755 (executable)
@@ -13,10 +13,6 @@ adb_script="/usr/bin/adblock-update.sh"
 adb_helper="/usr/bin/adblock-helper.sh"
 adb_pidfile="/var/run/adblock.pid"
 bg_parm="&"
-if [ -t 1 ]
-then
-    unset bg_parm
-fi
 
 if [ $((adb_debug)) -eq 0 ]
 then
@@ -32,6 +28,11 @@ fi
 . "${adb_helper}"
 f_envload
 
+if [ "${adb_restricted}" = "1" ]
+then
+    adb_uci="$(which true)"
+fi
+
 boot()
 {
     return 0
@@ -39,6 +40,10 @@ boot()
 
 start()
 {
+    if [ -t 1 ]
+    then
+        unset bg_parm
+    fi
     eval "${adb_script}" ${bg_parm}
     return 0
 }
@@ -60,18 +65,14 @@ stop()
 {
     f_rmdns
     f_rmuhttpd
-    adb_uci="$(which uci)"
     config_foreach f_rmconfig source
-    if [ -n "$(${adb_uci} -q changes adblock)" ]
-    then
-        "${adb_uci}" -q commit adblock
-    fi
     if [ -z "${reload}" ]
     then
         f_rmfirewall
     fi
-    if [ -n "${rm_dns}" ] || [ -n "${rm_uhttpd}" ] || [ -n "${rm_fw}" ] || [ -n "${rm_cfg}" ]
+    if [ -n "${rm_dns}" ] || [ -n "${rm_uhttpd}" ] || [ -n "${rm_fw}" ] || [ -n "$(${adb_uci} -q changes adblock)" ]
     then
+        "${adb_uci}" -q commit adblock
         f_log "all adblock related services stopped"
     fi
     return 0
@@ -97,9 +98,9 @@ toggle()
         if [ -n "${list_dns}" ] || [ -n "${list_dnshide}" ]
         then
             mv -f "${source}"* "${target}"
+            /etc/init.d/dnsmasq restart
             "${adb_uci}" -q set "adblock.global.adb_dnstoggle=${pos}"
             "${adb_uci}" -q commit "adblock"
-            /etc/init.d/dnsmasq restart
             f_log "adblock toggle switched '${pos}'"
         fi
     fi
diff --git a/net/addrwatch/Makefile b/net/addrwatch/Makefile
new file mode 100644 (file)
index 0000000..aadac26
--- /dev/null
@@ -0,0 +1,52 @@
+#
+# Copyright (C) 2006-2016 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=addrwatch
+PKG_VERSION:=0.8
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-master.tar.gz
+PKG_SOURCE_URL:=https://github.com/fln/addrwatch/releases/download/$(PKG_VERSION)/
+PKG_MD5SUM:=8f401415be993005fa5fb58a05e14295
+PKG_LICENSE:=GPL-3.0
+PKG_LICENSE_FILES:=COPYING
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)-master
+PKG_FIXUP:=autoreconf
+PKG_BUILD_DEPENDS:=USE_UCLIBC:argp-standalone USE_MUSL:argp-standalone
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/addrwatch
+  SECTION:=net
+  CATEGORY:=Network
+  DEPENDS:=+libpcap +libevent2
+  TITLE:=IPv4/IPv6 and ethernet address pairing tool
+  URL:=https://github.com/fln/addrwatch
+  MAINTAINER:=Ondrej Caletka <ondrej@caletka.cz>
+endef
+
+define Package/addrwatch/description
+  This is a tool similar to arpwatch. It main purpose is to monitor network and 
+  log discovered ethernet/ip pairings. Addrwatch is extremely useful in networks
+  with IPv6 autoconfiguration (RFC4862) enabled. It allows to track IPv6
+  addresses of hosts using IPv6 privacy extensions (RFC4941).
+endef
+
+define Package/addrwatch/conffiles
+       /etc/config/addrwatch
+endef
+
+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$
+endef
+
+$(eval $(call BuildPackage,addrwatch))
diff --git a/net/addrwatch/files/addrwatch.config b/net/addrwatch/files/addrwatch.config
new file mode 100644 (file)
index 0000000..177eeef
--- /dev/null
@@ -0,0 +1,12 @@
+
+config addrwatch
+       option disabled '0'
+       list interface 'lan'
+       #list interface 'wan'
+       #option syslog '1'
+       #option verbose '0'
+       #option output '/var/log/addrwatch'
+       #list blacklist '192.168.1.1'
+       #option hashsize '1'
+       #option ratelimit '-1'
+
diff --git a/net/addrwatch/files/addrwatch.init b/net/addrwatch/files/addrwatch.init
new file mode 100644 (file)
index 0000000..c7cbbfe
--- /dev/null
@@ -0,0 +1,74 @@
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2016 OpenWrt.org
+
+START=50
+USE_PROCD=1
+
+. /lib/functions/network.sh
+
+validate_section_addrwatch() {
+       uci_validate_section addrwatch addrwatch "${1}" \
+               'disabled:bool:0' \
+               'interface:list(string):lan' \
+               'syslog:bool:1' \
+               'output:string' \
+               'quiet:bool:0' \
+               'verbose:bool:0' \
+               'ipv4only:bool:0' \
+               'ipv6only:bool:0' \
+               'blacklist:list(or(ip4addr,ip6addr))' \
+               'hashsize:range(1,65536):1024'\
+               'ratelimit:integer:3600'
+       return $?
+}
+
+start_instance() {
+       local cfg="$1"
+       local disabled interface syslog output quiet verbose ipv4only ipv6only
+       local blacklist hashsize ratelimit
+       local netdevs=""
+
+       validate_section_addrwatch "${cfg}" || {
+               echo "validation of config $cfg failed"
+               return 1
+       }
+       [ $disabled -ne 0 ] && return 1
+
+       for iface in $interface; do
+               local netdev
+               network_get_physdev netdev "${iface}"
+               append netdevs "${netdev}"
+       done
+
+       procd_open_instance
+       procd_set_param command /usr/sbin/addrwatch
+       [ "${syslog}" -eq 1 ] && procd_append_param command --syslog
+       [ -n "${output}" ] && procd_append_param command --output "$output"
+       [ "$quiet" -eq 1 ] && procd_append_param command --quiet
+       [ "$verbose" -eq 1 ] && procd_append_param command --verbose
+       [ "$ipv4only" -eq 1 ] && procd_append_param command --ipv4only
+       [ "$ipv6only" -eq 1 ] && procd_append_param command --ipv6only
+       [ -n "$hashsize" ] && procd_append_param command --hashsize "$hashsize"
+       [ -n "$ratelimit" ] && procd_append_param command --ratelimit "$ratelimit"
+       for blitem in $blacklist; do
+               procd_append_param command "--blacklist=${blitem}"
+       done
+       procd_append_param command $netdevs
+       procd_set_param netdev $netdevs
+       procd_set_param respawn
+       procd_open_trigger
+       for iface in $interface; do
+               procd_add_interface_trigger "interface.*" ${iface} /etc/init.d/addrwatch reload
+       done
+       procd_close_trigger
+       procd_close_instance
+}
+
+start_service() {
+       config_load 'addrwatch'
+       config_foreach start_instance 'addrwatch'
+}
+
+service_triggers() {
+       procd_add_reload_trigger 'addrwatch'
+}
diff --git a/net/addrwatch/patches/001-fix-sys_siglist.patch b/net/addrwatch/patches/001-fix-sys_siglist.patch
new file mode 100644 (file)
index 0000000..53032b5
--- /dev/null
@@ -0,0 +1,32 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -56,9 +56,6 @@ AC_CHECK_HEADERS([arpa/inet.h netinet/in
+ # Checks for typedefs, structures, and compiler characteristics.
+ AC_C_INLINE
+ AC_TYPE_PID_T
+-AC_CHECK_DECLS([sys_siglist], [], [
+-      AC_MSG_ERROR([Unable to find sys_siglist declaration.])
+-], [[#include <signal.h>]])
+ AC_TYPE_UINT32_T
+ AC_TYPE_UINT16_T
+ AC_TYPE_UINT8_T
+--- a/src/addrwatch.c
++++ b/src/addrwatch.c
+@@ -339,7 +339,7 @@ void reload_cb(evutil_socket_t fd, short
+ void reload_cb(int fd, short events, void *arg)
+ #endif
+ {
+-      log_msg(LOG_DEBUG, "Received signal (%d), %s", fd, sys_siglist[fd]);
++      log_msg(LOG_DEBUG, "Received signal (%d), %s", fd, strsignal(fd));
+       log_msg(LOG_DEBUG, "Reopening output files");
+       output_flatfile_reload();
+@@ -353,7 +353,7 @@ void stop_cb(evutil_socket_t fd, short e
+ void stop_cb(int fd, short events, void *arg)
+ #endif
+ {
+-      log_msg(LOG_DEBUG, "Received signal (%d), %s", fd, sys_siglist[fd]);
++      log_msg(LOG_DEBUG, "Received signal (%d), %s", fd, strsignal(fd));
+ #if HAVE_LIBEVENT2
+       event_base_loopbreak(cfg.eb);
+ #else
diff --git a/net/addrwatch/patches/002-fix-uclibc-sysconf.patch b/net/addrwatch/patches/002-fix-uclibc-sysconf.patch
new file mode 100644 (file)
index 0000000..c3c0e2e
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/src/addrwatch.c
++++ b/src/addrwatch.c
+@@ -492,7 +492,7 @@ int main(int argc, char *argv[])
+       argp_parse(&argp, argc, argv, 0, &optind, 0);
+       if (!cfg.hostname) {
+-              cfg.hostname_len = sysconf(_SC_HOST_NAME_MAX);
++              cfg.hostname_len = HOST_NAME_MAX;
+               cfg.hostname = (char *)calloc(cfg.hostname_len, sizeof(char));
+               gethostname(cfg.hostname, cfg.hostname_len);
+       }
index f65be874e171e506a8a95295c0613af7cd1d94d8..6d24fb446bbce3a465c1f3043c6ea617d39acd7b 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=apache
 PKG_VERSION:=2.2.31
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 PKG_SOURCE_NAME:=httpd
 PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>
 PKG_LICENSE:=Apache License
index 60f0dca9d45b2df84420dc2536318f63dd2569f8..3bcbba49daa4a66f04f353b2c45c3f5a19834bd4 100644 (file)
@@ -1,6 +1,6 @@
 --- a/docs/conf/httpd.conf.in
 +++ b/docs/conf/httpd.conf.in
-@@ -51,7 +51,6 @@ Listen @@Port@@
+@@ -52,7 +52,6 @@ Listen @@Port@@
  # Example:
  # LoadModule foo_module modules/mod_foo.so
  #
@@ -8,7 +8,7 @@
  
  <IfModule !mpm_netware_module>
  <IfModule !mpm_winnt_module>
-@@ -63,8 +62,8 @@ Listen @@Port@@
+@@ -64,8 +63,8 @@ Listen @@Port@@
  # It is usually good practice to create a dedicated user and group for
  # running httpd, as with most system services.
  #
@@ -19,7 +19,7 @@
  
  </IfModule>
  </IfModule>
-@@ -191,7 +190,7 @@ ErrorLog "@rel_logfiledir@/error_log"
+@@ -192,7 +191,7 @@ ErrorLog "@rel_logfiledir@/error_log"
  # Possible values include: debug, info, notice, warn, error, crit,
  # alert, emerg.
  #
@@ -28,7 +28,7 @@
  
  <IfModule log_config_module>
      #
-@@ -336,7 +335,7 @@ DefaultType text/plain
+@@ -337,7 +336,7 @@ DefaultType text/plain
  # contents of the file itself to determine its type.  The MIMEMagicFile
  # directive tells the module where the hint definitions are located.
  #
@@ -37,7 +37,7 @@
  
  #
  # Customizable error responses come in three flavors:
-@@ -358,7 +357,7 @@ DefaultType text/plain
+@@ -366,7 +365,7 @@ DefaultType text/plain
  # broken on your system.
  #
  #EnableMMAP off
@@ -46,7 +46,7 @@
  
  # Supplemental configuration
  #
-@@ -404,7 +403,7 @@ DefaultType text/plain
+@@ -412,7 +411,7 @@ DefaultType text/plain
  #       starting without SSL on platforms with no /dev/random equivalent
  #       but a statically compiled-in mod_ssl.
  #
diff --git a/net/apache/patches/006-remove-ssl3.patch b/net/apache/patches/006-remove-ssl3.patch
new file mode 100644 (file)
index 0000000..c09654c
--- /dev/null
@@ -0,0 +1,13 @@
+--- a/support/ab.c
++++ b/support/ab.c
+@@ -2232,8 +2232,10 @@ int main(int argc, const char * const ar
+                 } else if (strncasecmp(optarg, "SSL2", 4) == 0) {
+                     meth = SSLv2_client_method();
+ #endif
++#ifndef OPENSSL_NO_SSL3_METHOD
+                 } else if (strncasecmp(optarg, "SSL3", 4) == 0) {
+                     meth = SSLv3_client_method();
++#endif
+ #ifdef HAVE_TLSV1_X
+                 } else if (strncasecmp(optarg, "TLS1.1", 6) == 0) {
+                     meth = TLSv1_1_client_method();
index 1c70510c62dd0a6788830aeb1cf6f8435f0bac0a..b88e26c71f1b003cc4169d24d1205bdb2fd789af 100644 (file)
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=aria2
 PKG_VERSION:=1.25.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://github.com/aria2/aria2/releases/download/release-$(PKG_VERSION)/
index 22aca30cacdb4e68e79d93545d1620afe6708f79..e6d76171fc54f0e38fef2a6a7bb466091ccb52c7 100644 (file)
@@ -6,5 +6,5 @@ config aria2 'main'
        option enable_dht 'true'
        option follow_torrent 'true'
        option user 'root'
-       option dir '/mnt/sda1'
+       option dir '/mnt/sda1/aria2'
        option save_session_interval '30'
index ab5a0e6b034ef86c704027ad9902b54470390d46..d6bcda4ab7fc38a89f4645349ea1711821cb0336 100755 (executable)
@@ -37,6 +37,7 @@ start_instance() {
        section_enabled "$s" || return 1
 
        config_get config_dir "$s" 'config_dir' '/var/etc/aria2'
+       config_get dir "$s" 'dir'
        config_get user "$s" 'user'
 
        config_file="$config_dir/aria2.conf"
@@ -47,25 +48,35 @@ start_instance() {
        [ -d "$config_dir" ] || {
                mkdir -m 0755 -p "$config_dir"
                touch "$config_file"
-               [ -z "$user" ] || chown -R $user $config_dir
        }
 
-       touch "$session_file"
+       [ -d "$dir" ] || {
+               mkdir -m 0755 -p "$dir" # create download dir
+               touch "$dir"
+       }
+
+       touch "$session_file" # create session file
 
        echo -e "enable-rpc=true\nrpc-allow-origin-all=true\nrpc-listen-all=true\nquiet=true" > $config_file
        echo -e "continue=true\ninput-file=$session_file\nsave-session=$session_file" >> $config_file
 
        option_disabled "$s" 'enable_dht' || echo "dht-file-path=$dht_file" >> $config_file
        option_disabled "$s" 'enable_log' || {
-                touch "$log_file"
+               [ -f "$log_file" ] && echo > $log_file # if log file exist, clear it
                 echo -e "log=$log_file" >> $config_file
         }
 
+       # if user is set, change dir owner
+       [ -z "$user" ] || {
+               chown -R $user:$user $config_dir
+               chown -R $user:$user $dir
+       }
+
        append_params "$s" \
                file_allocation bt_enable_lpd enable_dht rpc_user rpc_passwd rpc_listen_port dir bt_tracker disk_cache \
                max_overall_download_limit max_overall_upload_limit max_download_limit max_upload_limit max_concurrent_downloads \
                max_connection_per_server min_split_size split save_session_interval follow_torrent listen_port bt_max_peers \
-               peer_id_prefix user_agent rpc_secret
+               peer_id_prefix user_agent rpc_secret log_level
        
        config_list_foreach "$s" extra_settings append_extrasettings
        
index 0ebd2f6eb39d32f6f7aa73806696915daa93f43e..d32577ecb8a1adde62c0f8b14b45e63d0dd88ae5 100755 (executable)
@@ -12,7 +12,7 @@ PKG_NAME:=ddns-scripts
 PKG_VERSION:=2.7.3
 # Release == build
 # increase on changes of services files or tld_names.dat
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_LICENSE:=GPL-2.0
 PKG_MAINTAINER:=Christian Schoenebeck <christian.schoenebeck@gmail.com>
index 06307d579e89314e542e42f85d1b0aa0dec255ef..1737dac00f2bbd618fc66b3e2d4ea17d9aca942b 100644 (file)
 "dyns.net"     "http://www.dyns.net/postscript011.php?username=[USERNAME]&password=[PASSWORD]&host=[DOMAIN]&ip=[IP]"   "200"
 
 # dnshome.de
-"dnshome.de"   ""https://[USERNAME]:[PASSWORD]@www.dnshome.de/dyndns.php?hostname=[DOMAIN]&ip=[IP]"
+"dnshome.de"   "https://[USERNAME]:[PASSWORD]@www.dnshome.de/dyndns.php?hostname=[DOMAIN]&ip=[IP]"
 
+# core-networks.de
+"core-networks.de"     "https://[USERNAME]:[PASSWORD]@dyndns.core-networks.de/?hostname=[DOMAIN]&myip=[IP]&keepipv6=1" "good"
index 64957bf847a779b6d37d404c943ab5c7cd454ac2..82abb68924afe614134eee7fcd40887b20307995 100644 (file)
@@ -82,5 +82,7 @@
 "myonlineportal.net"   "http://[USERNAME]:[PASSWORD]@myonlineportal.net/updateddns?hostname=[DOMAIN]&ip6=[IP]" "good|nochg"
 
 # dnshome.de
-"dnshome.de"   ""https://[USERNAME]:[PASSWORD]@www.dnshome.de/dyndns.php?hostname=[DOMAIN]&ip6=[IP]"
+"dnshome.de"   "https://[USERNAME]:[PASSWORD]@www.dnshome.de/dyndns.php?hostname=[DOMAIN]&ip6=[IP]"
 
+# core-networks.de
+"core-networks.de"     "https://[USERNAME]:[PASSWORD]@dyndns.core-networks.de/?hostname=[DOMAIN]&myip=[IP]&keepipv4=1" "good"
index e529a889185c3c08c496dd18181df55426469ae4..8cd1aad0b2385d74cf394774453f80c5a110bf97 100644 (file)
@@ -19,7 +19,8 @@ start_service()
        mkdir -p /var/db/radacct
 
        procd_open_instance
-       procd_set_param command $PROG
+       procd_set_param command $PROG -f
+       procd_set_param env LD_LIBRARY_PATH=/usr/lib/freeradius2
        [ -n "$IPADDR" ] && procd_append_param command -i $IPADDR
        [ -n "$OPTIONS" ] && procd_append_param command $OPTIONS
        procd_set_param respawn
index e529a889185c3c08c496dd18181df55426469ae4..f9ad433a7b6a9b521db0fecc1baf2c9af035be2a 100644 (file)
@@ -19,7 +19,8 @@ start_service()
        mkdir -p /var/db/radacct
 
        procd_open_instance
-       procd_set_param command $PROG
+       procd_set_param command $PROG -f
+       procd_set_param env LD_LIBRARY_PATH=/usr/lib/freeradius3
        [ -n "$IPADDR" ] && procd_append_param command -i $IPADDR
        [ -n "$OPTIONS" ] && procd_append_param command $OPTIONS
        procd_set_param respawn
index 8f76507bfbdfba33f58f9e2a682eba273db9c626..41c19335c8f45cb0bc0bc136f4120fbe6ed18ce5 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2009-2015 OpenWrt.org
+# Copyright (C) 2009-2016 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=git
 PKG_VERSION:=2.8.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@KERNEL/software/scm/git/
@@ -26,14 +26,12 @@ define Package/git/Default
   CATEGORY:=Network
   SUBMENU:=Version Control Systems
   DEPENDS:=+libopenssl +libpthread +librt +zlib
-  TITLE:=The fast version control system
   URL:=http://git-scm.com
   MAINTAINER:=Peter Wagner <tripolar@gmx.at>
 endef
 
 define Package/git
 $(call Package/git/Default)
-  DEPENDS:=+libopenssl +libpthread +librt
   TITLE:=The fast version control system
 endef
 
@@ -45,7 +43,7 @@ endef
 
 define Package/git-http
 $(call Package/git/Default)
-  DEPENDS:=git +libcurl +ca-certificates
+  DEPENDS+=git +libcurl +ca-certificates
   TITLE:=Git HTTP commands
 endef
 
index 708c2e93a5fef84394ede5bb03e290a2aae28903..2dcc343c7f3d0f200b0594a9871099a034d57113 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gnunet
-PKG_SOURCE_VERSION:=37547
+PKG_SOURCE_VERSION:=37681
 PKG_VERSION:=0.10.1-svn$(PKG_SOURCE_VERSION)
 PKG_RELEASE:=1
 
@@ -224,7 +224,7 @@ LIBEXEC_dv:=service-dv
 CONF_dv:=dv
 
 DEPENDS_fs:=+gnunet-datastore +gnunet-peerstore +libextractor
-BIN_fs:=auto-share directory download download-manager.scm fs publish unindex search
+BIN_fs:=auto-share directory download fs publish unindex search
 LIB_fs:=fs
 PLUGIN_fs:=block_fs
 LIBEXEC_fs:=helper-fs-publish service-fs
@@ -335,7 +335,8 @@ endef
 define PostInstFixSUIDPerms
   define Package/$(1)/postinst
 #!/bin/sh
-[ -e /usr/share/gnunet/.permfix ] && rm /usr/share/gnunet/.permfix
+[ -z "$IPKG_INSTROOT" ] || exit 0
+[ -e /usr/share/gnunet/.permfix ] && rm /usr/share/gnunet/.permfix || exit 0
   endef
 endef
 
index de609495a2fb0301c10852bb2dee4f15b78c15e2..25e32b1df252dd0c5c47b23304fec1593f7d9707 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2006-2014 OpenWrt.org
+# Copyright (C) 2006-2016 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,14 +8,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=kismet
-PKG_VERSION:=2013-03-R1b
+PKG_VERSION:=2016-07-R1
 PKG_RELEASE:=1
 
 PKG_LICENSE:=LGPLv2.1
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://www.kismetwireless.net/code
-PKG_MD5SUM:=6cdcd78baf2e15edbe8a9de3c5493f02
+PKG_MD5SUM:=7fa6e86c5078a0e7d91fc9bf954c5107
 
 PKG_BUILD_DEPENDS:=libpcap libncurses libpcre
 
@@ -26,7 +26,7 @@ define Package/kismet/Default
   SECTION:=net
   CATEGORY:=Network
   TITLE:=Kismet
-  MAINTAINER:=Sebastian Wendel <packages@sourceindex.de>
+  MAINTAINER:=Jean-Michel lacroix <lacroix@lepine-lacroix.info>
   DEPENDS:= $(CXX_DEPENDS) +libnl
   URL:=http://www.kismetwireless.net/
   SUBMENU:=wireless
index 3b1858afbb7cbd2cb1ada81fe35c547df234fa6a..62acd02ba39f95d89065c306c2012fe650d2b02e 100644 (file)
@@ -1,6 +1,6 @@
 --- a/configure
 +++ b/configure
-@@ -5456,9 +5456,6 @@ fi
+@@ -5981,9 +5981,6 @@ fi
  
  
  
index 7f2d52cb9d802848bac59f0938dc93cf6cd61865..d3346fd714ef291815c4fc85aabb826dffd7262a 100644 (file)
  #include "ipc_remote.h"
  
  #ifndef SYS_CYGWIN
+--- a/ifcontrol.h
++++ b/ifcontrol.h
+@@ -39,7 +39,6 @@
+ #include <net/if_arp.h>
+ #include <sys/ioctl.h>
+ #include <netinet/in.h>
+-#include <netinet/if_ether.h>
+ #include <arpa/inet.h>
+ #endif
index 9945b8fa013cda26c0513d2d35ea0f2ae636c205..f86539a0ceb5637180a7685776a8d4d1a310f778 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=mini_snmpd
 PKG_VERSION:=1.4-rc1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 PKG_MAINTAINER:=Luke McKee <hojuruku@gmail.com>
 PKG_LICENSE:=GPL-2.0
 PKG_LICENSE_FILES:=COPYING
index 442e350af3abb2e1c61c86103f97484114a6d35a..0fb63d4d8f222b5d4058316a4c7e41d7866969e0 100644 (file)
@@ -71,7 +71,7 @@ append_interface() {
        local name="$1" netdev netdev_count
        [ -z $netdev_count ] && netdev_count=0
        # for the purposes of snmp monitoring it doesn't need to be up, it just needs to exist in /proc/net/dev
-       netdev=$(ubus -S call network.interface dump|jsonfilter -e "@.interface[@.interface=\"$name\"].device")  
+       netdev=$(ubus -S call network.interface dump|jsonfilter -e "@.interface[@.interface=\"$name\"].l3_device")  
        if [ -n "$netdev" ] && grep -qF "$netdev" /proc/net/dev ]; then 
                [ $netdev_count -ge 4 ] && {
                        _err "$cfg: too many network interfaces configured, ignoring $name"
diff --git a/net/obfsproxy/Makefile b/net/obfsproxy/Makefile
new file mode 100644 (file)
index 0000000..51facf5
--- /dev/null
@@ -0,0 +1,59 @@
+#
+# Copyright (C) 2006-2016 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=obfsproxy
+PKG_VERSION:=0.2.13
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://pypi.python.org/packages/source/o/obfsproxy
+PKG_MD5SUM:=f596aeeda7bf03cdf0e78e68e6e7ac9f
+
+PKG_LICENSE:=BSD-3-Clause
+PKG_LICENSE_FILES:=LICENSE
+PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
+
+include $(INCLUDE_DIR)/package.mk
+$(call include_mk, python-package.mk)
+
+define Package/obfsproxy
+       SECTION:=net
+       CATEGORY:=Network
+       TITLE:=A pluggable transport proxy written in Python
+       URL:=https://www.torproject.org/projects/obfsproxy.html.en
+       DEPENDS:=+python-light +python-crypto +python-pyptlib +python-setuptools +python-yaml +twisted
+endef
+
+define Package/obfsproxy/description
+obfsproxy is a tool that attempts to circumvent censorship, by
+transforming the Tor traffic between the client and the bridge. This
+way, censors, who usually monitor traffic between the client and the
+bridge, will see innocent-looking transformed traffic instead of the
+actual Tor traffic.
+endef
+
+define Package/obfsproxy/conffiles
+/etc/config/obfsproxy
+endef
+
+define Build/Compile
+       $(call Build/Compile/PyMod,,install --prefix="/usr" --root="$(PKG_INSTALL_DIR)")
+endef
+
+define PyPackage/obfsproxy/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/obfsproxy $(1)/usr/bin/
+       $(INSTALL_DIR) $(1)/etc/config
+       $(INSTALL_CONF) ./files/obfsproxy.conf $(1)/etc/config/obfsproxy
+       $(INSTALL_DIR) $(1)/etc/init.d
+       $(INSTALL_BIN) ./files/obfsproxy.init $(1)/etc/init.d/obfsproxy
+endef
+
+$(eval $(call PyPackage,obfsproxy))
+$(eval $(call BuildPackage,obfsproxy))
diff --git a/net/obfsproxy/files/obfsproxy.conf b/net/obfsproxy/files/obfsproxy.conf
new file mode 100644 (file)
index 0000000..1eed142
--- /dev/null
@@ -0,0 +1,57 @@
+# To use Obfsproxy with Tor, follow the instructions at:
+#
+# https://www.torproject.org/projects/obfsproxy-instructions.html.en
+#
+# instead of setting up a separate instance of Obfsproxy.
+
+config obfsproxy 'obfsproxy'
+       # Set to 1 to enable this instance
+       option enabled 0
+
+       # One of: managed, dummy, b64, obfs2, obfs3, scramblesuit
+       option transport 'scramblesuit'
+
+       # Shared secret / password
+       # For obfs2 (as the shared secret parameter) and scramblesuit only
+       option password 'EXAMPLEPASSWORDNOTREAL'
+
+       # One of: server, ext_server, client, socks
+       option mode 'socks'
+
+       # Destination address
+       # Required for all modes except 'socks'
+       #option dest_host '0.0.0.0'
+       #option dest_port '80'
+
+       # Extended ORPort authentication cookie file location
+       # Required for 'ext_server' mode
+       #option ext_cookie_file ''
+
+       # Listener address
+       option listen_host '127.0.0.1'
+       option listen_port '8080'
+
+       # Set to log to a file instead of syslog
+       #option log_file '/var/log/obfsproxy.log'
+
+       # Minimum logging severity
+       # One of: error, warning, info, debug
+       #option log_min_severity 'info'
+
+       # Set to 1 to disable logging
+       #option no_log 0
+
+       # Set to 1 to disable safe (scrubbed address) logging
+       #option no_safe_logging 0
+
+       # Run as a different user
+       #option user 'nobody'
+
+       # Outgoing proxy
+       # proxy_scheme is one of: socks4a, socks5, http
+       # txsocksx is required for socks4a or socks5
+       #option proxy_scheme ''
+       #option proxy_username ''
+       #option proxy_password ''
+       #option proxy_host ''
+       #option proxy_port ''
diff --git a/net/obfsproxy/files/obfsproxy.init b/net/obfsproxy/files/obfsproxy.init
new file mode 100644 (file)
index 0000000..4901c07
--- /dev/null
@@ -0,0 +1,158 @@
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2016 OpenWrt.org
+
+START=80
+STOP=20
+USE_PROCD=1
+
+PROG=/usr/bin/obfsproxy
+
+append_arg() {
+       local cfg="$1"
+       local var="$2"
+       local opt="$3"
+       local def="$4"
+       local val
+
+       config_get val "$cfg" "$var"
+       [ -n "$val" -o -n "$def" ] && procd_append_param command "$opt" "${val:-$def}"
+}
+
+append_bool() {
+       local cfg="$1"
+       local var="$2"
+       local opt="$3"
+       local def="$4"
+       local val
+
+       config_get_bool val "$cfg" "$var" "$def"
+       [ "$val" = 1 ] && procd_append_param command "$opt"
+}
+
+append_plain() {
+       procd_append_param command "$1"
+}
+
+append_param() {
+       local cfg="$1"
+       local var="$2"
+       local opt="$3"
+       local def="$4"
+       local val
+
+       config_get val "$cfg" "$var"
+       [ -n "$val" -o -n "$def" ] && procd_append_param "$opt" "${val:-$def}"
+}
+
+append_proxy_spec() {
+       local cfg="$1"
+       local scheme_var="$2"
+       local username_var="$3"
+       local password_var="$4"
+       local host_var="$5"
+       local port_var="$6"
+       local opt="$7"
+       local def="$8"
+       local scheme
+       local username
+       local password
+       local host
+       local port
+       local login
+       local val
+
+       config_get scheme "$cfg" "$scheme_var"
+       config_get username "$cfg" "$username_var"
+       config_get password "$cfg" "$password_var"
+       config_get host "$cfg" "$host_var"
+       config_get port "$cfg" "$port_var"
+       [ "$username" ] && login="$username${password:+:$password}@"
+       [ -n "$scheme" -a -n "$host" -a -n "$port" ] && val="$scheme://$login$host:$port"
+       [ -n "$val" -o -n "$def" ] && procd_append_param command "$opt" "${val:-$def}"
+}
+
+append_host_port() {
+       local cfg="$1"
+       local host_var="$2"
+       local port_var="$3"
+       local opt="$4"
+       local def="$5"
+       local host
+       local port
+       local val
+
+       config_get host "$cfg" "$host_var"
+       config_get port "$cfg" "$port_var"
+       [ -n "$host" -a -n "$port" ] && val="$host:$port"
+       [ -n "$val" -o -n "$def" ] && {
+               [ "$opt" ] && procd_append_param command "$opt"
+               procd_append_param command "${val:-$def}"
+       }
+}
+
+start_instance() {
+       local cfg="$1"
+       local lib_dir="/var/lib/obfsproxy/$cfg"
+       local redirect=0
+       local enabled
+       local user
+       local transport
+       local password
+       local log_min_severity
+
+       config_get_bool enabled "$cfg" 'enabled' '0'
+       [ "$enabled" = 0 ] && return 1
+
+       config_get user "$cfg" 'user' 'root'
+       config_get transport "$cfg" 'transport'
+       [ "$transport" = "scramblesuit" ] && config_get password "$cfg" 'password'
+
+       [ -d "$lib_dir" ] || {
+               mkdir -m 0755 -p "$lib_dir/data"
+               chmod -R 0700 "$lib_dir"
+       }
+       [ "$password" ] && {
+               echo "$password" > "$lib_dir/secret"
+               chmod 0600 "$lib_dir/secret"
+       }
+       chown -R "$user:" "$lib_dir"
+
+       config_get log_min_severity "$cfg" 'log_min_severity'
+       [ "$log_min_severity" = "debug" ] && redirect=1
+
+       procd_open_instance
+
+       procd_set_param command "$PROG" --data-dir "$lib_dir/data" --syslog "obfsproxy($cfg)"
+
+       append_arg "$cfg" log_file "--log-file"
+       append_arg "$cfg" log_min_severity "--log-min-severity"
+       append_bool "$cfg" no_log "--no-log"
+       append_bool "$cfg" no_safe_logging "--no-safe-logging"
+       append_proxy_spec "$cfg" proxy_scheme proxy_username proxy_password proxy_host proxy_port "--proxy"
+
+       append_param "$cfg" transport command
+       [ "$transport" = "obfs2" ] && append_arg "$cfg" password "--shared-secret"
+       [ "$password" ] && procd_append_param command "--password-file" "$lib_dir/secret"
+
+       append_param "$cfg" mode command
+       append_host_port "$cfg" dest_host dest_port "--dest"
+       append_arg "$cfg" ext_cookie_file "--ext-cookie-file"
+
+       append_host_port "$cfg" listen_host listen_port
+
+       procd_set_param respawn
+       procd_set_param stdout $redirect
+       procd_set_param stderr $redirect
+       append_param "$cfg" user user
+
+       procd_close_instance
+}
+
+service_triggers() {
+       procd_add_reload_trigger obfsproxy
+}
+
+start_service() {
+       config_load obfsproxy
+       config_foreach start_instance obfsproxy
+}
diff --git a/net/obfsproxy/patches/001-exclude-tests.patch b/net/obfsproxy/patches/001-exclude-tests.patch
new file mode 100644 (file)
index 0000000..445c554
--- /dev/null
@@ -0,0 +1,13 @@
+diff --git a/setup.py b/setup.py
+index 2353a29..9d2a9a9 100644
+--- a/setup.py
++++ b/setup.py
+@@ -21,7 +21,7 @@ setup(
+     version=versioneer.get_version(),
+     cmdclass=versioneer.get_cmdclass(),
+-    packages = find_packages(),
++    packages = find_packages(exclude=['*.test', '*.test.*']),
+     entry_points = {
+         'console_scripts': [
+             'obfsproxy = obfsproxy.pyobfsproxy:run'
diff --git a/net/obfsproxy/patches/002-fix-python-path.patch b/net/obfsproxy/patches/002-fix-python-path.patch
new file mode 100644 (file)
index 0000000..4a8f9ac
--- /dev/null
@@ -0,0 +1,16 @@
+diff --git a/setup.py b/setup.py
+index 2353a29..8d3d56d 100644
+--- a/setup.py
++++ b/setup.py
+@@ -27,6 +27,11 @@ setup(
+             'obfsproxy = obfsproxy.pyobfsproxy:run'
+             ]
+         },
++    options = {
++        'build_scripts': {
++            'executable': '/usr/bin/python'
++            },
++        },
+     install_requires = [
+         'setuptools',
diff --git a/net/obfsproxy/patches/003-remove-argparse-dependency-test.patch b/net/obfsproxy/patches/003-remove-argparse-dependency-test.patch
new file mode 100644 (file)
index 0000000..20fe481
--- /dev/null
@@ -0,0 +1,12 @@
+diff --git a/setup.py b/setup.py
+index 2353a29..e04c5f5 100644
+--- a/setup.py
++++ b/setup.py
+@@ -32,7 +32,6 @@ setup(
+         'setuptools',
+         'PyCrypto',
+         'Twisted',
+-        'argparse',
+         'pyptlib >= 0.0.6',
+         'pyyaml'
+         ],
diff --git a/net/obfsproxy/patches/004-add-syslog-support.patch b/net/obfsproxy/patches/004-add-syslog-support.patch
new file mode 100644 (file)
index 0000000..b7240cb
--- /dev/null
@@ -0,0 +1,51 @@
+diff --git a/obfsproxy/common/log.py b/obfsproxy/common/log.py
+index bb30296..79193d2 100644
+--- a/obfsproxy/common/log.py
++++ b/obfsproxy/common/log.py
+@@ -1,5 +1,6 @@
+ """obfsproxy logging code"""
+ import logging
++import logging.handlers
+ import sys
+ from twisted.python import log
+@@ -50,6 +51,18 @@ class ObfsLogger(object):
+         self.obfslogger.addHandler(log_handler)
++    def set_syslog(self, progname):
++        """Set up our logger so that it starts logging to syslog instead."""
++
++        # remove the default handler, and add the SysLogHandler:
++        self.obfslogger.removeHandler(self.default_handler)
++
++        log_handler = logging.handlers.SysLogHandler(address='/dev/log')
++        formatter = logging.Formatter(progname + "[%(process)d]: %(message)s")
++        log_handler.setFormatter(formatter)
++
++        self.obfslogger.addHandler(log_handler)
++
+     def set_log_severity(self, sev_string):
+         """Update our minimum logging severity to 'sev_string'."""
+diff --git a/obfsproxy/pyobfsproxy.py b/obfsproxy/pyobfsproxy.py
+index 4a2faf6..eaf8a44 100755
+--- a/obfsproxy/pyobfsproxy.py
++++ b/obfsproxy/pyobfsproxy.py
+@@ -42,6 +42,7 @@ def set_up_cli_parsing():
+     parser.add_argument('-v', '--version', action='version', version=__version__)
+     parser.add_argument('--log-file', help='set logfile')
++    parser.add_argument('--syslog', metavar='PROGNAME', help='use syslog')
+     parser.add_argument('--log-min-severity',
+                         choices=['error', 'warning', 'info', 'debug'],
+                         help='set minimum logging severity (default: %(default)s)')
+@@ -110,6 +111,8 @@ def consider_cli_args(args):
+     if args.log_file:
+         log.set_log_file(args.log_file)
++    elif args.syslog:
++        log.set_syslog(args.syslog)
+     if args.log_min_severity:
+         log.set_log_severity(args.log_min_severity)
+     if args.no_log:
index d1c392f9ab6b1fd84f60cac3727a2128b84ab35c..f3c5f65449e4eb7c9f296fc0568eb871e89406ef 100644 (file)
@@ -8,14 +8,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ocserv
-PKG_VERSION:=0.11.3
+PKG_VERSION:=0.11.4
 PKG_RELEASE:=1
 PKG_USE_MIPS16:=0
 
 PKG_BUILD_DIR :=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=ftp://ftp.infradead.org/pub/ocserv/
-PKG_MD5SUM:=ffe3d79662e939bb55dfe7c9e490b4f2
+PKG_MD5SUM:=645b8f26d2aa40bfe4c32c8de7c8c87e
 
 PKG_LICENSE:=GPLv2+
 PKG_LICENSE_FILES:=COPYING
index 66c949c821e5000961b9845ef4c7a28bc0381b7c..3134e92907ca3f8e88643ee13c763a35141ee839 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=openssh
-PKG_VERSION:=7.2p2
+PKG_VERSION:=7.3p1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/ \
                http://ftp.belnet.be/pub/OpenBSD/OpenSSH/portable/
-PKG_MD5SUM:=13009a9156510d8f27e752659075cced
+PKG_MD5SUM:=dfadd9f035d38ce5d58a3bf130b86d08
 
 PKG_LICENSE:=BSD ISC
 PKG_LICENSE_FILES:=LICENCE
diff --git a/net/openssh/patches/100-no_cast_fix.patch b/net/openssh/patches/100-no_cast_fix.patch
deleted file mode 100644 (file)
index 5a4ecb1..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/cipher.c
-+++ b/cipher.c
-@@ -88,8 +88,10 @@ static const struct sshcipher ciphers[]
-       { "3des-cbc",   SSH_CIPHER_SSH2, 8, 24, 0, 0, 0, 1, EVP_des_ede3_cbc },
-       { "blowfish-cbc",
-                       SSH_CIPHER_SSH2, 8, 16, 0, 0, 0, 1, EVP_bf_cbc },
-+#ifndef OPENSSL_NO_CAST
-       { "cast128-cbc",
-                       SSH_CIPHER_SSH2, 8, 16, 0, 0, 0, 1, EVP_cast5_cbc },
-+#endif
-       { "arcfour",    SSH_CIPHER_SSH2, 8, 16, 0, 0, 0, 0, EVP_rc4 },
-       { "arcfour128", SSH_CIPHER_SSH2, 8, 16, 0, 0, 1536, 0, EVP_rc4 },
-       { "arcfour256", SSH_CIPHER_SSH2, 8, 32, 0, 0, 1536, 0, EVP_rc4 },
index 52b52e94f7912d3d3ffec13cb8d4c2497eadf648..6faf5e2175c0b37e68845861463450947942aba8 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2008-2012 OpenWrt.org
+# Copyright (C) 2008-2016 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -9,12 +9,15 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=radsecproxy
 PKG_VERSION:=1.6.7
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://software.uninett.no/radsecproxy/
 PKG_MD5SUM:=d76cf4fc68515667b8c67387f5045150
 
+PKG_LICENSE:=GPL-2.0+
+PKG_LICENSE_FILES:=LICENSE
+
 PKG_INSTALL:=1
 
 include $(INCLUDE_DIR)/package.mk
@@ -43,14 +46,14 @@ TARGET_CFLAGS += -Wno-long-long
 define Package/radsecproxy/install
        $(INSTALL_DIR) $(1)/usr/sbin/
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/radsecproxy $(1)/usr/sbin/
-       $(INSTALL_DIR) $(1)/etc/
-       $(CP) $(PKG_BUILD_DIR)/radsecproxy.conf-example $(1)/etc/radsecproxy.conf
+       $(INSTALL_DIR) $(1)/etc/config/
+       $(INSTALL_DATA) ./files/radsecproxy.conf $(1)/etc/config/radsecproxy
        $(INSTALL_DIR) $(1)/etc/init.d/
        $(INSTALL_BIN) ./files/radsecproxy.init $(1)/etc/init.d/radsecproxy
 endef
 
 define Package/radsecproxy/conffiles
-/etc/radsecproxy.conf
+/etc/config/radsecproxy
 endef
 
 $(eval $(call BuildPackage,radsecproxy))
diff --git a/net/radsecproxy/files/radsecproxy.conf b/net/radsecproxy/files/radsecproxy.conf
new file mode 100644 (file)
index 0000000..33e7e27
--- /dev/null
@@ -0,0 +1,43 @@
+# Sample radsecproxy configuration
+
+#Basic options
+config options
+       option include '/etc/radsecproxy.conf'
+       #option LogLevel '3'
+       #option LogDestination 'x-syslog:///'
+       #list ListenUDP '127.0.0.1:1812'
+       #list ListenTLS '0.0.0.0:2083'
+       #list ListenTLS '[::]:2083'
+
+#config tls
+#      option name 'default'
+#      option CACertificatePath '/etc/ssl/certs'
+#      option certificateFile '/etc/ssl/certs/host.example.com.pem'
+#      option certificateKeyFile '/etc/ssl/private/host.example.com.key.pem'
+
+#config client
+#      option name 'localhost'
+#      option type 'udp'
+#      option secret 'mysecret'
+
+#config server
+#      option name '[2001:db8::1]'
+#      option type 'tls'
+#      option secret 'radsec'
+#      option statusServer '1'
+
+# Please note that ordering of realm blocks is important
+
+#config realm
+#      option name '/myabc\.com$'
+#      option replyMessage 'Misconfigured client: default realm of Intel PRO/Wireless supplicant!'
+#
+
+#config realm
+#      option name '/^$/'
+#      option replyMessage 'Misconfigured client: empty realm!'
+#
+
+#config realm
+#      option name '*'
+#      list server '[2001:db8::1]'
index 39bdc6e4badc2b2708551b3a6d3c84cff73d7131..7b22396ecf7d3d4703ea389c5faecc4e3d0a0b9e 100644 (file)
@@ -5,12 +5,138 @@ START=70
 
 USE_PROCD=1
 PROG=/usr/sbin/radsecproxy
-CONFFILE=/etc/radsecproxy.conf
+CONFFILE=/var/etc/radsecproxy.conf
+LIST_SEP="
+"
+append_params() {
+       local param
+       local value
+       local section="$1"
+       shift
+       for param in $*; do
+               config_get value "$section" "$param"
+               [ -z "$value" ] && {
+                       param=$(echo $param | tr [A-Z] [a-z])
+                       config_get value "$section" "$param"
+               }
+               IFS="$LIST_SEP"
+               for value in $value; do
+                       [ -n "$value" ] && echo "    $param '$value'" >> "$CONFFILE"
+               done
+               unset IFS
+       done
+}
+
+append_bools() {
+       local param
+       local value
+       local section="$1"
+       shift
+       for param in $*; do
+               config_get_bool value "$section" "$param"
+               [ -z "$value" ] && {
+                       param=$(echo $param | tr [A-Z] [a-z])
+                       config_get_bool value "$section" "$param"
+               }
+               [ -n "$value" ] && {
+                       [ "$value" -eq 0 ] && echo "    $param off" >> "$CONFFILE"
+                       [ "$value" -eq 1 ] && echo "    $param on" >> "$CONFFILE"
+               }
+       done
+}
+
+radsecproxy_options() {
+       local cfg="$1"
+       append_params "$cfg" \
+               Include PidFile LogLevel LogDestination FTicksReporting FTicksMAC FTicksKey \
+               FTicksSyslogFacility ListenUDP ListenTCP ListenTLS ListenDTLS SourceUDP \
+               SourceTCP SourceTLS SourceDTLS TTLAttribute AddTTL
+       append_bools "$cfg" \
+               LoopPrevention IPv4Only IPv6Only
+}
+
+tls_block() {
+       local cfg="$1"
+       local name
+       config_get name "$cfg" name
+       echo "tls '$name' {" >> "$CONFFILE"
+       append_params "$cfg" \
+               Include CACertificateFile CACertificatePath certificateFile certificateKeyFile \
+               certificateKeyPassword cacheExpiry policyOID
+       append_bools "$cfg" \
+               CRLCheck
+       echo "}" >> "$CONFFILE"
+}
+
+rewrite_block() {
+       local cfg="$1"
+       local name
+       config_get name "$cfg" name
+       echo "rewrite '$name' {" >> "$CONFFILE"
+       append_params "$cfg" \
+               Include addAttribute addVendorAttribute removeAttribute removeVendorAttribute \
+               modifyAttribute
+       echo "}" >> "$CONFFILE"
+}
+
+client_block() {
+       local cfg="$1"
+       local name
+       config_get name "$cfg" name
+       echo "client '$name' {" >> "$CONFFILE"
+       append_params "$cfg" \
+               Include host type secret tls matchCertificateAttribute duplicateInterval \
+               AddTTL fticksVISCOUNTRY fticksVISINST rewrite rewriteIn rewriteOut \
+               rewriteAttribute
+       append_bools "$cfg" \
+               IPv4Only IPv6Only certificateNameCheck
+       echo "}" >> "$CONFFILE"
+}
+
+server_block() {
+       local cfg="$1"
+       local name
+       config_get name "$cfg" name
+       echo "server '$name' {" >> "$CONFFILE"
+       append_params "$cfg" \
+               Include host port type secret tls matchCertificateAttribute \
+               AddTTL rewrite rewriteIn rewriteOut retryCount dynamicLookupCommand \
+               retryInterval
+       append_bools "$cfg" \
+               IPv4Only IPv6Only certificateNameCheck statusServer LoopPrevention
+       echo "}" >> "$CONFFILE"
+}
+
+realm_block() {
+       local cfg="$1"
+       local name
+       config_get name "$cfg" name
+       echo "realm '$name' {" >> "$CONFFILE"
+       append_params "$cfg" \
+               Include server accountingServer replyMessage
+       append_bools "$cfg" \
+               accountingResponse
+       echo "}" >> "$CONFFILE"
+}
 
 start_service() {
+       mkdir -p $(dirname $CONFFILE)
+       echo "# auto-generated config file from /etc/config/radsecproxy" > $CONFFILE
+       config_load 'radsecproxy'
+       config_foreach radsecproxy_options options
+       config_foreach tls_block tls
+       config_foreach rewrite_block rewrite
+       config_foreach client_block client
+       config_foreach server_block server
+       config_foreach realm_block realm
+
        procd_open_instance
        procd_set_param command $PROG -f -c $CONFFILE
        procd_set_param file $CONFFILE
        procd_set_param respawn
        procd_close_instance
 }
+
+service_triggers() {
+       procd_add_reload_trigger 'radsecproxy'
+}
diff --git a/net/tcpreplay/Makefile b/net/tcpreplay/Makefile
new file mode 100644 (file)
index 0000000..a0c9710
--- /dev/null
@@ -0,0 +1,151 @@
+#
+# Copyright (C) 2016 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=tcpreplay
+PKG_VERSION:=4.1.1
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://github.com/appneta/tcpreplay/releases/download/v$(PKG_VERSION)
+PKG_MD5SUM:=80394c33fe697b53b69eac9bb0968ae9
+
+PKG_LICENSE:=GPL-3.0
+
+PKG_FIXUP:=libtool
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+TCPREPLAY_MODULES:= \
+       tcpbridge tcpcapinfo tcpliveplay tcpprep \
+       tcpreplay tcpreplay-edit tcprewrite
+
+define Package/tcpreplay/default
+  SUBMENU:=tcprelay
+  SECTION:=net
+  CATEGORY:=Network
+  URL:=http://tcpreplay.appneta.com/
+  MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
+  DEPENDS:=+librt +libpcap
+endef
+
+define Package/tcpbridge
+$(call Package/tcpreplay/default)
+  TITLE:=Bridge network traffic across two interfaces
+endef
+
+define Package/tcpcapinfo
+$(call Package/tcpreplay/default)
+  TITLE:=Pcap file dissector for debugging broken pcap files
+endef
+
+define Package/tcpliveplay
+$(call Package/tcpreplay/default)
+  TITLE:=Replays network traffic stored in a pcap file on live networks using new TCP connections
+endef
+
+define Package/tcpprep
+$(call Package/tcpreplay/default)
+  TITLE:=Create a tcpreplay cache file from a pcap file
+endef
+
+define Package/tcpreplay
+$(call Package/tcpreplay/default)
+  TITLE:=Replay network traffic stored in pcap files
+endef
+
+define Package/tcpreplay-edit
+$(call Package/tcpreplay/default)
+  TITLE:=Replay network traffic stored in pcap files
+endef
+
+define Package/tcprewrite
+$(call Package/tcpreplay/default)
+  TITLE:=Rewrite the packets in a pcap file
+endef
+
+define Package/tcpreplay-all
+$(call Package/tcpreplay/default)
+  TITLE:=Pcap editing and replaying utilities
+  DEPENDS:=$(foreach m,$(TCPREPLAY_MODULES),+$(m))
+endef
+
+define Package/tcpbridge/description
+  tcpbridge is a tool for selectively briding network traffic across two
+  interfaces and optionally modifying the packets in between
+endef
+
+define Package/tcpcapinfo/description
+  tcpcapinfo is a tool for decoding the structure of a pcap(3) file with a
+  focus on finding broken pcap files and determining how two related pcap
+  files might differ.
+endef
+
+define Package/tcpliveplay/description
+  This program, 'tcpliveplay' replays a captured set of packets using new TCP
+  connections with the captured TCP payloads against a remote host in order
+  to do comprehensive vulnerability testings.
+endef
+
+define Package/tcpprep/description
+  tcpprep is a ``pcap(3)'' file pre-processor which creates a cache file
+  which provides "rules" for ``tcprewrite(1)'' and ``tcpreplay(1)'' on how to
+  process and send packets.
+endef
+
+define Package/tcpreplay/description
+  tcpreplay is a tool for replaying network traffic from files saved with
+  tcpdump or other tools which write pcap(3) files.
+endef
+
+define Package/tcpreplay-edit/description
+  tcpreplay-edit includes all the functionality of both tcpreplay
+  and tcprewrite.
+endef
+
+define Package/tcprewrite/description
+  Rewrite/edit the packets in a pcap file
+endef
+
+define Package/tcpreplay-all/description
+  Tcpreplay is a suite of free Open Source utilities for
+  editing and replaying previously captured network traffic.
+  Originally designed to replay malicious traffic patterns to
+  Intrusion Detection/Prevention Systems, it has seen many evolutions
+  including capabilities to replay to web servers.
+
+  Version 4.0.0 introduces features and performance enhancements
+  to support switches, routers, and IP Flow/NetFlow appliances. 
+endef
+
+CONFIGURE_ARGS += \
+       --enable-force-pf \
+       --enable-dynamic-link \
+       --prefix="$(PKG_INSTALL_DIR)/usr" \
+       --exec-prefix="$(PKG_INSTALL_DIR)/usr" \
+       --with-libpcap="$(STAGING_DIR)/usr"
+
+define tcpreplayTemplate
+  define Package/$(1)/install
+    $(INSTALL_DIR) $$(1)/usr/bin ; \
+    $(CP) $$(PKG_INSTALL_DIR)/usr/bin/$(1) $$(1)/usr/bin
+  endef
+endef
+
+define Package/tcpreplay-all/install
+       :
+endef
+
+$(foreach m, $(TCPREPLAY_MODULES), \
+       $(eval $(call tcpreplayTemplate,$(m))) \
+       $(eval $(call BuildPackage,$(m))) \
+)
+
+$(eval $(call BuildPackage,tcpreplay-all))
+
diff --git a/net/tcpreplay/patches/001-disable-dbus-link.patch b/net/tcpreplay/patches/001-disable-dbus-link.patch
new file mode 100644 (file)
index 0000000..6f34e9f
--- /dev/null
@@ -0,0 +1,12 @@
+diff --git a/configure.ac b/configure.ac
+index 6c61381..7f72871 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -773,7 +773,6 @@ if ! test $using_pcap_config = yes; then
+     AC_CHECK_LIB(nl, nl_cache_alloc, [nl_found=yes])
+     AC_CHECK_LIB(nl-genl-3, genl_connect, [nl_genl_3_found=yes])
+     AC_CHECK_LIB(nl-3, nl_cache_alloc, [nl_3_found=yes])
+-    AC_CHECK_LIB(dbus-1, dbus_malloc, [dbus_1_found=yes])
+     if test "$nl_found" = "yes"; then
+         LPCAPLIB="$LPCAPLIB -lnl"
+     fi
index b18777ef41d8044bc73af769e7b55ada1e95c764..975ee3600581ce394b4f883726d5d673110b9ea7 100644 (file)
@@ -37,3 +37,5 @@ deinitialize it using ifdown. You may also use the luci web interface
 Note that you need to configure the firewall to allow communication between
 the MYVPN interface and lan.
 
+If you install this package via opkg, there are reports that you must reboot
+before it can be used.
index 5cf83c5f27641918063a56ab29648790d4ec94ce..ae5a41be029c2acac42dd7148b7878e1990076cd 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=xl2tpd
 PKG_VERSION:=devel-20151125
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 PKG_MAINTAINER:=Yousong Zhou <yszhou4tech@gmail.com>
 PKG_LICENSE:=GPL-2.0
 PKG_LICENSE_FILES:=LICENSE
index 946973cd5b5e0a71444be00d9b86f0ff96616935..38c80256bbf7a4a14eec0b2fbbacac9064ecd6d4 100644 (file)
@@ -21,6 +21,7 @@ proto_l2tp_init_config() {
        available=1
        no_device=1
        no_proto_task=1
+       teardown_on_l3_link_down=1
 }
 
 proto_l2tp_setup() {
diff --git a/utils/bandwidthd-php/Makefile b/utils/bandwidthd-php/Makefile
new file mode 100644 (file)
index 0000000..29a19ec
--- /dev/null
@@ -0,0 +1,51 @@
+#
+# Copyright (C) 2006-2016 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=bandwidthd-php
+PKG_VERSION:=2.0.1
+PKG_RELEASE:=1
+
+PKG_MAINTAINER:=Jean-Michel Lacroix <lacroix@lepine-lacroix.info>
+
+PKG_LICENSE:=GPL-2.0
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/bandwidthd-php
+  SECTION:=utils
+  CATEGORY:=Utilities
+  DEPENDS:=+libpcre +libxml2 +php5 +php5-cgi +php5-mod-pgsql +php5-mod-gd
+  TITLE:=PHP files to graph bandwidthd data in a postgresql database
+  URL:=http://bandwidthd.sourceforge.net/
+endef
+
+define Package/bandwidthd-php/description
+  PHP files to graph bandwidthd data in a postgresql database
+endef
+
+define Build/Compile
+endef
+
+define Package/bandwidthd-php/install
+       $(INSTALL_DIR) $(1)/www/phphtdocs
+       $(INSTALL_DATA) ./files/legend.gif $(1)/www/phphtdocs/
+       $(INSTALL_DATA) ./files/logo.gif $(1)/www/phphtdocs/
+       $(INSTALL_DATA) ./files/details.php $(1)/www/phphtdocs/
+       $(INSTALL_DATA) ./files/footer.php $(1)/www/phphtdocs/
+       $(INSTALL_DATA) ./files/graph.php $(1)/www/phphtdocs/
+       $(INSTALL_DATA) ./files/include.php $(1)/www/phphtdocs/
+       $(INSTALL_DATA) ./files/index.php $(1)/www/phphtdocs/
+       ln -s /var/etc/bandwidthd-php.conf $(1)/www/phphtdocs/config.conf
+       $(INSTALL_DIR) $(1)//etc/config
+       $(INSTALL_CONF) ./files/bandwidthd-php.config $(1)/etc/config/bandwidthd-php
+       $(INSTALL_DIR) $(1)/etc/init.d
+       $(INSTALL_BIN) ./files/bandwidthd-php.init $(1)/etc/init.d/bandwidthd-php
+endef
+
+$(eval $(call BuildPackage,bandwidthd-php))
diff --git a/utils/bandwidthd-php/files/bandwidthd-php.config b/utils/bandwidthd-php/files/bandwidthd-php.config
new file mode 100644 (file)
index 0000000..3bad494
--- /dev/null
@@ -0,0 +1,7 @@
+config bandwidthd-php
+       option dflt_width       '900'
+       option dflt_height      '256'
+       option dflt_interval    'INT_DAILY'
+       option host             '127.0.0.1'
+       option user             'postgres'
+       option dbname           'bandwidthd'
diff --git a/utils/bandwidthd-php/files/bandwidthd-php.init b/utils/bandwidthd-php/files/bandwidthd-php.init
new file mode 100755 (executable)
index 0000000..f3a7c67
--- /dev/null
@@ -0,0 +1,75 @@
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2006-2016 OpenWrt.org
+
+START=99
+
+USE_PROCD=1
+
+CONFIGNAME="bandwidthd-php"
+CONFIGFILE="/var/etc/bandwidthd-php.conf"
+
+config_cb() {
+       local cfg_type="$1"
+       local cfg_name="$2"
+       case "$cfg_type" in
+               $CONFIGNAME)
+                       append cfgs "$cfg_name"
+               ;;
+       esac
+}
+
+export_number() {
+       local option="$1"
+       local section="$2"
+       local _loctmp
+       paramstr=""
+       config_get _loctmp "$section" "$option"
+       if [ -n "$_loctmp" ]; then
+               paramstr="${_loctmp}"
+       fi
+}
+
+export_string() {
+       local option="$1"
+       local section="$2"
+       local _loctmp
+       paramstr=""
+       config_get _loctmp "$section" "$option"
+       if [ -n "$_loctmp" ]; then
+               paramstr="${_loctmp}"
+       fi
+}
+
+service_triggers()
+{
+        procd_add_reload_trigger $CONFIGNAME
+}
+
+
+start_service() {
+       local conffile="<?php\n// auto-generated config file from /etc/config/${CONFIGNAME}\n"
+        rm -f $CONFIGFILE
+        touch $CONFIGFILE
+
+       config_load $CONFIGNAME
+       for cfg in $cfgs; do
+               export_number dflt_width $cfg
+               conffile="${conffile}define(\"DFLT_WIDTH\", ${paramstr:-"900"});\n"
+
+               export_number dflt_height $cfg
+                       conffile="${conffile}define(\"DFLT_HEIGHT\", ${paramstr:-"256"});\n"
+
+               export_string dflt_interval $cfg
+               conffile="${conffile}define(\"DFLT_INTERVAL\", ${paramstr:-"INT_DAILY"});\n\n"'$db_connect_string = "host='
+
+               export_string host $cfg
+               conffile="${conffile}${paramstr:-"127.0.0.1"} user="
+
+               export_string user $cfg
+               conffile="${conffile}${paramstr:-"postgres"} dbname="
+
+               export_string dbname $cfg
+               conffile="${conffile}${paramstr:-"bandwidthd"}"'"'"\n?>"
+               [ -n "$conffile" ] && echo -e "$conffile" >>$CONFIGFILE
+       done
+}
diff --git a/utils/bandwidthd-php/files/details.php b/utils/bandwidthd-php/files/details.php
new file mode 100644 (file)
index 0000000..d2f0786
--- /dev/null
@@ -0,0 +1,102 @@
+<?php
+include("include.php");
+?>
+<html>
+<center>
+<img src=logo.gif>
+<?php
+if (isset($_GET['sensor_name']))
+    $sensor_name = $_GET['sensor_name'];
+else
+    {
+    echo "<br>Please provide a sensor_name";
+    exit(1);
+    }
+
+if (isset($_GET['ip']))
+    $ip = $_GET['ip'];
+else
+    {
+    echo "<br>Please provide an ip address";
+    exit(1);
+    }
+                                                                                                                             
+echo "<h3>";
+if (strpos($ip, "/") === FALSE)
+       echo "$ip - ".gethostbyaddr($ip)."</h3>";
+else
+       echo "Total - $ip</h3>";
+
+$db = ConnectDb();
+
+if ($ip == "0.0.0.0/0")
+       {
+    $rxtable = "bd_rx_total_log";
+       $txtable = "bd_tx_total_log";
+       }
+else
+       {
+    $rxtable = "bd_rx_log";
+       $txtable = "bd_tx_log";
+       }
+
+$sql = "select rx.scale as rxscale, tx.scale as txscale, tx.total+rx.total as total, tx.total as sent,
+rx.total as received, tx.tcp+rx.tcp as tcp, tx.udp+rx.udp as udp,
+tx.icmp+rx.icmp as icmp, tx.http+rx.http as http,
+tx.p2p+rx.p2p as p2p, tx.ftp+rx.ftp as ftp
+from
+                                                                                                                             
+(SELECT ip, max(total/sample_duration)*8 as scale, sum(total) as total, sum(tcp) as tcp, sum(udp) as udp, sum(icmp) as icmp,
+sum(http) as http, sum(p2p) as p2p, sum(ftp) as ftp
+from sensors, $txtable
+where sensor_name = '$sensor_name'
+and sensors.sensor_id = ".$txtable.".sensor_id
+and ip <<= '$ip'
+group by ip) as tx,
+                                                                                                                             
+(SELECT ip, max(total/sample_duration)*8 as scale, sum(total) as total, sum(tcp) as tcp, sum(udp) as udp, sum(icmp) as icmp,
+sum(http) as http, sum(p2p) as p2p, sum(ftp) as ftp
+from sensors, $rxtable
+where sensor_name = '$sensor_name'
+and sensors.sensor_id = ".$rxtable.".sensor_id
+and ip <<= '$ip'
+group by ip) as rx
+                                                                                                                             
+where tx.ip = rx.ip;";
+//echo "</center><pre>$sql</pre><center>";exit(0);
+$result = pg_query($sql);
+echo "<table width=100% border=1 cellspacing=0><tr><td>Ip<td>Name<td>Total<td>Sent<td>Received<td>tcp<td>udp<td>icmp<td>http<td>p2p<td>ftp";
+$r = pg_fetch_array($result);
+echo "<tr><td>";
+if (strpos($ip, "/") === FALSE)
+       echo "$ip<td>".gethostbyaddr($ip);
+else
+       echo "Total<td>$ip";
+echo fmtb($r['total']).fmtb($r['sent']).fmtb($r['received']).
+       fmtb($r['tcp']).fmtb($r['udp']).fmtb($r['icmp']).fmtb($r['http']).
+    fmtb($r['p2p']).fmtb($r['ftp']);
+echo "</table></center>";
+
+echo "<center><h4>Daily</h4></center>";
+echo "Send:<br><img src=graph.php?ip=$ip&sensor_name=".$sensor_name."&table=$txtable&yscale=".(max($r['txscale'], $r['rxscale']))."><br>";
+echo "<img src=legend.gif><br>";
+echo "Receive:<br><img src=graph.php?ip=$ip&sensor_name=".$sensor_name."&table=$rxtable&yscale=".(max($r['txscale'], $r['rxscale']))."><br>";
+echo "<img src=legend.gif><br>";
+
+echo "<center><h4>Weekly</h4></center>";
+echo "Send:<br><img src=graph.php?interval=".INT_WEEKLY."&ip=$ip&sensor_name=$sensor_name&table=$txtable&yscale=".(max($r['txscale'], $r['rxscale']))."><br>";
+echo "<img src=legend.gif><br>";
+echo "Receive:<br><img src=graph.php?interval=".INT_WEEKLY."&ip=$ip&sensor_name=$sensor_name&table=$rxtable&yscale=".(max($r['txscale'], $r['rxscale']))."><br>";
+echo "<img src=legend.gif><br>";
+
+echo "<center><h4>Monthly</h4></center>";
+echo "Send:<br><img src=graph.php?interval=".INT_MONTHLY."&ip=$ip&sensor_name=$sensor_name&table=$txtable&yscale=".(max($r['txscale'], $r['rxscale']))."><br>";
+echo "<img src=legend.gif><br>";
+echo "Receive:<br><img src=graph.php?interval=".INT_MONTHLY."&ip=$ip&sensor_name=$sensor_name&table=$rxtable&yscale=".(max($r['txscale'], $r['rxscale']))."><br>";
+echo "<img src=legend.gif><br>";
+
+echo "<center><h4>Yearly</h4></center>";
+echo "Send:<br><img src=graph.php?interval=".INT_YEARLY."&ip=$ip&sensor_name=$sensor_name&table=$txtable&yscale=".(max($r['txscale'], $r['rxscale']))."><br>";
+echo "<img src=legend.gif><br>";
+echo "Receive:<br><img src=graph.php?interval=".INT_YEARLY."&ip=$ip&sensor_name=$sensor_name&table=$rxtable&yscale=".(max($r['txscale'], $r['rxscale']))."><br>";
+echo "<img src=legend.gif><br>";
diff --git a/utils/bandwidthd-php/files/footer.php b/utils/bandwidthd-php/files/footer.php
new file mode 100644 (file)
index 0000000..b342825
--- /dev/null
@@ -0,0 +1,3 @@
+<?php
+echo("Page load completed in ". (time() - $starttime) ." seconds"); 
+?>
diff --git a/utils/bandwidthd-php/files/graph.php b/utils/bandwidthd-php/files/graph.php
new file mode 100644 (file)
index 0000000..b978177
--- /dev/null
@@ -0,0 +1,457 @@
+<?php
+require("include.php");
+
+// Returns x location of any given timestamp
+function ts2x($ts)
+       {
+       global $timestamp, $width, $interval;
+       return(($ts-$timestamp)*(($width-XOFFSET) / $interval) + XOFFSET);
+       }
+
+// If we have multiple IP's in a result set we need to total the average of each IP's samples
+function AverageAndAccumulate()
+       {
+       global $Count, $total, $icmp, $udp, $tcp, $ftp, $http, $p2p, $YMax;
+       global $a_total, $a_icmp, $a_udp, $a_tcp, $a_ftp, $a_http, $a_p2p;
+       
+       foreach ($Count as $key => $number)
+       {
+           $total[$key] /= $number;
+       $icmp[$key] /= $number;
+       $udp[$key] /= $number;
+       $tcp[$key] /= $number;
+       $ftp[$key] /= $number;
+       $http[$key] /= $number;
+       $p2p[$key] /= $number;
+       }
+
+       foreach ($Count as $key => $number) 
+               {
+               $a_total[$key] += $total[$key];
+               $a_icmp[$key] += $icmp[$key];
+               $a_udp[$key] += $udp[$key];
+               $a_tcp[$key] += $tcp[$key];
+               $a_ftp[$key] += $ftp[$key];
+               $a_http[$key] += $http[$key];
+               $a_p2p[$key] += $p2p[$key];
+
+               if ($a_total[$key] > $YMax)
+                       $YMax = $a_total[$key];
+               }
+       
+       unset($GLOBALS['total'], $GLOBALS['icmp'], $GLOBALS['udp'], $GLOBALS['tcp'], $GLOBALS['ftp'], $GLOBALS['http'], $GLOBALS['p2p'], $GLOBALS['Count']);
+
+       $total = array();
+       $icmp = array();
+       $udp = array();
+       $tcp = array();
+       $ftp = array();
+       $http = array();
+       $p2p = array();
+       $Count = array();
+       }
+
+$db = ConnectDb();
+
+// Get parameters
+
+if (isset($_GET['width']))
+    $width = $_GET['width'];
+else
+       $width = DFLT_WIDTH;
+
+if (isset($_GET['height']))
+    $height = $_GET['height'];
+else
+       $height = DFLT_HEIGHT;
+
+if (isset($_GET['interval']))
+    $interval = $_GET['interval'];
+else
+       $interval = DFLT_INTERVAL;
+
+if (isset($_GET['ip']))
+    $ip = $_GET['ip'];
+else
+       exit(1);
+
+if (isset($_GET['sensor_name']))
+       $sensor_name = $_GET['sensor_name'];
+else
+       exit(1);
+
+if (isset($_GET['timestamp']))
+    $timestamp = $_GET['timestamp'];
+else
+       $timestamp = time() - $interval + (0.05*$interval);
+
+if (isset($_GET['table']))
+    $table = $_GET['table'];
+else
+       $table = "bd_rx_log";
+
+if (isset($_GET['yscale']))
+    $yscale = $_GET['yscale'];
+
+$total = array();
+$icmp = array();
+$udp = array();
+$tcp = array();
+$ftp = array();
+$http = array();
+$p2p = array();
+$Count = array();
+
+// Accumulator
+$a_total = array();
+$a_icmp = array();
+$a_udp = array();
+$a_tcp = array();
+$a_ftp = array();
+$a_http = array();
+$a_p2p = array();
+
+$sql = "select *, extract(epoch from timestamp) as ts from sensors, $table where sensors.sensor_id = ".$table.".sensor_id and ip <<= '$ip' and sensor_name = '$sensor_name' and timestamp > $timestamp::abstime and timestamp < ".($timestamp+$interval)."::abstime order by ip;";
+//echo $sql."<br>"; exit(1);
+$result = pg_query($sql);
+
+// The SQL statement pulls the data out of the database ordered by IP address, that way we can average each
+// datapoint for each IP address to provide smoothing and then toss the smoothed value into the accumulator
+// to provide accurate total traffic rate.
+
+while ($row = pg_fetch_array($result))
+       {
+       if ($row['ip'] != $last_ip)
+               {
+               AverageAndAccumulate();
+               $last_ip = $row['ip'];
+               }
+
+       $x = ($row['ts']-$timestamp)*(($width-XOFFSET)/$interval)+XOFFSET;
+       $xint = (int) $x;
+
+       //echo "xint: ".$xint."<br>";
+       $Count[$xint]++;
+                                                                                                                             
+       if ($row['total']/$row['sample_duration'] > $SentPeak)
+               $SentPeak = $row['total']/$row['sample_duration'];
+       $TotalSent += $row['total'];
+       $total[$xint] += $row['total']/$row['sample_duration'];
+       $icmp[$xint] += $row['icmp']/$row['sample_duration'];
+       $udp[$xint] += $row['udp']/$row['sample_duration'];
+       $tcp[$xint] += $row['tcp']/$row['sample_duration'];
+       $ftp[$xint] += $row['ftp']/$row['sample_duration'];
+       $http[$xint] += $row['http']/$row['sample_duration'];
+       $p2p[$xint] += $row['p2p']/$row['sample_duration'];                                                                                                                             
+       }
+
+// One more time for the last IP
+AverageAndAccumulate();
+
+// Pull the data out of Accumulator
+$total = $a_total;
+$icmp = $a_icmp;
+$udp = $a_udp;
+$tcp = $a_tcp;
+$ftp = $a_ftp;
+$http = $a_http;
+$p2p = $a_p2p;
+
+$YMax += $YMax*0.05;    // Add an extra 5%
+
+// if a y scale was specified override YMax
+if (isset($yscale))
+    $YMax = $yscale/8;
+
+// Plot the data
+
+header("Content-type: image/png");
+
+$im = imagecreate($width, $height);
+$white = imagecolorallocate($im, 255, 255, 255);
+$yellow = ImageColorAllocate($im, 255, 255, 0);
+$purple = ImageColorAllocate($im, 255, 0, 255);
+$green  = ImageColorAllocate($im, 0, 255, 0);
+$blue   = ImageColorAllocate($im, 0, 0, 255);
+$lblue  = ImageColorAllocate($im, 128, 128, 255);
+$brown  = ImageColorAllocate($im, 128, 0, 0);
+$red    = ImageColorAllocate($im, 255, 0, 0);
+$black  = ImageColorAllocate($im, 0, 0, 0);
+
+for($Counter=XOFFSET+1; $Counter < $width; $Counter++)
+       {
+       if (isset($total[$Counter]))
+               {
+               // Convert the bytes/sec to y coords
+        $total[$Counter] = ($total[$Counter]*($height-YOFFSET))/$YMax;
+               $tcp[$Counter] = ($tcp[$Counter]*($height-YOFFSET))/$YMax;
+        $ftp[$Counter] = ($ftp[$Counter]*($height-YOFFSET))/$YMax;
+               $http[$Counter] = ($http[$Counter]*($height-YOFFSET))/$YMax;
+               $p2p[$Counter] = ($p2p[$Counter]*($height-YOFFSET))/$YMax;
+        $udp[$Counter] = ($udp[$Counter]*($height-YOFFSET))/$YMax;
+               $icmp[$Counter] = ($icmp[$Counter]*($height-YOFFSET))/$YMax;
+
+               // Stack 'em up!
+               // Total is stacked from the bottom
+               // Icmp is on the bottom too
+               // Udp is stacked on top of icmp
+               $udp[$Counter] += $icmp[$Counter];
+               // TCP and p2p are stacked on top of Udp
+               $tcp[$Counter] += $udp[$Counter];
+               $p2p[$Counter] += $udp[$Counter];
+               // Http is stacked on top of p2p
+               $http[$Counter] += $p2p[$Counter];
+               // Ftp is stacked on top of http
+        $ftp[$Counter] += $http[$Counter];
+
+               // Plot them!
+               //echo "$Counter:".$Counter." (h-y)-t:".($height-YOFFSET) - $total[$Counter]." h-YO-1:".$height-YOFFSET-1;
+        ImageLine($im, $Counter, ($height-YOFFSET) - $total[$Counter], $Counter, $height-YOFFSET-1, $yellow);
+        ImageLine($im, $Counter, ($height-YOFFSET) - $icmp[$Counter], $Counter, $height-YOFFSET-1, $red);
+        ImageLine($im, $Counter, ($height-YOFFSET) - $udp[$Counter], $Counter, ($height-YOFFSET) - $icmp[$Counter] - 1, $brown);
+        ImageLine($im, $Counter, ($height-YOFFSET) - $tcp[$Counter], $Counter, ($height-YOFFSET) - $udp[$Counter] - 1, $green);
+        ImageLine($im, $Counter, ($height-YOFFSET) - $p2p[$Counter], $Counter, ($height-YOFFSET) - $udp[$Counter] - 1, $purple);
+        ImageLine($im, $Counter, ($height-YOFFSET) - $http[$Counter], $Counter, ($height-YOFFSET) - $p2p[$Counter] - 1, $blue);
+        ImageLine($im, $Counter, ($height-YOFFSET) - $ftp[$Counter], $Counter, ($height-YOFFSET) - $http[$Counter] - 1, $lblue);
+               }
+//     else
+//             echo $Counter." not set<br>";
+       }                                                                                                                             
+
+// Margin Text
+if ($SentPeak < 1024/8)
+       $txtPeakSendRate = sprintf("Peak Send Rate: %.1f KBits/sec", $SentPeak*8);
+else if ($SentPeak < (1024*1024)/8)
+    $txtPeakSendRate = sprintf("Peak Send Rate: %.1f MBits/sec", ($SentPeak*8.0)/1024.0);
+else 
+       $txtPeakSendRate = sprintf("Peak Send Rate: %.1f GBits/sec", ($SentPeak*8.0)/(1024.0*1024.0));
+                                                                                                                             
+if ($TotalSent < 1024)
+       $txtTotalSent = sprintf("Sent %.1f KBytes", $TotalSent);
+else if ($TotalSent < 1024*1024)
+       $txtTotalSent = sprintf("Sent %.1f MBytes", $TotalSent/1024.0);
+else 
+       $txtTotalSent = sprintf("Sent %.1f GBytes", $TotalSent/(1024.0*1024.0));
+                                                                                                                             
+ImageString($im, 2, XOFFSET+5,  $height-20, $txtTotalSent, $black);
+ImageString($im, 2, $width/2+XOFFSET/2,  $height-20, $txtPeakSendRate, $black);
+
+// Draw X Axis
+
+ImageLine($im, 0, $height-YOFFSET, $width, $height-YOFFSET, $black);
+
+// Day/Month Seperator bars
+
+if ((24*60*60*($width-XOFFSET))/$interval > ($width-XOFFSET)/10)
+       {
+       $ts = getdate($timestamp);
+       $MarkTime = mktime(0, 0, 0, $ts['mon'], $ts['mday'], $ts['year']);
+       
+    $x = ts2x($MarkTime);
+    while ($x < XOFFSET)
+       {
+        $MarkTime += (24*60*60);
+           $x = ts2x($MarkTime);
+        }
+                                                                                                                             
+    while ($x < ($width-10))
+       {
+        // Day Lines
+        ImageLine($im, $x, 0, $x, $height-YOFFSET, $black);
+        ImageLine($im, $x+1, 0, $x+1, $height-YOFFSET, $black);
+                                                                                                                             
+        $txtDate = strftime("%a, %b %d", $MarkTime);
+        ImageString($im, 2, $x-30,  $height-YOFFSET+10, $txtDate, $black);
+                                                                                                                             
+        // Calculate Next x
+        $MarkTime += (24*60*60);
+           $x = ts2x($MarkTime);
+        }
+       }
+else if ((24*60*60*30*($width-XOFFSET))/$interval > ($width-XOFFSET)/10)
+       {
+       // Monthly Bars
+       $ts = getdate($timestamp);
+       $month = $ts['mon'];
+       $MarkTime = mktime(0, 0, 0, $month, 1, $ts['year']);
+       
+    $x = ts2x($MarkTime);
+    while ($x < XOFFSET)
+       {
+               $month++;
+        $MarkTime = mktime(0, 0, 0, $month, 1, $ts['year']);
+           $x = ts2x($MarkTime);
+        }
+                                                                                                                             
+    while ($x < ($width-10))
+       {
+        // Day Lines
+        ImageLine($im, $x, 0, $x, $height-YOFFSET, $black);
+        ImageLine($im, $x+1, 0, $x+1, $height-YOFFSET, $black);
+                                                                                                                             
+        $txtDate = strftime("%b, %Y", $MarkTime);
+        ImageString($im, 2, $x-25,  $height-YOFFSET+10, $txtDate, $black);
+                                                                                                                             
+        // Calculate Next x
+               $month++;
+        $MarkTime = mktime(0, 0, 0, $month, 1, $ts['year']);
+           $x = ts2x($MarkTime);
+        }
+       }
+else
+       {
+       // Year Bars
+    $ts = getdate($timestamp);
+    $year = $ts['year'];
+    $MarkTime = mktime(0, 0, 0, 1, 1, $year);
+                                                                                                                             
+    $x = ts2x($MarkTime);
+    while ($x < XOFFSET)
+        {
+        $year++;
+        $MarkTime = mktime(0, 0, 0, 1, 1, $year);
+        $x = ts2x($MarkTime);
+        }
+                                                                                                                             
+    while ($x < ($width-10))
+        {
+        // Day Lines
+        ImageLine($im, $x, 0, $x, $height-YOFFSET, $black);
+        ImageLine($im, $x+1, 0, $x+1, $height-YOFFSET, $black);
+                                                                                                                             
+        $txtDate = strftime("%b, %Y", $MarkTime);
+        ImageString($im, 2, $x-25,  $height-YOFFSET+10, $txtDate, $black);
+                                                                                                                             
+        // Calculate Next x
+        $year++;
+        $MarkTime = mktime(0, 0, 0, 1, 1, $year);
+        $x = ts2x($MarkTime);
+        }      
+       }
+
+// Draw Major Tick Marks
+if ((6*60*60*($width-XOFFSET))/$interval > 10) // pixels per 6 hours is more than 2
+       $MarkTimeStep = 6*60*60; // Major ticks are 6 hours
+else if ((24*60*60*($width-XOFFSET))/$interval > 10)
+       $MarkTimeStep = 24*60*60; // Major ticks are 24 hours;
+else if ((24*60*60*30*($width-XOFFSET))/$interval > 10)
+       {
+       // Major tick marks are months
+       $MarkTimeStep = 0; // Skip the standard way of drawing major tick marks below
+
+    $ts = getdate($timestamp);
+    $month = $ts['mon'];
+    $MarkTime = mktime(0, 0, 0, $month, 1, $ts['year']);
+                                                                                                                             
+    $x = ts2x($MarkTime);
+    while ($x < XOFFSET)
+        {
+        $month++;
+        $MarkTime = mktime(0, 0, 0, $month, 1, $ts['year']);
+        $x = ts2x($MarkTime);
+        }
+                                                                                                                             
+    while ($x < ($width-10))
+        {
+        // Day Lines
+               $date = getdate($MarkTime);
+               if ($date['mon'] != 1)
+                       {
+               ImageLine($im, $x, $height-YOFFSET-5, $x, $height-YOFFSET+5, $black);                                                                                                                      
+           $txtDate = strftime("%b", $MarkTime);
+               ImageString($im, 2, $x-5,  $height-YOFFSET+10, $txtDate, $black);
+               }
+                                                                                                                   
+        // Calculate Next x
+        $month++;
+        $MarkTime = mktime(0, 0, 0, $month, 1, $ts['year']);
+        $x = ts2x($MarkTime);
+        }
+       }
+else
+       $MarkTimeStep = 0; // Skip Major Tick Marks
+
+if ($MarkTimeStep)
+       {
+       $ts = getdate($timestamp);
+       $MarkTime = mktime(0, 0, 0, $ts['mon'], $ts['mday'], $ts['year']);
+       $x = ts2x($MarkTime);
+
+       while ($x < ($width-10))
+               {
+       if ($x > XOFFSET) 
+                       {
+           ImageLine($im, $x, $height-YOFFSET-5, $x, $height-YOFFSET+5, $black);
+               }
+               $MarkTime += $MarkTimeStep;
+           $x = ts2x($MarkTime);
+               }
+       }
+
+// Draw Minor Tick marks
+if ((60*60*($width-XOFFSET))/$interval > 4) // pixels per hour is more than 2
+       $MarkTimeStep = 60*60;  // Minor ticks are 1 hour
+else if ((6*60*60*($width-XOFFSET))/$interval > 4)
+       $MarkTimeStep = 6*60*60; // Minor ticks are 6 hours
+else if ((24*60*60*($width-XOFFSET))/$interval > 4)
+       $MarkTimeStep = 24*60*60;
+else
+       $MarkTimeStep = 0; // Skip minor tick marks
+
+if ($MarkTimeStep)
+       {
+       $ts = getdate($timestamp);
+       $MarkTime = mktime(0, 0, 0, $ts['mon'], $ts['mday'], $ts['year']);
+       $x = ts2x($MarkTime);
+
+       while ($x < ($width-10))
+               {
+       if ($x > XOFFSET) 
+                       {
+           ImageLine($im, $x, $height-YOFFSET, $x, $height-YOFFSET+5, $black);
+               }
+               $MarkTime += $MarkTimeStep;
+           $x = ts2x($MarkTime);
+               }
+       }
+
+// Draw Y Axis
+ImageLine($im, XOFFSET, 0, XOFFSET, $height, $black);
+
+$YLegend = 'k';
+$Divisor = 1;
+if ($YMax*8 > 1024*2)
+       {
+    $Divisor = 1024;    // Display in m
+    $YLegend = 'm';
+    }
+
+if ($YMax*8 > 1024*1024*2)
+       {
+    $Divisor = 1024*1024; // Display in g
+    $YLegend = 'g';
+       }
+
+if ($YMax*8 > 1024*1024*1024*2)
+       {
+    $Divisor = 1024*1024*1024; // Display in t
+    $YLegend = 't';
+    }
+                                                                                                                             
+$YStep = $YMax/10;
+if ($YStep < 1)
+       $YStep=1;
+$YTic=$YStep;
+                                                                                                                             
+while ($YTic <= ($YMax - $YMax/10))
+       {
+    $y = ($height-YOFFSET)-(($YTic*($height-YOFFSET))/$YMax);
+       ImageLine($im, XOFFSET, $y, $width, $y, $black);
+    $txtYLegend = sprintf("%4.1f %sbits/s", (8.0*$YTic)/$Divisor, $YLegend);
+    ImageString($im, 2, 3, $y-7, $txtYLegend, $black);
+       $YTic += $YStep;
+       }
+
+imagepng($im); 
+imagedestroy($im);
diff --git a/utils/bandwidthd-php/files/include.php b/utils/bandwidthd-php/files/include.php
new file mode 100644 (file)
index 0000000..6b435d1
--- /dev/null
@@ -0,0 +1,54 @@
+<?php
+define("INT_DAILY", 60*60*24*2);
+define("INT_WEEKLY", 60*60*24*8);
+define("INT_MONTHLY", 60*60*24*35);
+define("INT_YEARLY", 60*60*24*400);
+
+define("XOFFSET", 90);
+define("YOFFSET", 45);
+
+require("config.conf");
+
+function ConnectDb()
+    {
+       global $db_connect_string;
+
+    $db = pg_pconnect($db_connect_string);
+    if (!$db)
+        {
+        printf("DB Error, could not connect to database");
+        exit(1);
+        }
+    return($db);
+    }
+                                                                                                                             
+function fmtb($kbytes)
+       {
+       $Max = 1024;
+       $Output = $kbytes;
+       $Suffix = 'K';
+
+       if ($Output > $Max)
+               {
+               $Output /= 1024;
+               $Suffix = 'M';
+               }
+
+       if ($Output > $Max)
+               {
+               $Output /= 1024;
+               $Suffix = 'G';
+               }
+
+       if ($Output > $Max)
+               {
+               $Output /= 1024;
+               $Suffix = 'T';
+               }
+
+       return(sprintf("<td align=right><tt>%.1f%s</td>", $Output, $Suffix));
+       }
+
+$starttime = time();
+set_time_limit(300);
+?>
diff --git a/utils/bandwidthd-php/files/index.php b/utils/bandwidthd-php/files/index.php
new file mode 100644 (file)
index 0000000..5159f85
--- /dev/null
@@ -0,0 +1,197 @@
+<?php
+include("include.php");
+?>
+<html>
+<center>
+<img src=logo.gif>
+<?php 
+// Get variables from url
+
+if (isset($_GET['sensor_name']) && $_GET['sensor_name'] != "none")
+    $sensor_name = $_GET['sensor_name'];
+
+if (isset($_GET['interval']) && $_GET['interval'] != "none")
+    $interval = $_GET['interval'];
+
+if (isset($_GET['timestamp']) && $_GET['timestamp'] != "none")
+    $timestamp = $_GET['timestamp'];
+
+if (isset($_GET['subnet']) && $_GET['subnet'] != "none")
+    $subnet = $_GET['subnet'];
+
+if (isset($_GET['limit']) && $_GET['limit'] != "none")
+       $limit = $_GET['limit'];
+
+
+$db = ConnectDb();
+?>
+<FORM name="navigation" method=get action=<?php echo $PHP_SELF?>>
+<table width=100% cellspacing=0 cellpadding=5 border=1>
+<tr>
+<td><SELECT name="sensor_name">
+
+<OPTION value="none">--Select A Sensor--
+<?php 
+$sql = "SELECT sensor_name from sensors order by sensor_name;";
+$result = pg_query($sql);
+while ($r = pg_fetch_array($result))
+    echo "<option value=\"".$r['sensor_name']."\" ".($sensor_name==$r['sensor_name']?"SELECTED":"").">".$r['sensor_name']."\n";
+?>
+</SELECT>
+<td><SELECT name="interval">
+<OPTION value="none">--Select An Interval--
+<OPTION value=<?php echo INT_DAILY?> <?php echo $interval==INT_DAILY?"SELECTED":""?>>Daily
+<OPTION value=<?php echo INT_WEEKLY?> <?php echo $interval==INT_WEEKLY?"SELECTED":""?>>Weekly
+<OPTION value=<?php echo INT_MONTHLY?> <?php echo $interval==INT_MONTHLY?"SELECTED":""?>>Monthly
+<OPTION value=<?php echo INT_YEARLY?> <?php echo $interval==INT_YEARLY?"SELECTED":""?>>Yearly
+<OPTION value=<?php echo 24*60*60?> <?php echo $interval==24*60*60?"SELECTED":""?>>24hrs
+<OPTION value=<?php echo 30*24*60*60?> <?php echo $interval==30*24*60*60?"SELECTED":""?>>30days
+</select>
+
+<td><SELECT name="limit">
+<OPTION value="none">--How Many Results--
+<OPTION value=20 <?php echo $limit==20?"SELECTED":""?>>20
+<OPTION value=50 <?php echo $limit==50?"SELECTED":""?>>50
+<OPTION value=100 <?php echo $limit==100?"SELECTED":""?>>100
+<OPTION value=all <?php echo $limit=="all"?"SELECTED":""?>>All
+</select>
+
+<td>Subnet Filter:<input name=subnet value="<?php echo isset($subnet)?$subnet:"0.0.0.0/0"?>"> 
+<input type=submit value="Go">
+</table>
+</FORM>
+<?php 
+// Set defaults
+if (!isset($interval))
+       $interval = DFLT_INTERVAL;
+
+if (!isset($timestamp))
+       $timestamp = time() - $interval + (0.05*$interval);
+
+if (!isset($limit))
+       $limit = 20;
+
+// Validation
+if (!isset($sensor_name))
+       exit(0);
+
+// Print Title
+
+if (isset($limit))
+       echo "<h2>Top $limit - $sensor_name</h2>";
+else
+       echo "<h2>All Records - $sensor_name</h2>";
+
+// Sqlize the incomming variables
+if (isset($subnet))
+       $sql_subnet = "and ip <<= '$subnet'";
+
+// Sql Statement
+$sql = "select tx.ip, rx.scale as rxscale, tx.scale as txscale, tx.total+rx.total as total, tx.total as sent, 
+rx.total as received, tx.tcp+rx.tcp as tcp, tx.udp+rx.udp as udp,
+tx.icmp+rx.icmp as icmp, tx.http+rx.http as http,
+tx.p2p+rx.p2p as p2p, tx.ftp+rx.ftp as ftp
+from
+
+(SELECT ip, max(total/sample_duration)*8 as scale, sum(total) as total, sum(tcp) as tcp, sum(udp) as udp, sum(icmp) as icmp,
+sum(http) as http, sum(p2p) as p2p, sum(ftp) as ftp
+from sensors, bd_tx_log
+where sensor_name = '$sensor_name'
+and sensors.sensor_id = bd_tx_log.sensor_id
+$sql_subnet
+and timestamp > $timestamp::abstime and timestamp < ".($timestamp+$interval)."::abstime
+group by ip) as tx,
+
+(SELECT ip, max(total/sample_duration)*8 as scale, sum(total) as total, sum(tcp) as tcp, sum(udp) as udp, sum(icmp) as icmp,
+sum(http) as http, sum(p2p) as p2p, sum(ftp) as ftp
+from sensors, bd_rx_log
+where sensor_name = '$sensor_name'
+and sensors.sensor_id = bd_rx_log.sensor_id
+$sql_subnet
+and timestamp > $timestamp::abstime and timestamp < ".($timestamp+$interval)."::abstime
+group by ip) as rx
+
+where tx.ip = rx.ip
+order by total desc;";
+
+//echo "</center><pre>$sql</pre><center>"; exit(0);
+pg_query("SET sort_mem TO 30000;");
+$result = pg_query($sql);
+pg_query("set sort_mem to default;");
+
+if ($limit == "all")
+       $limit = pg_num_rows($result);
+
+echo "<table width=100% border=1 cellspacing=0><tr><td>Ip<td>Name<td>Total<td>Sent<td>Received<td>tcp<td>udp<td>icmp<td>http<td>p2p<td>ftp";
+
+if (!isset($subnet)) // Set this now for total graphs
+       $subnet = "0.0.0.0/0";
+
+// Output Total Line
+echo "<TR><TD><a href=Total>Total</a><TD>$subnet";
+foreach (array("total", "sent", "received", "tcp", "udp", "icmp", "http", "p2p", "ftp") as $key)
+       {
+       for($Counter=0, $Total = 0; $Counter < pg_num_rows($result); $Counter++)
+               {
+               $r = pg_fetch_array($result, $Counter);
+               $Total += $r[$key];
+               }
+       echo fmtb($Total);
+       }
+echo "\n";
+
+// Output Other Lines
+for($Counter=0; $Counter < pg_num_rows($result) && $Counter < $limit; $Counter++)
+       {
+       $r = pg_fetch_array($result, $Counter);
+       echo "<tr><td><a href=#".$r['ip'].">";
+       echo $r['ip']."<td>".gethostbyaddr($r['ip']);
+       echo "</a>";
+       echo fmtb($r['total']).fmtb($r['sent']).fmtb($r['received']).
+               fmtb($r['tcp']).fmtb($r['udp']).fmtb($r['icmp']).fmtb($r['http']).
+               fmtb($r['p2p']).fmtb($r['ftp'])."\n";
+       }
+echo "</table></center>";
+
+// Output Total Graph
+for($Counter=0, $Total = 0; $Counter < pg_num_rows($result); $Counter++)
+       {
+       $r = pg_fetch_array($result, $Counter);
+       $scale = max($r['txscale'], $scale);
+       $scale = max($r['rxscale'], $scale);
+       }
+
+if ($subnet == "0.0.0.0/0")
+       $total_table = "bd_tx_total_log";
+else
+       $total_table = "bd_tx_log";
+echo "<a name=Total><h3><a href=details.php?sensor_name=$sensor_name&ip=$subnet>";
+echo "Total - Total of $subnet</h3>";
+echo "</a>";
+echo "Send:<br><img src=graph.php?ip=$subnet&interval=$interval&sensor_name=".$sensor_name."&table=$total_table><br>";
+echo "<img src=legend.gif><br>\n";
+if ($subnet == "0.0.0.0/0")
+       $total_table = "bd_rx_total_log";
+else
+       $total_table = "bd_rx_log";
+echo "Receive:<br><img src=graph.php?ip=$subnet&interval=$interval&sensor_name=".$sensor_name."&table=$total_table><br>";
+echo "<img src=legend.gif><br>\n";
+
+
+// Output Other Graphs
+for($Counter=0; $Counter < pg_num_rows($result) && $Counter < $limit; $Counter++) 
+       {
+       $r = pg_fetch_array($result, $Counter);
+       echo "<a name=".$r['ip']."><h3><a href=details.php?sensor_name=$sensor_name&ip=".$r['ip'].">";
+       if ($r['ip'] == "0.0.0.0")
+               echo "Total - Total of all subnets</h3>";
+       else
+               echo $r['ip']." - ".gethostbyaddr($r['ip'])."</h3>";
+       echo "</a>";
+       echo "Send:<br><img src=graph.php?ip=".$r['ip']."&interval=$interval&sensor_name=".$sensor_name."&table=bd_tx_log&yscale=".(max($r['txscale'], $r['rxscale']))."><br>";
+       echo "<img src=legend.gif><br>\n";
+       echo "Receive:<br><img src=graph.php?ip=".$r['ip']."&interval=$interval&sensor_name=".$sensor_name."&table=bd_rx_log&yscale=".(max($r['txscale'], $r['rxscale']))."><br>";
+       echo "<img src=legend.gif><br>\n";
+       }
+
+include('footer.php');
diff --git a/utils/bandwidthd-php/files/legend.gif b/utils/bandwidthd-php/files/legend.gif
new file mode 100644 (file)
index 0000000..3df9090
Binary files /dev/null and b/utils/bandwidthd-php/files/legend.gif differ
diff --git a/utils/bandwidthd-php/files/logo.gif b/utils/bandwidthd-php/files/logo.gif
new file mode 100644 (file)
index 0000000..2ffec56
Binary files /dev/null and b/utils/bandwidthd-php/files/logo.gif differ
index ac4707dcece9d240ba0245126ffb2d9643418f38..73b1a85f7c4e67099222d4a367c0fc5c87771a1d 100644 (file)
@@ -57,9 +57,9 @@ define Package/coreutils
 endef
 
 define Package/coreutils/description
- Full versions of standard GNU utilities. Normally, you would not use this
- package, since the functionality in BusyBox is more than sufficient and
smaller.
+ Full versions of standard GNU utilities. If an equivalent Busybox applet is
+ available, you should consider compiling that instead as Busybox applets are
usually smaller, at the expense of reduced functionality.
 endef
 
 define GenPlugin
@@ -70,8 +70,7 @@ define GenPlugin
  endef
 
  define Package/$(1)/description
-  Full version of standard GNU $(2) utility. Normally, you would not use this
-  package, since the functionality in BusyBox is more than sufficient.
+  Full version of standard GNU $(2) utility.
  endef
 endef
 
index cd52f19e321ab808d8bf9fe5eb18630fd0d251ca..01a99d7e951a88613c3b8d4f2cf2923efc7c79f3 100644 (file)
@@ -9,15 +9,15 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=klish
-PKG_VERSION:=2.1.1
+PKG_VERSION:=2.1.3
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=http://libcode.org/attachments/download/61/
+PKG_SOURCE_URL:=http://libcode.org/attachments/download/66/
 PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE_FILES:=LICENCE
 PKG_MAINTAINER:=Takashi Umeno <umeno.takashi@gmail.com>
-PKG_MD5SUM:=4913259794d85585de0f8791c54ac633
+PKG_MD5SUM:=7dfe46d474c02c86946c1d7a461ae549
 
 PKG_INSTALL:=1
 
index f890fbeee1c357047dfa8066b8858d193636499e..974524d99e01576e423727a9ed866ff304772b96 100644 (file)
@@ -45,7 +45,7 @@ CONFIGURE_ARGS:=$(filter-out  \
 # Building qemu-ga alone does not require zlib
 CONFIGURE_ARGS+=                       \
        --cross-prefix=$(TARGET_CROSS)  \
-       --host-cc=$(HOSTCC)             \
+       --host-cc="$(HOSTCC)"           \
        --target-list=''                \
        --disable-zlib-test             \
        --enable-guest-agent
index 1a9b4a6704077cdd0c6d9446134e348198a6d7e7..1d064f74c45674139e9096cc016cdbee0c1b4321 100644 (file)
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=relayctl
 PKG_VERSION:=0.1
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@SF/relayctl/relayctl-$(PKG_VERSION)
@@ -18,6 +18,7 @@ PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE_FILES:=COPYING
 
 PKG_INSTALL:=1
+PKG_FIXUP:=autoreconf
 
 include $(INCLUDE_DIR)/package.mk