summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordknn <yoann.blein@free.fr>2012-08-29 11:16:57 (GMT)
committerdknn <yoann.blein@free.fr>2012-09-22 09:34:49 (GMT)
commit949278e9418e4090c2f3c68ed313cf4853b25ef1 (patch)
treef66f927a7325af16cb1e8444b40d06a649d09fb5 /Swiften/Network/NATPMPInterface.cpp
parent56b5b129c2fbea3828faaf0cdf882534c2433eff (diff)
downloadswift-contrib-949278e9418e4090c2f3c68ed313cf4853b25ef1.zip
swift-contrib-949278e9418e4090c2f3c68ed313cf4853b25ef1.tar.bz2
Add UDP support in nat traversal
Diffstat (limited to 'Swiften/Network/NATPMPInterface.cpp')
-rw-r--r--Swiften/Network/NATPMPInterface.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/Swiften/Network/NATPMPInterface.cpp b/Swiften/Network/NATPMPInterface.cpp
index 220e3e9..2634eaf 100644
--- a/Swiften/Network/NATPMPInterface.cpp
+++ b/Swiften/Network/NATPMPInterface.cpp
@@ -61,8 +61,8 @@ boost::optional<HostAddress> NATPMPInterface::getPublicIP() {
}
}
-boost::optional<NATPortMapping> NATPMPInterface::addPortForward(int localPort, int publicPort) {
- NATPortMapping mapping(localPort, publicPort, NATPortMapping::TCP);
+boost::optional<NATPortMapping> NATPMPInterface::addPortForward(int localPort, int publicPort, NATPortMapping::Protocol protocol) {
+ NATPortMapping mapping(localPort, publicPort, protocol);
if (sendnewportmappingrequest(&p->natpmp, mapping.getProtocol() == NATPortMapping::TCP ? NATPMP_PROTOCOL_TCP : NATPMP_PROTOCOL_UDP, mapping.getLeaseInSeconds(), mapping.getPublicPort(), mapping.getLocalPort()) < 0) {
SWIFT_LOG(debug) << "Failed to send NAT-PMP port forwarding request!" << std::endl;
return boost::optional<NATPortMapping>();
@@ -81,7 +81,7 @@ boost::optional<NATPortMapping> NATPMPInterface::addPortForward(int localPort, i
} while(r == NATPMP_TRYAGAIN);
if (r == 0) {
- NATPortMapping result(response.pnu.newportmapping.privateport, response.pnu.newportmapping.mappedpublicport, NATPortMapping::TCP, response.pnu.newportmapping.lifetime);
+ NATPortMapping result(response.pnu.newportmapping.privateport, response.pnu.newportmapping.mappedpublicport, protocol, response.pnu.newportmapping.lifetime);
return result;
}
else {