From de1bada43dd2562218536dba660d57f5d966a6e3 Mon Sep 17 00:00:00 2001 From: Oliver Urbann Date: Thu, 20 May 2021 10:34:43 +0200 Subject: [PATCH] AmigaOS: add functions definitions for SHA256 AmiSSL replaces many functions with macros. Curl requires pointer to some of these functions. Thus, we have to encapsulate these macros: SHA256_Init, SHA256_Update, SHA256_Final, X509_INFO_free. Bug: https://github.com/jens-maus/amissl/issues/15 --- lib/amigaos.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/lib/amigaos.c b/lib/amigaos.c index d3b00d9083e90a..b6c42136126864 100644 --- a/lib/amigaos.c +++ b/lib/amigaos.c @@ -90,6 +90,33 @@ void Curl_amiga_X509_free(X509 *a) { X509_free(a); } + +/* AmiSSL replaces many functions with macros. Curl requires pointer + * to some of these functions. Thus, we have to encapsulate these macros. + */ + +#include "warnless.h" + +int (SHA256_Init)(SHA256_CTX *c) +{ + return SHA256_Init(c); +}; + +int (SHA256_Update)(SHA256_CTX *c, const void *data, size_t len) +{ + return SHA256_Update(c, data, curlx_uztoui(len)); +}; + +int (SHA256_Final)(unsigned char *md, SHA256_CTX *c) +{ + return SHA256_Final(md, c); +}; + +void (X509_INFO_free)(X509_INFO *a) +{ + X509_INFO_free(a); +}; + #endif /* USE_AMISSL */ #endif /* __AMIGA__ */