<p>Hi all,</p>
<p>I have my students handing in an assignment via the handin server, in which I&#39;ve asked them to use bitmap/url to load a particular image from my Web server.  This obviously runs afoul of the sandbox  rules, so I looked into the sandbox configuration docs and believe that what I need to do is something like</p>

<p>&gt; (sandbox-network-guard<br>
&gt;   (lambda (caller host port cli/srv)<br>
&gt;     (unless (and (equal? host &quot;<a href="http://my-server.com">my-server.com</a>&quot;)<br>
&gt;                  (= port 80)<br>
&gt;                  (eq? cli/srv &#39;client))<br>
&gt;       (error caller<br>
&gt;              &quot;network permissions denied; failed to contact ~a:~a&quot;<br>
&gt;              host port))))</p>
<p>(I would restrict it further to allow only fetching the one particular file, but don&#39;t see how.)  The question I have is, how should I install this lambda in the sandbox-network-guard parameter so that it works properly?  The problems I see are:</p>

<p>1. If I simply include the above code before the (check: ...) expression, it seems to work correctly for  the first assignment handed in, and none thereafter.</p>
<p>2. Writing (parameterize ([sandbox-network-guard (lambda ...)]) (check: ...)) doesn&#39;t work, because (check: ...) must be at top-level to provide the checker function.</p>
<p>Thanks,<br>
jmj</p>