Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
console.log("Looking for.. [" + fentry + "].... " + cmsg["actname"]);
if (fentry === undefined) {
// send an REXEC-NAK message: {REXEC-NAK, ASY, ACTIVITY, actid, device_id, error_code}
var nmsg = {"cmd": "REXEC-NAK", "opt": "ASY", "actname": "ACTIVITY", "actid": cmsg["actid"], "actarg": cmsg["actarg"], "args": ["NOT-FOUND"]};
var encodemsg = cbor.encode(nmsg);
sock.send(encodemsg);
console.log("Sent the message..NOT-FOUND");
}
else
{
// create actid, select lease-value, put entry in the activity table
// send [REXEC-ACK ASY ACTIVITY actid device_id lease-value (arg0) ]
activityTable[cmsg["actid"]] = undefined;
var nmsg = {"cmd": "REXEC-ACK", "opt": "ASY", "actname": "ACTIVITY", "actid": cmsg["actid"], "actarg": cmsg["actarg"], "args": []};
var encodemsg = cbor.encode(nmsg);
sock.send(encodemsg);
// Run function
var res = fentry.func.apply(this, cmsg["args"]);
activityTable[cmsg["actid"]] = res;
console.log("Execution complete.. results stored...");
}
}
var fentry = funcRegistry[cmsg["actname"]];
console.log("Looking for.. [" + fentry + "].... " + cmsg["actname"]);
if (fentry === undefined) {
// send an REXEC-NAK message: {REXEC-NAK, SYN, ACTIVITY, actid, device_id, error_code}
var nmsg = {"cmd": "REXEC-NAK", "opt": "SYN", "actname": "ACTIVITY",
"actid": cmsg["actid"], "actarg": cmsg["actarg"], "args": ["NOT-FOUND"]};
var encodemsg = cbor.encode(nmsg);
sock.send(encodemsg);
console.log("Sent the message..NOT-FOUND");
}
else
if (checkArgsType(cmsg["args"], fentry.mask) !== true) {
// send an REXEC-NAK message: {REXEC-NAK, SYN, ACTIVITY, actid, device_id, error_code}
var nmsg = {"cmd": "REXEC-NAK", "opt": "SYN", "actname": "ACTIVITY",
"actid": cmsg["actid"], "actarg": cmsg["actarg"], "args": ["ILLEGAL-PARAMS"]};
var encodemsg = cbor.encode(nmsg);
sock.send(encodemsg);
console.log("Sent the message..ILLEGAL-PARAMS");
}
else
{
// create actid, select lease-value, put entry in the activity table
// send [REXEC-ACK SYN ACTIVITY actid device_id lease-value (arg0) ]
activityTable[cmsg["actid"]] = undefined;
var nmsg = {"cmd": "REXEC-ACK", "opt": "SYN", "actname": "ACTIVITY",
"actid": cmsg["actid"], "actarg": cmsg["actarg"], "args": []};
var encodemsg = cbor.encode(nmsg);
sock.send(encodemsg);
// Run function
var res = fentry.func.apply(this, cmsg["args"]);
function process() {
// If the queue is not empty
if (queue.length > 0) {
// Get the next message ID
const id = queue[0]
// Attempt to read the message from disk
try {
const message = decode((new Uint8Array(JSON.parse(localStorage.getItem("_asap_" + id)))).buffer)
const timeout = message[2]
// If the message has expired
if (timeout < Date.now()) {
// Dequeue the message
dequeue(id)
}
// If the message has not expired
else {
// Attempt to send the message
try {
peerSocket.send(message)
} catch (error) {
debug && console.log(error)
}
}
}
if(bodytype === 'xml') {
var xml2js = require('xml2js');
var parser = new xml2js.Parser({explicitArray: false});
parser.parseString(message.utf8Data.toString(), function (err, jsonObj) {
if (err) {
console.log('[nonblocking-async-ws] xml2js parser error');
}
else {
console.log('----> [nonblocking-async-ws] response for notification through mqtt ' + res.headers['x-m2m-rsc']);
connection.close();
}
});
}
else if(bodytype === 'cbor') {
var encoded = message.utf8Data.toString();
cbor.decodeFirst(encoded, function(err, jsonObj) {
if (err) {
console.log('[nonblocking-async-ws] cbor parser error');
}
else {
if (jsonObj.rsc == 2001 || jsonObj.rsc == 2000) {
console.log('----> [nonblocking-async-ws] response for notification through ws ' + jsonObj.rsc);
connection.close();
}
}
});
}
else { // 'json'
var jsonObj = JSON.parse(message.utf8Data.toString());
try {
if (jsonObj.rsc == 2001 || jsonObj.rsc == 2000) {
mserv.on('message', function(topic, buf) {
cbor.decodeFirst(buf, function(error, msg) {
switch (topic) {
case '/admin/request/all':
// Requests are published here by nodes under this broker
try {
adminService(msg, function(rmsg) {
var encode = cbor.encode(rmsg);
mserv.publish('/admin/announce/all', encode);
});
} catch (e) {
console.log("ERROR!: ", e);
}
break;
case '/level/func/request':
// These are requests by the C nodes under this broker
rep.on('data', function(buf) {
console.log("Buffer size " + Buffer.byteLength(buf));
cbor.decodeFirst(buf, function(error, msg) {
// if error != null .. it seems nanomsg is
// receiving more bytes than what the C sent..
// TODO: investigate this problem.
//
processMsg(rep, msg)
console.log("Helllo");
});
});
var dest = datastream.datasource.getDestination();
if (e) {
datastream.isBusy = false;
throw e;
} else {
if (response === undefined) {
let hasData = datastream.hasData;
datastream.isBusy = false;
if( hasData )
datastream.request_value_refresh();
return;
}
for (var i = 0; i < response.length; i++) {
var dval = cbor.decodeFirstSync(response[i]);
var log = dval.value;
var timestamp = dval.timestamp;
// try {
// log = cbor.decodeFirstSync(log);
// // if (debug) console.log(log);
// } catch(e) {
// console.log("WARN! Error decoding data.. ", log)
// }
// }
//console.log("Before log transform:", log);
entry = {
log: datastream.transformer(log, datastream),
time_stamp: timestamp
obj.verifyAuthenticatorAttestationResponse = function (webauthnResponse) {
const attestationBuffer = Buffer.from(webauthnResponse.attestationObject, 'base64');
const ctapMakeCredResp = cbor.decodeAllSync(attestationBuffer)[0];
const authrDataStruct = parseMakeCredAuthData(ctapMakeCredResp.authData);
//console.log('***CTAP_RESPONSE', ctapMakeCredResp)
//console.log('***AUTHR_DATA_STRUCT', authrDataStruct)
const response = { 'verified': false };
if (ctapMakeCredResp.fmt === 'none') {
if (!(authrDataStruct.flags & 0x01)) { throw new Error('User was NOT presented during authentication!'); } // U2F_USER_PRESENTED
const publicKey = COSEECDHAtoPKCS(authrDataStruct.COSEPublicKey);
response.verified = true;
if (response.verified) {
response.authrInfo = {
fmt: 'none',
publicKey: ASN1toPEM(publicKey),
const derivationPath = [HARDENED_THRESHOLD, childIndex]
addressPayload = encryptDerivationPath(derivationPath, hdPassphrase)
addressAttributes = new Map([[1, cbor.encode(addressPayload)]])
derivedHdNode = deriveHdNode(parentHdNode, childIndex)
}
const addressRoot = getAddressRoot(derivedHdNode, addressPayload)
const addressType = 0 // Public key address
const addressData = [addressRoot, addressAttributes, addressType]
const addressDataEncoded = cbor.encode(addressData)
const address = base58.encode(
cbor.encode([
new cbor.Tagged(24, addressDataEncoded),
crc32Unsigned(addressDataEncoded)
])
)
return {
address,
childIndex,
hdNode: derivedHdNode
}
}
rsp_message['m2m:rsp'].pc[prop][prop2]['@'] = {rn : rsp_message['m2m:rsp'].pc[prop][prop2][prop3]};
delete rsp_message['m2m:rsp'].pc[prop][prop2][prop3];
}
}
}
}
}
}
}
var bodyString = js2xmlparser.parse("m2m:rsp", rsp_message['m2m:rsp']);
ws_conn.sendUTF(bodyString.toString());
}
else if (bodytype === 'cbor') { // 'cbor'
bodyString = cbor.encode(rsp_message['m2m:rsp']).toString('hex');
var bytearray = Buffer.from(bodyString, 'hex');
ws_conn.send(bytearray);
}
else { // 'json'
ws_conn.sendUTF(JSON.stringify(rsp_message['m2m:rsp']));
}
}