diff options
Diffstat (limited to 'src/rcl/rcl_internal.h')
-rw-r--r-- | src/rcl/rcl_internal.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/rcl/rcl_internal.h b/src/rcl/rcl_internal.h index 0db1d86b5..114ff823d 100644 --- a/src/rcl/rcl_internal.h +++ b/src/rcl/rcl_internal.h @@ -26,6 +26,9 @@ #include "rcl.h" #include "utlist.h" +#ifdef HAVE_OPENSSL +#include <openssl/evp.h> +#endif /** * @file rcl_internal.h @@ -76,6 +79,17 @@ struct rspamd_cl_chunk { struct rspamd_cl_chunk *next; }; +#ifdef HAVE_OPENSSL +struct rspamd_cl_pubkey { + EVP_PKEY *key; + struct rspamd_cl_pubkey *next; +}; +#else +struct rspamd_cl_pubkey { + struct rspamd_cl_pubkey *next; +}; +#endif + struct rspamd_cl_parser { enum rspamd_cl_parser_state state; enum rspamd_cl_parser_state prev_state; @@ -85,6 +99,7 @@ struct rspamd_cl_parser { struct rspamd_cl_stack *stack; struct rspamd_cl_chunk *chunks; guint recursion; + struct rspamd_cl_pubkey *keys; }; /** @@ -93,4 +108,24 @@ struct rspamd_cl_parser { */ void rspamd_cl_unescape_json_string (gchar *str); +/** + * Handle include macro + * @param data include data + * @param len length of data + * @param ud user data + * @param err error ptr + * @return + */ +gboolean rspamd_cl_include_handler (const guchar *data, gsize len, gpointer ud, GError **err); + +/** + * Handle includes macro + * @param data include data + * @param len length of data + * @param ud user data + * @param err error ptr + * @return + */ +gboolean rspamd_cl_includes_handler (const guchar *data, gsize len, gpointer ud, GError **err); + #endif /* RCL_INTERNAL_H_ */ |