packages: sync with 19.07-rc2 lib

This commit is contained in:
LEAN-ESX 2019-12-04 02:59:28 -08:00
parent eeea03f457
commit 553d50d5d8
10 changed files with 578 additions and 2 deletions

View File

@ -0,0 +1,42 @@
#
# Copyright (C) 2019 EWSI
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=macremapper
PKG_VERSION:=1.1.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/ewsi/$(PKG_NAME)/tar.gz/v$(PKG_VERSION)?
PKG_HASH:=f9580427803123d13d50f3422623a37212034a5d72a485f9c04904f19509e4bb
PKG_MAINTAINER:=Carey Sonsino <careys@edgewaterwireless.com>
PKG_LICENSE:=GPL-2.0-only
PKG_LICENSE_FILES:=kernelmod/COPYING
include $(INCLUDE_DIR)/package.mk
define KernelPackage/macremapper
SUBMENU:=Network Support
URL:=https://www.edgewaterwireless.com
VERSION:=$(LINUX_VERSION)-$(BOARD)-$(PKG_RELEASE)
TITLE:=Dual Channel Wi-Fi macremapper Module
DEPENDS:= +kmod-cfg80211 +kmod-br-netfilter
FILES:=$(PKG_BUILD_DIR)/kernelmod/$(PKG_NAME).$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoProbe,macremapper)
endef
define KernelPackage/macremapper/description
Linux kernel module for implementation the DCW filtering mechanism
endef
MAKE_FLAGS += KERNEL_SRC=$(LINUX_DIR) ARCH=$(LINUX_KARCH)
MAKE_PATH:=kernelmod
$(eval $(call KernelPackage,macremapper))

View File

@ -0,0 +1,27 @@
--- a/kernelmod/main.c
+++ b/kernelmod/main.c
@@ -98,8 +98,11 @@ modinit( void ) {
rv = mrm_rcdb_init();
if (rv != 0) return rv;
-
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,13,0)
nf_register_hook(&_hops);
+#else
+ nf_register_net_hook(&init_net, &_hops);
+#endif
mrm_init_ctlfile(); /* XXX not checking for failure! */
printk(KERN_INFO "MRM The MAC Address Re-Mapper is now in the kernel\n");
@@ -110,7 +113,11 @@ modinit( void ) {
static void __exit
modexit( void ) {
mrm_destroy_ctlfile();
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,13,0)
nf_unregister_hook(&_hops);
+#else
+ nf_unregister_net_hook(&init_net, &_hops);
+#endif
mrm_rcdb_destroy(); /* imperative that this happens last */
printk(KERN_INFO "MRM The MAC Address Re-Mapper gone bye-bye\n");
}

56
libs/libdcwproto/Makefile Normal file
View File

@ -0,0 +1,56 @@
#
# Copyright (C) 2019 EWSI
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=libdcwproto
PKG_VERSION:=1.1.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/ewsi/$(PKG_NAME)/tar.gz/v$(PKG_VERSION)?
PKG_HASH:=b3d12f2533eafbb293bbf27608ff39520508d955a084f33894c594f39d2f7c8e
PKG_MAINTAINER:=Carey Sonsino <careys@edgewaterwireless.com>
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=COPYING
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
define Package/libdcwproto
SECTION:=libs
CATEGORY:=Libraries
SUBMENU:=Networking
TITLE:=Dual-Channel WiFi messaging library
URL:=https://www.edgewaterwireless.com
DEPENDS:=+kmod-macremapper
endef
define Package/libdcwproto/description
Platform-independent C library for marshaling and serializing DCW messages
endef
TARGET_CFLAGS += -ffunction-sections -fdata-sections -flto
TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/$(PKG_NAME)*.so* $(1)/usr/lib/
endef
define Package/libdcwproto/install
$(INSTALL_DIR) $(1)/usr/lib
# Note: $(INSTALL_BIN) does not keep symlinks, so use $(CP)
$(CP) $(PKG_INSTALL_DIR)/usr/lib/$(PKG_NAME)*.so* $(1)/usr/lib/
endef
$(eval $(call BuildPackage,libdcwproto))

View File

