New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

whatap

Package Overview
Dependencies
Maintainers
1
Versions
182
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

whatap - npm Package Compare versions

Comparing version 0.1.1 to 0.1.2

2

index.js

@@ -11,5 +11,5 @@ /**

NW.init( function(){
});
exports.NodeAgent = NW;

@@ -131,2 +131,5 @@ /**

"trace_service_port_enabled" : false,
//2017.05.02 AUTO ONAME
"auto_oname_prefix" : "nodejs",
"auto_oname_reset" : 0,
"log_pack_data" : false

@@ -133,0 +136,0 @@ };

@@ -51,5 +51,4 @@ /**

if(err) {
console.error("no license file");
if(cb) {
return cb('no license file');
return cb(new Error('no license file'));
}

@@ -99,3 +98,3 @@ } else {

});
Logger.print("WHATAP-203", "Config file reloaded", true);
require('../logger').print("WHATAP-203", "Config file reloaded", true);
}

@@ -143,3 +142,5 @@

if(self._propertyFilePath) {
if(cb) cb(null, self._propertyFilePath);
if(cb) {
cb(null, self._propertyFilePath);
}
}

@@ -217,3 +218,3 @@

Configuration.prototype.setProperty = function(key, value) {
if(this[key] == value) return;
if(this[key] == value) { return; }
this[key] = value;

@@ -220,0 +221,0 @@ this.emit(key, value);

@@ -62,3 +62,3 @@ /**

if(fs.existsSync(dir_name)) {
conf['app.root'] = root;
Configuration['app.root'] = root;
return;

@@ -73,3 +73,3 @@ }

if(fs.existsSync(dir_name)) {
conf['app.root'] = root;
Configuration['app.root'] = root;
return;

@@ -89,6 +89,6 @@ }

self.findRoot();
if(conf['app.root'] == null || conf['app.root'].length == 0) {
if(Configuration['app.root'] == null || Configuration['app.root'].length == 0) {
return Logger.print("WHATAP-001", "Can not find application root directory", true);
}
Logger.initializer.process();

@@ -100,209 +100,7 @@ NodeUtil.getPackageJson();

self._conf.init(this._userOpt , function(e) {
if(e) return;
Logger.print('WHATAP-101', 'Finish initialize configuration...', true);
self._securityMaster.run( function (err) {
if(err) {
Logger.printError('WHATAP-104', 'Failed to connect to whatap server', err, true);
return;
}
self.connect(function (err) {
if(err) {
Logger.printError('WHATAP-105', 'Failed to connect to whatap server', err, true);
return;
}
Logger.ONAME = secu.ONAME;
Logger.initializer.reset();
TraceContextManager.initialized = true;
DataTextAgent.reset();
var param = new ParamPack();
param.putString("whatap.version", NodeUtil.getVersion()+' '+ NodeUtil.getReleaseDate());
param.putString("os.name", os.platform());
param.putString("os.arch", os.arch());
param.putString('os.release', os.release());
param.putString('node.version', process.version);
param.putString('node.uptime', (new Date()).toString());
param.putString('node.name', NodeUtil.getName());
param.putString('user.timezone', NodeUtil.getTimeZone());
param.putString('user.home', os.homedir());
param.putString('user.hostname', os.hostname())
DataPackSender.sendBoot(param);
self._counterManager = new CounterManager(self);
self._counterManager.run();
WhatapUtil.printWhatap();
PluginLoaderManager.start();
if(cb) cb();
});
});
});
self.loadObserves();
return this;
};
NodeAgent.prototype.connect = function (cb) {
Logger.print("WHATAP-170", "[WhaTap Agent] now waiting for starting......", true)
var self = this;
self._tcpsession = new TcpSession();
setTimeout(function () {
if(Configuration['whatap.port'] == null) {
self.connect(cb);
if(e) {
Logger.printError("WHATAP-002", "Configuataion initialize error", e, true);
return;
}
self._tcpsession.open(function(err) {
if(err) {
Logger.printError("WHTAP-11", "TCP SESSION OPEN ERROR", err ,true);
return;
};
if(cb) cb();
});
}, 10000);
};
NodeAgent.prototype.loadObserves = function(){
var agent = this;
var observes = [];
observes.push(HttpObserver);
observes.push(NetObserver);
observes.push(ClusterObserver);
observes.push(MysqlObserver);
observes.push(SocketioObserver);
observes.push(ExpressObserver);
observes.push(FileObserver);
observes.push(MongoObserver);
observes.push(MongooseObserver);
observes.push(RedisObserver);
observes.push(MssqlObserver);
observes.push(CustomObserver);
var packageToObserve = {};
observes.forEach(function(observeObj) {
var observe = new observeObj(agent);
observe.packages.forEach(function(pkg){
if(!packageToObserve[pkg]){
packageToObserve[pkg] = [];
}
packageToObserve[pkg].push( observe );
});
});
agent.aop.after(module.__proto__, 'require', function(obj, args, result) {
// PackageCtrHelper.addPackage(args[0], obj.id, result);
var observes = packageToObserve[args[0]];
if(observes) {
observes.forEach(function(observe){
observe.inject(result, args[0]);
});
}
});
new ProcessObserver(agent).inject(process, 'process');
new GlobalObserver(agent).inject(global, 'global');
};
exports.NodeAgent = NodeAgent;/**
* Copyright 2016 the WHATAP project authors. All rights reserved.
* Use of this source code is governed by a license that
* can be found in the LICENSE file.
*/
var os = require('os'),
fs = require('fs'),
path = require('path');
var Interceptor = require('./interceptor').Interceptor,
HttpObserver = require('../observers/http-observer').HttpObserver,
NetObserver = require('../observers/net-observer').NetObserver,
ClusterObserver = require('../observers/cluster-observer').ClusterObserver,
ExpressObserver = require('../observers/express-observer').ExpressObserver,
GlobalObserver = require('../observers/global-observer').GlobalObserver,
MysqlObserver = require('../observers/mysql-observer').MysqlObserver,
SocketioObserver = require('../observers/socket.io-observer').SocketIOObserver,
ProcessObserver = require('../observers/process-observer').ProcessObserver,
FileObserver = require('../observers/file-observer').FileObserver,
MongoObserver = require('../observers/mongo-observer').MongoObserver,
MongooseObserver = require('../observers/mongoose-observer').MongooseObserver,
RedisObserver = require('../observers/redis-observer').RedisObserver,
MssqlObserver = require('../observers/mssql-observer').MssqlObserver,
CustomObserver = require('../observers/custom-observer').CustomObserver;
var Configuration = require('./../conf/configure'),
SecurityMaster = require('./../net/security-master'),
TcpSession = require('./../net/tcp-session'),
PackageCtrHelper = require('./../control/packagectr-helper'),
DataPackSender = require('../data/datapack-sender'),
CounterManager = require('./../counter/counter-manager'),
NodeUtil = require('./../util/nodeutil'),
WhatapUtil = require('./../util'),
ParamPack = require('../pack/param-pack').ParamPack,
PluginLoaderManager = require('../plugin/plugin-loadermanager'),
TraceContextManager = require('../trace/trace-context-manager'),
DataTextAgent = require('../data/datatext-agent').agent,
Logger = require('../logger');
require('../stat/stat-tranx');
require('../stat/stat-sql');
require('../stat/stat-httpc');
require('../stat/stat-remoteip');
require('../stat/stat-useragent');
require('../stat/timingsender');
var NodeAgent = function(opt) {
this._userOpt = opt;
this._initialized = false;
this.aop = new Interceptor(this);
this._conf = Configuration;
this._securityMaster = SecurityMaster;
this._tcpsession = null;
this._counterManager = null;
};
NodeAgent.prototype.findRoot = function () {
var root = process.cwd();
while(root.length > 1) {
var dir_name = path.join(root, 'node_modules');
if(fs.existsSync(dir_name)) {
conf['app.root'] = root;
return;
}
root = path.join(root, '..');
}
root = path.dirname(require.main.filename);
while(root.length > 1) {
var dir_name = path.join(root, 'node_modules');
if(fs.existsSync(dir_name)) {
conf['app.root'] = root;
return;
}
root = path.join(root, '..');
}
};
NodeAgent.prototype.init = function(cb) {
var self = this;
if(self._initialized) {
return;
}
self._initialized = true;
self.starttime = Date.now();
self.findRoot();
if(conf['app.root'] == null || conf['app.root'].length == 0) {
return Logger.print("WHATAP-001", "Can not find application root directory", true);
}
Logger.initializer.process();
NodeUtil.getPackageJson();
PackageCtrHelper.dynamicHook();
Logger.print('WHATAP-100', 'Start initialize configuration...', true);
self._conf.init(this._userOpt , function(e) {
if(e) return;
Logger.print('WHATAP-101', 'Finish initialize configuration...', true);

@@ -321,3 +119,3 @@ self._securityMaster.run( function (err) {

Logger.ONAME = secu.ONAME;
Logger.ONAME = self._securityMaster.ONAME;
Logger.initializer.reset();

@@ -372,5 +170,5 @@

});
}, 10000);
}, 5000);
};
NodeAgent.prototype.loadObserves = function(){
NodeAgent.prototype.loadObserves = function() {
var agent = this;

@@ -377,0 +175,0 @@ var observes = [];

@@ -21,2 +21,3 @@ /**

NetFlag.KEY_RESET = 0xff;
NetFlag.PREPARE_AGENT = 0xfc;

@@ -23,0 +24,0 @@ NetFlag.getSecureMask = function(code){

@@ -67,3 +67,3 @@ /**

}else{
OidUtil.setType(Configuration.getProperty("whatap.type", "NODE"+ Configuration.getProperty('node.clusterId') ) );
OidUtil.setType(Configuration.getProperty("whatap.type", "NODE" + Configuration.getProperty('node.clusterId') ) );
}

@@ -80,3 +80,29 @@

},
setAgentOnameOid :function (oname, myIp) {
var Configuration = require('./../conf/configure');
Configuration.setProperty('whatap.ip', myIp);
this.IP = DataInputX.toInt(IPUtil.toBytes(myIp), 0);
var port = Configuration.getProperty("whatap.port");
OidUtil.setIp(IPUtil.toString(this.IP));
OidUtil.setPort(port);
OidUtil.setPid(process.pid);
OidUtil.setHostName(require('os').hostname());
if(require('cluster').isMaster){
OidUtil.setType(Configuration.getProperty("whatap.type", "NODE"));
}else{
OidUtil.setType(Configuration.getProperty("whatap.type", "NODE"+ Configuration.getProperty('node.clusterId') ) );
}
OidUtil.setCmd(Configuration.getProperty("sun.java.command"));
this.ONAME = oname
this.OID = OidUtil.mkOid(this.ONAME);
if (lastOid != this.OID) {
lastOid = this.OID;
require('../logger').print('WHATAP-168', "OID: " + this.OID + " ONAME: " + this.ONAME + " IP: " + IPUtil.toString(this.IP), true);
}
},
getClusterId: function(cb){
var conf = require('./../conf/configure');
if(cluster.isMaster){

@@ -83,0 +109,0 @@ conf.setProperty('node.clusterId', '');

@@ -7,4 +7,4 @@ /**

var net = require('net');
netflag = require('./netflag').NetFlag,
var net = require('net'),
netflag = require('./netflag').NetFlag,
netsrc = require('./netflag').NetSrc,

@@ -18,2 +18,3 @@ secu = require('./security-master'),

Receiver = require('./receiver'),
OidUtil = require('../util/oidutil'),
Logger = require('../logger'),

@@ -36,2 +37,4 @@ Long = require('long');

var self = this;
self.auto_oname_reset = conf.auto_oname_reset;
if(this.isOpen()) { cb(new Error('Already connected..')); }

@@ -56,10 +59,14 @@

Logger.print('WHATAP-180', "[Try to connect to] " + JSON.stringify(options), true);
this.out = net.connect(options, function(err) {
if(err) {
Logger.printError('WHATAP-181', 'Failed to connect to server', err, true);
cb(err);
return;
this.out = net.connect(options, function() {
var localAddr = (this.localAddress || IPUtil.getIp());
if(conf.auto_oname_enabled == true) {
var oname = conf["whatap.oname"];
if((oname == null || oname.length == 0)
&& self.auto_oname_reset == conf.auto_oname_reset) {
self.prepareAutoOnameByServer(localAddr);
return;
}
}
var localAddr = (this.localAddress || IPUtil.getIp());
secu.decideAgentOnameOid(localAddr);

@@ -83,2 +90,29 @@ if(conf.cipher_net_enabled){

this.out.on('data', function(data){
if(self.PREPARE_AGENT) {
var din = new DataInputX(data);
var source = din.readByte();
var code = din.readByte();
var pcode = din.readLong();
var oid = din.readInt();
var transfer_key = din.readInt();
var _data = din.readIntBytes(8 * 1024 * 1024);
if (conf.cypher_level > 0) {
_data = secu.cypher.decrypt(_data);
}
var oname = new DataInputX(_data).readText();
var localAddr = (this.localAddress || IPUtil.getIp());
secu.setAgentOnameOid(oname, localAddr);
self.PREPARE_AGENT = false;
if(conf.cipher_net_enabled) {
try {
self.out.write( self.keyReset() );
} catch(e) {
Logger.printError("WHATAP-125", "KeyReset " + host + ":" + port, e, true);
}
}
return;
}
if(firstReceived) {

@@ -105,3 +139,2 @@ self.read(data);

};
TcpSession.prototype.send = function(code , b ){

@@ -152,3 +185,3 @@ try{

var msg = new DataOutputX().writeText("hello").writeText(secu.ONAME).writeInt8(secu.IP).toByteArray();
if( conf.cipher_net_enabled ){
if( conf.cypher_level > 0 ){
msg = secu.cypher.encrypt(msg);

@@ -188,3 +221,42 @@ }

};
TcpSession.prototype.prepareAutoOnameByServer = function (localAddr) {
var self = this;
try {
var auto_oname_prefix = conf.auto_oname_prefix;
if(auto_oname_prefix.indexOf('{') >= 0) {
OidUtil.setIp(localAddr);
OidUtil.setPort(port);
OidUtil.setPid(process.pid);
OidUtil.setHostName(require('os').hostname());
auto_oname_prefix = OidUtil.mkOname(conf.auto_oname_prefix);
}
var pout = new DataOutputX();
pout.writeText(auto_oname_prefix);
pout.writeInt(IPUtil.toBytes(localAddr));
var msg = pout.toByteArray();
var trkey = 0;
if(conf.cypher_level > 0) {
msg = secu.cypher.encrypt(msg);
var b0 = 1;
var b1 = (conf.cypher_level / 8);
trkey = DataInputX.toInt([b0, b1, 0, 0], 0);
}
var out = new DataOutputX();
out.writeByte(netsrc.AGENT_JAVA_EMBED);
out.writeByte(netflag.PREPARE_AGENT);
out.writeLong(secu.PCODE);
out.writeInt(0);
out.writeInt(trkey);
out.writeIntBytes(msg);
self.PREPARE_AGENT = true;
self.out.write(out.toByteArray());
} catch(e) {
Logger.printError("WHATAP-003", "Prepare oname error", e, true);
}
};
module.exports = TcpSession;

@@ -30,2 +30,3 @@ /**

var now = DateUtil.currentTime();
var conf = require('../conf/configure');
if(conf.stat_enabled) {

@@ -32,0 +33,0 @@ StatTranx.send(now);

@@ -42,5 +42,5 @@ /**

TraceContextManager.start = function () {
if(TraceContextManager.initialized == false) { return null; }
var conf = require('../conf/configure');

@@ -47,0 +47,0 @@ if(TraceContextManager.size() > conf.trx_profile_max_count) { return null; }

@@ -15,3 +15,2 @@ /**

this.BLOCK = conf.cypher_level / 8;
this.key = cypherKey = Cypher.padding(cypherKey);

@@ -62,3 +61,2 @@ this.enc = crypto.createCipheriv("AES-128-ECB", cypherKey, '');

this.enc = crypto.createCipheriv("AES-128-ECB", this.key, '');
var len = data.length;

@@ -69,11 +67,14 @@ var remainder = len % 16;

buf = data;
}else{
buf = new Buffer( ( Math.floor(len / 16) +1) * 16);
} else {
buf = new Buffer( (Math.floor(len / 16) +1) * 16 );
buf.fill(0);
DataOutputX.set(buf, 0, data );
}
try{
return Buffer.concat([this.enc.update(buf), this.enc.final()]);
}catch(e){
console.error(e);
try {
if(data.length <= 16) {
return Buffer.concat([this.enc.update(buf)]);
} else {
return Buffer.concat([this.enc.update(buf), this.enc.final()]);
}
} catch(e) {
}

@@ -91,6 +92,6 @@ return null;

}catch(e){
console.log(e);
}
return null;
};
module.exports = Cypher;

@@ -7,7 +7,7 @@ /**

var fs = require('fs'),
path = require('path');
var fs = require('fs'),
path = require('path');
function getPackageJson(){
var appDir = conf['app.root'];
var appDir = require('../conf/configure')['app.root'];
try {

@@ -22,3 +22,3 @@ var whatap_path = path.join(

} catch(e) {
}

@@ -29,3 +29,3 @@ NodeUtil.packageJson = {};

if(fullPath === undefined) return;
if(fullPath && fullPath.length < 3 ) {

@@ -32,0 +32,0 @@ if(cb) return cb('root');

{
"name": "whatap",
"homepage": "http://www.whatap.io",
"version": "0.1.1",
"releaseDate": "20170502",
"version": "0.1.2",
"releaseDate": "20170510",
"description": "Monitoring and Profiling Service",

@@ -7,0 +7,0 @@ "main": "index.js",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc