This patch to the LambdaMOO server adds several new builtins that allow the manipulation of files from MOO code. The new builtins are structured similarly to the stdio library for C. This allows MOO-code to perform stream-oriented I/O to files.
Granting MOO code direct access to files opens a hole in the otherwise fairly good wall that the LambdaMOO server puts up between the OS and the database. The patch contains the risk as much as possible by restricting where files can be opened and allowing the new builtins to be called by wizard permissions only. It is still possible execute various forms denial of service attacks, but the MOO server allows this form of attack as well.
There is a related package available that contains a db front end for this package as well as a help database with help for all the builtin functions and for the front end. It is not recommended that you use these functions directly.
Copyright 1996, 1997 by Ken Fox. Copyright 1997 by Andy Bakun.
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation.
KEN FOX AND ANDY BAKUN DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL KEN FOX OR ANDY BAKUN BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.