UPNP.cpp File Reference

Utilities to help poke holes in evil NATs. More...

#include "UPNP.h"
#include "UDP.h"
#include "TCP.h"
#include "../base/Memory.h"
#include "../base/Locks.h"
#include "../base/DebugRouter.h"
#include "../base/Timer.h"
#include "../base/MiscStuff.h"
#include "PlatformSockets.h"
#include <algorithm>
#include <cctype>

Include dependency graph for UPNP.cpp:


Namespaces

namespace  NET
namespace  NET::UPNP

Functions

bool NET::UPNP::IsAvailable ()
 Returns whether UPNP service is available on the network. If this returns false, most other functions here will likely fail.
std::string NET::UPNP::GetInternetFacingIP ()
 Retrieves the public internet-facing IP of the local network. If that information is not available, an the IP of the local machine is returned instead.
std::string NET::UPNP::GetDeviceName ()
 Returns the name of the router device that we are talking to with UPNP.
void NET::UPNP::ClaimUDPPort (uint16 port)
 Instructs the router to redirect all UDP packets sent to a specific port to us.
void NET::UPNP::ClaimTCPPort (uint16 port)
 Instructs the router to redirect all TCP connection attempts to a specific port to us.
void NET::UPNP::ReleaseUDPPort (uint16 port)
 Instructs the router that we are no longer interested in a specific udp port.
void NET::UPNP::ReleaseTCPPort (uint16 port)
 Instructs the router that we are no longer interested in a specific tcp port.

Variables

bool NET::UPNP::AllowNinjaNatTechniques = true
 Whether the framework should attempt to try other nat-opening techniques if UPNP is not available when either of the Claim*Port functions are called. These techniques may include sending out packets and trying to open tcp connections. Default is true.

Detailed Description

Utilities to help poke holes in evil NATs.


Generated on Sat Aug 9 15:05:08 2008 for MPMA Framework by  doxygen 1.5.6