From 9e85a0dae1c8b5e2b87071b827fd899d455d5a1b Mon Sep 17 00:00:00 2001 From: "kepler155c@gmail.com" Date: Mon, 1 Jul 2019 17:22:19 -0400 Subject: [PATCH] shuffled some files around --- sys/apps/network/trust.lua | 4 +++- sys/autorun/apps.lua | 4 ---- sys/autorun/upgraded.lua | 1 + sys/etc/fstab | 4 ++++ sys/init/3.sys.lua | 4 ++++ sys/init/6.packages.lua | 7 +++++-- sys/modules/opus/crypto/chacha20.lua | 2 +- sys/modules/opus/socket.lua | 24 +++++++++++++++--------- 8 files changed, 33 insertions(+), 17 deletions(-) delete mode 100644 sys/autorun/apps.lua create mode 100644 sys/etc/fstab create mode 100644 sys/init/3.sys.lua diff --git a/sys/apps/network/trust.lua b/sys/apps/network/trust.lua index 58d3847..7f80427 100644 --- a/sys/apps/network/trust.lua +++ b/sys/apps/network/trust.lua @@ -13,7 +13,9 @@ local function trustConnection(socket) if not password then socket:write({ msg = 'No password has been set' }) else - data = Crypto.decrypt(data, password) + pcall(function() + data = Crypto.decrypt(data, password) + end) if data and data.pk and data.dh == socket.dhost then local trustList = Util.readTable('usr/.known_hosts') or { } trustList[data.dh] = data.pk diff --git a/sys/autorun/apps.lua b/sys/autorun/apps.lua deleted file mode 100644 index 5322c79..0000000 --- a/sys/autorun/apps.lua +++ /dev/null @@ -1,4 +0,0 @@ -fs.mount('sys/apps/pain.lua', 'urlfs', 'https://github.com/LDDestroier/CC/raw/master/pain.lua') -fs.mount('sys/apps/update.lua', 'urlfs', 'http://pastebin.com/raw/UzGHLbNC') -fs.mount('sys/apps/Enchat.lua', 'urlfs', 'https://raw.githubusercontent.com/LDDestroier/enchat/master/enchat3.lua') -fs.mount('sys/apps/cloud.lua', 'urlfs', 'https://cloud-catcher.squiddev.cc/cloud.lua') diff --git a/sys/autorun/upgraded.lua b/sys/autorun/upgraded.lua index d3a2737..6cb1c92 100644 --- a/sys/autorun/upgraded.lua +++ b/sys/autorun/upgraded.lua @@ -10,3 +10,4 @@ if fs.exists('sys/autorun/gps.lua') then fs.delete('sys/autorun/gps.lua') end if fs.exists('sys/autorun/gpsHost.lua') then fs.delete('sys/autorun/gpsHost.lua') end if fs.exists('sys/apps/network/redserver.lua') then fs.delete('sys/apps/network/redserver.lua') end if fs.exists('sys/apis') then fs.delete('sys/apis') end +if fs.exists('sys/autorun/apps.lua') then fs.delete('sys/autorun/apps.lua') end diff --git a/sys/etc/fstab b/sys/etc/fstab new file mode 100644 index 0000000..deeac19 --- /dev/null +++ b/sys/etc/fstab @@ -0,0 +1,4 @@ +sys/apps/pain.lua urlfs https://github.com/LDDestroier/CC/raw/master/pain.lua +sys/apps/update.lua urlfs http://pastebin.com/raw/UzGHLbNC +sys/apps/Enchat.lua urlfs https://raw.githubusercontent.com/LDDestroier/enchat/master/enchat3.lua +sys/apps/cloud.lua urlfs https://cloud-catcher.squiddev.cc/cloud.lua \ No newline at end of file diff --git a/sys/init/3.sys.lua b/sys/init/3.sys.lua new file mode 100644 index 0000000..ce04901 --- /dev/null +++ b/sys/init/3.sys.lua @@ -0,0 +1,4 @@ +local fs = _G.fs + +fs.mount('rom/modules/main/opus', 'linkfs', 'sys/modules/opus') +fs.loadTab('sys/etc/fstab') diff --git a/sys/init/6.packages.lua b/sys/init/6.packages.lua index ad667cd..c991821 100644 --- a/sys/init/6.packages.lua +++ b/sys/init/6.packages.lua @@ -29,9 +29,12 @@ for name in pairs(Packages:installed()) do if fs.exists(helpPath) then table.insert(helpPaths, helpPath) end + + local fstabPath = fs.combine(packageDir, 'etc/fstab') + if fs.exists(fstabPath) then + fs.loadTab(fstabPath) + end end help.setPath(table.concat(helpPaths, ':')) shell.setPath(table.concat(appPaths, ':')) - -fs.mount('rom/modules/main/opus', 'linkfs', 'sys/modules/opus') diff --git a/sys/modules/opus/crypto/chacha20.lua b/sys/modules/opus/crypto/chacha20.lua index 89cf0ac..9547f6c 100644 --- a/sys/modules/opus/crypto/chacha20.lua +++ b/sys/modules/opus/crypto/chacha20.lua @@ -164,7 +164,7 @@ local function decrypt(data, key) data = Util.hexToByteArray(data[2]) key = sha2.digest(key) local ptx = crypt(data, key, nonce, 1, ROUNDS) - return cbor.decode(tostring(ptx)) + return cbor.decode(tostring(ptx)) end local obj = {} diff --git a/sys/modules/opus/socket.lua b/sys/modules/opus/socket.lua index d56ea38..822d195 100644 --- a/sys/modules/opus/socket.lua +++ b/sys/modules/opus/socket.lua @@ -181,18 +181,24 @@ local function trusted(socket, msg, options) local identifier = options and options.identifier or getIdentifier() - if identifier and type(msg.t) == 'table' then - local data = Crypto.decrypt(msg.t, Util.hexToByteArray(identifier)) + local s, m = pcall(function() + if identifier and type(msg.t) == 'table' then + local data = Crypto.decrypt(msg.t, Util.hexToByteArray(identifier)) - if data and data.ts and tonumber(data.ts) then - if math.abs(os.epoch('utc') - data.ts) < 4096 then - socket.remotePubKey = Util.hexToByteArray(data.pk) - socket.privKey, socket.pubKey = network.getKeyPair() - setupCrypto(socket) - return true + if data and data.ts and tonumber(data.ts) then + if math.abs(os.epoch('utc') - data.ts) < 4096 then + socket.remotePubKey = Util.hexToByteArray(data.pk) + socket.privKey, socket.pubKey = network.getKeyPair() + setupCrypto(socket) + return true + end + _G._syslog('time diff ' .. math.abs(os.epoch('utc') - data.ts)) end - _G._syslog('time diff ' .. math.abs(os.epoch('utc') - data.ts)) end + end) + if not s and m then + _G._syslog('trust failure') + _G._syslog(m) end end