OScam - icam for VTI İmages
Versıon: 11.946
UPTADE: 07.04.2026
DOWNLOADChangeset 11946-5d00e7e2
07.04.2026
signing: fix build with OpenSSL 4
* fix -Wdiscarded-qualifiers on X509_get_subject/issuer_name
OpenSSL 4 changed X509_get_subject_name() and X509_get_issuer_name()
to return 'const X509_NAME *', which breaks the call to our local
helper _X509_NAME_oneline_utf8() that still takes a non-const
X509_NAME *:
oscam-signing.c:235:46: warning: passing argument 1 of
'_X509_NAME_oneline_utf8' discards 'const' qualifier from
pointer target type [-Wdiscarded-qualifiers]
Route the result of the X509 getters through a uintptr_t cast to
explicitly drop the const qualifier at the call sites, mirroring the
approach already used for ASN1_STRING_type() in ASN1_TIME_to_posix_time().
This avoids changing the helper's signature, which would require a
more invasive const-correctness pass given that older OpenSSL versions
(including 0.9.x, still supported by this file) declared many X509
APIs as non-const.
* fix ASN1_STRING_type() accessor
In OpenSSL 4 the ASN1_STRING / ASN1_TIME struct became fully opaque,
so struct members can no longer be accessed directly from public
headers. This broke the WITH_SIGNING build:
oscam-signing.c:124:17: error: invalid use of incomplete typedef
'ASN1_TIME' {aka 'const struct asn1_string_st'}
switch(t->type)
The data pointer was already handled via ASN1_STRING_get0_data() for
OpenSSL >= 1.1.0, but t->type was still accessed directly and was
overlooked until OpenSSL 4 removed the last bit of struct visibility.
Replace the direct member access with the ASN1_STRING_type() accessor
function, which has existed since OpenSSL 0.9.x and is therefore
available in all supported versions (1.0, 1.1, 3.x, 4.x) without a
version guard.
Since older OpenSSL versions declare ASN1_STRING_type() as taking a
non-const ASN1_STRING *, the cast is routed through uintptr_t to
explicitly drop the const qualifier of t without triggering
-Wdiscarded-qualifiers (treated as error by the 'ancient' CI build).
uintptr_t is already available via globals.h (stdint.h).
thanks WXbet
PHP Code:oscam-Dark-git11946-802@5d00e7e2-aarch64_generic-webif-dvbapi-ssl-libdvbcsa-emu-ipv6-icam-signed.tar.gz
PHP Code:oscam-Dark-git11946-802@5d00e7e2-armv7_generic-webif-dvbapi-ssl-libdvbcsa-emu-ipv6-icam-neon-signed.tar.gz
PHP Code:oscam-Dark-git11946-802@5d00e7e2-mips32el_generic-webif-dvbapi-ssl-libdvbcsa-emu-ipv6-icam-signed.tar.gz
PHP Code:oscam-git11946-802@5d00e7e2-aarch64_generic-webif-dvbapi-ssl-libdvbcsa-emu-ipv6-icam-signed.tar.gz
PHP Code:oscam-git11946-802@5d00e7e2-armv7_generic-webif-dvbapi-ssl-libdvbcsa-emu-ipv6-icam-neon-signed.tar.gz
PHP Code:oscam-git11946-802@5d00e7e2-mips32el_generic-webif-dvbapi-ssl-libdvbcsa-emu-ipv6-icam-signed.tar.gz
PHP Code:oscam-git11946-802@5d00e7e2-aarch64_generic-webif-dvbapi-ssl-libdvbcsa-emu-ipv6-icam-signed.tar.zip
PHP Code:oscam-git11946-802@5d00e7e2-armv7_generic-webif-dvbapi-ssl-libdvbcsa-emu-ipv6-icam-neon-signed...zip
PHP Code:oscam-git11946-802@5d00e7e2-mips32el_generic-webif-dvbapi-ssl-libdvbcsa-emu-ipv6-icam-signed.tar.zip








Reply With Quote