Fix IP filter

This commit is contained in:
Andrew Resch 2008-10-15 23:57:03 +00:00
parent 130d7c08a0
commit 0534b24609
2 changed files with 14 additions and 6 deletions

View file

@ -5,6 +5,7 @@ Deluge 1.0.3 (In Development)
pause/resume.
* Fix issue where fastresume files would be rejected when using FAT32. This
would cause the torrent to be rechecked on every startup.
* Fix ip filtering
Deluge 1.0.2 (10 October 2008)
Core:

View file

@ -223,6 +223,12 @@ class Core(
self.settings.send_redundant_have = True
self.session.set_settings(self.settings)
# Create an ip filter
self.ip_filter = lt.ip_filter()
# This keeps track of the timer to set the ip filter.. We do this a few
# seconds aftering adding a rule so that 'batch' adding of rules isn't slow.
self._set_ip_filter_timer = None
# Load metadata extension
self.session.add_extension(lt.create_metadata_plugin)
@ -614,12 +620,13 @@ class Core(
def export_block_ip_range(self, range):
"""Block an ip range"""
try:
self.ip_filter.add_rule(range[0], range[1], 1)
except AttributeError:
self.export_reset_ip_filter()
self.ip_filter.add_rule(range[0], range[1], 1)
self.ip_filter.add_rule(range[0], range[1], 1)
# Start a 2 second timer (and remove the previous one if it exists)
if self._set_ip_filter_timer:
gobject.source_remove(self._set_ip_filter_timer)
self._set_ip_filter_timer = gobject.timeout_add(2000, self.session.set_ip_filter, self.ip_filter)
def export_reset_ip_filter(self):
"""Clears the ip filter"""
self.ip_filter = lt.ip_filter()