diff options
23 files changed, 994 insertions, 81 deletions
diff --git a/meta-multimedia/recipes-multimedia/aom/aom_3.7.0.bb b/meta-multimedia/recipes-multimedia/aom/aom_3.12.1.bb index 776dfa8783..681ebb4d3d 100644 --- a/meta-multimedia/recipes-multimedia/aom/aom_3.7.0.bb +++ b/meta-multimedia/recipes-multimedia/aom/aom_3.12.1.bb | |||
@@ -5,8 +5,8 @@ LICENSE = "BSD-2-Clause & AOM-Patent-License-1.0" | |||
5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=6ea91368c1bbdf877159435572b931f5 \ | 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=6ea91368c1bbdf877159435572b931f5 \ |
6 | file://PATENTS;md5=a111d47497d3bb49e04eef71377eb8ba \ | 6 | file://PATENTS;md5=a111d47497d3bb49e04eef71377eb8ba \ |
7 | " | 7 | " |
8 | SRCREV = "6054fae218eda6e53e1e3b4f7ef0fff4877c7bf1" | 8 | SRCREV = "10aece4157eb79315da205f39e19bf6ab3ee30d0" |
9 | SRC_URI = "git://aomedia.googlesource.com/aom;protocol=https;branch=main \ | 9 | SRC_URI = "git://aomedia.googlesource.com/aom;protocol=https;branch=main;tag=v${PV} \ |
10 | file://0001-subpel_variance_neon-Provide-prototypes-for-missing-.patch" | 10 | file://0001-subpel_variance_neon-Provide-prototypes-for-missing-.patch" |
11 | 11 | ||
12 | S = "${WORKDIR}/git" | 12 | S = "${WORKDIR}/git" |
diff --git a/meta-networking/dynamic-layers/meta-python/recipes-printing/system-config-printer/system-config-printer_1.5.18.bb b/meta-networking/dynamic-layers/meta-python/recipes-printing/system-config-printer/system-config-printer_1.5.18.bb index f9a5e15689..6cd25e346a 100644 --- a/meta-networking/dynamic-layers/meta-python/recipes-printing/system-config-printer/system-config-printer_1.5.18.bb +++ b/meta-networking/dynamic-layers/meta-python/recipes-printing/system-config-printer/system-config-printer_1.5.18.bb | |||
@@ -26,12 +26,7 @@ do_install:append() { | |||
26 | cp -rf ${B}/cupshelpers.egg-info ${D}${PYTHON_SITEPACKAGES_DIR} | 26 | cp -rf ${B}/cupshelpers.egg-info ${D}${PYTHON_SITEPACKAGES_DIR} |
27 | cp -rf ${B}/cupshelpers ${D}${PYTHON_SITEPACKAGES_DIR} | 27 | cp -rf ${B}/cupshelpers ${D}${PYTHON_SITEPACKAGES_DIR} |
28 | rm -rf ${D}${PYTHON_SITEPACKAGES_DIR}/*.egg | 28 | rm -rf ${D}${PYTHON_SITEPACKAGES_DIR}/*.egg |
29 | for f in __init__.cpython-311.pyc cupshelpers.cpython-311.pyc \ | 29 | rm -rf ${D}${PYTHON_SITEPACKAGES_DIR}/cupshelpers/__pycache__ |
30 | config.cpython-311.pyc ppds.cpython-311.pyc \ | ||
31 | installdriver.cpython-311.pyc openprinting.cpython-311.pyc \ | ||
32 | xmldriverprefs.cpython-311.pyc; do | ||
33 | rm -rf ${D}${PYTHON_SITEPACKAGES_DIR}/cupshelpers/__pycache__/$f | ||
34 | done | ||
35 | } | 30 | } |
36 | 31 | ||
37 | FILES:${PN} += "${libdir} ${datadir}" | 32 | FILES:${PN} += "${libdir} ${datadir}" |
diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.50.0.bb b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.52.0.bb index 702b80ac68..dd894c0900 100644 --- a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.50.0.bb +++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.52.0.bb | |||
@@ -25,32 +25,34 @@ DEPENDS = " \ | |||
25 | intltool-native \ | 25 | intltool-native \ |
26 | libxslt-native \ | 26 | libxslt-native \ |
27 | libnl \ | 27 | libnl \ |
28 | libnvme \ | ||
28 | udev \ | 29 | udev \ |
29 | util-linux \ | 30 | util-linux \ |
31 | util-linux-libuuid \ | ||
30 | libndp \ | 32 | libndp \ |
31 | curl \ | 33 | curl \ |
32 | dbus \ | 34 | dbus \ |
33 | " | 35 | " |
34 | DEPENDS:append:class-target = " bash-completion" | 36 | DEPENDS:append:class-target = " bash-completion" |
35 | 37 | ||
36 | inherit gnomebase gettext update-rc.d systemd gobject-introspection gtk-doc update-alternatives upstream-version-is-even | 38 | inherit meson gettext update-rc.d systemd gobject-introspection update-alternatives upstream-version-is-even pkgconfig |
37 | 39 | ||
38 | SRC_URI = " \ | 40 | SRC_URI = " \ |
39 | ${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \ | 41 | git://github.com/NetworkManager/NetworkManager.git;protocol=https;branch=main;tag=${PV} \ |
40 | file://${BPN}.initd \ | 42 | file://${BPN}.initd \ |
41 | file://enable-dhcpcd.conf \ | 43 | file://enable-dhcpcd.conf \ |
42 | file://enable-iwd.conf \ | 44 | file://enable-iwd.conf \ |
43 | " | 45 | " |
44 | SRC_URI:append:libc-musl = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' file://0001-linker-scripts-Do-not-export-_IO_stdin_used.patch', '', d)}" | 46 | SRC_URI:append:libc-musl = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' file://0001-linker-scripts-Do-not-export-_IO_stdin_used.patch', '', d)}" |
45 | 47 | ||
46 | SRC_URI[sha256sum] = "fc03e7388a656cebc454c5d89481626122b1975d7c26babc64dc7e488faa66e3" | 48 | SRCREV = "995a28fa1ccc54ad22e794294c3c6783cc3f30ed" |
47 | 49 | ||
48 | S = "${WORKDIR}/NetworkManager-${PV}" | 50 | S = "${WORKDIR}/git" |
49 | 51 | ||
50 | # ['auto', 'symlink', 'file', 'netconfig', 'resolvconf'] | 52 | # ['auto', 'symlink', 'file', 'netconfig', 'resolvconf'] |
51 | NETWORKMANAGER_DNS_RC_MANAGER_DEFAULT ??= "auto" | 53 | NETWORKMANAGER_DNS_RC_MANAGER_DEFAULT ??= "auto" |
52 | 54 | ||
53 | # ['dhcpcanon', 'dhclient', 'dhcpcd', 'internal', 'nettools'] | 55 | # ['dhclient', 'dhcpcd', 'internal', 'nettools'] |
54 | NETWORKMANAGER_DHCP_DEFAULT ??= "internal" | 56 | NETWORKMANAGER_DHCP_DEFAULT ??= "internal" |
55 | 57 | ||
56 | # The default gets detected based on whether /usr/sbin/nft or /usr/sbin/iptables is installed, with nftables preferred. | 58 | # The default gets detected based on whether /usr/sbin/nft or /usr/sbin/iptables is installed, with nftables preferred. |
@@ -65,7 +67,6 @@ EXTRA_OEMESON = "\ | |||
65 | -Dqt=false \ | 67 | -Dqt=false \ |
66 | -Dconfig_dns_rc_manager_default=${NETWORKMANAGER_DNS_RC_MANAGER_DEFAULT} \ | 68 | -Dconfig_dns_rc_manager_default=${NETWORKMANAGER_DNS_RC_MANAGER_DEFAULT} \ |
67 | -Dconfig_dhcp_default=${NETWORKMANAGER_DHCP_DEFAULT} \ | 69 | -Dconfig_dhcp_default=${NETWORKMANAGER_DHCP_DEFAULT} \ |
68 | -Ddhcpcanon=false \ | ||
69 | -Diptables=${sbindir}/iptables \ | 70 | -Diptables=${sbindir}/iptables \ |
70 | -Dnft=${sbindir}/nft \ | 71 | -Dnft=${sbindir}/nft \ |
71 | " | 72 | " |
diff --git a/meta-networking/recipes-connectivity/wolfssl/files/0001-wolfssl-wolfcrypt-logging.h-and-wolfcrypt-src-loggin.patch b/meta-networking/recipes-connectivity/wolfssl/files/0001-wolfssl-wolfcrypt-logging.h-and-wolfcrypt-src-loggin.patch new file mode 100644 index 0000000000..f4f149c7e8 --- /dev/null +++ b/meta-networking/recipes-connectivity/wolfssl/files/0001-wolfssl-wolfcrypt-logging.h-and-wolfcrypt-src-loggin.patch | |||
@@ -0,0 +1,791 @@ | |||
1 | From 04975ac158e6d33875c2855f74792efb2258bb93 Mon Sep 17 00:00:00 2001 | ||
2 | From: Daniel Pouzzner <douzzer@wolfssl.com> | ||
3 | Date: Tue, 13 May 2025 20:30:48 -0500 | ||
4 | Subject: [PATCH] wolfssl/wolfcrypt/logging.h and wolfcrypt/src/logging.c: add | ||
5 | WOLFSSL_DEBUG_PRINTF() macro adapted from wolfssl_log(), refactor | ||
6 | wolfssl_log() to use it, and move printf setup includes/prototypes from | ||
7 | logging.c to logging.h; | ||
8 | |||
9 | src/ssl_load.c: add source_name arg and WOLFSSL_DEBUG_CERTIFICATE_LOADS clauses | ||
10 | to ProcessBuffer() and ProcessChainBuffer(), and pass reasonable values from | ||
11 | callers; | ||
12 | |||
13 | remove expired "Baltimore CyberTrust Root" from certs/external/ca_collection.pem | ||
14 | and certs/external/baltimore-cybertrust-root.pem. | ||
15 | |||
16 | Upstream-Status: Backport [https://github.com/wolfSSL/wolfssl/commit/55460a52619626f614e86d528b9a60445562eb34] | ||
17 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
18 | --- | ||
19 | certs/external/baltimore-cybertrust-root.pem | 21 --- | ||
20 | certs/external/ca_collection.pem | 77 ---------- | ||
21 | src/ssl_load.c | 111 +++++++++++---- | ||
22 | wolfcrypt/src/error.c | 4 +- | ||
23 | wolfcrypt/src/logging.c | 142 ++----------------- | ||
24 | wolfssl/internal.h | 3 +- | ||
25 | wolfssl/wolfcrypt/logging.h | 93 +++++++++++- | ||
26 | 7 files changed, 190 insertions(+), 261 deletions(-) | ||
27 | delete mode 100644 certs/external/baltimore-cybertrust-root.pem | ||
28 | |||
29 | diff --git a/certs/external/baltimore-cybertrust-root.pem b/certs/external/baltimore-cybertrust-root.pem | ||
30 | deleted file mode 100644 | ||
31 | index 519028c63..000000000 | ||
32 | --- a/certs/external/baltimore-cybertrust-root.pem | ||
33 | +++ /dev/null | ||
34 | @@ -1,21 +0,0 @@ | ||
35 | ------BEGIN CERTIFICATE----- | ||
36 | -MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ | ||
37 | -RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD | ||
38 | -VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX | ||
39 | -DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y | ||
40 | -ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy | ||
41 | -VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr | ||
42 | -mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr | ||
43 | -IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK | ||
44 | -mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu | ||
45 | -XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy | ||
46 | -dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye | ||
47 | -jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1 | ||
48 | -BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3 | ||
49 | -DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92 | ||
50 | -9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx | ||
51 | -jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0 | ||
52 | -Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz | ||
53 | -ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS | ||
54 | -R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp | ||
55 | ------END CERTIFICATE----- | ||
56 | diff --git a/certs/external/ca_collection.pem b/certs/external/ca_collection.pem | ||
57 | index ddfdf9cee..c76d6c605 100644 | ||
58 | --- a/certs/external/ca_collection.pem | ||
59 | +++ b/certs/external/ca_collection.pem | ||
60 | @@ -1,80 +1,3 @@ | ||
61 | -Certificate: | ||
62 | - Data: | ||
63 | - Version: 3 (0x2) | ||
64 | - Serial Number: 33554617 (0x20000b9) | ||
65 | - Signature Algorithm: sha1WithRSAEncryption | ||
66 | - Issuer: C = IE, O = Baltimore, OU = CyberTrust, CN = Baltimore CyberTrust Root | ||
67 | - Validity | ||
68 | - Not Before: May 12 18:46:00 2000 GMT | ||
69 | - Not After : May 12 23:59:00 2025 GMT | ||
70 | - Subject: C = IE, O = Baltimore, OU = CyberTrust, CN = Baltimore CyberTrust Root | ||
71 | - Subject Public Key Info: | ||
72 | - Public Key Algorithm: rsaEncryption | ||
73 | - RSA Public-Key: (2048 bit) | ||
74 | - Modulus: | ||
75 | - 00:a3:04:bb:22:ab:98:3d:57:e8:26:72:9a:b5:79: | ||
76 | - d4:29:e2:e1:e8:95:80:b1:b0:e3:5b:8e:2b:29:9a: | ||
77 | - 64:df:a1:5d:ed:b0:09:05:6d:db:28:2e:ce:62:a2: | ||
78 | - 62:fe:b4:88:da:12:eb:38:eb:21:9d:c0:41:2b:01: | ||
79 | - 52:7b:88:77:d3:1c:8f:c7:ba:b9:88:b5:6a:09:e7: | ||
80 | - 73:e8:11:40:a7:d1:cc:ca:62:8d:2d:e5:8f:0b:a6: | ||
81 | - 50:d2:a8:50:c3:28:ea:f5:ab:25:87:8a:9a:96:1c: | ||
82 | - a9:67:b8:3f:0c:d5:f7:f9:52:13:2f:c2:1b:d5:70: | ||
83 | - 70:f0:8f:c0:12:ca:06:cb:9a:e1:d9:ca:33:7a:77: | ||
84 | - d6:f8:ec:b9:f1:68:44:42:48:13:d2:c0:c2:a4:ae: | ||
85 | - 5e:60:fe:b6:a6:05:fc:b4:dd:07:59:02:d4:59:18: | ||
86 | - 98:63:f5:a5:63:e0:90:0c:7d:5d:b2:06:7a:f3:85: | ||
87 | - ea:eb:d4:03:ae:5e:84:3e:5f:ff:15:ed:69:bc:f9: | ||
88 | - 39:36:72:75:cf:77:52:4d:f3:c9:90:2c:b9:3d:e5: | ||
89 | - c9:23:53:3f:1f:24:98:21:5c:07:99:29:bd:c6:3a: | ||
90 | - ec:e7:6e:86:3a:6b:97:74:63:33:bd:68:18:31:f0: | ||
91 | - 78:8d:76:bf:fc:9e:8e:5d:2a:86:a7:4d:90:dc:27: | ||
92 | - 1a:39 | ||
93 | - Exponent: 65537 (0x10001) | ||
94 | - X509v3 extensions: | ||
95 | - X509v3 Subject Key Identifier: | ||
96 | - E5:9D:59:30:82:47:58:CC:AC:FA:08:54:36:86:7B:3A:B5:04:4D:F0 | ||
97 | - X509v3 Basic Constraints: critical | ||
98 | - CA:TRUE, pathlen:3 | ||
99 | - X509v3 Key Usage: critical | ||
100 | - Certificate Sign, CRL Sign | ||
101 | - Signature Algorithm: sha1WithRSAEncryption | ||
102 | - 85:0c:5d:8e:e4:6f:51:68:42:05:a0:dd:bb:4f:27:25:84:03: | ||
103 | - bd:f7:64:fd:2d:d7:30:e3:a4:10:17:eb:da:29:29:b6:79:3f: | ||
104 | - 76:f6:19:13:23:b8:10:0a:f9:58:a4:d4:61:70:bd:04:61:6a: | ||
105 | - 12:8a:17:d5:0a:bd:c5:bc:30:7c:d6:e9:0c:25:8d:86:40:4f: | ||
106 | - ec:cc:a3:7e:38:c6:37:11:4f:ed:dd:68:31:8e:4c:d2:b3:01: | ||
107 | - 74:ee:be:75:5e:07:48:1a:7f:70:ff:16:5c:84:c0:79:85:b8: | ||
108 | - 05:fd:7f:be:65:11:a3:0f:c0:02:b4:f8:52:37:39:04:d5:a9: | ||
109 | - 31:7a:18:bf:a0:2a:f4:12:99:f7:a3:45:82:e3:3c:5e:f5:9d: | ||
110 | - 9e:b5:c8:9e:7c:2e:c8:a4:9e:4e:08:14:4b:6d:fd:70:6d:6b: | ||
111 | - 1a:63:bd:64:e6:1f:b7:ce:f0:f2:9f:2e:bb:1b:b7:f2:50:88: | ||
112 | - 73:92:c2:e2:e3:16:8d:9a:32:02:ab:8e:18:dd:e9:10:11:ee: | ||
113 | - 7e:35:ab:90:af:3e:30:94:7a:d0:33:3d:a7:65:0f:f5:fc:8e: | ||
114 | - 9e:62:cf:47:44:2c:01:5d:bb:1d:b5:32:d2:47:d2:38:2e:d0: | ||
115 | - fe:81:dc:32:6a:1e:b5:ee:3c:d5:fc:e7:81:1d:19:c3:24:42: | ||
116 | - ea:63:39:a9 | ||
117 | ------BEGIN CERTIFICATE----- | ||
118 | -MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ | ||
119 | -RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD | ||
120 | -VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX | ||
121 | -DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y | ||
122 | -ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy | ||
123 | -VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr | ||
124 | -mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr | ||
125 | -IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK | ||
126 | -mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu | ||
127 | -XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy | ||
128 | -dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye | ||
129 | -jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1 | ||
130 | -BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3 | ||
131 | -DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92 | ||
132 | -9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx | ||
133 | -jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0 | ||
134 | -Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz | ||
135 | -ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS | ||
136 | -R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp | ||
137 | ------END CERTIFICATE----- | ||
138 | Certificate: | ||
139 | Data: | ||
140 | Version: 3 (0x2) | ||
141 | diff --git a/src/ssl_load.c b/src/ssl_load.c | ||
142 | index 24c8af1be..d803b4093 100644 | ||
143 | --- a/src/ssl_load.c | ||
144 | +++ b/src/ssl_load.c | ||
145 | @@ -2352,11 +2352,13 @@ static int ProcessBufferResetSuites(WOLFSSL_CTX* ctx, WOLFSSL* ssl, int type) | ||
146 | * @param [out] used Number of bytes consumed. | ||
147 | * @param [in[ userChain Whether this certificate is for user's chain. | ||
148 | * @param [in] verify How to verify certificate. | ||
149 | + * @param [in] source_name Associated filename or other source ID. | ||
150 | * @return 1 on success. | ||
151 | * @return Less than 1 on failure. | ||
152 | */ | ||
153 | int ProcessBuffer(WOLFSSL_CTX* ctx, const unsigned char* buff, long sz, | ||
154 | - int format, int type, WOLFSSL* ssl, long* used, int userChain, int verify) | ||
155 | + int format, int type, WOLFSSL* ssl, long* used, int userChain, int verify, | ||
156 | + const char *source_name) | ||
157 | { | ||
158 | DerBuffer* der = NULL; | ||
159 | int ret = 0; | ||
160 | @@ -2367,6 +2369,11 @@ int ProcessBuffer(WOLFSSL_CTX* ctx, const unsigned char* buff, long sz, | ||
161 | EncryptedInfo info[1]; | ||
162 | #endif | ||
163 | int algId = 0; | ||
164 | +#ifdef WOLFSSL_DEBUG_CERTIFICATE_LOADS | ||
165 | + long usedAtStart = used ? *used : 0L; | ||
166 | +#else | ||
167 | + (void)source_name; | ||
168 | +#endif | ||
169 | |||
170 | WOLFSSL_ENTER("ProcessBuffer"); | ||
171 | |||
172 | @@ -2444,6 +2451,22 @@ int ProcessBuffer(WOLFSSL_CTX* ctx, const unsigned char* buff, long sz, | ||
173 | CLEAR_ASN_NO_PEM_HEADER_ERROR(pemErr); | ||
174 | ret = 0; | ||
175 | } | ||
176 | +#ifdef WOLFSSL_DEBUG_CERTIFICATE_LOADS | ||
177 | + if (ret < 0) { | ||
178 | +#ifdef NO_ERROR_STRINGS | ||
179 | + WOLFSSL_DEBUG_PRINTF( | ||
180 | + "ERROR: ProcessUserChain: certificate from %s at offset %ld" | ||
181 | + " rejected with code %d\n", | ||
182 | + source_name, usedAtStart, ret); | ||
183 | +#else | ||
184 | + WOLFSSL_DEBUG_PRINTF( | ||
185 | + "ERROR: ProcessUserChain: certificate from %s at offset %ld" | ||
186 | + " rejected with code %d: %s\n", | ||
187 | + source_name, usedAtStart, ret, | ||
188 | + wolfSSL_ERR_reason_error_string(ret)); | ||
189 | +#endif | ||
190 | + } | ||
191 | +#endif /* WOLFSSL_DEBUG_CERTIFICATE_LOADS */ | ||
192 | } | ||
193 | |||
194 | #ifdef WOLFSSL_SMALL_STACK | ||
195 | @@ -2455,6 +2478,22 @@ int ProcessBuffer(WOLFSSL_CTX* ctx, const unsigned char* buff, long sz, | ||
196 | /* Process the different types of certificates. */ | ||
197 | ret = ProcessBufferCertTypes(ctx, ssl, buff, sz, der, format, type, | ||
198 | verify); | ||
199 | +#ifdef WOLFSSL_DEBUG_CERTIFICATE_LOADS | ||
200 | + if (ret < 0) { | ||
201 | +#ifdef NO_ERROR_STRINGS | ||
202 | + WOLFSSL_DEBUG_PRINTF( | ||
203 | + "ERROR: ProcessBufferCertTypes: certificate from %s at" | ||
204 | + " offset %ld rejected with code %d\n", | ||
205 | + source_name, usedAtStart, ret); | ||
206 | +#else | ||
207 | + WOLFSSL_DEBUG_PRINTF( | ||
208 | + "ERROR: ProcessBufferCertTypes: certificate from %s at" | ||
209 | + " offset %ld rejected with code %d: %s\n", | ||
210 | + source_name, usedAtStart, ret, | ||
211 | + wolfSSL_ERR_reason_error_string(ret)); | ||
212 | +#endif | ||
213 | + } | ||
214 | +#endif /* WOLFSSL_DEBUG_CERTIFICATE_LOADS */ | ||
215 | } | ||
216 | else { | ||
217 | FreeDer(&der); | ||
218 | @@ -2515,12 +2554,14 @@ static int ProcessChainBufferCRL(WOLFSSL_CTX* ctx, const unsigned char* buff, | ||
219 | * @param [in] sz Size of data in buffer. | ||
220 | * @param [in] type Type of data. | ||
221 | * @param [in] verify How to verify certificate. | ||
222 | + * @param [in] source_name Associated filename or other source ID. | ||
223 | * @return 1 on success. | ||
224 | * @return 0 on failure. | ||
225 | * @return MEMORY_E when dynamic memory allocation fails. | ||
226 | */ | ||
227 | static int ProcessChainBuffer(WOLFSSL_CTX* ctx, WOLFSSL* ssl, | ||
228 | - const unsigned char* buff, long sz, int type, int verify) | ||
229 | + const unsigned char* buff, long sz, int type, int verify, | ||
230 | + const char *source_name) | ||
231 | { | ||
232 | int ret = 0; | ||
233 | long used = 0; | ||
234 | @@ -2529,11 +2570,11 @@ static int ProcessChainBuffer(WOLFSSL_CTX* ctx, WOLFSSL* ssl, | ||
235 | WOLFSSL_MSG("Processing CA PEM file"); | ||
236 | /* Keep processing file while no errors and data to parse. */ | ||
237 | while ((ret >= 0) && (used < sz)) { | ||
238 | - long consumed = 0; | ||
239 | + long consumed = used; | ||
240 | |||
241 | /* Process the buffer. */ | ||
242 | ret = ProcessBuffer(ctx, buff + used, sz - used, WOLFSSL_FILETYPE_PEM, | ||
243 | - type, ssl, &consumed, 0, verify); | ||
244 | + type, ssl, &consumed, 0, verify, source_name); | ||
245 | /* Memory allocation failure is fatal. */ | ||
246 | if (ret == WC_NO_ERR_TRACE(MEMORY_E)) { | ||
247 | gotOne = 0; | ||
248 | @@ -2665,6 +2706,12 @@ int ProcessFile(WOLFSSL_CTX* ctx, const char* fname, int format, int type, | ||
249 | { | ||
250 | /* Not a header that we support. */ | ||
251 | WOLFSSL_MSG("Failed to detect certificate type"); | ||
252 | +#ifdef WOLFSSL_DEBUG_CERTIFICATE_LOADS | ||
253 | + WOLFSSL_DEBUG_PRINTF( | ||
254 | + "ERROR: ProcessFile: Failed to detect certificate type" | ||
255 | + " of \"%s\"\n", | ||
256 | + fname); | ||
257 | +#endif | ||
258 | ret = WOLFSSL_BAD_CERTTYPE; | ||
259 | } | ||
260 | } | ||
261 | @@ -2673,7 +2720,7 @@ int ProcessFile(WOLFSSL_CTX* ctx, const char* fname, int format, int type, | ||
262 | if (((type == CA_TYPE) || (type == TRUSTED_PEER_TYPE)) && | ||
263 | (format == WOLFSSL_FILETYPE_PEM)) { | ||
264 | ret = ProcessChainBuffer(ctx, ssl, content.buffer, sz, type, | ||
265 | - verify); | ||
266 | + verify, fname); | ||
267 | } | ||
268 | #ifdef HAVE_CRL | ||
269 | else if (type == CRL_TYPE) { | ||
270 | @@ -2690,18 +2737,18 @@ int ProcessFile(WOLFSSL_CTX* ctx, const char* fname, int format, int type, | ||
271 | long consumed = 0; | ||
272 | |||
273 | ret = ProcessBuffer(ctx, content.buffer, sz, format, type, ssl, | ||
274 | - &consumed, userChain, verify); | ||
275 | + &consumed, userChain, verify, fname); | ||
276 | if ((ret == 1) && (consumed < sz)) { | ||
277 | ret = ProcessBuffer(ctx, content.buffer + consumed, | ||
278 | sz - consumed, format, ALT_PRIVATEKEY_TYPE, ssl, NULL, 0, | ||
279 | - verify); | ||
280 | + verify, fname); | ||
281 | } | ||
282 | } | ||
283 | #endif | ||
284 | else { | ||
285 | /* Load all other certificate types. */ | ||
286 | ret = ProcessBuffer(ctx, content.buffer, sz, format, type, ssl, | ||
287 | - NULL, userChain, verify); | ||
288 | + NULL, userChain, verify, fname); | ||
289 | } | ||
290 | } | ||
291 | |||
292 | @@ -3030,7 +3077,8 @@ static int LoadSystemCaCertsWindows(WOLFSSL_CTX* ctx, byte* loaded) | ||
293 | if (ProcessBuffer(ctx, certCtx->pbCertEncoded, | ||
294 | certCtx->cbCertEncoded, WOLFSSL_FILETYPE_ASN1, | ||
295 | CA_TYPE, NULL, NULL, 0, | ||
296 | - GET_VERIFY_SETTING_CTX(ctx)) == 1) { | ||
297 | + GET_VERIFY_SETTING_CTX(ctx), | ||
298 | + storeNames[i]) == 1) { | ||
299 | /* | ||
300 | * Set "loaded" as long as we've loaded one CA | ||
301 | * cert. | ||
302 | @@ -3105,7 +3153,8 @@ static int LoadSystemCaCertsMac(WOLFSSL_CTX* ctx, byte* loaded) | ||
303 | if (ProcessBuffer(ctx, CFDataGetBytePtr(der), | ||
304 | CFDataGetLength(der), WOLFSSL_FILETYPE_ASN1, | ||
305 | CA_TYPE, NULL, NULL, 0, | ||
306 | - GET_VERIFY_SETTING_CTX(ctx)) == 1) { | ||
307 | + GET_VERIFY_SETTING_CTX(ctx), | ||
308 | + "MacOSX trustDomains") == 1) { | ||
309 | /* | ||
310 | * Set "loaded" as long as we've loaded one CA | ||
311 | * cert. | ||
312 | @@ -3644,7 +3693,8 @@ int wolfSSL_use_certificate(WOLFSSL* ssl, WOLFSSL_X509* x509) | ||
313 | /* Get DER encoded certificate data from X509 object. */ | ||
314 | ret = ProcessBuffer(NULL, x509->derCert->buffer, x509->derCert->length, | ||
315 | WOLFSSL_FILETYPE_ASN1, CERT_TYPE, ssl, &idx, 0, | ||
316 | - GET_VERIFY_SETTING_SSL(ssl)); | ||
317 | + GET_VERIFY_SETTING_SSL(ssl), | ||
318 | + "x509 buffer"); | ||
319 | } | ||
320 | |||
321 | /* Return 1 on success or 0 on failure. */ | ||
322 | @@ -3676,7 +3726,8 @@ int wolfSSL_use_certificate_ASN1(WOLFSSL* ssl, const unsigned char* der, | ||
323 | long idx = 0; | ||
324 | |||
325 | ret = ProcessBuffer(NULL, der, derSz, WOLFSSL_FILETYPE_ASN1, CERT_TYPE, | ||
326 | - ssl, &idx, 0, GET_VERIFY_SETTING_SSL(ssl)); | ||
327 | + ssl, &idx, 0, GET_VERIFY_SETTING_SSL(ssl), | ||
328 | + "asn1 buffer"); | ||
329 | } | ||
330 | |||
331 | /* Return 1 on success or 0 on failure. */ | ||
332 | @@ -3884,12 +3935,13 @@ int wolfSSL_CTX_load_verify_buffer_ex(WOLFSSL_CTX* ctx, const unsigned char* in, | ||
333 | |||
334 | /* When PEM, treat as certificate chain of CA certificates. */ | ||
335 | if (format == WOLFSSL_FILETYPE_PEM) { | ||
336 | - ret = ProcessChainBuffer(ctx, NULL, in, sz, CA_TYPE, verify); | ||
337 | + ret = ProcessChainBuffer(ctx, NULL, in, sz, CA_TYPE, verify, | ||
338 | + "PEM buffer"); | ||
339 | } | ||
340 | /* When DER, load the CA certificate. */ | ||
341 | else { | ||
342 | ret = ProcessBuffer(ctx, in, sz, format, CA_TYPE, NULL, NULL, | ||
343 | - userChain, verify); | ||
344 | + userChain, verify, "buffer"); | ||
345 | } | ||
346 | #if defined(WOLFSSL_TRUST_PEER_CERT) && defined(OPENSSL_COMPATIBLE_DEFAULTS) | ||
347 | if (ret == 1) { | ||
348 | @@ -3973,12 +4025,12 @@ int wolfSSL_CTX_trust_peer_buffer(WOLFSSL_CTX* ctx, const unsigned char* in, | ||
349 | /* When PEM, treat as certificate chain of trusted peer certificates. */ | ||
350 | if (format == WOLFSSL_FILETYPE_PEM) { | ||
351 | ret = ProcessChainBuffer(ctx, NULL, in, sz, TRUSTED_PEER_TYPE, | ||
352 | - verify); | ||
353 | + verify, "peer"); | ||
354 | } | ||
355 | /* When DER, load the trusted peer certificate. */ | ||
356 | else { | ||
357 | ret = ProcessBuffer(ctx, in, sz, format, TRUSTED_PEER_TYPE, NULL, | ||
358 | - NULL, 0, verify); | ||
359 | + NULL, 0, verify, "peer"); | ||
360 | } | ||
361 | } | ||
362 | |||
363 | @@ -4004,7 +4056,7 @@ int wolfSSL_CTX_use_certificate_buffer(WOLFSSL_CTX* ctx, | ||
364 | |||
365 | WOLFSSL_ENTER("wolfSSL_CTX_use_certificate_buffer"); | ||
366 | ret = ProcessBuffer(ctx, in, sz, format, CERT_TYPE, NULL, NULL, 0, | ||
367 | - GET_VERIFY_SETTING_CTX(ctx)); | ||
368 | + GET_VERIFY_SETTING_CTX(ctx), "buffer"); | ||
369 | WOLFSSL_LEAVE("wolfSSL_CTX_use_certificate_buffer", ret); | ||
370 | |||
371 | return ret; | ||
372 | @@ -4030,7 +4082,7 @@ int wolfSSL_CTX_use_PrivateKey_buffer(WOLFSSL_CTX* ctx, const unsigned char* in, | ||
373 | WOLFSSL_ENTER("wolfSSL_CTX_use_PrivateKey_buffer"); | ||
374 | |||
375 | ret = ProcessBuffer(ctx, in, sz, format, PRIVATEKEY_TYPE, NULL, &consumed, | ||
376 | - 0, GET_VERIFY_SETTING_CTX(ctx)); | ||
377 | + 0, GET_VERIFY_SETTING_CTX(ctx), "key buffer"); | ||
378 | #ifdef WOLFSSL_DUAL_ALG_CERTS | ||
379 | if ((ret == 1) && (consumed < sz)) { | ||
380 | /* When support for dual algorithm certificates is enabled, the | ||
381 | @@ -4038,7 +4090,8 @@ int wolfSSL_CTX_use_PrivateKey_buffer(WOLFSSL_CTX* ctx, const unsigned char* in, | ||
382 | * private key. Hence, we have to parse both of them. | ||
383 | */ | ||
384 | ret = ProcessBuffer(ctx, in + consumed, sz - consumed, format, | ||
385 | - ALT_PRIVATEKEY_TYPE, NULL, NULL, 0, GET_VERIFY_SETTING_CTX(ctx)); | ||
386 | + ALT_PRIVATEKEY_TYPE, NULL, NULL, 0, GET_VERIFY_SETTING_CTX(ctx), | ||
387 | + "key buffer"); | ||
388 | } | ||
389 | #endif | ||
390 | |||
391 | @@ -4056,7 +4109,7 @@ int wolfSSL_CTX_use_AltPrivateKey_buffer(WOLFSSL_CTX* ctx, | ||
392 | |||
393 | WOLFSSL_ENTER("wolfSSL_CTX_use_AltPrivateKey_buffer"); | ||
394 | ret = ProcessBuffer(ctx, in, sz, format, ALT_PRIVATEKEY_TYPE, NULL, | ||
395 | - NULL, 0, GET_VERIFY_SETTING_CTX(ctx)); | ||
396 | + NULL, 0, GET_VERIFY_SETTING_CTX(ctx), "alt key buffer"); | ||
397 | WOLFSSL_LEAVE("wolfSSL_CTX_use_AltPrivateKey_buffer", ret); | ||
398 | |||
399 | return ret; | ||
400 | @@ -4271,7 +4324,8 @@ static int wolfSSL_CTX_use_certificate_ex(WOLFSSL_CTX* ctx, | ||
401 | } | ||
402 | |||
403 | ret = ProcessBuffer(ctx, certData, certDataLen, certFormat, | ||
404 | - CERT_TYPE, NULL, NULL, 0, GET_VERIFY_SETTING_CTX(ctx)); | ||
405 | + CERT_TYPE, NULL, NULL, 0, GET_VERIFY_SETTING_CTX(ctx), | ||
406 | + label ? label : "cert buffer"); | ||
407 | |||
408 | exit: | ||
409 | XFREE(certData, ctx->heap, DYNAMIC_TYPE_CERT); | ||
410 | @@ -4333,7 +4387,7 @@ int wolfSSL_CTX_use_certificate_chain_buffer_format(WOLFSSL_CTX* ctx, | ||
411 | { | ||
412 | WOLFSSL_ENTER("wolfSSL_CTX_use_certificate_chain_buffer_format"); | ||
413 | return ProcessBuffer(ctx, in, sz, format, CERT_TYPE, NULL, NULL, 1, | ||
414 | - GET_VERIFY_SETTING_CTX(ctx)); | ||
415 | + GET_VERIFY_SETTING_CTX(ctx), "cert chain buffer"); | ||
416 | } | ||
417 | |||
418 | /* Load a PEM encoded certificate chain in a buffer into SSL context. | ||
419 | @@ -4376,7 +4430,7 @@ int wolfSSL_use_certificate_buffer(WOLFSSL* ssl, const unsigned char* in, | ||
420 | } | ||
421 | else { | ||
422 | ret = ProcessBuffer(ssl->ctx, in, sz, format, CERT_TYPE, ssl, NULL, 0, | ||
423 | - GET_VERIFY_SETTING_SSL(ssl)); | ||
424 | + GET_VERIFY_SETTING_SSL(ssl), "cert buffer"); | ||
425 | } | ||
426 | |||
427 | return ret; | ||
428 | @@ -4407,7 +4461,7 @@ int wolfSSL_use_PrivateKey_buffer(WOLFSSL* ssl, const unsigned char* in, | ||
429 | } | ||
430 | else { | ||
431 | ret = ProcessBuffer(ssl->ctx, in, sz, format, PRIVATEKEY_TYPE, ssl, | ||
432 | - &consumed, 0, GET_VERIFY_SETTING_SSL(ssl)); | ||
433 | + &consumed, 0, GET_VERIFY_SETTING_SSL(ssl), "key buffer"); | ||
434 | #ifdef WOLFSSL_DUAL_ALG_CERTS | ||
435 | if ((ret == 1) && (consumed < sz)) { | ||
436 | /* When support for dual algorithm certificates is enabled, the | ||
437 | @@ -4415,7 +4469,8 @@ int wolfSSL_use_PrivateKey_buffer(WOLFSSL* ssl, const unsigned char* in, | ||
438 | * private key. Hence, we have to parse both of them. | ||
439 | */ | ||
440 | ret = ProcessBuffer(ssl->ctx, in + consumed, sz - consumed, format, | ||
441 | - ALT_PRIVATEKEY_TYPE, ssl, NULL, 0, GET_VERIFY_SETTING_SSL(ssl)); | ||
442 | + ALT_PRIVATEKEY_TYPE, ssl, NULL, 0, GET_VERIFY_SETTING_SSL(ssl), | ||
443 | + "key buffer"); | ||
444 | } | ||
445 | #endif | ||
446 | } | ||
447 | @@ -4431,7 +4486,7 @@ int wolfSSL_use_AltPrivateKey_buffer(WOLFSSL* ssl, const unsigned char* in, | ||
448 | |||
449 | WOLFSSL_ENTER("wolfSSL_use_AltPrivateKey_buffer"); | ||
450 | ret = ProcessBuffer(ssl->ctx, in, sz, format, ALT_PRIVATEKEY_TYPE, ssl, | ||
451 | - NULL, 0, GET_VERIFY_SETTING_SSL(ssl)); | ||
452 | + NULL, 0, GET_VERIFY_SETTING_SSL(ssl), "alt key buffer"); | ||
453 | WOLFSSL_LEAVE("wolfSSL_use_AltPrivateKey_buffer", ret); | ||
454 | |||
455 | return ret; | ||
456 | @@ -4669,7 +4724,7 @@ int wolfSSL_use_certificate_chain_buffer_format(WOLFSSL* ssl, | ||
457 | } | ||
458 | else { | ||
459 | ret = ProcessBuffer(ssl->ctx, in, sz, format, CERT_TYPE, ssl, NULL, 1, | ||
460 | - GET_VERIFY_SETTING_SSL(ssl)); | ||
461 | + GET_VERIFY_SETTING_SSL(ssl), "cert chain buffer"); | ||
462 | } | ||
463 | |||
464 | return ret; | ||
465 | @@ -4826,7 +4881,7 @@ long wolfSSL_CTX_add_extra_chain_cert(WOLFSSL_CTX* ctx, WOLFSSL_X509* x509) | ||
466 | |||
467 | /* Process buffer makes first certificate the leaf. */ | ||
468 | ret = ProcessBuffer(ctx, der, derSz, WOLFSSL_FILETYPE_ASN1, CERT_TYPE, | ||
469 | - NULL, NULL, 1, GET_VERIFY_SETTING_CTX(ctx)); | ||
470 | + NULL, NULL, 1, GET_VERIFY_SETTING_CTX(ctx), "extra chain buffer"); | ||
471 | if (ret != 1) { | ||
472 | ret = 0; | ||
473 | } | ||
474 | diff --git a/wolfcrypt/src/error.c b/wolfcrypt/src/error.c | ||
475 | index af5ba36b4..9ec9484d4 100644 | ||
476 | --- a/wolfcrypt/src/error.c | ||
477 | +++ b/wolfcrypt/src/error.c | ||
478 | @@ -182,10 +182,10 @@ const char* wc_GetErrorString(int error) | ||
479 | return "ASN date error, bad size"; | ||
480 | |||
481 | case ASN_BEFORE_DATE_E : | ||
482 | - return "ASN date error, current date before"; | ||
483 | + return "ASN date error, current date is before start of validity"; | ||
484 | |||
485 | case ASN_AFTER_DATE_E : | ||
486 | - return "ASN date error, current date after"; | ||
487 | + return "ASN date error, current date is after expiration"; | ||
488 | |||
489 | case ASN_SIG_OID_E : | ||
490 | return "ASN signature error, mismatched oid"; | ||
491 | diff --git a/wolfcrypt/src/logging.c b/wolfcrypt/src/logging.c | ||
492 | index 29b9221df..b80fc3a56 100644 | ||
493 | --- a/wolfcrypt/src/logging.c | ||
494 | +++ b/wolfcrypt/src/logging.c | ||
495 | @@ -230,42 +230,6 @@ void WOLFSSL_TIME(int count) | ||
496 | |||
497 | #ifdef DEBUG_WOLFSSL | ||
498 | |||
499 | -#if defined(ARDUINO) | ||
500 | - /* see Arduino wolfssl.h for wolfSSL_Arduino_Serial_Print */ | ||
501 | -#elif defined(FREESCALE_MQX) || defined(FREESCALE_KSDK_MQX) | ||
502 | - /* see wc_port.h for fio.h and nio.h includes */ | ||
503 | -#elif defined(WOLFSSL_SGX) | ||
504 | - /* Declare sprintf for ocall */ | ||
505 | - int sprintf(char* buf, const char *fmt, ...); | ||
506 | -#elif defined(WOLFSSL_DEOS) | ||
507 | -#elif defined(MICRIUM) | ||
508 | - #if (BSP_SER_COMM_EN == DEF_ENABLED) | ||
509 | - #include <bsp_ser.h> | ||
510 | - #endif | ||
511 | -#elif defined(WOLFSSL_USER_LOG) | ||
512 | - /* user includes their own headers */ | ||
513 | -#elif defined(WOLFSSL_ESPIDF) | ||
514 | - #include "esp_types.h" | ||
515 | - #include "esp_log.h" | ||
516 | -#elif defined(WOLFSSL_TELIT_M2MB) | ||
517 | - #include <stdio.h> | ||
518 | - #include "m2m_log.h" | ||
519 | -#elif defined(WOLFSSL_ANDROID_DEBUG) | ||
520 | - #include <android/log.h> | ||
521 | -#elif defined(WOLFSSL_XILINX) | ||
522 | - #include "xil_printf.h" | ||
523 | -#elif defined(WOLFSSL_LINUXKM) | ||
524 | - /* the requisite linux/kernel.h is included in wc_port.h, with incompatible warnings masked out. */ | ||
525 | -#elif defined(FUSION_RTOS) | ||
526 | - #include <fclstdio.h> | ||
527 | - #define fprintf FCL_FPRINTF | ||
528 | -#else | ||
529 | - #include <stdio.h> /* for default printf stuff */ | ||
530 | -#endif | ||
531 | - | ||
532 | -#if defined(THREADX) && !defined(THREADX_NO_DC_PRINTF) | ||
533 | - int dc_log_printf(char*, ...); | ||
534 | -#endif | ||
535 | |||
536 | #ifdef HAVE_STACK_SIZE_VERBOSE | ||
537 | #include <wolfssl/wolfcrypt/mem_track.h> | ||
538 | @@ -281,106 +245,30 @@ static void wolfssl_log(const int logLevel, const char* const file_name, | ||
539 | else { | ||
540 | #if defined(WOLFSSL_USER_LOG) | ||
541 | WOLFSSL_USER_LOG(logMessage); | ||
542 | -#elif defined(ARDUINO) | ||
543 | - wolfSSL_Arduino_Serial_Print(logMessage); | ||
544 | -#elif defined(WOLFSSL_LOG_PRINTF) | ||
545 | - if (file_name != NULL) | ||
546 | - printf("[%s L %d] %s\n", file_name, line_number, logMessage); | ||
547 | - else | ||
548 | - printf("%s\n", logMessage); | ||
549 | -#elif defined(THREADX) && !defined(THREADX_NO_DC_PRINTF) | ||
550 | - if (file_name != NULL) | ||
551 | - dc_log_printf("[%s L %d] %s\n", file_name, line_number, logMessage); | ||
552 | - else | ||
553 | - dc_log_printf("%s\n", logMessage); | ||
554 | -#elif defined(WOLFSSL_DEOS) | ||
555 | - if (file_name != NULL) | ||
556 | - printf("[%s L %d] %s\r\n", file_name, line_number, logMessage); | ||
557 | - else | ||
558 | - printf("%s\r\n", logMessage); | ||
559 | -#elif defined(MICRIUM) | ||
560 | - if (file_name != NULL) | ||
561 | - BSP_Ser_Printf("[%s L %d] %s\r\n", | ||
562 | - file_name, line_number, logMessage); | ||
563 | - else | ||
564 | - BSP_Ser_Printf("%s\r\n", logMessage); | ||
565 | -#elif defined(WOLFSSL_MDK_ARM) | ||
566 | - fflush(stdout) ; | ||
567 | - if (file_name != NULL) | ||
568 | - printf("[%s L %d] %s\n", file_name, line_number, logMessage); | ||
569 | - else | ||
570 | - printf("%s\n", logMessage); | ||
571 | - fflush(stdout) ; | ||
572 | -#elif defined(WOLFSSL_UTASKER) | ||
573 | - fnDebugMsg((char*)logMessage); | ||
574 | - fnDebugMsg("\r\n"); | ||
575 | -#elif defined(MQX_USE_IO_OLD) | ||
576 | - if (file_name != NULL) | ||
577 | - fprintf(_mqxio_stderr, "[%s L %d] %s\n", | ||
578 | - file_name, line_number, logMessage); | ||
579 | - else | ||
580 | - fprintf(_mqxio_stderr, "%s\n", logMessage); | ||
581 | -#elif defined(WOLFSSL_APACHE_MYNEWT) | ||
582 | - if (file_name != NULL) | ||
583 | - LOG_DEBUG(&mynewt_log, LOG_MODULE_DEFAULT, "[%s L %d] %s\n", | ||
584 | - file_name, line_number, logMessage); | ||
585 | - else | ||
586 | - LOG_DEBUG(&mynewt_log, LOG_MODULE_DEFAULT, "%s\n", logMessage); | ||
587 | -#elif defined(WOLFSSL_ESPIDF) | ||
588 | - if (file_name != NULL) | ||
589 | - ESP_LOGI("wolfssl", "[%s L %d] %s", | ||
590 | - file_name, line_number, logMessage); | ||
591 | - else | ||
592 | - ESP_LOGI("wolfssl", "%s", logMessage); | ||
593 | -#elif defined(WOLFSSL_ZEPHYR) | ||
594 | - if (file_name != NULL) | ||
595 | - printk("[%s L %d] %s\n", file_name, line_number, logMessage); | ||
596 | - else | ||
597 | - printk("%s\n", logMessage); | ||
598 | -#elif defined(WOLFSSL_TELIT_M2MB) | ||
599 | - if (file_name != NULL) | ||
600 | - M2M_LOG_INFO("[%s L %d] %s\n", file_name, line_number, logMessage); | ||
601 | - else | ||
602 | - M2M_LOG_INFO("%s\n", logMessage); | ||
603 | -#elif defined(WOLFSSL_ANDROID_DEBUG) | ||
604 | - if (file_name != NULL) | ||
605 | - __android_log_print(ANDROID_LOG_VERBOSE, "[wolfSSL]", "[%s L %d] %s", | ||
606 | - file_name, line_number, logMessage); | ||
607 | - else | ||
608 | - __android_log_print(ANDROID_LOG_VERBOSE, "[wolfSSL]", "%s", | ||
609 | - logMessage); | ||
610 | -#elif defined(WOLFSSL_XILINX) | ||
611 | - if (file_name != NULL) | ||
612 | - xil_printf("[%s L %d] %s\r\n", file_name, line_number, logMessage); | ||
613 | - else | ||
614 | - xil_printf("%s\r\n", logMessage); | ||
615 | -#elif defined(WOLFSSL_LINUXKM) | ||
616 | - if (file_name != NULL) | ||
617 | - printk("[%s L %d] %s\n", file_name, line_number, logMessage); | ||
618 | - else | ||
619 | - printk("%s\n", logMessage); | ||
620 | -#elif defined(WOLFSSL_RENESAS_RA6M4) | ||
621 | - if (file_name != NULL) | ||
622 | - myprintf("[%s L %d] %s\n", file_name, line_number, logMessage); | ||
623 | - else | ||
624 | - myprintf("%s\n", logMessage); | ||
625 | -#elif defined(STACK_SIZE_CHECKPOINT_MSG) && \ | ||
626 | - defined(HAVE_STACK_SIZE_VERBOSE) && defined(HAVE_STACK_SIZE_VERBOSE_LOG) | ||
627 | - STACK_SIZE_CHECKPOINT_MSG(logMessage); | ||
628 | -#else | ||
629 | +#elif defined(WOLFSSL_DEBUG_PRINTF) | ||
630 | if (log_prefix != NULL) { | ||
631 | if (file_name != NULL) | ||
632 | - fprintf(stderr, "[%s]: [%s L %d] %s\n", | ||
633 | + WOLFSSL_DEBUG_PRINTF("[%s]: [%s L %d] %s\n", | ||
634 | log_prefix, file_name, line_number, logMessage); | ||
635 | else | ||
636 | - fprintf(stderr, "[%s]: %s\n", log_prefix, logMessage); | ||
637 | + WOLFSSL_DEBUG_PRINTF("[%s]: %s\n", log_prefix, logMessage); | ||
638 | } else { | ||
639 | if (file_name != NULL) | ||
640 | - fprintf(stderr, "[%s L %d] %s\n", | ||
641 | + WOLFSSL_DEBUG_PRINTF("[%s L %d] %s\n", | ||
642 | file_name, line_number, logMessage); | ||
643 | else | ||
644 | - fprintf(stderr, "%s\n", logMessage); | ||
645 | + WOLFSSL_DEBUG_PRINTF("%s\n", logMessage); | ||
646 | } | ||
647 | +#elif defined(ARDUINO) | ||
648 | + wolfSSL_Arduino_Serial_Print(logMessage); | ||
649 | +#elif defined(WOLFSSL_UTASKER) | ||
650 | + fnDebugMsg((char*)logMessage); | ||
651 | + fnDebugMsg("\r\n"); | ||
652 | +#elif defined(STACK_SIZE_CHECKPOINT_MSG) && \ | ||
653 | + defined(HAVE_STACK_SIZE_VERBOSE) && defined(HAVE_STACK_SIZE_VERBOSE_LOG) | ||
654 | + STACK_SIZE_CHECKPOINT_MSG(logMessage); | ||
655 | +#else | ||
656 | + #error No log method defined. | ||
657 | #endif | ||
658 | } | ||
659 | } | ||
660 | diff --git a/wolfssl/internal.h b/wolfssl/internal.h | ||
661 | index 9cdbdb697..dd191fb1a 100644 | ||
662 | --- a/wolfssl/internal.h | ||
663 | +++ b/wolfssl/internal.h | ||
664 | @@ -6389,7 +6389,8 @@ WOLFSSL_TEST_VIS void wolfSSL_ResourceFree(WOLFSSL* ssl); /* Micrium uses */ | ||
665 | |||
666 | WOLFSSL_LOCAL int ProcessBuffer(WOLFSSL_CTX* ctx, const unsigned char* buff, | ||
667 | long sz, int format, int type, WOLFSSL* ssl, | ||
668 | - long* used, int userChain, int verify); | ||
669 | + long* used, int userChain, int verify, | ||
670 | + const char *source_name); | ||
671 | WOLFSSL_LOCAL int ProcessFile(WOLFSSL_CTX* ctx, const char* fname, int format, | ||
672 | int type, WOLFSSL* ssl, int userChain, | ||
673 | WOLFSSL_CRL* crl, int verify); | ||
674 | diff --git a/wolfssl/wolfcrypt/logging.h b/wolfssl/wolfcrypt/logging.h | ||
675 | index 49de70147..8b3cf0fd8 100644 | ||
676 | --- a/wolfssl/wolfcrypt/logging.h | ||
677 | +++ b/wolfssl/wolfcrypt/logging.h | ||
678 | @@ -89,11 +89,6 @@ enum wc_FuncNum { | ||
679 | }; | ||
680 | #endif | ||
681 | |||
682 | -#if defined(ARDUINO) | ||
683 | -/* implemented in Arduino wolfssl.h */ | ||
684 | -extern WOLFSSL_API int wolfSSL_Arduino_Serial_Print(const char* const s); | ||
685 | -#endif /* ARDUINO */ | ||
686 | - | ||
687 | typedef void (*wolfSSL_Logging_cb)(const int logLevel, | ||
688 | const char *const logMessage); | ||
689 | |||
690 | @@ -157,6 +152,10 @@ WOLFSSL_API void wolfSSL_SetLoggingPrefix(const char* prefix); | ||
691 | #define WOLFSSL_TIME(n) WC_DO_NOTHING | ||
692 | #endif | ||
693 | |||
694 | +#if defined(DEBUG_WOLFSSL) && !defined(WOLFSSL_DEBUG_CERTIFICATE_LOADS) | ||
695 | + #define WOLFSSL_DEBUG_CERTIFICATE_LOADS | ||
696 | +#endif | ||
697 | + | ||
698 | #if defined(DEBUG_WOLFSSL) && !defined(WOLFSSL_DEBUG_ERRORS_ONLY) | ||
699 | #if defined(_WIN32) | ||
700 | #if defined(INTIME_RTOS) | ||
701 | @@ -268,6 +267,90 @@ WOLFSSL_API void wolfSSL_SetLoggingPrefix(const char* prefix); | ||
702 | extern WOLFSSL_API THREAD_LS_T void *StackSizeCheck_stackOffsetPointer; | ||
703 | #endif | ||
704 | |||
705 | +/* Port-specific includes and printf methods: */ | ||
706 | + | ||
707 | +#if defined(ARDUINO) | ||
708 | + /* implemented in Arduino wolfssl.h */ | ||
709 | + extern WOLFSSL_API int wolfSSL_Arduino_Serial_Print(const char* const s); | ||
710 | +#elif defined(FREESCALE_MQX) || defined(FREESCALE_KSDK_MQX) | ||
711 | + /* see wc_port.h for fio.h and nio.h includes */ | ||
712 | +#elif defined(WOLFSSL_SGX) | ||
713 | + /* Declare sprintf for ocall */ | ||
714 | + int sprintf(char* buf, const char *fmt, ...); | ||
715 | +#elif defined(WOLFSSL_DEOS) | ||
716 | +#elif defined(MICRIUM) | ||
717 | + #if (BSP_SER_COMM_EN == DEF_ENABLED) | ||
718 | + #include <bsp_ser.h> | ||
719 | + #endif | ||
720 | +#elif defined(WOLFSSL_USER_LOG) | ||
721 | + /* user includes their own headers */ | ||
722 | +#elif defined(WOLFSSL_ESPIDF) | ||
723 | + #include "esp_types.h" | ||
724 | + #include "esp_log.h" | ||
725 | +#elif defined(WOLFSSL_TELIT_M2MB) | ||
726 | + #include <stdio.h> | ||
727 | + #include "m2m_log.h" | ||
728 | +#elif defined(WOLFSSL_ANDROID_DEBUG) | ||
729 | + #include <android/log.h> | ||
730 | +#elif defined(WOLFSSL_XILINX) | ||
731 | + #include "xil_printf.h" | ||
732 | +#elif defined(WOLFSSL_LINUXKM) | ||
733 | + /* the requisite linux/kernel.h is included in linuxkm_wc_port.h, with | ||
734 | + * incompatible warnings masked out. | ||
735 | + */ | ||
736 | +#elif defined(FUSION_RTOS) | ||
737 | + #include <fclstdio.h> | ||
738 | + #define fprintf FCL_FPRINTF | ||
739 | +#else | ||
740 | + #include <stdio.h> /* for default printf stuff */ | ||
741 | +#endif | ||
742 | + | ||
743 | +#if defined(THREADX) && !defined(THREADX_NO_DC_PRINTF) | ||
744 | + int dc_log_printf(char*, ...); | ||
745 | +#endif | ||
746 | + | ||
747 | +#ifdef WOLFSSL_DEBUG_PRINTF | ||
748 | + /* user-supplied definition */ | ||
749 | +#elif defined(ARDUINO) | ||
750 | + /* ARDUINO only has print and sprintf, no printf. */ | ||
751 | +#elif defined(WOLFSSL_LOG_PRINTF) || defined(WOLFSSL_DEOS) | ||
752 | + #define WOLFSSL_DEBUG_PRINTF(...) printf(__VA_ARGS__) | ||
753 | +#elif defined(THREADX) && !defined(THREADX_NO_DC_PRINTF) | ||
754 | + #define WOLFSSL_DEBUG_PRINTF(...) dc_log_printf(__VA_ARGS__) | ||
755 | +#elif defined(MICRIUM) | ||
756 | + #define WOLFSSL_DEBUG_PRINTF(...) BSP_Ser_Printf(__VA_ARGS__) | ||
757 | +#elif defined(WOLFSSL_MDK_ARM) | ||
758 | + #define WOLFSSL_DEBUG_PRINTF(...) do { \ | ||
759 | + fflush(stdout); \ | ||
760 | + printf(__VA_ARGS__); \ | ||
761 | + fflush(stdout); \ | ||
762 | + } while (0) | ||
763 | +#elif defined(WOLFSSL_UTASKER) | ||
764 | + /* WOLFSSL_UTASKER only has fnDebugMsg and related primitives, no printf. */ | ||
765 | +#elif defined(MQX_USE_IO_OLD) | ||
766 | + #define WOLFSSL_DEBUG_PRINTF(...) fprintf(_mqxio_stderr, __VAR_ARGS) | ||
767 | +#elif defined(WOLFSSL_APACHE_MYNEWT) | ||
768 | + #define WOLFSSL_DEBUG_PRINTF(...) LOG_DEBUG(&mynewt_log, \ | ||
769 | + LOG_MODULE_DEFAULT, __VA_ARGS__) | ||
770 | +#elif defined(WOLFSSL_ESPIDF) | ||
771 | + #define WOLFSSL_DEBUG_PRINTF(...) ESP_LOGI("wolfssl", __VA_ARGS__) | ||
772 | +#elif defined(WOLFSSL_ZEPHYR) | ||
773 | + #define WOLFSSL_DEBUG_PRINTF(...) printk(__VA_ARGS__) | ||
774 | +#elif defined(WOLFSSL_TELIT_M2MB) | ||
775 | + #define WOLFSSL_DEBUG_PRINTF(...) M2M_LOG_INFO(__VA_ARGS__) | ||
776 | +#elif defined(WOLFSSL_ANDROID_DEBUG) | ||
777 | + #define WOLFSSL_DEBUG_PRINTF(...) __android_log_print(ANDROID_LOG_VERBOSE, \ | ||
778 | + "[wolfSSL]", __VA_ARGS__) | ||
779 | +#elif defined(WOLFSSL_XILINX) | ||
780 | + #define WOLFSSL_DEBUG_PRINTF(...) xil_printf(__VA_ARGS__) | ||
781 | +#elif defined(WOLFSSL_LINUXKM) | ||
782 | + #define WOLFSSL_DEBUG_PRINTF(...) printk(__VA_ARGS__) | ||
783 | +#elif defined(WOLFSSL_RENESAS_RA6M4) | ||
784 | + #define WOLFSSL_DEBUG_PRINTF(...) myprintf(__VA_ARGS__) | ||
785 | +#else | ||
786 | + #define WOLFSSL_DEBUG_PRINTF(...) fprintf(stderr, __VA_ARGS__) | ||
787 | +#endif | ||
788 | + | ||
789 | #ifdef __cplusplus | ||
790 | } | ||
791 | #endif | ||
diff --git a/meta-networking/recipes-connectivity/wolfssl/files/run-ptest b/meta-networking/recipes-connectivity/wolfssl/files/run-ptest index ff66f4ef6c..fd260d441a 100644 --- a/meta-networking/recipes-connectivity/wolfssl/files/run-ptest +++ b/meta-networking/recipes-connectivity/wolfssl/files/run-ptest | |||
@@ -8,7 +8,9 @@ echo "Wolfssl ptest logs are stored in ${temp_dir}/${log_file}" | |||
8 | 8 | ||
9 | ./test/unit.test > "$temp_dir/$log_file" 2>&1 | 9 | ./test/unit.test > "$temp_dir/$log_file" 2>&1 |
10 | 10 | ||
11 | echo "Test script returned: $?" | 11 | ret=$? |
12 | |||
13 | echo "Test script returned: $ret" | ||
12 | 14 | ||
13 | MAGIC_SENTENCE=$(grep "unit_test: Success for all configured tests." $temp_dir/$log_file) | 15 | MAGIC_SENTENCE=$(grep "unit_test: Success for all configured tests." $temp_dir/$log_file) |
14 | 16 | ||
@@ -21,4 +23,4 @@ else | |||
21 | fi | 23 | fi |
22 | NUM_FAILS=$(grep -c "Failed" $temp_dir/$log_file) | 24 | NUM_FAILS=$(grep -c "Failed" $temp_dir/$log_file) |
23 | 25 | ||
24 | exit $NUM_FAILS | 26 | exit $ret |
diff --git a/meta-networking/recipes-connectivity/wolfssl/wolfssl_5.7.2.bb b/meta-networking/recipes-connectivity/wolfssl/wolfssl_5.8.0.bb index b7ff23e719..b420795cee 100644 --- a/meta-networking/recipes-connectivity/wolfssl/wolfssl_5.7.2.bb +++ b/meta-networking/recipes-connectivity/wolfssl/wolfssl_5.8.0.bb | |||
@@ -14,20 +14,25 @@ RPROVIDES:${PN} = "cyassl" | |||
14 | 14 | ||
15 | SRC_URI = " \ | 15 | SRC_URI = " \ |
16 | git://github.com/wolfSSL/wolfssl.git;protocol=https;branch=master \ | 16 | git://github.com/wolfSSL/wolfssl.git;protocol=https;branch=master \ |
17 | file://0001-wolfssl-wolfcrypt-logging.h-and-wolfcrypt-src-loggin.patch \ | ||
17 | file://run-ptest \ | 18 | file://run-ptest \ |
18 | " | 19 | " |
19 | 20 | ||
20 | SRCREV = "00e42151ca061463ba6a95adb2290f678cbca472" | 21 | SRCREV = "b077c81eb635392e694ccedbab8b644297ec0285" |
21 | 22 | ||
22 | S = "${WORKDIR}/git" | 23 | S = "${WORKDIR}/git" |
23 | 24 | ||
24 | inherit autotools ptest | 25 | inherit autotools ptest |
25 | 26 | ||
27 | EXTRA_OECONF += "--enable-certreq --enable-dtls --enable-opensslextra --enable-certext --enable-certgen" | ||
28 | |||
26 | PACKAGECONFIG ?= "reproducible-build" | 29 | PACKAGECONFIG ?= "reproducible-build" |
27 | 30 | ||
28 | PACKAGECONFIG[reproducible-build] = "--enable-reproducible-build,--disable-reproducible-build," | 31 | PACKAGECONFIG[reproducible-build] = "--enable-reproducible-build,--disable-reproducible-build," |
29 | BBCLASSEXTEND += "native nativesdk" | 32 | BBCLASSEXTEND += "native nativesdk" |
30 | 33 | ||
34 | CFLAGS += '-fPIC -DCERT_REL_PREFIX=\\"./\\"' | ||
35 | |||
31 | RDEPENDS:${PN}-ptest += " bash" | 36 | RDEPENDS:${PN}-ptest += " bash" |
32 | 37 | ||
33 | do_install_ptest() { | 38 | do_install_ptest() { |
diff --git a/meta-networking/recipes-protocols/mdns/mdns/0001-Use-secure_getenv-on-Linux.patch b/meta-networking/recipes-protocols/mdns/mdns/0001-Use-secure_getenv-on-Linux.patch new file mode 100644 index 0000000000..242aa7f7d8 --- /dev/null +++ b/meta-networking/recipes-protocols/mdns/mdns/0001-Use-secure_getenv-on-Linux.patch | |||
@@ -0,0 +1,30 @@ | |||
1 | From 1bf3be6cd775635aed95689f97a13fa6a037c741 Mon Sep 17 00:00:00 2001 | ||
2 | From: Alex Kiernan <alex.kiernan@gmail.com> | ||
3 | Date: Tue, 27 May 2025 13:33:30 +0100 | ||
4 | Subject: [PATCH] Use secure_getenv on Linux | ||
5 | |||
6 | Upstream-Status: Inactive-Upstream [Upstream does not take patches] | ||
7 | Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> | ||
8 | --- | ||
9 | mDNSShared/dnssd_clientstub.c | 4 ++++ | ||
10 | 1 file changed, 4 insertions(+) | ||
11 | |||
12 | diff --git a/mDNSShared/dnssd_clientstub.c b/mDNSShared/dnssd_clientstub.c | ||
13 | index 6667276ee33a..e7b51813664e 100644 | ||
14 | --- a/mDNSShared/dnssd_clientstub.c | ||
15 | +++ b/mDNSShared/dnssd_clientstub.c | ||
16 | @@ -801,10 +801,14 @@ static DNSServiceErrorType ConnectToServer(DNSServiceRef *ref, DNSServiceFlags f | ||
17 | #endif | ||
18 | #ifndef USE_TCP_LOOPBACK | ||
19 | char* uds_serverpath = NULL; | ||
20 | +#ifdef TARGET_OS_LINUX | ||
21 | + uds_serverpath = secure_getenv(MDNS_UDS_SERVERPATH_ENVVAR); | ||
22 | +#else | ||
23 | if (!issetugid()) | ||
24 | { | ||
25 | uds_serverpath = getenv(MDNS_UDS_SERVERPATH_ENVVAR); | ||
26 | } | ||
27 | +#endif | ||
28 | if (uds_serverpath == NULL) | ||
29 | uds_serverpath = MDNS_UDS_SERVERPATH; | ||
30 | else if (strlen(uds_serverpath) >= MAX_CTLPATH) | ||
diff --git a/meta-networking/recipes-protocols/mdns/mdns/0005-Fix-missing-limit-declarations.patch b/meta-networking/recipes-protocols/mdns/mdns/0005-Fix-missing-limit-declarations.patch deleted file mode 100644 index 41b8985e27..0000000000 --- a/meta-networking/recipes-protocols/mdns/mdns/0005-Fix-missing-limit-declarations.patch +++ /dev/null | |||
@@ -1,49 +0,0 @@ | |||
1 | From 34285024531adbbc7b67506c9fc2e60f3b36b73b Mon Sep 17 00:00:00 2001 | ||
2 | From: Alex Kiernan <alexk@zuma.ai> | ||
3 | Date: Sat, 26 Oct 2024 13:26:09 +0000 | ||
4 | Subject: [PATCH] Fix missing `limit` declarations | ||
5 | |||
6 | `put_attribute_tlvs` needs a limit setting which is missing, add it in. | ||
7 | |||
8 | Upstream-Status: Inactive-Upstream [Upstream does not take patches] | ||
9 | Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> | ||
10 | --- | ||
11 | mDNSShared/dnssd_clientstub.c | 4 ++++ | ||
12 | 1 file changed, 4 insertions(+) | ||
13 | |||
14 | diff --git a/mDNSShared/dnssd_clientstub.c b/mDNSShared/dnssd_clientstub.c | ||
15 | index 89cb90d947c7..316fc49ab078 100644 | ||
16 | --- a/mDNSShared/dnssd_clientstub.c | ||
17 | +++ b/mDNSShared/dnssd_clientstub.c | ||
18 | @@ -2026,6 +2026,7 @@ DNSServiceErrorType DNSServiceRegisterInternal | ||
19 | ipc_msg_hdr *hdr; | ||
20 | DNSServiceErrorType err; | ||
21 | union { uint16_t s; u_char b[2]; } port = { portInNetworkByteOrder }; | ||
22 | + const uint8_t *limit; | ||
23 | (void)attr; | ||
24 | |||
25 | if (!sdRef || !regtype) return kDNSServiceErr_BadParam; | ||
26 | @@ -2050,6 +2051,7 @@ DNSServiceErrorType DNSServiceRegisterInternal | ||
27 | if (!hdr) { DNSServiceRefDeallocate(*sdRef); *sdRef = NULL; return kDNSServiceErr_NoMemory; } | ||
28 | if (!callBack) hdr->ipc_flags |= IPC_FLAGS_NOREPLY; | ||
29 | |||
30 | + limit = ptr + len; | ||
31 | put_flags(flags, &ptr); | ||
32 | put_uint32(interfaceIndex, &ptr); | ||
33 | put_string(name, &ptr); | ||
34 | @@ -2326,6 +2328,7 @@ DNSServiceErrorType DNSServiceRegisterRecordInternal | ||
35 | ipc_msg_hdr *hdr = NULL; | ||
36 | DNSRecordRef rref = NULL; | ||
37 | DNSRecord **p; | ||
38 | + const uint8_t *limit; | ||
39 | (void)attr; | ||
40 | |||
41 | // Verify that only one of the following flags is set. | ||
42 | @@ -2375,6 +2378,7 @@ DNSServiceErrorType DNSServiceRegisterRecordInternal | ||
43 | hdr = create_hdr(reg_record_request, &len, &ptr, !(flags & kDNSServiceFlagsQueueRequest), sdRef); | ||
44 | if (!hdr) return kDNSServiceErr_NoMemory; | ||
45 | |||
46 | + limit = ptr + len; | ||
47 | put_flags(flags, &ptr); | ||
48 | put_uint32(interfaceIndex, &ptr); | ||
49 | put_string(fullname, &ptr); | ||
diff --git a/meta-networking/recipes-protocols/mdns/mdns_2600.100.147.bb b/meta-networking/recipes-protocols/mdns/mdns_2600.120.12.bb index af1400ca6e..b6efa528d4 100644 --- a/meta-networking/recipes-protocols/mdns/mdns_2600.100.147.bb +++ b/meta-networking/recipes-protocols/mdns/mdns_2600.120.12.bb | |||
@@ -13,12 +13,12 @@ SRC_URI = "git://github.com/apple-oss-distributions/mDNSResponder;protocol=https | |||
13 | file://0005-mDNSCore-Fix-broken-debug-parameter.patch \ | 13 | file://0005-mDNSCore-Fix-broken-debug-parameter.patch \ |
14 | file://0006-make-Add-top-level-Makefile.patch \ | 14 | file://0006-make-Add-top-level-Makefile.patch \ |
15 | file://0009-remove-unneeded-headers.patch \ | 15 | file://0009-remove-unneeded-headers.patch \ |
16 | file://0005-Fix-missing-limit-declarations.patch \ | ||
17 | file://0001-Fix-build-with-gcc-15.patch \ | 16 | file://0001-Fix-build-with-gcc-15.patch \ |
17 | file://0001-Use-secure_getenv-on-Linux.patch \ | ||
18 | file://mdns.service \ | 18 | file://mdns.service \ |
19 | " | 19 | " |
20 | BRANCH = "main" | 20 | BRANCH = "rel/mDNSResponder-2600" |
21 | SRCREV = "d89f8d1d0e001b810d6c055aa2a57b768bcf9aa2" | 21 | SRCREV = "3a0deda2995d98243dae379bcec10e57928c15e8" |
22 | 22 | ||
23 | # We install a stub Makefile in the top directory so that the various checks | 23 | # We install a stub Makefile in the top directory so that the various checks |
24 | # in base.bbclass pass their tests for a Makefile, this ensures (that amongst | 24 | # in base.bbclass pass their tests for a Makefile, this ensures (that amongst |
diff --git a/meta-oe/recipes-devtools/xerces-c/xerces-c_3.2.5.bb b/meta-oe/recipes-devtools/xerces-c/xerces-c_3.3.0.bb index 9fd7e8fbab..2819366dc9 100644 --- a/meta-oe/recipes-devtools/xerces-c/xerces-c_3.2.5.bb +++ b/meta-oe/recipes-devtools/xerces-c/xerces-c_3.3.0.bb | |||
@@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" | |||
12 | SRC_URI = "http://archive.apache.org/dist/xerces/c/3/sources/${BP}.tar.bz2 \ | 12 | SRC_URI = "http://archive.apache.org/dist/xerces/c/3/sources/${BP}.tar.bz2 \ |
13 | file://0001-aclocal.m4-don-t-use-full-path-of-with_curl-in-xerce.patch \ | 13 | file://0001-aclocal.m4-don-t-use-full-path-of-with_curl-in-xerce.patch \ |
14 | " | 14 | " |
15 | SRC_URI[sha256sum] = "1db4028c9b7f1f778efbf4a9462d65e13f9938f2c22f9e9994e12c49ba97e252" | 15 | SRC_URI[sha256sum] = "ef752578587e26013a933f16d76305c9b43ca32f869e3d3426986e03efb01d64" |
16 | 16 | ||
17 | inherit autotools | 17 | inherit autotools |
18 | 18 | ||
@@ -29,7 +29,7 @@ PACKAGES = "libxerces-c \ | |||
29 | 29 | ||
30 | RPROVIDES:${PN}-dbg += "libxerces-c-dbg xerces-c-samples-dbg" | 30 | RPROVIDES:${PN}-dbg += "libxerces-c-dbg xerces-c-samples-dbg" |
31 | 31 | ||
32 | FILES:libxerces-c = "${libdir}/libxerces-c-3.2.so" | 32 | FILES:libxerces-c = "${libdir}/libxerces-c-3.3.so" |
33 | FILES:libxerces-c-dev = "${libdir}/lib*.la \ | 33 | FILES:libxerces-c-dev = "${libdir}/lib*.la \ |
34 | ${libdir}/libxerces-c.so \ | 34 | ${libdir}/libxerces-c.so \ |
35 | ${libdir}/pkgconfig/xerces-c.pc \ | 35 | ${libdir}/pkgconfig/xerces-c.pc \ |
diff --git a/meta-oe/recipes-extended/redis/redis-7.2.7/0001-hiredis-use-default-CC-if-it-is-set.patch b/meta-oe/recipes-extended/redis/redis-7.2.8/0001-hiredis-use-default-CC-if-it-is-set.patch index 63bf403412..63bf403412 100644 --- a/meta-oe/recipes-extended/redis/redis-7.2.7/0001-hiredis-use-default-CC-if-it-is-set.patch +++ b/meta-oe/recipes-extended/redis/redis-7.2.8/0001-hiredis-use-default-CC-if-it-is-set.patch | |||
diff --git a/meta-oe/recipes-extended/redis/redis-7.2.7/0002-lua-update-Makefile-to-use-environment-build-setting.patch b/meta-oe/recipes-extended/redis/redis-7.2.8/0002-lua-update-Makefile-to-use-environment-build-setting.patch index 46330f5064..46330f5064 100644 --- a/meta-oe/recipes-extended/redis/redis-7.2.7/0002-lua-update-Makefile-to-use-environment-build-setting.patch +++ b/meta-oe/recipes-extended/redis/redis-7.2.8/0002-lua-update-Makefile-to-use-environment-build-setting.patch | |||
diff --git a/meta-oe/recipes-extended/redis/redis-7.2.7/0003-hack-to-force-use-of-libc-malloc.patch b/meta-oe/recipes-extended/redis/redis-7.2.8/0003-hack-to-force-use-of-libc-malloc.patch index 1f97f9783d..1f97f9783d 100644 --- a/meta-oe/recipes-extended/redis/redis-7.2.7/0003-hack-to-force-use-of-libc-malloc.patch +++ b/meta-oe/recipes-extended/redis/redis-7.2.8/0003-hack-to-force-use-of-libc-malloc.patch | |||
diff --git a/meta-oe/recipes-extended/redis/redis-7.2.7/0004-src-Do-not-reset-FINAL_LIBS.patch b/meta-oe/recipes-extended/redis/redis-7.2.8/0004-src-Do-not-reset-FINAL_LIBS.patch index 974cf5169f..974cf5169f 100644 --- a/meta-oe/recipes-extended/redis/redis-7.2.7/0004-src-Do-not-reset-FINAL_LIBS.patch +++ b/meta-oe/recipes-extended/redis/redis-7.2.8/0004-src-Do-not-reset-FINAL_LIBS.patch | |||
diff --git a/meta-oe/recipes-extended/redis/redis-7.2.7/0005-Define-_GNU_SOURCE-to-get-PTHREAD_MUTEX_INITIALIZER.patch b/meta-oe/recipes-extended/redis/redis-7.2.8/0005-Define-_GNU_SOURCE-to-get-PTHREAD_MUTEX_INITIALIZER.patch index 8e5f30993b..8e5f30993b 100644 --- a/meta-oe/recipes-extended/redis/redis-7.2.7/0005-Define-_GNU_SOURCE-to-get-PTHREAD_MUTEX_INITIALIZER.patch +++ b/meta-oe/recipes-extended/redis/redis-7.2.8/0005-Define-_GNU_SOURCE-to-get-PTHREAD_MUTEX_INITIALIZER.patch | |||
diff --git a/meta-oe/recipes-extended/redis/redis-7.2.7/0006-Define-correct-gregs-for-RISCV32.patch b/meta-oe/recipes-extended/redis/redis-7.2.8/0006-Define-correct-gregs-for-RISCV32.patch index 7009048171..7009048171 100644 --- a/meta-oe/recipes-extended/redis/redis-7.2.7/0006-Define-correct-gregs-for-RISCV32.patch +++ b/meta-oe/recipes-extended/redis/redis-7.2.8/0006-Define-correct-gregs-for-RISCV32.patch | |||
diff --git a/meta-oe/recipes-extended/redis/redis-7.2.7/init-redis-server b/meta-oe/recipes-extended/redis/redis-7.2.8/init-redis-server index c5f335f57d..c5f335f57d 100644 --- a/meta-oe/recipes-extended/redis/redis-7.2.7/init-redis-server +++ b/meta-oe/recipes-extended/redis/redis-7.2.8/init-redis-server | |||
diff --git a/meta-oe/recipes-extended/redis/redis-7.2.7/redis.conf b/meta-oe/recipes-extended/redis/redis-7.2.8/redis.conf index 75037d6dc8..75037d6dc8 100644 --- a/meta-oe/recipes-extended/redis/redis-7.2.7/redis.conf +++ b/meta-oe/recipes-extended/redis/redis-7.2.8/redis.conf | |||
diff --git a/meta-oe/recipes-extended/redis/redis-7.2.7/redis.service b/meta-oe/recipes-extended/redis/redis-7.2.8/redis.service index b7791d0df4..b7791d0df4 100644 --- a/meta-oe/recipes-extended/redis/redis-7.2.7/redis.service +++ b/meta-oe/recipes-extended/redis/redis-7.2.8/redis.service | |||
diff --git a/meta-oe/recipes-extended/redis/redis_7.2.7.bb b/meta-oe/recipes-extended/redis/redis_7.2.8.bb index c688e92cca..3c4d84085b 100644 --- a/meta-oe/recipes-extended/redis/redis_7.2.7.bb +++ b/meta-oe/recipes-extended/redis/redis_7.2.8.bb | |||
@@ -18,7 +18,7 @@ SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \ | |||
18 | file://0006-Define-correct-gregs-for-RISCV32.patch \ | 18 | file://0006-Define-correct-gregs-for-RISCV32.patch \ |
19 | " | 19 | " |
20 | 20 | ||
21 | SRC_URI[sha256sum] = "72c081e3b8cfae7144273d26d76736f08319000af46c01515cad5d29765cead5" | 21 | SRC_URI[sha256sum] = "6be4fdfcdb2e5ac91454438246d00842d2671f792673390e742dfcaf1bf01574" |
22 | 22 | ||
23 | RPROVIDES:${PN} = "virtual-redis" | 23 | RPROVIDES:${PN} = "virtual-redis" |
24 | 24 | ||
diff --git a/meta-oe/recipes-support/pcp/pcp/fix_parallel_make.patch b/meta-oe/recipes-support/pcp/pcp/fix_parallel_make.patch index 9cb649a594..7bc045949b 100644 --- a/meta-oe/recipes-support/pcp/pcp/fix_parallel_make.patch +++ b/meta-oe/recipes-support/pcp/pcp/fix_parallel_make.patch | |||
@@ -1,13 +1,113 @@ | |||
1 | Upstream-Status: Pending | 1 | From 92add24ccfc7e643349a1c091957595ce25a9915 Mon Sep 17 00:00:00 2001 |
2 | From: Yoann Congal <yoann.congal@smile.fr> | ||
3 | Date: Tue, 27 May 2025 08:45:36 +0200 | ||
4 | Subject: [PATCH] QA: cleanup localconfig.h build dependencies | ||
2 | 5 | ||
6 | Some QA binaries include localconfig.h but there is no explicit dependencies | ||
7 | between the binary build and the localconfig.h generation. | ||
8 | On heavily loaded systems, this can result in the binary being built | ||
9 | before localconf.h and a compilation error, e.g: | ||
10 | | username.c:8:10: fatal error: localconfig.h: No such file or directory | ||
11 | | 8 | #include "localconfig.h" | ||
12 | | | ^~~~~~~~~~~~~~~ | ||
13 | | compilation terminated. | ||
14 | |||
15 | This can be reproduced by adding "sleep 30" at the start of the | ||
16 | localconfig.h generation rule. | ||
17 | |||
18 | Fix this by adding the missing Makefile rule dependency between the | ||
19 | binary (or its pre-link .o) and localconfig.h. | ||
20 | |||
21 | Also remove an un-needed scale.o->localconfig.h dependency. | ||
22 | |||
23 | Upstream-Status: Backport [https://github.com/performancecopilot/pcp/commit/8de7bbb06703f224b72fe0994acde3189b742fd2] | ||
24 | Signed-off-by: Yoann Congal <yoann.congal@smile.fr> | ||
25 | --- | ||
26 | qa/src/GNUlocaldefs | 22 +++++++++++----------- | ||
27 | 1 file changed, 11 insertions(+), 11 deletions(-) | ||
28 | |||
29 | diff --git a/qa/src/GNUlocaldefs b/qa/src/GNUlocaldefs | ||
30 | index f83826068..e47fbfd72 100644 | ||
3 | --- a/qa/src/GNUlocaldefs | 31 | --- a/qa/src/GNUlocaldefs |
4 | +++ b/qa/src/GNUlocaldefs | 32 | +++ b/qa/src/GNUlocaldefs |
5 | @@ -728,7 +728,7 @@ scale.o: localconfig.h | 33 | @@ -299,7 +299,7 @@ diowr: diowr.c |
34 | rm -f $@ | ||
35 | $(CCF) $(CDEFS) -o $@ diowr.c | ||
36 | |||
37 | -endian: endian.c | ||
38 | +endian: endian.c localconfig.h | ||
39 | rm -f $@ | ||
40 | $(CCF) $(CDEFS) -o $@ endian.c | ||
41 | |||
42 | @@ -331,15 +331,15 @@ exercise: exercise.c | ||
43 | rm -f $@ | ||
44 | $(CCF) $(CDEFS) -o $@ exercise.c $(LDLIBS) | ||
45 | |||
46 | -chkacc1: chkacc1.c | ||
47 | +chkacc1: chkacc1.c localconfig.h | ||
48 | rm -f $@ | ||
49 | $(CCF) $(CDEFS) -o $@ chkacc1.c $(LDLIBS) | ||
50 | |||
51 | -chkacc2: chkacc2.c | ||
52 | +chkacc2: chkacc2.c localconfig.h | ||
53 | rm -f $@ | ||
54 | $(CCF) $(CDEFS) -o $@ chkacc2.c $(LDLIBS) | ||
55 | |||
56 | -chkacc3: chkacc3.c | ||
57 | +chkacc3: chkacc3.c localconfig.h | ||
58 | rm -f $@ | ||
59 | $(CCF) $(CDEFS) -o $@ chkacc3.c $(LDLIBS) | ||
60 | |||
61 | @@ -489,7 +489,7 @@ pmdashutdown: pmdashutdown.c | ||
62 | rm -f $@ | ||
63 | $(CCF) $(CDEFS) -o $@ $@.c $(LDLIBS) -lpcp_pmda | ||
64 | |||
65 | -dumb_pmda: dumb_pmda.c | ||
66 | +dumb_pmda: dumb_pmda.c localconfig.h | ||
67 | $(CCF) $(LCDEFS) $(LCOPTS) -o $@ $@.c $(LDLIBS) -lpcp_pmda | ||
68 | |||
69 | pmdacache: pmdacache.c | ||
70 | @@ -633,7 +633,7 @@ else | ||
71 | $(CCF) $(CDEFS) -o $@ $@.c $(LIB_FOR_PTHREADS) $(LDLIBS) | ||
72 | endif | ||
73 | |||
74 | -multithread2: multithread2.c | ||
75 | +multithread2: multithread2.c localconfig.h | ||
76 | rm -f $@ | ||
77 | $(CCF) $(CDEFS) -o $@ $@.c $(LIB_FOR_PTHREADS) $(LDLIBS) | ||
78 | |||
79 | @@ -786,7 +786,6 @@ $(NVIDIAQALIB): nvidia-ml.o | ||
80 | endif | ||
81 | |||
82 | arch_maxfd.o: localconfig.h | ||
83 | -scale.o: localconfig.h | ||
84 | |||
6 | 779246.o: libpcp.h | 85 | 779246.o: libpcp.h |
7 | aggrstore.o: libpcp.h | 86 | aggrstore.o: libpcp.h |
8 | badmmv.o: libpcp.h | 87 | @@ -847,14 +846,14 @@ multithread14.o: libpcp.h |
9 | -chkacc1.o: libpcp.h | 88 | nameall.o: libpcp.h |
10 | +chkacc1.o: libpcp.h localconfig.h | 89 | parsehostattrs.o: libpcp.h |
11 | chkacc2.o: libpcp.h | 90 | parsehostspec.o: libpcp.h |
12 | chkacc3.o: libpcp.h | 91 | -pdubufbounds.o: libpcp.h |
13 | chkacc4.o: libpcp.h | 92 | -pducheck.o: libpcp.h |
93 | +pdubufbounds.o: libpcp.h localconfig.h | ||
94 | +pducheck.o: libpcp.h localconfig.h | ||
95 | pducrash.o: libpcp.h | ||
96 | -pdu-server.o: libpcp.h | ||
97 | +pdu-server.o: libpcp.h localconfig.h | ||
98 | pmcdgone.o: libpcp.h | ||
99 | pmlcmacro.o: libpcp.h | ||
100 | pmnsinarchives.o: libpcp.h | ||
101 | -pmnsunload.o: libpcp.h | ||
102 | +pmnsunload.o: libpcp.h localconfig.h | ||
103 | proc_test.o: libpcp.h | ||
104 | qa_libpcp_compat.o: libpcp.h | ||
105 | qa_timezone.o: libpcp.h | ||
106 | @@ -874,6 +873,7 @@ torture_pmns.o: libpcp.h | ||
107 | tztest.o: libpcp.h | ||
108 | unpack.o: libpcp.h | ||
109 | unpickargs.o: libpcp.h | ||
110 | +username.o: localconfig.h | ||
111 | xarch.o: libpcp.h | ||
112 | xlog.o: libpcp.h | ||
113 | xmktime.o: libpcp.h | ||
diff --git a/meta-oe/recipes-support/xmlstarlet/files/0001-Define-ATTRIBUTE_UNUSED-if-its-not-defined.patch b/meta-oe/recipes-support/xmlstarlet/files/0001-Define-ATTRIBUTE_UNUSED-if-its-not-defined.patch new file mode 100644 index 0000000000..1468559e7f --- /dev/null +++ b/meta-oe/recipes-support/xmlstarlet/files/0001-Define-ATTRIBUTE_UNUSED-if-its-not-defined.patch | |||
@@ -0,0 +1,37 @@ | |||
1 | From 4e94034e9231f5d8312497b7504f21b7a6062bf4 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Tue, 27 May 2025 16:12:01 -0700 | ||
4 | Subject: [PATCH] Define ATTRIBUTE_UNUSED if its not defined | ||
5 | |||
6 | ATTRIBUTE_UNUSED is not defined in libxml2 2.14+, so check if the define is | ||
7 | not there then define it. | ||
8 | |||
9 | Fixes build errors e.g. | ||
10 | ../xmlstarlet-1.6.1/src/xml_pyx.c:203:36: error: expected ')' | ||
11 | 203 | pyxExternalSubsetHandler(void *ctx ATTRIBUTE_UNUSED, const xmlChar *name, | ||
12 | | ^ | ||
13 | |||
14 | Upstream-Status: Pending | ||
15 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
16 | --- | ||
17 | src/xml_pyx.c | 7 +++++++ | ||
18 | 1 file changed, 7 insertions(+) | ||
19 | |||
20 | diff --git a/src/xml_pyx.c b/src/xml_pyx.c | ||
21 | index ab295f1..f1a1884 100644 | ||
22 | --- a/src/xml_pyx.c | ||
23 | +++ b/src/xml_pyx.c | ||
24 | @@ -21,6 +21,13 @@ | ||
25 | |||
26 | #include "xmlstar.h" | ||
27 | |||
28 | +/** | ||
29 | + * Unbreak build with libxml2 2.14 | ||
30 | + */ | ||
31 | +#ifndef ATTRIBUTE_UNUSED | ||
32 | +#define ATTRIBUTE_UNUSED __attribute__((unused)) | ||
33 | +#endif | ||
34 | + | ||
35 | /** | ||
36 | * Output newline and tab characters as escapes | ||
37 | * Required both for attribute values and character data (#PCDATA) | ||
diff --git a/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.6.1.bb b/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.6.1.bb index 80fbe537e5..c8cfd884e2 100644 --- a/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.6.1.bb +++ b/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.6.1.bb | |||
@@ -16,7 +16,8 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/xmlstar/${BP}.tar.gz \ | |||
16 | file://configure.ac.patch \ | 16 | file://configure.ac.patch \ |
17 | file://0001-usage2c.awk-fix-wrong-basename-regexp.patch \ | 17 | file://0001-usage2c.awk-fix-wrong-basename-regexp.patch \ |
18 | file://0001-Make-xmlError-struct-constant.patch \ | 18 | file://0001-Make-xmlError-struct-constant.patch \ |
19 | file://0001-Fix-hash_key_put-signature.patch" | 19 | file://0001-Fix-hash_key_put-signature.patch \ |
20 | file://0001-Define-ATTRIBUTE_UNUSED-if-its-not-defined.patch" | ||
20 | SRC_URI[sha256sum] = "15d838c4f3375332fd95554619179b69e4ec91418a3a5296e7c631b7ed19e7ca" | 21 | SRC_URI[sha256sum] = "15d838c4f3375332fd95554619179b69e4ec91418a3a5296e7c631b7ed19e7ca" |
21 | 22 | ||
22 | inherit autotools | 23 | inherit autotools |