1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-01-21 21:50:00 -05:00

fix: Use "none" instead of false to sandbox Workers (#9034)

This commit is contained in:
Nayeem Rahman 2021-01-07 10:52:30 +00:00 committed by GitHub
parent cb658f5ce5
commit b5f1d257a3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 11 additions and 12 deletions

View file

@ -666,7 +666,7 @@ declare class Worker extends EventTarget {
*
* Set deno.namespace to `true` to make `Deno` namespace and all of its methods
* available to worker thread. The namespace is disabled by default.
*
*
* Configure deno.permissions options to change the level of access the worker will
* have. By default it will inherit the permissions of its parent thread. The permissions
* of a worker can't be extended beyond its parent's permissions reach.
@ -718,17 +718,16 @@ declare class Worker extends EventTarget {
*/
// TODO(Soremwar)
// `deno: true` is kept for backwards compatibility with the previous worker
// options implementation. Remove for 2.0
// options implementation. Remove for 2.0.
deno?: true | {
namespace?: boolean;
/** Set to false to disable all the permissions in the worker */
permissions?: "inherit" | false | {
/** Set to `"none"` to disable all the permissions in the worker. */
permissions?: "inherit" | "none" | {
env?: "inherit" | boolean;
hrtime?: "inherit" | boolean;
/**
* The format of the net access list must be `hostname[:port]`
* in order to be resolved
*
/** The format of the net access list must be `hostname[:port]`
* in order to be resolved.
*
* ```
* net: ["https://deno.land", "localhost:8080"],
* ```

View file

@ -600,7 +600,7 @@ Deno.test("Worker with disabled permissions", async function () {
type: "module",
deno: {
namespace: true,
permissions: false,
permissions: "none",
},
},
);

View file

@ -241,7 +241,7 @@ the `deno.permissions` option in the worker API.
type: "module",
deno: {
namespace: true,
permissions: false,
permissions: "none",
},
});
```

View file

@ -152,9 +152,9 @@
: deno?.permissions,
};
// If the permission option is set to false, all permissions
// If the permission option is set to "none", all permissions
// must be removed from the worker
if (workerDenoAttributes.permissions === false) {
if (workerDenoAttributes.permissions === "none") {
workerDenoAttributes.permissions = {
env: false,
hrtime: false,