aboutsummaryrefslogtreecommitdiffstats
path: root/src/libserver
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2019-07-08 17:41:31 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2019-07-08 17:41:31 +0100
commit9026da71bb262886a275a3e24b1db51ab3395240 (patch)
tree6050f1a73472b3251b9fd18db7e8c96a7cca276c /src/libserver
parentc271eb36656a4ff88a9c8c1d59934949260275a3 (diff)
downloadrspamd-9026da71bb262886a275a3e24b1db51ab3395240.tar.gz
rspamd-9026da71bb262886a275a3e24b1db51ab3395240.zip
[Rework] Use libsodium instead of hand crafted crypto implementations
Diffstat (limited to 'src/libserver')
-rw-r--r--src/libserver/dkim.c3
-rw-r--r--src/libserver/re_cache.c7
2 files changed, 6 insertions, 4 deletions
diff --git a/src/libserver/dkim.c b/src/libserver/dkim.c
index 2f1bef701..9386c5cdc 100644
--- a/src/libserver/dkim.c
+++ b/src/libserver/dkim.c
@@ -21,7 +21,6 @@
#include "utlist.h"
#include "unix-std.h"
#include "mempool_vars_internal.h"
-#include "libcryptobox/ed25519/ed25519.h"
#include <openssl/evp.h>
#include <openssl/rsa.h>
@@ -2763,7 +2762,7 @@ rspamd_dkim_sign_key_load (const gchar *key, gsize len,
nkey->type = RSPAMD_DKIM_KEY_EDDSA;
nkey->key.key_eddsa = g_malloc (
rspamd_cryptobox_sk_sig_bytes (RSPAMD_CRYPTOBOX_MODE_25519));
- ed25519_seed_keypair (pk, nkey->key.key_eddsa, (char *) key);
+ crypto_sign_ed25519_seed_keypair (pk, nkey->key.key_eddsa, key);
nkey->keylen = rspamd_cryptobox_sk_sig_bytes (RSPAMD_CRYPTOBOX_MODE_25519);
}
else {
diff --git a/src/libserver/re_cache.c b/src/libserver/re_cache.c
index 9e0d55485..5377e77ae 100644
--- a/src/libserver/re_cache.c
+++ b/src/libserver/re_cache.c
@@ -31,6 +31,7 @@
#include "hs.h"
#include "unix-std.h"
#include <signal.h>
+#include <stdalign.h>
#ifndef WITH_PCRE2
#include <pcre.h>
@@ -385,7 +386,9 @@ rspamd_re_cache_init (struct rspamd_re_cache *cache, struct rspamd_config *cfg)
rspamd_regexp_set_cache_id (re, i);
if (re_class->st == NULL) {
- re_class->st = g_malloc (sizeof (*re_class->st));
+ posix_memalign ((void **)&re_class->st, alignof (rspamd_cryptobox_hash_state_t),
+ sizeof (*re_class->st));
+ g_assert (re_class->st != NULL);
rspamd_cryptobox_hash_init (re_class->st, NULL, 0);
}
@@ -447,7 +450,7 @@ rspamd_re_cache_init (struct rspamd_re_cache *cache, struct rspamd_config *cfg)
rspamd_cryptobox_hash_final (re_class->st, hash_out);
rspamd_snprintf (re_class->hash, sizeof (re_class->hash), "%*xs",
(gint) rspamd_cryptobox_HASHBYTES, hash_out);
- g_free (re_class->st);
+ free (re_class->st); /* Due to posix_memalign */
re_class->st = NULL;
}
}