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.
Files changed (95) hide show
  1. package/build/3nstorage/3nstorage-app.js +4 -4
  2. package/build/3nstorage/owner.js +28 -28
  3. package/build/3nstorage/resources/store.d.ts +2 -9
  4. package/build/3nstorage/resources/store.js +76 -73
  5. package/build/3nstorage/resources/users.d.ts +4 -2
  6. package/build/3nstorage/resources/users.js +8 -4
  7. package/build/3nstorage/routes/owner/archive-obj-version.d.ts +2 -2
  8. package/build/3nstorage/routes/owner/archive-obj-version.js +36 -31
  9. package/build/3nstorage/routes/owner/cancel-trans.js +1 -1
  10. package/build/3nstorage/routes/owner/delete-obj.d.ts +3 -2
  11. package/build/3nstorage/routes/owner/delete-obj.js +42 -7
  12. package/build/3nstorage/routes/owner/get-archived-obj-ver.js +10 -6
  13. package/build/3nstorage/routes/owner/get-current-obj.js +2 -2
  14. package/build/3nstorage/routes/owner/list-obj-archive.js +28 -31
  15. package/build/3nstorage/routes/owner/param-getter.js +3 -2
  16. package/build/3nstorage/routes/owner/param-setter.js +3 -2
  17. package/build/3nstorage/routes/owner/put-current-obj.js +12 -10
  18. package/build/3nstorage/routes/owner/session-params.js +4 -3
  19. package/build/admin/admin-app.js +5 -5
  20. package/build/admin/resources/users.js +42 -42
  21. package/build/admin/routes/add.js +3 -3
  22. package/build/admin/signup-tokens.js +8 -8
  23. package/build/asmail/asmail-app.js +7 -7
  24. package/build/asmail/config.js +9 -8
  25. package/build/asmail/delivery.js +10 -9
  26. package/build/asmail/resources/delivery-sessions.js +4 -3
  27. package/build/asmail/resources/inbox.d.ts +1 -1
  28. package/build/asmail/resources/inbox.js +22 -22
  29. package/build/asmail/resources/recipients.d.ts +2 -1
  30. package/build/asmail/resources/recipients.js +4 -4
  31. package/build/asmail/resources/sessions.js +2 -1
  32. package/build/asmail/retrieval.js +13 -8
  33. package/build/asmail/routes/config/param-getter.js +3 -2
  34. package/build/asmail/routes/config/param-setter.js +3 -2
  35. package/build/asmail/routes/delivery/finalize-delivery.js +3 -2
  36. package/build/asmail/routes/delivery/pre-flight.js +5 -4
  37. package/build/asmail/routes/delivery/provide-recipient-pubkey.js +3 -2
  38. package/build/asmail/routes/delivery/put-metadata.js +3 -2
  39. package/build/asmail/routes/delivery/put-obj.js +4 -4
  40. package/build/asmail/routes/delivery/restart-session.js +4 -3
  41. package/build/asmail/routes/delivery/sender-authorization.d.ts +1 -3
  42. package/build/asmail/routes/delivery/sender-authorization.js +3 -2
  43. package/build/asmail/routes/delivery/start-session.js +5 -4
  44. package/build/asmail/routes/retrieval/get-message-meta.js +3 -2
  45. package/build/asmail/routes/retrieval/get-message-obj.js +4 -3
  46. package/build/asmail/routes/retrieval/list-messages.js +3 -2
  47. package/build/asmail/routes/retrieval/remove-message.js +3 -2
  48. package/build/lib-common/async-fs-node.d.ts +2 -0
  49. package/build/lib-common/async-fs-node.js +13 -13
  50. package/build/lib-common/byte-streaming/common.js +9 -9
  51. package/build/lib-common/canonical-address.js +1 -1
  52. package/build/lib-common/ipc/generic-ipc.js +12 -12
  53. package/build/lib-common/ipc/ws-ipc.js +2 -2
  54. package/build/lib-common/mid-sigs-NaCl-Ed.js +14 -14
  55. package/build/lib-common/objs-on-disk/file-layout.js +10 -10
  56. package/build/lib-common/objs-on-disk/obj-file.js +11 -11
  57. package/build/lib-common/objs-on-disk/utils.d.ts +1 -0
  58. package/build/lib-common/objs-on-disk/utils.js +3 -3
  59. package/build/lib-common/processes.js +1 -1
  60. package/build/lib-common/random-node.js +7 -7
  61. package/build/lib-common/service-api/3nstorage/owner.d.ts +24 -18
  62. package/build/lib-common/service-api/3nstorage/owner.js +31 -26
  63. package/build/lib-common/service-api/asmail/delivery.js +2 -2
  64. package/build/lib-common/service-api/asmail/retrieval.js +1 -1
  65. package/build/lib-server/conf-util.js +2 -1
  66. package/build/lib-server/middleware/body-parsers.js +16 -16
  67. package/build/lib-server/middleware/error-handler.js +1 -1
  68. package/build/lib-server/resources/mailerid-authorizer.js +3 -3
  69. package/build/lib-server/resources/mem-backed-sessions-factory.js +3 -3
  70. package/build/lib-server/resources/server-data-folders.js +23 -23
  71. package/build/lib-server/resources/sessions.js +5 -5
  72. package/build/lib-server/resources/user-files.js +8 -8
  73. package/build/lib-server/routes/pub-key-login/complete-exchange.js +4 -3
  74. package/build/lib-server/routes/pub-key-login/start-exchange.js +7 -6
  75. package/build/lib-server/routes/sessions/mid-auth.js +6 -5
  76. package/build/lib-server/routes/sessions/start.js +4 -3
  77. package/build/lib-server/web-sockets/app.d.ts +1 -0
  78. package/build/lib-server/web-sockets/app.js +6 -5
  79. package/build/lib-server/web-sockets/server-events.js +5 -4
  80. package/build/mailerId/mailerId-app.js +7 -7
  81. package/build/mailerId/resources/certifier.d.ts +4 -6
  82. package/build/mailerId/resources/certifier.js +8 -7
  83. package/build/mailerId/resources/compute-login-dhshared-key.js +2 -1
  84. package/build/mailerId/resources/sessions.js +2 -1
  85. package/build/mailerId/resources/users.js +4 -4
  86. package/build/mailerId/routes/certify.js +1 -1
  87. package/build/main.js +10 -10
  88. package/build/mock/dns.js +1 -1
  89. package/build/mock/mock-as-child-proc.js +10 -10
  90. package/build/mock/node-child-ipc.js +2 -2
  91. package/build/mock/run-in-proc.js +7 -7
  92. package/build/run-config.js +10 -10
  93. package/build/run.js +4 -4
  94. package/build/services.js +5 -5
  95. package/package.json +13 -10
