RSBAC returns specific error codes on internal functions as well as RSBAC system calls. The following errors are defined:
Code | Reason |
---|---|
EPERM | Same as Linux EPERM: Permission denied. |
EACCESS | RSBAC dir access failed internally |
EREADFAILED | Reading from disk or from data structures failed abnormally |
EWRITEFAILED | Writing to disk or data structures failed abnormally |
EINVALIDPOINTER | Pointer argument was invalid (e.g. NULL). |
ENOROOTDIR | Filesystem claims to have no root dir |
EPATHTOOLONG | A path argument was too long for buffer |
ENOROOTDEV | Root device does not exist / is not accessible |
ENOTFOUND | A file or an ACI item was not found |
ENOTINITIALIZED | RSBAC call before initialization |
EREINIT | RSBAC has already been initialized |
ECOULDNOTADDDEVICE | An internal device structure could not be added, possibly out of kernel memory |
ECOULDNOTADDITEM | A data structures list item or a proc pseudo file could not be added, possibly out of memory |
ECOULDNOTCREATEPATH | The /rsbac.dat dir on a filesystem could not be created |
EINVALIDATTR | Invalid attribute number |
EINVALIDDEV | Invalid device |
EINVALIDTARGET | Invalid target type |
EINVALIDVALUE | Other invalid value, e.g. attribute value out of range |
EEXISTS | Item already exists |
EINTERNONLY | A value must only be used internally |
EINVALIDREQUEST | Invalid request number |
ENOTWRITABLE | A filesystem is read-only, attributes were not written to it |
EMALWAREDETECTED ( | No longer used, because incompatible with Unix standards / programs). A socket read request has been denied because of malware detection |
ENOMEM | Out of kernel memory |
EDECISIONMISMATCH | rsbac_adf_set_attr called for a request that rsbac_adf_request should not have granted, probably some attribute changes in the meantime or running in softmode |
EINVALIDVERSION | A REG registration or syscall was tried for another REG interface or RSBAC version |
EINVALIDMODULE | Trial to access attribute of unknown or not included decision module |
EEXPIRED | The provided password has expired |
EMUSTCHANGE | The password must be changed |
EBUSY | An affected list is in use by another transaction |
EINVALIDTRANSACTION | The transaction number does not exist |
EWEAKPASSWORD | The new password is too weak, e.g. too short |
EINVALIDLIST | The list handle given is invalid, probably some registration or disk read error |
EFROMINTERRUPT | An RSBAC function has been called from interrupt context |
Table of Contents: RSBAC Handbook