summaryrefslogtreecommitdiff
path: root/cli/permissions.rs
AgeCommit message (Collapse)Author
2020-03-10Add global "quiet" flag (#4135)Florian Häglsperger
2020-02-26DenoFlags -> Flags (#4136)Ryan Dahl
2020-02-24Remove ansi_term dependency (#4116)João Souto
2020-02-24Revert "Remove ansi_term dependency"Ryan Dahl
Broke colors https://github.com/denoland/deno/issues/4112#issuecomment-590545385 This reverts commit c250778704a4e0065e54e6bf6ca6c39d556a6d8d.
2020-02-24Remove ansi_term dependency (#4106)João Souto
2020-02-24fix: add mutex guard for permission_prompt tests (#4105)Yoshiya Hinosawa
This PR introduces the mutex guard for the test cases which depends on the permission prompt mocking utility. permission_request test cases depend on the mocked (dummy) value of the permission_prompt result. The value is stored at static STUB_PROMPT_VALUE: AtomicBool and these test cases share this value. So we should lock at the start of these test cases. Before this change cargo test permission failed 6 times out of 20. After this change, 0 times out of 20 (on my mac).
2020-02-23refactor: use OpError instead of ErrBox for errors in ops (#4058)Bartek Iwańczuk
To better reflect changes in error types in JS from #3662 this PR changes default error type used in ops from "ErrBox" to "OpError". "OpError" is a type that can be sent over to JSON; it has all information needed to construct error in JavaScript. That made "GetErrorKind" trait useless and so it was removed altogether. To provide compatibility with previous use of "ErrBox" an implementation of "From<ErrBox> for OpError" was added, however, it is an escape hatch and ops implementors should strive to use "OpError" directly.
2020-02-23fetch: proper error for unsupported protocol (#4085)Kevin (Kun) "Kassimo" Qian
2020-02-11refactor: Use PathBuf for paths in flag parsing and whitelists (#3955)Nayeem Rahman
* Use PathBuf for DenoSubcommand::Bundle's out_file * Use PathBuf for DenoSubcommand::Format's files * Use PathBuf for DenoSubcommand::Install's dir * Use PathBuf for read/write whitelists
2020-01-27dx: descriptive permission errors (#3808)Bartek Iwańczuk
Before: ``` ▶ target/debug/deno https://deno.land/std/examples/echo_server.ts error: Uncaught PermissionDenied: run again with the --allow-net flag ► $deno$/dispatch_json.ts:40:11 at DenoError ($deno$/errors.ts:20:5) at unwrapResponse ($deno$/dispatch_json.ts:40:11) at sendSync ($deno$/dispatch_json.ts:67:10) at listen ($deno$/net.ts:170:15) at https://deno.land/std/examples/echo_server.ts:4:23 ``` ``` ▶ target/debug/deno --allow-read=/usr https://deno.land/std/examples/cat.ts /etc/passwd error: Uncaught PermissionDenied: run again with the --allow-read flag ► $deno$/dispatch_json.ts:40:11 at DenoError ($deno$/errors.ts:20:5) at unwrapResponse ($deno$/dispatch_json.ts:40:11) at sendAsync ($deno$/dispatch_json.ts:91:10) ``` After: ``` ▶ target/debug/deno https://deno.land/std/examples/echo_server.ts error: Uncaught PermissionDenied: network access to "0.0.0.0:8080", run again with the --allow-net flag ► $deno$/dispatch_json.ts:40:11 at DenoError ($deno$/errors.ts:20:5) at unwrapResponse ($deno$/dispatch_json.ts:40:11) at sendSync ($deno$/dispatch_json.ts:67:10) at listen ($deno$/net.ts:170:15) at https://deno.land/std/examples/echo_server.ts:4:23 ``` ``` ▶ target/debug/deno --allow-read=/usr https://deno.land/std/examples/cat.ts /etc/passwd error: Uncaught PermissionDenied: read access to "/etc/passwd", run again with the --allow-read flag ► $deno$/dispatch_json.ts:40:11 at DenoError ($deno$/errors.ts:20:5) at unwrapResponse ($deno$/dispatch_json.ts:40:11) at sendAsync ($deno$/dispatch_json.ts:91:10) ```
2020-01-20refactor: reduce number of ErrorKind variants (#3662)Bartek Iwańczuk
2020-01-20refactor: Improve path handling in permission checks (#3714)Nayeem Rahman
2020-01-05Rename crates: 'deno' to 'deno_core' and 'deno_cli' to 'deno' (#3600)Ry Dahl
2020-01-02Happy new year! (#3578)Ry Dahl
2019-12-23Upgrades rust to 1.40.0 (#3542)Axetroy
2019-12-05feat: first pass at native plugins (#3372)Andy Finch
2019-12-03fix some typos in permissions (#3436)Andy Finch
2019-11-24refactor: Elevate DenoPermissions lock to top level (#3398)Kevin (Kun) "Kassimo" Qian
2019-11-11Add permissions.request (#3296)Yoshiya Hinosawa
2019-11-04Refactor Worker and ThreadSafeState (#3242)Bartek Iwańczuk
* Split ThreadSafeState into State and GlobalState. State is a "local" state belonging to "Worker" while "GlobalState" is state shared by whole program. * Update "Worker" and ops to use "GlobalState" where applicable * Move and refactor "WorkerChannels" resource
2019-10-27Use web standard Permissions API (#3200)Yoshiya Hinosawa
2019-10-23refactor DenoPermissions.check_net & resolve_addr (#3182)EnokMan
2019-10-22remove --no-prompt flag, fail on missing permissions (#3183)Yoshiya Hinosawa
2019-08-13Dynamic import should respect permissions (#2764)Ryan Dahl
2019-07-31Use system rustfmt instead of fixed binary (#2701)Ryan Dahl
2019-07-11Refactor error to use dynamic dispatch and traitsBert Belder
This is in preperation for dynamic import (#1789), which is more easily implemented when errors are dynamic.
2019-06-25Port code from Cargo and use for progressRyan Dahl
A lot of its functionality is unused still, but the goal it to slowly migrate logging functionality to it. There is also a useful progress bar which can be ported over later - it depends on this module. https://github.com/rust-lang/cargo/blob/4c1fa54d10f58d69ac9ff55be68e1b1c25ecb816/src/cargo/util/progress.rs
2019-06-25simplify check_net testRyan Dahl
2019-06-22feat: log permission access (#2518)Bartek Iwańczuk
Replaces -D/--log-debug flag with --log-level=debug --log-level=info displays permission access
2019-06-19Combine CLI Errors (#2487)Kitson Kelly
2019-05-23Rename --allow-high-precision to --allow-hrtime (#2398)Ryan Dahl
2019-05-11Add progress bar (#2309)Ryan Dahl
2019-05-08First pass at permissions whitelist (#2129)andy finch
2019-04-09Silence clippy warnings and format source codeBert Belder
2019-04-08Allow high precision performance.now() (#1977)Vincent LE GOFF
2019-03-20Fix clippy errors and upgrade Rust to 1.33.0 in CI (#1945)Ryan Dahl
2019-03-19Rename //src/ to //cli/ (#1962)Ryan Dahl
To better distinguish the deno_core crate from the executable deno, which will now be called "the cli" internally.