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