summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEdwin Mons <edwin.mons@isode.com>2018-11-09 08:51:10 (GMT)
committerEdwin Mons <edwin.mons@isode.com>2018-11-09 10:05:12 (GMT)
commita45eed2d826f60a20dfd1f4f06df37d1f83263f8 (patch)
tree7593509f9b89630ff70d5c9e1d14966435a4ab8a
parent644db9fce94670e610db46bdd28eb9d1e658a798 (diff)
downloadswift-a45eed2d826f60a20dfd1f4f06df37d1f83263f8.zip
swift-a45eed2d826f60a20dfd1f4f06df37d1f83263f8.tar.bz2
Store NATPortMapping lifetime as uint32_t
The NAT-PMP RFC specifies lifetime as an unsigned, 32 bit integer, so using this internally makes sense. This also removes the need for casts in interface code. A slight bug in the NATPMPInterface implementation to remove a mapping has been addressed. Test-Information: Unit tests pass on macOS 10.13 Change-Id: I06687fd2735a8706f339f85d6c957ad7aadaaf02
-rw-r--r--Swiften/Network/MiniUPnPInterface.cpp2
-rw-r--r--Swiften/Network/NATPMPInterface.cpp8
-rw-r--r--Swiften/Network/NATPortMapping.h8
3 files changed, 7 insertions, 11 deletions
diff --git a/Swiften/Network/MiniUPnPInterface.cpp b/Swiften/Network/MiniUPnPInterface.cpp
index af3b67c..8425c77 100644
--- a/Swiften/Network/MiniUPnPInterface.cpp
+++ b/Swiften/Network/MiniUPnPInterface.cpp
@@ -16,4 +16,2 @@
-#include <boost/lexical_cast.hpp>
-
#include <miniupnpc.h>
diff --git a/Swiften/Network/NATPMPInterface.cpp b/Swiften/Network/NATPMPInterface.cpp
index 8ab26d4..0c33c1f 100644
--- a/Swiften/Network/NATPMPInterface.cpp
+++ b/Swiften/Network/NATPMPInterface.cpp
@@ -16,4 +16,2 @@
-#include <boost/numeric/conversion/cast.hpp>
-
#include <Swiften/Base/Log.h>
@@ -83,3 +81,3 @@ boost::optional<NATPortMapping> NATPMPInterface::addPortForward(unsigned short l
mapping.getPublicPort(),
- boost::numeric_cast<uint32_t>(mapping.getLeaseInSeconds())) < 0) {
+ mapping.getLeaseInSeconds()) < 0) {
SWIFT_LOG(debug) << "Failed to send NAT-PMP port forwarding request!" << std::endl;
@@ -106,3 +104,3 @@ boost::optional<NATPortMapping> NATPMPInterface::addPortForward(unsigned short l
if (r == 0) {
- NATPortMapping result(response.pnu.newportmapping.privateport, response.pnu.newportmapping.mappedpublicport, NATPortMapping::TCP, boost::numeric_cast<int>(response.pnu.newportmapping.lifetime));
+ NATPortMapping result(response.pnu.newportmapping.privateport, response.pnu.newportmapping.mappedpublicport, NATPortMapping::TCP, response.pnu.newportmapping.lifetime);
return result;
@@ -116,3 +114,3 @@ boost::optional<NATPortMapping> NATPMPInterface::addPortForward(unsigned short l
bool NATPMPInterface::removePortForward(const NATPortMapping& mapping) {
- if (sendnewportmappingrequest(&p->natpmp, mapping.getProtocol() == NATPortMapping::TCP ? NATPMP_PROTOCOL_TCP : NATPMP_PROTOCOL_UDP, 0, 0, boost::numeric_cast<uint32_t>(mapping.getLocalPort())) < 0) {
+ if (sendnewportmappingrequest(&p->natpmp, mapping.getProtocol() == NATPortMapping::TCP ? NATPMP_PROTOCOL_TCP : NATPMP_PROTOCOL_UDP, mapping.getLocalPort(), 0, 0) < 0) {
SWIFT_LOG(debug) << "Failed to send NAT-PMP remove forwarding request!" << std::endl;
diff --git a/Swiften/Network/NATPortMapping.h b/Swiften/Network/NATPortMapping.h
index b68052d..bf0fb1c 100644
--- a/Swiften/Network/NATPortMapping.h
+++ b/Swiften/Network/NATPortMapping.h
@@ -7,3 +7,3 @@
/*
- * Copyright (c) 2015 Isode Limited.
+ * Copyright (c) 2015-2018 Isode Limited.
* All rights reserved.
@@ -25,3 +25,3 @@ namespace Swift {
- NATPortMapping(unsigned short localPort, unsigned short publicPort, Protocol protocol = TCP, int leaseInSeconds = 60 * 60 * 24) :
+ NATPortMapping(unsigned short localPort, unsigned short publicPort, Protocol protocol = TCP, uint32_t leaseInSeconds = 60 * 60 * 24) :
publicPort(publicPort), localPort(localPort), protocol(protocol), leaseInSeconds(leaseInSeconds) {
@@ -42,3 +42,3 @@ namespace Swift {
- int getLeaseInSeconds() const {
+ uint32_t getLeaseInSeconds() const {
return leaseInSeconds;
@@ -50,3 +50,3 @@ namespace Swift {
Protocol protocol;
- int leaseInSeconds;
+ uint32_t leaseInSeconds;
};