spec-3nweb-server 1.3.8 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/3nstorage/3nstorage-app.js +4 -4
- package/build/3nstorage/owner.js +28 -28
- package/build/3nstorage/resources/store.d.ts +2 -9
- package/build/3nstorage/resources/store.js +76 -73
- package/build/3nstorage/resources/users.d.ts +4 -2
- package/build/3nstorage/resources/users.js +8 -4
- package/build/3nstorage/routes/owner/archive-obj-version.d.ts +2 -2
- package/build/3nstorage/routes/owner/archive-obj-version.js +36 -31
- package/build/3nstorage/routes/owner/cancel-trans.js +1 -1
- package/build/3nstorage/routes/owner/delete-obj.d.ts +3 -2
- package/build/3nstorage/routes/owner/delete-obj.js +42 -7
- package/build/3nstorage/routes/owner/get-archived-obj-ver.js +10 -6
- package/build/3nstorage/routes/owner/get-current-obj.js +2 -2
- package/build/3nstorage/routes/owner/list-obj-archive.js +28 -31
- package/build/3nstorage/routes/owner/param-getter.js +3 -2
- package/build/3nstorage/routes/owner/param-setter.js +3 -2
- package/build/3nstorage/routes/owner/put-current-obj.js +12 -10
- package/build/3nstorage/routes/owner/session-params.js +4 -3
- package/build/admin/admin-app.js +5 -5
- package/build/admin/resources/users.js +42 -42
- package/build/admin/routes/add.js +3 -3
- package/build/admin/signup-tokens.js +8 -8
- package/build/asmail/asmail-app.js +7 -7
- package/build/asmail/config.js +9 -8
- package/build/asmail/delivery.js +10 -9
- package/build/asmail/resources/delivery-sessions.js +4 -3
- package/build/asmail/resources/inbox.d.ts +1 -1
- package/build/asmail/resources/inbox.js +22 -22
- package/build/asmail/resources/recipients.d.ts +2 -1
- package/build/asmail/resources/recipients.js +4 -4
- package/build/asmail/resources/sessions.js +2 -1
- package/build/asmail/retrieval.js +13 -8
- package/build/asmail/routes/config/param-getter.js +3 -2
- package/build/asmail/routes/config/param-setter.js +3 -2
- package/build/asmail/routes/delivery/finalize-delivery.js +3 -2
- package/build/asmail/routes/delivery/pre-flight.js +5 -4
- package/build/asmail/routes/delivery/provide-recipient-pubkey.js +3 -2
- package/build/asmail/routes/delivery/put-metadata.js +3 -2
- package/build/asmail/routes/delivery/put-obj.js +4 -4
- package/build/asmail/routes/delivery/restart-session.js +4 -3
- package/build/asmail/routes/delivery/sender-authorization.d.ts +1 -3
- package/build/asmail/routes/delivery/sender-authorization.js +3 -2
- package/build/asmail/routes/delivery/start-session.js +5 -4
- package/build/asmail/routes/retrieval/get-message-meta.js +3 -2
- package/build/asmail/routes/retrieval/get-message-obj.js +4 -3
- package/build/asmail/routes/retrieval/list-messages.js +3 -2
- package/build/asmail/routes/retrieval/remove-message.js +3 -2
- package/build/lib-common/async-fs-node.d.ts +2 -0
- package/build/lib-common/async-fs-node.js +13 -13
- package/build/lib-common/byte-streaming/common.js +9 -9
- package/build/lib-common/canonical-address.js +1 -1
- package/build/lib-common/ipc/generic-ipc.js +12 -12
- package/build/lib-common/ipc/ws-ipc.js +2 -2
- package/build/lib-common/mid-sigs-NaCl-Ed.js +14 -14
- package/build/lib-common/objs-on-disk/file-layout.js +10 -10
- package/build/lib-common/objs-on-disk/obj-file.js +11 -11
- package/build/lib-common/objs-on-disk/utils.d.ts +1 -0
- package/build/lib-common/objs-on-disk/utils.js +3 -3
- package/build/lib-common/processes.js +1 -1
- package/build/lib-common/random-node.js +7 -7
- package/build/lib-common/service-api/3nstorage/owner.d.ts +24 -18
- package/build/lib-common/service-api/3nstorage/owner.js +31 -26
- package/build/lib-common/service-api/asmail/delivery.js +2 -2
- package/build/lib-common/service-api/asmail/retrieval.js +1 -1
- package/build/lib-server/conf-util.js +2 -1
- package/build/lib-server/middleware/body-parsers.js +16 -16
- package/build/lib-server/middleware/error-handler.js +1 -1
- package/build/lib-server/resources/mailerid-authorizer.js +3 -3
- package/build/lib-server/resources/mem-backed-sessions-factory.js +3 -3
- package/build/lib-server/resources/server-data-folders.js +23 -23
- package/build/lib-server/resources/sessions.js +5 -5
- package/build/lib-server/resources/user-files.js +8 -8
- package/build/lib-server/routes/pub-key-login/complete-exchange.js +4 -3
- package/build/lib-server/routes/pub-key-login/start-exchange.js +7 -6
- package/build/lib-server/routes/sessions/mid-auth.js +6 -5
- package/build/lib-server/routes/sessions/start.js +4 -3
- package/build/lib-server/web-sockets/app.d.ts +1 -0
- package/build/lib-server/web-sockets/app.js +6 -5
- package/build/lib-server/web-sockets/server-events.js +5 -4
- package/build/mailerId/mailerId-app.js +7 -7
- package/build/mailerId/resources/certifier.d.ts +4 -6
- package/build/mailerId/resources/certifier.js +8 -7
- package/build/mailerId/resources/compute-login-dhshared-key.js +2 -1
- package/build/mailerId/resources/sessions.js +2 -1
- package/build/mailerId/resources/users.js +4 -4
- package/build/mailerId/routes/certify.js +1 -1
- package/build/main.js +10 -10
- package/build/mock/dns.js +1 -1
- package/build/mock/mock-as-child-proc.js +10 -10
- package/build/mock/node-child-ipc.js +2 -2
- package/build/mock/run-in-proc.js +7 -7
- package/build/run-config.js +10 -10
- package/build/run.js +4 -4
- package/build/services.js +5 -5
- package/package.json +13 -10
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
See the GNU General Public License for more details.
|
|
14
14
|
|
|
15
15
|
You should have received a copy of the GNU General Public License along with
|
|
16
|
-
this program. If not, see <http://www.gnu.org/licenses/>.
|
|
16
|
+
this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
17
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
19
|
exports.restartSession = void 0;
|
|
19
20
|
const recipients_1 = require("../../resources/recipients");
|
|
@@ -64,9 +65,9 @@ function restartSession(sessionGenFunc, sessionForMsgFunc, incompleteMsgFunc, ma
|
|
|
64
65
|
maxChunkSize
|
|
65
66
|
});
|
|
66
67
|
}
|
|
67
|
-
return async
|
|
68
|
+
return async (req, res, next) => {
|
|
68
69
|
const rb = req.body;
|
|
69
|
-
const recipient = canonical_address_1.checkAndTransformAddress(rb.recipient);
|
|
70
|
+
const recipient = (0, canonical_address_1.checkAndTransformAddress)(rb.recipient);
|
|
70
71
|
const msgId = rb.msgId;
|
|
71
72
|
const session = req.session;
|
|
72
73
|
// session is opened, and is even mentioned in a header
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { RequestHandler } from 'express';
|
|
2
2
|
import { SignedLoad } from '../../../lib-common/jwkeys';
|
|
3
|
-
export
|
|
4
|
-
(rpDomain: string, sessionId: string, userId: string, mailerIdAssertion: SignedLoad, userCert: SignedLoad, provCert: SignedLoad): Promise<boolean>;
|
|
5
|
-
}
|
|
3
|
+
export declare type IMidAuthorizer = (rpDomain: string, sessionId: string, userId: string, mailerIdAssertion: SignedLoad, userCert: SignedLoad, provCert: SignedLoad) => Promise<boolean>;
|
|
6
4
|
/**
|
|
7
5
|
* This creates an authorize-sender route handler.
|
|
8
6
|
* @param relyingPartyDomain at which this service operates, as seen by client
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
See the GNU General Public License for more details.
|
|
14
14
|
|
|
15
15
|
You should have received a copy of the GNU General Public License along with
|
|
16
|
-
this program. If not, see <http://www.gnu.org/licenses/>.
|
|
16
|
+
this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
17
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
19
|
exports.authorize = void 0;
|
|
19
20
|
const delivery_1 = require("../../../lib-common/service-api/asmail/delivery");
|
|
@@ -28,7 +29,7 @@ function authorize(relyingPartyDomain, midAuthorizingFunc) {
|
|
|
28
29
|
if ('function' !== typeof midAuthorizingFunc) {
|
|
29
30
|
throw new TypeError("Given argument 'midAuthorizingFunc' must be function, but is not.");
|
|
30
31
|
}
|
|
31
|
-
return async
|
|
32
|
+
return async (req, res, next) => {
|
|
32
33
|
if (req.session.isAuthorized) {
|
|
33
34
|
res.status(delivery_1.ERR_SC.duplicateReq).send("This protocol request has already been served.");
|
|
34
35
|
return;
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
See the GNU General Public License for more details.
|
|
14
14
|
|
|
15
15
|
You should have received a copy of the GNU General Public License along with
|
|
16
|
-
this program. If not, see <http://www.gnu.org/licenses/>.
|
|
16
|
+
this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
17
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
19
|
exports.startSession = void 0;
|
|
19
20
|
const recipients_1 = require("../../resources/recipients");
|
|
@@ -75,9 +76,9 @@ function startSession(allowedMsgSizeFunc, sessionGenFunc, redirectFunc) {
|
|
|
75
76
|
throw new Error(`Unrecognized code ${msgSize} for message size limits.`);
|
|
76
77
|
}
|
|
77
78
|
}
|
|
78
|
-
return async
|
|
79
|
+
return async (req, res, next) => {
|
|
79
80
|
const rb = req.body;
|
|
80
|
-
const recipient = canonical_address_1.checkAndTransformAddress(rb.recipient);
|
|
81
|
+
const recipient = (0, canonical_address_1.checkAndTransformAddress)(rb.recipient);
|
|
81
82
|
let sender = rb.sender;
|
|
82
83
|
const invitation = rb.invitation;
|
|
83
84
|
const session = req.session;
|
|
@@ -97,7 +98,7 @@ function startSession(allowedMsgSizeFunc, sessionGenFunc, redirectFunc) {
|
|
|
97
98
|
}
|
|
98
99
|
// if sender is given, we canonicalize the address
|
|
99
100
|
if (sender) {
|
|
100
|
-
sender = canonical_address_1.checkAndTransformAddress(sender);
|
|
101
|
+
sender = (0, canonical_address_1.checkAndTransformAddress)(sender);
|
|
101
102
|
if (!sender) {
|
|
102
103
|
res.status(delivery_1.ERR_SC.malformed).json({
|
|
103
104
|
error: "Sender field is malformed"
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
See the GNU General Public License for more details.
|
|
14
14
|
|
|
15
15
|
You should have received a copy of the GNU General Public License along with
|
|
16
|
-
this program. If not, see <http://www.gnu.org/licenses/>.
|
|
16
|
+
this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
17
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
19
|
exports.getMsgMeta = void 0;
|
|
19
20
|
const recipients_1 = require("../../resources/recipients");
|
|
@@ -22,7 +23,7 @@ function getMsgMeta(getMsgMetaFunc) {
|
|
|
22
23
|
if ('function' !== typeof getMsgMetaFunc) {
|
|
23
24
|
throw new TypeError("Given argument 'getMsgMetaFunc' must be function, but is not.");
|
|
24
25
|
}
|
|
25
|
-
return async
|
|
26
|
+
return async (req, res, next) => {
|
|
26
27
|
const userId = req.session.params.userId;
|
|
27
28
|
const msgId = req.params.msgId;
|
|
28
29
|
try {
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
See the GNU General Public License for more details.
|
|
14
14
|
|
|
15
15
|
You should have received a copy of the GNU General Public License along with
|
|
16
|
-
this program. If not, see <http://www.gnu.org/licenses/>.
|
|
16
|
+
this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
17
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
19
|
exports.getMsgObj = void 0;
|
|
19
20
|
const recipients_1 = require("../../resources/recipients");
|
|
@@ -44,7 +45,7 @@ function getMsgObj(getMsgObjFunc) {
|
|
|
44
45
|
if ('function' !== typeof getMsgObjFunc) {
|
|
45
46
|
throw new TypeError("Given argument 'getMsgObjFunc' must be function, but is not.");
|
|
46
47
|
}
|
|
47
|
-
return async
|
|
48
|
+
return async (req, res, next) => {
|
|
48
49
|
const userId = req.session.params.userId;
|
|
49
50
|
const msgId = req.params.msgId;
|
|
50
51
|
const objId = req.params.objId;
|
|
@@ -67,7 +68,7 @@ function getMsgObj(getMsgObjFunc) {
|
|
|
67
68
|
await reader.pipe(res);
|
|
68
69
|
}
|
|
69
70
|
catch (err) {
|
|
70
|
-
console.error(error_1.errWithCause(err, `Wasn't able to complete sending segments due to error in piping`));
|
|
71
|
+
console.error((0, error_1.errWithCause)(err, `Wasn't able to complete sending segments due to error in piping`));
|
|
71
72
|
}
|
|
72
73
|
finally {
|
|
73
74
|
res.end();
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
See the GNU General Public License for more details.
|
|
14
14
|
|
|
15
15
|
You should have received a copy of the GNU General Public License along with
|
|
16
|
-
this program. If not, see <http://www.gnu.org/licenses/>.
|
|
16
|
+
this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
17
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
19
|
exports.listMsgIds = void 0;
|
|
19
20
|
const recipients_1 = require("../../resources/recipients");
|
|
@@ -22,7 +23,7 @@ function listMsgIds(listMsgIdsFunc) {
|
|
|
22
23
|
if ('function' !== typeof listMsgIdsFunc) {
|
|
23
24
|
throw new TypeError("Given argument 'listMsgIdsFunc' must be function, but is not.");
|
|
24
25
|
}
|
|
25
|
-
return async
|
|
26
|
+
return async (req, res, next) => {
|
|
26
27
|
const userId = req.session.params.userId;
|
|
27
28
|
try {
|
|
28
29
|
const msgIds = await listMsgIdsFunc(userId);
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
See the GNU General Public License for more details.
|
|
14
14
|
|
|
15
15
|
You should have received a copy of the GNU General Public License along with
|
|
16
|
-
this program. If not, see <http://www.gnu.org/licenses/>.
|
|
16
|
+
this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
17
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
19
|
exports.deleteMsg = void 0;
|
|
19
20
|
const recipients_1 = require("../../resources/recipients");
|
|
@@ -22,7 +23,7 @@ function deleteMsg(delMsgFunc) {
|
|
|
22
23
|
if ('function' !== typeof delMsgFunc) {
|
|
23
24
|
throw new TypeError("Given argument 'delMsgFunc' must be function, but is not.");
|
|
24
25
|
}
|
|
25
|
-
return async
|
|
26
|
+
return async (req, res, next) => {
|
|
26
27
|
const userId = req.session.params.userId;
|
|
27
28
|
const msgId = req.params.msgId;
|
|
28
29
|
try {
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
-
exports.copyTree = exports.copyFile = exports.streamFromFile = exports.rmDirWithContent = exports.read = exports.streamToExistingFile = exports.append = exports.write = exports.getFolderContentSize = exports.getFileSize = exports.existsFolderSync = exports.createEmptyFile = exports.writeFromBuf = exports.readToBuf = exports.ftruncate = exports.truncate = exports.rename = exports.unlink = exports.rmdir = exports.readdir = exports.fstat = exports.stat = exports.lstat = exports.readlink = exports.symlink = exports.close = exports.open = exports.mkdir = exports.writeFile = exports.readFile = void 0;
|
|
19
|
+
exports.copyTree = exports.copyFile = exports.streamFromFile = exports.rmDirWithContent = exports.read = exports.streamToExistingFile = exports.append = exports.write = exports.getFolderContentSize = exports.getFileSize = exports.existsFolderSync = exports.createEmptyFile = exports.writeFromBuf = exports.readToBuf = exports.ftruncate = exports.truncate = exports.rename = exports.unlink = exports.rmdir = exports.readdir = exports.fstat = exports.stat = exports.lstat = exports.readlink = exports.symlink = exports.close = exports.open = exports.mkdir = exports.writeFile = exports.readFile = exports.Stats = void 0;
|
|
20
20
|
const fs = require("fs");
|
|
21
21
|
const fs_1 = require("fs");
|
|
22
22
|
const file_1 = require("./exceptions/file");
|
|
@@ -27,7 +27,7 @@ const path_1 = require("path");
|
|
|
27
27
|
var fs_2 = require("fs");
|
|
28
28
|
Object.defineProperty(exports, "Stats", { enumerable: true, get: function () { return fs_2.Stats; } });
|
|
29
29
|
function makeFileExceptionFromNodes(nodeExc) {
|
|
30
|
-
return file_1.makeFileException(nodeExc.code, nodeExc.path);
|
|
30
|
+
return (0, file_1.makeFileException)(nodeExc.code, nodeExc.path);
|
|
31
31
|
}
|
|
32
32
|
function readFile(path, options) {
|
|
33
33
|
return new Promise((resolve, reject) => {
|
|
@@ -292,7 +292,7 @@ async function readToBuf(fd, pos, buf) {
|
|
|
292
292
|
while (bytesRead < buf.length) {
|
|
293
293
|
const bNum = await readOrig(fd, buf, bytesRead, buf.length - bytesRead, pos);
|
|
294
294
|
if (bNum === 0) {
|
|
295
|
-
throw file_1.makeFileException(file_1.Code.endOfFile, '<file descriptor>');
|
|
295
|
+
throw (0, file_1.makeFileException)(file_1.Code.endOfFile, '<file descriptor>');
|
|
296
296
|
}
|
|
297
297
|
bytesRead += bNum;
|
|
298
298
|
pos += bNum;
|
|
@@ -358,11 +358,11 @@ exports.createEmptyFile = createEmptyFile;
|
|
|
358
358
|
*/
|
|
359
359
|
function existsFolderSync(path) {
|
|
360
360
|
try {
|
|
361
|
-
if (fs_1.statSync(path).isDirectory()) {
|
|
361
|
+
if ((0, fs_1.statSync)(path).isDirectory()) {
|
|
362
362
|
return true;
|
|
363
363
|
}
|
|
364
364
|
else {
|
|
365
|
-
throw file_1.makeFileException(file_1.Code.notDirectory, path);
|
|
365
|
+
throw (0, file_1.makeFileException)(file_1.Code.notDirectory, path);
|
|
366
366
|
}
|
|
367
367
|
}
|
|
368
368
|
catch (e) {
|
|
@@ -473,7 +473,7 @@ async function streamToExistingFile(filePath, pos, len, src, bufSize) {
|
|
|
473
473
|
let bytesWritten = 0;
|
|
474
474
|
let bytesRead = 0;
|
|
475
475
|
const buf = new common_1.BytesFIFOBuffer();
|
|
476
|
-
let deferred = processes_1.defer();
|
|
476
|
+
let deferred = (0, processes_1.defer)();
|
|
477
477
|
let doneReading = false;
|
|
478
478
|
const complete = (err) => {
|
|
479
479
|
if (!deferred) {
|
|
@@ -510,7 +510,7 @@ async function streamToExistingFile(filePath, pos, len, src, bufSize) {
|
|
|
510
510
|
if (!bytesToWrite) {
|
|
511
511
|
return;
|
|
512
512
|
}
|
|
513
|
-
await writeToExistingFile(filePath, pos, buffer_utils_1.toBuffer(bytesToWrite));
|
|
513
|
+
await writeToExistingFile(filePath, pos, (0, buffer_utils_1.toBuffer)(bytesToWrite));
|
|
514
514
|
pos += bytesToWrite.length;
|
|
515
515
|
bytesWritten += bytesToWrite.length;
|
|
516
516
|
if (bytesWritten < len) {
|
|
@@ -527,7 +527,7 @@ async function streamToExistingFile(filePath, pos, len, src, bufSize) {
|
|
|
527
527
|
if (doneReading) {
|
|
528
528
|
return;
|
|
529
529
|
}
|
|
530
|
-
complete(file_1.makeFileException(file_1.Code.endOfFile, '<input stream>'));
|
|
530
|
+
complete((0, file_1.makeFileException)(file_1.Code.endOfFile, '<input stream>'));
|
|
531
531
|
});
|
|
532
532
|
src.on('error', (err) => {
|
|
533
533
|
complete(err);
|
|
@@ -555,7 +555,7 @@ async function read(fd, pos, buf) {
|
|
|
555
555
|
while (bytesRead < buf.length) {
|
|
556
556
|
const bNum = await readOrig(fd, buf, bytesRead, buf.length - bytesRead, pos);
|
|
557
557
|
if (bNum === 0) {
|
|
558
|
-
throw file_1.makeFileException(file_1.Code.endOfFile, '<file descriptor>');
|
|
558
|
+
throw (0, file_1.makeFileException)(file_1.Code.endOfFile, '<file descriptor>');
|
|
559
559
|
}
|
|
560
560
|
bytesRead += bNum;
|
|
561
561
|
pos += bNum;
|
|
@@ -670,8 +670,8 @@ exports.streamFromFile = streamFromFile;
|
|
|
670
670
|
*/
|
|
671
671
|
function copyFile(src, dst, overwrite = false, dstMode = '660') {
|
|
672
672
|
return new Promise((resolve, reject) => {
|
|
673
|
-
const srcStream = fs_1.createReadStream(src);
|
|
674
|
-
const dstStream = fs_1.createWriteStream(dst, {
|
|
673
|
+
const srcStream = (0, fs_1.createReadStream)(src);
|
|
674
|
+
const dstStream = (0, fs_1.createWriteStream)(dst, {
|
|
675
675
|
mode: parseInt(dstMode, 8),
|
|
676
676
|
flags: (overwrite ? 'w' : 'wx')
|
|
677
677
|
});
|
|
@@ -713,8 +713,8 @@ async function copyTree(src, dst, fileOverwrite = false) {
|
|
|
713
713
|
const srcFNames = await readdir(src);
|
|
714
714
|
const cpTasks = [];
|
|
715
715
|
for (const fName of srcFNames) {
|
|
716
|
-
const srcPath = path_1.join(src, fName);
|
|
717
|
-
const dstPath = path_1.join(dst, fName);
|
|
716
|
+
const srcPath = (0, path_1.join)(src, fName);
|
|
717
|
+
const dstPath = (0, path_1.join)(dst, fName);
|
|
718
718
|
const task = stat(srcPath)
|
|
719
719
|
.then((stats) => {
|
|
720
720
|
if (stats.isFile()) {
|
|
@@ -19,12 +19,12 @@ exports.sourceFromArray = exports.BytesFIFOBuffer = exports.wrapByteSinkImplemen
|
|
|
19
19
|
const binding_1 = require("../binding");
|
|
20
20
|
function wrapByteSourceImplementation(src) {
|
|
21
21
|
const wrap = {
|
|
22
|
-
read: binding_1.bind(src, src.read),
|
|
23
|
-
getSize: binding_1.bind(src, src.getSize)
|
|
22
|
+
read: (0, binding_1.bind)(src, src.read),
|
|
23
|
+
getSize: (0, binding_1.bind)(src, src.getSize)
|
|
24
24
|
};
|
|
25
25
|
if (src.seek) {
|
|
26
|
-
wrap.seek = binding_1.bind(src, src.seek);
|
|
27
|
-
wrap.getPosition = binding_1.bind(src, src.getPosition);
|
|
26
|
+
wrap.seek = (0, binding_1.bind)(src, src.seek);
|
|
27
|
+
wrap.getPosition = (0, binding_1.bind)(src, src.getPosition);
|
|
28
28
|
}
|
|
29
29
|
wrap.$_transferrable_type_id_$ = 'ByteSource';
|
|
30
30
|
return wrap;
|
|
@@ -32,13 +32,13 @@ function wrapByteSourceImplementation(src) {
|
|
|
32
32
|
exports.wrapByteSourceImplementation = wrapByteSourceImplementation;
|
|
33
33
|
function wrapByteSinkImplementation(sink) {
|
|
34
34
|
const wrap = {
|
|
35
|
-
setSize: binding_1.bind(sink, sink.setSize),
|
|
36
|
-
write: binding_1.bind(sink, sink.write),
|
|
37
|
-
getSize: binding_1.bind(sink, sink.getSize)
|
|
35
|
+
setSize: (0, binding_1.bind)(sink, sink.setSize),
|
|
36
|
+
write: (0, binding_1.bind)(sink, sink.write),
|
|
37
|
+
getSize: (0, binding_1.bind)(sink, sink.getSize)
|
|
38
38
|
};
|
|
39
39
|
if (sink.seek) {
|
|
40
|
-
wrap.seek = binding_1.bind(sink, sink.seek);
|
|
41
|
-
wrap.getPosition = binding_1.bind(sink, sink.getPosition);
|
|
40
|
+
wrap.seek = (0, binding_1.bind)(sink, sink.seek);
|
|
41
|
+
wrap.getPosition = (0, binding_1.bind)(sink, sink.getPosition);
|
|
42
42
|
}
|
|
43
43
|
wrap.$_transferrable_type_id_$ = 'ByteSink';
|
|
44
44
|
return wrap;
|
|
@@ -159,8 +159,8 @@ class RequestingSide extends MessageHandler {
|
|
|
159
159
|
wrap() {
|
|
160
160
|
const w = {
|
|
161
161
|
makeRequest: this.makeRequest.bind(this),
|
|
162
|
-
close: binding_1.bind(this, this.close),
|
|
163
|
-
on: binding_1.bind(this, this.on)
|
|
162
|
+
close: (0, binding_1.bind)(this, this.close),
|
|
163
|
+
on: (0, binding_1.bind)(this, this.on)
|
|
164
164
|
};
|
|
165
165
|
return Object.freeze(w);
|
|
166
166
|
}
|
|
@@ -261,10 +261,10 @@ class ReplyingSide extends MessageHandler {
|
|
|
261
261
|
}
|
|
262
262
|
wrap() {
|
|
263
263
|
const w = {
|
|
264
|
-
addHandler: binding_1.bind(this, this.addHandler),
|
|
265
|
-
notifyOfProgressOnRequest: binding_1.bind(this, this.notifyOfProgressOnRequest),
|
|
266
|
-
close: binding_1.bind(this, this.close),
|
|
267
|
-
on: binding_1.bind(this, this.on)
|
|
264
|
+
addHandler: (0, binding_1.bind)(this, this.addHandler),
|
|
265
|
+
notifyOfProgressOnRequest: (0, binding_1.bind)(this, this.notifyOfProgressOnRequest),
|
|
266
|
+
close: (0, binding_1.bind)(this, this.close),
|
|
267
|
+
on: (0, binding_1.bind)(this, this.on)
|
|
268
268
|
};
|
|
269
269
|
return Object.freeze(w);
|
|
270
270
|
}
|
|
@@ -287,8 +287,8 @@ class EventsSendingSide extends ReplyingSide {
|
|
|
287
287
|
super(channel, comm);
|
|
288
288
|
this.subscriptionGroups = [];
|
|
289
289
|
this.subscribedEvents = new Set();
|
|
290
|
-
this.addHandler(ipc_api_1.events.subscribe.REQ_NAME, binding_1.bind(this, this.handleSubscribe));
|
|
291
|
-
this.addHandler(ipc_api_1.events.unsubscribe.REQ_NAME, binding_1.bind(this, this.handleUnsubscribe));
|
|
290
|
+
this.addHandler(ipc_api_1.events.subscribe.REQ_NAME, (0, binding_1.bind)(this, this.handleSubscribe));
|
|
291
|
+
this.addHandler(ipc_api_1.events.unsubscribe.REQ_NAME, (0, binding_1.bind)(this, this.handleUnsubscribe));
|
|
292
292
|
}
|
|
293
293
|
findGroup(eventChannel) {
|
|
294
294
|
for (const gr of this.subscriptionGroups) {
|
|
@@ -373,9 +373,9 @@ class EventsSendingSide extends ReplyingSide {
|
|
|
373
373
|
notifyOfProgressOnRequest: reqServer.notifyOfProgressOnRequest,
|
|
374
374
|
close: reqServer.close,
|
|
375
375
|
on: reqServer.on,
|
|
376
|
-
addEventGroup: binding_1.bind(this, this.addEventGroup),
|
|
377
|
-
sendEvent: binding_1.bind(this, this.sendEvent),
|
|
378
|
-
endEvent: binding_1.bind(this, this.endEvent)
|
|
376
|
+
addEventGroup: (0, binding_1.bind)(this, this.addEventGroup),
|
|
377
|
+
sendEvent: (0, binding_1.bind)(this, this.sendEvent),
|
|
378
|
+
endEvent: (0, binding_1.bind)(this, this.endEvent)
|
|
379
379
|
};
|
|
380
380
|
return Object.freeze(w);
|
|
381
381
|
}
|
|
@@ -536,7 +536,7 @@ class EventsReceivingSide extends RequestingSide {
|
|
|
536
536
|
makeRequest: reqClient.makeRequest,
|
|
537
537
|
close: reqClient.close,
|
|
538
538
|
on: reqClient.on,
|
|
539
|
-
subscribe: binding_1.bind(this, this.subscribe)
|
|
539
|
+
subscribe: (0, binding_1.bind)(this, this.subscribe)
|
|
540
540
|
};
|
|
541
541
|
return Object.freeze(w);
|
|
542
542
|
}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
You should have received a copy of the GNU General Public License along with
|
|
16
16
|
this program. If not, see <http://www.gnu.org/licenses/>. */
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.makeSubscriber = exports.makeJsonCommPoint = void 0;
|
|
18
|
+
exports.makeSubscriber = exports.makeJsonCommPoint = exports.makeEventfulServer = void 0;
|
|
19
19
|
const generic_ipc_1 = require("./generic-ipc");
|
|
20
20
|
var generic_ipc_2 = require("./generic-ipc");
|
|
21
21
|
Object.defineProperty(exports, "makeEventfulServer", { enumerable: true, get: function () { return generic_ipc_2.makeEventfulServer; } });
|
|
@@ -93,7 +93,7 @@ function onError(ws, observers) {
|
|
|
93
93
|
}
|
|
94
94
|
function makeSubscriber(ws, ipcChannel) {
|
|
95
95
|
const comm = makeJsonCommPoint(ws);
|
|
96
|
-
return generic_ipc_1.makeSubscribingClient(ipcChannel, comm);
|
|
96
|
+
return (0, generic_ipc_1.makeSubscribingClient)(ipcChannel, comm);
|
|
97
97
|
}
|
|
98
98
|
exports.makeSubscriber = makeSubscriber;
|
|
99
99
|
Object.freeze(exports);
|
|
@@ -131,7 +131,7 @@ var idProvider;
|
|
|
131
131
|
idProvider.KID_BYTES_LENGTH = 9;
|
|
132
132
|
idProvider.MAX_USER_CERT_VALIDITY = 24 * 60 * 60;
|
|
133
133
|
function makeSelfSignedCert(address, validityPeriod, sjkey, arrFactory) {
|
|
134
|
-
const skey = jwkeys_1.keyFromJson(sjkey, exports.KEY_USE.ROOT, ecma_nacl_1.signing.JWK_ALG_NAME, ecma_nacl_1.signing.SECRET_KEY_LENGTH);
|
|
134
|
+
const skey = (0, jwkeys_1.keyFromJson)(sjkey, exports.KEY_USE.ROOT, ecma_nacl_1.signing.JWK_ALG_NAME, ecma_nacl_1.signing.SECRET_KEY_LENGTH);
|
|
135
135
|
const pkey = {
|
|
136
136
|
use: sjkey.use,
|
|
137
137
|
alg: sjkey.alg,
|
|
@@ -160,7 +160,7 @@ var idProvider;
|
|
|
160
160
|
const rootPair = genSignKeyPair(exports.KEY_USE.ROOT, idProvider.KID_BYTES_LENGTH, random, arrFactory);
|
|
161
161
|
const now = Math.floor(Date.now() / 1000);
|
|
162
162
|
const rootCert = makeCert(rootPair.pkey, address, address, now, now + validityPeriod, rootPair.skey, arrFactory);
|
|
163
|
-
return { cert: rootCert, skey: jwkeys_1.keyToJson(rootPair.skey) };
|
|
163
|
+
return { cert: rootCert, skey: (0, jwkeys_1.keyToJson)(rootPair.skey) };
|
|
164
164
|
}
|
|
165
165
|
idProvider.generateRootKey = generateRootKey;
|
|
166
166
|
/**
|
|
@@ -177,11 +177,11 @@ var idProvider;
|
|
|
177
177
|
if (validityPeriod < 1) {
|
|
178
178
|
throw new Error(`Illegal validity period: ${validityPeriod}`);
|
|
179
179
|
}
|
|
180
|
-
const rootKey = jwkeys_1.keyFromJson(rootJKey, exports.KEY_USE.ROOT, ecma_nacl_1.signing.JWK_ALG_NAME, ecma_nacl_1.signing.SECRET_KEY_LENGTH);
|
|
180
|
+
const rootKey = (0, jwkeys_1.keyFromJson)(rootJKey, exports.KEY_USE.ROOT, ecma_nacl_1.signing.JWK_ALG_NAME, ecma_nacl_1.signing.SECRET_KEY_LENGTH);
|
|
181
181
|
const provPair = genSignKeyPair(exports.KEY_USE.PROVIDER, idProvider.KID_BYTES_LENGTH, random, arrFactory);
|
|
182
182
|
const now = Math.floor(Date.now() / 1000);
|
|
183
183
|
const rootCert = makeCert(provPair.pkey, address, address, now, now + validityPeriod, rootKey, arrFactory);
|
|
184
|
-
return { cert: rootCert, skey: jwkeys_1.keyToJson(provPair.skey) };
|
|
184
|
+
return { cert: rootCert, skey: (0, jwkeys_1.keyToJson)(provPair.skey) };
|
|
185
185
|
}
|
|
186
186
|
idProvider.generateProviderKey = generateProviderKey;
|
|
187
187
|
/**
|
|
@@ -201,7 +201,7 @@ var idProvider;
|
|
|
201
201
|
if ((validityPeriod < 1) || (validityPeriod > idProvider.MAX_USER_CERT_VALIDITY)) {
|
|
202
202
|
throw new Error(`Given certificate validity is illegal: ${validityPeriod}`);
|
|
203
203
|
}
|
|
204
|
-
let signKey = jwkeys_1.keyFromJson(signJKey, exports.KEY_USE.PROVIDER, ecma_nacl_1.signing.JWK_ALG_NAME, ecma_nacl_1.signing.SECRET_KEY_LENGTH);
|
|
204
|
+
let signKey = (0, jwkeys_1.keyFromJson)(signJKey, exports.KEY_USE.PROVIDER, ecma_nacl_1.signing.JWK_ALG_NAME, ecma_nacl_1.signing.SECRET_KEY_LENGTH);
|
|
205
205
|
signJKey = undefined;
|
|
206
206
|
if (!arrFactory) {
|
|
207
207
|
arrFactory = ecma_nacl_1.arrays.makeFactory();
|
|
@@ -246,7 +246,7 @@ var relyingParty;
|
|
|
246
246
|
(function (relyingParty) {
|
|
247
247
|
const minValidityPeriodForCert = 20 * 60;
|
|
248
248
|
function verifyCertAndGetPubKey(signedCert, use, validAt, arrFactory, issuer, issuerPKey) {
|
|
249
|
-
const cert = jwkeys_1.getKeyCert(signedCert);
|
|
249
|
+
const cert = (0, jwkeys_1.getKeyCert)(signedCert);
|
|
250
250
|
if ((validAt < (cert.issuedAt - minValidityPeriodForCert))
|
|
251
251
|
|| (cert.expiresAt <= validAt)) {
|
|
252
252
|
throw makeTimeMismatchException(`Certificate is not valid at a given moment ${validAt}, cause it is issued at ${cert.issuedAt}, and expires at ${cert.expiresAt}`);
|
|
@@ -264,7 +264,7 @@ var relyingParty;
|
|
|
264
264
|
let sig;
|
|
265
265
|
let load;
|
|
266
266
|
try {
|
|
267
|
-
pkey = jwkeys_1.keyFromJson(cert.cert.publicKey, use, ecma_nacl_1.signing.JWK_ALG_NAME, ecma_nacl_1.signing.PUBLIC_KEY_LENGTH);
|
|
267
|
+
pkey = (0, jwkeys_1.keyFromJson)(cert.cert.publicKey, use, ecma_nacl_1.signing.JWK_ALG_NAME, ecma_nacl_1.signing.PUBLIC_KEY_LENGTH);
|
|
268
268
|
sig = buffer_utils_1.base64.open(signedCert.sig);
|
|
269
269
|
load = buffer_utils_1.base64.open(signedCert.load);
|
|
270
270
|
}
|
|
@@ -291,7 +291,7 @@ var relyingParty;
|
|
|
291
291
|
// root certificate must be valid when provider's certificate was issued
|
|
292
292
|
let rootValidityMoment;
|
|
293
293
|
try {
|
|
294
|
-
rootValidityMoment = jwkeys_1.getKeyCert(certs.prov).issuedAt;
|
|
294
|
+
rootValidityMoment = (0, jwkeys_1.getKeyCert)(certs.prov).issuedAt;
|
|
295
295
|
}
|
|
296
296
|
catch (err) {
|
|
297
297
|
throw makeMalformedCertsException(`Provider's certificate is malformed`, err);
|
|
@@ -304,7 +304,7 @@ var relyingParty;
|
|
|
304
304
|
// provider's certificate must be valid when user's certificate was issued
|
|
305
305
|
let provValidityMoment;
|
|
306
306
|
try {
|
|
307
|
-
provValidityMoment = jwkeys_1.getKeyCert(certs.user).issuedAt;
|
|
307
|
+
provValidityMoment = (0, jwkeys_1.getKeyCert)(certs.user).issuedAt;
|
|
308
308
|
}
|
|
309
309
|
catch (err) {
|
|
310
310
|
throw makeMalformedCertsException(`User's certificate is malformed`, err);
|
|
@@ -388,7 +388,7 @@ var relyingParty;
|
|
|
388
388
|
}
|
|
389
389
|
let cert;
|
|
390
390
|
try {
|
|
391
|
-
cert = jwkeys_1.getKeyCert(keyCert);
|
|
391
|
+
cert = (0, jwkeys_1.getKeyCert)(keyCert);
|
|
392
392
|
}
|
|
393
393
|
catch (err) {
|
|
394
394
|
throw makeMalformedCertsException(`Cannot read certificate`, err);
|
|
@@ -427,7 +427,7 @@ var relyingParty;
|
|
|
427
427
|
// time moment, for which user's certificate chain must be valid
|
|
428
428
|
let chainValidityMoment;
|
|
429
429
|
try {
|
|
430
|
-
chainValidityMoment = jwkeys_1.getKeyCert(pubKeyCert).issuedAt;
|
|
430
|
+
chainValidityMoment = (0, jwkeys_1.getKeyCert)(pubKeyCert).issuedAt;
|
|
431
431
|
}
|
|
432
432
|
catch (err) {
|
|
433
433
|
throw makeMalformedCertsException(`Cannot read certificate`, err);
|
|
@@ -442,11 +442,11 @@ var relyingParty;
|
|
|
442
442
|
})(relyingParty = exports.relyingParty || (exports.relyingParty = {}));
|
|
443
443
|
Object.freeze(relyingParty);
|
|
444
444
|
function correlateSKeyWithItsCert(skey, cert) {
|
|
445
|
-
const pkey = jwkeys_1.keyFromJson(cert.cert.publicKey, skey.use, ecma_nacl_1.signing.JWK_ALG_NAME, ecma_nacl_1.signing.PUBLIC_KEY_LENGTH);
|
|
445
|
+
const pkey = (0, jwkeys_1.keyFromJson)(cert.cert.publicKey, skey.use, ecma_nacl_1.signing.JWK_ALG_NAME, ecma_nacl_1.signing.PUBLIC_KEY_LENGTH);
|
|
446
446
|
if (!((pkey.kid === skey.kid) &&
|
|
447
447
|
(pkey.use === skey.use) &&
|
|
448
448
|
(pkey.alg === skey.alg) &&
|
|
449
|
-
ecma_nacl_1.compareVectors(ecma_nacl_1.signing.extract_pkey(skey.k), pkey.k))) {
|
|
449
|
+
(0, ecma_nacl_1.compareVectors)(ecma_nacl_1.signing.extract_pkey(skey.k), pkey.k))) {
|
|
450
450
|
throw new Error("Key does not correspond to certificate.");
|
|
451
451
|
}
|
|
452
452
|
}
|
|
@@ -470,7 +470,7 @@ var user;
|
|
|
470
470
|
* keys.
|
|
471
471
|
*/
|
|
472
472
|
function makeMailerIdSigner(signKey, userCert, provCert, assertionValidity = user.MAX_SIG_VALIDITY, arrFactory) {
|
|
473
|
-
const certificate = jwkeys_1.getKeyCert(userCert);
|
|
473
|
+
const certificate = (0, jwkeys_1.getKeyCert)(userCert);
|
|
474
474
|
if (signKey.use !== exports.KEY_USE.SIGN) {
|
|
475
475
|
throw new Error(`Given key ${signKey.kid} has incorrect use: ${signKey.use}`);
|
|
476
476
|
}
|
|
@@ -89,8 +89,8 @@ class ObjVersionBytesLayout {
|
|
|
89
89
|
return this.headerChunk;
|
|
90
90
|
}
|
|
91
91
|
segsLocations(thisVerOfs, len) {
|
|
92
|
-
assert_1.assert(Number.isInteger(thisVerOfs) && (thisVerOfs >= 0));
|
|
93
|
-
assert_1.assert(Number.isInteger(len) && (len >= 0));
|
|
92
|
+
(0, assert_1.assert)(Number.isInteger(thisVerOfs) && (thisVerOfs >= 0));
|
|
93
|
+
(0, assert_1.assert)(Number.isInteger(len) && (len >= 0));
|
|
94
94
|
const segInfos = [];
|
|
95
95
|
const end = thisVerOfs + len;
|
|
96
96
|
for (let i = 0; (i < this.segsChunks.length) && (len > 0); i += 1) {
|
|
@@ -117,7 +117,7 @@ class ObjVersionBytesLayout {
|
|
|
117
117
|
len -= chop.len;
|
|
118
118
|
}
|
|
119
119
|
else {
|
|
120
|
-
const chop = json_utils_1.copy(chunk);
|
|
120
|
+
const chop = (0, json_utils_1.copy)(chunk);
|
|
121
121
|
chop.thisVerOfs = thisVerOfs;
|
|
122
122
|
if (chunk.type === 'new-endless') {
|
|
123
123
|
chop.type = 'new';
|
|
@@ -177,7 +177,7 @@ class ObjVersionBytesLayout {
|
|
|
177
177
|
}
|
|
178
178
|
addHeader(len, fileOfs) {
|
|
179
179
|
this.ensureExpectedFileOfs(fileOfs);
|
|
180
|
-
assert_1.assert(Number.isInteger(len) && (len >= 0));
|
|
180
|
+
(0, assert_1.assert)(Number.isInteger(len) && (len >= 0));
|
|
181
181
|
if (this.headerChunk) {
|
|
182
182
|
throw new Error(`Header added second time to obj version bytes layout`);
|
|
183
183
|
}
|
|
@@ -187,8 +187,8 @@ class ObjVersionBytesLayout {
|
|
|
187
187
|
}
|
|
188
188
|
addSegsOnFile(thisVerOfs, len, fileOfs) {
|
|
189
189
|
this.ensureExpectedFileOfs(fileOfs);
|
|
190
|
-
assert_1.assert(Number.isInteger(thisVerOfs) && (thisVerOfs >= 0));
|
|
191
|
-
assert_1.assert(Number.isInteger(len) && (len >= 0));
|
|
190
|
+
(0, assert_1.assert)(Number.isInteger(thisVerOfs) && (thisVerOfs >= 0));
|
|
191
|
+
(0, assert_1.assert)(Number.isInteger(len) && (len >= 0));
|
|
192
192
|
const s = {
|
|
193
193
|
type: 'new-on-disk', thisVerOfs, len, fileOfs
|
|
194
194
|
};
|
|
@@ -197,9 +197,9 @@ class ObjVersionBytesLayout {
|
|
|
197
197
|
}
|
|
198
198
|
addBaseSegsOnFile(thisVerOfs, baseVerOfs, len, fileOfs) {
|
|
199
199
|
this.ensureExpectedFileOfs(fileOfs);
|
|
200
|
-
assert_1.assert(Number.isInteger(thisVerOfs) && (thisVerOfs >= 0));
|
|
201
|
-
assert_1.assert(Number.isInteger(baseVerOfs) && (baseVerOfs >= 0));
|
|
202
|
-
assert_1.assert(Number.isInteger(len) && (len >= 0));
|
|
200
|
+
(0, assert_1.assert)(Number.isInteger(thisVerOfs) && (thisVerOfs >= 0));
|
|
201
|
+
(0, assert_1.assert)(Number.isInteger(baseVerOfs) && (baseVerOfs >= 0));
|
|
202
|
+
(0, assert_1.assert)(Number.isInteger(len) && (len >= 0));
|
|
203
203
|
const s = {
|
|
204
204
|
type: 'base-on-disk', thisVerOfs, baseVerOfs, len, fileOfs
|
|
205
205
|
};
|
|
@@ -222,7 +222,7 @@ function layoutSectionsToSegsChunks(sections) {
|
|
|
222
222
|
}
|
|
223
223
|
const chunk = layoutSectionToSegsChunk(section);
|
|
224
224
|
if (chunk.type === 'new-endless') {
|
|
225
|
-
assert_1.assert(sections[sections.length - 1] === section, `Infinite layout section must be the last section`);
|
|
225
|
+
(0, assert_1.assert)(sections[sections.length - 1] === section, `Infinite layout section must be the last section`);
|
|
226
226
|
}
|
|
227
227
|
else {
|
|
228
228
|
chunks.push(chunk);
|