@ -0,0 +1,56 @@
#
# Copyright (C) 2019 EWSI
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=libdcwsocket
PKG_VERSION:=1.1.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/ewsi/$(PKG_NAME)/tar.gz/v$(PKG_VERSION)?
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_HASH:=71383c4d8c5f58c1299a3717d7de9a8b5dabfd51a2dcf9993248f2709908d23a
PKG_MAINTAINER:=Carey Sonsino <careys@edgewaterwireless.com>
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=COPYING
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
define Package/libdcwsocket
SECTION:=libs
CATEGORY:=Libraries
SUBMENU:=Networking
TITLE:=Dual-Channel socket library
URL:=https://www.edgewaterwireless.com
endef
define Package/libdcwsocket/description
User-land C library for sending and receiving DCW "EtherType"d messages
endef
TARGET_CFLAGS += -std=c89 -ffunction-sections -fdata-sections -flto
TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/$(PKG_NAME)*.so* $(1)/usr/lib/
endef
define Package/libdcwsocket/install
$(INSTALL_DIR) $(1)/usr/lib
# Note: $(INSTALL_BIN) does not keep symlinks, so use $(CP)
$(CP) $(PKG_INSTALL_DIR)/usr/lib/$(PKG_NAME)*.so* $(1)/usr/lib/
endef
$(eval $(call BuildPackage,libdcwsocket))

View File

@ -0,0 +1,10 @@
--- a/src/dcwsocket.c.linux
+++ b/src/dcwsocket.c.linux
@@ -31,6 +31,7 @@
#include <sys/types.h>
#include <sys/socket.h>
#include <net/if.h>
+#include <linux/if.h>
#include <linux/if_packet.h>
#include <linux/if_ether.h>
#include <linux/filter.h>

97
libs/libmbim/Makefile Normal file
View File

