Lines Matching defs:imap

65 #include "imap.h"
177 /* SASL parameters for the imap protocol */
179 "imap", /* The service name */
256 struct IMAP *imap = data->req.p.imap;
286 if((!imap->custom && !imap_matchresp(line, len, "LIST")) ||
287 (imap->custom && !imap_matchresp(line, len, imap->custom) &&
288 (!strcasecompare(imap->custom, "STORE") ||
290 !strcasecompare(imap->custom, "SELECT") &&
291 !strcasecompare(imap->custom, "EXAMINE") &&
292 !strcasecompare(imap->custom, "SEARCH") &&
293 !strcasecompare(imap->custom, "EXPUNGE") &&
294 !strcasecompare(imap->custom, "LSUB") &&
295 !strcasecompare(imap->custom, "UID") &&
296 !strcasecompare(imap->custom, "GETQUOTAROOT") &&
297 !strcasecompare(imap->custom, "NOOP")))
329 if(imap && !imap->custom && ((len == 3 && line[0] == '+') ||
648 struct IMAP *imap = data->req.p.imap;
650 if(imap->custom)
652 result = imap_sendf(data, "%s%s", imap->custom,
653 imap->custom_params ? imap->custom_params : "");
656 char *mailbox = imap->mailbox ? imap_atom(imap->mailbox, true)
683 struct IMAP *imap = data->req.p.imap;
692 if(!imap->mailbox) {
698 mailbox = imap_atom(imap->mailbox, false);
722 struct IMAP *imap = data->req.p.imap;
724 if(imap->uid) {
727 if(imap->partial)
729 imap->uid, imap->section ? imap->section : "",
730 imap->partial);
733 imap->uid, imap->section ? imap->section : "");
735 else if(imap->mindex) {
737 if(imap->partial)
739 imap->mindex, imap->section ? imap->section : "",
740 imap->partial);
743 imap->mindex, imap->section ? imap->section : "");
764 struct IMAP *imap = data->req.p.imap;
768 if(!imap->mailbox) {
809 mailbox = imap_atom(imap->mailbox, false);
835 struct IMAP *imap = data->req.p.imap;
838 if(!imap->query) {
844 result = imap_sendf(data, "SEARCH %s", imap->query);
884 failf(data, "Got unexpected imap-server response");
1083 struct IMAP *imap = data->req.p.imap;
1108 if(imap->uidvalidity && imapc->mailbox_uidvalidity &&
1109 !strcasecompare(imap->uidvalidity, imapc->mailbox_uidvalidity)) {
1116 imapc->mailbox = strdup(imap->mailbox);
1120 if(imap->custom)
1122 else if(imap->query)
1425 struct IMAP *imap;
1427 imap = data->req.p.imap = calloc(1, sizeof(struct IMAP));
1428 if(!imap)
1503 struct IMAP *imap = data->req.p.imap;
1507 if(!imap)
1514 else if(!data->set.connect_only && !imap->custom &&
1515 (imap->uid || imap->mindex || data->state.upload ||
1534 Curl_safefree(imap->mailbox);
1535 Curl_safefree(imap->uidvalidity);
1536 Curl_safefree(imap->uid);
1537 Curl_safefree(imap->mindex);
1538 Curl_safefree(imap->section);
1539 Curl_safefree(imap->partial);
1540 Curl_safefree(imap->query);
1541 Curl_safefree(imap->custom);
1542 Curl_safefree(imap->custom_params);
1545 imap->transfer = PPTRANSFER_BODY;
1563 struct IMAP *imap = data->req.p.imap;
1571 imap->transfer = PPTRANSFER_INFO;
1578 if(imap->mailbox && imapc->mailbox &&
1579 strcasecompare(imap->mailbox, imapc->mailbox) &&
1580 (!imap->uidvalidity || !imapc->mailbox_uidvalidity ||
1581 strcasecompare(imap->uidvalidity, imapc->mailbox_uidvalidity)))
1588 else if(imap->custom && (selected || !imap->mailbox))
1591 else if(!imap->custom && selected && (imap->uid || imap->mindex))
1594 else if(!imap->custom && selected && imap->query)
1597 else if(imap->mailbox && !selected &&
1598 (imap->custom || imap->uid || imap->mindex || imap->query))
1689 struct IMAP *imap = data->req.p.imap;
1693 if(imap->transfer != PPTRANSFER_BODY)
1955 /* The imap struct is already initialised in imap_connect() */
1957 struct IMAP *imap = data->req.p.imap;
1971 result = Curl_urldecode(begin, end - begin, &imap->mailbox, NULL,
1977 imap->mailbox = NULL;
2018 if(strcasecompare(name, "UIDVALIDITY") && !imap->uidvalidity) {
2022 imap->uidvalidity = value;
2025 else if(strcasecompare(name, "UID") && !imap->uid) {
2029 imap->uid = value;
2032 else if(strcasecompare(name, "MAILINDEX") && !imap->mindex) {
2036 imap->mindex = value;
2039 else if(strcasecompare(name, "SECTION") && !imap->section) {
2043 imap->section = value;
2046 else if(strcasecompare(name, "PARTIAL") && !imap->partial) {
2050 imap->partial = value;
2066 if(imap->mailbox && !imap->uid && !imap->mindex) {
2068 (void)curl_url_get(data->state.uh, CURLUPART_QUERY, &imap->query,
2088 struct IMAP *imap = data->req.p.imap;
2093 result = Curl_urldecode(custom, 0, &imap->custom, NULL, REJECT_CTRL);
2097 const char *params = imap->custom;
2103 imap->custom_params = strdup(params);
2104 imap->custom[params - imap->custom] = '\0';
2106 if(!imap->custom_params)