m_SSL = shared_ptr<SSL>(SSL_new(sslContext.get()), SSL_free);
if (!m_SSL) {
- msgbuf << "SSL_new() failed with code " << ERR_get_error() << ", \"" << ERR_error_string(ERR_get_error(), errbuf) << "\"";
+ msgbuf << "SSL_new() failed with code " << ERR_peek_error() << ", \"" << ERR_error_string(ERR_peek_error(), errbuf) << "\"";
Log(LogCritical, "TlsStream", msgbuf.str());
BOOST_THROW_EXCEPTION(openssl_error()
<< boost::errinfo_api_function("SSL_new")
- << errinfo_openssl_error(ERR_get_error()));
+ << errinfo_openssl_error(ERR_peek_error()));
}
if (!m_SSLIndexInitialized) {
Close();
return;
default:
- msgbuf << "SSL_do_handshake() failed with code " << ERR_get_error() << ", \"" << ERR_error_string(ERR_get_error(), errbuf) << "\"";
+ msgbuf << "SSL_do_handshake() failed with code " << ERR_peek_error() << ", \"" << ERR_error_string(ERR_peek_error(), errbuf) << "\"";
Log(LogCritical, "TlsStream", msgbuf.str());
BOOST_THROW_EXCEPTION(openssl_error()
<< boost::errinfo_api_function("SSL_do_handshake")
- << errinfo_openssl_error(ERR_get_error()));
+ << errinfo_openssl_error(ERR_peek_error()));
}
}
}
Close();
return count - left;
default:
- msgbuf << "SSL_read() failed with code " << ERR_get_error() << ", \"" << ERR_error_string(ERR_get_error(), errbuf) << "\"";
+ msgbuf << "SSL_read() failed with code " << ERR_peek_error() << ", \"" << ERR_error_string(ERR_peek_error(), errbuf) << "\"";
Log(LogCritical, "TlsStream", msgbuf.str());
BOOST_THROW_EXCEPTION(openssl_error()
<< boost::errinfo_api_function("SSL_read")
- << errinfo_openssl_error(ERR_get_error()));
+ << errinfo_openssl_error(ERR_peek_error()));
}
}
Close();
return;
default:
- msgbuf << "SSL_write() failed with code " << ERR_get_error() << ", \"" << ERR_error_string(ERR_get_error(), errbuf) << "\"";
+ msgbuf << "SSL_write() failed with code " << ERR_peek_error() << ", \"" << ERR_error_string(ERR_peek_error(), errbuf) << "\"";
Log(LogCritical, "TlsStream", msgbuf.str());
BOOST_THROW_EXCEPTION(openssl_error()
<< boost::errinfo_api_function("SSL_write")
- << errinfo_openssl_error(ERR_get_error()));
+ << errinfo_openssl_error(ERR_peek_error()));
}
}
void ApiListener::SyncZoneDir(const Zone::Ptr& zone) const
{
- Log(LogInformation, "ApiListener", "Syncing zone: " + zone->GetName());
-
String newDir = Application::GetZonesDir() + "/" + zone->GetName();
String oldDir = Application::GetLocalStateDir() + "/lib/icinga2/api/zones/" + zone->GetName();
+ Log(LogInformation, "ApiListener", "Copying zone configuration files from '" + newDir + "' to '" + oldDir + "'.");
+
if (!Utility::MkDir(oldDir, 0700)) {
std::ostringstream msgbuf;
msgbuf << "mkdir() for path '" << oldDir << "'failed with error code " << errno << ", \"" << Utility::FormatErrorNumber(errno) << "\"";