@ -0,0 +1,97 @@
#
# Copyright (C) 2016 Velocloud Inc.
# Copyright (C) 2016 Aleksander Morgado <aleksander@aleksander.es>
#
# This is free software, licensed under the GNU General Public License v2.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=libmbim
PKG_VERSION:=1.20.2
PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://www.freedesktop.org/software/libmbim
PKG_HASH:=550fb69e5e57f7646f8eb9ed8d24e44ea869ad846be9c162893f12e43528059b
PKG_MAINTAINER:=Nicholas Smith <nicholas.smith@telcoantennas.com.au>
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
PKG_FIXUP:=autoreconf
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
CONFIGURE_ARGS += \
--disable-static \
--disable-gtk-doc \
--disable-gtk-doc-html \
--disable-gtk-doc-pdf \
--disable-silent-rules \
--enable-more-warnings=yes
define Package/libmbim
SECTION:=libs
CATEGORY:=Libraries
DEPENDS:=+glib2
TITLE:=Helper library and utils to talk to MBIM enabled modems
URL:=https://www.freedesktop.org/wiki/Software/libmbim
LICENSE:=LGPL-2.0-or-later
LICENSE_FILES:=COPYING.LIB
endef
define Package/libmbim/description
Helper library to talk to MBIM enabled modems.
Add mbim-utils for extra utilities.
endef
define Package/mbim-utils
SECTION:=utils
CATEGORY:=Utilities
DEPENDS:=+libmbim
TITLE:=Utilities to talk to MBIM enabled modems
URL:=https://www.freedesktop.org/wiki/Software/libmbim
LICENSE:=GPL-2.0-or-later
LICENSE_FILES:=COPYING
endef
CONFIGURE_ARGS += \
--without-udev \
--without-udev-base-dir
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(CP) \
$(PKG_INSTALL_DIR)/usr/include/libmbim-glib \
$(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/libmbim*.so* \
$(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/pkgconfig/mbim-glib.pc \
$(1)/usr/lib/pkgconfig
endef
define Package/libmbim/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/libmbim*.so.* \
$(1)/usr/lib/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/mbim-proxy $(1)/usr/lib/
endef
define Package/mbim-utils/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mbimcli $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mbim-network $(1)/usr/bin/
endef
$(eval $(call BuildPackage,libmbim))
$(eval $(call BuildPackage,mbim-utils))

103
libs/libqmi/Makefile Normal file
View File

@ -0,0 +1,103 @@
#
# Copyright (C) 2016 Velocloud Inc.
# Copyright (C) 2016 Aleksander Morgado <aleksander@aleksander.es>
#
# This is free software, licensed under the GNU General Public License v2.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=libqmi
PKG_VERSION:=1.24.0
PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://www.freedesktop.org/software/libqmi
PKG_HASH:=aeb69f90c273467cce246176cba0967c6413f1995a976992770a597c4fe28c79
PKG_MAINTAINER:=Nicholas Smith <nicholas.smith@telcoantennas.com.au>
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
PKG_FIXUP:=autoreconf
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
define Package/libqmi
SECTION:=libs
CATEGORY:=Libraries
DEPENDS:=+libmbim
TITLE:=Helper library to talk to QMI enabled modems
URL:=https://www.freedesktop.org/wiki/Software/libqmi
LICENSE:=LGPL-2.0-or-later
LICENSE_FILES:=COPYING.LIB
endef
define Package/libqmi/description
Helper library talk to QMI enabled modems.
Add qmi-utils for extra utilities.
endef
define Package/qmi-utils
SECTION:=utils
CATEGORY:=Utilities
DEPENDS:=+libqmi
TITLE:=Utilities to talk to QMI enabled modems
URL:=https://www.freedesktop.org/wiki/Software/libqmi
LICENSE:=GPL-2.0-or-later
LICENSE_FILES:=COPYING
endef
define Package/libqmi-utils/description
Utils to talk to QMI enabled modems
endef
CONFIGURE_ARGS += \
--disable-static \
--disable-gtk-doc \
--disable-gtk-doc-html \
--disable-gtk-doc-pdf \
--disable-silent-rules \
--enable-firmware-update \
--enable-mbim-qmux \
--enable-more-warnings=yes \
--without-udev \
--without-udev-base-dir
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(CP) \
$(PKG_INSTALL_DIR)/usr/include/libqmi-glib \
$(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/libqmi*.so* \
$(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/pkgconfig/qmi-glib.pc \
$(1)/usr/lib/pkgconfig
endef
define Package/libqmi/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/libqmi*.so.* \
$(1)/usr/lib/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/qmi-proxy $(1)/usr/lib/
endef
define Package/qmi-utils/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/qmicli $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/qmi-network $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/qmi-firmware-update $(1)/usr/bin/
endef
$(eval $(call BuildPackage,libqmi))
$(eval $(call BuildPackage,qmi-utils))

View File

@ -8,17 +8,18 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libxslt
PKG_VERSION:=1.1.32
PKG_VERSION:=1.1.33
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:= \
http://xmlsoft.org/sources/ \
ftp://fr.rpmfind.net/pub/libxml/
PKG_HASH:=526ecd0abaf4a7789041622c3950c0e7f2c4c8835471515fd77eec684a355460
PKG_HASH:=8e36605144409df979cab43d835002f63988f3dc94d5d3537c12796db90e38c8
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=COPYING
PKG_CPE_ID:=cpe:/a:xmlsoft:libxslt
PKG_MAINTAINER:=Jiri Slachta <jiri@slachta.eu>

View File

@ -0,0 +1,120 @@
From e03553605b45c88f0b4b2980adfbbb8f6fca2fd6 Mon Sep 17 00:00:00 2001
From: Nick Wellnhofer <wellnhofer@aevum.de>
Date: Sun, 24 Mar 2019 09:51:39 +0100
Subject: [PATCH] Fix security framework bypass
xsltCheckRead and xsltCheckWrite return -1 in case of error but callers
don't check for this condition and allow access. With a specially
crafted URL, xsltCheckRead could be tricked into returning an error
because of a supposedly invalid URL that would still be loaded
succesfully later on.
Fixes #12.
Thanks to Felix Wilhelm for the report.
---
libxslt/documents.c | 18 ++++++++++--------
libxslt/imports.c | 9 +++++----
libxslt/transform.c | 9 +++++----
libxslt/xslt.c | 9 +++++----
4 files changed, 25 insertions(+), 20 deletions(-)
diff --git a/libxslt/documents.c b/libxslt/documents.c
index 3f3a7312..4aad11bb 100644
--- a/libxslt/documents.c
+++ b/libxslt/documents.c
@@ -296,10 +296,11 @@ xsltLoadDocument(xsltTransformContextPtr ctxt, const xmlChar *URI) {
int res;
res = xsltCheckRead(ctxt->sec, ctxt, URI);
- if (res == 0) {
- xsltTransformError(ctxt, NULL, NULL,
- "xsltLoadDocument: read rights for %s denied\n",
- URI);
+ if (res <= 0) {
+ if (res == 0)
+ xsltTransformError(ctxt, NULL, NULL,
+ "xsltLoadDocument: read rights for %s denied\n",
+ URI);
return(NULL);
}
}
@@ -372,10 +373,11 @@ xsltLoadStyleDocument(xsltStylesheetPtr style, const xmlChar *URI) {
int res;
res = xsltCheckRead(sec, NULL, URI);
- if (res == 0) {
- xsltTransformError(NULL, NULL, NULL,
- "xsltLoadStyleDocument: read rights for %s denied\n",
- URI);
+ if (res <= 0) {
+ if (res == 0)
+ xsltTransformError(NULL, NULL, NULL,
+ "xsltLoadStyleDocument: read rights for %s denied\n",
+ URI);
return(NULL);
}
}
diff --git a/libxslt/imports.c b/libxslt/imports.c
index 874870cc..3783b247 100644
--- a/libxslt/imports.c
+++ b/libxslt/imports.c
@@ -130,10 +130,11 @@ xsltParseStylesheetImport(xsltStylesheetPtr style, xmlNodePtr cur) {
int secres;
secres = xsltCheckRead(sec, NULL, URI);
- if (secres == 0) {
- xsltTransformError(NULL, NULL, NULL,
- "xsl:import: read rights for %s denied\n",
- URI);
+ if (secres <= 0) {
+ if (secres == 0)
+ xsltTransformError(NULL, NULL, NULL,
+ "xsl:import: read rights for %s denied\n",
+ URI);
goto error;
}
}
diff --git a/libxslt/transform.c b/libxslt/transform.c
index 13793914..0636dbd0 100644
--- a/libxslt/transform.c
+++ b/libxslt/transform.c
@@ -3493,10 +3493,11 @@ xsltDocumentElem(xsltTransformContextPtr ctxt, xmlNodePtr node,
*/
if (ctxt->sec != NULL) {
ret = xsltCheckWrite(ctxt->sec, ctxt, filename);
- if (ret == 0) {
- xsltTransformError(ctxt, NULL, inst,
- "xsltDocumentElem: write rights for %s denied\n",
- filename);
+ if (ret <= 0) {
+ if (ret == 0)
+ xsltTransformError(ctxt, NULL, inst,
+ "xsltDocumentElem: write rights for %s denied\n",
+ filename);
xmlFree(URL);
xmlFree(filename);
return;
diff --git a/libxslt/xslt.c b/libxslt/xslt.c
index 780a5ad7..a234eb79 100644
--- a/libxslt/xslt.c
+++ b/libxslt/xslt.c
@@ -6763,10 +6763,11 @@ xsltParseStylesheetFile(const xmlChar* filename) {
int res;
res = xsltCheckRead(sec, NULL, filename);
- if (res == 0) {
- xsltTransformError(NULL, NULL, NULL,
- "xsltParseStylesheetFile: read rights for %s denied\n",
- filename);
+ if (res <= 0) {
+ if (res == 0)
+ xsltTransformError(NULL, NULL, NULL,
+ "xsltParseStylesheetFile: read rights for %s denied\n",
+ filename);
return(NULL);
}
}
--
2.18.1

64
net/mrmctl/Makefile Normal file
View File

@ -0,0 +1,64 @@
#
# Copyright (C) 2019 EWSI
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=mrmctl
PKG_VERSION:=1.1.0
PKG_RELEASE:=1
PKG_SOURCE:=macremapper-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/ewsi/macremapper/tar.gz/v$(PKG_VERSION)?
PKG_HASH:=f9580427803123d13d50f3422623a37212034a5d72a485f9c04904f19509e4bb
PKG_BUILD_DIR:=$(BUILD_DIR)/macremapper-$(PKG_VERSION)
PKG_MAINTAINER:=Carey Sonsino <careys@edgewaterwireless.com>
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=userland/COPYING
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
define Package/mrmctl
SECTION:=net
CATEGORY:=Network
SUBMENU:=Routing and Redirection
TITLE:=Dual-Channel WiFi macremapper utility
URL:=https://www.edgewaterwireless.com
DEPENDS:= +kmod-macremapper
endef
define Package/mrmctl/description
Command-line utility to manually manipulate the macremapper kernel module
endef
MAKE_PATH:=userland
CONFIGURE_PATH:=userland
CONFIGURE_ARGS += \
--enable-shared
TARGET_CFLAGS += -std=c89 -ffunction-sections -fdata-sections -flto
TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
endef
define Package/mrmctl/install
$(INSTALL_DIR) $(1)/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/$(PKG_NAME) $(1)/bin/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
endef
$(eval $(call BuildPackage,mrmctl))