summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog26
-rw-r--r--deluge/ui/gtkui/aboutdialog.py2
-rw-r--r--deluge/ui/web/js/deluge-all-debug.js33
-rw-r--r--deluge/ui/web/js/deluge-all.js4
-rw-r--r--docs/man/deluge-console.12
-rw-r--r--docs/man/deluge-gtk.12
-rw-r--r--docs/man/deluge-web.12
-rw-r--r--docs/man/deluge.12
-rw-r--r--docs/man/deluged.12
-rw-r--r--osx/Info.plist8
-rwxr-xr-xsetup.py2
11 files changed, 62 insertions, 23 deletions
diff --git a/ChangeLog b/ChangeLog
index ffaf3b2dc..2de9c5b1f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,29 @@
+=== Deluge 1.3.14 (6 March 2017) ===
+
+==== Core ====
+ * #2889: Fixed 'Too many files open' errors.
+ * #2861: Added support for python-geoip for use with libtorrent 1.1.
+ * #2149: Fixed a single proxy entry being overwritten resulting in no proxy set.
+
+==== UI ====
+ * Added tracker_status translation to UIs.
+
+==== GtkUI ====
+ * #2901: Strip whitespace from infohash before checks.
+ * Add missed feature autofill infohash entry from clipboard.
+
+==== WebUI ====
+ * #1908: Backport bind interface option for server.
+ * Security: Fixed WebUI CSRF Vulnerability.
+
+==== ConsoleUI ====
+ * [#2948] [Console] Fix decode error comparing non-ascii (str) torrent name.
+
+==== AutoAdd Plugin ====
+ * Fixes for splitting magnets from file.
+ * Remove duplicate magnet extension when splitting.
+
+
=== Deluge 1.3.13 (20 July 2016) ===
==== Core ====
* Increase RSA key size from 1024 to 2048 and use SHA256 digest.
diff --git a/deluge/ui/gtkui/aboutdialog.py b/deluge/ui/gtkui/aboutdialog.py
index 99ca45497..78b111724 100644
--- a/deluge/ui/gtkui/aboutdialog.py
+++ b/deluge/ui/gtkui/aboutdialog.py
@@ -57,7 +57,7 @@ class AboutDialog:
version = deluge.common.get_version()
self.about.set_copyright(
- _("Copyright %(year_start)s-%(year_end)s Deluge Team") % {"year_start": 2007, "year_end": 2016})
+ _("Copyright %(year_start)s-%(year_end)s Deluge Team") % {"year_start": 2007, "year_end": 2017})
self.about.set_comments(
_("A peer-to-peer file sharing program\nutilizing the BitTorrent protocol.")
+ "\n\n" + _("Client:") + " %s\n" % version)
diff --git a/deluge/ui/web/js/deluge-all-debug.js b/deluge/ui/web/js/deluge-all-debug.js
index 0b6914284..8cf3cc54b 100644
--- a/deluge/ui/web/js/deluge-all-debug.js
+++ b/deluge/ui/web/js/deluge-all-debug.js
@@ -1281,7 +1281,7 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, {
})();
/*!
* Deluge.details.StatusTab.js
- *
+ *
* Copyright (c) Damien Churchill 2009-2010 <damoxc@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
@@ -1319,19 +1319,19 @@ Ext.ns('Deluge.details');
Deluge.details.StatusTab = Ext.extend(Ext.Panel, {
title: _('Status'),
autoScroll: true,
-
+
onRender: function(ct, position) {
Deluge.details.StatusTab.superclass.onRender.call(this, ct, position);
-
+
this.progressBar = this.add({
xtype: 'progress',
cls: 'x-deluge-status-progressbar'
});
-
+
this.status = this.add({
cls: 'x-deluge-status',
id: 'deluge-details-status',
-
+
border: false,
width: 1000,
listeners: {
@@ -1348,14 +1348,14 @@ Deluge.details.StatusTab = Ext.extend(Ext.Panel, {
}
});
},
-
+
clear: function() {
this.progressBar.updateProgress(0, ' ');
for (var k in this.fields) {
this.fields[k].innerHTML = '';
}
},
-
+
update: function(torrentId) {
if (!this.fields) this.getFields();
deluge.client.web.get_torrent_status(torrentId, Deluge.Keys.Status, {
@@ -1363,14 +1363,14 @@ Deluge.details.StatusTab = Ext.extend(Ext.Panel, {
scope: this
});
},
-
+
onPanelUpdate: function(el, response) {
this.fields = {};
Ext.each(Ext.query('dd', this.status.body.dom), function(field) {
this.fields[field.className] = field;
}, this);
},
-
+
onRequestComplete: function(status) {
seeders = status.total_seeds > -1 ? status.num_seeds + ' (' + status.total_seeds + ')' : status.num_seeds
peers = status.total_peers > -1 ? status.num_peers + ' (' + status.total_peers + ')' : status.num_peers
@@ -1394,9 +1394,22 @@ Deluge.details.StatusTab = Ext.extend(Ext.Panel, {
}
data.auto_managed = _((status.is_auto_managed) ? 'True' : 'False');
+ var translate_tracker_status = {
+ 'Error' : _('Error'),
+ 'Warning' : _('Warning'),
+ 'Announce OK' : _('Announce OK'),
+ 'Announce Sent' : _('Announce Sent')
+ };
+ for (var key in translate_tracker_status) {
+ if (data.tracker_status.indexOf(key) != -1) {
+ data.tracker_status = data.tracker_status.replace(key, translate_tracker_status[key]);
+ break;
+ }
+ }
+
data.downloaded += ' (' + ((status.total_payload_download) ? fsize(status.total_payload_download) : '0.0 KiB') + ')';
data.uploaded += ' (' + ((status.total_payload_upload) ? fsize(status.total_payload_upload): '0.0 KiB') + ')';
-
+
for (var field in this.fields) {
this.fields[field].innerHTML = data[field];
}
diff --git a/deluge/ui/web/js/deluge-all.js b/deluge/ui/web/js/deluge-all.js
index d7eb2d9ac..d5f46cb1c 100644
--- a/deluge/ui/web/js/deluge-all.js
+++ b/deluge/ui/web/js/deluge-all.js
@@ -224,7 +224,7 @@ Deluge.details.OptionsTab=Ext.extend(Ext.form.FormPanel,{constructor:function(a)
(function(){function a(d){if(!d.replace(" ","").replace(" ","")){return""}return String.format('<img src="{0}flag/{1}" />',deluge.config.base,d)}function b(h,i,f){var e=(f.data.seed==1024)?"x-deluge-seed":"x-deluge-peer";var d=h.split(":");if(d.length>2){var g=d.pop();var j=d.join(":");h="["+j+"]:"+g}return String.format('<div class="{0}">{1}</div>',e,h)}function c(e){var d=(e*100).toFixed(0);return Deluge.progressBar(d,this.width-8,d+"%")}Deluge.details.PeersTab=Ext.extend(Ext.grid.GridPanel,{peers:{},constructor:function(d){d=Ext.apply({title:_("Peers"),cls:"x-deluge-peers",store:new Ext.data.Store({reader:new Ext.data.JsonReader({idProperty:"ip",root:"peers"},Deluge.data.Peer)}),columns:[{header:"&nbsp;",width:30,sortable:true,renderer:a,dataIndex:"country"},{header:"Address",width:125,sortable:true,renderer:b,dataIndex:"ip"},{header:"Client",width:125,sortable:true,renderer:fplain,dataIndex:"client"},{header:"Progress",width:150,sortable:true,renderer:c,dataIndex:"progress"},{header:"Down Speed",width:100,sortable:true,renderer:fspeed,dataIndex:"down_speed"},{header:"Up Speed",width:100,sortable:true,renderer:fspeed,dataIndex:"up_speed"}],stripeRows:true,deferredRender:false,autoScroll:true},d);Deluge.details.PeersTab.superclass.constructor.call(this,d)},clear:function(){this.getStore().removeAll();this.peers={}},update:function(d){deluge.client.web.get_torrent_status(d,Deluge.Keys.Peers,{success:this.onRequestComplete,scope:this})},onRequestComplete:function(h,g){if(!h){return}var f=this.getStore();var e=[];var i={};Ext.each(h.peers,function(m){if(this.peers[m.ip]){var j=f.getById(m.ip);j.beginEdit();for(var l in m){if(j.get(l)!=m[l]){j.set(l,m[l])}}j.endEdit()}else{this.peers[m.ip]=1;e.push(new Deluge.data.Peer(m,m.ip))}i[m.ip]=1},this);f.add(e);f.each(function(j){if(!i[j.id]){f.remove(j);delete this.peers[j.id]}},this);f.commitChanges();var d=f.getSortState();if(!d){return}f.sort(d.field,d.direction)}})})();
/*
* Deluge.details.StatusTab.js
- *
+ *
* Copyright (c) Damien Churchill 2009-2010 <damoxc@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
@@ -253,7 +253,7 @@ Deluge.details.OptionsTab=Ext.extend(Ext.form.FormPanel,{constructor:function(a)
* this exception statement from your version. If you delete this exception
* statement from all source files in the program, then also delete it here.
*/
-Ext.ns("Deluge.details");Deluge.details.StatusTab=Ext.extend(Ext.Panel,{title:_("Status"),autoScroll:true,onRender:function(b,a){Deluge.details.StatusTab.superclass.onRender.call(this,b,a);this.progressBar=this.add({xtype:"progress",cls:"x-deluge-status-progressbar"});this.status=this.add({cls:"x-deluge-status",id:"deluge-details-status",border:false,width:1000,listeners:{render:{fn:function(c){c.load({url:deluge.config.base+"render/tab_status.html",text:_("Loading")+"..."});c.getUpdater().on("update",this.onPanelUpdate,this)},scope:this}}})},clear:function(){this.progressBar.updateProgress(0," ");for(var a in this.fields){this.fields[a].innerHTML=""}},update:function(a){if(!this.fields){this.getFields()}deluge.client.web.get_torrent_status(a,Deluge.Keys.Status,{success:this.onRequestComplete,scope:this})},onPanelUpdate:function(b,a){this.fields={};Ext.each(Ext.query("dd",this.status.body.dom),function(c){this.fields[c.className]=c},this)},onRequestComplete:function(a){seeders=a.total_seeds>-1?a.num_seeds+" ("+a.total_seeds+")":a.num_seeds;peers=a.total_peers>-1?a.num_peers+" ("+a.total_peers+")":a.num_peers;var b={downloaded:fsize(a.total_done,true),uploaded:fsize(a.total_uploaded,true),share:(a.ratio==-1)?"&infin;":a.ratio.toFixed(3),announce:ftime(a.next_announce),tracker_status:a.tracker_status,downspeed:(a.download_payload_rate)?fspeed(a.download_payload_rate):"0.0 KiB/s",upspeed:(a.upload_payload_rate)?fspeed(a.upload_payload_rate):"0.0 KiB/s",eta:ftime(a.eta),pieces:a.num_pieces+" ("+fsize(a.piece_length)+")",seeders:seeders,peers:peers,avail:a.distributed_copies.toFixed(3),active_time:ftime(a.active_time),seeding_time:ftime(a.seeding_time),seed_rank:a.seed_rank,time_added:fdate(a.time_added)};b.auto_managed=_((a.is_auto_managed)?"True":"False");b.downloaded+=" ("+((a.total_payload_download)?fsize(a.total_payload_download):"0.0 KiB")+")";b.uploaded+=" ("+((a.total_payload_upload)?fsize(a.total_payload_upload):"0.0 KiB")+")";for(var c in this.fields){this.fields[c].innerHTML=b[c]}var d=a.state+" "+a.progress.toFixed(2)+"%";this.progressBar.updateProgress(a.progress/100,d)}});
+Ext.ns("Deluge.details");Deluge.details.StatusTab=Ext.extend(Ext.Panel,{title:_("Status"),autoScroll:true,onRender:function(b,a){Deluge.details.StatusTab.superclass.onRender.call(this,b,a);this.progressBar=this.add({xtype:"progress",cls:"x-deluge-status-progressbar"});this.status=this.add({cls:"x-deluge-status",id:"deluge-details-status",border:false,width:1000,listeners:{render:{fn:function(c){c.load({url:deluge.config.base+"render/tab_status.html",text:_("Loading")+"..."});c.getUpdater().on("update",this.onPanelUpdate,this)},scope:this}}})},clear:function(){this.progressBar.updateProgress(0," ");for(var a in this.fields){this.fields[a].innerHTML=""}},update:function(a){if(!this.fields){this.getFields()}deluge.client.web.get_torrent_status(a,Deluge.Keys.Status,{success:this.onRequestComplete,scope:this})},onPanelUpdate:function(b,a){this.fields={};Ext.each(Ext.query("dd",this.status.body.dom),function(c){this.fields[c.className]=c},this)},onRequestComplete:function(a){seeders=a.total_seeds>-1?a.num_seeds+" ("+a.total_seeds+")":a.num_seeds;peers=a.total_peers>-1?a.num_peers+" ("+a.total_peers+")":a.num_peers;var d={downloaded:fsize(a.total_done,true),uploaded:fsize(a.total_uploaded,true),share:(a.ratio==-1)?"&infin;":a.ratio.toFixed(3),announce:ftime(a.next_announce),tracker_status:a.tracker_status,downspeed:(a.download_payload_rate)?fspeed(a.download_payload_rate):"0.0 KiB/s",upspeed:(a.upload_payload_rate)?fspeed(a.upload_payload_rate):"0.0 KiB/s",eta:ftime(a.eta),pieces:a.num_pieces+" ("+fsize(a.piece_length)+")",seeders:seeders,peers:peers,avail:a.distributed_copies.toFixed(3),active_time:ftime(a.active_time),seeding_time:ftime(a.seeding_time),seed_rank:a.seed_rank,time_added:fdate(a.time_added)};d.auto_managed=_((a.is_auto_managed)?"True":"False");var c={Error:_("Error"),Warning:_("Warning"),"Announce OK":_("Announce OK"),"Announce Sent":_("Announce Sent")};for(var b in c){if(d.tracker_status.indexOf(b)!=-1){d.tracker_status=d.tracker_status.replace(b,c[b]);break}}d.downloaded+=" ("+((a.total_payload_download)?fsize(a.total_payload_download):"0.0 KiB")+")";d.uploaded+=" ("+((a.total_payload_upload)?fsize(a.total_payload_upload):"0.0 KiB")+")";for(var e in this.fields){this.fields[e].innerHTML=d[e]}var f=a.state+" "+a.progress.toFixed(2)+"%";this.progressBar.updateProgress(a.progress/100,f)}});
/*
* Deluge.add.Window.js
*
diff --git a/docs/man/deluge-console.1 b/docs/man/deluge-console.1
index 1f3907453..74e3ef544 100644
--- a/docs/man/deluge-console.1
+++ b/docs/man/deluge-console.1
@@ -1,4 +1,4 @@
-.TH DELUGE-CONSOLE 1 "July 2016" "1.3.13"
+.TH DELUGE-CONSOLE 1 "March 2017" "1.3.14"
.SH NAME
deluge-console - a bittorrent client curses interface
diff --git a/docs/man/deluge-gtk.1 b/docs/man/deluge-gtk.1
index ad032884d..fc38ce352 100644
--- a/docs/man/deluge-gtk.1
+++ b/docs/man/deluge-gtk.1
@@ -1,4 +1,4 @@
-.TH DELUGE-GTK 1 "July 2016" "1.3.13"
+.TH DELUGE-GTK 1 "March 2017" "1.3.14"
.SH NAME
deluge-gtk - a bittorrent client gtk interface
diff --git a/docs/man/deluge-web.1 b/docs/man/deluge-web.1
index 52edd69c0..4a76235c3 100644
--- a/docs/man/deluge-web.1
+++ b/docs/man/deluge-web.1
@@ -1,4 +1,4 @@
-.TH DELUGE-WEB 1 "July 2016" "1.3.13"
+.TH DELUGE-WEB 1 "March 2017" "1.3.14"
.SH NAME
deluge-web - a bittorrent client ajax web interface
diff --git a/docs/man/deluge.1 b/docs/man/deluge.1
index dc0353532..965f09be6 100644
--- a/docs/man/deluge.1
+++ b/docs/man/deluge.1
@@ -1,4 +1,4 @@
-.TH DELUGE 1 "July 2016" "1.3.13"
+.TH DELUGE 1 "March 2017" "1.3.14"
.SH NAME
deluge - a bittorrent client
diff --git a/docs/man/deluged.1 b/docs/man/deluged.1
index 3a5a7d4e0..e5367d057 100644
--- a/docs/man/deluged.1
+++ b/docs/man/deluged.1
@@ -1,4 +1,4 @@
-.TH DELUGED 1 "July 2016" "1.3.13"
+.TH DELUGED 1 "March 2017" "1.3.14"
.SH NAME
deluged - a bittorrent client daemon
diff --git a/osx/Info.plist b/osx/Info.plist
index 0cd51009a..3e27afc53 100644
--- a/osx/Info.plist
+++ b/osx/Info.plist
@@ -11,13 +11,13 @@
<key>CFBundleExecutable</key>
<string>Deluge</string>
<key>CFBundleShortVersionString</key>
- <string>1.3.13</string>
+ <string>1.3.14</string>
<key>CFBundleVersion</key>
- <string>1.3.13</string>
+ <string>1.3.14</string>
<key>CFBundleGetInfoString</key>
- <string>1.3.13 (c) 2008-2016 Deluge Team http://deluge-torrent.org/</string>
+ <string>1.3.14 (c) 2008-2017 Deluge Team http://deluge-torrent.org/</string>
<key>NSHumanReadableCopyright</key>
- <string>Copyright 2008-2016 Deluge Team</string>
+ <string>Copyright 2008-2017 Deluge Team</string>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleInfoDictionaryVersion</key>
diff --git a/setup.py b/setup.py
index 47f982fde..f5054feab 100755
--- a/setup.py
+++ b/setup.py
@@ -535,7 +535,7 @@ if windows_check():
# Main setup
setup(
name = "deluge",
- version = "1.3.13",
+ version = "1.3.14",
fullname = "Deluge Bittorrent Client",
description = "Bittorrent Client",
author = "Andrew Resch, Damien Churchill",