Example #1
0
(function() {
  var buf = new Buffer('0123456789');
  assert.equal(buf.slice(-10, 10), '0123456789');
  assert.equal(buf.slice(-20, 10), '0123456789');
  assert.equal(buf.slice(-20, -10), '');
  assert.equal(buf.slice(0, -1), '012345678');
  assert.equal(buf.slice(2, -2), '234567');
  assert.equal(buf.slice(0, 65536), '0123456789');
  assert.equal(buf.slice(65536, 0), '');
  for (var i = 0, s = buf.toString(); i < buf.length; ++i) {
    assert.equal(buf.slice(-i), s.slice(-i));
    assert.equal(buf.slice(0, -i), s.slice(0, -i));
  }
  // try to slice a zero length Buffer
  // see https://github.com/joyent/node/issues/5881
  SlowBuffer(0).slice(0, 1);
  // make sure a zero length slice doesn't set the .parent attribute
  assert.equal(Buffer(5).slice(0,0).parent, undefined);
  // and make sure a proper slice does have a parent
  assert.ok(typeof Buffer(5).slice(0, 5).parent === 'object');
})();
    login(creds,cb){
        var b = new buffer.Buffer(creds.username+':'+creds.password);

        var encodedAuth = b.toString('base64');

        fetch('https://api.github.com/user',{
            headers: {
                'Authorization': 'Basic ' +encodedAuth
            }
        })
        .then((response)=>{
            if (response.status>=200 && response.status<=300){
                return response;
            }
            throw {
                badCredentials: response.status==401,
                iDontKnowBro: response.status !=401
            }
        })
        .then((response)=>{
            return response.json();
        })
        .then((results)=>{
            AsyncStorage.multiSet([
                [authKey,encodedAuth],
                [userKey,JSON.stringify(results)]
            ],(err)=>{
                if(err){
                    throw err
                }
                return cb({success: true});
            },(results)=>{

            })
        })
        .catch((err)=>{
            return cb(err)
        })
        
    }
 metrics.send_request = function(data, callback) {
     callback = callback || function() {};
     var event_data = new Buffer(JSON.stringify(data));
     var request_data = {
         'data': event_data.toString('base64'),
         'ip': 0
     };
     
     var request_options = {
         host: 'api.mixpanel.com',
         port: 80,
         headers: {}
     };
 
     if (metrics.config.test) { request_data.test = 1; }
     
     var url = metrics.config.endpoint_path;
     var query = querystring.stringify(request_data);
     
     request_options.path = [url,"?",query].join("");
     
     http.get(request_options, function(res) {
         var data = "";
         res.on('data', function(chunk) {
            data += chunk;
         });
         
         res.on('end', function() {
             var e = (data != '1') ? new Error("Mixpanel Server Error: " + data) : undefined;
             callback(e);
         });
     }).on('error', function(e) {
         if(metrics.config.debug) {
             console.log("Got Error: " + e.message);
         }
         callback(e);
     });
 };
