gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-wallet-core] branch master updated (1124c709 -> b4b0d3ff)


From: gnunet
Subject: [taler-wallet-core] branch master updated (1124c709 -> b4b0d3ff)
Date: Wed, 16 Jun 2021 12:04:43 +0200

This is an automated email from the git hooks/post-receive script.

dold pushed a change to branch master
in repository wallet-core.

    from 1124c709 use same salt derivation as C code for forgettable fields
     new 97091fd4 add 'payment-forgettable' integration test
     new b4b0d3ff allow any string as forgettable field salt

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 ...test-payment.ts => test-payment-forgettable.ts} | 44 +++++++++++++++++-----
 .../src/integrationtests/testrunner.ts             |  2 +
 packages/taler-wallet-core/src/operations/pay.ts   |  1 +
 .../taler-wallet-core/src/util/contractTerms.ts    |  9 -----
 4 files changed, 38 insertions(+), 18 deletions(-)
 copy packages/taler-wallet-cli/src/integrationtests/{test-payment.ts => 
test-payment-forgettable.ts} (56%)

diff --git a/packages/taler-wallet-cli/src/integrationtests/test-payment.ts 
b/packages/taler-wallet-cli/src/integrationtests/test-payment-forgettable.ts
similarity index 56%
copy from packages/taler-wallet-cli/src/integrationtests/test-payment.ts
copy to 
packages/taler-wallet-cli/src/integrationtests/test-payment-forgettable.ts
index 3512ff04..9c34bee8 100644
--- a/packages/taler-wallet-cli/src/integrationtests/test-payment.ts
+++ b/packages/taler-wallet-cli/src/integrationtests/test-payment-forgettable.ts
@@ -25,9 +25,9 @@ import {
 } from "./helpers";
 
 /**
- * Run test for basic, bank-integrated withdrawal and payment.
+ * Run test for payment with a contract that has forgettable fields.
  */
-export async function runPaymentTest(t: GlobalTestState) {
+export async function runPaymentForgettableTest(t: GlobalTestState) {
   // Set up test environment
 
   const {
@@ -41,15 +41,41 @@ export async function runPaymentTest(t: GlobalTestState) {
 
   await withdrawViaBank(t, { wallet, bank, exchange, amount: "TESTKUDOS:20" });
 
-  const order = {
-    summary: "Buy me!",
-    amount: "TESTKUDOS:5",
-    fulfillment_url: "taler://fulfillment-success/thx",
-  };
+  {
+    const order = {
+      summary: "Buy me!",
+      amount: "TESTKUDOS:5",
+      fulfillment_url: "taler://fulfillment-success/thx",
+      extra: {
+        foo: { bar: "baz" },
+        $forgettable: {
+          foo: "gnu",
+        },
+      },
+    };
 
-  await makeTestPayment(t, { wallet, merchant, order });
+    await makeTestPayment(t, { wallet, merchant, order });
+  }
+
+  console.log("testing with forgettable field without hash");
+
+  {
+    const order = {
+      summary: "Buy me!",
+      amount: "TESTKUDOS:5",
+      fulfillment_url: "taler://fulfillment-success/thx",
+      extra: {
+        foo: { bar: "baz" },
+        $forgettable: {
+          foo: true,
+        },
+      },
+    };
+
+    await makeTestPayment(t, { wallet, merchant, order });
+  }
 
   await wallet.runUntilDone();
 }
 
-runPaymentTest.suites = ["wallet"];
+runPaymentForgettableTest.suites = ["wallet"];
diff --git a/packages/taler-wallet-cli/src/integrationtests/testrunner.ts 
b/packages/taler-wallet-cli/src/integrationtests/testrunner.ts
index c50838f0..c2bb69c1 100644
--- a/packages/taler-wallet-cli/src/integrationtests/testrunner.ts
+++ b/packages/taler-wallet-cli/src/integrationtests/testrunner.ts
@@ -71,6 +71,7 @@ import { runMerchantInstancesUrlsTest } from 
"./test-merchant-instances-urls";
 import { runWalletBackupBasicTest } from "./test-wallet-backup-basic";
 import { runMerchantInstancesDeleteTest } from 
"./test-merchant-instances-delete";
 import { runWalletBackupDoublespendTest } from 
"./test-wallet-backup-doublespend";
+import { runPaymentForgettableTest } from "./test-payment-forgettable.js";
 
 /**
  * Test runner.
@@ -110,6 +111,7 @@ const allTests: TestMainFunction[] = [
   runPayAbortTest,
   runPaymentClaimTest,
   runPaymentFaultTest,
+  runPaymentForgettableTest,
   runPaymentIdempotencyTest,
   runPaymentMultipleTest,
   runPaymentTest,
diff --git a/packages/taler-wallet-core/src/operations/pay.ts 
b/packages/taler-wallet-core/src/operations/pay.ts
index 4425262b..c62ad0f2 100644
--- a/packages/taler-wallet-core/src/operations/pay.ts
+++ b/packages/taler-wallet-core/src/operations/pay.ts
@@ -721,6 +721,7 @@ async function processDownloadProposalImpl(
   );
 
   if (!isWellFormed) {
+    logger.trace(`malformed contract terms: 
${j2s(proposalResp.contract_terms)}`);
     const err = makeErrorDetails(
       TalerErrorCode.WALLET_CONTRACT_TERMS_MALFORMED,
       "validation for well-formedness failed",
diff --git a/packages/taler-wallet-core/src/util/contractTerms.ts 
b/packages/taler-wallet-core/src/util/contractTerms.ts
index c2e75955..e5280244 100644
--- a/packages/taler-wallet-core/src/util/contractTerms.ts
+++ b/packages/taler-wallet-core/src/util/contractTerms.ts
@@ -165,14 +165,6 @@ export namespace ContractTermsUtil {
             if (typeof fv !== "string") {
               return false;
             }
-            try {
-              const decFv = decodeCrock(fv);
-              if (decFv.length != 32) {
-                return false;
-              }
-            } catch (e) {
-              return false;
-            }
           }
         } else if (k === "$forgotten") {
           const fgo = anyJson.$forgotten;
@@ -230,7 +222,6 @@ export namespace ContractTermsUtil {
   export function hashContractTerms(contractTerms: unknown): string {
     const cleaned = scrub(contractTerms);
     const canon = canonicalJson(cleaned) + "\0";
-    console.warn(`canon '${canon}'`)
     return encodeCrock(hash(stringToBytes(canon)));
   }
 }

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]