[Mod] First commit

This commit is contained in:
2022-10-31 22:18:58 +08:00
commit 1c8a3d9709
13090 changed files with 526733 additions and 0 deletions

View File

@ -0,0 +1,85 @@
From 43b313988d66de144a528e4cf57827df1e8c692d Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Tue, 12 Apr 2022 20:00:36 +0200
Subject: [PATCH] adapters: fix build with libressl >= 2.8.0 (#589)
Fix the following build failure with libressl >= 2.8.0 raised since
https://github.com/libressl-portable/openbsd/commit/703abab3212b397d500bd8c2f5f7ee6b03feb159:
/nvmedata/autobuild/instance-20/output-1/build/azure-iot-sdk-c-LTS_01_2022_Ref01/c-utility/adapters/tlsio_openssl.c: In function 'add_certificate_to_store':
/nvmedata/autobuild/instance-20/output-1/build/azure-iot-sdk-c-LTS_01_2022_Ref01/c-utility/adapters/tlsio_openssl.c:961:24: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
961 | bio_method = BIO_s_mem();
| ^
cc1: all warnings being treated as errors
Fix #585
Fixes:
- http://autobuild.buildroot.org/results/873f86fb2311ed29a791140f2341943475985fcc
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Retrieved from:
https://github.com/Azure/azure-c-shared-utility/commit/43b313988d66de144a528e4cf57827df1e8c692d]
---
adapters/tlsio_openssl.c | 2 +-
adapters/x509_openssl.c | 4 ++--
tests/x509_openssl_ut/x509_openssl_ut.c | 4 ++--
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/c-utility/adapters/tlsio_openssl.c b/c-utility/adapters/tlsio_openssl.c
index 4a3df8496..aa48ce52d 100644
--- a/c-utility/adapters/tlsio_openssl.c
+++ b/c-utility/adapters/tlsio_openssl.c
@@ -953,7 +953,7 @@ static int add_certificate_to_store(TLS_IO_INSTANCE* tls_io_instance, const char
}
else
{
-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L)
+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L) || defined(LIBRESSL_VERSION_NUMBER)
const BIO_METHOD* bio_method;
#else
BIO_METHOD* bio_method;
diff --git a/c-utility/adapters/x509_openssl.c b/c-utility/adapters/x509_openssl.c
index 5a9e5ac29..46195b403 100644
--- a/c-utility/adapters/x509_openssl.c
+++ b/c-utility/adapters/x509_openssl.c
@@ -75,7 +75,7 @@ static int load_certificate_chain(SSL_CTX* ssl_ctx, const char* certificate)
// certificates.
/* Codes_SRS_X509_OPENSSL_07_006: [ If successful x509_openssl_add_ecc_credentials shall to import each certificate in the cert chain. ] */
-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L)
+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L) || defined(LIBRESSL_VERSION_NUMBER)
SSL_CTX_clear_extra_chain_certs(ssl_ctx);
#else
if (ssl_ctx->extra_certs != NULL)
@@ -345,7 +345,7 @@ int x509_openssl_add_certificates(SSL_CTX* ssl_ctx, const char* certificates)
else
{
/*Codes_SRS_X509_OPENSSL_02_012: [ x509_openssl_add_certificates shall get the memory BIO method function by calling BIO_s_mem. ]*/
-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L)
+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L) || defined(LIBRESSL_VERSION_NUMBER)
const BIO_METHOD* bio_method;
#else
BIO_METHOD* bio_method;
diff --git a/c-utility/tests/x509_openssl_ut/x509_openssl_ut.c b/c-utility/tests/x509_openssl_ut/x509_openssl_ut.c
index b3349f6b0..f73191e3f 100644
--- a/c-utility/tests/x509_openssl_ut/x509_openssl_ut.c
+++ b/c-utility/tests/x509_openssl_ut/x509_openssl_ut.c
@@ -348,7 +348,7 @@ BEGIN_TEST_SUITE(x509_openssl_unittests)
STRICT_EXPECTED_CALL(BIO_new_mem_buf((void*)TEST_PUBLIC_CERTIFICATE, -1));
STRICT_EXPECTED_CALL(PEM_read_bio_X509_AUX(IGNORED_PTR_ARG, NULL, NULL, NULL));
STRICT_EXPECTED_CALL(SSL_CTX_use_certificate(IGNORED_PTR_ARG, IGNORED_PTR_ARG));
-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L)
+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L) || defined(LIBRESSL_VERSION_NUMBER)
// Actual macro name: SSL_CTX_clear_extra_chain_certs:
STRICT_EXPECTED_CALL(SSL_CTX_ctrl(TEST_SSL_CTX_STRUCTURE, SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS, 0, NULL));
#endif
@@ -537,7 +537,7 @@ BEGIN_TEST_SUITE(x509_openssl_unittests)
umock_c_negative_tests_snapshot();
-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L)
+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && (OPENSSL_VERSION_NUMBER < 0x20000000L) || defined(LIBRESSL_VERSION_NUMBER)
#ifdef __APPLE__
size_t calls_cannot_fail_rsa[] = { 4, 5, 6, 10, 12, 13, 14 };
size_t calls_cannot_fail_ecc[] = { 3, 4, 8, 10, 11, 12} ;

View File

@ -0,0 +1,19 @@
config BR2_PACKAGE_AZURE_IOT_SDK_C
bool "azure-iot-sdk-c"
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
depends on BR2_USE_WCHAR
select BR2_PACKAGE_LIBCURL
select BR2_PACKAGE_LIBXML2
select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_UTIL_LINUX
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
help
Microsoft Azure IoT Hub device SDK for C is used
to connect devices running C code to Azure IoT Hub.
https://github.com/Azure/azure-iot-sdk-c
comment "azure-iot-sdk-c needs a toolchain w/ C++, NPTL and wchar"
depends on !BR2_INSTALL_LIBSTDCPP || \
!BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_USE_WCHAR

View File

@ -0,0 +1,5 @@
# Locally computed:
sha256 082e41f7cdf06fec036b8cfa1793f03e81ba527b55ea13c66be0e4cf9f20ff7b azure-iot-sdk-c-LTS_01_2022_Ref01-br1.tar.gz
# Hash for license files:
sha256 be2e9913fad9ff33607287c728f392579e2a6cc83e51b203ef6274c41db02ee7 LICENSE

View File

@ -0,0 +1,17 @@
################################################################################
#
# azure-iot-sdk-c
#
################################################################################
AZURE_IOT_SDK_C_VERSION = LTS_01_2022_Ref01
AZURE_IOT_SDK_C_SITE = https://github.com/Azure/azure-iot-sdk-c
AZURE_IOT_SDK_C_SITE_METHOD = git
AZURE_IOT_SDK_C_GIT_SUBMODULES = YES
AZURE_IOT_SDK_C_LICENSE = MIT
AZURE_IOT_SDK_C_LICENSE_FILES = LICENSE
AZURE_IOT_SDK_C_INSTALL_STAGING = YES
AZURE_IOT_SDK_C_DEPENDENCIES = libxml2 openssl libcurl util-linux
AZURE_IOT_SDK_C_CONF_OPTS = -Dskip_samples=ON
$(eval $(cmake-package))