[racket] Handin Server + PLAI problem
10 minutes ago, Robby Findler wrote:
> Does variable-reference->module-source use current-directory?
>
> If so, that'd explain this. (And either it would have to change or
> the handin-server/sandbox would have to.)
It looks like it does -- running the code below shows
>>> (find-system-path #f (exists))
>>> (find-system-path #f (exists))
But the security guard that the sandbox installs allows "pathless
queries" where the path is `#f'. Perhaps it's some code that uses the
resulting path? (But that would be the path of the module, which
should be allowed, not the current directory.)
This is the code I tried:
#lang racket
(define-namespace-anchor a)
(define ns (namespace-anchor->namespace a))
(parameterize ([current-security-guard
(make-security-guard
(current-security-guard)
(lambda (what path modes)
(eprintf ">>> ~s\n" `(,what ,path ,modes)))
void)])
(eval '(variable-reference->module-source (#%variable-reference))
ns))
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!