@@ -27,9 +27,9 @@ const app_1 = require("../lib-server/web-sockets/app");
27
27
  const path_1 = require("path");
28
28
  const signup_tokens_1 = require("../admin/signup-tokens");
29
29
  const SERVER_MOCK_CHANNEL = 'server-mock';
30
- const parent = node_child_ipc_1.commToParent(SERVER_MOCK_CHANNEL);
30
+ const parent = (0, node_child_ipc_1.commToParent)(SERVER_MOCK_CHANNEL);
31
31
  const DEFAULT_SERVICE_PORT = 8088;
32
- const DEFAULT_DATA_FOLDER = path_1.join(__dirname, '/../../mock-data');
32
+ const DEFAULT_DATA_FOLDER = (0, path_1.join)(__dirname, '/../../mock-data');
33
33
  let dnsMock;
34
34
  let app;
35
35
  parent.addHandler('set-dns-mock', setDnsMock);
@@ -38,7 +38,7 @@ async function setDnsMock(env) {
38
38
  dns.resolveTxt = dnsMock.resolveTxt;
39
39
  }
40
40
  async function cleanDataFolder() {
41
- await async_fs_node_1.rmDirWithContent(DEFAULT_DATA_FOLDER).catch((exc) => {
41
+ await (0, async_fs_node_1.rmDirWithContent)(DEFAULT_DATA_FOLDER).catch((exc) => {
42
42
  if (!exc.notFound) {
43
43
  throw exc;
44
44
  }
@@ -50,7 +50,7 @@ async function start(env) {
50
50
  const servicePort = (env.req.port ? env.req.port : DEFAULT_SERVICE_PORT);
51
51
  const dataFolder = (env.req.dataFolder ?
52
52
  env.req.dataFolder : DEFAULT_DATA_FOLDER);
53
- const noTokensFilePath = path_1.join(dataFolder, 'no-tokens-signup.json');
53
+ const noTokensFilePath = (0, path_1.join)(dataFolder, 'no-tokens-signup.json');
54
54
  const conf = {
55
55
  rootFolder: dataFolder,
56
56
  domain: env.req.midServiceDomain,
@@ -63,19 +63,19 @@ async function start(env) {
63
63
  storage: true
64
64
  },
65
65
  mailerId: {
66
- certs: path_1.join(dataFolder, 'mid-certs.json')
66
+ certs: (0, path_1.join)(dataFolder, 'mid-certs.json')
67
67
  }
68
68
  };
69
69
  // prepare data folders
70
70
  await cleanDataFolder();
71
- await async_fs_node_1.mkdir(dataFolder);
71
+ await (0, async_fs_node_1.mkdir)(dataFolder);
72
72
  // write to-tokens signup file
73
- const noTokenCtx = signup_tokens_1.makeMultiDomainSignupCtx(env.req.signupDomains);
74
- await async_fs_node_1.writeFile(noTokensFilePath, JSON.stringify(noTokenCtx), { encoding: 'utf8' });
73
+ const noTokenCtx = (0, signup_tokens_1.makeMultiDomainSignupCtx)(env.req.signupDomains);
74
+ await (0, async_fs_node_1.writeFile)(noTokensFilePath, JSON.stringify(noTokenCtx), { encoding: 'utf8' });
75
75
  // setup app
76
76
  app = new app_1.AppWithWSs();
77
- app.use(services_1.adminApp(conf));
78
- app.use(services_1.servicesApp(conf));
77
+ app.use((0, services_1.adminApp)(conf));
78
+ app.use((0, services_1.servicesApp)(conf));
79
79
  // start app
80
80
  await app.start(tls_options_1.sslOpts, servicePort);
81
81
  // set client https to trust the cert (MailerId checks need this)
@@ -34,7 +34,7 @@ function commToChild(channel, child) {
34
34
  child.send(env);
35
35
  }
36
36
  };
37
- return generic_ipc_1.makeRequestingClient(channel, rawDuplex);
37
+ return (0, generic_ipc_1.makeRequestingClient)(channel, rawDuplex);
38
38
  }
39
39
  exports.commToChild = commToChild;
40
40
  function commToParent(channel) {
@@ -57,7 +57,7 @@ function commToParent(channel) {
57
57
  process.send(env);
58
58
  }
59
59
  };
60
- return generic_ipc_1.makeRequestServer(channel, commPoint);
60
+ return (0, generic_ipc_1.makeRequestServer)(channel, commPoint);
61
61
  }
62
62
  exports.commToParent = commToParent;
63
63
  Object.freeze(exports);
@@ -47,7 +47,7 @@ function setTestCertsAndDNS(domains, thisSrvLoc) {
47
47
  }
48
48
  exports.setTestCertsAndDNS = setTestCertsAndDNS;
49
49
  async function startOn(srvDomain, dataDir, port, domains) {
50
- const noTokensFilePath = path_1.join(dataDir, 'no-tokens-signup.json');
50
+ const noTokensFilePath = (0, path_1.join)(dataDir, 'no-tokens-signup.json');
51
51
  const conf = {
52
52
  rootFolder: dataDir,
53
53
  domain: srvDomain,
@@ -60,7 +60,7 @@ async function startOn(srvDomain, dataDir, port, domains) {
60
60
  noTokenFile: noTokensFilePath
61
61
  },
62
62
  mailerId: {
63
- certs: path_1.join(dataDir, 'mid-certs.json')
63
+ certs: (0, path_1.join)(dataDir, 'mid-certs.json')
64
64
  },
65
65
  servicesConnect: {
66
66
  port,
@@ -68,22 +68,22 @@ async function startOn(srvDomain, dataDir, port, domains) {
68
68
  }
69
69
  };
70
70
  // prepare data folders
71
- await async_fs_node_1.mkdir(dataDir)
71
+ await (0, async_fs_node_1.mkdir)(dataDir)
72
72
  .catch((exc) => {
73
73
  if (!exc.alreadyExists) {
74
74
  throw exc;
75
75
  }
76
76
  });
77
77
  // write to-tokens signup file
78
- const noTokenCtx = signup_tokens_1.makeMultiDomainSignupCtx(domains.noTokenSignup);
79
- await async_fs_node_1.writeFile(noTokensFilePath, JSON.stringify(noTokenCtx), { encoding: 'utf8' });
78
+ const noTokenCtx = (0, signup_tokens_1.makeMultiDomainSignupCtx)(domains.noTokenSignup);
79
+ await (0, async_fs_node_1.writeFile)(noTokensFilePath, JSON.stringify(noTokenCtx), { encoding: 'utf8' });
80
80
  // certs and DNS
81
81
  const allDomains = domains.noTokenSignup.concat(domains.other);
82
82
  const dnsMock = setTestCertsAndDNS(allDomains, `${srvDomain}:${port}`);
83
83
  // setup services and start
84
84
  const app = new app_1.AppWithWSs();
85
- app.use(services_1.adminApp(conf));
86
- app.use(services_1.servicesApp(conf));
85
+ app.use((0, services_1.adminApp)(conf));
86
+ app.use((0, services_1.servicesApp)(conf));
87
87
  await app.start(conf.servicesConnect.sslOpts, conf.servicesConnect.port);
88
88
  return { dnsMock, stop: () => app.stop() };
89
89
  }
@@ -60,25 +60,25 @@ function getConfsFromEnv() {
60
60
  }
61
61
  // Make data folders
62
62
  ensureFolderPresence(dataDir, true);
63
- dataDir = fs_1.realpathSync(dataDir);
63
+ dataDir = (0, fs_1.realpathSync)(dataDir);
64
64
  let midCerts = process.env[CERTS_FILE_VAR];
65
65
  if (!midCerts) {
66
- midCerts = path_1.join(dataDir, 'mid-certs.json');
66
+ midCerts = (0, path_1.join)(dataDir, 'mid-certs.json');
67
67
  }
68
68
  const noTokenFile = process.env[NO_TOKENS_FILE];
69
69
  return makeConf(domain, dataDir, midCerts, noTokenFile);
70
70
  }
71
71
  exports.getConfsFromEnv = getConfsFromEnv;
72
72
  function ensureFolderPresence(path, doLog) {
73
- if (async_fs_node_1.existsFolderSync(path)) {
73
+ if ((0, async_fs_node_1.existsFolderSync)(path)) {
74
74
  if (doLog) {
75
75
  console.log(`Using existing data folder ${path}`);
76
76
  }
77
77
  }
78
78
  else {
79
- fs_1.mkdirSync(path);
79
+ (0, fs_1.mkdirSync)(path);
80
80
  if (doLog) {
81
- console.log(`Created ${fs_1.realpathSync(path)}`);
81
+ console.log(`Created ${(0, fs_1.realpathSync)(path)}`);
82
82
  }
83
83
  }
84
84
  }
@@ -117,11 +117,11 @@ function getTLSParamsFromEnv() {
117
117
  }
118
118
  }
119
119
  async function addSingleUserSignup(rootFolder, userId) {
120
- const token = await signup_tokens_1.generateToken();
121
- const ctx = signup_tokens_1.makeSingleUserSignupCtx(token, userId);
122
- const fPath = signup_tokens_1.tokenPath(rootFolder, token);
120
+ const token = await (0, signup_tokens_1.generateToken)();
121
+ const ctx = (0, signup_tokens_1.makeSingleUserSignupCtx)(token, userId);
122
+ const fPath = (0, signup_tokens_1.tokenPath)(rootFolder, token);
123
123
  try {
124
- await async_fs_node_1.writeFile(fPath, JSON.stringify(ctx), { encoding: 'utf8', flag: 'wx' });
124
+ await (0, async_fs_node_1.writeFile)(fPath, JSON.stringify(ctx), { encoding: 'utf8', flag: 'wx' });
125
125
  return token;
126
126
  }
127
127
  catch (exc) {
@@ -129,7 +129,7 @@ async function addSingleUserSignup(rootFolder, userId) {
129
129
  return addSingleUserSignup(rootFolder, userId);
130
130
  }
131
131
  else if (exc.notFound) {
132
- await async_fs_node_1.mkdir(server_data_folders_1.tokensInRootFolder(rootFolder))
132
+ await (0, async_fs_node_1.mkdir)((0, server_data_folders_1.tokensInRootFolder)(rootFolder))
133
133
  .catch((exc) => {
134
134
  if (!exc.alreadyExists) {
135
135
  throw exc;
package/build/run.js CHANGED
@@ -20,11 +20,11 @@ const app_1 = require("./lib-server/web-sockets/app");
20
20
  const run_config_1 = require("./run-config");
21
21
  (async () => {
22
22
  try {
23
- const conf = run_config_1.getConfsFromEnv();
23
+ const conf = (0, run_config_1.getConfsFromEnv)();
24
24
  const app = new app_1.AppWithWSs();
25
- app.use(services_1.servicesApp(conf));
26
- app.use(services_1.adminApp(conf));
27
- const { address, port, sslOpts } = run_config_1.getBindParamsFromEnv();
25
+ app.use((0, services_1.servicesApp)(conf));
26
+ app.use((0, services_1.adminApp)(conf));
27
+ const { address, port, sslOpts } = (0, run_config_1.getBindParamsFromEnv)();
28
28
  await app.start(sslOpts, port, address);
29
29
  console.log(`Started 3NWeb server at address ${address}, port ${port}, ${sslOpts ? 'via TLS' : 'without TLS, and requiring TLS reverse proxy infront.'}`);
30
30
  }
package/build/services.js CHANGED
@@ -28,21 +28,21 @@ function servicesApp(conf) {
28
28
  throw new Error('Missing enabled-services sections in confs.');
29
29
  }
30
30
  const app = new app_1.AppWithWSs();
31
- const midAuthorizer = mailerid_authorizer_1.validator(); // share, allowing for caching of certs
31
+ const midAuthorizer = (0, mailerid_authorizer_1.validator)(); // share, allowing for caching of certs
32
32
  if (conf.enabledServices.mailerId) {
33
- app.http.use('/mailerid', mailerId_app_1.makeApp(conf.rootFolder, conf.domain, conf.mailerId.certs));
33
+ app.http.use('/mailerid', (0, mailerId_app_1.makeApp)(conf.rootFolder, conf.domain, conf.mailerId.certs));
34
34
  }
35
35
  if (conf.enabledServices.asmail) {
36
- app.use('/asmail', asmail_app_1.makeApp(conf.rootFolder, conf.domain, midAuthorizer));
36
+ app.use('/asmail', (0, asmail_app_1.makeApp)(conf.rootFolder, conf.domain, midAuthorizer));
37
37
  }
38
38
  if (conf.enabledServices.storage) {
39
- app.use('/3nstorage', _3nstorage_app_1.makeApp(conf.rootFolder, conf.domain, midAuthorizer));
39
+ app.use('/3nstorage', (0, _3nstorage_app_1.makeApp)(conf.rootFolder, conf.domain, midAuthorizer));
40
40
  }
41
41
  return app;
42
42
  }
43
43
  exports.servicesApp = servicesApp;
44
44
  function adminApp(conf) {
45
- return new app_1.AppWithWSs(admin_app_1.makeApp(conf));
45
+ return new app_1.AppWithWSs((0, admin_app_1.makeApp)(conf));
46
46
  }
47
47
  exports.adminApp = adminApp;
48
48
  Object.freeze(exports);
package/package.json CHANGED
@@ -1,12 +1,15 @@
1
1
  {
2
2
  "name": "spec-3nweb-server",
3
- "version": "1.3.8",
3
+ "version": "1.5.0",
4
4
  "description": "3NWeb spec server.",
5
5
  "main": "build/lib.js",
6
6
  "types": "build/lib.d.ts",
7
7
  "scripts": {
8
- "test": "tsc -p ts-code && node build/tests/jasmine.js",
9
- "build": "tsc -p ts-code"
8
+ "build": "tsc -p ts-code",
9
+ "test": "node build/tests/jasmine.js",
10
+ "clear-for-packing": "npm prune --production && bash -c \"rm -rf build/mock build/tests 'node_modules/ecma-nacl/c sources'\"",
11
+ "clear-for-packing-mock": "npm prune --production && bash -c \"rm -rf build/tests 'node_modules/ecma-nacl/c sources'\"",
12
+ "pack-deb": "npm run clear-for-packing && bash packing/deb/create-bin.sh"
10
13
  },
11
14
  "repository": {
12
15
  "type": "git",
@@ -27,19 +30,19 @@
27
30
  "license": "GPL-3.0",
28
31
  "dependencies": {
29
32
  "ecma-nacl": "^2.4.0",
30
- "express": "^4.12.3",
33
+ "express": "^4.18.0",
31
34
  "punycode": "^2.1.1",
32
- "ws": "^7.0.0",
35
+ "ws": "^7.4.6",
33
36
  "xsp-files": "^2.0.0"
34
37
  },
35
38
  "devDependencies": {
36
- "@types/express": "",
37
- "@types/jasmine": "",
38
- "@types/node": "",
39
+ "@types/express": "4.17.13",
40
+ "@types/jasmine": "^3.9.1",
41
+ "@types/node": "^16.11.7",
39
42
  "@types/ws": "^4.0.0",
40
- "jasmine": "^2.5.3",
43
+ "jasmine": "^3.9.0",
41
44
  "rxjs": "^5.3.0",
42
- "typescript": "^3.7.3",
45
+ "typescript": "^4.7.4",
43
46
  "xhr2": "^0.1.3"
44
47
  },
45
48
  "readmeFilename": "README.md"