Add "@_" prefix support to replace password without submit
This commit is contained in:
		@@ -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,9 +204,12 @@ 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
 | 
			
		||||
	    if (submit)
 | 
			
		||||
	    {
 | 
			
		||||
		form.removeEventListener("submit", on_sumbit, true);
 | 
			
		||||
		form.submit();
 | 
			
		||||
	    }
 | 
			
		||||
	}
 | 
			
		||||
	else
 | 
			
		||||
	{
 | 
			
		||||
	    debug("No password found");
 | 
			
		||||
@@ -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