Example #1
0
static int mailimap_cfsocket_connect_voip(mailimap * f, const char * server, uint16_t port, int voip_enabled)
{
  mailstream * stream;
  
  stream = mailstream_cfstream_open_voip_timeout(server, port, voip_enabled, f->imap_timeout);
  if (stream == NULL) {
    return MAILIMAP_ERROR_CONNECTION_REFUSED;
  }
  
  return mailimap_connect(f, stream);
}
Example #2
0
static int mailimap_cfssl_connect_voip_ssl_level(mailimap * f, const char * server, uint16_t port, int voip_enabled, int ssl_level)
{
  mailstream * stream;
  int r;
  
  stream = mailstream_cfstream_open_voip_timeout(server, port, voip_enabled, f->imap_timeout);
  if (stream == NULL) {
    return MAILIMAP_ERROR_CONNECTION_REFUSED;
  }
  mailstream_cfstream_set_ssl_level(stream, ssl_level);
  mailstream_cfstream_set_ssl_verification_mask(stream, MAILSTREAM_CFSTREAM_SSL_DISABLE_VALIDATES_CERTIFICATE_CHAIN);
  r = mailstream_cfstream_set_ssl_enabled(stream, 1);
  if (r < 0) {
    mailstream_close(stream);
    return MAILIMAP_ERROR_SSL;
  }
  
  return mailimap_connect(f, stream);
}
mailstream * mailstream_cfstream_open_voip(const char * hostname, int16_t port, int voip_enabled)
{
	return mailstream_cfstream_open_voip_timeout(hostname, port, voip_enabled, 0);
}
mailstream * mailstream_cfstream_open_timeout(const char * hostname, int16_t port, time_t timeout)
{
	return mailstream_cfstream_open_voip_timeout(hostname, port, 0, timeout);
}