From 3fdab27c5031b4ae313799f1b90a4aa6b4aa30e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Leszczy=C5=84ski?= Date: Wed, 17 Apr 2024 19:27:30 +0200 Subject: [PATCH] Drivers: Remove caching functionality from readNDEF (#312) --- drivers/nfc_manager.js | 2 +- drivers/pcsc.js | 4 ++-- drivers/read_ndef.js | 18 ++---------------- 3 files changed, 5 insertions(+), 19 deletions(-) diff --git a/drivers/nfc_manager.js b/drivers/nfc_manager.js index 813b96b..d45ae22 100644 --- a/drivers/nfc_manager.js +++ b/drivers/nfc_manager.js @@ -38,7 +38,7 @@ async function execHaloCmdRN(nfcManager, command, options) { if (command.name === "read_ndef") { let wrappedTransceive = async (payload) => Buffer.from(await nfcManager.isoDepHandler.transceive([...payload])); - return await readNDEF(wrappedTransceive, {allowCache: true}); + return await readNDEF(wrappedTransceive); } else { return await execHaloCmd(command, { method: 'nfc-manager', diff --git a/drivers/pcsc.js b/drivers/pcsc.js index ff11cac..4f8a47e 100644 --- a/drivers/pcsc.js +++ b/drivers/pcsc.js @@ -63,7 +63,7 @@ async function getVersion(reader) { if (versionRes.slice(-2).compare(Buffer.from([0x90, 0x00])) !== 0) { // GET_FV_VERSION command not supported, fallback to NDEF let wrappedTransceive = async (payload) => await transceive(reader, payload, {noCheck: true}); - let url = await readNDEF(wrappedTransceive, {allowCache: true}); + let url = await readNDEF(wrappedTransceive); if (!url.qs.v) { return '01.C1.000001.00000000'; @@ -198,7 +198,7 @@ async function execHaloCmdPCSC(command, reader) { } else if (command.name === "read_ndef") { // PCSC-specific NDEF reader command let wrappedTransceive = async (payload) => await transceive(reader, payload, {noCheck: true}); - return await readNDEF(wrappedTransceive, {allowCache: true}); + return await readNDEF(wrappedTransceive); } else if (command.name === "full_gen_key") { await selectCore(reader); diff --git a/drivers/read_ndef.js b/drivers/read_ndef.js index 9bb4c40..5445148 100644 --- a/drivers/read_ndef.js +++ b/drivers/read_ndef.js @@ -8,15 +8,7 @@ const Buffer = require('buffer/').Buffer; const queryString = require('query-string'); const {HaloLogicError} = require("../halo/exceptions"); -let cachedResult = null; - -async function readNDEF(transceive, options) { - options = options || {}; - - if (options.allowCache && cachedResult) { - return cachedResult; - } - +async function readNDEF(transceive) { let resSelect = await transceive(Buffer.from("00A4040007D276000085010100", "hex")); if (resSelect.compare(Buffer.from([0x90, 0x00])) !== 0) { @@ -85,16 +77,10 @@ async function readNDEF(transceive, options) { fullBuf = fullBuf.slice(4 + skipLen, 4 + skipLen + lengthData); let parsed = queryString.parseUrl(fullBuf.toString()); - let out = { + return { url: parsed.url, qs: {...parsed.query} }; - - if (options.allowCache) { - cachedResult = out; - } - - return out; } module.exports = {readNDEF};