| 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) |