Merge pull request #8159 from neheb/xz
authorTed Hess <thess@kitschensync.net>
Tue, 12 Feb 2019 15:52:32 +0000 (10:52 -0500)
committerGitHub <noreply@github.com>
Tue, 12 Feb 2019 15:52:32 +0000 (10:52 -0500)
xz: Compile with PIC to fix linking errors

27 files changed:
lang/php7/Makefile
lang/php7/patches/1003-Fix-dl-cross-compiling-issue.patch
lang/ruby/patches/001_fix_isnan_isinf_finite_with_uclibc.patch [new file with mode: 0644]
libs/keyutils/Makefile
libs/keyutils/patches/010-reproducible-build.patch [new file with mode: 0644]
libs/libudev-fbsd/Makefile
libs/libudev-fbsd/patches/001-fix-unused.patch [deleted file]
libs/libudev-fbsd/patches/002-replace-nitems.patch [deleted file]
libs/libudev-fbsd/patches/003-add-pkg-config-description.patch
libs/libudev-fbsd/patches/005-extern-c.patch
libs/libudev-fbsd/patches/100-add-stub-udev_device_get_driver.patch
libs/libudev-fbsd/patches/101-add-stub-udev_device_new_from_subsystem_sysname.patch
libs/libudev-fbsd/patches/102-add-stub-udev_enumerate_add_nomatch_sysattr.patch
net/irssi/Makefile
net/openssh/Makefile
net/openssh/patches/0003-cve-2019-6109-sanitize-scp-filenames-via-snmprintf.patch [new file with mode: 0644]
net/openssh/patches/0004-cve-2019-6111-check-filenames-in-scp-client.patch [new file with mode: 0644]
net/shadowsocks-libev/Makefile
net/shadowsocks-libev/files/shadowsocks-libev.init
net/shadowsocks-libev/files/ss-rules
net/unbound/Makefile
net/unbound/patches/101-dns64-crash.patch [deleted file]
net/unbound/patches/200-openssl-deprecated.patch
net/unbound/patches/300-fix-ssl-err-log.patch [new file with mode: 0644]
net/uwsgi-cgi/Makefile
utils/bluez/Makefile
utils/owfs/Makefile

index a36dfbb1f2042a3d33b4b4067b0ca61655e14427..f096552762c1b6a47b134263a4b0f72fac90cdf6 100644 (file)
@@ -6,7 +6,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=php
-PKG_VERSION:=7.2.14
+PKG_VERSION:=7.2.15
 PKG_RELEASE:=1
 
 PKG_MAINTAINER:=Michael Heimpold <mhei@heimpold.de>
@@ -16,7 +16,7 @@ PKG_LICENSE_FILES:=LICENSE
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://www.php.net/distributions/
-PKG_HASH:=ee3f1cc102b073578a3c53ba4420a76da3d9f0c981c02b1664ae741ca65af84f
+PKG_HASH:=75e90012faef700dffb29311f3d24fa25f1a5e0f70254a9b8d5c794e25e938ce
 
 PKG_FIXUP:=libtool autoreconf
 PKG_BUILD_PARALLEL:=1
index 5359ab99708ea98a07a6aa1a71d0c690dbd455c7..075a98354ce48d874e217138a95f0abe11cfe85f 100644 (file)
@@ -1,6 +1,6 @@
 --- a/configure.ac
 +++ b/configure.ac
-@@ -453,7 +453,10 @@ PHP_CHECK_FUNC(gethostname, nsl)
+@@ -422,7 +422,10 @@ PHP_CHECK_FUNC(gethostname, nsl)
  PHP_CHECK_FUNC(gethostbyaddr, nsl)
  PHP_CHECK_FUNC(yp_get_default_domain, nsl)
  
    PHP_NEW_EXTENSION(fileinfo, fileinfo.c $libmagic_sources, $ext_shared,,-I@ext_srcdir@/libmagic)
 --- a/ext/opcache/config.m4
 +++ b/ext/opcache/config.m4