Example #4
0
['ucs2', 'ucs-2', 'utf16le', 'utf-16le'].forEach(function(encoding) {
  {
    const f = new Buffer('über', encoding);
    console.error('f.length: %d     (should be 8)', f.length);
    assert.deepEqual(f, new Buffer([252, 0, 98, 0, 101, 0, 114, 0]));
  }

  {
    const f = new Buffer('привет', encoding);
    console.error('f.length: %d     (should be 12)', f.length);
    assert.deepEqual(f, new Buffer([63, 4, 64, 4, 56, 4, 50, 4, 53, 4, 66, 4]));
    assert.equal(f.toString(encoding), 'привет');
  }

  {
    const f = new Buffer([0, 0, 0, 0, 0]);
    assert.equal(f.length, 5);
    const size = f.write('あいうえお', encoding);
    console.error('bytes written to buffer: %d     (should be 4)', size);
    assert.equal(size, 4);
    assert.deepEqual(f, new Buffer([0x42, 0x30, 0x44, 0x30, 0x00]));
  }
});
Example #5
0
fs.readFileSync = function(path, encoding) {
  var fd = fs.openSync(path, constants.O_RDONLY, 438 /*=0666*/);

  var size;
  var threw = true;
  try {
    size = fs.fstatSync(fd).size;
    threw = false;
  } finally {
    if (threw) fs.closeSync(fd);
  }

  if (size === 0) {
    fs.closeSync(fd);
    return encoding ? '' : new Buffer(0);
  }

  var buffer = new Buffer(size);
  var pos = 0;

  while (pos < size) {
    var threw = true;
    try {
      var bytesRead = fs.readSync(fd, buffer, pos, size - pos, pos);
      threw = false;
    } finally {
      if (threw) fs.closeSync(fd);
    }

    pos += bytesRead;
  }

  fs.closeSync(fd);

  if (encoding) buffer = buffer.toString(encoding);
  return buffer;
};
Example #6
0
function sign_boot2() {
	/* Find hash of boot2 */
	var shasum = crypto.createHash('sha256');

	boot2_enc_buf = boot2_enc_buf.slice(0, boot2_len);
	shasum.update(boot2_enc_buf);
	var boot2_hash = shasum.digest('hex');
	console.log("BOOT2 HASH " + boot2_hash);

	/* Sign hash using RSA */
	var sign_data = new Buffer(boot2_hash, "hex");

	if (typeof boot2_pub_key === "undefined") {
		console.error("Boot2 public key for signing is not specified");
		process.exit(1);
	}
	if (typeof boot2_prv_key === "undefined") {
		console.error("Boot2 private key for signing is not specified");
		process.exit(1);
	}

	var prvKey = fs.readFileSync(boot2_prv_key);

	var digital_sig;
	var sign = forsake.sign(sign_data, prvKey);
	var tmp_buf = new Buffer(sign, 'base64');
	digital_sig = tmp_buf.toString('hex');
	console.log("BOOT2 SIGNATURE " + digital_sig);
	boot2_es_buf.write(digital_sig, es_digital_sig_offset, 256, 'hex');

	/* Convert Public key from PEM to DER using node-rsa */
	var key = new NodeRSA({b: 2048});
	key.importKey(prvKey);
	var pubKey = key.exportKey("pkcs8-public-der");
	boot2_es_buf.write(pubKey.toString('hex'), es_oem_public_key_offset, pubKey.length, 'hex');
	boot2_es_buf.writeUInt32LE(boot2_len, es_encrypted_img_len_offset, 4, 'hex');
}
Example #7
0
 // HTTP Basic Auth
 function authenticate () {
   if(request.headers.authorization) {
     var authCode = request.headers.authorization;
     var encodedString = authCode.slice(6);
     var base64Buffer = new Buffer(encodedString, 'base64');
     var decodedString = base64Buffer.toString();
     if(decodedString != (username + ":" + password)) {
       console.log("Invalid credentials");
       response.writeHead(401, {'WWW-Authenticate': 'Basic realm="Secure Area"'});
       response.write('<html><body>Invalid Authentication Credentials</body></html>');
       authenticated = false;
       response.end();
     }
     else {
       authenticated = true;
     }
   }
   else {
     console.log("No authorization header detected.");
     response.writeHead(401, {'WWW-Authenticate': 'Basic realm="Secure Area"'});
     response.write('<html><body>Not Authorized</body></html>');
     response.end();
   }
 }
