diff --git a/CHANGELOG b/CHANGELOG index bcbdca2..6c943e6 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,6 +2,8 @@ ========================= - Added JSON install files and script for Windows - New version checking function +- Added error message handling +- Added reloading KeePassXC with new public key retrieval (with keepassxc-proxy too) 0.1.10 (2017-06-14) ========================= diff --git a/keepassxc-browser/background/keepass.js b/keepassxc-browser/background/keepass.js index 1524311..79e2256 100644 --- a/keepassxc-browser/background/keepass.js +++ b/keepassxc-browser/background/keepass.js @@ -9,7 +9,7 @@ keepass.isKeePassXCAvailable = false; keepass.isEncryptionKeyUnrecognized = false; keepass.currentKeePassXC = {"version": 0, "versionParsed": 0}; keepass.latestKeePassXC = (typeof(localStorage.latestKeePassXC) == 'undefined') ? {"version": 0, "versionParsed": 0, "lastChecked": null} : JSON.parse(localStorage.latestKeePassXC); -keepass.requiredKeePassXC = 214; +keepass.requiredKeePassXC = 220; keepass.nativeHostName = "com.varjolintu.keepassxc_browser"; keepass.nativePort = null; keepass.keySize = 24; @@ -94,6 +94,9 @@ keepass.updateCredentials = function(callback, tab, entryId, username, password, callback(code); } } + else if (response.error && response.errorCode) { + keepass.handleError(tab.id, response.error, response.errorCode); + } else { browserAction.showDefault(null, tab); } @@ -173,6 +176,9 @@ keepass.retrieveCredentials = function (callback, tab, url, submiturl, forceCall page.debug("keepass.retrieveCredentials() => entries.length = {1}", entries.length); } } + else if (response.error && response.errorCode) { + keepass.handleError(tab.id, response.error, response.errorCode); + } else { browserAction.showDefault(null, tab); } @@ -253,6 +259,9 @@ keepass.generatePassword = function (callback, tab, forceCallback) { callback(passwords); } } + else if (response.error && response.errorCode) { + keepass.handleError(tab.id, response.error, response.errorCode); + } }); keepass.nativePort.postMessage(request); }, tab); @@ -334,6 +343,9 @@ keepass.associate = function(callback, tab) { browserAction.show(callback, tab); } } + else if (response.error && response.errorCode) { + keepass.handleError(tab.id, response.error, response.errorCode); + } }); keepass.nativePort.postMessage(request); }, tab); @@ -433,6 +445,9 @@ keepass.testAssociation = function (callback, tab, triggerUnlock) { } } } + else if (response.error && response.errorCode) { + keepass.handleError(tab.id, response.error, response.errorCode); + } callback(keepass.isAssociated()); }); keepass.nativePort.postMessage(request); @@ -727,6 +742,11 @@ keepass.verifyResponse = function(response, nonce, id) { } +keepass.handleError = function(tabId, errorMessage, errorCode) { + console.log("Received error " + errorCode + ": " + errorMessage); + page.tabs[tabId].errorMessage = errorMessage; +} + keepass.b64e = function(d) { return nacl.util.encodeBase64(d); }