]> git.ipfire.org Git - thirdparty/shairport-sync.git/commitdiff
Fix some openssl 3.0 deprecation warnings 1684/head
authorChristian König <ckoenig@posteo.de>
Wed, 7 Jun 2023 21:32:24 +0000 (23:32 +0200)
committerChristian König <ckoenig@posteo.de>
Thu, 8 Jun 2023 12:05:04 +0000 (14:05 +0200)
Signed-off-by: Christian König <ckoenig@posteo.de>
metadata_hub.c
rtsp.c

index 796e0927d6a34842f34cab24dde4b257b718544e..271760586deb2fb80b994e273614fb03a3a2600c 100644 (file)
@@ -56,7 +56,7 @@
 #endif
 
 #ifdef CONFIG_OPENSSL
-#include <openssl/md5.h>
+#include <openssl/evp.h>
 #endif
 
 struct metadata_bundle metadata_store;
@@ -209,10 +209,14 @@ char *metadata_write_image_file(const char *buf, int len) {
     // uint8_t ap_md5[16];
 
 #ifdef CONFIG_OPENSSL
-    MD5_CTX ctx;
-    MD5_Init(&ctx);
-    MD5_Update(&ctx, buf, len);
-    MD5_Final(img_md5, &ctx);
+    EVP_MD_CTX *ctx;
+    unsigned int img_md5_len = EVP_MD_size(EVP_md5());
+    
+    ctx = EVP_MD_CTX_new();
+    EVP_DigestInit_ex(ctx, EVP_md5(), NULL);
+    EVP_DigestUpdate(ctx, buf, len);
+    EVP_DigestFinal_ex(ctx, img_md5, &img_md5_len);
+    EVP_MD_CTX_free(ctx);
 #endif
 
 #ifdef CONFIG_MBEDTLS
diff --git a/rtsp.c b/rtsp.c
index 10b48109c70250caa5ea5c378a6bb5438f0a9766..4db9c0b43d026b536f2265543a1a6424dcb9fead 100644 (file)
--- a/rtsp.c
+++ b/rtsp.c
@@ -55,7 +55,7 @@
 #include "config.h"
 
 #ifdef CONFIG_OPENSSL
-#include <openssl/md5.h>
+#include <openssl/evp.h>
 #endif
 
 #ifdef CONFIG_MBEDTLS
@@ -4882,22 +4882,31 @@ static int rtsp_auth(char **nonce, rtsp_message *req, rtsp_message *resp) {
   uint8_t digest_urp[16], digest_mu[16], digest_total[16];
 
 #ifdef CONFIG_OPENSSL
-  MD5_CTX ctx;
-
+  EVP_MD_CTX *ctx;
+  unsigned int digest_urp_len = EVP_MD_size(EVP_md5());
+  unsigned int digest_mu_len = EVP_MD_size(EVP_md5());
   int oldState;
   pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &oldState);
-  MD5_Init(&ctx);
-  MD5_Update(&ctx, username, strlen(username));
-  MD5_Update(&ctx, ":", 1);
-  MD5_Update(&ctx, realm, strlen(realm));
-  MD5_Update(&ctx, ":", 1);
-  MD5_Update(&ctx, config.password, strlen(config.password));
-  MD5_Final(digest_urp, &ctx);
-  MD5_Init(&ctx);
-  MD5_Update(&ctx, req->method, strlen(req->method));
-  MD5_Update(&ctx, ":", 1);
-  MD5_Update(&ctx, uri, strlen(uri));
-  MD5_Final(digest_mu, &ctx);
+  ctx = EVP_MD_CTX_new();
+  EVP_DigestInit_ex(ctx, EVP_md5(), NULL);
+
+  EVP_DigestUpdate(ctx, username, strlen(username));
+  EVP_DigestUpdate(ctx, ":", 1);
+  EVP_DigestUpdate(ctx, realm, strlen(realm));
+  EVP_DigestUpdate(ctx, ":", 1);
+  EVP_DigestUpdate(ctx, config.password, strlen(config.password));
+  EVP_DigestFinal_ex(ctx, digest_urp, &digest_urp_len);
+  EVP_MD_CTX_free(ctx);
+
+  ctx = EVP_MD_CTX_new();
+  EVP_DigestInit_ex(ctx, EVP_md5(), NULL);
+
+  EVP_DigestUpdate(ctx, req->method, strlen(req->method));
+  EVP_DigestUpdate(ctx, ":", 1);
+  EVP_DigestUpdate(ctx, uri, strlen(uri));
+
+  EVP_DigestFinal_ex(ctx, digest_mu, &digest_mu_len);
+  EVP_MD_CTX_free(ctx);
   pthread_setcancelstate(oldState, NULL);
 #endif
 
@@ -4956,15 +4965,20 @@ static int rtsp_auth(char **nonce, rtsp_message *req, rtsp_message *resp) {
 
 #ifdef CONFIG_OPENSSL
   pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &oldState);
-  MD5_Init(&ctx);
-  MD5_Update(&ctx, buf, 32);
-  MD5_Update(&ctx, ":", 1);
-  MD5_Update(&ctx, *nonce, strlen(*nonce));
-  MD5_Update(&ctx, ":", 1);
+  unsigned int digest_total_len = EVP_MD_size(EVP_md5());
+
+  ctx = EVP_MD_CTX_new();
+  EVP_DigestInit_ex(ctx, EVP_md5(), NULL);
+
+  EVP_DigestUpdate(ctx, buf, 32);
+  EVP_DigestUpdate(ctx, ":", 1);
+  EVP_DigestUpdate(ctx, *nonce, strlen(*nonce));
+  EVP_DigestUpdate(ctx, ":", 1);
   for (i = 0; i < 16; i++)
     snprintf((char *)buf + 2 * i, 3, "%02x", digest_mu[i]);
-  MD5_Update(&ctx, buf, 32);
-  MD5_Final(digest_total, &ctx);
+  EVP_DigestUpdate(ctx, buf, 32);
+  EVP_DigestFinal_ex(ctx, digest_total, &digest_total_len);
+  EVP_MD_CTX_free(ctx);
   pthread_setcancelstate(oldState, NULL);
 #endif