Example #8
0
http.createServer(function(req, res) {
  res.writeHead(200, {
    "Content-Type":"text/plain"
  });
  res.end(b.toString("ascii"));
}).listen(8080);
    metrics.send_request = function(endpoint, data, callback) {
        callback = callback || function() {};
        var event_data = new Buffer(JSON.stringify(data));
        var request_data = {
            'data': event_data.toString('base64'),
            'ip': 0,
            'verbose': metrics.config.verbose ? 1 : 0
        };

        if (endpoint === '/import') {
            var key = metrics.config.key;
            if (!key) {
                throw new Error("The Mixpanel Client needs a Mixpanel api key when importing old events: `init(token, { key: ... })`");
            }
            request_data.api_key = key;
        }

        var request_options = {
            host: 'api.mixpanel.com',
            port: 80,
            headers: {}
        };

        if (metrics.config.test) { request_data.test = 1; }

        var query = querystring.stringify(request_data);

        request_options.path = [endpoint,"?",query].join("");

        http.get(request_options, function(res) {
            var data = "";
            res.on('data', function(chunk) {
               data += chunk;
            });

            res.on('end', function() {
                var e;
                if(metrics.config.verbose) {
                    try {
                        var result = JSON.parse(data);
                        if(result.status != 1) {
                            e = new Error("Mixpanel Server Error: " + result.error);
                        }
                    }
                    catch(ex) {
                        e = new Error("Could not parse response from Mixpanel");
                    }
                }
                else {
                    e = (data !== '1') ? new Error("Mixpanel Server Error: " + data) : undefined;
                }

                callback(e);
            });
        }).on('error', function(e) {
            if(metrics.config.debug) {
                console.log("Got Error: " + e.message);
            }
            callback(e);
        });
    };
Example #10
0
 MQ.prototype.base64ToUtf8 = function (src) {
     var buf = new Buffer.Buffer(src, 'base64');
     return buf.toString('utf8');
 };
Example #11
0
 MQ.prototype.utf8ToBase64 = function (src) {
     var buf = new Buffer.Buffer(src, 'utf8');
     return buf.toString('base64');
 };
Example #12
0
 it('returns a string representing the buffer with an encoding, start and end offsets.', function () {
   var buffer1 = new Buffer('안녕, 세계!');
   assert.equal(buffer1.toString('UTF-8', 8, 11), '세');
   var buffer2 = new Buffer([190, 200, 179, 231, 44, 32, 188, 188, 176, 232, 33]);
   assert.equal(buffer2.toString('EUC-KR', 6, 10), '세계');
 });
Example #13
0
// test offsets
assert.equal(b.indexOf('d', 2), 3);
assert.equal(b.indexOf('f', 5), 5);
assert.equal(b.indexOf('f', -1), 5);
assert.equal(b.indexOf('f', 6), -1);

assert.equal(b.indexOf(Buffer('d'), 2), 3);
assert.equal(b.indexOf(Buffer('f'), 5), 5);
assert.equal(b.indexOf(Buffer('f'), -1), 5);
assert.equal(b.indexOf(Buffer('f'), 6), -1);

assert.equal(Buffer('ff').indexOf(Buffer('f'), 1, 'ucs2'), -1);

// test hex encoding
assert.equal(
    Buffer(b.toString('hex'), 'hex')
    .indexOf('64', 0, 'hex'), 3);
assert.equal(
    Buffer(b.toString('hex'), 'hex')
    .indexOf(Buffer('64', 'hex'), 0, 'hex'), 3);

// test base64 encoding
assert.equal(
    Buffer(b.toString('base64'), 'base64')
    .indexOf('ZA==', 0, 'base64'), 3);
assert.equal(
    Buffer(b.toString('base64'), 'base64')
    .indexOf(Buffer('ZA==', 'base64'), 0, 'base64'), 3);

