Dear boxbackup maintainers,

I have created a single-line patch which allows boxbackup to build with
both OpenSSL 3.x[1] and OpenSSL 4.0[2].

OpenSSL 4.0 changes X509_get_subject_name() to return a `const X509_NAME
*`. This patch ensures that value gets stored in a const pointer to allow
this package to build with OpenSSL 4.0.

Since the only consumer of this value, X509_NAME_get_text_by_NID(), accepts
a const pointer in both OpenSSL 3.x and 4.0, this allows boxbackup to be
built against both OpenSSL versions.

Best wishes,
Max Gilmour

[1]:
https://launchpad.net/~maxgmr/+archive/ubuntu/plusone/+sourcepub/18494082/+listing-archive-extra
[2]:
https://launchpad.net/~maxgmr/+archive/ubuntu/openssl4-transition/+sourcepub/18494084/+listing-archive-extra
Description: Store X509_get_subject_name() in const for OpenSSL 4.0 compat
 OpenSSL 4.0 changes X509_get_subject_name() to return a
 `const X509_NAME *`. This patch ensures that value gets stored in a
 const pointer to allow this package to build with OpenSSL 4.0.
 .
 Since the only consumer of this value, X509_NAME_get_text_by_NID(),
 accepts a const pointer in both OpenSSL 3.x and 4.0, this allows
 boxbackup to be built against both OpenSSL versions.
Author: Max Gilmour <[email protected]>
Bug: https://github.com/boxbackup/boxbackup/issues/129
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1137563
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/boxbackup/+bug/2154833
Last-Update: 2026-06-25
---
--- a/lib/server/SocketStreamTLS.cpp
+++ b/lib/server/SocketStreamTLS.cpp
@@ -469,7 +469,7 @@
 	}
 
 	// Subject details
-	X509_NAME *subject = ::X509_get_subject_name(cert);
+	const X509_NAME *subject = ::X509_get_subject_name(cert);
 	if(subject == 0)
 	{
 		::X509_free(cert);

Reply via email to