| 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/usr/include/dovecot/ |
Upload File : |
#ifndef IMAP_URLAUTH_FETCH_H
#define IMAP_URLAUTH_FETCH_H
struct imap_url;
struct imap_urlauth_context;
struct imap_urlauth_fetch;
enum imap_urlauth_fetch_flags {
/* Indicates that this is an extended request */
IMAP_URLAUTH_FETCH_FLAG_EXTENDED = 0x01,
/* Fetch body part unmodified */
IMAP_URLAUTH_FETCH_FLAG_BODY = 0x02,
/* Fetch body part as binary, i.e. without content encoding */
IMAP_URLAUTH_FETCH_FLAG_BINARY = 0x04,
/* Fetch IMAP bodypartstructure */
IMAP_URLAUTH_FETCH_FLAG_BODYPARTSTRUCTURE = 0x08,
/* IMAP UTF8 extensions active */
IMAP_URLAUTH_FETCH_FLAG_UTF8 = 0x10,
};
struct imap_urlauth_fetch_reply {
const char *url;
enum imap_urlauth_fetch_flags flags;
struct istream *input;
uoff_t size;
const char *bodypartstruct;
const char *error;
bool succeeded:1;
bool binary_has_nuls:1;
};
/* Callback to handle fetch reply. Returns 1 if handled completely and ready
for next reply, 0 if not all data was processed, and -1 for error. If a
callback returns 0, imap_urlauth_fetch_continue() must be called once
new replies may be processed. If this is the last request to yield a reply,
argument last is TRUE. */
typedef int
imap_urlauth_fetch_callback_t(struct imap_urlauth_fetch_reply *reply,
bool last, void *context);
struct imap_urlauth_fetch *
imap_urlauth_fetch_init(struct imap_urlauth_context *uctx,
imap_urlauth_fetch_callback_t *callback, void *context);
void imap_urlauth_fetch_deinit(struct imap_urlauth_fetch **ufetch);
int imap_urlauth_fetch_url(struct imap_urlauth_fetch *ufetch, const char *url,
enum imap_urlauth_fetch_flags url_flags);
int imap_urlauth_fetch_url_parsed(struct imap_urlauth_fetch *ufetch,
const char *url, struct imap_url *imap_url,
enum imap_urlauth_fetch_flags url_flags);
bool imap_urlauth_fetch_continue(struct imap_urlauth_fetch *ufetch);
bool imap_urlauth_fetch_is_pending(struct imap_urlauth_fetch *ufetch);
#endif