예제 #1
0
static int mailpop3_cfsocket_connect(mailpop3 * f, const char * server, uint16_t port)
{
    mailstream * stream;

    stream = mailstream_cfstream_open_timeout(server, port, f->pop3_timeout);
    if (stream == NULL) {
        return MAILPOP3_ERROR_CONNECTION_REFUSED;
    }

    return mailpop3_connect(f, stream);
}
예제 #2
0
static int newsnntp_cfsocket_connect(newsnntp * f, const char * server, uint16_t port)
{
  mailstream * stream;
  
  stream = mailstream_cfstream_open_timeout(server, port, f->nntp_timeout);
  if (stream == NULL) {
    return NEWSNNTP_ERROR_STREAM;
  }
  
  return newsnntp_connect(f, stream);
}
예제 #3
0
static int mailsmtp_cfsocket_connect(mailsmtp * session,
                                     const char * server, uint16_t port)
{
  mailstream * stream;
  
  stream = mailstream_cfstream_open_timeout(server, port, session->smtp_timeout);
  if (stream == NULL) {
    return MAILSMTP_ERROR_CONNECTION_REFUSED;
  }
  
  return mailsmtp_connect(session, stream);
}
예제 #4
0
static int mailpop3_cfssl_connect_ssl_level(mailpop3 * f, const char * server, uint16_t port, int ssl_level)
{
  mailstream * stream;
  int r;
  
  stream = mailstream_cfstream_open_timeout(server, port, f->pop3_timeout);
  if (stream == NULL) {
    return MAILPOP3_ERROR_CONNECTION_REFUSED;
  }
  mailstream_cfstream_set_ssl_level(stream, ssl_level);
  mailstream_cfstream_set_ssl_verification_mask(stream, MAILSTREAM_CFSTREAM_SSL_NO_VERIFICATION);
  r = mailstream_cfstream_set_ssl_enabled(stream, 1);
  if (r < 0) {
    mailstream_close(stream);
    return MAILPOP3_ERROR_SSL;
  }
  
  return mailpop3_connect(f, stream);
}