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.