Bläddra i källkod

package/openconnect: new package

Build-tested using these defconfigs

BR2_PACKAGE_OPENSSL=y
BR2_PACKAGE_LIBOPENSSL=y
BR2_PACKAGE_OPENCONNECT=y

                             arm-aarch64 [ 1/41]: OK
                   bootlin-aarch64-glibc [ 2/41]: OK
               bootlin-arcle-hs38-uclibc [ 3/41]: OK
                    bootlin-armv5-uclibc [ 4/41]: OK
                     bootlin-armv7-glibc [ 5/41]: OK
                   bootlin-armv7m-uclibc [ 6/41]: SKIPPED
                      bootlin-armv7-musl [ 7/41]: OK
                bootlin-m68k-5208-uclibc [ 8/41]: SKIPPED
               bootlin-m68k-68040-uclibc [ 9/41]: OK
             bootlin-microblazeel-uclibc [10/41]: OK
                bootlin-mipsel32r6-glibc [11/41]: OK
                   bootlin-mipsel-uclibc [12/41]: OK
                     bootlin-nios2-glibc [13/41]: OK
                 bootlin-openrisc-uclibc [14/41]: OK
        bootlin-powerpc64le-power8-glibc [15/41]: OK
           bootlin-powerpc-e500mc-uclibc [16/41]: OK
                   bootlin-riscv32-glibc [17/41]: OK
                   bootlin-riscv64-glibc [18/41]: OK
                    bootlin-riscv64-musl [19/41]: OK
                 bootlin-s390x-z13-glibc [20/41]: OK
                      bootlin-sh4-uclibc [21/41]: OK
                   bootlin-sparc64-glibc [22/41]: OK
                    bootlin-sparc-uclibc [23/41]: OK
                    bootlin-x86-64-glibc [24/41]: OK
                     bootlin-x86-64-musl [25/41]: OK
                   bootlin-x86-64-uclibc [26/41]: OK
                   bootlin-x86-i686-musl [27/41]: OK
                   bootlin-xtensa-uclibc [28/41]: OK
                            br-arm-basic [29/41]: OK
                    br-arm-full-nothread [30/41]: OK
                      br-arm-full-static [31/41]: OK
                   br-i386-pentium4-full [32/41]: OK
                      br-mips64-n64-full [33/41]: OK
                 br-mips64r6-el-hf-glibc [34/41]: OK
               br-powerpc-603e-basic-cpp [35/41]: OK
               br-powerpc64-power7-glibc [36/41]: OK
                       linaro-aarch64-be [37/41]: OK
                          linaro-aarch64 [38/41]: OK
                              linaro-arm [39/41]: OK
                         sourcery-mips64 [40/41]: OK
                           sourcery-mips [41/41]: OK
41 builds, 2 skipped, 0 build failed, 0 legal-info failed, 0 show-info failed

BR2_PACKAGE_GNUTLS=y
BR2_PACKAGE_OPENCONNECT=y

                             arm-aarch64 [ 1/41]: OK
                   bootlin-aarch64-glibc [ 2/41]: OK
               bootlin-arcle-hs38-uclibc [ 3/41]: OK
                    bootlin-armv5-uclibc [ 4/41]: OK
                     bootlin-armv7-glibc [ 5/41]: OK
                   bootlin-armv7m-uclibc [ 6/41]: SKIPPED
                      bootlin-armv7-musl [ 7/41]: OK
                bootlin-m68k-5208-uclibc [ 8/41]: SKIPPED
               bootlin-m68k-68040-uclibc [ 9/41]: OK
             bootlin-microblazeel-uclibc [10/41]: OK
                bootlin-mipsel32r6-glibc [11/41]: OK
                   bootlin-mipsel-uclibc [12/41]: OK
                     bootlin-nios2-glibc [13/41]: OK
                 bootlin-openrisc-uclibc [14/41]: OK
        bootlin-powerpc64le-power8-glibc [15/41]: OK
           bootlin-powerpc-e500mc-uclibc [16/41]: OK
                   bootlin-riscv32-glibc [17/41]: OK
                   bootlin-riscv64-glibc [18/41]: OK
                    bootlin-riscv64-musl [19/41]: OK
                 bootlin-s390x-z13-glibc [20/41]: OK
                      bootlin-sh4-uclibc [21/41]: OK
                   bootlin-sparc64-glibc [22/41]: OK
                    bootlin-sparc-uclibc [23/41]: OK
                    bootlin-x86-64-glibc [24/41]: OK
                     bootlin-x86-64-musl [25/41]: OK
                   bootlin-x86-64-uclibc [26/41]: OK
                   bootlin-x86-i686-musl [27/41]: OK
                   bootlin-xtensa-uclibc [28/41]: OK
                            br-arm-basic [29/41]: SKIPPED
                    br-arm-full-nothread [30/41]: OK
                      br-arm-full-static [31/41]: SKIPPED
                   br-i386-pentium4-full [32/41]: OK
                      br-mips64-n64-full [33/41]: OK
                 br-mips64r6-el-hf-glibc [34/41]: OK
               br-powerpc-603e-basic-cpp [35/41]: SKIPPED
               br-powerpc64-power7-glibc [36/41]: OK
                       linaro-aarch64-be [37/41]: OK
                          linaro-aarch64 [38/41]: OK
                              linaro-arm [39/41]: OK
                         sourcery-mips64 [40/41]: OK
                           sourcery-mips [41/41]: OK

41 builds, 5 skipped, 0 build failed, 0 legal-info failed, 0 show-info failed

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Bernd Kuhls 1 år sedan
förälder
incheckning
c70e0c08c7

+ 1 - 0
DEVELOPERS

