struct fuzzy_key {
struct rspamd_cryptobox_keypair *key;
+ struct rspamd_cryptobox_pubkey *pk;
struct fuzzy_key_stat *stat;
};
if (!rspamd_cryptobox_decrypt_nm_inplace (payload, payload_len, hdr->nonce,
rspamd_pubkey_get_nm (rk),
hdr->mac, RSPAMD_CRYPTOBOX_MODE_25519)) {
- msg_debug ("decryption failed");
+ msg_err ("decryption failed");
rspamd_pubkey_unref (rk);
return FALSE;
NULL);
g_hash_table_insert (ctx->keys, (gpointer)pk, key);
ctx->default_key = key;
- msg_info_pool ("loaded keypair %8xs", pk);
+ msg_info_pool ("loaded keypair %*xs", 8, pk);
}
else if (ucl_object_type (obj) == UCL_ARRAY) {
while ((cur = ucl_iterate_object (obj, &it, true)) != NULL) {
static guint
fuzzy_kp_hash (gconstpointer p)
{
- const guchar *pk = p;
-
- return XXH64 (pk, RSPAMD_FUZZY_KEYLEN, 0xdeadbabe);
+ return *(guint *)p;
}
static gboolean
}
pk = rspamd_cryptobox_pubkey_alloc (type, alg);
+ REF_INIT_RETAIN (pk, rspamd_cryptobox_pubkey_dtor);
pk->alg = alg;
pk->type = type;
pk_data = rspamd_cryptobox_pubkey_pk (pk, &pklen);
}
pk = rspamd_cryptobox_pubkey_alloc (type, alg);
+ REF_INIT_RETAIN (pk, rspamd_cryptobox_pubkey_dtor);
pk->alg = alg;
pk->type = type;
pk_data = rspamd_cryptobox_pubkey_pk (pk, &pklen);
}
pk = rspamd_cryptobox_pubkey_alloc (type, alg);
+ REF_INIT_RETAIN (pk, rspamd_cryptobox_pubkey_dtor);
pk->alg = alg;
pk->type = type;
pk_data = rspamd_cryptobox_pubkey_pk (pk, &pklen);
kp = rspamd_cryptobox_keypair_alloc (type, mode);
kp->type = type;
kp->alg = mode;
+ REF_INIT_RETAIN (kp, rspamd_cryptobox_keypair_dtor);
g_assert (kp != NULL);
target = rspamd_cryptobox_keypair_sk (kp, &len);
rspamd_cryptobox_hash (kp->id, target, len, NULL, 0);
- REF_INIT_RETAIN (kp, rspamd_cryptobox_keypair_dtor);
-
return kp;
}
}
}
+ ucl_object_unref (top);
+
history->cur_row = n;
return TRUE;
efunc = ucl_object_emit_file_funcs (f);
ret = ucl_object_emit_full (top, UCL_EMIT_JSON_COMPACT, efunc);
ucl_object_emit_funcs_free (efunc);
+ ucl_object_unref (top);
fclose (f);
return ret;
g_hash_table_insert (m->symbols, item->symbol, s);
mlist = g_hash_table_lookup (cache->cfg->metrics_symbols,
item->symbol);
- mlist = g_list_prepend (mlist, m);
+ mlist = g_list_append (mlist, m);
g_hash_table_insert (cache->cfg->metrics_symbols,
item->symbol, mlist);