aboutsummaryrefslogtreecommitdiffstats
path: root/src/fuzzy_storage.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/fuzzy_storage.c')
-rw-r--r--src/fuzzy_storage.c176
1 files changed, 88 insertions, 88 deletions
diff --git a/src/fuzzy_storage.c b/src/fuzzy_storage.c
index 05749d899..445289511 100644
--- a/src/fuzzy_storage.c
+++ b/src/fuzzy_storage.c
@@ -51,7 +51,7 @@
/* Update stats on keys each 1 hour */
#define KEY_STAT_INTERVAL 3600.0
-static const gchar *local_db_name = "local";
+static const char *local_db_name = "local";
/* Init functions */
gpointer init_fuzzy(struct rspamd_config *cfg);
@@ -91,7 +91,7 @@ struct fuzzy_key_stat {
/* Store averages for checked/matched per minute */
struct rspamd_counter_data checked_ctr;
struct rspamd_counter_data matched_ctr;
- gdouble last_checked_time;
+ double last_checked_time;
uint64_t last_checked_count;
uint64_t last_matched_count;
struct rspamd_cryptobox_keypair *keypair;
@@ -102,8 +102,8 @@ struct fuzzy_key_stat {
struct rspamd_leaky_bucket_elt {
rspamd_inet_addr_t *addr;
- gdouble last;
- gdouble cur;
+ double last;
+ double cur;
};
static const uint64_t rspamd_fuzzy_storage_magic = 0x291a3253eb1b3ea5ULL;
@@ -119,7 +119,7 @@ fuzzy_kp_hash(const unsigned char *p)
static bool
fuzzy_kp_equal(gconstpointer a, gconstpointer b)
{
- const guchar *pa = a, *pb = b;
+ const unsigned char *pa = a, *pb = b;
return (memcmp(pa, pb, RSPAMD_FUZZY_KEYLEN) == 0);
}
@@ -150,9 +150,9 @@ struct rspamd_fuzzy_storage_ctx {
struct rspamd_config *cfg;
/* END OF COMMON PART */
struct fuzzy_global_stat stat;
- gdouble expire;
- gdouble sync_timeout;
- gdouble delay;
+ double expire;
+ double sync_timeout;
+ double delay;
struct rspamd_radix_map_helper *update_ips;
struct rspamd_hash_map_helper *update_keys;
struct rspamd_radix_map_helper *blocked_ips;
@@ -166,7 +166,7 @@ struct rspamd_fuzzy_storage_ctx {
const ucl_object_t *ratelimit_whitelist_map;
const ucl_object_t *dynamic_keys_map;
- guint keypair_cache_size;
+ unsigned int keypair_cache_size;
ev_timer stat_ev;
ev_io peer_ev;
@@ -186,25 +186,25 @@ struct rspamd_fuzzy_storage_ctx {
rspamd_lru_hash_t *ratelimit_buckets;
struct rspamd_fuzzy_backend *backend;
GArray *updates_pending;
- guint updates_failed;
- guint updates_maxfail;
+ unsigned int updates_failed;
+ unsigned int updates_maxfail;
/* Used to send data between workers */
- gint peer_fd;
+ int peer_fd;
/* Ratelimits */
- guint leaky_bucket_ttl;
- guint leaky_bucket_mask;
- guint max_buckets;
+ unsigned int leaky_bucket_ttl;
+ unsigned int leaky_bucket_mask;
+ unsigned int max_buckets;
gboolean ratelimit_log_only;
- gdouble leaky_bucket_burst;
- gdouble leaky_bucket_rate;
+ double leaky_bucket_burst;
+ double leaky_bucket_rate;
struct rspamd_worker *worker;
const ucl_object_t *skip_map;
struct rspamd_hash_map_helper *skip_hashes;
- gint lua_pre_handler_cbref;
- gint lua_post_handler_cbref;
- gint lua_blacklist_cbref;
+ int lua_pre_handler_cbref;
+ int lua_post_handler_cbref;
+ int lua_blacklist_cbref;
khash_t(fuzzy_key_ids_set) * default_forbidden_ids;
/* Ids that should not override other ids */
khash_t(fuzzy_key_ids_set) * weak_ids;
@@ -228,13 +228,13 @@ struct fuzzy_session {
enum rspamd_fuzzy_epoch epoch;
enum fuzzy_cmd_type cmd_type;
- gint fd;
+ int fd;
ev_tstamp timestamp;
struct ev_io io;
ref_entry_t ref;
struct fuzzy_key *key;
struct rspamd_fuzzy_cmd_extension *extensions;
- guchar nm[rspamd_cryptobox_MAX_NMBYTES];
+ unsigned char nm[rspamd_cryptobox_MAX_NMBYTES];
};
struct fuzzy_peer_request {
@@ -245,19 +245,19 @@ struct fuzzy_peer_request {
struct rspamd_updates_cbdata {
GArray *updates_pending;
struct rspamd_fuzzy_storage_ctx *ctx;
- gchar *source;
+ char *source;
gboolean final;
};
static void rspamd_fuzzy_write_reply(struct fuzzy_session *session);
static gboolean rspamd_fuzzy_process_updates_queue(struct rspamd_fuzzy_storage_ctx *ctx,
- const gchar *source, gboolean final);
+ const char *source, gboolean final);
static gboolean rspamd_fuzzy_check_client(struct rspamd_fuzzy_storage_ctx *ctx,
rspamd_inet_addr_t *addr);
static void rspamd_fuzzy_maybe_call_blacklisted(struct rspamd_fuzzy_storage_ctx *ctx,
rspamd_inet_addr_t *addr,
- const gchar *reason);
+ const char *reason);
static struct fuzzy_key *fuzzy_add_keypair_from_ucl(const ucl_object_t *obj,
khash_t(rspamd_fuzzy_keys_hash) * target);
@@ -267,9 +267,9 @@ struct fuzzy_keymap_ucl_buf {
};
/* Callbacks for reading json dynamic rules */
-static gchar *
-ucl_keymap_read_cb(gchar *chunk,
- gint len,
+static char *
+ucl_keymap_read_cb(char *chunk,
+ int len,
struct map_cb_data *data,
gboolean final)
{
@@ -540,11 +540,11 @@ rspamd_fuzzy_check_ratelimit(struct fuzzy_session *session)
static void
rspamd_fuzzy_maybe_call_blacklisted(struct rspamd_fuzzy_storage_ctx *ctx,
rspamd_inet_addr_t *addr,
- const gchar *reason)
+ const char *reason)
{
if (ctx->lua_blacklist_cbref != -1) {
lua_State *L = ctx->cfg->lua_state;
- gint err_idx, ret;
+ int err_idx, ret;
lua_pushcfunction(L, &rspamd_lua_traceback);
err_idx = lua_gettop(L);
@@ -601,13 +601,13 @@ rspamd_fuzzy_check_write(struct fuzzy_session *session)
}
if (session->ctx->update_keys != NULL && session->key->stat && session->key->key) {
- static gchar base32_buf[rspamd_cryptobox_HASHBYTES * 2 + 1];
- guint raw_len;
- const guchar *pk_raw = rspamd_keypair_component(session->key->key,
- RSPAMD_KEYPAIR_COMPONENT_ID, &raw_len);
- gint encoded_len = rspamd_encode_base32_buf(pk_raw, raw_len,
- base32_buf, sizeof(base32_buf),
- RSPAMD_BASE32_DEFAULT);
+ static char base32_buf[rspamd_cryptobox_HASHBYTES * 2 + 1];
+ unsigned int raw_len;
+ const unsigned char *pk_raw = rspamd_keypair_component(session->key->key,
+ RSPAMD_KEYPAIR_COMPONENT_ID, &raw_len);
+ int encoded_len = rspamd_encode_base32_buf(pk_raw, raw_len,
+ base32_buf, sizeof(base32_buf),
+ RSPAMD_BASE32_DEFAULT);
if (rspamd_match_hash_map(session->ctx->update_keys, base32_buf, encoded_len)) {
return TRUE;
@@ -715,15 +715,15 @@ fuzzy_update_version_callback(uint64_t ver, void *ud)
static void
rspamd_fuzzy_updates_cb(gboolean success,
- guint nadded,
- guint ndeleted,
- guint nextended,
- guint nignored,
+ unsigned int nadded,
+ unsigned int ndeleted,
+ unsigned int nextended,
+ unsigned int nignored,
void *ud)
{
struct rspamd_updates_cbdata *cbdata = ud;
struct rspamd_fuzzy_storage_ctx *ctx;
- const gchar *source;
+ const char *source;
ctx = cbdata->ctx;
source = cbdata->source;
@@ -798,7 +798,7 @@ rspamd_fuzzy_updates_cb(gboolean success,
static gboolean
rspamd_fuzzy_process_updates_queue(struct rspamd_fuzzy_storage_ctx *ctx,
- const gchar *source, gboolean final)
+ const char *source, gboolean final)
{
struct rspamd_updates_cbdata *cbdata;
@@ -886,7 +886,7 @@ rspamd_fuzzy_write_reply(struct fuzzy_session *session)
static void
rspamd_fuzzy_update_key_stat(gboolean matched,
struct fuzzy_key_stat *key_stat,
- guint cmd,
+ unsigned int cmd,
struct rspamd_fuzzy_reply *res,
ev_tstamp timestamp)
{
@@ -934,7 +934,7 @@ rspamd_fuzzy_update_stats(struct rspamd_fuzzy_storage_ctx *ctx,
gboolean is_delayed,
struct fuzzy_key *key,
struct fuzzy_key_stat *ip_stat,
- guint cmd,
+ unsigned int cmd,
struct rspamd_fuzzy_reply *res,
ev_tstamp timestamp)
{
@@ -1003,7 +1003,7 @@ static void
rspamd_fuzzy_make_reply(struct rspamd_fuzzy_cmd *cmd,
struct rspamd_fuzzy_reply *result,
struct fuzzy_session *session,
- gint flags)
+ int flags)
{
gsize len;
@@ -1084,7 +1084,7 @@ rspamd_fuzzy_make_reply(struct rspamd_fuzzy_cmd *cmd,
session->timestamp);
}
- rspamd_cryptobox_encrypt_nm_inplace((guchar *) &session->reply.rep,
+ rspamd_cryptobox_encrypt_nm_inplace((unsigned char *) &session->reply.rep,
len,
session->reply.hdr.nonce,
session->nm,
@@ -1118,7 +1118,7 @@ rspamd_fuzzy_make_reply(struct rspamd_fuzzy_cmd *cmd,
}
static gboolean
-fuzzy_peer_try_send(gint fd, struct fuzzy_peer_request *up_req)
+fuzzy_peer_try_send(int fd, struct fuzzy_peer_request *up_req)
{
gssize r;
@@ -1184,7 +1184,7 @@ rspamd_fuzzy_check_callback(struct rspamd_fuzzy_reply *result, void *ud)
struct rspamd_fuzzy_cmd *cmd = NULL;
const struct rspamd_shingle *shingle = NULL;
struct rspamd_shingle sgl_cpy;
- gint send_flags = 0;
+ int send_flags = 0;
switch (session->cmd_type) {
case CMD_ENCRYPTED_NORMAL:
@@ -1211,7 +1211,7 @@ rspamd_fuzzy_check_callback(struct rspamd_fuzzy_reply *result, void *ud)
if (session->ctx->lua_post_handler_cbref != -1) {
/* Start lua post handler */
lua_State *L = session->ctx->cfg->lua_state;
- gint err_idx, ret;
+ int err_idx, ret;
lua_pushcfunction(L, &rspamd_lua_traceback);
err_idx = lua_gettop(L);
@@ -1287,9 +1287,9 @@ rspamd_fuzzy_check_callback(struct rspamd_fuzzy_reply *result, void *ud)
if (!isnan(session->ctx->delay) &&
rspamd_match_radix_map_addr(session->ctx->delay_whitelist,
session->addr) == NULL) {
- gdouble hash_age = rspamd_get_calendar_ticks() - result->ts;
- gdouble jittered_age = rspamd_time_jitter(session->ctx->delay,
- session->ctx->delay / 2.0);
+ double hash_age = rspamd_get_calendar_ticks() - result->ts;
+ double jittered_age = rspamd_time_jitter(session->ctx->delay,
+ session->ctx->delay / 2.0);
if (hash_age < jittered_age) {
send_flags |= RSPAMD_FUZZY_REPLY_DELAY;
@@ -1360,11 +1360,11 @@ rspamd_fuzzy_process_command(struct fuzzy_session *session)
struct fuzzy_peer_cmd up_cmd;
struct fuzzy_peer_request *up_req;
struct fuzzy_key_stat *ip_stat = NULL;
- gchar hexbuf[rspamd_cryptobox_HASHBYTES * 2 + 1];
+ char hexbuf[rspamd_cryptobox_HASHBYTES * 2 + 1];
rspamd_inet_addr_t *naddr;
gpointer ptr;
gsize up_len = 0;
- gint send_flags = 0;
+ int send_flags = 0;
cmd = &session->cmd.basic;
@@ -1401,7 +1401,7 @@ rspamd_fuzzy_process_command(struct fuzzy_session *session)
if (session->ctx->lua_pre_handler_cbref != -1) {
/* Start lua pre handler */
lua_State *L = session->ctx->cfg->lua_state;
- gint err_idx, ret;
+ int err_idx, ret;
lua_pushcfunction(L, &rspamd_lua_traceback);
err_idx = lua_gettop(L);
@@ -1585,7 +1585,7 @@ rspamd_fuzzy_process_command(struct fuzzy_session *session)
static enum rspamd_fuzzy_epoch
-rspamd_fuzzy_command_valid(struct rspamd_fuzzy_cmd *cmd, gint r)
+rspamd_fuzzy_command_valid(struct rspamd_fuzzy_cmd *cmd, int r)
{
enum rspamd_fuzzy_epoch ret = RSPAMD_FUZZY_EPOCH_MAX;
@@ -1622,7 +1622,7 @@ rspamd_fuzzy_command_valid(struct rspamd_fuzzy_cmd *cmd, gint r)
}
static gboolean
-rspamd_fuzzy_decrypt_command(struct fuzzy_session *s, guchar *buf, gsize buflen)
+rspamd_fuzzy_decrypt_command(struct fuzzy_session *s, unsigned char *buf, gsize buflen)
{
struct rspamd_fuzzy_encrypted_req_hdr hdr;
struct rspamd_cryptobox_pubkey *rk;
@@ -1702,20 +1702,20 @@ rspamd_fuzzy_decrypt_command(struct fuzzy_session *s, guchar *buf, gsize buflen)
static gboolean
-rspamd_fuzzy_extensions_from_wire(struct fuzzy_session *s, guchar *buf, gsize buflen)
+rspamd_fuzzy_extensions_from_wire(struct fuzzy_session *s, unsigned char *buf, gsize buflen)
{
struct rspamd_fuzzy_cmd_extension *ext, *prev_ext;
- guchar *storage, *p = buf, *end = buf + buflen;
+ unsigned char *storage, *p = buf, *end = buf + buflen;
gsize st_len = 0, n_ext = 0;
/* Read number of extensions to allocate array */
while (p < end) {
- guchar cmd = *p++;
+ unsigned char cmd = *p++;
if (p < end) {
if (cmd == RSPAMD_FUZZY_EXT_SOURCE_DOMAIN) {
/* Next byte is buf length */
- guchar dom_len = *p++;
+ unsigned char dom_len = *p++;
if (dom_len <= (end - p)) {
st_len += dom_len;
@@ -1772,19 +1772,19 @@ rspamd_fuzzy_extensions_from_wire(struct fuzzy_session *s, guchar *buf, gsize bu
storage = g_malloc(n_ext * sizeof(struct rspamd_fuzzy_cmd_extension) +
st_len);
- guchar *data_buf = storage +
- n_ext * sizeof(struct rspamd_fuzzy_cmd_extension);
+ unsigned char *data_buf = storage +
+ n_ext * sizeof(struct rspamd_fuzzy_cmd_extension);
ext = (struct rspamd_fuzzy_cmd_extension *) storage;
/* All validation has been done, so we can just go further */
while (p < end) {
prev_ext = ext;
- guchar cmd = *p++;
+ unsigned char cmd = *p++;
if (cmd == RSPAMD_FUZZY_EXT_SOURCE_DOMAIN) {
/* Next byte is buf length */
- guchar dom_len = *p++;
- guchar *dest = data_buf;
+ unsigned char dom_len = *p++;
+ unsigned char *dest = data_buf;
ext->ext = RSPAMD_FUZZY_EXT_SOURCE_DOMAIN;
ext->next = ext + 1;
@@ -1796,7 +1796,7 @@ rspamd_fuzzy_extensions_from_wire(struct fuzzy_session *s, guchar *buf, gsize bu
ext = ext->next;
}
else if (cmd == RSPAMD_FUZZY_EXT_SOURCE_IP4) {
- guchar *dest = data_buf;
+ unsigned char *dest = data_buf;
ext->ext = RSPAMD_FUZZY_EXT_SOURCE_IP4;
ext->next = ext + 1;
@@ -1808,7 +1808,7 @@ rspamd_fuzzy_extensions_from_wire(struct fuzzy_session *s, guchar *buf, gsize bu
ext = ext->next;
}
else if (cmd == RSPAMD_FUZZY_EXT_SOURCE_IP6) {
- guchar *dest = data_buf;
+ unsigned char *dest = data_buf;
ext->ext = RSPAMD_FUZZY_EXT_SOURCE_IP6;
ext->next = ext + 1;
@@ -1836,7 +1836,7 @@ rspamd_fuzzy_extensions_from_wire(struct fuzzy_session *s, guchar *buf, gsize bu
}
static gboolean
-rspamd_fuzzy_cmd_from_wire(guchar *buf, guint buflen, struct fuzzy_session *s)
+rspamd_fuzzy_cmd_from_wire(unsigned char *buf, unsigned int buflen, struct fuzzy_session *s)
{
enum rspamd_fuzzy_epoch epoch;
gboolean encrypted = FALSE;
@@ -1982,7 +1982,7 @@ accept_fuzzy_socket(EV_P_ ev_io *w, int revents)
gssize r, msg_len;
uint64_t *nerrors;
struct iovec iovs[MSGVEC_LEN];
- guint8 bufs[MSGVEC_LEN][FUZZY_INPUT_BUFLEN];
+ uint8_t bufs[MSGVEC_LEN][FUZZY_INPUT_BUFLEN];
union sa_union peer_sa[MSGVEC_LEN];
socklen_t salen = sizeof(peer_sa[0]);
#ifdef HAVE_RECVMMSG
@@ -2120,8 +2120,8 @@ rspamd_fuzzy_storage_periodic_callback(void *ud)
static gboolean
rspamd_fuzzy_storage_sync(struct rspamd_main *rspamd_main,
- struct rspamd_worker *worker, gint fd,
- gint attached_fd,
+ struct rspamd_worker *worker, int fd,
+ int attached_fd,
struct rspamd_control_command *cmd,
gpointer ud)
{
@@ -2147,8 +2147,8 @@ rspamd_fuzzy_storage_sync(struct rspamd_main *rspamd_main,
static gboolean
rspamd_fuzzy_control_blocked(struct rspamd_main *rspamd_main,
- struct rspamd_worker *worker, gint fd,
- gint attached_fd,
+ struct rspamd_worker *worker, int fd,
+ int attached_fd,
struct rspamd_control_command *cmd,
gpointer ud)
{
@@ -2223,8 +2223,8 @@ rspamd_fuzzy_control_blocked(struct rspamd_main *rspamd_main,
static gboolean
rspamd_fuzzy_storage_reload(struct rspamd_main *rspamd_main,
- struct rspamd_worker *worker, gint fd,
- gint attached_fd,
+ struct rspamd_worker *worker, int fd,
+ int attached_fd,
struct rspamd_control_command *cmd,
gpointer ud)
{
@@ -2295,7 +2295,7 @@ static void
rspamd_fuzzy_key_stat_iter(const unsigned char *pk_iter, struct fuzzy_key *fuzzy_key, ucl_object_t *keys_obj, gboolean ip_stat)
{
struct fuzzy_key_stat *key_stat = fuzzy_key->stat;
- gchar keyname[17];
+ char keyname[17];
if (key_stat) {
rspamd_snprintf(keyname, sizeof(keyname), "%8bs", pk_iter);
@@ -2447,7 +2447,7 @@ rspamd_fuzzy_maybe_load_ratelimits(struct rspamd_fuzzy_storage_ctx *ctx)
while ((cur = ucl_object_iterate(obj, &it, true)) != NULL) {
const ucl_object_t *ip, *value, *last;
- const gchar *ip_str;
+ const char *ip_str;
double limit_val, last_val;
ip = ucl_object_find_key(cur, "ip");
@@ -2642,8 +2642,8 @@ lua_fuzzy_add_blacklist_handler(lua_State *L)
static gboolean
rspamd_fuzzy_storage_stat(struct rspamd_main *rspamd_main,
- struct rspamd_worker *worker, gint fd,
- gint attached_fd,
+ struct rspamd_worker *worker, int fd,
+ int attached_fd,
struct rspamd_control_command *cmd,
gpointer ud)
{
@@ -2651,13 +2651,13 @@ rspamd_fuzzy_storage_stat(struct rspamd_main *rspamd_main,
struct rspamd_control_reply rep;
ucl_object_t *obj;
struct ucl_emitter_functions *emit_subr;
- guchar fdspace[CMSG_SPACE(sizeof(int))];
+ unsigned char fdspace[CMSG_SPACE(sizeof(int))];
struct iovec iov;
struct msghdr msg;
struct cmsghdr *cmsg;
- gint outfd = -1;
- gchar tmppath[PATH_MAX];
+ int outfd = -1;
+ char tmppath[PATH_MAX];
memset(&rep, 0, sizeof(rep));
rep.type = RSPAMD_CONTROL_FUZZY_STAT;
@@ -2732,7 +2732,7 @@ fuzzy_parse_ids(rspamd_mempool_t *pool,
struct rspamd_rcl_struct_parser *pd = (struct rspamd_rcl_struct_parser *) ud;
khash_t(fuzzy_key_ids_set) * target;
- target = *(khash_t(fuzzy_key_ids_set) **) ((gchar *) pd->user_struct + pd->offset);
+ target = *(khash_t(fuzzy_key_ids_set) **) ((char *) pd->user_struct + pd->offset);
if (ucl_object_type(obj) == UCL_ARRAY) {
const ucl_object_t *cur;
@@ -2790,8 +2790,8 @@ fuzzy_add_keypair_from_ucl(const ucl_object_t *obj, khash_t(rspamd_fuzzy_keys_ha
key->flags_stat = kh_init(fuzzy_key_flag_stat);
/* Preallocate some space for flags */
kh_resize(fuzzy_key_flag_stat, key->flags_stat, 8);
- const guchar *pk = rspamd_keypair_component(kp, RSPAMD_KEYPAIR_COMPONENT_PK,
- NULL);
+ const unsigned char *pk = rspamd_keypair_component(kp, RSPAMD_KEYPAIR_COMPONENT_PK,
+ NULL);
keystat->keypair = rspamd_keypair_ref(kp);
/* We map entries by pubkey in binary form for faster lookup */
khiter_t k;
@@ -3174,7 +3174,7 @@ rspamd_fuzzy_peer_io(EV_P_ ev_io *w, int revents)
static void
fuzzy_peer_rep(struct rspamd_worker *worker,
- struct rspamd_srv_reply *rep, gint rep_fd,
+ struct rspamd_srv_reply *rep, int rep_fd,
gpointer ud)
{
struct rspamd_fuzzy_storage_ctx *ctx = ud;