wolfssl: new package

The wolfSSL embedded SSL library is a lightweight and portable
SSL/TLS library.

Tested on Beaglebone Black using a tool called testsuite that
comes with wolfssl source code inside the testsuite/ directory.
To build it, we have to pass --enable-examples in the configure,
and then manually copy the binary to the rootfs. Also, to use
this tool, you will we need to copy the certs/* directory to the
rootfs.

Build-tested with test-pkg script.

Signed-off-by: Sergio Prado <sergio.prado@e-labworks.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Sergio Prado 2017-12-23 14:32:15 -02:00 committed by Thomas Petazzoni
parent 2f7382b6f6
commit 82eec03c59
5 changed files with 73 additions and 0 deletions

View file

@ -1574,6 +1574,7 @@ F: package/stella/
F: package/traceroute/
F: package/tunctl/
F: package/ubus/
F: package/wolfssl/
N: Simon Dawson <spdawson@gmail.com>
F: boot/at91bootstrap3/

View file

@ -1051,6 +1051,7 @@ menu "Crypto"
source "package/tinydtls/Config.in"
source "package/trousers/Config.in"
source "package/ustream-ssl/Config.in"
source "package/wolfssl/Config.in"
endmenu
menu "Database"

27
package/wolfssl/Config.in Normal file
View file

@ -0,0 +1,27 @@
config BR2_PACKAGE_WOLFSSL
bool "wolfssl"
depends on BR2_TOOLCHAIN_HAS_THREADS
help
The wolfSSL embedded SSL library (formerly CyaSSL) is a
lightweight, portable, C-language-based SSL/TLS library
targeted at IoT, embedded, and RTOS environments primarily
because of its size, speed, and feature set.
https://www.wolfssl.com/
if BR2_PACKAGE_WOLFSSL
config BR2_PACKAGE_WOLFSSL_ALL
bool "enable all features, except SSLv3"
help
Enable all wolfSSL features, except SSL version 3.0 support.
config BR2_PACKAGE_WOLFSSL_SSLV3
bool "enable SSLv3"
help
Enable SSL version 3.0 support.
endif
comment "wolfssl needs a toolchain w/ threads"
depends on !BR2_TOOLCHAIN_HAS_THREADS

View file

@ -0,0 +1,6 @@
# Locally computed:
sha256 3bafeb0cb7eaff80002ba3f7cbb70023757bcc35fc4d82181945b143f1f927c6 v3.13.0-stable.tar.gz
# Hash for license files:
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
sha256 74adaaef40b96c71378b6daa3feb8ccd4a1bfd9b76debf3f3f29cf3a0e86c9a0 LICENSING

View file

@ -0,0 +1,38 @@
################################################################################
#
# wolfssl
#
################################################################################
WOLFSSL_VERSION = 3.13.0
WOLFSSL_SITE = https://github.com/wolfSSL/wolfssl/archive
WOLFSSL_SOURCE = v$(WOLFSSL_VERSION)-stable.tar.gz
WOLFSSL_LICENSE = GPL-2.0
WOLFSSL_LICENSE_FILES = COPYING LICENSING
WOLFSSL_DEPENDENCIES = host-pkgconf
# wolfssl's source code is released without a configure
# script, so we need autoreconf
WOLFSSL_AUTORECONF = YES
ifeq ($(BR2_PACKAGE_WOLFSSL_ALL),y)
WOLFSSL_CONF_OPTS += --enable-all
else
WOLFSSL_CONF_OPTS += --disable-all
endif
ifeq ($(BR2_PACKAGE_WOLFSSL_SSLV3),y)
WOLFSSL_CONF_OPTS += --enable-sslv3
else
WOLFSSL_CONF_OPTS += --disable-sslv3
endif
ifeq ($(BR2_ARM_CPU_ARMV8A),y)
WOLFSSL_CONF_OPTS += --enable-armasm
else
WOLFSSL_CONF_OPTS += --disable-armasm
endif
$(eval $(autotools-package))