Skip to content

Commit 65f7a71

Browse files
committed
hidden setting for max alg version
1 parent 28ea7d4 commit 65f7a71

File tree

3 files changed

+14
-8
lines changed

3 files changed

+14
-8
lines changed

ext/data/config.js

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ function string_is_plain_ascii(s) {
2828
var stored_sites={},
2929
username="",
3030
key_id,
31+
alg_max_version,
3132
alg_min_version = 1;
3233

3334
function save_sites_to_backend() {
@@ -125,10 +126,12 @@ window.addEventListener('masterpassword-configload', function(e){
125126
stored_sites = e.detail.sites;
126127
username = e.detail.username;
127128
key_id = e.detail.key_id;
129+
alg_max_version = e.detail.max_alg_version;
128130

129131
if (!string_is_plain_ascii(username)) {
130-
alg_min_version = 3;
131-
$('#ver3note').show();
132+
alg_min_version = Math.min(3, alg_max_version);
133+
if (alg_min_version > 2)
134+
$('#ver3note').show();
132135
}
133136

134137
$.each(stored_sites, function(domain,v){
@@ -242,7 +245,7 @@ $(document).on('drop', function(e){
242245
});
243246

244247
$('body').on('click','.export_mpsites',function(){
245-
start_data_download(make_mpsites(stored_sites, alg_min_version), 'firefox.mpsites');
248+
start_data_download(make_mpsites(stored_sites, alg_min_version, alg_max_version), 'firefox.mpsites');
246249
});
247250

248251
function pad_left(len, s, chr) {
@@ -268,7 +271,7 @@ function pad_left(len, s, chr) {
268271
}
269272
}
270273

271-
function make_mpsites(stored_sites, alg_min_version) {
274+
function make_mpsites(stored_sites, alg_min_version, alg_version) {
272275
var a=[ '# Master Password site export\n',
273276
'# Export of site names and stored passwords (unless device-private) encrypted with the master key.\n',
274277
'#\n',
@@ -280,7 +283,7 @@ function make_mpsites(stored_sites, alg_min_version) {
280283
'# Avatar: 0\n',
281284
'# Key ID: '+key_id+'\n',
282285
'# Version: 2.2\n',
283-
'# Algorithm: 3\n',
286+
'# Algorithm: '+alg_version+'\n',
284287
'# Default Type: 17\n',
285288
'# Passwords: PROTECTED\n',
286289
'##\n',

ext/data/main_popup.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ function recalculate(hide_after_copy, retry) {
6363
var key_id_mismatch = false;
6464

6565
if (!mpw_session) {
66-
mpw_session = mpw( session_store.username, session_store.masterkey );
66+
mpw_session = mpw( session_store.username, session_store.masterkey, session_store.max_alg_version );
6767

6868
$('#verify_pass_fld').html("Verify: " + mpw_session.sitepassword(".", 0, "nx"));
6969
var key_id = mpw_session.key_id();

ext/lib/main.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ var panels = require("sdk/panel");
2323
var tabs = require("sdk/tabs");
2424
var { Hotkey } = require("sdk/hotkeys");
2525
var prefs = require("sdk/simple-prefs").prefs;
26+
var global_prefs = require("sdk/preferences/service");
2627
var windows = require("sdk/windows");
2728
var isPrivate = require("sdk/private-browsing").isPrivate;
2829
var pagemod = require("sdk/page-mod");
@@ -69,6 +70,7 @@ var session_store = {
6970
'masterkey': null,
7071
'sites': ss.storage.sites || {},
7172
'defaulttype': prefs.defaulttype,
73+
'max_alg_version': global_prefs.get('extensions.' + self.id + '.max_alg_version', 3),
7274
'key_id': undefined
7375
};
7476

@@ -126,8 +128,9 @@ var pm_config_handler = pagemod.PageMod({
126128
worker.port.emit('configload', {
127129
sites:session_store.sites,
128130
username:session_store.username,
129-
key_id:session_store.key_id}
130-
);
131+
key_id:session_store.key_id,
132+
max_alg_version:session_store.max_alg_version
133+
});
131134
});
132135
worker.port.on('configstore', function(d) {
133136
session_store.sites = d;

0 commit comments

Comments
 (0)