Server IP : 103.119.228.120 / Your IP : 18.189.184.99 Web Server : Apache System : Linux v8.techscape8.com 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64 User : nobody ( 99) PHP Version : 5.6.40 Disable Function : shell_exec,symlink,system,exec,proc_get_status,proc_nice,proc_terminate,define_syslog_variables,syslog,openlog,closelog,escapeshellcmd,passthru,ocinum cols,ini_alter,leak,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dl,dll,myshellexec,proc_open,socket_bind,proc_close,escapeshellarg,parse_ini_filepopen,fpassthru,exec,passthru,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,popen,show_source,proc_nice,proc_terminate,proc_get_status,proc_close,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,dl,symlink,shell_exec,system,dl,passthru,escapeshellarg,escapeshellcmd,myshellexec,c99_buff_prepare,c99_sess_put,fpassthru,getdisfunc,fx29exec,fx29exec2,is_windows,disp_freespace,fx29sh_getupdate,fx29_buff_prepare,fx29_sess_put,fx29shexit,fx29fsearch,fx29ftpbrutecheck,fx29sh_tools,fx29sh_about,milw0rm,imagez,sh_name,myshellexec,checkproxyhost,dosyayicek,c99_buff_prepare,c99_sess_put,c99getsource,c99sh_getupdate,c99fsearch,c99shexit,view_perms,posix_getpwuid,posix_getgrgid,posix_kill,parse_perms,parsesort,view_perms_color,set_encoder_input,ls_setcheckboxall,ls_reverse_all,rsg_read,rsg_glob,selfURL,dispsecinfo,unix2DosTime,addFile,system,get_users,view_size,DirFiles,DirFilesWide,DirPrintHTMLHeaders,GetFilesTotal,GetTitles,GetTimeTotal,GetMatchesCount,GetFileMatchesCount,GetResultFiles,fs_copy_dir,fs_copy_obj,fs_move_dir,fs_move_obj,fs_rmdir,SearchText,getmicrotime MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /opt/php_with_imap_client/include/ |
Upload File : |
/* ======================================================================== * Copyright 1988-2007 University of Washington * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * * ======================================================================== */ /* * Program: Interactive Mail Access Protocol 4rev1 (IMAP4R1) routines * * Author: Mark Crispin * Networks and Distributed Computing * Computing & Communications * University of Washington * Administration Building, AG-44 * Seattle, WA 98195 * Internet: MRC@CAC.Washington.EDU * * Date: 14 October 1988 * Last Edited: 5 September 2007 */ /* This include file is provided for applications which need to look under * the covers at the IMAP driver and in particular want to do different * operations depending upon the IMAP server's protocol level and * capabilities. It is NOT included in the normal c-client.h application * export, and most applications do NOT need the definitions in this file. * * As of October 15, 2003, it is believed that: * * Version RFC Status Known Implementations * ------- --- ------ --------------------- * IMAP1 none extinct experimental TOPS-20 server * IMAP2 1064 extinct old TOPS-20, SUMEX servers * IMAP2 1176 rare TOPS-20, old UW servers * IMAP2bis expired I-D uncommon old UW, Cyrus servers * IMAP3 1203 extinct none (never implemented) * IMAP4 1730 rare old UW, Cyrus, Netscape servers * IMAP4rev1 2060, 3501 ubiquitous UW, Cyrus, and many others * * Most client implementations will only interoperate with an IMAP4rev1 * server. c-client based client implementations can interoperate with IMAP2, * IMAP2bis, IMAP4, and IMAP4rev1 servers, but only if they are very careful. * * The LEVELxxx() macros in this file enable the client to determine the * server protocol level and capabilities. This file also contains a few * backdoor calls into the IMAP driver. */ /* Server protocol level and capabilities */ typedef struct imap_cap { unsigned int rfc1176 : 1; /* server is RFC-1176 IMAP2 */ unsigned int imap2bis : 1; /* server is IMAP2bis */ unsigned int imap4 : 1; /* server is IMAP4 (RFC 1730) */ unsigned int imap4rev1 : 1; /* server is IMAP4rev1 */ unsigned int acl : 1; /* server has ACL (RFC 2086) */ unsigned int quota : 1; /* server has QUOTA (RFC 2087) */ unsigned int litplus : 1; /* server has LITERAL+ (RFC 2088) */ unsigned int idle : 1; /* server has IDLE (RFC 2177) */ unsigned int mbx_ref : 1; /* server has mailbox referrals (RFC 2193) */ unsigned int log_ref : 1; /* server has login referrals (RFC 2221) */ unsigned int authanon : 1; /* server has anonymous SASL (RFC 2245) */ unsigned int namespace :1; /* server has NAMESPACE (RFC 2342) */ unsigned int uidplus : 1; /* server has UIDPLUS (RFC 2359) */ unsigned int starttls : 1; /* server has STARTTLS (RFC 2595) */ /* server disallows LOGIN command (RFC 2595) */ unsigned int logindisabled : 1; unsigned int id : 1; /* server has ID (RFC 2971) */ unsigned int children : 1; /* server has CHILDREN (RFC 3348) */ unsigned int multiappend : 1; /* server has multi-APPEND (RFC 3502) ;*/ unsigned int binary : 1; /* server has BINARY (RFC 3516) */ unsigned int unselect : 1; /* server has UNSELECT */ unsigned int sasl_ir : 1; /* server has SASL-IR initial response */ unsigned int sort : 1; /* server has SORT */ unsigned int scan : 1; /* server has SCAN */ unsigned int urlauth : 1; /* server has URLAUTH (RFC 4467) */ unsigned int catenate : 1; /* server has CATENATE (RFC 4469) */ unsigned int condstore : 1; /* server has CONDSTORE (RFC 4551) */ unsigned int esearch : 1; /* server has ESEARCH (RFC 4731) */ unsigned int within : 1; /* server has WITHIN (RFC 5032) */ unsigned int extlevel; /* extension data level supported by server */ /* supported authenticators */ unsigned int auth : MAXAUTHENTICATORS; THREADER *threader; /* list of threaders */ } IMAPCAP; /* IMAP4rev1 level or better */ #define LEVELIMAP4rev1(stream) imap_cap (stream)->imap4rev1 #define LEVELSTATUS LEVELIMAP4rev1 /* IMAP4 level or better (not including RFC 1730 design mistakes) */ #define LEVELIMAP4(stream) (imap_cap (stream)->imap4rev1 || \ imap_cap (stream)->imap4) /* IMAP4 RFC-1730 level */ #define LEVEL1730(stream) imap_cap (stream)->imap4 /* IMAP2bis level or better */ #define LEVELIMAP2bis(stream) imap_cap (stream)->imap2bis /* IMAP2 RFC-1176 level or better */ #define LEVEL1176(stream) imap_cap (stream)->rfc1176 /* IMAP2 RFC-1064 or better */ #define LEVEL1064(stream) 1 /* Has ACL extension */ #define LEVELACL(stream) imap_cap (stream)->acl /* Has QUOTA extension */ #define LEVELQUOTA(stream) imap_cap (stream)->quota /* Has LITERALPLUS extension */ #define LEVELLITERALPLUS(stream) imap_cap (stream)->litplus /* Has IDLE extension */ #define LEVELIDLE(stream) imap_cap (stream)->idle /* Has mailbox referrals */ #define LEVELMBX_REF(stream) imap_cap (stream)->mbx_ref /* Has login referrals */ #define LEVELLOG_REF(stream) imap_cap (stream)->log_ref /* Has AUTH=ANONYMOUS extension */ #define LEVELANONYMOUS(stream) imap_cap (stream)->authanon /* Has NAMESPACE extension */ #define LEVELNAMESPACE(stream) imap_cap (stream)->namespace /* Has UIDPLUS extension */ #define LEVELUIDPLUS(stream) imap_cap (stream)->uidplus /* Has STARTTLS extension */ #define LEVELSTARTTLS(stream) imap_cap (stream)->starttls /* Has LOGINDISABLED extension */ #define LEVELLOGINDISABLED(stream) imap_cap (stream)->logindisabled /* Has ID extension */ #define LEVELID(stream) imap_cap (stream)->id /* Has CHILDREN extension */ #define LEVELCHILDREN(stream) imap_cap (stream)->children /* Has MULTIAPPEND extension */ #define LEVELMULTIAPPEND(stream) imap_cap (stream)->multiappend /* Has BINARY extension */ #define LEVELBINARY(stream) imap_cap (stream)->binary /* Has UNSELECT extension */ #define LEVELUNSELECT(stream) imap_cap (stream)->unselect /* Has SASL initial response extension */ #define LEVELSASLIR(stream) imap_cap (stream)->sasl_ir /* Has SORT extension */ #define LEVELSORT(stream) imap_cap (stream)->sort /* Has at least one THREAD extension */ #define LEVELTHREAD(stream) ((imap_cap (stream)->threader) ? T : NIL) /* Has SCAN extension */ #define LEVELSCAN(stream) imap_cap (stream)->scan /* Has URLAUTH extension */ #define LEVELURLAUTH(stream) imap_cap (stream)->urlauth /* Has CATENATE extension */ #define LEVELCATENATE(stream) imap_cap (stream)->catenate /* Has CONDSTORE extension */ #define LEVELCONDSTORE(stream) imap_cap (stream)->condstore /* Has ESEARCH extension */ #define LEVELESEARCH(stream) imap_cap (stream)->esearch /* Has WITHIN extension */ #define LEVELWITHIN(stream) imap_cap (stream)->within /* Body structure extension levels */ /* These are in BODYSTRUCTURE order. Note that multipart bodies do not have * body-fld-md5. This is alright, since all subsequent body structure * extensions are in both singlepart and multipart bodies. If that ever * changes, this will have to be split. */ #define BODYEXTMD5 1 /* body-fld-md5 */ #define BODYEXTDSP 2 /* body-fld-dsp */ #define BODYEXTLANG 3 /* body-fld-lang */ #define BODYEXTLOC 4 /* body-fld-loc */ /* Function prototypes */ IMAPCAP *imap_cap (MAILSTREAM *stream); char *imap_host (MAILSTREAM *stream); long imap_cache (MAILSTREAM *stream,unsigned long msgno,char *seg, STRINGLIST *stl,SIZEDTEXT *text); /* Temporary */ long imap_setacl (MAILSTREAM *stream,char *mailbox,char *id,char *rights); long imap_deleteacl (MAILSTREAM *stream,char *mailbox,char *id); long imap_getacl (MAILSTREAM *stream,char *mailbox); long imap_listrights (MAILSTREAM *stream,char *mailbox,char *id); long imap_myrights (MAILSTREAM *stream,char *mailbox); long imap_setquota (MAILSTREAM *stream,char *qroot,STRINGLIST *limits); long imap_getquota (MAILSTREAM *stream,char *qroot); long imap_getquotaroot (MAILSTREAM *stream,char *mailbox);