#1137563 boxbackup: FTBFS with openssl 4.0

Package:
boxbackup
Source:
boxbackup
Submitter:
Sebastian Andrzej Siewior
Date:
2026-06-26 15:31:02 UTC
Severity:
normal
Tags:
#1137563#5
Date:
2026-05-25 07:12:24 UTC
From:
To:
OpenSSL 4.0 is in experimental. This package fails to build against it:

| g++ -Wdate-time -D_FORTIFY_SOURCE=2  -g -ffile-prefix-map=/build/reproducible-path/boxbackup-0.13~~git20231028.g3dd5194+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection  -Wall -Werror=return-type -Werror=delete-non-virtual-dtor -Werror=delete-incomplete -Wno-deprecated-declarations -DBOX_VERSION="\"0.13~~git20231028.g3dd5194+ds-5\"" -DBOX_RELEASE_BUILD -O2 -Iqdbm -Ilib/crypto -Ilib/common -Ilib/win32 -DBOX_MODULE="\"lib/server\"" -c lib/server/SocketStreamTLS.cpp -o release/lib/server/SocketStreamTLS.o
| lib/server/SocketStreamTLS.cpp: In member function ‘void SocketStreamTLS::Handshake(const TLSContext&, bool)’:
| lib/server/SocketStreamTLS.cpp:211:29: warning: unused variable ‘err_reason’ [-Wunused-variable]
|   211 |                         int err_reason = ERR_GET_REASON(ERR_peek_error());
|       |                             ^~~~~~~~~~
| lib/server/SocketStreamTLS.cpp: In member function ‘std::string SocketStreamTLS::GetPeerCommonName()’:
| lib/server/SocketStreamTLS.cpp:472:53: error: invalid conversion from ‘const X509_NAME*’ {aka ‘const X509_name_st*’} to ‘X509_NAME*’ {aka ‘X509_name_st*’} [-fpermissive]
|   472 |         X509_NAME *subject = ::X509_get_subject_name(cert);
|       |                              ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
|       |                                                     |
|       |                                                     const X509_NAME* {aka const X509_name_st*}
| make[2]: *** [Makefile:706: release/lib/server/SocketStreamTLS.o] Error 1

Full buildlog
https://breakpoint.cc/openssl-rebuild/logs-4/attempted/boxbackup_0.13~~git20231028.g3dd5194+ds-5_amd64-2026-04-19T10:24:24Z

Sebastian

#1137563#12
Date:
2026-06-26 15:27:50 UTC
From:
To:
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