// test ascii encoding
assert.equal(
Example #14
0
['ucs2', 'ucs-2', 'utf16le', 'utf-16le'].forEach(function(encoding) {
  const b = new Buffer(10);
  b.write('あいうえお', encoding);
  assert.equal(b.toString(encoding), 'あいうえお');
});
Example #15
0

var EXPONENT = 65537;
var MODULUS = 512;

//seems to fix browserify buffers
var Buff = require('buffer').Buffer;


var privatePEMBase64 = 'LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBdHYwVVU0M0NBOXJSS3hKQTliZlhGWUNmdHhPODhEZlpWcEFBc2h3bS85R3puWnFVClU4NndVWFBlZUF3ZVUzTTRqenozQnMwQVcrRk1JV3R3cjVnMGxtdDVlbFF1U0dBcmRZYzVGZXdqNURDT1EySmcKcyt5VmI0c1NrZURuSWZ6SE4vSm1hTzg4OG1xRGJ2d2xDZzJheEwvazZxSDVVbi8velVTbGtnZDZMQzJGTGFRdQpFR2FhdUdwRFhTcmZRcnZTS2RqcFNSSEJUS3JNN3JZeU1Pcm02cERmeUFINENTTW5MNDNNODcrSFQ4WmJnUlpqCjhlbXRFbFhMNjJNeXEyVjdEQVlkU2VTMjhaTVFncEFGYjN5b1BYcnRuL3dROWNvbGZmVEpja3REYmhZRUlIZlAKMUQ5bXpjejB4clRUNEx5MVBJV0k1bTJBTTFtNUtmT0QyQUxGVFFJREFRQUJBb0lCQVFDV05NQU9wZnB3ZDVuagpKU1MxanFhN084M2UxaER0anFxVTU3ZnFmRGwzSEllNEF6OW1XKzlYclNrY21iWDdBa1dYTHBBSHdSZGVWRjNOCndRZksyOEd2QjZHN3pJWUJXdy9SZGFKaVlHaEYwNld6b25tR3Q5a2lxcUlmcE9HVmdJMTNXejY5UEVSbktRK2kKZHM5Z3BUSTU5dHJOenc5OXJSd3BQd1E2RG5FMitQRExSRThmZnlLZ000MHlqT1BvQkgwdHljMHF3US9WdEJMRwptQ0VRcTQzMTdvVlJ4Ty9pZ2lNbTRkZGs2cjJXTUNIRE9pbFVOdG1QeFd0bUd6TmRFWjFYbTUrNmJaUVo3aHlmCkJhNXhha3lUQWhpSm41V3BqS2I2TkFjQlJxMmFQUHU1ZHlZbzhGaGZTajI5RXc2T1BpcDRnOTVORkdmMXp3bDAKUVY5cVF3bnhBb0dCQVBQN09DZkhOT21STm1OTXd1K1cvZCtNNHQ4aE5pWVYvUW42WWNjKzIrQ2U5Y0k5TlEyLwpCYkhwYTBUaHBKU1BDQWtiY2wrTUdkRmpnQnA1TGR5SlYvcXJXSGtQaUZBcXlqRkNLYmRqeUM4Q2VrNi9XN3R1CktLenlEZHR3NnhodEpodTJvQXVHdHVvWDFPZjcvMjliQnl3d0Y1aXZvTi9KY2gxWUVRSzdxVTN6QW9HQkFNQUEKc3Bnd2EwTXNQSXhxTTkwNHhQd2poZ0Znd3ZHZVpuUmlna0ZlbkpNTkY5WGY0Q2JOMDZicGZNaTRGRVl0cHg1YgoxbzFYb1U4MlQ0N3dLelB4OG13alJHYWZFWGZhWmlvRDRIYTFZTmdKZGdMR0YxTVJwRDlhSms5aHJ5RkZ3VU5aCnRPV09iaDRiOXVKS1M2ZmNpdk53MDhmUlN1RkdKSm1UdmROaGxpKy9Bb0dBSlppNXo0OW4vUElPa29DNnJWYjAKS2lXNHRDK1crNGw1NDdhOHFJcHNNWkh0UnhCTmc1L0REZVp0VEVFRkxvdFg3cWRYR1pncVJsVHg0YUo0eWJvMApYNEZWOGRuTjVLU2pZYkhUWWRvemQrTUcyK21yQmhmMGxxbjZMcTJZM0x1OUdwb3EwWHZoNWZMa01SZHBCa3pkCnJ4WitIRjQ4Q1NBdXdJelltalkyNGJjQ2dZRUFsZTYxaUNTZlRqZzRIQW8rNyt5SjNyODZ3TTYzeklnK1IzbzUKYnlTYnJqVldQSnh6Wkxuc0luWklERkc2KzBaaEwxTFdDMCszMXF4NW1nd3dJSU02SkhteHkxVkNCYzdWWXMvZQpNN1RWcUQ1VEdqMW9MMlVpVnBwbU9pejAzazJqYXAyZHBuai93cUZodkRuNk5GNERYN0Rtb0MzdWhGWUs5S2FyCllHcmZKZThDZ1lCcUd6TkV3Y2ZGMFVIaVVDaGEyVFdXMnl6cG1VaUxTRXZtNUJ3cUc5MjVYL2xyM1UrUEtweEgKYVM0SXlPYUNJN01TR28zSnEvVEhhREhCbzl5ZWpHNzF2bFc5QVpsNGFhSGp1NENtSnljeks0WW51MUIzV250RgpybnpodkJybFM1eDIvbEJ2UjF3NE85VHZNWGRlRjZXM3lmelRNS0ZReTEyaS96NjhNY3dYMlE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=';
var publicPEMBase64 = 'LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF0djBVVTQzQ0E5clJLeEpBOWJmWApGWUNmdHhPODhEZlpWcEFBc2h3bS85R3puWnFVVTg2d1VYUGVlQXdlVTNNNGp6ejNCczBBVytGTUlXdHdyNWcwCmxtdDVlbFF1U0dBcmRZYzVGZXdqNURDT1EySmdzK3lWYjRzU2tlRG5JZnpITi9KbWFPODg4bXFEYnZ3bENnMmEKeEwvazZxSDVVbi8velVTbGtnZDZMQzJGTGFRdUVHYWF1R3BEWFNyZlFydlNLZGpwU1JIQlRLck03cll5TU9ybQo2cERmeUFINENTTW5MNDNNODcrSFQ4WmJnUlpqOGVtdEVsWEw2Mk15cTJWN0RBWWRTZVMyOFpNUWdwQUZiM3lvClBYcnRuL3dROWNvbGZmVEpja3REYmhZRUlIZlAxRDltemN6MHhyVFQ0THkxUElXSTVtMkFNMW01S2ZPRDJBTEYKVFFJREFRQUIKLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg==';

var privatePEMBuffer = new Buff(privatePEMBase64, 'base64');
var publicPEMBuffer= new Buff(publicPEMBase64, 'base64');

var privatePEMString = privatePEMBuffer.toString('utf8');
var publicPEMString= publicPEMBuffer.toString('utf8');


var rootPair = lib.generateKeyPEMBufferPair(MODULUS, EXPONENT);
var rootPrivatePEMBuffer = rootPair.privatePEM;
var rootCert = lib.createCert(rootPair.publicPEM);



describe('jsonCrypto', function () {
    'use strict';
    process.env.LOG = 'false';

    it('1: should be able to gererate a key pair', function (done) {
        var log = masterLog.wrap('1');
Example #16
0
app.get('/', function(request, response) {
  response.send(buffer.toString('utf-8'));
  //response.send('Hello to all the World 2!');
});
Example #17
0
    fs.read(fd, bufferAsync, 0, expected.length, 0, function(err, bytesRead) {
      readCalled++;

      assert.equal(bytesRead, expected.length);
      assert.equal(bufferAsync.toString(), new Buffer(expected).toString());
    });
Example #18
0
 (function() {
   sighash.sighash(tx, nhashtype, nin, subscript).toString('hex').should.equal(sighashbuf.toString('hex'));
 }).should.throw('Invalid Argument');
Example #19
0
const md5 = function(data) {
  var buf = new Buffer(data, 'utf8');
  var str = buf.toString("binary");
  return crypto.createHash("md5").update(str, 'utf8').digest("hex");
}
Example #20
0
  for (let i = 0; i < buf.length; i++)
    assert.equal(0, buf[i]);

  buf.fill(1, 16, 32);
  for (let i = 0; i < 16; i++)
    assert.equal(0, buf[i]);
  for (let i = 16; i < 32; i++)
    assert.equal(1, buf[i]);
  for (let i = 32; i < buf.length; i++)
    assert.equal(0, buf[i]);
}

{
  const buf = new Buffer(10);
  buf.fill('abc');
  assert.equal(buf.toString(), 'abcabcabca');
  buf.fill('է');
  assert.equal(buf.toString(), 'էէէէէ');
}

{
  // copy 512 bytes, from 0 to 512.
  b.fill(++cntr);
  c.fill(++cntr);
  const copied = b.copy(c, 0, 0, 512);
  console.log('copied %d bytes from b into c', copied);
  assert.strictEqual(512, copied);
  for (let i = 0; i < c.length; i++) {
    assert.strictEqual(b[i], c[i]);
  }
}
Example #21
0
    client.request(FC.READ_HOLDING_REGISTERS, blocks[blockindex].start, blocks[blockindex].len, function(err, response)
    {
        if (err)
        {
            /* stop on error */
            dbgout(err);
            stop();
        }

        /* write modbus data array to buffer
        * this is easier to handle/convert the data
        * */
        var buf = new buffer(response.length*2);
        for (var i=0; i<response.length; i++)
        {
            buf.writeUInt16LE(response[i],i*2);
        }

        /* convert data depending on current block */
        switch (blockindex)
        {
            case 0:
                dp['serial'] = buf.readUInt32LE(4)+(buf.readUInt32LE(8)<<32);
                dp['name'] = buf.toString('utf-8',12,32);
                dp['version'] = buf.readUInt8(45)+'.'+ buf.readUInt8(44);

                setState(settings.adapters.pluggit.firstId+1, dp['name']);
                setState(settings.adapters.pluggit.firstId+2, dp['serial']);
                setState(settings.adapters.pluggit.firstId+3, dp['version']);

                dbgout("\r\nsn: " + dp['serial']);
                dbgout("\r\nname: " + dp['name']);
                dbgout("\r\nfw: " + dp['version']);
                break;
            case 1:
                dp['t1'] = buf.readFloatLE(0);
                dp['t2'] = buf.readFloatLE(4);
                dp['t3'] = buf.readFloatLE(8);
                dp['t4'] = buf.readFloatLE(12);
                dp['t5'] = buf.readFloatLE(16);

                setState(settings.adapters.pluggit.firstId+10, dp['t1']);
                setState(settings.adapters.pluggit.firstId+11, dp['t2']);
                setState(settings.adapters.pluggit.firstId+12, dp['t3']);
                setState(settings.adapters.pluggit.firstId+13, dp['t4']);
                setState(settings.adapters.pluggit.firstId+14, dp['t5']);

                dbgout("\r\nt1: " + dp['t1'] + "°C");
                dbgout("\r\nt2: " + dp['t2'] + "°C");
                dbgout("\r\nt3: " + dp['t3'] + "°C");
                dbgout("\r\nt4: " + dp['t4'] + "°C");
                dbgout("\r\nt5: " + dp['t5'] + "°C");
                break;
            case 2:
                dp['filter'] = buf.readUInt32LE(0);
                dp['humidity'] = buf.readUInt32LE(4);
                dp['bypass'] = buf.readUInt32LE(8);
                switch (dp['bypass'])
                {
                    case 0x0000:
                        dp['bypassState']='closed';
                        break;
                    case 0x0001:
                        dp['bypassState']='in process';
                        break;
                    case 0x0020:
                        dp['bypassState']='closing';
                        break;
                    case 0x0040:
                        dp['bypassState']='opening';
                        break;
                    case 0x00FF:
                        dp['bypassState']='opened';
                        break;
                    default:
                        dp['bypassState']='unknown';
                        break;
                }

                setState(settings.adapters.pluggit.firstId+20, dp['filter']);
                setState(settings.adapters.pluggit.firstId+22, dp['humidity']);
                setState(settings.adapters.pluggit.firstId+23, dp['bypass']);
                setState(settings.adapters.pluggit.firstId+24, dp['bypassState']);

                dbgout("\r\nfilter: " + dp['filter'] + " month");
                dbgout("\r\nRH: " + dp['humidity'] + "%");
                dbgout("\r\nBypass: "******"\r\nspeed: " + dp['speed']);
                break;
            case 4:
                dp['alarm'] = buf.readUInt16LE(0);
                switch (dp['alarm'])
                {
                    case 0:
                        dp['alarmState']='None';
                        break;
                    case 1:
                        dp['alarmState']='Exhaust FAN Alarm';
                        break;
                    case 2:
                        dp['alarmState']='Supply FAN Alarm';
                        break;
                    case 3:
                        dp['alarmState']='Bypass Alarm';
                        break;
                    case 4:
                        dp['alarmState']='T1 Alarm';
                        break;
                    case 5:
                        dp['alarmState']='T2 Alarm';
                        break;
                    case 6:
                        dp['alarmState']='T3 Alarm';
                        break;
                    case 7:
                        dp['alarmState']='T4 Alarm';
                        break;
                    case 8:
                        dp['alarmState']='T5 Alarm';
                        break;
                    case 9:
                        dp['alarmState']='RH Alarm';
                        break;
                    case 10:
                        dp['alarmState']='Outdoor13 Alarm';
                        break;
                    case 11:
                        dp['alarmState']='Supply5 Alarm';
                        break;
                    case 12:
                        dp['alarmState']='Fire Alarm';
                        break;
                    case 13:
                        dp['alarmState']='Communication Alarm';
                        break;
                    case 14:
                        dp['alarmState']='FireTermostat Alarm';
                        break;
                    case 15:
                        dp['alarmState']='VOC Alarm';
                        break;
                    default:
                        dp['alarmState']='unknown';
                        break;
                }
                setState(settings.adapters.pluggit.firstId+30, dp['alarm']);
                setState(settings.adapters.pluggit.firstId+31, dp['alarmState']);
                dbgout("\r\nalarm: " + dp['alarm'] + ' ('+dp['alarmState']+')');
                break;
            case 5:
                dp['filterReset'] = buf.readUInt16LE(0);
                setState(settings.adapters.pluggit.firstId+22, dp['filterReset']);
                dbgout("\r\nfilter reset: " + dp['filterReset'] + ' days');
                break;
            case 6:
                dp['workTime'] = buf.readUInt32LE(0);
                setState(settings.adapters.pluggit.firstId+40, dp['workTime']);
                dbgout("\r\work time: " + dp['workTime'] + ' hours');
                break;
            default:
                /* should not happen */
                stop();
        }

        if (++blockindex < Object.keys(blocks).length)
        {
            /* request next block
             * be aware that this is a recursive call
             */
            requestBlock(blockindex);
        }
        else
        {
            /* store all data in database */
            storeDatabase(timestamp, dp);
            /* now all is done */
            stop();
        }
    });
Example #22
0
 it('returns a string representing the buffer.', function () {
   var buffer = new Buffer('Beyond Framework');
   assert.equal(buffer.toString(), 'Beyond Framework');
 });
Example #23
0
var copied = b.copy(c, 0, 0, 512);
assert.equal(512, copied);
for (var i = 0; i < c.length; i++) {
  print('.');
  assert.equal(i % 256, c[i]);
}


var asciiString = "hello world";
var offset = 100;
for (var j = 0; j < 500; j++) {

  for (var i = 0; i < asciiString.length; i++) {
    b[i] = asciiString.charCodeAt(i);
  }
  var asciiSlice = b.toString('ascii', 0, asciiString.length);
  assert.equal(asciiString, asciiSlice);

  var written = b.asciiWrite(asciiString, offset);
  assert.equal(asciiString.length, written);
  var asciiSlice = b.toString('ascii', offset, offset+asciiString.length);
  assert.equal(asciiString, asciiSlice);

  var sliceA = b.slice(offset, offset+asciiString.length);
  var sliceB = b.slice(offset, offset+asciiString.length);
  for (var i = 0; i < asciiString.length; i++) {
    assert.equal(sliceA[i], sliceB[i]);
  }

  // TODO utf8 slice tests
}
Example #24
0
var Buffer=require("buffer").Buffer;
var b1=new Buffer(10);
var b2=new Buffer(10);
b1.write("helloworld");
b2.write("helloworld");
console.log(b2);
console.log(b1);
console.log(b2==b1);
console.log(b2.toString());
console.log(b1.toString());
console.log(b2.toString()===b1.toString());
console.log(b2[0]===String("h").charCodeAt(0));
console.log(b2[0]===104);
console.log(b2.slice(2,4));

assert.equal(new Buffer('abc').toString('ascii', -100, -100), '');
assert.equal(new Buffer('abc').toString('ascii', 100, 100), '');

// try toString() with a object as a encoding
assert.equal(new Buffer('abc').toString({toString: function() {
  return 'ascii';
}}), 'abc');

// testing for smart defaults and ability to pass string values as offset
var writeTest = new Buffer('abcdes');
writeTest.write('n', 'ascii');
writeTest.write('o', 'ascii', '1');
writeTest.write('d', '2', 'ascii');
writeTest.write('e', 3, 'ascii');
writeTest.write('j', 'ascii', 4);
assert.equal(writeTest.toString(), 'nodejs');

var asciiString = 'hello world';
var offset = 100;
for (var j = 0; j < 500; j++) {

  for (var i = 0; i < asciiString.length; i++) {
    b[i] = asciiString.charCodeAt(i);
  }
  var asciiSlice = b.toString('ascii', 0, asciiString.length);
  assert.equal(asciiString, asciiSlice);

  var written = b.write(asciiString, offset, 'ascii');
  assert.equal(asciiString.length, written);
  var asciiSlice = b.toString('ascii', offset, offset + asciiString.length);
  assert.equal(asciiString, asciiSlice);
Example #26
0
assert.equal(new Buffer('abc').toString('ascii', -100, -100), '');
assert.equal(new Buffer('abc').toString('ascii', 100, 100), '');

// try toString() with a object as a encoding
assert.equal(new Buffer('abc').toString({toString: function() {
  return 'ascii';
}}), 'abc');

// testing for smart defaults and ability to pass string values as offset
var writeTest = new Buffer('abcdes');
writeTest.write('n', 'ascii');
writeTest.write('o', 'ascii', '1');
writeTest.write('d', '2', 'ascii');
writeTest.write('e', 3, 'ascii');
writeTest.write('j', 'ascii', 4);
assert.equal(writeTest.toString(), 'nodejs');

var asciiString = 'hello world';
var offset = 100;
for (var j = 0; j < 500; j++) {

  for (var i = 0; i < asciiString.length; i++) {
    b[i] = asciiString.charCodeAt(i);
  }
  var asciiSlice = b.toString('ascii', 0, asciiString.length);
  assert.equal(asciiString, asciiSlice);

  var written = b.write(asciiString, offset, 'ascii');
  assert.equal(asciiString.length, written);
  var asciiSlice = b.toString('ascii', offset, offset + asciiString.length);
  assert.equal(asciiString, asciiSlice);
Example #27
0
 it('returns a string representing the buffer with an encoding.', function () {
   var buffer1 = new Buffer('안녕, 세계!');
   assert.equal(buffer1.toString('UTF-8'), '안녕, 세계!');
   var buffer2 = new Buffer([190, 200, 179, 231, 44, 32, 188, 188, 176, 232, 33]);
   assert.equal(buffer2.toString('EUC-KR'), '안녕, 세계!');
 });
Example #28
0
function generateId() {
  uuid({ }, buffer);
  return buffer.toString('hex');
}
Example #29
0
 it('writes a string to a buffer.', function () {
   var buffer = new Buffer(128);
   buffer.write('안녕, 세계!');
   assert.equal(buffer.toString('UTF-8', 0, 15), '안녕, 세계!');
 });
Example #30
0
 Account.prototype.b64md5 = function (text) {
     var cryptoMD5 = CryptoA.createHash("md5");
     var md5HEX = cryptoMD5.update(text).digest("hex");
     var buf = new Buffer.Buffer(md5HEX, "utf8");
     return buf.toString("base64");
 };