Merge branch 'master' of soutade.fr:gpass
This commit is contained in:
		@@ -23,6 +23,8 @@ The first thing to do is to populate your database (from your/a password server)
 | 
			
		||||
 | 
			
		||||
When you're in a login form and you want to use gPass, type your login and fill "@@masterkey" in password field. Then submit and password will automatically be replaced by the one in the database (after addon decrypt it).
 | 
			
		||||
 | 
			
		||||
You can also type "@_masterkey" to only replace your password without submiting and manually submit. This allows to support more websites.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Technical details
 | 
			
		||||
-----------------
 | 
			
		||||
 
 | 
			
		||||
@@ -66,7 +66,7 @@ function generate_request(domain, login, mkey)
 | 
			
		||||
    return enc;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function ask_server(form, field, logins, domain, wdomain, mkey, salt)
 | 
			
		||||
function ask_server(form, field, logins, domain, wdomain, mkey, salt, submit)
 | 
			
		||||
{
 | 
			
		||||
    mkey = pkdbf2.pkdbf2(mkey, salt, pkdbf2_level, 256/8);
 | 
			
		||||
 | 
			
		||||
@@ -204,8 +204,11 @@ function ask_server(form, field, logins, domain, wdomain, mkey, salt)
 | 
			
		||||
	    debug("Clear password " + clear_password);
 | 
			
		||||
	    field.value = clear_password;
 | 
			
		||||
	    // Remove gPass event listener and submit again with clear password
 | 
			
		||||
	    form.removeEventListener("submit", on_sumbit, true);
 | 
			
		||||
	    form.submit();
 | 
			
		||||
	    if (submit)
 | 
			
		||||
	    {
 | 
			
		||||
		form.removeEventListener("submit", on_sumbit, true);
 | 
			
		||||
		form.submit();
 | 
			
		||||
	    }
 | 
			
		||||
	}
 | 
			
		||||
	else
 | 
			
		||||
	{
 | 
			
		||||
@@ -311,26 +314,26 @@ function on_sumbit(e)
 | 
			
		||||
	{
 | 
			
		||||
	    debug(field.value);
 | 
			
		||||
	    password = field.value;
 | 
			
		||||
	    if (password.indexOf("@@") != 0)
 | 
			
		||||
	    if (password.indexOf("@@") != 0 && password.indexOf("@_") != 0)
 | 
			
		||||
		continue;
 | 
			
		||||
 | 
			
		||||
	    mkey = password.substring(2);
 | 
			
		||||
 | 
			
		||||
	    var ret = ask_server(form, field, logins, domain, wdomain, mkey, salt);
 | 
			
		||||
	    e.preventDefault();
 | 
			
		||||
 | 
			
		||||
	    var ret = ask_server(form, field, logins, domain, wdomain, mkey, salt, (password.indexOf("@@") == 0));
 | 
			
		||||
 | 
			
		||||
	    switch(ret)
 | 
			
		||||
	    {
 | 
			
		||||
	    case SERVER.OK:
 | 
			
		||||
		e.preventDefault();
 | 
			
		||||
		break;
 | 
			
		||||
	    case SERVER.FAILED:
 | 
			
		||||
		if (logins !== all_logins)
 | 
			
		||||
		{
 | 
			
		||||
		    ret = ask_server(form, field, all_logins, domain, wdomain, mkey, salt);
 | 
			
		||||
		    ret = ask_server(form, field, all_logins, domain, wdomain, mkey, salt, (password.indexOf("@@") == 0));
 | 
			
		||||
		    if (ret == SERVER.OK)
 | 
			
		||||
			break;
 | 
			
		||||
		}
 | 
			
		||||
		e.preventDefault();
 | 
			
		||||
		break;
 | 
			
		||||
	    case SERVER.RESTART_REQUEST:
 | 
			
		||||
		i = -1; // Restart loop
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@
 | 
			
		||||
  "description": "gPass : global password manager",
 | 
			
		||||
  "author": "Grégory Soutadé",
 | 
			
		||||
  "license": "GNU GPL v3",
 | 
			
		||||
  "version": "0.4",
 | 
			
		||||
  "version": "0.5",
 | 
			
		||||
    "preferences": [
 | 
			
		||||
    {
 | 
			
		||||
        "name": "account_url",
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user