mirror of
https://gitlab.com/apparmor/apparmor
synced 2025-10-05 13:26:10 +00:00
libapparmor: aa_features function that returns a features identifier
Add and export aa_features_id() which can be used to get a unique identifier for an aa_features object. Internally, this is a djb2 hash of the features string. The hash function used and even the makeup of the features ID can be easily changed in the future since external consumers must use this function to fetch the features ID. Signed-off-by: Tyler Hicks <tyhicks@canonical.com> Acked-by: John Johansen <john.johansen@canonical.com>
This commit is contained in:
committed by
John Johansen
parent
4c7924ec31
commit
8d9c904174
@@ -618,3 +618,21 @@ bool aa_features_supports(aa_features *features, const char *str)
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* aa_features_id - provides unique identifier for an aa_features object
|
||||
* @features: the features
|
||||
*
|
||||
* Allocates and returns a string representation of an identifier that can
|
||||
* be used to uniquely identify an aa_features object. The mechanism for
|
||||
* generating the string representation is internal to libapparmor and
|
||||
* subject to change but an example implementation is applying a hash
|
||||
* function to the features string.
|
||||
*
|
||||
* Returns: a string identifying @features which must be freed by the
|
||||
* caller or NULL, with errno set, upon error
|
||||
*/
|
||||
char *aa_features_id(aa_features *features)
|
||||
{
|
||||
return strdup(features->hash);
|
||||
}
|
||||
|
Reference in New Issue
Block a user