| Server IP : 88.99.149.37 / Your IP : 216.73.216.141 Web Server : nginx/1.31.2 System : Linux server-88-99-149-37 6.12.0-124.56.5.el10_1.x86_64 #1 SMP PREEMPT_DYNAMIC Fri May 15 06:12:08 EDT 2026 x86_64 User : muralimurth ( 1015) PHP Version : 8.4.23 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 : OFF | Sudo : ON | Pkexec : ON Directory : /proc/1/root/proc/1/root/usr/include/dovecot/ |
Upload File : |
#ifndef FTS_PARSER_H
#define FTS_PARSER_H
struct message_block;
struct mail_user;
struct fts_parser_context {
/* Can't be NULL */
struct mail_user *user;
/* Can't be NULL */
const char *content_type;
const char *content_type_params;
const char *content_disposition;
struct event *event;
};
struct fts_parser_vfuncs {
struct fts_parser *(*try_init)(struct fts_parser_context *parser_context);
void (*more)(struct fts_parser *parser, struct message_block *block);
int (*deinit)(struct fts_parser *parser, const char **retriable_err_msg_r);
void (*unload)(void);
};
struct fts_parser {
struct fts_parser_vfuncs v;
buffer_t *utf8_output;
bool may_need_retry;
char *retriable_error_msg;
};
extern struct fts_parser_vfuncs fts_parser_html;
extern struct fts_parser_vfuncs fts_parser_script;
extern struct fts_parser_vfuncs fts_parser_tika;
void fts_tika_mail_user_created(struct mail_user *user);
bool fts_parser_init(struct fts_parser_context *parser_context,
struct fts_parser **parser_r);
struct fts_parser *fts_parser_text_init(void);
/* The parser is initially called with message body blocks. Once message is
finished, it's still called with incoming size=0 while the parser increases
it to non-zero. */
void fts_parser_more(struct fts_parser *parser, struct message_block *block);
/* Returns 1 if ok, 0 if the parsing should be retried, -1 if error.
If 0 is returned, the retriable_err_msg_r is set, which should be logged
as error if no retrying is performed. */
int fts_parser_deinit(struct fts_parser **parser, const char **retriable_err_msg_r);
void fts_parsers_unload(void);
#endif