summaryrefslogtreecommitdiffstats
path: root/src/Core/ConnectionManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Core/ConnectionManager.cpp')
-rw-r--r--src/Core/ConnectionManager.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/Core/ConnectionManager.cpp b/src/Core/ConnectionManager.cpp
index b1cfd40..a537539 100644
--- a/src/Core/ConnectionManager.cpp
+++ b/src/Core/ConnectionManager.cpp
@@ -18,6 +18,7 @@
*/
#include "ConnectionManager.h"
+#include "ConfigManager.h"
#include "RequestHandler/CertificateRequestHandler.h"
#include <Net/ServerConnection.h>
#include <Net/Packet.h>
@@ -51,12 +52,14 @@ void ConnectionManager::refreshPollfds() {
}
}
-ConnectionManager::ConnectionManager(const std::vector<Net::IPAddress> &listenerAddresses) : requestManager(true) {
+ConnectionManager::ConnectionManager(const ConfigManager& configManager) : requestManager(true) {
requestManager.registerPacketType<RequestHandler::CertificateRequestHandler>(Net::Packet::TYPE_CERT_REQ);
+ const std::vector<Net::IPAddress> &listenerAddresses = configManager.getListenerAddresses();
+
if(listenerAddresses.empty()) {
try {
- listeners.push_back(new Net::Listener());
+ listeners.push_back(new Net::Listener(configManager.getX509CertFile(), configManager.getX509KeyFile()));
}
catch(Net::Exception &e) {
// TODO: Log error
@@ -65,7 +68,7 @@ ConnectionManager::ConnectionManager(const std::vector<Net::IPAddress> &listener
else {
for(std::vector<Net::IPAddress>::const_iterator address = listenerAddresses.begin(); address != listenerAddresses.end(); ++address) {
try {
- listeners.push_back(new Net::Listener(*address));
+ listeners.push_back(new Net::Listener(configManager.getX509CertFile(), configManager.getX509KeyFile(), *address));
}
catch(Net::Exception &e) {
// TODO: Log error