sandbox with default configuration can no longer load `2htdp/image`
Nobody has claimed this yet.
- Dominant language
- Racket
- Stars
- 5.2k
- Forks
- 698
- Avg merge
- 18h 34m
- Merged PRs (30d)
- 5
Description
Origionaly from https://groups.google.com/forum/?fromgroups#!searchin/racket-users/libobj%7Csort:relevance/racket-users/W_-4aN7kPyI/cwgwz2xIBAAJ
Two small example of this:
(make-module-evaluator `(module m racket (require 2htdp/image)))
(make-evaluator 'racket #:requires '(2htdp/image))
These errors with one of the following, depending on the machine.
file-or-directory-modify-seconds: `read' access denied for
/Users/florence/Library/Preferences/org.racket-lang.prefs.rktd
file-exists?: `exists' access denied for libobj.so
file-exists?: `exists' access denied for libobj.dylib
file-exists?: `exists' access denied for libpng16.so.16
I'm not sure when this broke, but it worked on 6.2.1 (When using the handin server at least).
I also have not been able to find workaround by setting sandbox-path-permissions, other than setting 'read for "/".
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the two examples using make-module-evaluator and make-evaluator with 2htdp/image, and compare the reported permission failures across machines. Read the sandbox-path-permissions behavior and the default sandbox configuration first. Done means the default configuration can load 2htdp/image without granting read access to the entire filesystem.
Written by the indexing model from the issue text.
Assessment
- Domain
- security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100