#include <crm_internal.h>
#include <stdio.h>
#include <sys/types.h>
#include <pwd.h>
#include <string.h>
#include <stdlib.h>
#include <stdarg.h>
#include <libxml/tree.h>
#include <crm/crm.h>
#include <crm/msg_xml.h>
#include <crm/common/xml.h>
#include <crm/common/xml_internal.h>
#include "crmcommon_private.h"
Go to the source code of this file.
|
void | pcmk__free_acls (GList *acls) |
|
void | pcmk__apply_acl (xmlNode *xml) |
|
void | pcmk__unpack_acl (xmlNode *source, xmlNode *target, const char *user) |
|
void | pcmk__enable_acl (xmlNode *acl_source, xmlNode *target, const char *user) |
|
bool | xml_acl_filtered_copy (const char *user, xmlNode *acl_source, xmlNode *xml, xmlNode **result) |
| Copy ACL-allowed portions of specified XML. More...
|
|
void | pcmk__apply_creation_acl (xmlNode *xml, bool check_top) |
|
bool | xml_acl_denied (const xmlNode *xml) |
| Check whether or not an XML node is ACL-denied. More...
|
|
void | xml_acl_disable (xmlNode *xml) |
|
bool | xml_acl_enabled (const xmlNode *xml) |
| Check whether or not an XML node is ACL-enabled. More...
|
|
bool | pcmk__check_acl (xmlNode *xml, const char *name, enum xml_private_flags mode) |
|
bool | pcmk_acl_required (const char *user) |
| Check whether ACLs are required for a given user. More...
|
|
char * | pcmk__uid2username (uid_t uid) |
|
const char * | pcmk__update_acl_user (xmlNode *request, const char *field, const char *peer_user) |
|
◆ display_id
#define display_id |
( |
|
xml | ) |
(ID(xml)? ID(xml) : "<unset>") |
◆ xml_acl_t
◆ pcmk__apply_acl()
void pcmk__apply_acl |
( |
xmlNode * |
xml | ) |
|
◆ pcmk__apply_creation_acl()
void pcmk__apply_creation_acl |
( |
xmlNode * |
xml, |
|
|
bool |
check_top |
|
) |
| |
◆ pcmk__check_acl()
bool pcmk__check_acl |
( |
xmlNode * |
xml, |
|
|
const char * |
name, |
|
|
enum xml_private_flags |
mode |
|
) |
| |
◆ pcmk__enable_acl()
void pcmk__enable_acl |
( |
xmlNode * |
acl_source, |
|
|
xmlNode * |
target, |
|
|
const char * |
user |
|
) |
| |
◆ pcmk__free_acls()
void pcmk__free_acls |
( |
GList * |
acls | ) |
|
Definition at line 44 of file acl.c.
◆ pcmk__uid2username()
char* pcmk__uid2username |
( |
uid_t |
uid | ) |
|
◆ pcmk__unpack_acl()
void pcmk__unpack_acl |
( |
xmlNode * |
source, |
|
|
xmlNode * |
target, |
|
|
const char * |
user |
|
) |
| |
◆ pcmk__update_acl_user()
const char* pcmk__update_acl_user |
( |
xmlNode * |
request, |
|
|
const char * |
field, |
|
|
const char * |
peer_user |
|
) |
| |
◆ pcmk_acl_required()
bool pcmk_acl_required |
( |
const char * |
user | ) |
|
Check whether ACLs are required for a given user.
- Parameters
-
- Returns
- true if the user requires ACLs, false otherwise
Definition at line 743 of file acl.c.
◆ xml_acl_denied()
bool xml_acl_denied |
( |
const xmlNode * |
xml | ) |
|
Check whether or not an XML node is ACL-denied.
- Parameters
-
- Returns
- true if XML node exists and is ACL-denied, false otherwise
Definition at line 605 of file acl.c.
◆ xml_acl_disable()
void xml_acl_disable |
( |
xmlNode * |
xml | ) |
|
◆ xml_acl_enabled()
bool xml_acl_enabled |
( |
const xmlNode * |
xml | ) |
|
Check whether or not an XML node is ACL-enabled.
- Parameters
-
- Returns
- true if XML node exists and is ACL-enabled, false otherwise
Definition at line 636 of file acl.c.
◆ xml_acl_filtered_copy()
bool xml_acl_filtered_copy |
( |
const char * |
user, |
|
|
xmlNode * |
acl_source, |
|
|
xmlNode * |
xml, |
|
|
xmlNode ** |
result |
|
) |
| |
Copy ACL-allowed portions of specified XML.
- Parameters
-
[in] | user | Username whose ACLs should be used |
[in] | acl_source | XML containing ACLs |
[in] | xml | XML to be copied |
[out] | result | Copy of XML portions readable via ACLs |
- Returns
- true if xml exists and ACLs are required for user, false otherwise
- Note
- If this returns true, caller should use
result
rather than xml
Definition at line 435 of file acl.c.