vdr-plugin-dvbapi
vdr-plugin-dvbapi copied to clipboard
Buildwarnings with ubuntu 22.04 jammy
When i build with ubuntu 22.04 i get warnings:
darkwing@vdr01:~/src/dvbapi/vdr-dvbapi.git$ sudo make all
CC CAPMT.o
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-d0fb10b"' -DLIBSSL -o CAPMT.o CAPMT.cpp
CC DeCSA.o
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-d0fb10b"' -DLIBSSL -o DeCSA.o DeCSA.cpp
DeCSA.cpp: In function ‘void aes_set_control_words(void*, const unsigned char*, const unsigned char*)’:
DeCSA.cpp:102:22: warning: ‘int AES_set_decrypt_key(const unsigned char*, int, AES_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
102 | AES_set_decrypt_key(ev, 128, &((struct aes_keys_t *) aeskeys)->even);
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from DeCSA.h:35,
from DeCSA.cpp:34:
/usr/include/openssl/aes.h:54:5: note: declared here
54 | int AES_set_decrypt_key(const unsigned char *userKey, const int bits,
| ^~~~~~~~~~~~~~~~~~~
DeCSA.cpp:103:22: warning: ‘int AES_set_decrypt_key(const unsigned char*, int, AES_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
103 | AES_set_decrypt_key(od, 128, &((struct aes_keys_t *) aeskeys)->odd);
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from DeCSA.h:35,
from DeCSA.cpp:34:
/usr/include/openssl/aes.h:54:5: note: declared here
54 | int AES_set_decrypt_key(const unsigned char *userKey, const int bits,
| ^~~~~~~~~~~~~~~~~~~
DeCSA.cpp: In member function ‘bool DeCSA::SetDescrAes(ca_descr_aes_t*, bool)’:
DeCSA.cpp:730:28: warning: ‘int AES_set_decrypt_key(const unsigned char*, int, AES_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
730 | AES_set_decrypt_key(ca_descr_aes->cw, 128, &((struct aes_keys_t *) DeCSAKeyArray[idx].csa_aes_key)->even);
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from DeCSA.h:35,
from DeCSA.cpp:34:
/usr/include/openssl/aes.h:54:5: note: declared here
54 | int AES_set_decrypt_key(const unsigned char *userKey, const int bits,
| ^~~~~~~~~~~~~~~~~~~
DeCSA.cpp:735:28: warning: ‘int AES_set_decrypt_key(const unsigned char*, int, AES_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
735 | AES_set_decrypt_key(ca_descr_aes->cw, 128, &((struct aes_keys_t *) DeCSAKeyArray[idx].csa_aes_key)->odd);
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from DeCSA.h:35,
from DeCSA.cpp:34:
/usr/include/openssl/aes.h:54:5: note: declared here
54 | int AES_set_decrypt_key(const unsigned char *userKey, const int bits,
| ^~~~~~~~~~~~~~~~~~~
DeCSA.cpp: In member function ‘bool DeCSA::SetData(ca_descr_data_t*, bool)’:
DeCSA.cpp:762:28: warning: ‘int AES_set_decrypt_key(const unsigned char*, int, AES_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
762 | AES_set_decrypt_key(ca_descr_data->data, 8 * ca_descr_data->length, &((struct aes_keys_t*) DeCSAKeyArray[idx].csa_aes_key)->even);
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from DeCSA.h:35,
from DeCSA.cpp:34:
/usr/include/openssl/aes.h:54:5: note: declared here
54 | int AES_set_decrypt_key(const unsigned char *userKey, const int bits,
| ^~~~~~~~~~~~~~~~~~~
DeCSA.cpp:764:28: warning: ‘int AES_set_decrypt_key(const unsigned char*, int, AES_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
764 | AES_set_decrypt_key(ca_descr_data->data, 8 * ca_descr_data->length, &((struct aes_keys_t*) DeCSAKeyArray[idx].csa_aes_key)->odd);
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from DeCSA.h:35,
from DeCSA.cpp:34:
/usr/include/openssl/aes.h:54:5: note: declared here
54 | int AES_set_decrypt_key(const unsigned char *userKey, const int bits,
| ^~~~~~~~~~~~~~~~~~~
DeCSA.cpp: In member function ‘bool DeCSAAdapter::Decrypt(DeCSA*, unsigned char*, int, bool)’:
DeCSA.cpp:1092:30: warning: ‘void AES_ecb_encrypt(const unsigned char*, unsigned char*, const AES_KEY*, int)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
1092 | AES_ecb_encrypt(&data[l + j], &data[l + j], &aes_key, AES_DECRYPT);
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from DeCSA.h:35,
from DeCSA.cpp:34:
/usr/include/openssl/aes.h:63:6: note: declared here
63 | void AES_ecb_encrypt(const unsigned char *in, unsigned char *out,
| ^~~~~~~~~~~~~~~
DeCSA.cpp:1109:30: warning: ‘void AES_cbc_encrypt(const unsigned char*, unsigned char*, size_t, const AES_KEY*, unsigned char*, int)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
1109 | AES_cbc_encrypt(&data[l + j], &data[l + j], 16, &aes_key, parent->ivec[currIdx], AES_DECRYPT);
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from DeCSA.h:35,
from DeCSA.cpp:34:
/usr/include/openssl/aes.h:66:6: note: declared here
66 | void AES_cbc_encrypt(const unsigned char *in, unsigned char *out,
| ^~~~~~~~~~~~~~~
DeCSA.cpp:1133:28: warning: ‘void AES_ecb_encrypt(const unsigned char*, unsigned char*, const AES_KEY*, int)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
1133 | AES_ecb_encrypt(&data[l + j], &data[l + j], &aes_key, AES_DECRYPT);
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from DeCSA.h:35,
from DeCSA.cpp:34:
/usr/include/openssl/aes.h:63:6: note: declared here
63 | void AES_ecb_encrypt(const unsigned char *in, unsigned char *out,
| ^~~~~~~~~~~~~~~
CC DVBAPI.o
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-d0fb10b"' -DLIBSSL -o DVBAPI.o DVBAPI.cpp
CC DVBAPISetup.o
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-d0fb10b"' -DLIBSSL -o DVBAPISetup.o DVBAPISetup.cpp
CC SocketHandler.o
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-d0fb10b"' -DLIBSSL -o SocketHandler.o SocketHandler.cpp
CC SCCIAdapter.o
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-d0fb10b"' -DLIBSSL -o SCCIAdapter.o SCCIAdapter.cpp
CC Frame.o
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-d0fb10b"' -DLIBSSL -o Frame.o Frame.cpp
CC SCCAMSlot.o
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-d0fb10b"' -DLIBSSL -o SCCAMSlot.o SCCAMSlot.cpp
CC Filter.o
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-d0fb10b"' -DLIBSSL -o Filter.o Filter.cpp
CC cscrypt/des.o
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DPLUGIN_NAME_I18N='"dvbapi"' -DGITVERSION='"-GIT-d0fb10b"' -DLIBSSL -o cscrypt/des.o cscrypt/des.cpp
CC FFdecsa/FFdecsa.o
make[1]: Verzeichnis „/usr/local/src/dvbapi/vdr-dvbapi.git/FFdecsa“ wird betreten
CC FFdecsa.o
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fexpensive-optimizations -funroll-loops -mmmx -msse -msse2 -msse3 -DPARALLEL_MODE=PARALLEL_128_SSE2 -c FFdecsa.c
CC FFdecsa_test.o
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fexpensive-optimizations -funroll-loops -mmmx -msse -msse2 -msse3 -DPARALLEL_MODE=PARALLEL_128_SSE2 -c FFdecsa_test.c
CC FFdecsa_test
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fexpensive-optimizations -funroll-loops -mmmx -msse -msse2 -msse3 -o FFdecsa_test FFdecsa_test.o FFdecsa.o
FFdecsa 1.0: testing correctness and speed
CORRECT!
CORRECT!
CORRECT!
CORRECT!
CORRECT!
speed=1025.521934 Mbit/s
speed=696686.096468 pkts/s
CORRECT!
CORRECT!
CORRECT!
CORRECT!
CORRECT!
make[1]: Verzeichnis „/usr/local/src/dvbapi/vdr-dvbapi.git/FFdecsa“ wird verlassen
LD libvdr-dvbapi.so
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -shared CAPMT.o DeCSA.o DVBAPI.o DVBAPISetup.o SocketHandler.o SCCIAdapter.o Frame.o SCCAMSlot.o Filter.o cscrypt/des.o FFdecsa/FFdecsa.o -lcrypto -lssl -o libvdr-dvbapi.so
GT po/dvbapi.pot
xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-dvbapi --package-version= --msgid-bugs-address='<see README>' -o po/dvbapi.pot `ls CAPMT.cpp DeCSA.cpp DVBAPI.cpp DVBAPISetup.cpp Filter.cpp Frame.cpp SCCAMSlot.cpp SCCIAdapter.cpp SocketHandler.cpp DVBAPI.h`
PO po/de_DE.po
msgmerge -U --no-wrap --no-location --backup=none -q -N po/de_DE.po po/dvbapi.pot
MO po/de_DE.mo
msgfmt -c -o po/de_DE.mo po/de_DE.po
PO po/et_EE.po
msgmerge -U --no-wrap --no-location --backup=none -q -N po/et_EE.po po/dvbapi.pot
MO po/et_EE.mo
msgfmt -c -o po/et_EE.mo po/et_EE.po
PO po/fi_FI.po
msgmerge -U --no-wrap --no-location --backup=none -q -N po/fi_FI.po po/dvbapi.pot
MO po/fi_FI.mo
msgfmt -c -o po/fi_FI.mo po/fi_FI.po
PO po/lt_LT.po
msgmerge -U --no-wrap --no-location --backup=none -q -N po/lt_LT.po po/dvbapi.pot
MO po/lt_LT.mo
msgfmt -c -o po/lt_LT.mo po/lt_LT.po
It seems that the low level api is now deprecated since OpenSSL3.0. The code needs to be adjusted to use a "high level"/EVP API: https://www.openssl.org/docs/man3.1/man7/migration_guide.html#Low-Level-APIs
I am open to a PR.
I saw it, I'll do it somehow.