@@ -465,6 +465,7 @@ F:	package/mjpg-streamer/
 F:	package/mpg123/
 F:	package/mpg123/
 F:	package/ntp/
 F:	package/ntp/
 F:	package/nut/
 F:	package/nut/
+F:	package/openconnect/
 F:	package/openvpn/
 F:	package/openvpn/
 F:	package/opus/
 F:	package/opus/
 F:	package/pciutils/
 F:	package/pciutils/

+ 1 - 0
package/Config.in

@@ -2555,6 +2555,7 @@ endif
 	source "package/open-iscsi/Config.in"
 	source "package/open-iscsi/Config.in"
 	source "package/open-lldp/Config.in"
 	source "package/open-lldp/Config.in"
 	source "package/open-plc-utils/Config.in"
 	source "package/open-plc-utils/Config.in"
+	source "package/openconnect/Config.in"
 	source "package/openntpd/Config.in"
 	source "package/openntpd/Config.in"
 	source "package/openobex/Config.in"
 	source "package/openobex/Config.in"
 	source "package/openresolv/Config.in"
 	source "package/openresolv/Config.in"

+ 40 - 0
package/openconnect/0001-Fix-implicit-declaration-of-function-malloc.patch

@@ -0,0 +1,40 @@
+From 5185f640045df2b4f8ee7f028fc59e6f02fdf367 Mon Sep 17 00:00:00 2001
+From: Brahmajit Das <brahmajit.xyz@gmail.com>
+Date: Mon, 29 Jan 2024 23:28:53 +0530
+Subject: [PATCH] Fix implicit declaration of function 'malloc'
+
+First observed on Gentoo Linux with GCC 14. This is due to GCC 14
+enabling -Werror=implicit-function-declaration by default.
+Thus resulting in errors such as:
+
+openconnect-internal.h: In function 'alloc_pkt':
+openconnect-internal.h:911:27: error: implicit declaration of function 'malloc' [-Werror=implicit-function-declaration]
+  911 |         struct pkt *pkt = malloc(alloc_len);
+      |                           ^~~~~~
+
+Plese refer gentoo bug: https://bugs.gentoo.org/923173
+Signed-off-by: Brahmajit Das <brahmajit.xyz@gmail.com>
+
+Upstream: https://gitlab.com/openconnect/openconnect/-/commit/5185f640045df2b4f8ee7f028fc59e6f02fdf367
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+[rebased for 9.12]
+---
+ openconnect-internal.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/openconnect-internal.h b/openconnect-internal.h
+index 21460adf6..2830d693f 100644
+--- a/openconnect-internal.h
++++ b/openconnect-internal.h
+@@ -87,6 +87,7 @@
+ 
+ #include <libxml/tree.h>
+ #include <zlib.h>
++#include <stdlib.h>
+ 
+ #ifdef _WIN32
+ #ifndef _Out_cap_c_
+-- 
+GitLab
+

+ 19 - 0
package/openconnect/Config.in

@@ -0,0 +1,19 @@
+config BR2_PACKAGE_OPENCONNECT
+	bool "openconnect"
+	depends on BR2_USE_MMU # fork()
+	select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_GNUTLS
+	# configure: error: LibreSSL does not support Cisco DTLS.
+	select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL if !BR2_PACKAGE_GNUTLS
+	select BR2_PACKAGE_LIBOPENSSL_ENABLE_RC4 if !BR2_PACKAGE_GNUTLS
+	select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if !BR2_PACKAGE_GNUTLS
+	select BR2_PACKAGE_LIBXML2
+	select BR2_PACKAGE_ZLIB
+	help
+	  OpenConnect is an SSL VPN client initially created to support
+	  Cisco's AnyConnect SSL VPN.
+	  It has since been ported to support the Juniper SSL VPN (which
+	  is now known as Pulse Connect Secure), the Palo Alto Networks
+	  GlobalProtect SSL VPN the F5 Big-IP SSL VPN, and the Fortinet
+	  FortiGate SSL VPN.
+
+	  https://www.infradead.org/openconnect/

+ 3 - 0
package/openconnect/openconnect.hash

@@ -0,0 +1,3 @@
+# Locally calculated
+sha256  a2bedce3aa4dfe75e36e407e48e8e8bc91d46def5335ac9564fbf91bd4b2413e  openconnect-9.12.tar.gz
+sha256  dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551  COPYING.LGPL

+ 32 - 0
package/openconnect/openconnect.mk

@@ -0,0 +1,32 @@
+################################################################################
+#
+# openconnect
+#
+################################################################################
+
+OPENCONNECT_VERSION = 9.12
+OPENCONNECT_SITE = https://www.infradead.org/openconnect/download
+OPENCONNECT_DEPENDENCIES = host-pkgconf libxml2 zlib
+OPENCONNECT_LICENSE = LGPL-2.1
+OPENCONNECT_LICENSE_FILES = COPYING.LGPL
+OPENCONNECT_CONF_OPTS = \
+	--disable-dsa-tests \
+	--with-vpnc-script=/etc/vpnc/vpnc-script \
+	--without-java
+
+ifeq ($(BR2_PACKAGE_OPENSSL),y)
+OPENCONNECT_DEPENDENCIES += openssl
+OPENCONNECT_CONF_OPTS += --without-gnutls --with-openssl
+else ifeq ($(BR2_PACKAGE_GNUTLS),y)
+OPENCONNECT_DEPENDENCIES += gnutls
+OPENCONNECT_CONF_OPTS += --with-gnutls --without-openssl
+endif
+
+ifeq ($(BR2_PACKAGE_LZ4),y)
+OPENCONNECT_DEPENDENCIES += lz4
+OPENCONNECT_CONF_OPTS += --with-lz4
+else
+OPENCONNECT_CONF_OPTS += --without-lz4
+endif
+
+$(eval $(autotools-package))