[vz-dev] FYI: vzlogger vs. OpenSSL 3.0.5: HMAC_CTX_new is deprecated

Jens Scheidtmann jens.scheidtmann at gmail.com
Mi Dez 14 09:19:50 CET 2022


Liebe Entwickler,

bei dem Versuch vzlogger auf einem Raspi 3B mit Ubuntu zu kompilieren,
stoße ich auf folgende Fehlermeldung:

cd /home/vz/vzlogger/build/src/api && /usr/bin/c++ -DHAVE_CONFIG_HPP
-I/home/vz/vzlogger/build -I/home/vz/vzlogger/include -I/home/vz/vzlogger
-W -Wall -Wextra -Werror -Wnon-virtual-dtor -Wno-system-headers -Winit-self
-Wmissing-include-dirs -Wno-pragmas -Wredundant-decls -Wno-unused-parameter
-std=c++11 -fpermissive -Wno-error=redundant-decls -Wno-ignored-qualifiers
  -g3 -MD -MT src/api/CMakeFiles/vz-api.dir/MySmartGrid.cpp.o -MF
CMakeFiles/vz-api.dir/MySmartGrid.cpp.o.d -o
CMakeFiles/vz-api.dir/MySmartGrid.cpp.o -c
/home/vz/vzlogger/src/api/MySmartGrid.cpp
/home/vz/vzlogger/src/api/MySmartGrid.cpp: In member function ‘void
vz::api::MySmartGrid::hmac_sha1(char*, const unsigned char*, size_t)’:
/home/vz/vzlogger/src/api/MySmartGrid.cpp:559:45: error: ‘HMAC_CTX*
HMAC_CTX_new()’ is deprecated: Since OpenSSL 3.0
[-Werror=deprecated-declarations]
  559 |         HMAC_CTX *hmacContext = HMAC_CTX_new();
      |                                 ~~~~~~~~~~~~^~
In file included from /home/vz/vzlogger/src/api/MySmartGrid.cpp:34:
/usr/include/openssl/hmac.h:33:33: note: declared here
   33 | OSSL_DEPRECATEDIN_3_0 HMAC_CTX *HMAC_CTX_new(void);
      |                                 ^~~~~~~~~~~~
/home/vz/vzlogger/src/api/MySmartGrid.cpp:561:21: error: ‘int
HMAC_Init_ex(HMAC_CTX*, const void*, int, const EVP_MD*, ENGINE*)’ is
deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations]
  561 |         HMAC_Init_ex(hmacContext, secretKey(), strlen(secretKey()),
EVP_sha1(), NULL);


Systeminfo:
$ uname -a
Linux ubuntu 5.19.0-1009-raspi #16-Ubuntu SMP PREEMPT Thu Nov 24 13:40:29
UTC 2022 armv7l armv7l armv7l GNU/Linux

ubuntu at ubuntu:~$ dpkg -l openssl
Gewünscht=Unbekannt/Installieren/R=Entfernen/P=Vollständig Löschen/Halten
| Status=Nicht/Installiert/Config/U=Entpackt/halb konFiguriert/
         Halb installiert/Trigger erWartet/Trigger anhängig
|/ Fehler?=(kein)/R=Neuinstallation notwendig (Status, Fehler:
GROSS=schlecht)
||/ Name           Version        Architektur  Beschreibung
+++-==============-==============-============-====================================================
ii  openssl        3.0.5-2ubuntu2 armhf        Secure Sockets Layer toolkit
- cryptographic utility


Da ich kein MySmartGrid nutze, habe ich die entsprechenden Stellen im
Sourcecode einfach auskommentiert, siehe angehängter Patch. Vzlogger
kompiliert dann durch und ich kann es für meine vzlogger.conf nutzen

Have fun, Jens
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-dev/attachments/20221214/c6c525a7/attachment.html>
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : openssl.patch
Dateityp    : application/octet-stream
Dateigröße  : 1693 bytes
Beschreibung: nicht verfügbar
URL         : <http://demo.volkszaehler.org/pipermail/volkszaehler-dev/attachments/20221214/c6c525a7/attachment.obj>


Mehr Informationen über die Mailingliste volkszaehler-dev