summaryrefslogtreecommitdiffstats
path: root/src/rcl/rcl_internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/rcl/rcl_internal.h')
-rw-r--r--src/rcl/rcl_internal.h35
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_ */