Merge branch 'refactor' of https://github.com/neuroscr/loki-messenger-public-server into refactor
This commit is contained in:
commit
dc5f888d3b
|
@ -354,7 +354,7 @@ function fixUpMiddleware(app) {
|
|||
|
||||
// fix up runMiddleware
|
||||
app.runMiddleware = function(path, options, callback) {
|
||||
// console.log('app.runMiddleware', path)
|
||||
//console.log('app.runMiddleware', path)
|
||||
if (callback) callback = _.once(callback);
|
||||
if (typeof options == "function") {
|
||||
callback = options;
|
||||
|
@ -373,7 +373,7 @@ function fixUpMiddleware(app) {
|
|||
new_req = createReq(path, options);
|
||||
}
|
||||
new_res = createRes(callback);
|
||||
// console.log('running', new_req.path, 'against app')
|
||||
//console.log('running', new_req.path, 'against app')
|
||||
this(new_req, new_res);
|
||||
};
|
||||
|
||||
|
@ -624,6 +624,7 @@ module.exports = (app, prefix) => {
|
|||
}, res);
|
||||
});
|
||||
|
||||
// proxy version
|
||||
app.post(prefix + '/loki/v1/secure_rpc', async (req, res) => {
|
||||
res.start = Date.now()
|
||||
//console.log('got secure_rpc', req.path);
|
||||
|
@ -632,6 +633,7 @@ module.exports = (app, prefix) => {
|
|||
//console.log('secure_rpc body', req.body, typeof req.body);
|
||||
|
||||
if (!req.body.cipherText64) {
|
||||
console.warn('no cipherText64')
|
||||
return sendresponse({
|
||||
meta: {
|
||||
code: 400,
|
||||
|
@ -656,6 +658,7 @@ module.exports = (app, prefix) => {
|
|||
const ephemeralPubKey64 = req.headers['x-loki-file-server-ephemeral-key'];
|
||||
//console.log('ephemeralPubKey', ephemeralPubKey64);
|
||||
if (!ephemeralPubKey64 || ephemeralPubKey64.length < 32) {
|
||||
console.warn('proxy ephemeralPubKey64 error', ephemeralPubKey64)
|
||||
return sendresponse({
|
||||
meta: {
|
||||
code: 400,
|
||||
|
@ -700,6 +703,7 @@ module.exports = (app, prefix) => {
|
|||
try {
|
||||
decrypted = await libsignal.crypto.decrypt(symKey, ciphertext, iv);
|
||||
} catch(e) {
|
||||
console.warn('proxy decrypt error')
|
||||
return sendresponse({
|
||||
meta: {
|
||||
code: 400,
|
||||
|
@ -712,6 +716,7 @@ module.exports = (app, prefix) => {
|
|||
try {
|
||||
requestObj = JSON.parse(decrypted.toString());
|
||||
} catch(e) {
|
||||
console.warn('proxy parse unencrypted error')
|
||||
sendresponse({
|
||||
meta: {
|
||||
code: 400,
|
||||
|
@ -721,6 +726,7 @@ module.exports = (app, prefix) => {
|
|||
return;
|
||||
}
|
||||
|
||||
//console.log('JSON decoded', requestObj);
|
||||
const fakeReq = await createFakeReq(req, requestObj)
|
||||
|
||||
/*
|
||||
|
|
|
@ -74,7 +74,7 @@ const updateUserAccess = () => {
|
|||
for(const pubKey in disk_config.globals) {
|
||||
const access = disk_config.globals[pubKey];
|
||||
// translate pubKey to id of user
|
||||
cache.getUserID(pubKey, (user, err) => {
|
||||
cache.getUserID(pubKey, (err, user) => {
|
||||
// only if user has registered
|
||||
if (user) {
|
||||
user_access[user.id] = access;
|
||||
|
|
|
@ -27,7 +27,15 @@ function sendResponse(json, resp) {
|
|||
function validUser(token, res, cb) {
|
||||
return new Promise(function(resolve, rej) {
|
||||
if (!token) {
|
||||
return resolve(false);
|
||||
console.error('lib.dialect::validUser - getUserClientByToken - no token', token);
|
||||
const resObj={
|
||||
meta: {
|
||||
code: 401,
|
||||
error_message: 'Authorization required'
|
||||
}
|
||||
};
|
||||
sendResponse(resObj, res);
|
||||
return resolve();
|
||||
}
|
||||
dispatcher.getUserClientByToken(token, (err, usertoken) => {
|
||||
if (err) {
|
||||
|
@ -38,10 +46,10 @@ function validUser(token, res, cb) {
|
|||
error_message: err
|
||||
}
|
||||
};
|
||||
console.error('lib.dialect::validUser - error trying to verify token:', token);
|
||||
sendResponse(resObj, res);
|
||||
return resolve();
|
||||
}
|
||||
//console.log('lib.dialect::validUser - usertoken', JSON.parse(JSON.stringify(usertoken)))
|
||||
if (usertoken === null) {
|
||||
// could be they didn't log in through a server restart
|
||||
const resObj={
|
||||
|
|
2
server
2
server
|
@ -1 +1 @@
|
|||
Subproject commit 6bf7f1d4a3bcc8c4ad68a0adcf7477603f464025
|
||||
Subproject commit 5ea702e060d034b970bc0c30fc0c18685a67b07c
|
11
test/test.js
11
test/test.js
|
@ -61,9 +61,12 @@ const proxyAdmin = require('../server/dataaccess/dataaccess.proxy-admin');
|
|||
// fake dispatcher that only implements what we need
|
||||
proxyAdmin.dispatcher = {
|
||||
// ignore local user updates
|
||||
updateUser: (user, ts, cb) => { cb(user); },
|
||||
updateUser: (user, ts, cb) => {
|
||||
console.log('test.js::proxyAdmin.dispatcher.updateUser')
|
||||
cb(false, user);
|
||||
},
|
||||
// ignore local message updates
|
||||
setMessage: (message, cb) => { if (cb) cb(message); },
|
||||
setMessage: (message, cb) => { if (cb) cb(false, message); },
|
||||
}
|
||||
// backward compatible
|
||||
if (proxyAdmin.start) {
|
||||
|
@ -222,14 +225,14 @@ const selectModToken = async (channelId) => {
|
|||
/*
|
||||
if (res.response && res.response.data === null) {
|
||||
console.log('need to create a token for this moderator')
|
||||
cache.getUserID(modPubKey, (user, err) => {
|
||||
cache.getUserID(modPubKey, (err, user) => {
|
||||
if (err) console.error('getUserID err', err)
|
||||
if (!user || !user.id) {
|
||||
console.warn('No such moderator user object for', modPubKey);
|
||||
// create user...
|
||||
process.exit();
|
||||
}
|
||||
cache.createOrFindUserToken(user.id, 'messenger', ADN_SCOPES, (tokenObj, err) => {
|
||||
cache.createOrFindUserToken(user.id, 'messenger', ADN_SCOPES, (err, tokenObj) => {
|
||||
if (err) console.error('createOrFindUserToken err', err)
|
||||
console.log('tokenObj', tokenObj);
|
||||
})
|
||||
|
|
Loading…
Reference in New Issue