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>
This commit is contained in:
Bernd Kuhls 2024-07-28 13:50:29 +02:00 committed by Thomas Petazzoni
parent ee72631572
commit c70e0c08c7
6 changed files with 96 additions and 0 deletions

View File

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

View File

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

View File

@ -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

View File

@ -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/

View File

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

View File

@ -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))