I’m trying to make poplib from npm work using socks. So i took this module here https://github.com/ditesh/node-poplib/blob/master/main.js and modified to use socks module like so:
( i put code here, beacause too large)
https://hatebin.com/tdfeahniwn
Then i want to use this module in meteor 1.6. Meteor 1.6 uses node v8.15.1
When i try to use it i get error like so:
/root/.meteor/packages/meteor-tool/.1.6.0.uel3v4.msatg++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/bin/node[7843]: ../src/stream_base.h:244:void node::StreamBase::Consume(): Assertion
(consumed_) == (false)’ failed.`
I added some console logs to see what is happening:
var proxy_callback = function(err,info){
if (!err) {
socket = info.socket;
console.log('Connected to: ' + host)
if (enabletls === true) {
console.log('Converting to tls socket...')
tlssock = new tls.TLSSocket( socket , {
isServer: false,
rejectUnauthorized: false
});
console.log('Connecting tls socket,,,')
tlssock = tls.connect({
socket: socket,
rejectUnauthorized: !self.data.ignoretlserrs
}, function() {
if (tlssock.authorized === false &&
self.data["ignoretlserrs"] === false)
self.emit("tls-error", tlssock.authorizationError);
});
console.log('tls connected...');
socket = tlssock;
}
console.log('Connected');
// Set up event handlers
socket.on("data", onData);
socket.on("error", onError);
socket.on("end", onEnd);
socket.on("close", onClose);
} else {
console.log("ERROR: proxy type " + proxy_type + " " + err);
if(proxy_type >= 5)
throw err;
proxy_type++;
proxy_options.proxy.type = proxy_type;
SocksClient.createConnection(proxy_options, proxy_callback);
}
};
log:
I20190716-21:07:52.492(-4)? Connected to: pop.mail.ru
I20190716-21:07:52.493(-4)? Converting to tls socket...
I20190716-21:07:52.504(-4)? Connecting tls socket...
W20190716-21:07:52.505(-4)? (STDERR) /root/.meteor/packages/meteor-tool/.1.6.0.uel3v4.msatg++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/bin/node[7843]: ../src/stream_base.h:244:void node::StreamBase::Consume(): Assertion `(consumed_) == (false)' failed.
[etc errros]
So it seems tls module is doing something that throws this error, i’m unable to fix it, can you help how can i get meteor to use other node js version? I need to embedd my module in meteor and test it there, write callbacks logic with mongo etc, and right now i can’t really do this because of ths crash. I know its not entirely meteor related but maybe someone can help on this.