Go to the first, previous, next, last section, table of contents.

Restricting Access to Built-in Properties and Functions

Whenever verb code attempts to read the value of a built-in property prop on any object, the server checks to see if the property $server_options.protect_prop exists and has a true value. If so, then E_PERM is raised if the programmer is not a wizard.

Whenever verb code calls a built-in function func() and the caller is not the object #0, the server checks to see if the property $server_options.protect_func exists and has a true value. If so, then the server next checks to see if the verb $bf_func() exists; if that verb exists, then the server calls it instead of the built-in function, returning or raising whatever that verb returns or raises. If the $bf_func() does not exist and the programmer is not a wizard, then the server immediately raises E_PERM, without actually calling the function. Otherwise (if the caller is #0, if $server_options.protect_func either doesn't exist or has a false value, or if $bf_func() exists but the programmer is a wizard), then the built-in function is called normally.


Go to the first, previous, next, last section, table of contents.