semanage_modify - SELinux Management API
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);
- 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) ).
In case of failure, -1 is returned, and the semanage error
callback is invoked, describing the error. Otherwise 0 is returned.