-@@ -227,7 +227,14 @@ AC_TRY_RUN([
-       flock_type=linux
-     AC_DEFINE([HAVE_FLOCK_LINUX], [], [Struct flock is Linux-type])
-     AC_MSG_RESULT("yes")
--], AC_MSG_RESULT("no") )
-+], [
-+    AC_MSG_RESULT("no")
-+], [
-+    dnl cross-compiling; assume Linux
-+      flock_type=linux
-+    AC_DEFINE([HAVE_FLOCK_LINUX], [], [Struct flock is Linux-type])
-+    AC_MSG_RESULT("yes")
-+])
+@@ -232,6 +232,10 @@ int main() {
+ flock_type=unknown
+ AC_MSG_CHECKING(for struct flock layout)
  
- AC_MSG_CHECKING("whether flock struct is BSD ordered")
++dnl cross-compiling for Linux
++flock_type=linux
++AC_DEFINE([HAVE_FLOCK_LINUX], [], [Struct flock is Linux-type])
++
+ if test "$flock_type" = "unknown"; then
  AC_TRY_RUN([
-@@ -243,7 +250,12 @@ AC_TRY_RUN([
-       flock_type=bsd
-     AC_DEFINE([HAVE_FLOCK_BSD], [], [Struct flock is BSD-type]) 
-     AC_MSG_RESULT("yes")
--], AC_MSG_RESULT("no") )
-+], [
-+    AC_MSG_RESULT("no")
-+], [
-+    dnl cross-compiling; assume Linux
-+    AC_MSG_RESULT("no")
-+])
- if test "$flock_type" == "unknown"; then
-       AC_MSG_ERROR([Don't know how to define struct flock on this system[,] set --enable-opcache=no])
+   #include <fcntl.h>
diff --git a/lang/ruby/patches/001_fix_isnan_isinf_finite_with_uclibc.patch b/lang/ruby/patches/001_fix_isnan_isinf_finite_with_uclibc.patch
new file mode 100644 (file)
index 0000000..de3170d
--- /dev/null
@@ -0,0 +1,98 @@
+Backported to 2.5.3
+
+From 74f94b3e6ebf15b76f3b357e754095412b006e94 Mon Sep 17 00:00:00 2001
+From: nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>
+Date: Fri, 8 Feb 2019 07:22:55 +0000
+Subject: [PATCH] configure.ac: check finite,isinf,isnan as macros first
+
+[ruby-core:91487] [Bug #15595]
+
+git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67036 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
+---
+ aclocal.m4                    |  1 +
+ configure.ac                  | 13 ++++---------
+ tool/m4/ruby_replace_funcs.m4 | 13 +++++++++++++
+ 3 files changed, 18 insertions(+), 9 deletions(-)
+ create mode 100644 tool/m4/ruby_replace_funcs.m4
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -1189,9 +1189,6 @@ main()
+               ac_cv_func_fsync=yes
+               ac_cv_func_seekdir=yes
+               ac_cv_func_telldir=yes
+-              ac_cv_func_isinf=yes
+-              ac_cv_func_isnan=yes
+-              ac_cv_func_finite=yes
+               ac_cv_func_lchown=yes
+               ac_cv_func_link=yes
+               ac_cv_func_readlink=yes
+@@ -1239,9 +1236,6 @@ main()
+ [netbsd*], [  LIBS="-lm $LIBS"
+               ],
+ [dragonfly*], [       LIBS="-lm $LIBS"
+-              # isinf() and isnan() are macros on DragonFly.
+-              ac_cv_func_isinf=yes
+-              ac_cv_func_isnan=yes
+               ],
+ [aix*],[      LIBS="-lm $LIBS"
+               ac_cv_func_round=no
+@@ -2212,11 +2206,8 @@ AC_REPLACE_FUNCS(dup2)
+ AC_REPLACE_FUNCS(erf)
+ AC_REPLACE_FUNCS(explicit_bzero)
+ AC_REPLACE_FUNCS(ffs)
+-AC_REPLACE_FUNCS(finite)
+ AC_REPLACE_FUNCS(flock)
+ AC_REPLACE_FUNCS(hypot)
+-AC_REPLACE_FUNCS(isinf)
+-AC_REPLACE_FUNCS(isnan)
+ AC_REPLACE_FUNCS(lgamma_r)
+ AC_REPLACE_FUNCS(memmove)
+ AC_REPLACE_FUNCS(nextafter)
+@@ -2228,6 +2219,10 @@ AC_REPLACE_FUNCS(strlcpy)
+ AC_REPLACE_FUNCS(strstr)
+ AC_REPLACE_FUNCS(tgamma)
++RUBY_REPLACE_FUNC([finite], [@%:@include <math.h>])
++RUBY_REPLACE_FUNC([isinf], [@%:@include <math.h>])
++RUBY_REPLACE_FUNC([isnan], [@%:@include <math.h>])
++
+ # for missing/setproctitle.c
+ AS_CASE(["$target_os"],
+ [aix* | k*bsd*-gnu | kopensolaris*-gnu | linux* | darwin*], [AC_DEFINE(SPT_TYPE,SPT_REUSEARGV)],
+--- /dev/null
++++ b/tool/m4/ruby_replace_funcs.m4
+@@ -0,0 +1,13 @@
++# -*- Autoconf -*-
++dnl RUBY_REPLACE_FUNC [func] [included]
++AC_DEFUN([RUBY_REPLACE_FUNC], [dnl
++    AC_CHECK_DECL([$1],dnl
++        [AC_DEFINE(AS_TR_CPP(HAVE_[$1]))],dnl
++        [AC_REPLACE_FUNCS($1)],dnl
++        [$2])dnl
++])
++
++dnl RUBY_REPLACE_FUNCS [funcs] [included]
++AC_DEFUN([RUBY_REPLACE_FUNCS] [dnl
++    m4_map_args_w([$1], [RUBY_REPLACE_FUNC(], [), [$2]])dnl
++])
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -44,3 +44,17 @@ AC_DEFUN([AC_MSG_RESULT], [dnl
+ { _AS_ECHO_LOG([result: $1])
+ COLORIZE_RESULT([$1]); dnl
+ }])
++
++# -*- Autoconf -*-
++dnl RUBY_REPLACE_FUNC [func] [included]
++AC_DEFUN([RUBY_REPLACE_FUNC], [dnl
++    AC_CHECK_DECL([$1],dnl
++        [AC_DEFINE(AS_TR_CPP(HAVE_[$1]))],dnl
++        [AC_REPLACE_FUNCS($1)],dnl
++        [$2])dnl
++])
++
++dnl RUBY_REPLACE_FUNCS [funcs] [included]
++AC_DEFUN([RUBY_REPLACE_FUNCS] [dnl
++    m4_map_args_w([$1], [RUBY_REPLACE_FUNC(], [), [$2]])dnl
++])
index 648b288acb7deafe0341a8254bb7c2525fbfecfe..430473cd4630bf300cd68d696c5cd5bc7a9da3c6 100644 (file)
@@ -1,4 +1,4 @@
-# 
+#
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
 #
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=keyutils
 PKG_VERSION:=1.6
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://people.redhat.com/dhowells/keyutils/
diff --git a/libs/keyutils/patches/010-reproducible-build.patch b/libs/keyutils/patches/010-reproducible-build.patch
new file mode 100644 (file)
index 0000000..3cf9b54
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/Makefile
++++ b/Makefile
+@@ -108,7 +108,7 @@ all: keyctl request-key key.dns_resolver
+ ###############################################################################
+ #RPATH = -Wl,-rpath,$(LIBDIR)
+-VCPPFLAGS     := -DPKGBUILD="\"$(shell date -u +%F)\""
++VCPPFLAGS     := -DPKGBUILD="\"for OpenWrt"\"
+ VCPPFLAGS     += -DPKGVERSION="\"keyutils-$(VERSION)\""
+ VCPPFLAGS     += -DAPIVERSION="\"libkeyutils-$(APIVERSION)\""
index 07263f133b17ead5d599ecc2a263f6515c8ce12f..af9f278b21b4543a0410cfd87a4e18425f4ace84 100644 (file)
@@ -6,12 +6,12 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libudev-fbsd
 
-PKG_RELEASE:=2
-PKG_VERSION:=20160820
-PKG_SOURCE_VERSION:=1f21323b817e70253d3c04bc8bedd61c477d0544
+PKG_RELEASE:=1
+PKG_VERSION:=20171216
+PKG_SOURCE_VERSION:=fa190fdf0b22a41b5f42e3a722f754c08ad7b337
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz
-PKG_MIRROR_HASH:=cc885851c97dcaef65d7f4fb0899ed1a01412b02e44851476ac47ce4da024d0b
+PKG_MIRROR_HASH:=d4638099fd288a293a165304541eb9c01e828bb358a0091caa02c1327c20964b
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/jiixyj/libudev-fbsd.git
 
diff --git a/libs/libudev-fbsd/patches/001-fix-unused.patch b/libs/libudev-fbsd/patches/001-fix-unused.patch
deleted file mode 100644 (file)
index 1949433..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
---- a/src/libudev.c
-+++ b/src/libudev.c
-@@ -354,7 +354,7 @@ udev_device_get_subsystem(struct udev_de
- const char *
- udev_device_get_sysattr_value(
--    struct udev_device *udev_device __unused, const char *sysattr)
-+     __attribute__ ((unused))struct udev_device *udev_device, const char *sysattr)
- {
-       (void)sysattr;
-       LOG("stub: udev_device_get_sysattr_value %s\n", sysattr);
-@@ -469,7 +469,7 @@ udev_device_get_parent_with_subsystem_de
- }
- struct udev_enumerate *
--udev_enumerate_new(struct udev *udev __unused)
-+udev_enumerate_new( __attribute__ ((unused))struct udev *udev)
- {
-       LOG("udev_enumerate_new\n");
-       struct udev_enumerate *u = calloc(1, sizeof(struct udev_enumerate));
-@@ -538,7 +538,7 @@ udev_enumerate_get_list_entry(struct ude
- int
- udev_enumerate_add_match_sysname(
--    struct udev_enumerate *udev_enumerate __unused, const char *sysname)
-+     __attribute__ ((unused))struct udev_enumerate *udev_enumerate, const char *sysname)
- {
-       (void)sysname;
-       LOG("stub: udev_enumerate_add_match_sysname %s\n", sysname);
---- a/src/libudev.h
-+++ b/src/libudev.h
-@@ -24,8 +24,8 @@ void udev_unref(struct udev *udev);
- char const *udev_device_get_devnode(struct udev_device *udev_device);
- dev_t udev_device_get_devnum(struct udev_device *udev_device);
- char const *udev_device_get_property_value(
--    struct udev_device *dummy __unused, char const *property);
--struct udev *udev_device_get_udev(struct udev_device *dummy __unused);
-+     __attribute__ ((unused))struct udev_device *dummy, char const *property);
-+struct udev *udev_device_get_udev( __attribute__ ((unused))struct udev_device *dummy);
- struct udev_device *udev_device_new_from_syspath(
-     struct udev *udev, char const *syspath);
- struct udev_device *udev_device_new_from_devnum(
diff --git a/libs/libudev-fbsd/patches/002-replace-nitems.patch b/libs/libudev-fbsd/patches/002-replace-nitems.patch
deleted file mode 100644 (file)
index 7f4d0de..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/libudev.c
-+++ b/src/libudev.c
-@@ -175,7 +175,7 @@ populate_properties_list(struct udev_dev
-       struct udev_list_entry **list_end = &udev_device->properties_list;
--      for (unsigned i = 0; i < nitems(ids); ++i) {
-+      for (unsigned i = 0; i < (sizeof(ids) / sizeof(ids[0])); ++i) {
-               char const *id = ids[i];
-               struct udev_list_entry *le;
index 9aec7b9b30c8dda78879b7e81fd0f22c6f12cd82..19efcb3c926568421348c31de2fa1657fdaafc6c 100644 (file)
@@ -1,6 +1,6 @@
 --- a/src/CMakeLists.txt
 +++ b/src/CMakeLists.txt
-@@ -11,6 +11,7 @@ install(TARGETS udev LIBRARY DESTINATION
+@@ -26,6 +26,7 @@ install(TARGETS udev LIBRARY DESTINATION
  install(FILES libudev.h DESTINATION include)
  
  set(PKG_CONFIG_NAME libudev)
index de3ae3524de70e657fd60b0c068461975e4f73ff..1e77bf4c71f4e3642a9530656ae1933b977bf6a0 100644 (file)
@@ -1,9 +1,8 @@
-diff -ruN libudev-fbsd-20160820/src/libudev.h libudev-fbsd-20160820.mod/src/libudev.h
---- libudev-fbsd-20160820/src/libudev.h        2017-11-17 16:46:56.705435146 +0100
-+++ libudev-fbsd-20160820.mod/src/libudev.h    2017-11-17 16:48:07.276021522 +0100
-@@ -11,6 +11,11 @@
- #include <fcntl.h>
- #include <unistd.h>
+--- a/src/libudev.h
++++ b/src/libudev.h
+@@ -7,6 +7,11 @@
+ extern "C" {
+ #endif
  
 +
 +#ifdef __cplusplus
@@ -13,12 +12,14 @@ diff -ruN libudev-fbsd-20160820/src/libudev.h libudev-fbsd-20160820.mod/src/libu
  struct udev;
  struct udev_device;
  struct udev_list_entry;
-@@ -83,4 +88,8 @@
-     struct udev_monitor *udev_monitor);
- void udev_monitor_unref(struct udev_monitor *udev_monitor);
+@@ -76,6 +81,10 @@ void udev_monitor_unref(struct udev_moni
  
-+#ifdef __cplusplus
-+} /* extern "C" */
+ #ifdef __cplusplus
+ } /* extern "C" */
 +#endif
 +
++#ifdef __cplusplus
++} /* extern "C" */
+ #endif
  #endif
index aaa56f3cfd5e4c2ce20fd37f3a657c1923ba56ad..7592c8b6916e34ad45747bb02a052f92dcd962ec 100644 (file)
@@ -1,6 +1,6 @@
 --- a/src/libudev.c
 +++ b/src/libudev.c
-@@ -130,6 +130,12 @@ udev_device_get_devnum(struct udev_devic
+@@ -139,6 +139,12 @@ udev_device_get_devnum(struct udev_devic
  }
  
  char const *
@@ -15,7 +15,7 @@
        LOG("udev_device_get_property_value %s\n", property);
 --- a/src/libudev.h
 +++ b/src/libudev.h
-@@ -30,6 +30,7 @@ struct udev_device *udev_device_new_from
+@@ -31,6 +31,7 @@ struct udev_device *udev_device_new_from
      struct udev *udev, char const *syspath);
  struct udev_device *udev_device_new_from_devnum(
      struct udev *udev, char type, dev_t devnum);
index bc12d66a6f76ac9bb241d01deff1a14675adb6e3..47ed81ac29b72a609b0d183cfc7ccc4b9bc88327 100644 (file)
@@ -1,6 +1,6 @@
 --- a/src/libudev.c
 +++ b/src/libudev.c
-@@ -26,6 +26,7 @@ struct udev_device {
+@@ -35,6 +35,7 @@ struct udev_device {
        struct udev *udev;
        int refcount;
        char syspath[32];
@@ -8,7 +8,7 @@
        dev_t devnum;
        char const *sysname;
        char const *action;
-@@ -115,6 +116,29 @@ udev_device_new_from_devnum(struct udev
+@@ -124,6 +125,29 @@ udev_device_new_from_devnum(struct udev
        return NULL;
  }
  
@@ -38,7 +38,7 @@
  char const *
  udev_device_get_devnode(struct udev_device *udev_device)
  {
-@@ -132,6 +156,20 @@ udev_device_get_devnum(struct udev_devic
+@@ -141,6 +165,20 @@ udev_device_get_devnum(struct udev_devic
  char const *
  udev_device_get_driver(struct udev_device *udev_device)
  {
@@ -61,7 +61,7 @@
  
 --- a/src/libudev.h
 +++ b/src/libudev.h
-@@ -30,6 +30,8 @@ struct udev_device *udev_device_new_from
+@@ -31,6 +31,8 @@ struct udev_device *udev_device_new_from
      struct udev *udev, char const *syspath);
  struct udev_device *udev_device_new_from_devnum(
      struct udev *udev, char type, dev_t devnum);
index 86e6b96cd9ac01f7f643cef61819dd0557f694e5..f65a2e97817f3ad31e8ee850b10f97a6463805c9 100644 (file)
@@ -1,6 +1,6 @@
 --- a/src/libudev.c
 +++ b/src/libudev.c
-@@ -162,7 +162,7 @@ udev_device_get_driver(struct udev_devic
+@@ -171,7 +171,7 @@ udev_device_get_driver(struct udev_devic
                char driverlnk[32];
                snprintf(driverlnp, sizeof(driverlnp), "%s/driver",
                         udev_device->sysfspath);
@@ -9,7 +9,7 @@
                {
                        char *drivernm;
                        drivernm = strrchr(driverlnk, '/');
-@@ -600,6 +600,18 @@ udev_enumerate_add_match_property(struct
+@@ -612,6 +612,18 @@ udev_enumerate_add_match_property(struct
            value);
        return -1;
  }
@@ -30,7 +30,7 @@
  udev_enumerate_unref(struct udev_enumerate *udev_enumerate)
 --- a/src/libudev.h
 +++ b/src/libudev.h
-@@ -59,6 +59,8 @@ int udev_enumerate_add_match_sysname(
+@@ -60,6 +60,8 @@ int udev_enumerate_add_match_sysname(
      struct udev_enumerate *udev_enumerate, char const *sysname);
  int udev_enumerate_add_match_property(struct udev_enumerate *udev_enumerate,
      char const *property, char const *value);
index 746ddff18c15dd11a9654921da3d7e3c1b45d1b5..ce190456c1e5ebd615d5bdea22779ad4543ab854 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=irssi
-PKG_VERSION:=1.1.2
+PKG_VERSION:=1.2.0
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=https://github.com/irssi/irssi/releases/download/1.1.2/
-PKG_HASH:=5ccc2b89a394e91bea0aa83a951c3b1d471c76da87b4169ec435530a31bf9732
+PKG_SOURCE_URL:=https://github.com/irssi/irssi/releases/download/1.2.0/
+PKG_HASH:=1643fca1d8b35e5a5d7b715c9c889e1e9cdb7e578e06487901ea959e6ab3ebe5
 
 PKG_LICENSE:=GPL-2.0
 PKG_LICENSE_FILES:=COPYING
index e37920bd2bc7360780786916ca8a0c813251034a..03c77738ac29d2d1f93be4d4786a2bc5f2f8b34f 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=openssh
 PKG_VERSION:=7.9p1
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/ \
diff --git a/net/openssh/patches/0003-cve-2019-6109-sanitize-scp-filenames-via-snmprintf.patch b/net/openssh/patches/0003-cve-2019-6109-sanitize-scp-filenames-via-snmprintf.patch
new file mode 100644 (file)
index 0000000..e58b8b1
--- /dev/null
@@ -0,0 +1,276 @@
+From 11b88754cadcad0ba79b4ffcc127223248dccb54 Mon Sep 17 00:00:00 2001
+From: "dtucker@openbsd.org" <dtucker@openbsd.org>
+Date: Wed, 23 Jan 2019 08:01:46 +0000
+Subject: upstream: Sanitize scp filenames via snmprintf. To do this we move
+
+the progressmeter formatting outside of signal handler context and have the
+atomicio callback called for EINTR too.  bz#2434 with contributions from djm
+and jjelen at redhat.com, ok djm@
+
+OpenBSD-Commit-ID: 1af61c1f70e4f3bd8ab140b9f1fa699481db57d8
+
+CVE-2019-6109
+
+Origin: backport, https://anongit.mindrot.org/openssh.git/commit/?id=8976f1c4b2721c26e878151f52bdf346dfe2d54c
+Bug-Debian: https://bugs.debian.org/793412
+Last-Update: 2019-02-08
+
+Patch-Name: sanitize-scp-filenames-via-snmprintf.patch
+---
+ atomicio.c      | 20 ++++++++++++++-----
+ progressmeter.c | 53 ++++++++++++++++++++++---------------------------
+ progressmeter.h |  3 ++-
+ scp.c           |  1 +
+ sftp-client.c   | 16 ++++++++-------
+ 5 files changed, 51 insertions(+), 42 deletions(-)
+
+diff --git a/atomicio.c b/atomicio.c
+index f854a06f5..d91bd7621 100644
+--- a/atomicio.c
++++ b/atomicio.c
+@@ -1,4 +1,4 @@
+-/* $OpenBSD: atomicio.c,v 1.28 2016/07/27 23:18:12 djm Exp $ */
++/* $OpenBSD: atomicio.c,v 1.29 2019/01/23 08:01:46 dtucker Exp $ */
+ /*
+  * Copyright (c) 2006 Damien Miller. All rights reserved.
+  * Copyright (c) 2005 Anil Madhavapeddy. All rights reserved.
+@@ -65,9 +65,14 @@ atomicio6(ssize_t (*f) (int, void *, size_t), int fd, void *_s, size_t n,
+               res = (f) (fd, s + pos, n - pos);
+               switch (res) {
+               case -1:
+-                      if (errno == EINTR)
++                      if (errno == EINTR) {
++                              /* possible SIGALARM, update callback */
++                              if (cb != NULL && cb(cb_arg, 0) == -1) {
++                                      errno = EINTR;
++                                      return pos;
++                              }
+                               continue;
+-                      if (errno == EAGAIN || errno == EWOULDBLOCK) {
++                      } else if (errno == EAGAIN || errno == EWOULDBLOCK) {
+ #ifndef BROKEN_READ_COMPARISON
+                               (void)poll(&pfd, 1, -1);
+ #endif
+@@ -122,9 +127,14 @@ atomiciov6(ssize_t (*f) (int, const struct iovec *, int), int fd,
+               res = (f) (fd, iov, iovcnt);
+               switch (res) {
+               case -1:
+-                      if (errno == EINTR)
++                      if (errno == EINTR) {
++                              /* possible SIGALARM, update callback */
++                              if (cb != NULL && cb(cb_arg, 0) == -1) {
++                                      errno = EINTR;
++                                      return pos;
++                              }
+                               continue;
+-                      if (errno == EAGAIN || errno == EWOULDBLOCK) {
++                      } else if (errno == EAGAIN || errno == EWOULDBLOCK) {
+ #ifndef BROKEN_READV_COMPARISON
+                               (void)poll(&pfd, 1, -1);
+ #endif
+diff --git a/progressmeter.c b/progressmeter.c
+index fe9bf52e4..add462dde 100644
+--- a/progressmeter.c
++++ b/progressmeter.c
+@@ -1,4 +1,4 @@
+-/* $OpenBSD: progressmeter.c,v 1.45 2016/06/30 05:17:05 dtucker Exp $ */
++/* $OpenBSD: progressmeter.c,v 1.46 2019/01/23 08:01:46 dtucker Exp $ */
+ /*
+  * Copyright (c) 2003 Nils Nordman.  All rights reserved.
+  *
+@@ -31,6 +31,7 @@
+ #include <errno.h>
+ #include <signal.h>
++#include <stdarg.h>
+ #include <stdio.h>
+ #include <string.h>
+ #include <time.h>
+@@ -39,6 +40,7 @@
+ #include "progressmeter.h"
+ #include "atomicio.h"
+ #include "misc.h"
++#include "utf8.h"
+ #define DEFAULT_WINSIZE 80
+ #define MAX_WINSIZE 512
+@@ -61,7 +63,7 @@ static void setscreensize(void);
+ void refresh_progress_meter(void);
+ /* signal handler for updating the progress meter */
+-static void update_progress_meter(int);
++static void sig_alarm(int);
+ static double start;          /* start progress */
+ static double last_update;    /* last progress update */
+@@ -74,6 +76,7 @@ static long stalled;         /* how long we have been stalled */
+ static int bytes_per_second;  /* current speed in bytes per second */
+ static int win_size;          /* terminal window size */
+ static volatile sig_atomic_t win_resized; /* for window resizing */
++static volatile sig_atomic_t alarm_fired;
+ /* units for format_size */
+ static const char unit[] = " KMGT";
+@@ -126,9 +129,17 @@ refresh_progress_meter(void)
+       off_t bytes_left;
+       int cur_speed;
+       int hours, minutes, seconds;
+-      int i, len;
+       int file_len;
++      if ((!alarm_fired && !win_resized) || !can_output())
++              return;
++      alarm_fired = 0;
++
++      if (win_resized) {
++              setscreensize();
++              win_resized = 0;
++      }
++
+       transferred = *counter - (cur_pos ? cur_pos : start_pos);
+       cur_pos = *counter;
+       now = monotime_double();
+@@ -158,16 +169,11 @@ refresh_progress_meter(void)
+       /* filename */
+       buf[0] = '\0';
+-      file_len = win_size - 35;
++      file_len = win_size - 36;
+       if (file_len > 0) {
+-              len = snprintf(buf, file_len + 1, "\r%s", file);
+-              if (len < 0)
+-                      len = 0;
+-              if (len >= file_len + 1)
+-                      len = file_len;
+-              for (i = len; i < file_len; i++)
+-                      buf[i] = ' ';
+-              buf[file_len] = '\0';
++              buf[0] = '\r';
++              snmprintf(buf+1, sizeof(buf)-1 , &file_len, "%*s",
++                  file_len * -1, file);
+       }
+       /* percent of transfer done */
+@@ -228,22 +234,11 @@ refresh_progress_meter(void)
+ /*ARGSUSED*/
+ static void
+-update_progress_meter(int ignore)
++sig_alarm(int ignore)
+ {
+-      int save_errno;
+-
+-      save_errno = errno;
+-
+-      if (win_resized) {
+-              setscreensize();
+-              win_resized = 0;
+-      }
+-      if (can_output())
+-              refresh_progress_meter();
+-
+-      signal(SIGALRM, update_progress_meter);
++      signal(SIGALRM, sig_alarm);
++      alarm_fired = 1;
+       alarm(UPDATE_INTERVAL);
+-      errno = save_errno;
+ }
+ void
+@@ -259,10 +254,9 @@ start_progress_meter(const char *f, off_t filesize, off_t *ctr)
+       bytes_per_second = 0;
+       setscreensize();
+-      if (can_output())
+-              refresh_progress_meter();
++      refresh_progress_meter();
+-      signal(SIGALRM, update_progress_meter);
++      signal(SIGALRM, sig_alarm);
+       signal(SIGWINCH, sig_winch);
+       alarm(UPDATE_INTERVAL);
+ }
+@@ -286,6 +280,7 @@ stop_progress_meter(void)
+ static void
+ sig_winch(int sig)
+ {
++      signal(SIGWINCH, sig_winch);
+       win_resized = 1;
+ }
+diff --git a/progressmeter.h b/progressmeter.h
+index bf179dca6..8f6678060 100644
+--- a/progressmeter.h
++++ b/progressmeter.h
+@@ -1,4 +1,4 @@
+-/* $OpenBSD: progressmeter.h,v 1.3 2015/01/14 13:54:13 djm Exp $ */
++/* $OpenBSD: progressmeter.h,v 1.4 2019/01/23 08:01:46 dtucker Exp $ */
+ /*
+  * Copyright (c) 2002 Nils Nordman.  All rights reserved.
+  *
+@@ -24,4 +24,5 @@
+  */
+ void  start_progress_meter(const char *, off_t, off_t *);
++void  refresh_progress_meter(void);
+ void  stop_progress_meter(void);
+diff --git a/scp.c b/scp.c
+index 7163d33dc..80308573c 100644
+--- a/scp.c
++++ b/scp.c
+@@ -593,6 +593,7 @@ scpio(void *_cnt, size_t s)
+       off_t *cnt = (off_t *)_cnt;
+       *cnt += s;
++      refresh_progress_meter();
+       if (limit_kbps > 0)
+               bandwidth_limit(&bwlimit, s);
+       return 0;
+diff --git a/sftp-client.c b/sftp-client.c
+index 4986d6d8d..2bc698f86 100644
+--- a/sftp-client.c
++++ b/sftp-client.c
+@@ -101,7 +101,9 @@ sftpio(void *_bwlimit, size_t amount)
+ {
+       struct bwlimit *bwlimit = (struct bwlimit *)_bwlimit;
+-      bandwidth_limit(bwlimit, amount);
++      refresh_progress_meter();
++      if (bwlimit != NULL)
++              bandwidth_limit(bwlimit, amount);
+       return 0;
+ }
+@@ -121,8 +123,8 @@ send_msg(struct sftp_conn *conn, struct sshbuf *m)
+       iov[1].iov_base = (u_char *)sshbuf_ptr(m);
+       iov[1].iov_len = sshbuf_len(m);
+-      if (atomiciov6(writev, conn->fd_out, iov, 2,
+-          conn->limit_kbps > 0 ? sftpio : NULL, &conn->bwlimit_out) !=
++      if (atomiciov6(writev, conn->fd_out, iov, 2, sftpio,
++          conn->limit_kbps > 0 ? &conn->bwlimit_out : NULL) !=
+           sshbuf_len(m) + sizeof(mlen))
+               fatal("Couldn't send packet: %s", strerror(errno));
+@@ -138,8 +140,8 @@ get_msg_extended(struct sftp_conn *conn, struct sshbuf *m, int initial)
+       if ((r = sshbuf_reserve(m, 4, &p)) != 0)
+               fatal("%s: buffer error: %s", __func__, ssh_err(r));
+-      if (atomicio6(read, conn->fd_in, p, 4,
+-          conn->limit_kbps > 0 ? sftpio : NULL, &conn->bwlimit_in) != 4) {
++      if (atomicio6(read, conn->fd_in, p, 4, sftpio,
++          conn->limit_kbps > 0 ? &conn->bwlimit_in : NULL) != 4) {
+               if (errno == EPIPE || errno == ECONNRESET)
+                       fatal("Connection closed");
+               else
+@@ -157,8 +159,8 @@ get_msg_extended(struct sftp_conn *conn, struct sshbuf *m, int initial)
+       if ((r = sshbuf_reserve(m, msg_len, &p)) != 0)
+               fatal("%s: buffer error: %s", __func__, ssh_err(r));
+-      if (atomicio6(read, conn->fd_in, p, msg_len,
+-          conn->limit_kbps > 0 ? sftpio : NULL, &conn->bwlimit_in)
++      if (atomicio6(read, conn->fd_in, p, msg_len, sftpio,
++          conn->limit_kbps > 0 ? &conn->bwlimit_in : NULL)
+           != msg_len) {
+               if (errno == EPIPE)
+                       fatal("Connection closed");
diff --git a/net/openssh/patches/0004-cve-2019-6111-check-filenames-in-scp-client.patch b/net/openssh/patches/0004-cve-2019-6111-check-filenames-in-scp-client.patch
new file mode 100644 (file)
index 0000000..519358c
--- /dev/null
@@ -0,0 +1,187 @@
+From 125924e47db3713a85a70e0f8d6c23818d2ea054 Mon Sep 17 00:00:00 2001
+From: "djm@openbsd.org" <djm@openbsd.org>
+Date: Sat, 26 Jan 2019 22:41:28 +0000
+Subject: upstream: check in scp client that filenames sent during
+
+remote->local directory copies satisfy the wildcard specified by the user.
+
+This checking provides some protection against a malicious server
+sending unexpected filenames, but it comes at a risk of rejecting wanted
+files due to differences between client and server wildcard expansion rules.
+
+For this reason, this also adds a new -T flag to disable the check.
+
+reported by Harry Sintonen
+fix approach suggested by markus@;
+has been in snaps for ~1wk courtesy deraadt@
+
+OpenBSD-Commit-ID: 00f44b50d2be8e321973f3c6d014260f8f7a8eda
+
+CVE-2019-6111
+
+Origin: backport, https://anongit.mindrot.org/openssh.git/commit/?id=391ffc4b9d31fa1f4ad566499fef9176ff8a07dc
+Last-Update: 2019-02-08
+
+Patch-Name: check-filenames-in-scp-client.patch
+---
+ scp.1 | 12 +++++++++++-
+ scp.c | 37 +++++++++++++++++++++++++++++--------
+ 2 files changed, 40 insertions(+), 9 deletions(-)
+
+diff --git a/scp.1 b/scp.1
+index 0e5cc1b2d..397e77091 100644
+--- a/scp.1
++++ b/scp.1
+@@ -18,7 +18,7 @@
+ .Nd secure copy (remote file copy program)
+ .Sh SYNOPSIS
+ .Nm scp
+-.Op Fl 346BCpqrv
++.Op Fl 346BCpqrTv
+ .Op Fl c Ar cipher
+ .Op Fl F Ar ssh_config
+ .Op Fl i Ar identity_file
+@@ -208,6 +208,16 @@ to use for the encrypted connection.
+ The program must understand
+ .Xr ssh 1
+ options.
++.It Fl T
++Disable strict filename checking.
++By default when copying files from a remote host to a local directory
++.Nm
++checks that the received filenames match those requested on the command-line
++to prevent the remote end from sending unexpected or unwanted files.
++Because of differences in how various operating systems and shells interpret
++filename wildcards, these checks may cause wanted files to be rejected.
++This option disables these checks at the expense of fully trusting that
++the server will not send unexpected filenames.
+ .It Fl v
+ Verbose mode.
+ Causes
+diff --git a/scp.c b/scp.c
+index 1971c80cd..035037bcc 100644
+--- a/scp.c
++++ b/scp.c
+@@ -94,6 +94,7 @@
+ #include <dirent.h>
+ #include <errno.h>
+ #include <fcntl.h>
++#include <fnmatch.h>
+ #include <limits.h>
+ #include <locale.h>
+ #include <pwd.h>
+@@ -383,14 +384,14 @@ void verifydir(char *);
+ struct passwd *pwd;
+ uid_t userid;
+ int errs, remin, remout;
+-int pflag, iamremote, iamrecursive, targetshouldbedirectory;
++int Tflag, pflag, iamremote, iamrecursive, targetshouldbedirectory;
+ #define       CMDNEEDS        64
+ char cmd[CMDNEEDS];           /* must hold "rcp -r -p -d\0" */
+ int response(void);
+ void rsource(char *, struct stat *);
+-void sink(int, char *[]);
++void sink(int, char *[], const char *);
+ void source(int, char *[]);
+ void tolocal(int, char *[]);
+ void toremote(int, char *[]);
+@@ -429,8 +430,9 @@ main(int argc, char **argv)
+       addargs(&args, "-oRemoteCommand=none");
+       addargs(&args, "-oRequestTTY=no");
+-      fflag = tflag = 0;
+-      while ((ch = getopt(argc, argv, "dfl:prtvBCc:i:P:q12346S:o:F:")) != -1)
++      fflag = Tflag = tflag = 0;
++      while ((ch = getopt(argc, argv,
++          "dfl:prtTvBCc:i:P:q12346S:o:F:")) != -1) {
+               switch (ch) {
+               /* User-visible flags. */
+               case '1':
+@@ -509,9 +511,13 @@ main(int argc, char **argv)
+                       setmode(0, O_BINARY);
+ #endif
+                       break;
++              case 'T':
++                      Tflag = 1;
++                      break;
+               default:
+                       usage();
+               }
++      }
+       argc -= optind;
+       argv += optind;
+@@ -542,7 +548,7 @@ main(int argc, char **argv)
+       }
+       if (tflag) {
+               /* Receive data. */
+-              sink(argc, argv);
++              sink(argc, argv, NULL);
+               exit(errs != 0);
+       }
+       if (argc < 2)
+@@ -800,7 +806,7 @@ tolocal(int argc, char **argv)
+                       continue;
+               }
+               free(bp);
+-              sink(1, argv + argc - 1);
++              sink(1, argv + argc - 1, src);
+               (void) close(remin);
+               remin = remout = -1;
+       }
+@@ -976,7 +982,7 @@ rsource(char *name, struct stat *statp)
+        (sizeof(type) != 4 && sizeof(type) != 8))
+ void
+-sink(int argc, char **argv)
++sink(int argc, char **argv, const char *src)
+ {
+       static BUF buffer;
+       struct stat stb;
+@@ -992,6 +998,7 @@ sink(int argc, char **argv)
+       unsigned long long ull;
+       int setimes, targisdir, wrerrno = 0;
+       char ch, *cp, *np, *targ, *why, *vect[1], buf[2048], visbuf[2048];
++      char *src_copy = NULL, *restrict_pattern = NULL;
+       struct timeval tv[2];
+ #define       atime   tv[0]
+@@ -1016,6 +1023,17 @@ sink(int argc, char **argv)
+       (void) atomicio(vwrite, remout, "", 1);
+       if (stat(targ, &stb) == 0 && S_ISDIR(stb.st_mode))
+               targisdir = 1;
++      if (src != NULL && !iamrecursive && !Tflag) {
++              /*
++               * Prepare to try to restrict incoming filenames to match
++               * the requested destination file glob.
++               */
++              if ((src_copy = strdup(src)) == NULL)
++                      fatal("strdup failed");
++              if ((restrict_pattern = strrchr(src_copy, '/')) != NULL) {
++                      *restrict_pattern++ = '\0';
++              }
++      }
+       for (first = 1;; first = 0) {
+               cp = buf;
+               if (atomicio(read, remin, cp, 1) != 1)
+@@ -1120,6 +1138,9 @@ sink(int argc, char **argv)
+                       run_err("error: unexpected filename: %s", cp);
+                       exit(1);
+               }
++              if (restrict_pattern != NULL &&
++                  fnmatch(restrict_pattern, cp, 0) != 0)
++                      SCREWUP("filename does not match request");
+               if (targisdir) {
+                       static char *namebuf;
+                       static size_t cursize;
+@@ -1157,7 +1178,7 @@ sink(int argc, char **argv)
+                                       goto bad;
+                       }
+                       vect[0] = xstrdup(np);
+-                      sink(1, vect);
++                      sink(1, vect, src);
+                       if (setimes) {
+                               setimes = 0;
+                               if (utimes(vect[0], tv) < 0)
index 98b579305efa51869bca6ad17b2be1e0d99aa9db..0d0dc7aa123514e7f88a2541a9c86939fcec6581 100644 (file)
@@ -14,7 +14,7 @@ include $(TOPDIR)/rules.mk
 #
 PKG_NAME:=shadowsocks-libev
 PKG_VERSION:=3.2.3
-PKG_RELEASE:=3
+PKG_RELEASE:=6
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/shadowsocks/shadowsocks-libev/releases/download/v$(PKG_VERSION)
index 23cb873cc681c4836241122903e2af8d89095810..81b209c5c2767db0d178f1f16acdec9291a2a788 100644 (file)
@@ -144,12 +144,15 @@ ss_rules() {
        local args
 
        [ -x "$bin" ] || return 1
+       "$bin" -f
+       "$bin" -6 -f
+
        config_get cfgtype "$cfg" TYPE
        [ "$cfgtype" = ss_rules ] || return 1
 
        eval "$(validate_ss_rules_section "$cfg" ss_validate_mklocal)"
        validate_ss_rules_section "$cfg" || return 1
-       [ "$disabled" = 0 ] || return 1
+       [ "$disabled" = 0 ] || return 0
 
        eval local_port_tcp="\$ss_rules_redir_tcp_$redir_tcp"
        eval local_port_udp="\$ss_rules_redir_udp_$redir_udp"
index b3dda4fef56fb05c12e754d1bc5a39c07a824f5b..2016667f01ccc36b0df5989d06dbd778591a0ffa 100755 (executable)
@@ -13,8 +13,8 @@ __errmsg() {
 }
 
 if [ "$1" = "-6" ]; then
-       if ! ip6tables -t nat -L -n >/dev/null; then
-               __errmsg "Skipping ipv6.  Please install ip6tables-mod-nat"
+       if ! ip6tables -t nat -L -n &>/dev/null; then
+               __errmsg "Skipping ipv6.  Requires ip6tables-mod-nat"
                exit 1
        fi
        o_use_ipv6=1; shift
@@ -210,7 +210,7 @@ ss_rules_iptchains_init_tcp() {
                :ss_rules_local_out -
                -I OUTPUT 1 -p tcp -j ss_rules_local_out
                -A ss_rules_local_out -m set --match-set ss_rules${o_af}_dst_bypass_ dst -j RETURN
-               -A ss_rules_local_out -p tcp $o_ipt_extra -j $local_target -m comment --comment "local_default: $o_local_default"
+               -A ss_rules_local_out $o_ipt_extra -j $local_target
                COMMIT
        EOF
 }
@@ -265,15 +265,15 @@ ss_rules_iptchains_init_() {
                :ss_rules_forward -
                $(ss_rules_iptchains_mkprerules "$proto")
                -A ss_rules_pre_src -m set --match-set ss_rules${o_af}_dst_bypass_ dst -j RETURN
-               -A ss_rules_pre_src -p $proto $o_ipt_extra -j ss_rules_src
+               -A ss_rules_pre_src $o_ipt_extra -j ss_rules_src
                -A ss_rules_src -m set --match-set ss_rules${o_af}_src_bypass src -j RETURN
                -A ss_rules_src -m set --match-set ss_rules${o_af}_src_forward src -j ss_rules_forward
                -A ss_rules_src -m set --match-set ss_rules${o_af}_src_checkdst src -j ss_rules_dst
-               -A ss_rules_src -j $src_default_target -m comment --comment "src_default: $o_src_default"
+               -A ss_rules_src -j $src_default_target
                -A ss_rules_dst -m set --match-set ss_rules${o_af}_dst_bypass dst -j RETURN
                -A ss_rules_dst -m set --match-set ss_rules${o_af}_dst_forward dst -j ss_rules_forward
                $recentrst_addset_rules
-               -A ss_rules_dst -j $dst_default_target -m comment --comment "dst_default: $o_dst_default"
+               -A ss_rules_dst -j $dst_default_target
                $forward_rules
                COMMIT
                $recentrst_mangle_rules
index ad629cf1a8235ba9a2f05ea6f55463f588dd81a6..d21551d7168331b0f0053950305ae87c62f7abbd 100644 (file)
@@ -8,8 +8,8 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=unbound
-PKG_VERSION:=1.8.3
-PKG_RELEASE:=2
+PKG_VERSION:=1.9.0
+PKG_RELEASE:=1
 
 PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE_FILES:=LICENSE
@@ -17,7 +17,7 @@ PKG_MAINTAINER:=Eric Luehrsen <ericluehrsen@gmail.com>
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.unbound.net/downloads
-PKG_HASH:=2b692b8311edfad41e7d0380aac34576060d4176add81dc5db419c79b2a4cecc
+PKG_HASH:=415af94b8392bc6b2c52e44ac8f17935cc6ddf2cc81edfb47c5be4ad205ab917
 
 PKG_BUILD_PARALLEL:=1
 PKG_FIXUP:=autoreconf
diff --git a/net/unbound/patches/101-dns64-crash.patch b/net/unbound/patches/101-dns64-crash.patch
deleted file mode 100644 (file)
index e27f072..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-From 023411f97505c8c7e375112ad853b6a40ef848a6 Mon Sep 17 00:00:00 2001
-From: Wouter Wijngaards <wouter@nlnetlabs.nl>
-Date: Wed, 12 Dec 2018 16:03:05 +0000
-Subject: [PATCH] - Fix for crash in dns64 module if response is null.
-
-git-svn-id: file:///svn/unbound/trunk@5025 be551aaa-1e26-0410-a405-d3ace91eadb9
----
- dns64/dns64.c | 1 +
- doc/Changelog | 3 +++
- 2 files changed, 4 insertions(+)
-
-diff --git a/dns64/dns64.c b/dns64/dns64.c
-index 77e68900..f2834da2 100644
---- a/dns64/dns64.c
-+++ b/dns64/dns64.c
-@@ -628,6 +628,7 @@ handle_event_moddone(struct module_qstate* qstate, int id)
-       /* Store the response in cache. */
-       if ( (!iq || !iq->started_no_cache_store) &&
-+              qstate->return_msg && qstate->return_msg->rep &&
-               !dns_cache_store(qstate->env, &qstate->qinfo, qstate->return_msg->rep,
-               0, 0, 0, NULL, qstate->query_flags))
-               log_err("out of memory");
index 6eaa082fafb1a11fb5a1e8a9fc7218deeaef0ea4..7fa1ea86b4f3593ede3d6f8337e9ebc7262d12d5 100644 (file)
@@ -1,23 +1,8 @@
-Index: daemon/daemon.c
-===================================================================
---- a/daemon/daemon.c
-+++ b/daemon/daemon.c
-@@ -769,7 +769,7 @@ daemon_delete(struct daemon* daemon)
- #  endif
- #  ifdef HAVE_OPENSSL_CONFIG
-       EVP_cleanup();
--#  if OPENSSL_VERSION_NUMBER < 0x10100000
-+#  if (OPENSSL_VERSION_NUMBER < 0x10100000) || !defined(OPENSSL_NO_ENGINE)
-       ENGINE_cleanup();
- #  endif
-       CONF_modules_free();
-Index: util/net_help.c
-===================================================================
 --- a/util/net_help.c
 +++ b/util/net_help.c
-@@ -1006,10 +1006,10 @@ void* outgoing_ssl_fd(void* sslctx, int fd)
+@@ -1049,10 +1049,10 @@ void* outgoing_ssl_fd(void* sslctx, int
  static lock_basic_type *ub_openssl_locks = NULL;
+
  /** callback that gets thread id for openssl */
 -static unsigned long
 -ub_crypto_id_cb(void)
@@ -27,9 +12,9 @@ Index: util/net_help.c
 -      return (unsigned long)log_thread_get();
 +      CRYPTO_THREADID_set_numeric(id, (unsigned long)log_thread_get());
  }
+
  static void
-@@ -1035,7 +1035,7 @@ int ub_openssl_lock_init(void)
+@@ -1078,7 +1078,7 @@ int ub_openssl_lock_init(void)
        for(i=0; i<CRYPTO_num_locks(); i++) {
                lock_basic_init(&ub_openssl_locks[i]);
        }
@@ -38,7 +23,7 @@ Index: util/net_help.c
        CRYPTO_set_locking_callback(&ub_crypto_lock_cb);
  #endif /* OPENSSL_THREADS */
        return 1;
-@@ -1047,7 +1047,7 @@ void ub_openssl_lock_delete(void)
+@@ -1090,7 +1090,7 @@ void ub_openssl_lock_delete(void)
        int i;
        if(!ub_openssl_locks)
                return;
diff --git a/net/unbound/patches/300-fix-ssl-err-log.patch b/net/unbound/patches/300-fix-ssl-err-log.patch
new file mode 100644 (file)
index 0000000..f2f0add
--- /dev/null
@@ -0,0 +1,39 @@
+Index: daemon/remote.c
+===================================================================
+--- a/daemon/remote.c  (revision 5105)
++++ b/daemon/remote.c  (working copy)
+@@ -1987,7 +1987,7 @@
+                               return NULL;
+                       }
+               } else {
+-#ifndef HAVE_SSL_SET1_HOST
++#if ! defined(HAVE_SSL_SET1_HOST) && ! defined(HAVE_X509_VERIFY_PARAM_SET1_HOST)
+                       if(auth_name)
+                         log_err("no name verification functionality in "
+                               "ssl library, ignored name for %s", todo);
+Index: iterator/iter_fwd.c
+===================================================================
+--- a/iterator/iter_fwd.c      (revision 5105)
++++ b/iterator/iter_fwd.c      (working copy)
+@@ -239,7 +239,7 @@
+                               s->name, p->str);
+                       return 0;
+               }
+-#ifndef HAVE_SSL_SET1_HOST
++#if ! defined(HAVE_SSL_SET1_HOST) && ! defined(HAVE_X509_VERIFY_PARAM_SET1_HOST)
+               if(tls_auth_name)
+                       log_err("no name verification functionality in "
+                               "ssl library, ignored name for %s", p->str);
+Index: iterator/iter_hints.c
+===================================================================
+--- a/iterator/iter_hints.c    (revision 5105)
++++ b/iterator/iter_hints.c    (working copy)
+@@ -252,7 +252,7 @@
+                               s->name, p->str);
+                       return 0;
+               }
+-#ifndef HAVE_SSL_SET1_HOST
++#if ! defined(HAVE_SSL_SET1_HOST) && ! defined(HAVE_X509_VERIFY_PARAM_SET1_HOST)
+               if(auth_name)
+                       log_err("no name verification functionality in "
+                               "ssl library, ignored name for %s", p->str);
index bd3cbf3ddb1669fdce5a8174dba8c89e185cddba..f57476eea32f805a0cbeacdb7466469538239922 100644 (file)
@@ -1,12 +1,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=uwsgi-cgi
-PKG_VERSION:=2.0.17.1
-PKG_RELEASE:=5
+PKG_VERSION:=2.0.18
+PKG_RELEASE:=1
 
-PKG_SOURCE_URL=https://codeload.github.com/unbit/uwsgi/tar.gz/$(PKG_VERSION)?
+PKG_SOURCE_URL= \
+       https://projects.unbit.it/downloads \
+       https://codeload.github.com/unbit/uwsgi/tar.gz/$(PKG_VERSION)?
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_HASH:=d2318235c74665a60021a4fc7770e9c2756f9fc07de7b8c22805efe85b5ab277
+PKG_HASH:=4972ac538800fb2d421027f49b4a1869b66048839507ccf0aa2fda792d99f583
 PKG_BUILD_DIR:=$(BUILD_DIR)/uwsgi-$(PKG_VERSION)
 
 PKG_LICENSE:=GPL-2.0-or-later
@@ -21,7 +23,7 @@ define Package/uwsgi-cgi
   CATEGORY:=Network
   SUBMENU:=Web Servers/Proxies
   TITLE:=The uWSGI server
-  URL:=http://unbit.com/
+  URL:=https://projects.unbit.it/uwsgi
   DEPENDS:=+libcap +jansson +libuuid
 endef
 
@@ -30,7 +32,6 @@ define Package/uwsgi-cgi-luci-support
   CATEGORY:=Network
   SUBMENU:=Web Servers/Proxies
   TITLE:=Support files for LuCI on Nginx
-  URL:=http://unbit.com/
   DEPENDS:=+uwsgi-cgi
 endef
 
index 953701e6d1892985d706b3d2a394a0c99bf7f30a..2c0a3dfc11a454f171344860f1508f4e802f1dc3 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=bluez
 PKG_VERSION:=5.50
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@KERNEL/linux/bluetooth/
@@ -118,32 +118,32 @@ endef
 
 define Package/bluez-utils/install
        $(INSTALL_DIR) $(1)/usr/bin
-       $(CP) $(PKG_BUILD_DIR)/tools/bdaddr $(1)/usr/bin/
-       $(CP) $(PKG_INSTALL_DIR)/usr/bin/bccmd $(1)/usr/bin/
-       $(CP) $(PKG_INSTALL_DIR)/usr/bin/bluemoon $(1)/usr/bin/
-       $(CP) $(PKG_INSTALL_DIR)/usr/bin/btattach $(1)/usr/bin/
-       $(CP) $(PKG_INSTALL_DIR)/usr/bin/btmon $(1)/usr/bin/
-       $(CP) $(PKG_BUILD_DIR)/tools/btmgmt $(1)/usr/bin/
-       $(CP) $(PKG_INSTALL_DIR)/usr/bin/ciptool $(1)/usr/bin/
-       $(CP) $(PKG_INSTALL_DIR)/usr/bin/hciattach $(1)/usr/bin/
-       $(CP) $(PKG_INSTALL_DIR)/usr/bin/hciconfig $(1)/usr/bin/
-       $(CP) $(PKG_INSTALL_DIR)/usr/bin/hcidump $(1)/usr/bin/
-       $(CP) $(PKG_INSTALL_DIR)/usr/bin/hcitool $(1)/usr/bin/
-       $(CP) $(PKG_INSTALL_DIR)/usr/bin/hex2hcd $(1)/usr/bin/
-       $(CP) $(PKG_INSTALL_DIR)/usr/bin/l2ping $(1)/usr/bin/
-       $(CP) $(PKG_INSTALL_DIR)/usr/bin/l2test $(1)/usr/bin/
-       $(CP) $(PKG_INSTALL_DIR)/usr/bin/mpris-proxy $(1)/usr/bin/
-       $(CP) $(PKG_INSTALL_DIR)/usr/bin/rctest $(1)/usr/bin/
-       $(CP) $(PKG_INSTALL_DIR)/usr/bin/rfcomm $(1)/usr/bin/
-       $(CP) $(PKG_INSTALL_DIR)/usr/bin/sdptool $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/tools/bdaddr $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/bccmd $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/bluemoon $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/btattach $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/btmon $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/tools/btmgmt $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ciptool $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/hciattach $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/hciconfig $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/hcidump $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/hcitool $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/hex2hcd $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/l2ping $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/l2test $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mpris-proxy $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/rctest $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/rfcomm $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/sdptool $(1)/usr/bin/
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/attrib/gatttool $(1)/usr/bin/
 endef
 
 define Package/bluez-daemon/install
        $(INSTALL_DIR) $(1)/usr/bin
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/bluetooth/bluetoothd $(1)/usr/bin/
-       $(CP) $(PKG_INSTALL_DIR)/usr/bin/bluetoothctl $(1)/usr/bin/
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/bluetooth/obexd $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/bluetooth/bluetoothd $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/bluetoothctl $(1)/usr/bin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/bluetooth/obexd $(1)/usr/bin/
        $(INSTALL_DIR) $(1)/etc/dbus-1/system.d/
        $(INSTALL_DATA) $(PKG_BUILD_DIR)/src/bluetooth.conf $(1)/etc/dbus-1/system.d/bluetooth.conf
        $(INSTALL_DIR) $(1)/etc/bluetooth
index 887744a151e8402fd120e6593226a9a3080f1bb1..b6d829b857c99b2821e49f7336eff27ef0f67b15 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=owfs
-PKG_VERSION:=3.2p2
+PKG_VERSION:=3.2p3
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://codeload.github.com/owfs/owfs/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=904ee3ab1d80e9d3461b310f0cc78b2175e24aa0075edc4f7f92371c667d0bb6
+PKG_SOURCE_URL:=https://github.com/owfs/owfs/releases/download/v$(PKG_VERSION)
+PKG_HASH:=b8d33eba57d4a2f6c8a11ff23f233e3248bd75a42c8219b058a888846edd8717
 
 PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
 PKG_LICENSE:=GPL-2.0