Lines Matching refs:smtpc

211   struct smtp_conn *smtpc = &conn->proto.smtpc;
237 (smtpc->state == SMTP_EHLO || smtpc->state == SMTP_COMMAND)) {
253 char *message = Curl_dyn_ptr(&data->conn->proto.smtpc.pp.recvbuf);
254 size_t len = data->conn->proto.smtpc.pp.nfinal;
287 struct smtp_conn *smtpc = &data->conn->proto.smtpc;
307 if(smtpc->state != newstate)
309 (void *)smtpc, names[smtpc->state], names[newstate]);
312 smtpc->state = newstate;
326 struct smtp_conn *smtpc = &conn->proto.smtpc;
328 smtpc->sasl.authmechs = SASL_AUTH_NONE; /* No known auth. mechanism yet */
329 smtpc->sasl.authused = SASL_AUTH_NONE; /* Clear the authentication mechanism
331 smtpc->tls_supported = FALSE; /* Clear the TLS capability */
332 smtpc->auth_supported = FALSE; /* Clear the AUTH capability */
335 result = Curl_pp_sendf(data, &smtpc->pp, "EHLO %s", smtpc->domain);
353 struct smtp_conn *smtpc = &conn->proto.smtpc;
355 smtpc->sasl.authused = SASL_AUTH_NONE; /* No authentication mechanism used
359 result = Curl_pp_sendf(data, &smtpc->pp, "HELO %s", smtpc->domain);
377 CURLcode result = Curl_pp_sendf(data, &conn->proto.smtpc.pp,
396 struct smtp_conn *smtpc = &conn->proto.smtpc;
408 smtpc->ssldone = ssldone;
409 if(smtpc->state != SMTP_UPGRADETLS)
412 if(smtpc->ssldone) {
433 struct smtp_conn *smtpc = &data->conn->proto.smtpc;
438 result = Curl_pp_sendf(data, &smtpc->pp, "AUTH %s %s", mech, ir);
442 result = Curl_pp_sendf(data, &smtpc->pp, "AUTH %s", mech);
458 struct smtp_conn *smtpc = &data->conn->proto.smtpc;
462 return Curl_pp_sendf(data, &smtpc->pp,
474 struct smtp_conn *smtpc = &data->conn->proto.smtpc;
478 return Curl_pp_sendf(data, &smtpc->pp, "*");
492 struct smtp_conn *smtpc = &conn->proto.smtpc;
497 if(!smtpc->auth_supported ||
498 !Curl_sasl_can_authenticate(&smtpc->sasl, data)) {
504 result = Curl_sasl_start(&smtpc->sasl, data, FALSE, &progress);
551 utf8 = (conn->proto.smtpc.utf8_supported) &&
557 result = Curl_pp_sendf(data, &conn->proto.smtpc.pp, "VRFY %s%s%s%s",
569 utf8 = (conn->proto.smtpc.utf8_supported) &&
573 result = Curl_pp_sendf(data, &conn->proto.smtpc.pp,
581 result = Curl_pp_sendf(data, &conn->proto.smtpc.pp, "%s",
625 utf8 = (conn->proto.smtpc.utf8_supported) &&
649 if(data->set.str[STRING_MAIL_AUTH] && conn->proto.smtpc.sasl.authused) {
665 if((!utf8) && (conn->proto.smtpc.utf8_supported) &&
727 if(conn->proto.smtpc.size_supported && data->state.infilesize > 0) {
742 if(conn->proto.smtpc.utf8_supported && !utf8) {
756 result = Curl_pp_sendf(data, &conn->proto.smtpc.pp,
800 result = Curl_pp_sendf(data, &conn->proto.smtpc.pp, "RCPT TO:<%s@%s>",
805 result = Curl_pp_sendf(data, &conn->proto.smtpc.pp, "RCPT TO:<%s>",
827 CURLcode result = Curl_pp_sendf(data, &conn->proto.smtpc.pp, "%s", "QUIT");
862 if(data->conn->proto.smtpc.pp.overflow)
885 struct smtp_conn *smtpc = &conn->proto.smtpc;
886 const char *line = Curl_dyn_ptr(&smtpc->pp.recvbuf);
887 size_t len = smtpc->pp.nfinal;
906 smtpc->tls_supported = TRUE;
910 smtpc->size_supported = TRUE;
914 smtpc->utf8_supported = TRUE;
918 smtpc->auth_supported = TRUE;
950 smtpc->sasl.authmechs |= mechbit;
960 if(smtpc->tls_supported)
1008 struct smtp_conn *smtpc = &conn->proto.smtpc;
1013 result = Curl_sasl_continue(&smtpc->sasl, data, smtpcode, &progress);
1036 char *line = Curl_dyn_ptr(&data->conn->proto.smtpc.pp.recvbuf);
1037 size_t len = data->conn->proto.smtpc.pp.nfinal;
1138 result = Curl_pp_sendf(data, &conn->proto.smtpc.pp, "%s", "DATA");
1199 struct smtp_conn *smtpc = &conn->proto.smtpc;
1200 struct pingpong *pp = &smtpc->pp;
1204 if(smtpc->state == SMTP_UPGRADETLS)
1218 if(smtpc->state != SMTP_QUIT && smtpcode != 1)
1225 switch(smtpc->state) {
1227 result = smtp_state_servergreet_resp(data, smtpcode, smtpc->state);
1231 result = smtp_state_ehlo_resp(data, conn, smtpcode, smtpc->state);
1235 result = smtp_state_helo_resp(data, smtpcode, smtpc->state);
1239 result = smtp_state_starttls_resp(data, smtpcode, smtpc->state);
1243 result = smtp_state_auth_resp(data, smtpcode, smtpc->state);
1247 result = smtp_state_command_resp(data, smtpcode, smtpc->state);
1251 result = smtp_state_mail_resp(data, smtpcode, smtpc->state);
1255 result = smtp_state_rcpt_resp(data, conn, smtpcode, smtpc->state);
1259 result = smtp_state_data_resp(data, smtpcode, smtpc->state);
1263 result = smtp_state_postdata_resp(data, smtpcode, smtpc->state);
1272 } while(!result && smtpc->state != SMTP_STOP && Curl_pp_moredata(pp));
1282 struct smtp_conn *smtpc = &conn->proto.smtpc;
1284 if((conn->handler->flags & PROTOPT_SSL) && !smtpc->ssldone) {
1287 smtpc->ssldone = ssldone;
1288 if(result || !smtpc->ssldone)
1292 result = Curl_pp_statemach(data, &smtpc->pp, FALSE, FALSE);
1293 *done = (smtpc->state == SMTP_STOP) ? TRUE : FALSE;
1303 struct smtp_conn *smtpc = &conn->proto.smtpc;
1305 while(smtpc->state != SMTP_STOP && !result)
1306 result = Curl_pp_statemach(data, &smtpc->pp, TRUE, disconnecting);
1329 return Curl_pp_getsock(data, &conn->proto.smtpc.pp, socks);
1346 struct smtp_conn *smtpc = &conn->proto.smtpc;
1347 struct pingpong *pp = &smtpc->pp;
1357 Curl_sasl_init(&smtpc->sasl, data, &saslsmtp);
1395 struct pingpong *pp = &conn->proto.smtpc.pp;
1563 struct smtp_conn *smtpc = &conn->proto.smtpc;
1576 Curl_pp_disconnect(&smtpc->pp);
1579 Curl_sasl_cleanup(conn, smtpc->sasl.authused);
1582 Curl_safefree(smtpc->domain);
1676 struct smtp_conn *smtpc = &conn->proto.smtpc;
1692 result = Curl_sasl_parse_url_auth_option(&smtpc->sasl,
1714 struct smtp_conn *smtpc = &conn->proto.smtpc;
1727 return Curl_urldecode(path, 0, &smtpc->domain, NULL, REJECT_CTRL);