| Server IP : 176.32.38.42 / Your IP : 216.73.216.231 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 : /proc/1808595/root/usr/include/dovecot/ |
Upload File : |
#ifndef CONFIG_FILTER_H
#define CONFIG_FILTER_H
#include "net.h"
struct master_service_settings_output;
struct config_filter {
const char *service;
/* local_name is for TLS SNI requests.
both local_name and local_bits can't be set at the same time. */
const char *local_name;
/* the hosts are used only in doveconf output */
const char *local_host, *remote_host;
struct ip_addr local_net, remote_net;
unsigned int local_bits, remote_bits;
};
struct config_filter_parser {
struct config_filter filter;
const char *file_and_line;
/* NULL-terminated array of parsers */
struct config_module_parser *parsers;
};
ARRAY_DEFINE_TYPE(config_filter_parsers, struct config_filter_parser *);
struct config_filter_context *config_filter_init(pool_t pool);
void config_filter_deinit(struct config_filter_context **ctx);
/* Replace filter's parsers with given parser list. */
void config_filter_add_all(struct config_filter_context *ctx,
struct config_filter_parser *const *parsers);
/* Build new parsers from all existing ones matching the given filter. */
int config_filter_parsers_get(struct config_filter_context *ctx, pool_t pool,
const char *const *modules,
const struct config_filter *filter,
struct config_module_parser **parsers_r,
struct master_service_settings_output *output_r,
const char **error_r) ATTR_NULL(3);
void config_filter_parsers_free(struct config_module_parser *parsers);
/* Return a list of filters that are a subset of the given filter. */
struct config_filter_parser *const *
config_filter_find_subset(struct config_filter_context *ctx,
const struct config_filter *filter);
struct config_filter_parser *const *
config_filter_get_all(struct config_filter_context *ctx);
/* Returns TRUE if filter matches mask. */
bool config_filter_match(const struct config_filter *mask,
const struct config_filter *filter);
/* Returns TRUE if two filters are fully equal. */
bool config_filters_equal(const struct config_filter *f1,
const struct config_filter *f2);
#endif