Lines Matching defs:imapc
257 struct imap_conn *imapc = &conn->proto.imapc;
258 const char *id = imapc->resptag;
278 switch(imapc->state) {
331 switch(imapc->state) {
358 char *message = Curl_dyn_ptr(&data->conn->proto.imapc.pp.recvbuf);
359 size_t len = data->conn->proto.imapc.pp.nfinal;
392 struct imap_conn *imapc = &data->conn->proto.imapc;
414 if(imapc->state != newstate)
416 (void *)imapc, names[imapc->state], names[newstate]);
419 imapc->state = newstate;
433 struct imap_conn *imapc = &conn->proto.imapc;
434 imapc->sasl.authmechs = SASL_AUTH_NONE; /* No known auth. mechanisms yet */
435 imapc->sasl.authused = SASL_AUTH_NONE; /* Clear the auth. mechanism used */
436 imapc->tls_supported = FALSE; /* Clear the TLS capability */
474 struct imap_conn *imapc = &conn->proto.imapc;
486 imapc->ssldone = ssldone;
487 if(imapc->state != IMAP_UPGRADETLS)
490 if(imapc->ssldone) {
573 struct imap_conn *imapc = &data->conn->proto.imapc;
577 return Curl_pp_sendf(data, &imapc->pp,
590 struct imap_conn *imapc = &data->conn->proto.imapc;
594 return Curl_pp_sendf(data, &imapc->pp, "*");
609 struct imap_conn *imapc = &conn->proto.imapc;
614 if(imapc->preauth ||
615 !Curl_sasl_can_authenticate(&imapc->sasl, data)) {
621 result = Curl_sasl_start(&imapc->sasl, data, imapc->ir_supported, &progress);
626 else if(!imapc->login_disabled && (imapc->preftype & IMAP_TYPE_CLEARTEXT))
684 struct imap_conn *imapc = &conn->proto.imapc;
688 Curl_safefree(imapc->mailbox);
689 Curl_safefree(imapc->mailbox_uidvalidity);
879 struct imap_conn *imapc = &conn->proto.imapc;
880 imapc->preauth = TRUE;
898 struct imap_conn *imapc = &conn->proto.imapc;
899 const char *line = Curl_dyn_ptr(&imapc->pp.recvbuf);
928 imapc->tls_supported = TRUE;
932 imapc->login_disabled = TRUE;
936 imapc->ir_supported = TRUE;
949 imapc->sasl.authmechs |= mechbit;
957 if(imapcode == IMAP_RESP_OK && imapc->tls_supported && !imapc->preauth) {
985 if(data->conn->proto.imapc.pp.overflow)
1009 struct imap_conn *imapc = &conn->proto.imapc;
1014 result = Curl_sasl_continue(&imapc->sasl, data, imapcode, &progress);
1021 if((!imapc->login_disabled) && (imapc->preftype & IMAP_TYPE_CLEARTEXT))
1061 char *line = Curl_dyn_ptr(&data->conn->proto.imapc.pp.recvbuf);
1062 size_t len = data->conn->proto.imapc.pp.nfinal;
1084 struct imap_conn *imapc = &conn->proto.imapc;
1085 const char *line = Curl_dyn_ptr(&data->conn->proto.imapc.pp.recvbuf);
1101 Curl_safefree(imapc->mailbox_uidvalidity);
1102 imapc->mailbox_uidvalidity = Curl_dyn_ptr(&uid);
1108 if(imap->uidvalidity && imapc->mailbox_uidvalidity &&
1109 !strcasecompare(imap->uidvalidity, imapc->mailbox_uidvalidity)) {
1115 DEBUGASSERT(!imapc->mailbox);
1116 imapc->mailbox = strdup(imap->mailbox);
1117 if(!imapc->mailbox)
1142 struct imap_conn *imapc = &conn->proto.imapc;
1143 struct pingpong *pp = &imapc->pp;
1144 const char *ptr = Curl_dyn_ptr(&data->conn->proto.imapc.pp.recvbuf);
1145 size_t len = data->conn->proto.imapc.pp.nfinal;
1302 struct imap_conn *imapc = &conn->proto.imapc;
1303 struct pingpong *pp = &imapc->pp;
1308 if(imapc->state == IMAP_UPGRADETLS)
1329 switch(imapc->state) {
1331 result = imap_state_servergreet_resp(data, imapcode, imapc->state);
1335 result = imap_state_capability_resp(data, imapcode, imapc->state);
1339 result = imap_state_starttls_resp(data, imapcode, imapc->state);
1343 result = imap_state_auth_resp(data, conn, imapcode, imapc->state);
1347 result = imap_state_login_resp(data, imapcode, imapc->state);
1352 result = imap_state_listsearch_resp(data, imapcode, imapc->state);
1356 result = imap_state_select_resp(data, imapcode, imapc->state);
1360 result = imap_state_fetch_resp(data, conn, imapcode, imapc->state);
1364 result = imap_state_fetch_final_resp(data, imapcode, imapc->state);
1368 result = imap_state_append_resp(data, imapcode, imapc->state);
1372 result = imap_state_append_final_resp(data, imapcode, imapc->state);
1381 } while(!result && imapc->state != IMAP_STOP && Curl_pp_moredata(pp));
1391 struct imap_conn *imapc = &conn->proto.imapc;
1393 if((conn->handler->flags & PROTOPT_SSL) && !imapc->ssldone) {
1396 imapc->ssldone = ssldone;
1401 result = Curl_pp_statemach(data, &imapc->pp, FALSE, FALSE);
1402 *done = (imapc->state == IMAP_STOP) ? TRUE : FALSE;
1412 struct imap_conn *imapc = &conn->proto.imapc;
1414 while(imapc->state != IMAP_STOP && !result)
1415 result = Curl_pp_statemach(data, &imapc->pp, TRUE, disconnecting);
1439 return Curl_pp_getsock(data, &conn->proto.imapc.pp, socks);
1456 struct imap_conn *imapc = &conn->proto.imapc;
1457 struct pingpong *pp = &imapc->pp;
1467 imapc->preftype = IMAP_TYPE_ANY;
1468 Curl_sasl_init(&imapc->sasl, data, &saslimap);
1470 Curl_dyn_init(&imapc->dyn, DYN_IMAP_CMD);
1482 strcpy(imapc->resptag, "*");
1523 result = Curl_pp_sendf(data, &conn->proto.imapc.pp, "%s", "");
1564 struct imap_conn *imapc = &conn->proto.imapc;
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)))
1658 struct imap_conn *imapc = &conn->proto.imapc;
1673 Curl_pp_disconnect(&imapc->pp);
1674 Curl_dyn_free(&imapc->dyn);
1677 Curl_sasl_cleanup(conn, imapc->sasl.authused);
1680 Curl_safefree(imapc->mailbox);
1681 Curl_safefree(imapc->mailbox_uidvalidity);
1775 struct imap_conn *imapc = &data->conn->proto.imapc;
1780 msnprintf(imapc->resptag, sizeof(imapc->resptag), "%c%03d",
1782 ++imapc->cmdid);
1785 Curl_dyn_reset(&imapc->dyn);
1788 result = Curl_dyn_addf(&imapc->dyn, "%s %s", imapc->resptag, fmt);
1796 result = Curl_pp_vsendf(data, &imapc->pp, Curl_dyn_ptr(&imapc->dyn), ap);
1892 struct imap_conn *imapc = &conn->proto.imapc;
1911 imapc->sasl.prefmech = SASL_AUTH_NONE;
1915 result = Curl_sasl_parse_url_auth_option(&imapc->sasl,
1928 imapc->preftype = IMAP_TYPE_CLEARTEXT;
1930 switch(imapc->sasl.prefmech) {
1932 imapc->preftype = IMAP_TYPE_NONE;
1935 imapc->preftype = IMAP_TYPE_ANY;
1938 imapc->preftype = IMAP_TYPE_SASL;