summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/FileTransfer/SOCKS5BytestreamServerManager.cpp')
-rw-r--r--Swiften/FileTransfer/SOCKS5BytestreamServerManager.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/Swiften/FileTransfer/SOCKS5BytestreamServerManager.cpp b/Swiften/FileTransfer/SOCKS5BytestreamServerManager.cpp
index 43d3e46..3137163 100644
--- a/Swiften/FileTransfer/SOCKS5BytestreamServerManager.cpp
+++ b/Swiften/FileTransfer/SOCKS5BytestreamServerManager.cpp
@@ -189,12 +189,16 @@ void SOCKS5BytestreamServerManager::stop() {
getPublicIPRequest.reset();
}
if (forwardPortRequest) {
forwardPortRequest->stop();
forwardPortRequest.reset();
}
+ if (server) {
+ server->stop();
+ server = NULL;
+ }
if (connectionServer) {
connectionServer->stop();
connectionServer.reset();
}
state = Start;
@@ -220,12 +224,13 @@ void SOCKS5BytestreamServerManager::handleForwardPortResult(boost::optional<NATP
}
else {
SWIFT_LOG(debug) << "Mapping port has failed." << std::endl;
}
portMapping = mapping;
+ onPortForwardingSetup(mapping.is_initialized());
forwardPortRequest->stop();
forwardPortRequest.reset();
}
void SOCKS5BytestreamServerManager::handleUnforwardPortResult(boost::optional<bool> result) {