Compare commits

...

2 commits

Author SHA1 Message Date
LDA
e8543bdb2a [FIX/WIP] Don't include Log. 2024-08-16 18:26:19 +02:00
LDA
3843a8d114 [MOD/WIP] Get SHA to use Open/LibreSSL if present
I still haven't tested on LibreSSL (Debian doesn't seem to actually like
it all that much), but manuals seems to state that they're the same in
that regard. If anyone is up to verify, let me know so that I'm aware
it's safe to merge it.
2024-08-16 18:22:53 +02:00
2 changed files with 44 additions and 1 deletions

View file

@ -28,6 +28,26 @@
#include <limits.h> #include <limits.h>
#if (TLS_IMPL == TLS_OPENSSL) || (TLS_IMPL == TLS_LIBRESSL)
#include <openssl/sha.h>
unsigned char *
Sha1(char *str)
{
unsigned char *digest;
if (!str)
{
return NULL;
}
digest = Malloc(20 + 1);
SHA1((unsigned char *) str, strlen(str), digest);
digest[20] = '\0';
return digest;
}
#else
#define LOAD32H(x, y) \ #define LOAD32H(x, y) \
{ \ { \
x = ((uint32_t)((y)[0] & 255) << 24) | \ x = ((uint32_t)((y)[0] & 255) << 24) | \
@ -264,3 +284,4 @@ Sha1(char *str)
return out; return out;
} }
#endif

View file

@ -21,14 +21,35 @@
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE. * SOFTWARE.
*/ */
#include <Sha.h>
#include <Memory.h> #include <Memory.h>
#include <Sha.h>
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <limits.h> #include <limits.h>
#if (TLS_IMPL == TLS_OPENSSL) || (TLS_IMPL == TLS_LIBRESSL)
#include <openssl/sha.h>
unsigned char *
Sha256(char *str)
{
unsigned char *digest;
if (!str)
{
return NULL;
}
digest = Malloc(32 + 1);
SHA256((unsigned char *) str, strlen(str), digest);
digest[32] = '\0';
return digest;
}
#else
#define GET_UINT32(x) \ #define GET_UINT32(x) \
(((uint32_t)(x)[0] << 24) | \ (((uint32_t)(x)[0] << 24) | \
((uint32_t)(x)[1] << 16) | \ ((uint32_t)(x)[1] << 16) | \
@ -230,3 +251,4 @@ Sha256(char *str)
return out; return out;
} }
#endif