Diffusion C API
6.2.9
|
Security control feature. More...
Data Structures | |
struct | security_store_role_s |
struct | security_store_s |
struct | get_security_store_params_s |
Structure passed when requesting the security store. More... | |
struct | update_security_store_params_s |
Structure passed when updating the security store. More... | |
Typedefs | |
typedef int(* | on_get_security_store_cb )(SESSION_T *session, const SECURITY_STORE_T store, void *context) |
Callback for get_security_store(). More... | |
typedef struct get_security_store_params_s | GET_SECURITY_STORE_PARAMS_T |
Structure passed when requesting the security store. | |
typedef int(* | on_update_security_store_cb )(SESSION_T *session, const LIST_T *error_reports, void *context) |
Callback for update_security_store(). More... | |
typedef struct update_security_store_params_s | UPDATE_SECURITY_STORE_PARAMS_T |
Structure passed when updating the security store. | |
Enumerations | |
enum | GLOBAL_PERMISSIONS_T { GLOBAL_PERMISSION_AUTHENTICATE, GLOBAL_PERMISSION_VIEW_SESSION, GLOBAL_PERMISSION_MODIFY_SESSION, GLOBAL_PERMISSION_REGISTER_HANDLER, GLOBAL_PERMISSION_VIEW_SERVER, GLOBAL_PERMISSION_CONTROL_SERVER, GLOBAL_PERMISSION_VIEW_SECURITY, GLOBAL_PERMISSION_MODIFY_SECURITY, GLOBAL_PERMISSION_UNKNOWN } |
Permissions that protect globally scoped, access-controlled operations. More... | |
enum | TOPIC_PERMISSIONS_T { TOPIC_PERMISSION_READ_TOPIC, TOPIC_PERMISSION_UPDATE_TOPIC, TOPIC_PERMISSION_MODIFY_TOPIC, TOPIC_PERMISSION_SEND_TO_MESSAGE_HANDLER, TOPIC_PERMISSION_SEND_TO_SESSION, TOPIC_PERMISSION_SELECT_TOPIC , TOPIC_PERMISSION_ACQUIRE_LOCK, TOPIC_PERMISSION_UNKNOWN } |
Permissions protecting access-controlled operations that are evaluated for a specific topic path or message path. More... | |
Functions | |
SECURITY_STORE_T * | security_store_create (void) |
Create a new, empty security store structure. More... | |
void | security_store_free (SECURITY_STORE_T *store) |
Free all memory associated with a security store structure. More... | |
SECURITY_STORE_T * | security_store_dup (const SECURITY_STORE_T *store) |
The returned structure is unsynchronized, so appropriate mutexes should be use if the structure is to be used concurrently. More... | |
void | get_security_store (SESSION_T *session, const GET_SECURITY_STORE_PARAMS_T params) |
Get the server's security store. More... | |
char ** | get_security_default_anonymous_roles (const SECURITY_STORE_T store) |
Get the default roles for anonymous connections. More... | |
char ** | get_security_default_named_roles (const SECURITY_STORE_T store) |
Get the default roles for connections made with a principal. More... | |
char ** | get_security_role_names (const SECURITY_STORE_T store) |
Get the names of all roles defined in the security store. More... | |
char ** | get_security_included_roles (const SECURITY_STORE_T store, const char *role_name) |
Get the names of other roles that this role includes. More... | |
GLOBAL_PERMISSIONS_T ** | get_security_global_permissions (const SECURITY_STORE_T store, const char *role_name) |
Get an array of global permissions assigned to a role. More... | |
TOPIC_PERMISSIONS_T ** | get_security_default_topic_permissions (const SECURITY_STORE_T store, const char *role_name) |
Get an array of default topic permissions assigned to a role. More... | |
TOPIC_PERMISSIONS_T ** | get_security_topic_permissions (const SECURITY_STORE_T store, const char *role_name, const char *topic_name) |
Get an array of topic permissions assigned to a role, for a specified topic. More... | |
void | update_security_store (SESSION_T *session, const UPDATE_SECURITY_STORE_PARAMS_T params) |
Send updates to the security store. More... | |
SCRIPT_T * | update_security_store_global_role_permissions (SCRIPT_T *script, const char *role_name, const SET_T *permissions) |
Updates a script to assign global permissions to a security role. More... | |
SCRIPT_T * | update_security_store_default_topic_permissions (SCRIPT_T *script, const char *role_name, const SET_T *permissions) |
Updates a script to assign default topic permissions to a security role. More... | |
SCRIPT_T * | update_security_store_topic_permissions (SCRIPT_T *script, const char *role_name, const char *topic_path, const SET_T *permissions) |
Updates a script to assign permissions for named role and topic. More... | |
SCRIPT_T * | update_security_store_remove_topic_permissions (SCRIPT_T *script, const char *role_name, const char *topic_path) |
Updates a script to remove permissions for a named role and topic. More... | |
SCRIPT_T * | update_security_store_include_roles (SCRIPT_T *script, const char *role_name, const LIST_T *included_roles) |
Updates a script to include other roles within a role. More... | |
SCRIPT_T * | update_security_store_named_session_roles (SCRIPT_T *script, const LIST_T *roles) |
Updates a script to set the roles assigned to named sessions. More... | |
SCRIPT_T * | update_security_store_anonymous_session_roles (SCRIPT_T *script, const LIST_T *roles) |
Updates a script to set the roles assigned to anonymous sessions. More... | |
Security control feature.
typedef int(* on_get_security_store_cb)(SESSION_T *session, const SECURITY_STORE_T store, void *context) |
Callback for get_security_store().
session | The current active session. |
response | The response containing the security store contents. This structure will be freed on exit so a copy should be taken if it needs to be used outside of the scope of the callback. |
context | User-supplied context from the get_security_store() call. |
typedef int(* on_update_security_store_cb)(SESSION_T *session, const LIST_T *error_reports, void *context) |
Callback for update_security_store().
session | The current active session. |
error_reports | Any errors that have occurred while processing the updated. |
context | User-supplied context from the update_security_store() call. |
enum GLOBAL_PERMISSIONS_T |
Permissions that protect globally scoped, access-controlled operations.
enum TOPIC_PERMISSIONS_T |
Permissions protecting access-controlled operations that are evaluated for a specific topic path or message path.