SYNOPSIS string valid_read(string path, string uid, string func, object|lwobject 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 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)