| Server IP : 176.32.38.42 / Your IP : 216.73.216.67 Web Server : LiteSpeed System : Linux ha006.mymail.zone 4.18.0-553.51.1.lve.1.el8.x86_64 #1 SMP Wed May 14 14:34:57 UTC 2025 x86_64 User : s1225329 ( 1835) PHP Version : 7.4.33 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /usr/include/dovecot/ |
Upload File : |
#ifndef CONFIG_PARSER_PRIVATE_H
#define CONFIG_PARSER_PRIVATE_H
#include "config-parser.h"
#include "config-filter.h"
enum config_line_type {
CONFIG_LINE_TYPE_SKIP,
CONFIG_LINE_TYPE_CONTINUE,
CONFIG_LINE_TYPE_ERROR,
CONFIG_LINE_TYPE_KEYVALUE,
CONFIG_LINE_TYPE_KEYFILE,
CONFIG_LINE_TYPE_KEYVARIABLE,
CONFIG_LINE_TYPE_SECTION_BEGIN,
CONFIG_LINE_TYPE_SECTION_END,
CONFIG_LINE_TYPE_INCLUDE,
CONFIG_LINE_TYPE_INCLUDE_TRY
};
struct config_section_stack {
struct config_section_stack *prev;
const char *key;
struct config_filter filter;
/* root=NULL-terminated list of parsers */
struct config_module_parser *parsers;
size_t pathlen;
const char *open_path;
unsigned int open_linenum;
bool is_filter;
};
struct input_stack {
struct input_stack *prev;
struct istream *input;
const char *path;
unsigned int linenum;
};
struct config_parser_context {
pool_t pool;
const char *path;
const char *const *modules;
ARRAY(struct config_filter_parser *) all_parsers;
struct config_module_parser *root_parsers;
struct config_section_stack *cur_section;
struct input_stack *cur_input;
string_t *str;
size_t pathlen;
unsigned int section_counter;
const char *error;
struct old_set_parser *old;
HASH_TABLE(const char *, const char *) seen_settings;
struct config_filter_context *filter;
bool expand_values:1;
bool hide_errors:1;
};
extern void (*hook_config_parser_begin)(struct config_parser_context *ctx);
extern int (*hook_config_parser_end)(struct config_parser_context *ctx,
const char **error_r);
int config_apply_line(struct config_parser_context *ctx, const char *key,
const char *line, const char *section_name) ATTR_NULL(4);
void config_parser_apply_line(struct config_parser_context *ctx,
enum config_line_type type,
const char *key, const char *value);
#endif