NAME¶
semanage_modify - SELinux Management API
SYNOPSIS¶
The following modify function is supported for any semanage record.
Replace the function and object name as necessary.
extern int MODIFY_FUNCTION (
semanage_handle_t *handle,
const semanage_OBJECT_key_t *key,
const semanage_OBJECT_t *data);
DESCRIPTION¶
- Behavior:
- If a matching key is found in the local store, the provided
object will replace the current one. Otherwise, it will be added to the
store. When semanage_commit(3) is invoked, changes will be
permanently written into the local store, and then loaded into policy.
Validity of the object being added is checked at commit time. Adding new
objects with respect to policy is allowed, except in the case of booleans.
Attempt to add new booleans with respect to policy will fail at commit
time.
- Parameters:
- The handle is used to track persistent state across
semanage calls, and for error reporting. The key identifies the
data object, which will be written into the store. The key are data
are properties of the caller, and are not stored or modified internally.
- Requirements:
- This function requires an semanage connection to be
established (see semanage_connect(3) ), and must be executed in a
transaction (see semanage_begin_transaction(3) ).
RETURN VALUE¶
In case of failure, -1 is returned, and the semanage error callback is invoked,
describing the error. Otherwise 0 is returned.
SEE ALSO¶
semanage_handle_create(3),
semanage_begin_transaction(3),
semanage_connect(3),
semanage_commit(3).