[git] GPGME - branch, master, updated. gpgme-1.11.1-243-g766d42c

by Maximilian Krambach cvs at cvs.gnupg.org
Mon Aug 27 12:36:33 CEST 2018


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GnuPG Made Easy".

The branch, master has been updated
       via  766d42c248a8c526b831685e93d54db81492f5a8 (commit)
      from  53c5b9a265d33f2cc54f489375a929602338aee8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 766d42c248a8c526b831685e93d54db81492f5a8
Author: Maximilian Krambach <maximilian.krambach at intevation.de>
Date:   Mon Aug 27 12:32:28 2018 +0200

    js: typecheck destructured parameters
    
    --
    
    * destructuring just takes the input argument and treats it as object.
      In cases like in src/Keyring/generateKey, where I forgot to change
      the old syntax, the fingerprint as string was destructured into an
      object without "pattern", which caused all Keys to be retrieved.
      So, methods with a destructuring now check if the first argument is
      an object and get a default empty object if no parameter is
      submitted. This allows the further use of destructured parameters,
      while still ensuring nothing vastly incorrect is used.
    * src/Kering.js, unittsets.js: fixed old syntax in method usage

diff --git a/lang/js/src/Keyring.js b/lang/js/src/Keyring.js
index 2b57e63..0c64f33 100644
--- a/lang/js/src/Keyring.js
+++ b/lang/js/src/Keyring.js
@@ -49,7 +49,13 @@ export class GPGME_Keyring {
      * @static
      * @async
      */
-    getKeys ({ pattern, prepare_sync = false, search = false }){
+    getKeys ({ pattern, prepare_sync = false, search = false } = {}){
+        if (typeof arguments[0] !== 'object') {
+            return Promise.reject(gpgme_error('PARAM_WRONG'));
+        }
+        if (arguments.length && typeof arguments[0] !== 'object') {
+            return Promise.reject(gpgme_error('PARAM_WRONG'));
+        }
         return new Promise(function (resolve, reject) {
             let msg = createMessage('keylist');
             if (pattern) {
@@ -387,7 +393,7 @@ export class GPGME_Keyring {
      * @return {Promise<Key|GPGME_Error>}
      * @async
      */
-    generateKey ({ userId, algo = 'default', expires= 0, subkey_algo }){
+    generateKey ({ userId, algo = 'default', expires= 0, subkey_algo } = {}){
         if (typeof userId !== 'string'
             // eslint-disable-next-line no-use-before-define
             || (algo && supportedKeyAlgos.indexOf(algo) < 0 )
@@ -409,13 +415,14 @@ export class GPGME_Keyring {
             }
             msg.setParameter('expires', expires);
             msg.post().then(function (response){
-                me.getKeys(response.fingerprint, true).then(
-                    // TODO prepare_sync?
-                    function (result){
-                        resolve(result);
-                    }, function (error){
-                        reject(error);
-                    });
+                me.getKeys({
+                    pattern: response.fingerprint,
+                    prepare_sync: true
+                }).then(function (result){
+                    resolve(result);
+                }, function (error){
+                    reject(error);
+                });
             }, function (error) {
                 reject(error);
             });
diff --git a/lang/js/src/gpgmejs.js b/lang/js/src/gpgmejs.js
index b86b5f1..592b0a1 100644
--- a/lang/js/src/gpgmejs.js
+++ b/lang/js/src/gpgmejs.js
@@ -142,7 +142,10 @@ export class GpgME {
      * @async
      */
     encrypt ({ data, publicKeys, secretKeys, base64 = false, armor = true,
-        wildcard, always_trust = true, additional = {} }){
+        wildcard, always_trust = true, additional = {} } = {}){
+        if (typeof arguments[0] !== 'object') {
+            return Promise.reject(gpgme_error('PARAM_WRONG'));
+        }
         if (!data || !publicKeys){
             return Promise.reject(gpgme_error('MSG_INCOMPLETE'));
         }
@@ -203,7 +206,10 @@ export class GpgME {
     * @returns {Promise<decrypt_result>} Decrypted Message and information
     * @async
     */
-    decrypt ({ data, base64, expect }){
+    decrypt ({ data, base64, expect } = {}){
+        if (typeof arguments[0] !== 'object') {
+            return Promise.reject(gpgme_error('PARAM_WRONG'));
+        }
         if (!data){
             return Promise.reject(gpgme_error('MSG_EMPTY'));
         }
@@ -263,7 +269,10 @@ export class GpgME {
      * @returns {Promise<signResult>}
      * @async
      */
-    sign ({ data, keys, mode = 'clearsign', base64 }){
+    sign ({ data, keys, mode = 'clearsign', base64 } = {}){
+        if (typeof arguments[0] !== 'object') {
+            return Promise.reject(gpgme_error('PARAM_WRONG'));
+        }
         if (!data){
             return Promise.reject(gpgme_error('MSG_EMPTY'));
         }
@@ -310,7 +319,10 @@ export class GpgME {
      * @returns {Promise<verifyResult>}
      *@async
     */
-    verify ({ data, signature, base64 }){
+    verify ({ data, signature, base64 } = {}){
+        if (typeof arguments[0] !== 'object') {
+            return Promise.reject(gpgme_error('PARAM_WRONG'));
+        }
         if (!data){
             return Promise.reject(gpgme_error('PARAM_WRONG'));
         }
diff --git a/lang/js/unittests.js b/lang/js/unittests.js
index 8f1ffb6..de06320 100644
--- a/lang/js/unittests.js
+++ b/lang/js/unittests.js
@@ -287,13 +287,14 @@ function unittests (){
 
         it('Querying non-existing Key from Keyring', function (done){
             let keyring = new GPGME_Keyring;
-            keyring.getKeys(kp.invalidKeyFingerprint, true).then(
-                function (result){
-                    expect(result).to.be.an('array');
-                    expect(result.length).to.equal(0);
-                    done();
-                }
-            );
+            keyring.getKeys({
+                pattern: kp.invalidKeyFingerprint,
+                prepare_sync: true
+            }).then(function (result){
+                expect(result).to.be.an('array');
+                expect(result.length).to.equal(0);
+                done();
+            });
         });
 
     });

-----------------------------------------------------------------------

Summary of changes:
 lang/js/src/Keyring.js | 25 ++++++++++++++++---------
 lang/js/src/gpgmejs.js | 20 ++++++++++++++++----
 lang/js/unittests.js   | 15 ++++++++-------
 3 files changed, 40 insertions(+), 20 deletions(-)


hooks/post-receive
-- 
GnuPG Made Easy
http://git.gnupg.org




More information about the Gnupg-commits mailing list