smc-hub
Version:
CoCalc: Backend webserver component
11 lines • 76 kB
Source Map (JSON)
{
"version": 3,
"file": "",
"sourceRoot": "",
"sources": [
"/home/user/cocalc/src/smc-util-node/misc_node.coffee"
],
"names": [],
"mappings": "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",
"sourcesContent": [
"#########################################################################\n# This file is part of CoCalc: Copyright © 2020 Sagemath, Inc.\n# License: AGPLv3 s.t. \"Commons Clause\" – see LICENSE.md for details\n#########################################################################\n\n# misc JS functionality that only makes sense on the node side (not on the client)\n\nassert = require('assert')\nfs = require('fs')\nnet = require('net')\nwinston = require('winston')\nasync = require('async')\npath = require('path')\n\nmisc = require('smc-util/misc')\n{walltime, defaults, required, to_json} = misc\nmessage = require('smc-util/message')\n\nexports.SALVUS_HOME = exports.SMC_ROOT = SMC_ROOT = process.env.SMC_ROOT\n\nexports.WEBAPP_LIB = 'webapp-lib' # was 'static' in the old days, contains js libraries\n\n# Asynchronous JSON functionality: these are slower but block the main thread *less*.\n# \n# - to_json_async - convert object to JSON string without blocking.\n# This uses https://github.com/ckknight/async-json\n# \n# - from_json_async - convert JSON string to object/etc., without blocking,\n# though 2x times as slow as JSON.parse. This uses https://github.com/bjouhier/i-json\n# \n# TESTS:\n# \n# m=require('misc_node');s=JSON.stringify({x:Buffer.alloc(10000000).toString('hex')}); d=new Date(); m.from_json_async(string: s, chunk_size:10000, cb: (e, r) -> console.log(e, new Date() - d)); new Date() - d\n\n# exports.to_json_async = (opts) ->\n# opts = defaults opts,\n# obj : required # Javascript object to convert to a JSON string\n# cb : required # cb(err, JSON string)\n# \n# ijson = require('i-json')\n# exports.from_json_async = (opts) ->\n# opts = defaults opts,\n# string : required # string in JSON format\n# chunk_size : 50000 # size of chunks to parse -- affects how long this blocks the main thread\n# cb : required\n# p = ijson.createParser()\n# s = opts.string\n# f = (i, cb) ->\n# #t = misc.mswalltime()\n# p.update(s.slice(i*opts.chunk_size, (i+1)*opts.chunk_size))\n# #console.log(\"update: #{misc.mswalltime(t)}\")\n# setTimeout(cb, 0)\n# async.mapSeries [0...s.length/opts.chunk_size], f, (err) ->\n# opts.cb(err, p.result())\n\n# Our TCP messaging system. We send a message by first\n# sending the length, then the bytes of the actual message. The code\n# in this section is used by:\n# * hub -- to communicate with sage_server and console_server\n\n# Extend the socket object so that listens to all data coming in on this socket\n# and fires a 'mesg' event, along with the JSON object or blob in the message\n# So, one listens with:\n# socket.on('mesg', (type, value) -> ...)\n# where type is one if 'json' or 'blob'.\n#\n# Calling this function also adds a function .write_mesg to the socket, so that\n# socket.write_mesg(type, data)\n# will send the message of the given type on the socket. When type='json',\n# data is just a JSON-able object. When type='blob', data={uuid:..., blob:...};\n# since every blob is tagged with a uuid.\n\n\nexports.enable_mesg = enable_mesg = (socket, desc) ->\n socket.setMaxListeners(500) # we use a lot of listeners for listening for messages\n socket._buf = null\n socket._buf_target_length = -1\n socket._listen_for_mesg = (data) ->\n socket._buf = if socket._buf == null then data else Buffer.concat([socket._buf, data])\n loop\n if socket._buf_target_length == -1\n # starting to read a new message\n if socket._buf.length >= 4\n socket._buf_target_length = socket._buf.readUInt32BE(0) + 4\n else\n return # have to wait for more data to find out message length\n if socket._buf_target_length <= socket._buf.length\n # read a new message from our buffer\n type = socket._buf.slice(4, 5).toString()\n mesg = socket._buf.slice(5, socket._buf_target_length)\n switch type\n when 'j' # JSON\n s = mesg.toString()\n try\n # Do not use \"obj = JSON.parse(s)\"\n obj = misc.from_json_socket(s) # this properly parses Date objects\n catch e\n winston.debug(\"Error parsing JSON message='#{misc.trunc(s,512)}' on socket #{desc}\")\n # TODO -- this throw can seriously mess up the server; handle this\n # in a better way in production. This could happen if there is\n # corruption of the connection.\n #throw(e)\n return\n socket.emit('mesg', 'json', obj)\n when 'b' # BLOB (tagged by a uuid)\n socket.emit('mesg', 'blob', {uuid:mesg.slice(0,36).toString(), blob:mesg.slice(36)})\n else\n throw(\"unknown message type '#{type}'\")\n socket._buf = socket._buf.slice(socket._buf_target_length)\n socket._buf_target_length = -1\n if socket._buf.length == 0\n return\n else # nothing to do but wait for more data\n return\n\n socket.on('data', socket._listen_for_mesg)\n\n socket.write_mesg = (type, data, cb) -> # cb(err)\n if not data?\n # uncomment this to get a traceback to see what might be causing this...\n #throw Error(\"write_mesg(type='#{type}': data must be defined\")\n cb?(\"write_mesg(type='#{type}': data must be defined\")\n return\n send = (s) ->\n buf = Buffer.alloc(4)\n # This line was 4 hours of work. It is absolutely\n # *critical* to change the (possibly a string) s into a\n # buffer before computing its length and sending it!!\n # Otherwise unicode characters will cause trouble.\n if typeof(s) == \"string\"\n s = Buffer.from(s)\n buf.writeInt32BE(s.length, 0)\n if not socket.writable\n cb?(\"socket not writable\")\n return\n else\n socket.write(buf)\n\n if not socket.writable\n cb?(\"socket not writable\")\n return\n else\n socket.write(s, cb)\n\n switch type\n when 'json'\n send('j' + misc.to_json_socket(data))\n when 'blob'\n assert(data.uuid?, \"data object *must* have a uuid attribute\")\n assert(data.blob?, \"data object *must* have a blob attribute\")\n send(Buffer.concat([Buffer.from('b'), Buffer.from(data.uuid), Buffer.from(data.blob)]))\n else\n cb?(\"unknown message type '#{type}'\")\n\n # Wait until we receive exactly *one* message of the given type\n # with the given id, then call the callback with that message.\n # (If the type is 'blob', with the given uuid.)\n socket.recv_mesg = (opts) ->\n opts = defaults opts,\n type : required\n id : required # or uuid\n cb : required # called with cb(mesg)\n timeout : undefined\n\n f = (type, mesg) ->\n if type == opts.type and ((type == 'json' and mesg.id == opts.id) or (type=='blob' and mesg.uuid=opts.id))\n socket.removeListener('mesg', f)\n opts.cb(mesg)\n socket.on 'mesg', f\n\n if opts.timeout?\n timeout = () ->\n if socket? and f in socket.listeners('mesg')\n socket.removeListener('mesg', f)\n opts.cb(message.error(error:\"Timed out after #{opts.timeout} seconds.\"))\n setTimeout(timeout, opts.timeout*1000)\n\n\n# Stop watching data stream for messages and delete the write_mesg function.\nexports.disable_mesg = (socket) ->\n if socket._listen_for_mesg?\n socket.removeListener('data', socket._listen_for_mesg)\n delete socket._listen_for_mesg\n\n\n# Wait to receive token over the socket; when it is received, call\n# cb(false), then send back \"y\". If any mistake is made (or the\n# socket times out after 10 seconds), send back \"n\" and close the\n# connection.\nexports.unlock_socket = (socket, token, cb) -> # cb(err)\n timeout = setTimeout((() -> socket.destroy(); cb(\"Unlock socket -- timed out waiting for secret token\")), 10000)\n\n user_token = ''\n listener = (data) ->\n user_token += data.toString()\n if user_token == token\n socket.removeListener('data', listener)\n # got it!\n socket.write('y')\n clearTimeout(timeout)\n cb(false)\n else if user_token.length > token.length or token.slice(0, user_token.length) != user_token\n socket.removeListener('data', listener)\n socket.write('n')\n socket.write(\"Invalid secret token.\")\n socket.destroy()\n clearTimeout(timeout)\n cb(\"Invalid secret token.\")\n socket.on('data', listener)\n\n# Connect to a locked socket on host, unlock it, and do\n# cb(err, unlocked_socket).\n# WARNING: Use only on an encrypted VPN, since this is not\n# an *encryption* protocol.\nexports.connect_to_locked_socket = (opts) ->\n {port, host, token, timeout, cb} = defaults opts,\n host : 'localhost'\n port : required\n token : required\n timeout : 5\n cb : required\n\n if not (port > 0 and port < 65536)\n cb(\"connect_to_locked_socket -- RangeError: port should be > 0 and < 65536: #{port}\")\n return\n\n winston.debug(\"misc_node: connecting to a locked socket on port #{port}...\")\n timer = undefined\n\n timed_out = () ->\n m = \"misc_node: timed out trying to connect to locked socket on port #{port}\"\n winston.debug(m)\n cb?(m)\n cb = undefined # NOTE: here and everywhere below we set cb to undefined after calling it, and only call it if defined, since the event and timer callback stuff is very hard to do right here without calling cb more than once (which is VERY bad to do).\n socket?.end()\n timer = undefined\n\n timer = setTimeout(timed_out, timeout*1000)\n\n socket = net.connect {host:host, port:port}, () =>\n listener = (data) ->\n winston.debug(\"misc_node: got back response: #{data}\")\n socket.removeListener('data', listener)\n if data.toString() == 'y'\n if timer?\n clearTimeout(timer)\n cb?(undefined, socket)\n cb = undefined\n else\n socket.destroy()\n if timer?\n clearTimeout(timer)\n cb?(\"Permission denied (invalid secret token) when connecting to the local hub.\")\n cb = undefined\n socket.on 'data', listener\n winston.debug(\"misc_node: connected, now sending secret token\")\n socket.write(token)\n\n # This is called in case there is an error trying to make the connection, e.g., \"connection refused\".\n socket.on \"error\", (err) =>\n if timer?\n clearTimeout(timer)\n cb?(err)\n cb = undefined\n\n\n# Connect two sockets together.\n# If max_burst is optionally given, then parts of a big burst of data\n# from s2 will be replaced by '[...]'.\nexports.plug = (s1, s2, max_burst) -> # s1 = hub; s2 = console server\n last_tm = misc.mswalltime()\n last_data = ''\n amount = 0\n # Connect the sockets together.\n s1_data = (data) ->\n if not s2.writable\n s1.removeListener('data', s1_data)\n else\n s2.write(data)\n s2_data = (data) ->\n if not s1.writable\n s2.removeListener('data', s2_data)\n else\n if max_burst?\n tm = misc.mswalltime()\n if tm - last_tm >= 20\n if amount < 0 # was truncating\n try\n x = last_data.slice(Math.max(0, last_data.length - Math.floor(max_burst/4)))\n catch e\n # I don't know why the above sometimes causes an exception, but it *does* in\n # Buffer.slice, which is a serious problem. Best to ignore that data.\n x = ''\n data = \"]\" + x + data\n #console.log(\"max_burst: reset\")\n amount = 0\n last_tm = tm\n #console.log(\"max_burst: amount=#{amount}\")\n if amount >= max_burst\n last_data = data\n data = data.slice(0,Math.floor(max_burst/4)) + \"[...\"\n amount = -1 # so do only once every 20ms.\n setTimeout((()=>s2_data('')), 25) # write nothing in 25ms just to make sure ...] appears.\n else if amount < 0\n last_data += data\n setTimeout((()=>s2_data('')), 25) # write nothing in 25ms just to make sure ...] appears.\n else\n amount += data.length\n # Never push more than max_burst characters at once to hub, since that cou