packages/libs/libuwsc/Makefile
Petr Štetiar 845d81ca09 treewide: fix security issues by bumping all packages using libwolfssl
As wolfSSL is having hard time maintaining ABI compatibility between
releases, we need to manually force rebuild of packages depending on
libwolfssl and thus force their upgrade. Otherwise due to the ABI
handling we would endup with possibly two libwolfssl libraries in the
system, including the patched libwolfssl-5.5.1, but still have
vulnerable services running using the vulnerable libwolfssl-5.4.0.

So in order to propagate update of libwolfssl to latest stable release
done in commit ec8fb542ec3e4 ("wolfssl: fix TLSv1.3 RCE in uhttpd by
using 5.5.1-stable (CVE-2022-39173)") which fixes several remotely
exploitable vulnerabilities, we need to bump PKG_RELEASE of all packages
using wolfSSL library.

Same bump has been done in buildroot in commit f1b7e1434f66 ("treewide:
fix security issues by bumping all packages using libwolfssl").

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2022-10-04 00:58:29 -07:00

91 lines
2.7 KiB
Makefile

#
# Copyright (C) 2018 Jianhui Zhao
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=libuwsc
PKG_VERSION:=3.3.5
PKG_RELEASE:=$(AUTORELEASE).1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL=https://github.com/zhaojh329/libuwsc/releases/download/v$(PKG_VERSION)
PKG_HASH:=a06b7324671e181ffe3165e93e6f94c7ac1380f69e32a52e80c8da7016acd60d
PKG_MAINTAINER:=Jianhui Zhao <jianhuizhao329@gmail.com>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
CMAKE_INSTALL:=1
PKG_CONFIG_DEPENDS:= \
CONFIG_LIBUWSC_openssl_LUA_BINDING \
CONFIG_LIBUWSC_wolfssl_LUA_BINDING \
CONFIG_LIBUWSC_mbedtls_LUA_BINDING \
CONFIG_LIBUWSC_nossl_LUA_BINDING
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
define Package/libuwsc/Default
SECTION:=libs
CATEGORY:=Libraries
SUBMENU:=Networking
TITLE:=A lightweight WebSocket client library based on libev
URL:=https://github.com/zhaojh329/libuwsc
DEPENDS:=+libev $(2)
VARIANT:=$(1)
PROVIDES:=libuwsc
endef
Package/libuwsc-openssl=$(call Package/libuwsc/Default,openssl,+PACKAGE_libuwsc-openssl:libopenssl)
Package/libuwsc-wolfssl=$(call Package/libuwsc/Default,wolfssl,+PACKAGE_libuwsc-wolfssl:libwolfssl)
Package/libuwsc-mbedtls=$(call Package/libuwsc/Default,mbedtls,+PACKAGE_libuwsc-mbedtls:libmbedtls)
Package/libuwsc-nossl=$(call Package/libuwsc/Default,nossl)
define Package/libuwsc/config
menu "Configuration"
depends on PACKAGE_libuwsc-$(1)
config LIBUWSC_$(1)_LUA_BINDING
bool
default n
prompt "Lua binding for libuwsc"
endmenu
endef
Package/libuwsc-openssl/config=$(call Package/libuwsc/config,openssl)
Package/libuwsc-wolfssl/config=$(call Package/libuwsc/config,wolfssl)
Package/libuwsc-mbedtls/config=$(call Package/libuwsc/config,mbedtls)
Package/libuwsc-nossl/config=$(call Package/libuwsc/config,nossl)
ifeq ($(BUILD_VARIANT),openssl)
CMAKE_OPTIONS += -DUWSC_USE_OPENSSL=ON
else ifeq ($(BUILD_VARIANT),wolfssl)
CMAKE_OPTIONS += -DUWSC_USE_WOLFSSL=ON
else ifeq ($(BUILD_VARIANT),mbedtls)
CMAKE_OPTIONS += -DUWSC_USE_MBEDTLS=ON
else
CMAKE_OPTIONS += -DUWSC_SSL_SUPPORT=OFF
endif
ifneq ($(CONFIG_LIBUWSC_$(BUILD_VARIANT)_LUA_BINDING),)
CMAKE_OPTIONS += -DUWSC_LUA_SUPPORT=ON
endif
define Package/libuwsc-$(BUILD_VARIANT)/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libuwsc.so* $(1)/usr/lib/
ifneq ($(CONFIG_LIBUWSC_$(BUILD_VARIANT)_LUA_BINDING),)
$(INSTALL_DIR) $(1)/usr/lib/lua
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lua/uwsc.so $(1)/usr/lib/lua
endif
endef
$(eval $(call BuildPackage,libuwsc-openssl))
$(eval $(call BuildPackage,libuwsc-wolfssl))
$(eval $(call BuildPackage,libuwsc-mbedtls))
$(eval $(call BuildPackage,libuwsc-nossl))