Pike has an optional internal security system, which can be
enabled with the configure-option --with-security.
The security system is based on attaching credential objects
(__builtin.security.Creds) to objects, programs, arrays,
mappings or multisets.
A credential object in essence holds three values:
user -- The owner.
allow_bits -- Run-time access permissions.
data_bits -- Data access permissions.
The following security bits are currently defined:
| BIT_INDEX | Allow indexing.
|
| BIT_SET_INDEX | Allow setting of indices.
|
| BIT_CALL | Allow calling of functions.
|
| BIT_SECURITY | Allow usage of security related functions.
|
| BIT_NOT_SETUID | Don't change active credentials on function call.
|
| BIT_CONDITIONAL_IO | ??
|
| BIT_DESTRUCT | Allow use of destruct.
|
|