瀏覽代碼

Add function to parse inet address.

tags/0.9.0
Vsevolod Stakhov 9 年之前
父節點
當前提交
179af280e9
共有 1 個文件被更改,包括 35 次插入0 次删除
  1. 35
    0
      src/libserver/cfg_rcl.c

+ 35
- 0
src/libserver/cfg_rcl.c 查看文件

@@ -1971,6 +1971,41 @@ rspamd_rcl_parse_struct_boolean (rspamd_mempool_t *pool,
return TRUE;
}

gboolean
rspamd_rcl_parse_struct_addr (rspamd_mempool_t *pool,
const ucl_object_t *obj,
gpointer ud,
struct rspamd_rcl_section *section,
GError **err)
{
struct rspamd_rcl_struct_parser *pd = ud;
rspamd_inet_addr_t **target;
const gchar *val;

target = (rspamd_inet_addr_t **)(((gchar *)pd->user_struct) + pd->offset);

if (obj->type == UCL_STRING) {
val = ucl_object_tostring (obj);

if (!rspamd_parse_inet_address (target, val)) {
g_set_error (err,
CFG_RCL_ERROR,
EINVAL,
"cannot parse inet address: %s", val);
return FALSE;
}
}
else {
g_set_error (err,
CFG_RCL_ERROR,
EINVAL,
"cannot convert an object to inet address");
return FALSE;
}

return TRUE;
}

void
rspamd_rcl_register_worker_option (struct rspamd_config *cfg,
gint type,

Loading…
取消
儲存