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,