public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/freeradius] rawhide: Add patch to fix OpenSSL 4.0 compatibility
@ 2026-06-12 19:24
0 siblings, 0 replies; only message in thread
From: @ 2026-06-12 19:24 UTC (permalink / raw)
To: git-commits
A new commit has been pushed.
Repo : rpms/freeradius
Branch : rawhide
Commit : 961300601bbd40fdf41d05059eb5ecd535eb9136
Author : Pavol Žáčik <pzacik@redhat.com>
Date : 2026-06-12T15:23:41-04:00
Stats : +81/-1 in 2 file(s)
URL : https://src.fedoraproject.org/rpms/freeradius/c/961300601bbd40fdf41d05059eb5ecd535eb9136?branch=rawhide
Log:
Add patch to fix OpenSSL 4.0 compatibility
---
diff --git a/freeradius-openssl4.patch b/freeradius-openssl4.patch
new file mode 100644
index 0000000..d7891cc
--- /dev/null
+++ b/freeradius-openssl4.patch
@@ -0,0 +1,75 @@
+From 78bf93455b83040e0d858d7969013c58f1300f96 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Pavol=20=C5=BD=C3=A1=C4=8Dik?= <pzacik@redhat.com>
+Date: Mon, 4 May 2026 11:01:39 +0200
+Subject: [PATCH] Fix OpenSSL 4.0 compatibility
+
+Use ASN1_STRING accessor functions instead of direct field access
+for ASN1_IA5STRING, ASN1_INTEGER, and ASN1_TIME structures.
+---
+ src/main/tls.c | 26 ++++++++++++++++----------
+ 1 file changed, 16 insertions(+), 10 deletions(-)
+
+diff --git a/src/main/tls.c b/src/main/tls.c
+index ba26798..ceb2bc8 100644
+--- a/src/main/tls.c
++++ b/src/main/tls.c
+@@ -2537,7 +2537,7 @@ static int ocsp_parse_cert_url(X509 *cert, char **host_out, char **port_out,
+ if (OBJ_obj2nid(ad->method) != NID_ad_OCSP) continue;
+ if (ad->location->type != GEN_URI) continue;
+
+- if (OCSP_parse_url((char *) ad->location->d.ia5->data, host_out,
++ if (OCSP_parse_url((char *) ASN1_STRING_get0_data(ad->location->d.ia5), host_out,
+ port_out, path_out, is_https)) {
+ ret = 1;
+ break;
+@@ -3019,12 +3019,14 @@ int cbtls_verify(int ok, X509_STORE_CTX *ctx)
+ * we're at the client or issuing certificate.
+ */
+ if (certs &&
+- (lookup <= 1) && sn && ((size_t) sn->length < (sizeof(buf) / 2))) {
++ (lookup <= 1) && sn && ((size_t) ASN1_STRING_length(sn) < (sizeof(buf) / 2))) {
+ char *p = buf;
+ int i;
++ int sn_len = ASN1_STRING_length(sn);
++ const unsigned char *sn_data = ASN1_STRING_get0_data(sn);
+
+- for (i = 0; i < sn->length; i++) {
+- sprintf(p, "%02x", (unsigned int)sn->data[i]);
++ for (i = 0; i < sn_len; i++) {
++ sprintf(p, "%02x", (unsigned int)sn_data[i]);
+ p += 2;
+ }
+ vp = fr_pair_make(talloc_ctx, certs, cert_attr_names[FR_TLS_SERIAL][lookup], buf, T_OP_SET);
+@@ -3037,9 +3039,11 @@ int cbtls_verify(int ok, X509_STORE_CTX *ctx)
+ buf[0] = '\0';
+ asn_time = X509_get_notAfter(client_cert);
+ if (certs && (lookup <= 1) && asn_time &&
+- (asn_time->length < (int) sizeof(buf))) {
+- memcpy(buf, (char*) asn_time->data, asn_time->length);
+- buf[asn_time->length] = '\0';
++ (ASN1_STRING_length(asn_time) < (int) sizeof(buf))) {
++ int time_len = ASN1_STRING_length(asn_time);
++ const unsigned char *time_data = ASN1_STRING_get0_data(asn_time);
++ memcpy(buf, (char*) time_data, time_len);
++ buf[time_len] = '\0';
+ vp = fr_pair_make(talloc_ctx, certs, cert_attr_names[FR_TLS_EXPIRATION][lookup], buf, T_OP_SET);
+ rdebug_pair(L_DBG_LVL_2, request, vp, NULL);
+ }
+@@ -3050,9 +3054,11 @@ int cbtls_verify(int ok, X509_STORE_CTX *ctx)
+ buf[0] = '\0';
+ asn_time = X509_get_notBefore(client_cert);
+ if (certs && (lookup <= 1) && asn_time &&
+- (asn_time->length < (int) sizeof(buf))) {
+- memcpy(buf, (char*) asn_time->data, asn_time->length);
+- buf[asn_time->length] = '\0';
++ (ASN1_STRING_length(asn_time) < (int) sizeof(buf))) {
++ int time_len = ASN1_STRING_length(asn_time);
++ const unsigned char *time_data = ASN1_STRING_get0_data(asn_time);
++ memcpy(buf, (char*) time_data, time_len);
++ buf[time_len] = '\0';
+ vp = fr_pair_make(talloc_ctx, certs, cert_attr_names[FR_TLS_VALID_SINCE][lookup], buf, T_OP_SET);
+ rdebug_pair(L_DBG_LVL_2, request, vp, NULL);
+ }
+--
+2.53.0
+
diff --git a/freeradius.spec b/freeradius.spec
index a69cf2f..a50a29d 100644
--- a/freeradius.spec
+++ b/freeradius.spec
@@ -1,7 +1,7 @@
Summary: High-performance and highly configurable free RADIUS server
Name: freeradius
Version: 3.2.8
-Release: 4%{?dist}
+Release: 5%{?dist}
License: GPL-2.0-or-later AND LGPL-2.0-or-later
URL: http://www.freeradius.org/
@@ -31,6 +31,7 @@ Patch7: freeradius-ease-openssl-version-check.patch
Patch8: freeradius-configure-c99.patch
Patch9: freeradius-openssl-no-engine.patch
Patch10: freeradius-no-sqlippool-tool.patch
+Patch11: freeradius-openssl4.patch
%global docdir %{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}}
@@ -228,6 +229,7 @@ This plugin provides Kafka producer support for the FreeRADIUS server project.
%patch -P8 -p1
%patch -P9 -p1
%patch -P10 -p1
+%patch -P11 -p1
%build
# Force compile/link options, extra security for network facing daemon
@@ -931,6 +933,9 @@ fi
%attr(640,root,radiusd) %config(noreplace) /etc/raddb/mods-config/kafka/messages-json.conf
%changelog
+* Fri June 12 2026 Pavol Žáčik <pzacik@redhat.com> - 3.2.8-5
+- Fix OpenSSL 4.0 compatibility
+
* Wed Jun 03 2026 Python Maint <python-maint@redhat.com> - 3.2.8-4
- Rebuilt for Python 3.15
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-06-12 19:24 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-12 19:24 [rpms/freeradius] rawhide: Add patch to fix OpenSSL 4.0 compatibility
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox