Synopsis
enum PolKitAuthorizationConstraintType;
PolKitAuthorizationConstraint;
PolKitAuthorizationConstraint* polkit_authorization_constraint_get_require_local
(void);
PolKitAuthorizationConstraint* polkit_authorization_constraint_get_require_active
(void);
PolKitAuthorizationConstraint* polkit_authorization_constraint_get_require_exe
(const char *path);
PolKitAuthorizationConstraint* polkit_authorization_constraint_get_require_selinux_context
(const char *context);
PolKitAuthorizationConstraint* polkit_authorization_constraint_ref
(PolKitAuthorizationConstraint *authc);
void polkit_authorization_constraint_unref
(PolKitAuthorizationConstraint *authc);
void polkit_authorization_constraint_debug
(PolKitAuthorizationConstraint *authc);
polkit_bool_t polkit_authorization_constraint_validate
(PolKitAuthorizationConstraint *authc);
PolKitAuthorizationConstraintType polkit_authorization_constraint_type
(PolKitAuthorizationConstraint *authc);
const char* polkit_authorization_constraint_get_exe
(PolKitAuthorizationConstraint *authc);
const char* polkit_authorization_constraint_get_selinux_context
(PolKitAuthorizationConstraint *authc);
polkit_bool_t polkit_authorization_constraint_check_session
(PolKitAuthorizationConstraint *authc,
PolKitSession *session);
polkit_bool_t polkit_authorization_constraint_check_caller
(PolKitAuthorizationConstraint *authc,
PolKitCaller *caller);
size_t polkit_authorization_constraint_to_string
(PolKitAuthorizationConstraint *authc,
char *out_buf,
size_t buf_size);
PolKitAuthorizationConstraint* polkit_authorization_constraint_from_string
(const char *str);
int polkit_authorization_constraint_get_from_caller
(PolKitCaller *caller,
PolKitAuthorizationConstraint **out_array,
size_t array_size);
polkit_bool_t polkit_authorization_constraint_equal
(PolKitAuthorizationConstraint *a,
PolKitAuthorizationConstraint *b);
Details
enum PolKitAuthorizationConstraintType
typedef enum {
POLKIT_AUTHORIZATION_CONSTRAINT_TYPE_REQUIRE_LOCAL,
POLKIT_AUTHORIZATION_CONSTRAINT_TYPE_REQUIRE_ACTIVE,
POLKIT_AUTHORIZATION_CONSTRAINT_TYPE_REQUIRE_EXE,
POLKIT_AUTHORIZATION_CONSTRAINT_TYPE_REQUIRE_SELINUX_CONTEXT,
} PolKitAuthorizationConstraintType;
This enumeration describes the type of the authorization constraint.
POLKIT_AUTHORIZATION_CONSTRAINT_TYPE_REQUIRE_LOCAL | the session or caller must be local |
POLKIT_AUTHORIZATION_CONSTRAINT_TYPE_REQUIRE_ACTIVE | the session or caller must be in an active local session |
POLKIT_AUTHORIZATION_CONSTRAINT_TYPE_REQUIRE_EXE | the caller must be a specific program; use polkit_authorization_constraint_get_exe() to get the path of the program. |
POLKIT_AUTHORIZATION_CONSTRAINT_TYPE_REQUIRE_SELINUX_CONTEXT | the caller must be in a specific security context; use polkit_authorization_constraint_get_selinux_context() to get the security context. |
PolKitAuthorizationConstraint
typedef struct _PolKitAuthorizationConstraint PolKitAuthorizationConstraint;
Instances of this class are used to represent conditions that must be satisfied in order for an authorization to apply.
Since 0.7
polkit_authorization_constraint_get_require_local ()
PolKitAuthorizationConstraint* polkit_authorization_constraint_get_require_local
(void);
Get a PolKitAuthorizationConstraint object that represents the constraint that the session or caller must be local.
Since 0.7
polkit_authorization_constraint_get_require_active ()
PolKitAuthorizationConstraint* polkit_authorization_constraint_get_require_active
(void);
Get a PolKitAuthorizationConstraint object that represents the constraint that the session or caller must be active.
Since 0.7
polkit_authorization_constraint_get_require_exe ()
PolKitAuthorizationConstraint* polkit_authorization_constraint_get_require_exe
(const char *path);
Get a PolKitAuthorizationConstraint object that represents the constraint that the caller must be a specific program
path : | path to program |
Returns : | the constraint or NULL on OOM |
Since 0.8
polkit_authorization_constraint_get_require_selinux_context ()
PolKitAuthorizationConstraint* polkit_authorization_constraint_get_require_selinux_context
(const char *context);
Get a PolKitAuthorizationConstraint object that represents the constraint that the caller must be in a specific SELinux context.
context : | SELinux context |
Returns : | the constraint or NULL on OOM |
Since 0.8
polkit_authorization_constraint_ref ()
PolKitAuthorizationConstraint* polkit_authorization_constraint_ref
(PolKitAuthorizationConstraint *authc);
Increase reference count.
authc : | the object |
Returns : | the object |
Since 0.7
polkit_authorization_constraint_unref ()
void polkit_authorization_constraint_unref
(PolKitAuthorizationConstraint *authc);
Decreases the reference count of the object. If it becomes zero, the object is freed. Before freeing, reference counts on embedded objects are decresed by one.
authc : | the authorization_constraint object |
Since 0.7
polkit_authorization_constraint_debug ()
void polkit_authorization_constraint_debug
(PolKitAuthorizationConstraint *authc);
Print debug details
Since 0.7
polkit_authorization_constraint_validate ()
polkit_bool_t polkit_authorization_constraint_validate
(PolKitAuthorizationConstraint *authc);
Validate the object
authc : | the object |
Returns : | TRUE iff the object is valid. |
Since 0.7
polkit_authorization_constraint_type ()
PolKitAuthorizationConstraintType polkit_authorization_constraint_type
(PolKitAuthorizationConstraint *authc);
Describe the constraint; this is only useful when inspecting an authorization to present information to the user (e.g. as polkit-auth(1) does).
authc : | the object |
Returns : | type from PolKitAuthorizationConstraintType |
Since 0.7
polkit_authorization_constraint_get_exe ()
const char* polkit_authorization_constraint_get_exe
(PolKitAuthorizationConstraint *authc);
Get the exe path for the constraint.
authc : | the object |
Returns : | The exe path or NULL if type isn't POLKIT_AUTHORIZATION_CONSTRAINT_TYPE_REQUIRE_EXE. Caller shall not free this string. |
Since 0.8
polkit_authorization_constraint_get_selinux_context ()
const char* polkit_authorization_constraint_get_selinux_context
(PolKitAuthorizationConstraint *authc);
Get the SELinux context for the constraint.
authc : | the object |
Returns : | The selinux context or NULL if type isn't POLKIT_AUTHORIZATION_CONSTRAINT_TYPE_REQUIRE_SELINUX_CONTEXT. Caller shall not free this string. |
Since 0.8
polkit_authorization_constraint_check_session ()
polkit_bool_t polkit_authorization_constraint_check_session
(PolKitAuthorizationConstraint *authc,
PolKitSession *session);
Determine if the given session satisfies the conditions imposed by the given constraint.
authc : | the object |
session : | the session |
Returns : | TRUE if, and only if, the given session satisfies the conditions imposed by the given constraint. |
Since 0.7
polkit_authorization_constraint_check_caller ()
polkit_bool_t polkit_authorization_constraint_check_caller
(PolKitAuthorizationConstraint *authc,
PolKitCaller *caller);
Determine if the given caller satisfies the conditions imposed by the given constraint
authc : | the object |
caller : | the caller |
Returns : | TRUE if, and only if, the given caller satisfies the conditions imposed by the given constraint. |
Since 0.7
polkit_authorization_constraint_to_string ()
size_t polkit_authorization_constraint_to_string
(PolKitAuthorizationConstraint *authc,
char *out_buf,
size_t buf_size);
Get a textual representation of the constraint; this is only useful for serializing; it's a machine, not human, readable string.
authc : | the object |
out_buf : | buffer to store the string representation in |
buf_size : | size of buffer |
Returns : | Number of characters written (not including trailing '\0'). If the output was truncated due to the buffer being too small, buf_size will be returned. Thus, a return value of buf_size or more indicates that the output was truncated (see snprintf(3)) or an error occured. |
Since 0.7
polkit_authorization_constraint_from_string ()
PolKitAuthorizationConstraint* polkit_authorization_constraint_from_string
(const char *str);
Construct a constraint from a textual representation as returned by polkit_authorization_constraint_to_string().
str : | textual representation of constraint |
Returns : | the constraint or NULL if the string coulnd't be parsed. |
polkit_authorization_constraint_get_from_caller ()
int polkit_authorization_constraint_get_from_caller
(PolKitCaller *caller,
PolKitAuthorizationConstraint **out_array,
size_t array_size);
Given a caller, return the set of most restrictive constraints possible. For example, if the caller is local and active, a set constraints requiring this will be returned.
This function is typically used when the caller obtains an authorization through authentication; the goal is to put constraints on the authorization such that it's only valid when the caller is in the context as where she obtained it.
The caller must unref all the created objects using polkit_authorization_constraint_unref().
caller : | caller |
out_array : | return location for constraints |
array_size : | size of the passed array |
Returns : | If OOM -1 is returned. This function do not create more than array_size constraints (including the trailing NULL). If the output was truncated due to this limit then the return value is the number of objects (not including the trailing NULL) which would have been written to the final array if enough space had been available. Thus, a return value of array_size or more means that the output was truncated. |
Since 0.7
polkit_authorization_constraint_equal ()
polkit_bool_t polkit_authorization_constraint_equal
(PolKitAuthorizationConstraint *a,
PolKitAuthorizationConstraint *b);
Determines if two constraints are equal
a : | first constraint |
b : | first constraint |
Returns : | TRUE only if the given constraints are equal |
Since 0.7