From 3409d830086e9d9ca0dcea57cd77dcede0b0f834 Mon Sep 17 00:00:00 2001 From: anekos Date: Sat, 22 Jan 2011 01:03:12 +0900 Subject: Important security fix --- pluginManager.js | 17 ++++++++++++++--- sbmcommentsviewer.js | 19 ++++++++++++++++--- 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/pluginManager.js b/pluginManager.js index 8e520ec..f28590a 100644 --- a/pluginManager.js +++ b/pluginManager.js @@ -4,7 +4,7 @@ var PLUGIN_INFO = Manage Vimperator Plugins Vimpeatorプラグインの管理 teramako -0.6.6 +0.6.7 2.3 2.4 https://github.com/vimpr/vimperator-plugins/raw/master/pluginManager.js @@ -190,8 +190,19 @@ for (let it in Iterator(tags)){ }; } function makeLink(str, withLink){ - var href = withLink ? '$&' : '#'; - return XMLList(str.replace(/(?:https?:\/\/|mailto:)\S+/g, '$&')); + let s = str; + let result = XMLList(); + while (s.length > 0) { + let m = s.match(/(?:https?:\/\/|mailto:)\S+/); + if (m) { + result += <>{s.slice(0, m.index)}{m[0]}; + s = s.slice(m.index + m[0].length); + } else { + result += <>{s}; + break; + } + } + return result; } function fromUTF8Octets(octets){ return decodeURIComponent(octets.replace(/[%\x80-\xFF]/g, function(c){ diff --git a/sbmcommentsviewer.js b/sbmcommentsviewer.js index 40dcf74..c7d10f6 100644 --- a/sbmcommentsviewer.js +++ b/sbmcommentsviewer.js @@ -3,7 +3,7 @@ var PLUGIN_INFO = SBM Comments Viewer List show Social Bookmark Comments ソーシャル・ブックマーク・コメントを表示します - 0.2.1 + 0.2.2 2.0pre 3.0 https://github.com/vimpr/vimperator-plugins/raw/master/sbmcommentsviewer.js @@ -126,8 +126,21 @@ function SBMEntry(id, timestamp, comment, tags, extra){ //{{{ } //}}} SBMEntry.prototype = { //{{{ toHTML: function(format){ - function makeLink(str) - XMLList(str.replace(/(?:https?:\/\/|mailto:)\S+/g, '$&')); + function makeLink(str, withLink){ + let s = str; + let result = XMLList(); + while (s.length > 0) { + let m = s.match(/(?:https?:\/\/|mailto:)\S+/); + if (m) { + result += <>{s.slice(0, m.index)}{m[0]}; + s = s.slice(m.index + m[0].length); + } else { + result += <>{s}; + break; + } + } + return result; + } var xml = ; var self = this; -- cgit v1.2.3