|
DTNMA Reference Tools v2.1.0 - 13.gc5c0bac
Delay-Tolerant Networking Management Architecture (DTNMA) Tool Suite
|
#include "acl.h"#include "endpoint.h"#include "cace/ari/text.h"#include "cace/util/logging.h"#include "cace/util/defs.h"
Include dependency graph for acl.c:Functions | |
| void | refda_acl_group_init (refda_acl_group_t *obj) |
| void | refda_acl_group_deinit (refda_acl_group_t *obj) |
| void | refda_acl_access_init (refda_acl_access_t *obj) |
| void | refda_acl_access_deinit (refda_acl_access_t *obj) |
| void | refda_acl_access_get_str_id (m_string_t out, const refda_acl_access_t *obj, bool append) |
| void | refda_acl_init (refda_acl_t *obj) |
| void | refda_acl_deinit (refda_acl_t *obj) |
| int | refda_acl_search_endpoint (refda_agent_t *agent, const cace_ari_t *endpoint, refda_acl_id_tree_t groups) |
| Search in an ACL for a specific endpoint. | |
| bool | refda_acl_search_permission (refda_agent_t *agent, const refda_acl_id_tree_t groups, const cace_amm_obj_desc_t *acc_obj, const cace_amm_obj_desc_ptr_set_t perm_objs, refda_amm_ident_base_ptr_set_t match) |
| Search in an ACL for specific access. | |
| bool | refda_acl_search_one_permission (refda_agent_t *agent, const refda_acl_id_tree_t groups, const cace_amm_obj_desc_t *acc_obj, const cace_amm_obj_desc_t *perm_obj, refda_amm_ident_base_ptr_set_t match) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. This searches for a single permission perm_obj which avoids needing to construct a permission set. | |
| void refda_acl_access_deinit | ( | refda_acl_access_t * | obj | ) |
References CHKVOID, refda_acl_access_t::groups, refda_acl_access_t::id, and refda_acl_access_t::permissions.
| void refda_acl_access_get_str_id | ( | m_string_t | out, |
| const refda_acl_access_t * | obj, | ||
| bool | append | ||
| ) |
References refda_acl_access_t::id.
| void refda_acl_access_init | ( | refda_acl_access_t * | obj | ) |
| void refda_acl_deinit | ( | refda_acl_t * | obj | ) |
References refda_acl_t::access, refda_acl_t::access_by_group, CHKVOID, refda_acl_t::groups, refda_acl_t::perm_base, and refda_acl_t::perm_produce.
Referenced by refda_agent_deinit().
| void refda_acl_group_deinit | ( | refda_acl_group_t * | obj | ) |
References CHKVOID, refda_acl_group_t::id, refda_acl_group_t::member_pats, and refda_acl_group_t::name.
| void refda_acl_group_init | ( | refda_acl_group_t * | obj | ) |
| void refda_acl_init | ( | refda_acl_t * | obj | ) |
References refda_acl_t::access, refda_acl_t::access_by_group, CHKVOID, refda_acl_t::generation, refda_acl_t::groups, refda_acl_t::perm_base, and refda_acl_t::perm_produce.
Referenced by refda_agent_init().
| int refda_acl_search_endpoint | ( | refda_agent_t * | agent, |
| const cace_ari_t * | endpoint, | ||
| refda_acl_id_tree_t | groups | ||
| ) |
Search in an ACL for a specific endpoint.
| [in] | agent | The agent state for reference lookup. |
| [in] | endpoint | The endpoint to search for. |
| [out] | groups | The set of groups to add to. |
References refda_agent_t::acl, refda_agent_t::acl_mutex, agent, CACE_ARI_TEXT_ENC_OPTS_DEFAULT, cace_ari_text_encode(), CACE_LOG_CRIT, CACE_LOG_DEBUG, CACE_LOG_INFO, cace_log_is_enabled_for(), CHKERR1, refda_acl_t::groups, refda_acl_group_t::id, refda_acl_group_t::member_pats, and refda_endpoint_pat_match().
Referenced by refda_runctx_check_acl().
| bool refda_acl_search_one_permission | ( | refda_agent_t * | agent, |
| const refda_acl_id_tree_t | groups, | ||
| const cace_amm_obj_desc_t * | acc_obj, | ||
| const cace_amm_obj_desc_t * | perm_obj, | ||
| refda_amm_ident_base_ptr_set_t | match | ||
| ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. This searches for a single permission perm_obj which avoids needing to construct a permission set.
References agent, and refda_acl_search_permission().
Referenced by refda_valprod_run().
| bool refda_acl_search_permission | ( | refda_agent_t * | agent, |
| const refda_acl_id_tree_t | groups, | ||
| const cace_amm_obj_desc_t * | acc_obj, | ||
| const cace_amm_obj_desc_ptr_set_t | perm_objs, | ||
| refda_amm_ident_base_ptr_set_t | match | ||
| ) |
Search in an ACL for specific access.
| [in] | agent | The agent state for reference lookup. |
| [in] | groups | The set of groups to filter-in. |
| [in] | acc_obj | The object being accessed. |
| [in] | perm_objs | The set of permission objects to filter-in. |
| [out] | match | The matching permissions. |
match is non-empty. References refda_acl_t::access_by_group, refda_agent_t::acl, refda_agent_t::acl_mutex, agent, CACE_LOG_CRIT, CACE_LOG_DEBUG, cace_log_is_enabled_for(), refda_amm_ident_base_t::deref, cace_amm_lookup_t::obj, and refda_acl_access_t::permissions.
Referenced by refda_acl_search_one_permission().