diff options
author | dknn <yoann.blein@free.fr> | 2012-08-29 11:16:57 (GMT) |
---|---|---|
committer | dknn <yoann.blein@free.fr> | 2012-09-22 09:34:49 (GMT) |
commit | 949278e9418e4090c2f3c68ed313cf4853b25ef1 (patch) | |
tree | f66f927a7325af16cb1e8444b40d06a649d09fb5 /Swiften/Network/NATPMPInterface.cpp | |
parent | 56b5b129c2fbea3828faaf0cdf882534c2433eff (diff) | |
download | swift-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.cpp | 6 |
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 { |