- There is a bug in Safe.pm version 2.27 which makes it incompatible with WeBWorK. The symptom is that any action involving a MathObject, such as answering a WeBWorK question -- will send the child process serving that request into an infinite loop. Versions of Safe.pm before 2.23 appear to work fine. Safe.pm version 2.29 (the most recent as of this writing) works for most problems but will throw errors on specific WeBWorK problems - particularly ones using graphics.
- A file labeled WWSafe.pm which is Safe.pm version 2.16 is included with this distribution. At the moment the lines
use Safe;have been changed to
use WWSafe;in these filespg/lib/WeBWorK/PG/Translator.pm, webwork2/lib/WeBWorK/CourseEnvironment.pm, webwork2/lib/WebworkWebservice/LibraryActions.pm, webwork2/lib/WebworkWebservice/MathTranslators.pm, webwork2/lib/WebworkWebservice/RenderProblem.pm, webwork2/lib/WWSafe.pm
- (Thanks to Zig Fiedorowicz and Geoff Goehle for research into this problem. Other references: http://webwork.maa.org/moodle/mod/forum/discuss.php?d=2292 and http://search.cpan.org/~rgarcia/Safe-2.29/.)
Safe.pmis used by WeBWorK to provide a clean namespace for each new problem and to prevent the accidental use of perl commands by webwork question authors that could harm the unix environment. In general it is not considered by the perl monks as a sufficient barrier against determined hacking attempts however it has worked well for us over the last 14 years.
I should have noted that we're running 2.4.7, which we plan to update this summer.