Commit Graph

12859 Commits

Author SHA1 Message Date
Ned Batchelder
ceb6cedaae Fix merge 2013-05-06 11:39:19 -04:00
Ned Batchelder
182a1a1899 Cleanups 2013-05-06 11:39:19 -04:00
Ned Batchelder
0021b0acb3 Refactor to move assumed_imports into capa, so that code_jail is more pure. 2013-05-06 11:39:19 -04:00
Ned Batchelder
89f6ef8407 Move capa/safe_exec into its own directory, in prep for moving code here. 2013-05-06 11:39:18 -04:00
Ned Batchelder
d925604113 Clarify provenance 2013-05-06 11:39:18 -04:00
Ned Batchelder
efaa0eea03 More fixes to the merge, now all tests pass. 2013-05-06 11:39:18 -04:00
Ned Batchelder
be79810ff6 Fix one problem from the merges 2013-05-06 11:39:18 -04:00
Will Daly
f62dad2f57 Added symbolic response tests 2013-05-06 11:39:18 -04:00
Ned Batchelder
e61a6fe787 Make it possible for customresponse check functions to get extra arguments, though they need to be declared in the XML. 2013-05-06 11:39:18 -04:00
Ned Batchelder
c49b0c5027 Have to make the globals json-safe before sending them to the sandbox. 2013-05-06 11:39:18 -04:00
Ned Batchelder
7aa493ec85 A start on getting these tests to run again. 2013-05-06 11:39:18 -04:00
Ned Batchelder
283fc47a95 Jailed code importing random explicitly would get the wrong seed. 2013-05-06 11:39:17 -04:00
Ned Batchelder
f3e8d5bb7a Didn't mean to put this in 2013-05-06 11:39:17 -04:00
Ned Batchelder
478f967af4 We would fail if a global was defined with a non-jsonable value inside a jsonable one. Now we don't/ 2013-05-06 11:39:17 -04:00
Ned Batchelder
b95ea4422b Prevent a print statement from accidentally borking the sandbox. 2013-05-06 11:39:17 -04:00
Ned Batchelder
5acb225816 Print the full traceback when execution fails. 2013-05-06 11:39:17 -04:00
Ned Batchelder
839c568474 Hmm, turns out exec wants just one dict to properly simulate Python module execution. 2013-05-06 11:39:17 -04:00
Ned Batchelder
1473fe377a A unit test that demonstrates the problem we're having with some sandboxed code. 2013-05-06 11:39:17 -04:00
Ned Batchelder
d9df65eef0 Add some logging to codejail 2013-05-06 11:39:17 -04:00
Ned Batchelder
771de938c7 Update the instructions for setting up the sandbox. 2013-05-06 11:39:17 -04:00
Ned Batchelder
ec7a04fdb3 A /debug/run_python endpoint for staff to test the sandboxing of Python code. 2013-05-06 11:39:17 -04:00
Ned Batchelder
df17c0c7dd Move symmath into capa so that it's available where needed 2013-05-06 11:39:17 -04:00
Ned Batchelder
67d0670b2e Symbolic response no longer runs its checker in the Python sandbox. 2013-05-06 11:39:16 -04:00
Ned Batchelder
94f6e685df Mock the response from the snuggletex server, and unskip the SymbolicResponse test. 2013-05-06 10:55:07 -04:00
Ned Batchelder
c04f3e09c0 Test that the sandbox can't get to the network. 2013-05-06 10:55:07 -04:00
Ned Batchelder
9dbfca129c Check functions now can only return serializable data, and 'ex' and 'got' weren't used later anyway. 2013-05-06 10:55:07 -04:00
Ned Batchelder
070f184ee0 Not sure why these had capital-I's in them, since the text just above shows lowercase-i's, and uppercase doesn't work properly. 2013-05-06 10:55:06 -04:00
Ned Batchelder
81c4e4f74f Make check_function more flexible so symbolicresponse can pass in more information. 2013-05-06 10:55:06 -04:00
Ned Batchelder
42eee48ec9 A few places we used an option of 'imaginaryi', which isn't a real option. Doesn't change any behavior. 2013-05-06 10:55:06 -04:00
Ned Batchelder
a40aed58d0 Clean up 2013-05-06 10:55:06 -04:00
Ned Batchelder
4fb73248ba Try to get <symbolicresponse> test running. (Not yet) 2013-05-06 10:55:06 -04:00
Ned Batchelder
4b234a63a3 Future division is really a capa concern, not a general-purpose codejail concern. Move it. 2013-05-06 10:55:06 -04:00
Ned Batchelder
7187b10f9c Use the python_path argument to safe_exec 2013-05-06 10:55:06 -04:00
Ned Batchelder
a04317b31d Files are properly copied in both implementations of safe_exec, and a new python_path argument adds to the python path. 2013-05-06 10:55:06 -04:00
Ned Batchelder
abb9174559 Refactor how script chunks are run. 2013-05-06 10:55:06 -04:00
Ned Batchelder
12b6876753 safe_exec seeds the random module, and now we have tests for it. 2013-05-06 10:55:06 -04:00
Ned Batchelder
ab8a3050fd Don't use jailpy if it hasn't been configured. 2013-05-06 10:55:05 -04:00
Ned Batchelder
d99eadc0a2 Refactor the assumed_imports handling 2013-05-06 10:55:05 -04:00
Ned Batchelder
eb85696347 Tests for safe_exec 2013-05-06 10:55:05 -04:00
Ned Batchelder
5d4b61c7f5 Better configuration for codejail. 2013-05-06 10:55:05 -04:00
Ned Batchelder
30748a06ff Try to find the sandbox in a few places. 2013-05-06 10:55:05 -04:00
Ned Batchelder
716a97ea59 Symbolic response doesn't need to pre-import symmath any more, I think? 2013-05-06 10:55:05 -04:00
Ned Batchelder
e8da1b8f61 Turn off our debugging levers 2013-05-06 10:55:05 -04:00
Ned Batchelder
3316aeb032 Add back the not_safe_exec implementation, for debugging. 2013-05-06 10:55:05 -04:00
Ned Batchelder
ebb2624719 Make jailpy tests more convenient and informative. 2013-05-06 10:55:05 -04:00
Ned Batchelder
7c498be606 Move packages around so we can install packages into the sandbox. 2013-05-06 10:55:05 -04:00
Ned Batchelder
70930c25c1 Remove the unsafe version of safe_exec, and document the safe one. 2013-05-06 10:55:04 -04:00
Ned Batchelder
5db5426e05 Use the real safe_exec; make the seed available in the context. 2013-05-06 10:55:04 -04:00
Ned Batchelder
19e3a0ceb9 Implement safe_exec on top of jailpy (old unsafe safe_exec is still here); Remove some crazy stuff from the context; always pass globals and locals, locals are the things that can be changed. 2013-05-06 10:55:04 -04:00
Ned Batchelder
908f44b9cd snippets aren't used. Remove them. 2013-05-06 10:55:04 -04:00