author | alwin <alwin> | 2004-10-27 00:20:35 (UTC) |
---|---|---|
committer | alwin <alwin> | 2004-10-27 00:20:35 (UTC) |
commit | e44d35ca3fd26ef7a3184b07516f6535d8844a83 (patch) (side-by-side diff) | |
tree | 4c4ac98450106bb9b05ca76bf5f29e2b6d4fc58b | |
parent | ae5855babec6e46802be89ee408d26a2cbbb1981 (diff) | |
download | opie-e44d35ca3fd26ef7a3184b07516f6535d8844a83.zip opie-e44d35ca3fd26ef7a3184b07516f6535d8844a83.tar.gz opie-e44d35ca3fd26ef7a3184b07516f6535d8844a83.tar.bz2 |
fixed a bug within tls support
-rw-r--r-- | noncore/net/mail/libmailwrapper/imapwrapper.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/noncore/net/mail/libmailwrapper/imapwrapper.cpp b/noncore/net/mail/libmailwrapper/imapwrapper.cpp index 8e5212b..576804d 100644 --- a/noncore/net/mail/libmailwrapper/imapwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/imapwrapper.cpp @@ -64,27 +64,29 @@ bool IMAPwrapper::start_tls(bool force_tls) if (cap->cap_type == MAILIMAP_CAPABILITY_NAME) { if (strcasecmp(cap->cap_data.cap_name, "STARTTLS") == 0) { try_tls = true; break; } } } if (cap_data) { mailimap_capability_data_free(cap_data); } if (try_tls) { err = mailimap_starttls(m_imap); - if (err != MAILIMAP_NO_ERROR && force_tls) { + if (err != MAILIMAP_NO_ERROR) { + if (force_tls) { Global::statusMessage(tr("Server has no TLS support!")); odebug << "Server has no TLS support!" << oendl; + } try_tls = false; } else { mailstream_low * low; mailstream_low * new_low; low = mailstream_get_low(m_imap->imap_stream); if (!low) { try_tls = false; } else { int fd = mailstream_low_get_fd(low); if (fd > -1 && (new_low = mailstream_low_ssl_open(fd))!=0) { mailstream_low_free(low); mailstream_set_low(m_imap->imap_stream, new_low); @@ -176,25 +178,25 @@ void IMAPwrapper::login() bool ok = true; if (force_tls && !try_tls) { Global::statusMessage(tr("Server has no TLS support!")); odebug << "Server has no TLS support!" << oendl; ok = false; } /* login */ if (ok) { - err = mailimap_login_simple( m_imap, (char*)user, (char*)pass ); + err = mailimap_login( m_imap, (char*)user, (char*)pass ); if ( err != MAILIMAP_NO_ERROR ) { Global::statusMessage(tr("error logging in imap server: %1").arg(m_imap->imap_response)); ok = false; } } if (!ok) { err = mailimap_close( m_imap ); mailimap_free( m_imap ); m_imap = 0; } } |