Esempio n. 1
0
 def addPortMapping(self, intport, extport, desc, proto='UDP', lease=0):
     "add a port mapping. returns a deferred"
     from .nat import getLocalIPAddress
     from twisted.internet import defer
     cd = defer.Deferred()
     d = getLocalIPAddress()
     d.addCallback(lambda locIP: self._cbAddPortMapping(intport, extport,
                                                        desc, proto, lease,
                                                        locIP, cd))
     return cd
Esempio n. 2
0
def main():
    from twisted.internet import defer
    from shtoom.upnp import getUPnP
    from shtoom.stun import getSTUN
    from shtoom.nat import getLocalIPAddress, getMapper
    ud = getUPnP()
    sd = getSTUN()
    ld = getLocalIPAddress()
    md = getMapper()
    dl = defer.DeferredList([ud, sd, ld, md])
    dl.addCallback(gotResults).addErrback(didntGetResults)
Esempio n. 3
0
def main():
    from twisted.internet import defer
    from shtoom.upnp import getUPnP
    from shtoom.stun import getSTUN
    from shtoom.nat import getLocalIPAddress, getMapper
    ud = getUPnP()
    sd = getSTUN()
    ld = getLocalIPAddress()
    md = getMapper()
    dl = defer.DeferredList([ud, sd, ld, md])
    dl.addCallback(gotResults).addErrback(didntGetResults)
Esempio n. 4
0
File: stun.py Progetto: bmxp/shtoom
 def startDiscovery(self):
     from shtoom.nat import isBogusAddress, getLocalIPAddress
     if _ForceStunType is not None:
         self.natType = _ForceStunType
         reactor.callLater(0, self._finishedStun)
         return
     localAddress = self.transport.getHost().host
     if isBogusAddress(localAddress):
         d = getLocalIPAddress()
         d.addCallback(self._resolveStunServers)
     else:
         self._resolveStunServers(localAddress)
Esempio n. 5
0
 def startDiscovery(self):
     from shtoom.nat import isBogusAddress, getLocalIPAddress
     if _ForceStunType is not None:
         self.natType = _ForceStunType
         reactor.callLater(0, self._finishedStun)
         return
     localAddress = self.transport.getHost().host
     if isBogusAddress(localAddress):
         d = getLocalIPAddress()
         d.addCallback(self._resolveStunServers)
     else:
         self._resolveStunServers(localAddress)
Esempio n. 6
0
 def _cb_map_gotUPnP(self, upnp, port):
     from shtoom.nat import isBogusAddress, getLocalIPAddress
     # XXX Test that upnp is present
     self.upnp = upnp
     # Extract local address from the port
     locAddr = port.getHost().host
     if isBogusAddress(locAddr):
         # lookup local IP.
         d = getLocalIPAddress()
         d.addCallback(lambda x: self._cb_map_gotLocalIP(x, port))
     else:
         self._cb_map_gotLocalIP(locAddr, port)