[racket] Handin Server + PLAI problem [and 1 more messages]

From: Eli Barzilay (eli at barzilay.org)
Date: Sat Jan 14 21:45:12 EST 2012

An hour ago, Robby Findler wrote:
> On Sat, Jan 14, 2012 at 7:04 PM, Eli Barzilay <eli at barzilay.org> wrote:
> >
> > Following a reply from Matthias, I tried it in drr, and that does
> > have an offending exists, but looking at the stacktrace, there's a
> > `print-values' so it sounds like the drr-installed printer -- ?
> I don't think this is relevant. I'm not running the handin server
> from inside drracket and I doubt John is either.

(I know -- I thought that you might have noticed a problem that is
therefore irrelevant.)

An hour ago, Robby Findler wrote:
> When I set up the modules below, I get these two stacktraces for
> what seem to be thinks the sandbox would reject:
> [robby at yanpu] ~$ racket ~/tmp.rkt
> security guard: current-directory #<path:/Users/robby/> (exists)
>   (#f . #(struct:srcloc #<path:/Users/robby/tmp.rkt> 9 17 283 475))
>   (find-main-collects . #(struct:srcloc
> #<path:/Users/robby/git/plt/collects/setup/private/main-collects.rkt>
> 19 4 817 884))

Oh, then this makes the offender clear, no?  In the above function I
see at least three pieces that can lead to such access: two uses of
`find-executable-path', and the last `simplify-path' (that defaults to
allow FS access).

I still don't think that this should be resolved by the sandbox though
-- doing this means that it needs to figure out what permissions are
needed backwards from that code.  Instead, I think that this code
should be explicitly allowed -- but I don't have a good idea on how
that can be done.  Maybe it should always work with some unrestricted
guard?  (Sounds like a dangerous idea.)  Or maybe some private
parameter (or continuation mark) that can be used to identify "I'm now
in blessed code" which the sandbox security guard can check and if in
that case avoid the restrictions?

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!

Posted on the users mailing list.