SYNOPSIS
string valid_read(string path, string uid, string func, object ob)
DESCRIPTION
This function is called to check if the object ob with the
user-id uid has read permissions for the file given by path
for the operation named by func. It should return 0 if
permission is denied, or the normalized path if permission is
granted. You can also return 1 to indicate that the path can
be used unchanged.
The returned pathname must not contain "..", a leading /
will be stripped by the interpreter. By default, the returned
path must also not contain space characters; if the driver
is instructed to allow them, the preprocessor macro
__FILENAME_SPACES__ is defined.
Func denotes the efun call or other operation that caused
valid_read() to be called:
copy_file
ed_start (check if the file to be edited is readable),
file_size,
get_dir,
print_file (efun cat()),
read_bytes,
read_file,
restore_object,
tail.
For restore_object(), the <path> passed is the filename as given
in the efun call.
This function is called in compat mode as well. If
you need to be compatible with the old 2.4.5-mudlib, redirect
these calls to the valid_read/valid_write in the user
object.
SEE ALSO
valid_write(M), make_path_absolute(M)
|