r157 - in /debtorrent/trunk: DebTorrent/RawServer.py DebTorrent/SocketHandler.py DebTorrent/download_bt1.py DebTorrent/launchmanycore.py DebTorrent/natpunch.py btdownloadheadless.py
camrdale-guest at users.alioth.debian.org
camrdale-guest at users.alioth.debian.org
Fri Jul 13 19:47:25 UTC 2007
Author: camrdale-guest
Date: Fri Jul 13 19:47:25 2007
New Revision: 157
URL: http://svn.debian.org/wsvn/debtorrent/?sc=1&rev=157
Log:
Remove all the UPnP stuff since it was Windows-only.
Removed:
debtorrent/trunk/DebTorrent/natpunch.py
Modified:
debtorrent/trunk/DebTorrent/RawServer.py
debtorrent/trunk/DebTorrent/SocketHandler.py
debtorrent/trunk/DebTorrent/download_bt1.py
debtorrent/trunk/DebTorrent/launchmanycore.py
debtorrent/trunk/btdownloadheadless.py
Modified: debtorrent/trunk/DebTorrent/RawServer.py
URL: http://svn.debian.org/wsvn/debtorrent/debtorrent/trunk/DebTorrent/RawServer.py?rev=157&op=diff
==============================================================================
--- debtorrent/trunk/DebTorrent/RawServer.py (original)
+++ debtorrent/trunk/DebTorrent/RawServer.py Fri Jul 13 19:47:25 2007
@@ -12,7 +12,7 @@
"""
from bisect import insort
-from SocketHandler import SocketHandler, UPnP_ERROR
+from SocketHandler import SocketHandler
import socket
from cStringIO import StringIO
from traceback import print_exc
@@ -197,7 +197,7 @@
self.sockethandler.scan_for_timeouts()
def bind(self, port, bind = '', reuse = False,
- ipv6_socket_style = 1, upnp = False):
+ ipv6_socket_style = 1):
"""Bind to listen on a single port.
@type port: C{int}
@@ -211,16 +211,13 @@
@type ipv6_socket_style: C{int}
@param ipv6_socket_style: whether an IPv6 server socket will also
field IPv4 connections (optional, defaults to yes)
- @type upnp: C{boolean}
- @param upnp: whether to attempt to use UPnP to open the port in a
- firewall (optional, defaults to False)
-
- """
-
- self.sockethandler.bind(port, bind, reuse, ipv6_socket_style, upnp)
+
+ """
+
+ self.sockethandler.bind(port, bind, reuse, ipv6_socket_style)
def find_and_bind(self, minport, maxport, bind = '', reuse = False,
- ipv6_socket_style = 1, upnp = 0, randomizer = False):
+ ipv6_socket_style = 1, randomizer = False):
"""Bind to listen on a single port within a range.
@type minport: C{int}
@@ -238,9 +235,6 @@
@type ipv6_socket_style: C{int}
@param ipv6_socket_style: whether an IPv6 server socket will also
field IPv4 connections (optional, defaults to yes)
- @type upnp: C{boolean}
- @param upnp: whether to attempt to use UPnP to open the port in a
- firewall (optional, defaults to False)
@type randomizer: C{boolean}
@param randomizer: whether to randomize the range or use it sequentially
@rtype: C{int}
@@ -249,7 +243,7 @@
"""
return self.sockethandler.find_and_bind(minport, maxport, bind, reuse,
- ipv6_socket_style, upnp, randomizer)
+ ipv6_socket_style, randomizer)
def start_connection_raw(self, dns, socktype, handler = None):
"""Initiate a new connection to a peer (setting the type of socket).
Modified: debtorrent/trunk/DebTorrent/SocketHandler.py
URL: http://svn.debian.org/wsvn/debtorrent/debtorrent/trunk/DebTorrent/SocketHandler.py?rev=157&op=diff
==============================================================================
--- debtorrent/trunk/DebTorrent/SocketHandler.py (original)
+++ debtorrent/trunk/DebTorrent/SocketHandler.py Fri Jul 13 19:47:25 2007
@@ -8,8 +8,6 @@
@type all: C{int}
@var all: all events to check for, both input and output
- at type UPnP_ERROR: C{string}
- at var UPnP_ERROR: the error string used for UPnP errors
"""
@@ -25,7 +23,6 @@
from clock import clock
import sys
from random import shuffle, randrange
-from natpunch import UPnP_open_port, UPnP_close_port
# from BT1.StreamCheck import StreamCheck
# import inspect
try:
@@ -35,8 +32,6 @@
False = 0
all = POLLIN | POLLOUT
-
-UPnP_ERROR = "unable to forward port via UPnP"
class SingleSocket:
"""Manage a single socket.
@@ -229,8 +224,6 @@
@ivar dead_from_write: the sockets that have failed due to writing
@type max_connects: C{int}
@ivar max_connects: the maximum number of sockets to have open at atime
- @type port_forwarded: C{int}
- @ivar port_forwarded: the port that was forwarded by UPnP
@type servers: C{dictionary} of {C{int}: C{socket.socket}}
@ivar servers: the socket listeners, keys are the file numbers
@type interfaces: C{list} of C{string}
@@ -265,7 +258,6 @@
self.single_sockets = {}
self.dead_from_write = []
self.max_connects = 1000
- self.port_forwarded = None
self.servers = {}
self.interfaces = []
self.ports = []
@@ -282,7 +274,7 @@
if k.socket is not None:
self._close_socket(k)
- def bind(self, port, bind = '', reuse = False, ipv6_socket_style = 1, upnp = 0):
+ def bind(self, port, bind = '', reuse = False, ipv6_socket_style = 1):
"""Bind to listen on a single port.
@type port: C{int}
@@ -296,10 +288,7 @@
@type ipv6_socket_style: C{int}
@param ipv6_socket_style: whether an IPv6 server socket will also
field IPv4 connections (optional, defaults to yes)
- @type upnp: C{boolean}
- @param upnp: whether to attempt to use UPnP to open the port in a
- firewall (optional, defaults to False)
- @raise socket.error: if the port can not be bound or UPnP fails
+ @raise socket.error: if the port can not be bound
"""
@@ -352,17 +341,6 @@
raise socket.error(str(e))
if not newservers:
raise socket.error('unable to open server port')
- if upnp:
- if not UPnP_open_port(port):
- for server in newservers.values():
- try:
- server.close()
- except:
- pass
- newservers = None
- newinterfaces = None
- raise socket.error(UPnP_ERROR)
- self.port_forwarded = port
self.ports.append(port)
# Save the newly created items
for key,value in newservers.items():
@@ -371,7 +349,7 @@
self.interfaces.append(item)
def find_and_bind(self, minport, maxport, bind = '', reuse = False,
- ipv6_socket_style = 1, upnp = 0, randomizer = False):
+ ipv6_socket_style = 1, randomizer = False):
"""Bind to listen on a single port within a range.
@type minport: C{int}
@@ -389,9 +367,6 @@
@type ipv6_socket_style: C{int}
@param ipv6_socket_style: whether an IPv6 server socket will also
field IPv4 connections (optional, defaults to yes)
- @type upnp: C{boolean}
- @param upnp: whether to attempt to use UPnP to open the port in a
- firewall (optional, defaults to False)
@type randomizer: C{boolean}
@param randomizer: whether to randomize the range or use it sequentially
@rtype: C{int}
@@ -415,7 +390,7 @@
for listen_port in portrange:
try:
self.bind(listen_port, bind,
- ipv6_socket_style = ipv6_socket_style, upnp = upnp)
+ ipv6_socket_style = ipv6_socket_style)
return listen_port
except socket.error, e:
pass
@@ -628,8 +603,7 @@
"""
return { 'interfaces': self.interfaces,
- 'port': self.ports,
- 'upnp': self.port_forwarded is not None }
+ 'port': self.ports }
def shutdown(self):
@@ -644,6 +618,4 @@
server.close()
except:
pass
- if self.port_forwarded is not None:
- UPnP_close_port(self.port_forwarded)
-
+
Modified: debtorrent/trunk/DebTorrent/download_bt1.py
URL: http://svn.debian.org/wsvn/debtorrent/debtorrent/trunk/DebTorrent/download_bt1.py?rev=157&op=diff
==============================================================================
--- debtorrent/trunk/DebTorrent/download_bt1.py (original)
+++ debtorrent/trunk/DebTorrent/download_bt1.py Fri Jul 13 19:47:25 2007
@@ -37,7 +37,6 @@
from BT1.Statistics import Statistics
from ConfigDir import ConfigDir
from bencode import bencode, bdecode
-from natpunch import UPnP_test
from sha import sha
from os import path, makedirs, listdir
from parseargs import parseargs, formatDefinitions, defaultargs
@@ -222,9 +221,6 @@
('priority', '',
'a list of file priorities separated by commas, must be one per file, ' +
'0 = highest, 1 = normal, 2 = lowest, -1 = download disabled'),
- ('upnp_nat_access', 1,
- 'attempt to autoconfigure a UPnP router to forward a server port ' +
- '(0 = disabled, 1 = mode 1 [fast], 2 = mode 2 [slow])'),
('display_interval', .5,
'time between updates of displayed information'),
('spew', 0,
@@ -292,11 +288,10 @@
config['timeout'], ipv6_enable = config['ipv6_enabled'],
failfunc = failed, errorfunc = exchandler)
- upnp_type = UPnP_test(config['upnp_nat_access'])
try:
listen_port = rawserver.find_and_bind(config['minport'], config['maxport'],
config['bind'], ipv6_socket_style = config['ipv6_binds_v4'],
- upnp = upnp_type, randomizer = config['random_port'])
+ randomizer = config['random_port'])
except socketerror, e:
failed("Couldn't listen - " + str(e))
return
Modified: debtorrent/trunk/DebTorrent/launchmanycore.py
URL: http://svn.debian.org/wsvn/debtorrent/debtorrent/trunk/DebTorrent/launchmanycore.py?rev=157&op=diff
==============================================================================
--- debtorrent/trunk/DebTorrent/launchmanycore.py (original)
+++ debtorrent/trunk/DebTorrent/launchmanycore.py Fri Jul 13 19:47:25 2007
@@ -18,10 +18,9 @@
pass
from download_bt1 import BT1Download
-from RawServer import RawServer, UPnP_ERROR
+from RawServer import RawServer
from RateLimiter import RateLimiter
from ServerPortHandler import MultiHandler
-from natpunch import UPnP_test
from random import seed
from socket import error as socketerror
from threading import Event
@@ -355,21 +354,14 @@
self.rawserver = RawServer(self.doneflag, config['timeout_check_interval'],
config['timeout'], ipv6_enable = config['ipv6_enabled'],
failfunc = self.failed, errorfunc = self.exchandler)
- upnp_type = UPnP_test(config['upnp_nat_access'])
- while True:
- try:
- self.listen_port = self.rawserver.find_and_bind(
- config['minport'], config['maxport'], config['bind'],
- ipv6_socket_style = config['ipv6_binds_v4'],
- upnp = upnp_type, randomizer = config['random_port'])
- break
- except socketerror, e:
- if upnp_type and e == UPnP_ERROR:
- self.Output.message('WARNING: COULD NOT FORWARD VIA UPnP')
- upnp_type = 0
- continue
- self.failed("Couldn't listen - " + str(e))
- return
+ try:
+ self.listen_port = self.rawserver.find_and_bind(
+ config['minport'], config['maxport'], config['bind'],
+ ipv6_socket_style = config['ipv6_binds_v4'],
+ randomizer = config['random_port'])
+ except socketerror, e:
+ self.failed("Couldn't listen - " + str(e))
+ return
self.aptlistener = AptListener(self, config, self.rawserver)
self.rawserver.bind(config['port'], config['bind'],
Modified: debtorrent/trunk/btdownloadheadless.py
URL: http://svn.debian.org/wsvn/debtorrent/debtorrent/trunk/btdownloadheadless.py?rev=157&op=diff
==============================================================================
--- debtorrent/trunk/btdownloadheadless.py (original)
+++ debtorrent/trunk/btdownloadheadless.py Fri Jul 13 19:47:25 2007
@@ -23,11 +23,10 @@
pass
from DebTorrent.download_bt1 import BT1Download, defaults, parse_params, get_usage, get_response
-from DebTorrent.RawServer import RawServer, UPnP_ERROR
+from DebTorrent.RawServer import RawServer
from random import seed
from socket import error as socketerror
from DebTorrent.bencode import bencode
-from DebTorrent.natpunch import UPnP_test
from threading import Event
from os.path import abspath
from sys import argv, stdout
@@ -285,21 +284,14 @@
rawserver = RawServer(doneflag, config['timeout_check_interval'],
config['timeout'], ipv6_enable = config['ipv6_enabled'],
failfunc = h.failed, errorfunc = disp_exception)
- upnp_type = UPnP_test(config['upnp_nat_access'])
- while True:
- try:
- listen_port = rawserver.find_and_bind(config['minport'], config['maxport'],
- config['bind'], ipv6_socket_style = config['ipv6_binds_v4'],
- upnp = upnp_type, randomizer = config['random_port'])
- break
- except socketerror, e:
- if upnp_type and e == UPnP_ERROR:
- print 'WARNING: COULD NOT FORWARD VIA UPnP'
- upnp_type = 0
- continue
- print "error: Couldn't listen - " + str(e)
- h.failed()
- return
+ try:
+ listen_port = rawserver.find_and_bind(config['minport'], config['maxport'],
+ config['bind'], ipv6_socket_style = config['ipv6_binds_v4'],
+ randomizer = config['random_port'])
+ except socketerror, e:
+ print "error: Couldn't listen - " + str(e)
+ h.failed()
+ return
aptlistener = AptListener(config, rawserver)
rawserver.bind(config['port'], config['bind'],
More information about the Debtorrent-commits
mailing list