manio / vdr-plugin-dvbapi

VDR dvbapi plugin for use with OSCam
http://www.streamboard.tv/wbb2/thread.php?threadid=40060
GNU General Public License v2.0
58 stars 25 forks source link

Buildwarnings with ubuntu 22.04 jammy #145

Open MegaV0lt opened 1 year ago

MegaV0lt commented 1 year ago

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
manio commented 1 year ago

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.

ua0lnj commented 1 year ago

I saw it, I'll do it somehow.